机器人介绍
待续
与机器人的ssh连接与ROS连接
配置静态IP
配置原因
多机器人与PC需要在同一个局域网(WIFI)下才能进行连接。
需要为机器人(树莓派ubuntu mate)与PC配置静态IP,避免每次连接WIFI时IP变动,导致重新配置。
配置方法
https://blog.csdn.net/qq_33063867/article/details/87899066?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-3-87899066.nonecase
配置结果
路由器IP:192.168.0.1 (路由器初始设置)
PC1(Ubuntu16) :192.168.0.12 ; PC2(Ubuntu18):192.168.0.30 ; Robot1:192.168.0.21
以及没有及时拍下照片的 Robot2:192.168.0.22
两个机器人的照片:
机器 | 系统 | IP | 机器名称 | 用户名 |
---|---|---|---|---|
PC1 | Ubuntu16 | 192.168.0.12 | ||
PC2 | Ubuntu18 | 192.168.0.30 | shuangyudesktop | shuangyu |
Robot1 | 树莓派ubuntu mate | 192.168.0.21 | robot1 | clbrobot |
Robot2 | 树莓派ubuntu mate | 192.168.0.22 | robot2 | clbrobot |
ssh连接
在任意一台PC(示例为PC2)
连接robot 192.168.0.22,即 Robot2
$ ssh clbrobot@192.168.0.22
从这里可以看出 clbrobot 是用户名,robot2是机器名称,该机器名称与IP地址对应。
配置host和master
为每个ROS网络下的对象配置 /etc/hosts (以PC2控制Robot2为例)
PC2 下
打开/etc/hosts文件
$ sudo gedit /etc/hosts
添加PC2与robot1 的 IP+名字。
192.168.0.30 shuangyudesktop
192.168.0.22 robot2
如下所示:
ROBOT2下
在PC2上使用ssh连接robot2
$ ssh clbrobot@192.168.0.22
打开 hosts文件
$ sudo vim /etc/hosts (远程连接无法使用gedit打开)
添加robot2和PC2的ip和机器名字
192.168.0.22 robot2
192.168.0.30 shuangyudesktop
如下所示:
在bashrc上配置ROS运行时的参数:ROS_HOSTNAME和ROS_MASTER_URI
PC2 下:
$ gedit ~/.bashrc
添加
export ROS_HOSTNAME=shuangyudesktop
export ROS_MASTER_URI=http://shuangyudesktop.local:11311
结果如下图
同样地,在robot2中的bashrc中添加类似内容:
export ROS_HOSTNAME=robot2
export ROS_MASTER_URI=http://shuangyudesktop.local:11311
结果如下图(只有最后两行,其他的都是商家附带系统中原本就有的)
单机的测试
在PC2下进行roscore
在robot2下进行roslaunch clbrobot robot.launch robot_name:=“tb3_0”
在PC2上观察节点和tf树。
可以看出该launch文件,仅仅为该机器人创建基本TF树。