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

简介

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

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

安装TurtleBot3

(我使用的是zsh,这个也就是增强版的bash,安装和配置zsh终端(Ubuntu16.04 )_芃晟的博客-CSDN博客_ubuntu 终端默认zsh

先创建一个工作空间

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,无法给出传感器测量数据仿真。运行显示结果如下:

Gazebo仿真

roslaunch turtlebot3_gazebo turtlebot3_world.launch

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

通过键盘控制turtlebot3移动

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

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

roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch

使用turtlebot3实现SLAM

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

roslaunch turtlebot3_slam turtlebot3_slam.launch

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

解决方法可看:ERROR: cannot launch node of type [gmapping/slam_gmapping]: gmapping_芃晟的博客-CSDN博客_cannot launch node of type

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

建完地图后保存:

rosrun map_server map_saver -f ~/map

保存到当前路径

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的时候,认为完全是空的

参考:

Turtlebot3代码解读 - 创客智造

Ubuntu16.04+Ros Kinetic+TurtleBot3仿真搭建教程_afeik的博客-CSDN博客_turtlebot3教程

通过Gazebo仿真学TurtleBot3(二)——环境搭建_比邻学士的博客-CSDN博客_gazebo turtlebot3

通过turtlebot3仿真 学习建图及导航_Skyendless123的博客-CSDN博客

Turtlebot3入门教程 - 创客智造

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

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值