在Ubuntu16.04 + ROS kinetic环境下安装TurtleBot3

简介

ROS社区中丰富的功能包和机器人案例为我们的学习和研究提供了绝好的平台。TurtleBot系列是ROS社区中最流行的高性价比机器人平台,前后一共发布了三代。

在Ubuntu16.04 + ROS kinetic环境下安装TurtleBot3_第1张图片

TurtleBot是ROS中最为重要的机器人之一,它伴随着ROS一同成长。作为ROS开发前沿的机器人,几乎每个版本的ROS测试都会以TurtleBot为主。因此,TurtleBot是ROS支持度最好的机器人之一。

安装TurtleBot3

(我使用的是zsh,这个也就是增强版的bash,https://blog.csdn.net/weixin_41070687/article/details/83215785)

先创建一个工作空间

mkdir -p ~/turtlebot3_ws/src
cd ~/turtlebot3_ws/
catkin_make
source ./devel/setup.zsh
echo "source ~/turtlebot3_ws/devel/setup.zsh" >> ~/.zshrc

将路径切换到src目录下,开始下载安装turtlebot3,下载安装完成后要回到工作空间目录编译系统,最后source一下工作空间。

cd ~/turtlebot3_ws/src
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
cd ~/turtlebot3_ws
catkin_make
echo "source ~/turtlebot3_ws/devel/setup.zsh" >> ~/.zshrc
source ~/.zshrc

安装TurtleBot3 Simulation

cd ~/turtlebot3_ws/src
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ..
catkin_make
source ~/turtlebot3_ws/devel/setup.zsh

最后还可以根据所选用的TurtleBot3机器人是Burger还是Waffle,将其作为环境变量加入~/.bashrc文件,以方便后续使用。否则每次运行程序都需要先输入“export TURTLEBOT3_MODEL=burger”或者“export TURTLEBOT3_MODEL=waffle”。

echo "export TURTLEBOT3_MODEL=burger" >> ~/.zshrc
source ~/.zshrc

检查一下环境变量是否设置成功

env | grep TURTLEBOT3

显示如下即可:

然后可以做一个简单的测试:

roslaunch turtlebot3_fake turtlebot3_fake.launch 

这是turtlebot3_simulation里给出的一个简单仿真器,其并没有物理引擎,只是根据速度指令和角速度指令进行积分,给出odom和base_link坐标系之间的tf,无法给出传感器测量数据仿真。运行显示结果如下:

在Ubuntu16.04 + ROS kinetic环境下安装TurtleBot3_第2张图片

Gazebo仿真

roslaunch turtlebot3_gazebo turtlebot3_world.launch

首次打开界面显示要黑一会儿,主要是在下载所需model文件。Gazebo仿真器具有物理引擎,除给出机器人的位置姿态以外,还能够给出惯性imu、激光雷达以及相机或RGB-D等传感器仿真数据。因此功能更为丰富。结果如下所示:

在Ubuntu16.04 + ROS kinetic环境下安装TurtleBot3_第3张图片

 

通过键盘控制turtlebot3移动

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

使turtlebot根据激光雷达的信号开始自主规划避障

roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch

在Ubuntu16.04 + ROS kinetic环境下安装TurtleBot3_第4张图片

 

使用turtlebot3实现SLAM

在上面操作的基础上再开一个终端运行下述命令,执行SLAM启动文件

roslaunch turtlebot3_slam turtlebot3_slam.launch

这个过程可能遇到执行不成功,显示如下情况:

在Ubuntu16.04 + ROS kinetic环境下安装TurtleBot3_第5张图片

解决方法可看:https://blog.csdn.net/weixin_41070687/article/details/88421482

解决后再重新执行上条命令,结果如下:

在Ubuntu16.04 + ROS kinetic环境下安装TurtleBot3_第6张图片

建完地图后保存:

rosrun map_server map_saver -f ~/map

保存到当前路径

在Ubuntu16.04 + ROS kinetic环境下安装TurtleBot3_第7张图片

map.yaml文件内容及解释:

image: /home/peng/map.pgm  #地图图像的路径
resolution: 0.050000  #地图的分辨率 像素 或者/MI
origin: [-10.000000, -10.000000, 0.000000]  # 初始点位置 在地图上的坐标以及 航偏。航偏是指角度。
negate: 0  #是否反转黑白和占用(不影响阈值解释)
occupied_thresh: 0.65   #当像素占据的概率大于 0.65时候认为是完全占据的。
free_thresh: 0.196  # 当像素占据概率小于0.196的时候,认为完全是空的

 

 

参考:

https://www.ncnynl.com/category/turtlebot3-code/

https://blog.csdn.net/afeik/article/details/81388607

https://blog.csdn.net/u010853356/article/details/79226764

https://blog.csdn.net/qq_24706659/article/details/81240308

https://www.ncnynl.com/category/turtlebot3-tutorial/

http://emanual.robotis.com/docs/en/platform/turtlebot3

你可能感兴趣的:(ROS)