原文地址:https://www.jianshu.com/p/014552bcc04c
Turtlebot是一种室内移动机器人,搭载激光传感器,使机器有精确的距离感知能力。通过搭建仿真环境,可以在没有硬件支持的情况下进行仿真和编程,并熟悉ros系统。环境使Ubuntu16.04,安装的是对应的Ros Kinetic。很多网上的教程Turtlebot针对的都是indigo,如使用Kinetic需要做很多修改,现记录turtlebot3仿真搭建教程,转载时请标注来源。
本教程默认Ubuntu16.04和Ros Kinetic已经安装完成。
TurtleBot3 Simulation 依赖 turtlebot3,所以先安装turtlebot3。
(部分参考通过Gazebo仿真学TurtleBot3(二)——环境搭建)
安装turtlebot3使用下载源码进行catkin_make的方式进行,其中包括两个包:
代码如下:
$ cd ~/catkin_ws/src
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
$ cd ..
$ rosdep install --from-paths src -i -y
$ catkin_make
进入catkin_ws/src文件夹下,git两个包。 然后使用rosdep进行安装依赖。最后进行catkin_make。
!!在catkin_make时可能出现错误:
make错误
参考ROS(hydro)下安装turtlebot出现的错误与解决办法,针对错误情况“pyrcc5: not found”,在终端输入pyrcc5,按照指示进行安装后,重新make,故障消除。!!
Make后,请source一下bash文件source ./devel/setup.bash
至此,安装turtlebot3步骤完成
cd ~/catkin_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ~/catkin_ws && catkin_make
make完成后记得source。
mkdir -p ~/.gazebo/models/
cp -r ~/catkin_ws/src/turtlebot3_simulations/turtlebot3_gazebo/models/turtlebot3_XXX ~/.gazebo/models/
首先要将模型文件拷贝到gazebo中,上述代码的XXX请填入自己要仿真的模型名称:burger||waffle
接着,设置机器人的型号参数:export TURTLEBOT3_MODEL=burger
启动的环境可以有几种不同的选择。
roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch
空世界地图
roslaunch turtlebot3_gazebo turtlebot3_world.launch
效果如下:
复杂世界地图
roslaunch turtlebot3_gazebo turtlebot3_house.launch
效果如下:
家庭环境地图
通过键盘控制turtlebot:roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
在打开的Terminal中通过w/a/d/x控制方向,s来停止移动。
如果使用控制程序:
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_gazebo turtlebot3_simulation.launch
会使turtlebot开始根据激光雷达的信号开始自主规划避障。
同时,也可以开启可视化rivz:
export TURTLEBOT3_MODEL=waffle
roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch
效果如下:
激光信号可视化