ROS机器人操作系统开发视频教程进阶(记录感悟和过程)
三、roboware远程传输工程到ros主控,远程编译运行
1、ssh远程连接ros主控
免密码登录
首先,输入:
ssh-keygen
生成密匙,一路回车
再运行:
ssh-copy-id -i .ssh/id-rsa.pub user@host
我的小车是
ssh-copy-id -i .ssh/id-rsa.pub nanorobot@192.168.1.101
然后,输入密码即可。
2、Roboware Stduio 远程操作工程-roboware配置
首先编译选择为Remote Deploy
然后,右边两个齿轮,点击最右边那个,要求输入主机ip,名字,密匙地址以及选择的工作区,至此,配置完成。
3、传输工程到ROS主控
上述配置好后,点击编译的小锤子即可。
4、远程编译
这里使用编译模式为Debug(remote)点击编译,但是我的在这里不行。
不行也没问题,我们可以进到树莓派中,使用catkin_make编译,也是一样的
这个问题,经过我的查阅资料也得到解决
在树莓派端执行以下两行指令:
sudo su
echo "source /opt/ros/kinetic/setup.bash" >>/etc/profile
我安装的ROS是melodic版本的,这里根据你自己的版本来修改改路径,最开始我们都在.bashrc中配置过环境变量,不知道这里也要改。/etc/profile是配置所有用户的环境变量,可能catkin用到了其他用户的权限吧。
此外,应根据不同的ros版本不同的命令,这里例子是kinetic,我的小车改成melodic就可以了,再次编译即可
编译时候可以在树莓派下使用指令:
top
查看cpu运行状态
5、远程执行
在这里,我们仍需要进行配置,在树莓派下使用命令:
vi .bashrc
或者:
vim ~/.bashrc
其vi或vim使用方式可以参考ROS与C++入门教程(记录步骤)(一)
在文件下末尾处加上:
source ~/robot_1/devel/setup.bash
结束后,重新登陆树莓派
输入指令:
roslaunch rplidar_ros rplidar.launch
可以看到节点,这里view就没用了
6、.bashrc多机master连接配置
首先修改PC端,打开终端执行:
gedit .bashrc
在最末尾加上:
export ROS_MASTER_URI=http://192.168.1.101:11311
#或者 ROS_MASTER_URI=http://robot:11311
export ROS_HOSTNAME=192.168.1.100
#或者 export ROS_IP=192.168.1.100
#第一句可以是ip地址或者域名
#第二局是本机PC端的ip或者域名,HOSTNAME是ip域名都可以,IP只能是IP
不过还是建议只用ip,问题很少,方便
然后保存退出,重启终端才会生效
下面再登录树莓派,执行:
vi .bashrc
#vim ~/.bashrc
因为我使用的小车自带这段程序,这里需要注释掉它,为了防止遗忘,每次演示结束都会改回来,首先是原代码:
export ROS_IP=`hostname -I | awk '{print $1}'`
export ROS_HOSTNAME=`hostname -I | awk '{print $1}'`
export ROS_MASTER_URI=http://`hostname -I | awk '{print $1}'`:11311
#export ROS_MASTER_URI=http://master_ip:11311
export BASE_TYPE=NanoCar
export LIDAR_TYPE=rplidar
注释掉后的代码为:
#export ROS_IP=`hostname -I | awk '{print $1}'`
#export ROS_HOSTNAME=`hostname -I | awk '{print $1}'`
#export ROS_MASTER_URI=http://`hostname -I | awk '{print $1}'`:11311
#export ROS_MASTER_URI=http://master_ip:11311
#export BASE_TYPE=NanoCar
#export LIDAR_TYPE=rplidar
然后同样在末尾加上:
export ROS_MASTER_URI=http://192.168.1.101:11311
export ROS_HOSTNAME=192.168.1.101
因为树莓派是主机,所以这里两个地址是一样的。
然后退出树莓怕,命令为:
exit
重新连接登录树莓派
至此,多级连接配置搞好了
尝试一个例子
首先:
在树莓派端启动雷达运行:
roslaunch rplidar_ros rplidar.launch
新开一个终端,在PC端运行:
rviz
手共加入配置
首先,点击下方Add加入LaserScan
然后修改LaserScan,Topic选择 /scan
然后,Fixed Frame手动填入laser即可看到图像
可以在Size(m)修改扫描线的宽度
至此,本部分结束,欢迎留言一起探讨