北京智能佳科技有限公司
www.bjrobot.com 010-82488500 1
TurtleBot3 burger(汉堡)ROS 平台
用户使用手册
版 本:0.2.3
修订日期:2017/12/27
作 者:北京智能佳科技有限公司
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 2
修订历史记录
版本 时间 说明
0.2.1 2017/12/06 增加 burger 机器人网络配置说明
0.2.2 2017/12/06 增加 burger 仿真功能的说明
0.2.3 2017/12/27 更名为《TurtleBot3 burger(汉堡)ROS 平台
用户使用手册》
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 3
目录
汉堡(树莓派)系统安装 ........................................................................... 7
1.镜像(.img)下载: .............................................................................................. 7
2.制作 Linux 启动盘(SD 卡) ................................................................................. 9
3.系统安装 ................................................................................................................10
4.网络配置 ................................................................................................................11
Ubuntu16.04 系统镜像制作 ...................................................................... 12
在笔记本上安装 Ubuntu 系统(Ubuntu16.04) ...................................... 15
ROS 安装 .................................................................................................... 16
1.版本选择 ................................................................................................................16
2.软件中心配置 ........................................................................................................16
3.添加源 ....................................................................................................................17
4.安装 ROS .................................................................................................................17
5.初始化 ROS ............................................................................................................17
6.测试 ROS .................................................................................................................17
OpenCR 软件配置 ...................................................................................... 20
1.编译器设置 ...........................................................................................................20
2.安装 Arduino IDE................................................................................................20
3.运行 Arduino ........................................................................................................20
4.从 Boards Manager 安装 OpenCR1.0 包 ...........................................................21
5.端口设置 ...............................................................................................................23
开始使用 .................................................................................................... 24
1.启动 Turtlebot3 ......................................................................................................24
2.启动 Turtlebot-burger ...........................................................................................24
3.运行 RViz ................................................................................................................24
远程控制 .................................................................................................... 26
1.说明.........................................................................................................................26
2.方法.........................................................................................................................26
3.结果.........................................................................................................................26
SLAM........................................................................................................... 27
1.说明.........................................................................................................................27
2 通过远程操作创建地图 .......................................................................................27
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 4
3.将地图保存到文件................................................................................................27
导航 ............................................................................................................ 28
1.说明.........................................................................................................................28
2.准备.........................................................................................................................28
3.开始导航 ................................................................................................................28
仿真 ............................................................................................................ 30
1.安装 TurtleBot3 Simulation ...................................................................................30
2.启动仿真 ................................................................................................................30
3.Gazebo 仿真 ...........................................................................................................31
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 5
重要信息
注意:在安装机器人之前必须先看电子文档,如果由于不看文档
造成接线出现问题一律不再报修范围内;智能佳不对用户因疏忽或误
用产品而导致的任何损失或损害负责。
请在开始之前请仔细阅读电子使用说明文档。
1.严格按照说明手册以及官方网站的网页教程操作;
教程网址 1: http://www.rosrobot.cn/
教程网址 2:http://emanual.robotis.com/docs/en/platform/turtlebot3/overview/
2.在接线的时候要断电操作,要反复确认,确保接线(电源线)正确,
电源正负正确,因接线问题造成机器人损害不在报修范围内。
3. 只能使用套件中包含的电池和充电器。电池一个月最少要充电一
次,长时间搁置导致电池过放而不能正常使用也不再报修范围内。
4.当机器人运行时,理清线路,谨防无意间拖拽机器人造成机器人损
坏。
5.请勿将机器人放置在靠近水源,热源或火源的地方。
6.冬天容易产生静电,在接触控制板时一定先去除静电,如果由于静
电作用造成损坏也不在报修范围之内。
7.文档中或官方网站教程中未提及的做法,要提前询问相关技术人员,
谨慎操作。
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 6
安装注意事项
上电前一定要反复确认正负极是否正确,如果接反,树莓派板子
就报废了。这个不在报修范围内,请谨慎操作!
2.连接 wifi操作步骤:
1):输入以下命令:
cd /etc/wpa_supplicant/
ls
wpa_passphrase 你的 wifi 名字 你的 wifi 密码 >wpa_supplicant.conf
ls
解释:
切换到/etc/wpa_supplicant/目录下
ls 查看当前文件夹下的文件
写入 wifi 配置文件
ls 再次查看目录,发现已经增加 wpa_suppliact.conf 文件
2):重启
3)点击右上角的 wifi 连接,点击 wifi,输入密码,回车即可。
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 7
汉堡(树莓派)系统安装
1.镜像(.img)下载:
就 burger 而言,树莓派需安装 Linux 操作系统,其中,SD 卡(默认 8G)是
作为启动磁盘。
安装系统版本:Ubuntu MATE(笔者安装:Ubuntu MATE 16.04.2)
下载地址:https://ubuntu-mate.org/download/
如图:1.打开下载链接:https://ubuntu-mate.org/download/
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 8
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 9
2.制作 Linux 启动盘(SD 卡)
准备:制作工具 Win32DiskImager
安装:
1. 解压上述下载的操作系统镜像压缩文件,得到 img 镜像文件。
2. .将 SD 使用卡托或者读卡器后,连上电脑。
3. 解压并运行 win32diskimager 工具。
4. 在软件中选择系统镜像(img 文件),“Device”下选择 SD 的盘符,然后选择
“Write”,期间出现对话框选择是。
5.等待写入进程,安装过程可能有些慢,根据你 SD 卡的速度而定的。等到出现
对话框 write successful 就说明成功了。
这样,Linux 系统启动盘就做好了。
6.将 SD 卡插入树莓派 3 的 SD 卡槽内。
7.树莓派主板上电,即可进入系统安装。
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 10
3.系统安装
1. 设置系统使用的语言,选择简体(中文)。
2. 设置 WiFi,可以在后面设置也是一样的。
选择您要连接的 wifi,输入相应的密码,这样在后期的系统安装过程中会利
用网络的资源。
3. 设置时区。
选择一个时区,用鼠标在地图上点击一个位置就可以。
4. 等待之前的设置完成。
5.选择键盘布局,点击,继续。
6.创建用户名和密码,并牢记(后面会用到)。
7. 系统的安装占用了很多的空间,如果需要添加更多的功能需要增加 TF 卡的容
量。后面尝试添加一些应用。
温馨提示:系统安装完毕,大概就剩下 3.9G。安装完 ROS 之后,大概会剩下 1.2G,
内存且用且珍惜。
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 11
4.网络配置
为了实现 Turblebot3 和电脑,Turblebot3 之间的相互通信,需要获取远程 PC
和 Turblebot3 的 IP 地址。
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 12
Ubuntu16.04 系统镜像制作
准备:UltraISO 软件(如果只是为了制作启动优盘,可以使用未注册版本。)
镜像:Ubuntu16.04.03-desktop-adm64.iso
U 盘:8G 以上(包含 8G)
打开 UltraISO
UltraISO 主界面如下:
打开 ISO 文件
选择菜单文件>>打开,弹出打开 ISO 文件对话框
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 13
选择镜像文件并单击打开按钮,打开 ISO 文件
写入硬盘镜像
选择菜单文件>>打开,弹出写入硬盘镜像对话框
选择硬盘驱动器和写入方式,然后点击写入按钮,等待完成即可。
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 14
至此,Ubuntu16.04 系统盘完成!!!
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 15
在笔记本上安装Ubuntu系统(Ubuntu16.04)
1.插入 Ubuntu16.04 启动 U 盘,重启笔记本电脑(64 位),开机后,按 F12 键(联
想笔记本,其他的可以查询 U 盘启动快捷键),进入 Ubuntu 安装界面,选择第
二个选项:安装 Ubuntu。
2.进入准备安装 Ubuntu 界面后将“安装 Ubuntu 时下载更新”、“为图形或无线硬
件…..”前面打上对勾。
3.进入安装类型界面,选择“其他类型”,点击“继续”
点击“创建新分区表”
继续
选择产生的空闲分区
点击的“+”创建 4 个主要的基础分区
创建/分区:
>5G 主分区 空间起始位置 Ext4 日志文件系统 /
创建 swap 分区:
2048MB 逻辑分区 空间起始位置 交换空间
创建 boot 分区:
200MB 逻辑分区 空间起始位置 Ext4 日志文件系统 /boot
创建 home 分区:
剩余的空间 逻辑分区 空间起始位置 Ext4 日志文件系统 /home
还可创建自己的其他分区如/123 分区 只要设置为逻辑分区、空间起始位置、Ext4
日志文件系统
4.修改“安装启动引导器的设备”
选择/boot 分区(/dev/sda6)
点击“现在安装”
继续
选择时区
继续
选择键盘布局(使用默认)
继续
5. 创建用户(计算机名日后可改)
密码要复杂
密码为登录密码请务必牢记
继续
6. 开始安装
等待…………
7.安装完成后重启。
8.Ubuntu 系统安装完成。
镜像源:http://mirror.pnl.gov/releases/xenial/
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 16
ROS 安装
1.版本选择
ROS 是运行在 Linux 之上的,所以首先您的电脑和机器人(汉堡/华夫饼)首
先得有 Linux 环境,之前的 ubuntu 系统的安装都是为此做准备的。Ubuntu 是对
ROS 支持最好的。
Ubuntu 和 ROS 都是存在不同的版本,而且 ROS 各个版本之间互不兼容,
所以每一个 ROS 版本都对应着一个或两个对应的 Ubuntu 版本。
ROS 发布日期 ROS 版本 对应 Ubutnu 版本
2016.3 ROS Kinetic Kame Ubuntu 16.04 (Xenial) /
Ubuntu 15.10 (Wily)
2015.3 ROS Jade Turtle Ubuntu 15.04 (Wily) /
Ubuntu LTS 14.04 (Trusty)
2014.7 ROS Indigo Igloo Ubuntu 14.04 (Trusty)
注:ubuntu14.04 版本装 Kinetic 版本是装不上去的,indigo 同理。
最终选择 Ros 版本:ROS Kinetic Kame
2.软件中心配置
首先打开软件和更新对话框,具体可以在 Ubuntu 最左上角的搜索按钮中搜
索。打开后按照下图进行配置(确保你的 "restricted" , "universe, " 和
"multiverse."前是打上勾的):
配置完成后就可以关闭该窗口了。
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 17
3.添加源
打开一个控制台(Ctrl + Alt + T), 输入如下指令:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" >
/etc/apt/sources.list.d/ros-latest.list'
设置秘钥:
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
4.安装 ROS
首先确保系统软件处于最新版。
sudo apt-get update
安装 ROS kinetic 全功能版。指令如下:
sudo apt-get install ros-kinetic-desktop-full
等待若干分钟,网络要给力。
安装完成后,可以用下面的命令来查看可使用的包:到现在,虽然是安装完了,
但是还不能用 ROS 哦!
5.初始化 ROS
首先呢,需要先初始化 rosdep,具体如下:
sudo rosdep init
rosdep update
然后初始化环境变量:
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
上面两句非常非常非常重要,很多小伙伴在日常的开发过程中,有的找不到
Package, 找不到 node, 很多情况下都是没有添加 source。
6.测试 ROS
首先,启动 ROS 环境
roscore
看看显示 started core service [/rosout] 了没有?如果没问题,恭喜你,你成功
了。
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 18
安装 Turtlebot3 ROS 包
1.安装 Turtlebot3 依赖包
在 Ubuntu 终端界面输入命令:
sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard r
os-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosseri
al-arduino ros-kinetic-rosserial-python ros-kinetic-rosserial-server ros-kinetic-rosserial-client ros-ki
netic-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-g
mapping ros-kinetic-navigation
2.创建 ROS 工作目录
cd ~
sudo mkdir catkin_ws
cd catkin_ws
sudo mkdir src
3.下载依赖包
cd ~/catkin_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
4.编译
cd ~/catkin_ws && catkin_make
5.网络配置
ROS 需要 IP 地址在 turtlebot 和远程 PC 之间进行通信
分别在 turtlebot 和 PC,执行如下命令获得对应的 IP 地址:
ifconfig
修改.bashrc
gedit ~/.bashrc
TURTLEBOT 配置如下:
ROS_MASTER_URI = http://IP_OF_PC:11311
ROS_HOSTNAME = IP_OF_TURTLEBOT
注意:IP_OF_PC 指的是远程 PC 的 IP 地址,IP_OF_TURTLEBOT 指的是机器人的 IP
远程 PC 配置如下:
ROS_MASTER_URI = http://IP_OF_PC:11311
ROS_HOSTNAME = IP_OF_PC
ROS_MASTER 运行在远程 PC 上。(在远程 PC 上执行 roscore)
让环境生效:
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 19
source ~/.bashrc
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 20
OpenCR 软件配置
1.编译器设置
由于 OpenCR 库是为 32 位平台构建的,64 位 PC 需要用于 Arduino IDE的 32
位编译器相关内容,需要执行如下命令:
sudo apt-get install libncurses5-dev:i386
2.安装 Arduino IDE
OpenCR 需 Arduino IDE 1.16.0 及之后的版本
可以从官方的 arduino 主页下载最新版本,
地址:https://www.arduino.cc/en/Main/Software
将下载的文件解压缩到所需的文件夹比如用户的根目录下 tools,并从终端
执行安装文件。如下:
mkdir ~/tools
wget https://www.arduino.cc/download_handler.php?f=/arduino-1.8.3-linux64.t
ar.xz
cd ~/tools/arduino-1.16.0
./install.sh
增加路径到环境中:
vim ~/.bashrc
export PATH=$PATH:$HOME/tools/arduino-1.16.0
source ~/.bashrc
3.运行 Arduino
在 linux 下,新终端执行:
arduino
或直接运行
~/tools/arduino-1.16.0/arduino
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 21
4.从 Boards Manager 安装 OpenCR1.0 包
1) 增加 Boards Manager
运行 IDE,点击 File → Preferences, 复制如下内容到 Additional Boards Manager
URLs:
https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/arduino/opencr_release/package_ope
ncr_index.json
如图:
2) 通过 Boards Manager 安装 OpenCR 软件包
点击 Tools → Board → Boards Manager.
图示:
在文本框中键入 OpenCR 以查找包。找到 OpenCR by ROBOTIS 后,点击 Install.
图示:
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 22
安装后,将显示“INSTALLED”
OpenCR Board 列在 Tools → Board 中。
图示:
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 23
5.端口设置
此步骤显示程序上传的端口设置。
OpenCR 应通过 USB 端口连接到 PC 和 OpenCR 板。
选择 Tools → Port → /dev/ttyACM0.
图示:
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 24
开始使用
这一节我们来讲 Turtlebot3 如何启动和使用
1.启动 Turtlebot3
[远程主机(笔记本电脑)]运行 roscore
笔记本电脑打开终端(ctrl+Alt+T),获取 root 权限,输入 roscore,如果显示 started
core service [/rosout] ,则说明 roscore 打开成功。
roscore
2.启动 Turtlebot-burger
[Turtlebot3 之树莓派 3]启动 launch 文件
roslaunch turtlebot3_bringup turtlebot3_robot.launch
这是开启机器人所有设备,也可以单独开启,分步操作。
roslaunch turtlebot3_bringup turtlebot3_lidar.launch
roslaunch turtlebot3_bringup turtlebot3_core.launch
如果终端显示 lost sync with device 错误信息,则说明 TurtleBot3 的传感器设备必
须未完全与树莓派相连接。
3.运行 RViz
[远程主机(笔记本电脑)]运行 RViz
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_bringup turtlebot3_model.launch
RViz(The ROS Visualization Tool): 机器人操作系统 3D 可视化工具。
它的作用就是:一个虚拟世界,用来模拟机器人在现实世界的运行效果。简
单的说它就是 ROS 的一个模拟器软件。一个显示机器人实体的工具。
运行效果如图所示:
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 25
ROS 下的图形化模拟环境 RViz
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 26
远程控制
这一节我们来讲远程控制 Turtlebot3 的方法
1.说明
此方法是在远程 PC(笔记本电脑)操作的,而不是在树莓派(机器人)上操
作的。在树莓派(机器人)上操作此步骤是无用的。
其他几种无线设备(例如 PS3,XBOX 360,ROBOTIS RC100 等)也可以控制。
下面以远程笔记本的键盘控制为例:
2.方法
[远程主机(笔记本电脑)]运行远程操作
roslaunch turtlebot3_bringup turtlebot3_teleop_key.launch
3.结果
[远程主机(笔记本电脑)] 如果文件成功启动,终端将显示以下内容。
Control Your Turtlebot3!
---------------------------
Moving around:
w
a s d
x
w/x : increase/decrease linear velocity
a/d : increase/decrease angular velocity
space key, s : force stop
CTRL-C to quit
接下来就可以通过笔记本电脑上的 w/x/a/d/s 来控制机器人的前、后、左、右、
停动作了。
按键说明:w/x:增加/减少线速度(前后)
a/d:增加/减少角速度(左右)
空格/s:急停按键
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 27
SLAM
这一节我们来讲 Turtlebot3 的 SLAM
1.说明
SLAM(The Simultaneous Localization and Mapping) 同步定位与地图构建:希望机
器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比
如,墙角,柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,
从而达到同时定位和地图构建的目的。(维基百科)
2 通过远程操作创建地图
[远程主机(笔记本电脑)] 打开终端,然后运行 SLAM 启动文件。
针对 burger:
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_slam turtlebot3_slam.launch
[远程主机(笔记本电脑)] 启动 RViz 可视化模型
rosrun rviz rviz -d `rospack find turtlebot3_slam`/rviz/turtlebot3_slam.rviz
[远程主机(笔记本电脑)] 启动键盘操作
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
3.将地图保存到文件
[远程主机(笔记本电脑)] 打开终端,然后运行地图保存节点
rosrun map_server map_saver -f ~/map
map.pgm 和 map.yaml 在 ~/ 目录里创建
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 28
导航
这一节我们来讲 Turtlebot3 的导航功能
1.说明
导航技术的主要用途:使机器人进入期望的位置。
2.准备
已经启动 burger
已经建好地图
3.开始导航
[远程主机(笔记本电脑)] 启动导航文件
针对 burger:
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOM
E/map.yaml
[远程主机(笔记本电脑)]启动 RViz
rosrun rviz rviz -d `rospack find turtlebot3_navigation`/rviz/turtlebot3_na
v.rviz
[远程主机(笔记本电脑)] 在开始导航之前,TurtleBot3 需知道它的位置和姿态。
为了更新初始位置数据,可以按照以下步骤进行:
1). 点击 2D Pose Estimate 按键。
2). 通过单击并拖动地图上的方向来设置机器人在地图上的大致位置。
每个绿色箭头代表 TurtleBot3 的预期位置。 激光扫描仪将在地图上绘制线条,
如地图上的墙壁。 如果图形没有正确显示图形,请从上面的“2D Pose Estimate”
按钮重复定位 TurtleBot3。
如果图形没有显示线条,请重复上述过程。
[远程主机(笔记本电脑)] 当 TurtleBot3 已经定位,它将自动计划路径。
为了到达目标位置,需遵循以下做法:
点击 2D Nav Goal 按钮
点击地图上的一个特定点来设置一个目标位置,拖动光标到 TurtleBot3 应该
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 29
面对的方向。
注意:如果无法创建目标位置的路径,则设置目标位置可能会失败。 如果
您希望在机器人到达目标位置之前停止机器人,请将 TurtleBot3 的当前位置设置
为目标位置。
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 30
仿真
这一节我们来讲 Turtlebot3 的仿真实验
测试环境:Ubuntu 16.04 和 ROS Kinetic Kame.
注意:TurtleBot3 Simulation 依赖于 turtlebot3
步骤:
1.安装 TurtleBot3 Simulation
cd ~/catkin_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ~/catkin_ws && catkin_make
2.启动仿真
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_fake turtlebot3_fake.launch
注意:TurtleBot3 仿真节点不依赖实体机器人,也可以在 rviz 里通过 teleop 节点
进行控制。
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 31
3.Gazebo 仿真
第一次使用 gazebo 需要比较长的时间加载模型。
第一次使用 Turtlebot3 的 gazebo 仿真,需要把 Turtlebot3 的模型文件,复制
到 gazebo 的模型目录里
mkdir -p ~/.gazebo/models/
cp -r ~/catkin_ws/src/turtlebot3_simulations/turtlebot3_gazebo/worlds/turt
lebot3 ~/.gazebo/models/
设置模型参数,指定使用那种机器人型号:burger 或者 waffle
export TURTLEBOT3_MODEL=burger
启动世界地图,默认的空白地图环境中加载 Turtlebot3 机器人
roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch
效果:
启动更复杂些的地图
roslaunch turtlebot3_gazebo turtlebot3_world.launch
北京智能佳科技有限公司
www.bjrobot.com 010-82488500 32
用键盘控制 turtlebot3
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
启动仿真
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_gazebo turtlebot3_simulation.launch
启动 RVIZ 可视化
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch
Top Related