ROS的初步学习(八)--远程传输到ROS主控,远程编译,运行

来源:互联网 发布:网络博客犯法吗 编辑:程序博客网 时间:2024/06/08 01:08

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

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

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

$ ssh-keygen

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

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

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

$ ssh username@ip_address

其中 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

配置完成后,再登录远程计算机就无需输入密码。
4 接下来,即可配置 RoboWare Studio
的远程调试参数进行远程调试。
修改远程计算机/etc/profile
首先,登录远程计算机:

$ ssh username@ip_address

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

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

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

原创粉丝点击