SLAM|(四)turtlebot3控制机器人在实际环境下建图

本文实现两个功能,实际控制机器人及在实际环境下建图
实际控制机器人有两种方式,一种是在树莓派上安装和运行键盘操作程序.另外一种是在电脑上运行键盘操作程序
以下TurtleBot3 SBC 代表树莓派,
Remote PC 代表远程电脑
首先在树莓派上使用键盘控制机器人运动,步骤如下
1控制机器人运动 1.1Remote PC ssh连接到树莓派 树莓派ip地址为:192.168.233.131

ssh jll@192.168.233.131

Remote PCip地址为:192.168.233.111
1.2树莓派上启动roscore,并配置ip地址 【SLAM|(四)turtlebot3控制机器人在实际环境下建图】以树莓派作为roscore的主机,如下配置
Remote PC 的~./bashrc中加入
export TURTLEBOT3_MODEL=burger export ROS_MASTER_URI=http://192.168.233.131:11311 export ROS_HOSTNAME=192.168.233.131

树莓派的~./bashrc中加入
export TURTLEBOT3_MODEL=burger export ROS_MASTER_URI=http://192.168.233.131:11311 export ROS_IP=192.168.233.111

然后都source .bashrc
1.3Remote PC显示turtlebot3状态(包括显示机器人和激光状态等)
roslaunch turtlebot3_bringup turtlebot3_model.launch

1.4树莓派上启动turtlebot3
roslaunch turtlebot3_bringup turtlebot3_robot.launch

1.5树莓派上启动键盘操作程序
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

2实际环境下建图 按照以下步骤进行建图
2.1[Remote PC]上启动turtlebot3_slam包
roslaunch turtlebot3_slam turtlebot3_slam.launch

2.2树莓派上启动turtlebot3
roslaunch turtlebot3_bringup turtlebot3_robot.launch

2.3树莓派上启动键盘操作程序
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

启动后效果如图
SLAM|(四)turtlebot3控制机器人在实际环境下建图
文章图片

2.4保存地图 启动后保存地图
rosrun map_server map_saver -f ~/map

生成map.pgm和map.yaml
用于导航用
通过控制机器人运动后保持的地图如下
SLAM|(四)turtlebot3控制机器人在实际环境下建图
文章图片

3实际环境下的导航 有地图后就要用导航算法进行导航,关闭slam节点
打开导航包导航节点
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml

初始时如图
SLAM|(四)turtlebot3控制机器人在实际环境下建图
文章图片

有此时需要设置初始位置,点击2D Pose Estimate按钮,并拖动地图上的方向来设置地图上的大致位置
如图SLAM|(四)turtlebot3控制机器人在实际环境下建图
文章图片

初始话好后就可以导航了,点击2D Nav Goal按钮,并拖动设置方向,如图
SLAM|(四)turtlebot3控制机器人在实际环境下建图
文章图片

    推荐阅读