TurtleBot的SLAM地图构建

来源:互联网 发布:德军步兵班 知乎 编辑:程序博客网 时间:2024/05/16 17:02

NOTE:我们使用的是TurtleBot2.TurtleBot2所使用的控制基座是Cokubi,它不需要进行额外的里程计和陀螺仪标定。

预设置

TurtleBot端和PC端

  • 都需要安装ROS,安装过程自行查看相关教程。

  • 都需要安装相关功能包,执行一下命令:

sudo apt-get install ros-indigo-turtlebot ros-indigo-turtlebot-apps ros-indigo-turtlebot-interactions ros-indigo-turtlebot-simulator ros-indigo-kobuki-ftdi ros-indigo-rocon-remocon ros-indigo-rocon-qt-library ros-indigo-ar-track-alvar-msgs
  • TurtleBot和PC需要连接在同一个局域网内。

PC端

除了上面的操作之外,PC端还需要做必要的网络配置和环境配置。

  • 时间同步,通过安装chrony来实现:
sudo apt-get install chrony
  • 设置ROS_MASTER_URI,ROS_HOSTNAME,ROS_IP环境变量

添加以下命令到~/.bashrc底部:

export ROS_MASTER_URI=http://<robot_name>.local:11311export ROS_HOSTNAME=<pc_name>export ROS_IP=<pc_ip_address>

请将上述命令中的<robot_name>,<pc_name>,<pc_ip_address>分别替换成你的机器人上位机的名字,你电脑的名字,你电脑的ip地址。

  • 设置TURTLEBOT_3D_SENSOR环境变量

将以下命令添加到~/.bashrc底部:

export TURTLEBOT_3D_SENSOR=astra

NOTE:第3步需要根据具体情况来设置。安装1.1中的相关软件之后,会自动设置一系列的以TURTLEBOT开头的环境变量,TURTLEBOT_3D_SENSOR就是其中一个,而且其默认值为:asus_xtion_pro。由于我们使用的3D摄像头是astra,所以需要将其改成astra。

启动gmapping程序

在TurtleBot端

  • 启动TurtleBot
roslaunch turtlebot_bringup minimal.launch

NOTE:启动之前确保Kobuki控制基座已经开启。

  • 运行gmapping程序
roslaunch turtlebot_navigation gmapping_demo.launch

在PC端

  • 启动rviz
# Pre-Groovyrosrun rviz rviz -d `rospack find turtlebot_navigation`/nav_rviz.vcg# Groovy or laterroslaunch turtlebot_rviz_launchers view_navigation.launch

在TurtleBot端

驱动机器人运动:

  • 远程控制TurtleBot运动:
roslaunch turtlebot_teleop keyboard_teleop.launch --screen

然后根据命令行产生的提示指令对TurtleBot进行控制。

  • 保存地图成文件:
rosrun map_server map_saver -f ~/tmp/my_map

上述命令中的地图保存路径可自行设定。

NOTE:不要关闭gmapping直到地图已经保存。在地图构建过程中遇到问题,可参考问题。

参考网站:

原网站:http://wiki.ros.org/turtlebot_navigation/Tutorials/Build%20a%20map%20with%20SLAM
TurtleBot启动教程:http://wiki.ros.org/turtlebot_bringup/Tutorials
远程控制教程:http://wiki.ros.org/turtlebot_teleop/Tutorials
PC端网络配置:http://wiki.ros.org/turtlebot/Tutorials
工作站(PC)安装:http://wiki.ros.org/turtlebot/Tutorials

0 0
原创粉丝点击