目录:
- Turbot3-Multi多机协同教程-目录
- Turbot3-Multi多机协同教程-硬件
- Turbot3-Multi多机协同教程-软件
- Turbot3-Multi多机协同教程-设备测试
- Turbot3-Multi多机协同教程-单机遥控建图
- Turbot3-Multi多机协同教程-单机定点导航
- Turbot3-Multi多机协同教程-多机遥控建图
- Turbot3-Multi多机协同教程-多机定点导航
- Turbot3-Multi多机协同教程-多机行为树导航
- Turbot3-Multi多机协同教程-多机Frontier自主探索建图
- Turbot3-Multi多机协同教程-多机RRT自主探索建图
说明:
- 介绍如何执行单机和多机测试
- 目前测试平台是一台配置好的路由器,一台服务器server0主机和三台burger为从机,分别是client0,client1,client2
- 路由器的IP为192.168.168.1,WIFI名称为Turbot3-Multi,密码为12345678
- 假设server0的ip为192.168.168.98
- client0的ip为192.168.168.110,client1的ip为192.168.168.111,client2的ip为192.168.168.112
相关设备:
- Turbot3-Multi套件,采购地址
配置服务器server0:
- 配置server0的wifi,设置为固定IP:192.168.168.98
- 测试是否ip正确
ssh ubuntu@192.168.168.98
- 输入密码为:ubuntu,如果能正常登陆服务器即可
- 修改主从配置
vim ~/tools/remote/inventory/bashrc.server.sh
- 配置如下:
export ROS_MASTER_URI=http://192.168.168.98:11311 #localhost:11311
export ROS_HOSTNAME=192.168.168.98
单机测试步骤:
- 配置client0的wifi,设置为固定ip:192.168.168.110
- 测试是否ip正确
ssh ubuntu@192.168.168.110
- 输入密码为:ubuntu,如果能正常登陆即可
- 修改主从配置
vim ~/tools/remote/inventory/bashrc.client.sh
- 配置
export ROS_MASTER_URI=http://192.168.168.98:11311 #localhost:11311
export ROS_HOSTNAME=192.168.168.110 #localhost
- 在server0上,启动单机
./multi_scripts/single_robot.sh
- 启动过程:
ubuntu@T3MULTIC-V100:~$ ./multi_scripts/single_robot.sh
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [localhost]
TASK [server_roscore : roscore(server)] ****************************************
changed: [localhost]
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [client0]
TASK [client0_minimal : roslauch turbot3_multi robot_name:=tb3_0 (client)] *****
changed: [client0]
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [localhost]
TASK [server0_remote : roslaunch turbot3_multi model.launch robot_name:=tb3_0 (server)] ***
changed: [localhost]
PLAY RECAP *********************************************************************
client0 : ok=2 changed=1 unreachable=0 failed=0
localhost : ok=4 changed=2 unreachable=0 failed=0
- 查看tf
rosrun rqt_tf_tree rqt_tf_tree
- 测试键盘控制
./multi_scripts/multi_key.sh 0
- 关闭程序
./multi_scripts/multi_kill.sh
- 关闭服务器的ros和client的ros
多机测试步骤:
- 配置client0的wifi,设置为固定ip:192.168.168.110
- 修改主从配置
vim ~/tools/remote/inventory/bashrc.client.sh
- 配置
export ROS_MASTER_URI=http://192.168.168.98:11311 #localhost:11311
export ROS_HOSTNAME=192.168.168.110 #localhost
- 配置client1的wifi,设置为固定ip:192.168.168.111,方法如上
- 配置client2的wifi,设置为固定ip:192.168.168.112,方法如上
- 配置client3-9的wifi,方法如上
- 在server0上执行,进行多机联通测试
./multi_scripts/multi_ping.sh
- 在server0上执行,启动多机测试
./multi_scripts/multi_robot.sh
- 效果如下:
ubuntu@T3MULTIC-V100:~$ ./multi_scripts/multi_robot.sh
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [localhost]
TASK [server_roscore : roscore(server)] ****************************************
changed: [localhost]
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [client0]
TASK [client0_minimal : roslauch turbot3_multi robot_name:=tb3_0 (client)] *****
changed: [client0]
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [client1]
TASK [client1_minimal : roslauch turbot3_multi robot_name:=tb3_1 (client)] *****
changed: [client1]
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [client2]
TASK [client2_minimal : roslauch turbot3_multi robot_name:=tb3_2 (client)] *****
changed: [client2]
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [localhost]
TASK [server0_remote : roslaunch turbot3_multi model.launch robot_name:=tb3_0 (server)] ***
changed: [localhost]
TASK [server1_remote : roslaunch turbot3_multi model.launch robot_name:=tb3_1 (server)] ***
changed: [localhost]
TASK [server2_remote : roslaunch turbot3_multi model.launch robot_name:=tb3_2 (server)] ***
changed: [localhost]
PLAY RECAP *********************************************************************
client0 : ok=2 changed=1 unreachable=0 failed=0
client1 : ok=2 changed=1 unreachable=0 failed=0
client2 : ok=2 changed=1 unreachable=0 failed=0
localhost : ok=6 changed=4 unreachable=0 failed=0
- 查看tf
rosrun rqt_tf_tree rqt_tf_tree
- 启动之后的TF图如下:
- 分别打开三个终端,测试键盘控制
./multi_scripts/multi_key.sh 0
./multi_scripts/multi_key.sh 1
./multi_scripts/multi_key.sh 2
- 关闭程序
./multi_scripts/multi_kill.sh
- 关闭服务器的ros和client的ros