拓展教程三:ROS中使用机器人的三种方法

首先介绍一下在ROS中使用机器人的三种方法:

  1. 直接使用机器人本体

  2. ssh远程登录

  3. ROS网络联机

方法 优点 缺点
直接使用机器人本体 程序直接在机器人本身上运行
方便可视化编辑修改文件
可以运行可视化调试程序
需要鼠标键盘显示器
机器人没办法大范围运动
ssh远程登录 机器人可以自由运动
不需要鼠标键盘显示器
没办法可视化调试
ROS网络联机 机器人可以自由运动
不需要鼠标键盘显示器
可以可视化调试
偶尔受网络质量影响

直接使用机器人本体

这种方法不需要额外的笔记本电脑,也不需要额外的配置。

直接鼠标键盘显示器往机器人上一插,就可直接使用,此时机器人本体的工控机就相当于一台电脑。

ssh远程登录

该方法需要一台笔记本电脑或者主机,按照前面安装操作系统方法装好系统,但是不需要安装ROS。

然后连接外网安装ssh软件

sudo apt install ssh

然后断开外网,电脑连接机器人的无线网络xbot-network-bj**,密码xbot1234。

此时打开命令行,远程登录机器人:

ssh xbot@192.168.8.101

输入密码xbot1234,即可进入机器人的命令行,然后就可使用了。

以上登录ssh到机器人上可以多次运行,相当于在机器人上打开了多个命令行。

ROS网络联机

安装环境

该方法需要一台笔记本电脑或者主机,按照前面安装操作系统安装ROS的方法同时装好系统和ROS。

安装软件

装好机器后,连接外网,打开命令行,安装git,ssh

sudo apt install git ssh -y

创建ROS工作空间

mkdir -p ~/catkin_ws/src

然后下载机器人的ROS包

cd ~/catkin_ws/src
git clone -b kinetic-devel https://github.com/DroidAITech/xbot.git

然后编译程序

cd ~/catkin_ws
rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y
catkin_make

配置ROS联机

编译成功后,将笔记本网络断开外网,电脑连接机器人的无线网络xbot-network-bj**,密码xbot1234。

打开命令行,运行

ifconfig

可以看到

_images/ifconfig.png

记下无线网的ip地址,此处记为your_ip,此处我的是192.168.2.35,你连接了机器的ip应该为形式为192.168.8.*的一个地址。

编辑配置文件:

gedit ~/.bashrc

在尾行加入:

source ~/catkin_ws/devel/setup.bash

export ROS_MASTER_URI=http://192.168.8.101:11311

export ROS_HOSTNAME=your_ip

_images/roshostname.png

上面如果source /opt/ros/kinetic/setup.bash这一行没有的话,也请加在上面三行之上。

测试ROS联机

这样,机器人已经作为ROS主机,笔记本作为ROS从机配置好了。

测试方法可以直接运行:

source ~/.bashrc
rosnode list

因为机器人上开机启动了xbot_bringup/launch/xbot-u.launch程序,在笔记本本地就能看到ROS的节点信息了。