本文实现两个功能,实际控制机器人及在实际环境下建图
实际控制机器人有两种方式,一种是在树莓派上安装和运行键盘操作程序.另外一种是在电脑上运行键盘操作程序
以下TurtleBot3 SBC 代表树莓派,
Remote PC 代表远程电脑
首先在树莓派上使用键盘控制机器人运动,步骤如下
树莓派ip地址为:192.168.233.131
ssh jll@192.168.233.131
Remote PCip地址为:192.168.233.111
以树莓派作为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
roslaunch turtlebot3_bringup turtlebot3_model.launch
roslaunch turtlebot3_bringup turtlebot3_robot.launch
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
按照以下步骤进行建图
roslaunch turtlebot3_slam turtlebot3_slam.launch
roslaunch turtlebot3_bringup turtlebot3_robot.launch
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
启动后保存地图
rosrun map_server map_saver -f ~/map
生成map.pgm和map.yaml
用于导航用
通过控制机器人运动后保持的地图如下
有地图后就要用导航算法进行导航,关闭slam节点
打开导航包导航节点
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml
有此时需要设置初始位置,点击2D Pose Estimate按钮,并拖动地图上的方向来设置地图上的大致位置