TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录

457
0
2020年8月14日 13时55分

先放张效果图,(*^__^*) 嘻嘻……

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图

 

一、硬件安装视频&资料

我自己录了个小视频,链接:TurtleBot3-Burger硬件安装记录 萌新之一镜到底&手机剪辑

这个链接有智能佳提供的装配视频和硬件清单: Turtlebot3入门教程 —— 硬件配置( Hardware Setup )

官方提供的说明书手册电子版:装配资料——GitHub链接

 

硬件效果和三视图

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(1)

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(2)

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(3)

 

TurtleBot3 Burger 3D Model: https://goo.gl/n3bGNr

 

二、软件安装和环境搭建流程

可以参考:北京智能佳提供的教程

这里就不做对PC端Ubuntu18.04 LTS安装和ROS Melodic安装的流程了,网上有很多可以查阅。

 

①PC端部分

1.安装turtlebot3及其依赖项

参考来源:http://emanual.robotis.com/docs/en/platform/turtlebot3/pc_setup/#install-dependent-ros-packages;

 

sudo apt install ros-melodic-desktop-full ros-melodic-joy ros-melodic-teleop-twist-joy ros-melodic-teleop-twist-keyboard ros-melodic-laser-proc ros-melodic-rgbd-launch ros-melodic-depthimage-to-laserscan ros-melodic-rosserial-arduino ros-melodic-rosserial-python ros-melodic-rosserial-server ros-melodic-rosserial-client ros-melodic-rosserial-msgs ros-melodic-amcl ros-melodic-map-server ros-melodic-move-base ros-melodic-urdf ros-melodic-xacro ros-melodic-compressed-image-transport ros-melodic-rqt-image-view ros-melodic-gmapping ros-melodic-navigation ros-melodic-interactive-markers ros-melodic-turtlebot3-gazebo

 

2.下载TurtleBot3依赖包(PC端和树莓派都需要编译);

cd ~/catkin_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git

cd ~/catkin_ws && catkin_make

 

不报错就没有问题啦~

 

3.ROS需要IP地址在turtlebot和远程PC之间进行通信,执行:

ifconfig

 

记住当前以太网口的IP地址,并修改.bashrc。

 

如果没有这个命令,则执行:

sudo apt-get install net-tools

ifconfig

 

4.设置turtlebot相关的.bashrc配置,设置机器人构型。构型为burger、waffle或waffle pi,根据手头机型设置:

export TURTLEBOT3_MODEL=burger

 

TURTLEBOT配置如下:

export ROS_MASTER_URI=http://IP_OF_PC:11311
export ROS_HOSTNAME=IP_OF_TURTLEBOT

 

注意:IP_OF_PC 指的是远程 PC 的 IP 地址,IP_OF_TURTLEBOT 指的是机器人的 IP

 

远程PC端配置如下:

export ROS_MASTER_URI=http://IP_OF_PC:11311
export ROS_HOSTNAME=IP_OF_PC

 

注意:export之后的内容不能出现空格!!!否则会报错!!!


ROS Master运行在远程PC上(在远程PC上执行roscore);

 

5.非管理员运行openCR节点,USB设置(以下允许将USB端口用于没有root权限的openCR板)

cd ~/catkin_ws/src/turtlebot3/turtlebot3_bringup
sudo cp ./99-turtlebot3-cdc.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger

 

②Raspberry Pi部分

 

1.给树莓派安装Linux,需要和PC端一致;

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(4)

 

我用这个感觉特别特别慢,提供一个BT种子可以使用百度网盘,离线下载中的BT下载,亲测很快!
链接:https://pan.baidu.com/s/1ngAPm3J-z7qwSLFL75czbw 提取码: e15o)

 

也可以使用这个,这个是我经过BT种子导出的网盘文件:
链接: https://pan.baidu.com/s/1xMZc7iWAoK-D2i4H2FEh6g 提取码: 3xow )

 

2.准备工具 Win32DiskImager
链接: https://pan.baidu.com/s/1troKxg66QOLZmkvAXr16xg 提取码: zkfa)

 

  1. 解压上述下载的操作系统镜像压缩文件,得到 img 镜像文件。
  2. 将 SD 使用卡托或者读卡器后,连上电脑。
  3. 解压并运行 win32diskimager 工具。
  4. 在软件中选择系统镜像(img 文件),“Device”下选择 SD 的盘符,然后选择 “Write”,期间出现对话框选择是。

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(5)

 

中间这点要没有GIF了,因为去到了Raspberry Pi。

 

3.将 SD 卡插入树莓派 3 的 SD 卡槽内。

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(6)

 

4.即可进入树莓派安装了。

我这里使用的是HDML线接我家的台式机显示屏,USB接口连接鼠标和键盘,使用5V/2A老式安卓手机的那个接口接电。

 

安装过程也是很简单了,比起双系统的Ubuntu这个简直轻而易举,不用管分配空间,所以就不多说了。重点是需要用ifconfig命令得到树莓派的wlan地址。然后跳转到上面我们提到的PC端和树莓派配置地址的地方修改。

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(7)

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(8)

 

5.接下来在树莓派安装ROS,和PC端安装ROS相似,这里也不过多讲解了,我先试试,我会记录下出错解决的地方。

 

这里放几个我参考的【链接】:最重要的!换用国内apt源解决树莓派安装ubuntu后apt-get速度慢的问题因为不换源真的慢的要死!

 

  1. wiki官方教程;(官方教程就OK啦!)
  2. Ubuntu18.04 ssh 开机自动启动的设置方法
  3. [树莓派]Ubuntu MATE 18.04安装ROS环境

 

6.有些小伙伴可能和我一样都给开机设置了密码,为了方便使用,可以这样取消开机询问密码。点击桌面右上角的设置浮动块,点击System Settings,点击用户和组就可以看到密码后面写的登录时询问,改成不询问就好啦。

 

③OpenCR

openCR 的软件设置这一章节是针对 PC 的,机器人不需要安装 arduino,您可以选择在 ubuntu 下安装,也可以选择在 windows 下安装;都是可以的,凭个人喜好。

 

1.由于 OpenCR 库是为 32 位平台构建的,64 位 PC 需要用于 Arduino IDE 的 32 位编译器相关内容,需要执行如下命令:

sudo apt-get install libncurses5-dev:i386

 

 

2.安装 Arduino IDE,OpenCR 需 Arduino IDE 1.16.0 及之后的版本,可以到官网https://www.arduino.cc/en/Main/Software下载;

 

    3.将下载的文件解压缩到所需的文件夹比如用户的根目录下,并从终端执行安装文件;

也可以用我放在网盘里的链接: https://pan.baidu.com/s/1-ro0x5Rr6iIzGgK8IA-n0g 密码: mdkd

 

mkdir ~/tools
wget https://www.arduino.cc/download_handler.php?f=/arduino-1.8.12-linux64.tar.xz

cd ~/tools/arduino-1.8.12
sudo ./install.sh

 

4.执行Arduino最好用sudo arduino打开(root权限);增加 Boards Manager;

 

运行IDE,点击 File → Preferences,复制下面的内容到 Additional Boards Manager URLs:

 

https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/arduino/opencr_release/package_opencr_index.json

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(9)

 

5.通过Board Manager安装OpenCR软件包,点击 Tools → Boards Manager;

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(10)

 

6.OpenCR Board 列在 Tools → Board 中;

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(11)

 

7.设置端口,OpenCR 应通过 USB 端口连接到 PC 和 OpenCR 板;选择 Tools → Port → /dev/ttyACM0;(我的是/dev/ttyACM1大家可以拔掉再插上看看)

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(12)

 

OpenCR板上走马灯会亮;

 

8.选择DFU编译模式。

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(13)

 

9.下载机器人OpenCR默认固件;文件的示例中大家会发现有很多示例代码;选择turtle_core;(尝试compile and upload)

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(14)

 

如果下载了已损坏或未完成的固件且电路板冻结或无法工作,则必须进入引导加载程序才能下载正常固件:警告:(不满足这种情况不用执行这步!)

 

1.进入修复固件模式;

 

    1. 同时按住 PUSH SW2 按键和 Reset 按钮;
    2. 释放 Reset 按钮;
    3. 松开 PUSH SW2按钮。

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(15)

 

重置后,OpenCR将进入引导加载程序。STATUS LED每100ms闪烁一次。

 

2.下载下载器 opencr_ld

 

3.打开官方默认固件 turtlebot3_core;另存一下,导出可执行二进制bin文件;

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(16)

 

4.修复固件:

opencr_ld <Communication port> <Baudrate> <Firmware binary> <Firmware execution status [0|1]>

 

这个就是个示例命令格式,可别直接输进去啊!看下一步就知道了!

 

  • Communication port:Linux 的串口名称通常为/dev/ttyACM0,它应与连接到 OpenCR 的串口相同;
  • Baudrate:以 115,200bps 的速率进行通信和输入的速度;
  • Firmware binary:固件二进制映像具有 bin 的扩展名;
  • Firmware execution status:如果为1,则在下载固件后执行固件。为0,则只执行下载固件;

 

5.如果 OpenCR 连接到 ttyACM0 端口,则将二进制文件 opencrfw.bin 复制到 opencr_ld 目录中;

sudo opencr_ld /dev/ttyACM0 115200 ./turtlebot3_core.ino.openCR.bin 1

 

其中,tutlebot3_core.ino.openCR.bin 是您导出的二进制文件的名称.

 

6.修复成功后的结果如下:

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(17)

 

参考资料:

1.《ROS机器人编程介绍 -中文版》链接: https://pan.baidu.com/s/1T3-HUdA9EodY4Y9snStsqg 密码: utbn

2.Ubuntu18.04+Melodic ROS+TurtleBot3安装过程碰到的部分问题及解决方法

3.Ubuntu18.04 LTS安装ROS melodic和turtlebot3

 

之后会继续更新我使用小乌龟的历程哈~

 


补充:

我在安装turtlebot3-simulations的时候出现了错误:

 

1.类似如图所示的编译无-std=c++11的错误;

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(18)

 

可以在这个 turtlebot3_simulations/turtlebot3_fake 的目录下修改那个 CMakeLists.txt ,加上这句话:

add_compile_options(-std=c++11)

 

2.然后就有了我第二个错误;

 

TurtleBot3-Burger+Ubuntu18.04+Melodic ROS 安装记录插图(19)

 

可以参考这个博客https://blog.csdn.net/qq_37668436/article/details/104221075#1_5;简单说就是这个文件里面isnan前面没加std::的问题。

 

提供一下我已经修改过的 turtlebot3_simulations 这个包:
链接: https://pan.baidu.com/s/1omp0YrLoLuMzy8N3xa0few 密码: w3hg

发表评论

后才能评论