ROS:远程传输到ROS主控,远程编译,运行

前面已经安装好SSH,这样我们使用命令 ssh user@hostpassger 就可以远程操控ROS主控了。
后面的编译都是基于roboware的,我们可以把他当成一个在linux上的IDE,但是他的一些作用已经超过普通IDE,可喜的是这是一款一个济南的公司制作的国产软件。
百度找到他的官网,很容易安装。在此不再赘述。

因为很多同学会出现远程传输工程出错的问题。所以接下来說一下在root权限下修改环境变量的问题。

远程开发模式
配置 SSH 公钥无密登录
1 首先,在本地计算机生成公钥和私钥。打开终端,执行命令:

$ ssh-keygen
  • 1

一直按回车键选择默认选项,会在~/.ssh 目录下生成 id_rsa 和 id_rsa.pub 两个文件。然
后将 id_rsa.pub 文件复制到远程计算机:

$ scp ~/.ssh/id_rsa.pub username@ip_address:/home/username
  • 1

2 将公钥文件 id_rsa.pub 拷贝到远程计算机后,SSH 登录到远程计算机:

$ ssh username@ip_address
  • 1

其中 username 为远程计算机用户名,ip_address 为远程计算机的 IP 地址。
3 登 录 后 , 将 id_rsa.pub 的 文 件 内 容 追 加 写 入 到 远 程 计 算 机 的
~/.ssh/authorized_keys 文件中,并修改 authorized_keys 文件的权限:

$ cat id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
  • 1
  • 2

配置完成后,再登录远程计算机就无需输入密码。
如果在本地端出现 failure ….的只需要添加私钥

ssh-add   ~/.ssh/id_rsa
  • 1

4 接下来,即可配置 RoboWare Studio
的远程调试参数进行远程调试。
修改远程计算机/etc/profile
首先,登录远程计算机:

$ ssh username@ip_address
  • 1

其中 username 为远程计算机用户名,ip_address 为远程计算机的 IP 地址。
登录后,切换到 root 用户权限,将 ROS 环境变量信息写入到/etc/profile 文件中:

$ sudo su
$ echo "source /opt/ros/indigo/setup.bash" >> /etc/profile
  • 1
  • 2

接下来在roboware上配置远程主控信息
这里写图片描述
输入主控IP,Enter,在输入主控user,在Remote Deploy下部署,
完成远程部署后,即可进行远程构建。
首先,在资源管理器视图下,选择“Debug (remote)”构建选项,点击列表左侧的按钮

猜你喜欢

转载自blog.csdn.net/qq_25241325/article/details/81036472
ROS
今日推荐