前言:
最近由于自己项目的原因要熟悉Turtlebot3,之前自己一直没有写博客的习惯,好多东西自己搞过以后又忘记了,仿佛失忆了一般,哈哈,所以就在此记录下学习笔记吧。很多同学可能木有turtlebot3,毕竟这个小玩意儿5000多软妹币真不便宜呢,又或者想我一样turtlebot3送去修了,所以在没有实物的情况下用gazebo来仿真做下实验也是非常好的~。
我默认你已经装好了 Ubuntu 16.04
和 ROS Kinetic Kame , 此文章所有的测试均在此环境下完成。
1、之前的一些准备
首先安装TurtleBot3及依赖包:
sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ros-kinetic-rosserial-server ros-kinetic-rosserial-client ros-kinetic-rosserial-msgs ros-kinetic-amcl ros-kinetic-map-server ros-kinetic-move-base ros-kinetic-urdf ros-kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view ros-kinetic-gmapping ros-kinetic-navigation ros-kinetic-interactive-markers
然后安装turtlebot3源码:
$ cd ~/catkin_ws/src/
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
$ cd ~/catkin_ws
$ catkin_make
如果catkin_make完成没有任何错误,使用TurtleBot3的准备将完成。编译成功后记得source一下这些rospack才会生效。
然后还要设置一下turtlebot3的类型,
sudo gedit ~/.bashrc
在后面加上这一句(如果你用burger的话)
export TURTLEBOT3_MODEL=burger
2、打开仿真世界
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch
运行后如下图所示:
2、建图
然后我们进行gmapping建图
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
最后我们打开键盘控制,控制turtlebot3四处移动,直到你觉得建图满意。
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
我最后建出来的地图效果如下图所示:
建完地图之后,我们运行下面的命令来保存地图:
rosrun map_server map_saver -f ~/map
这个是地图是保存到当前路径下的。
3、导航
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml
后面的map_file:=是你的地图路径
效果如下:
后记:
嘿嘿,这次的分享就到这里啦,以后我会再详细说一下过程。