旨在用于教育,研究,产品原型和爱好应用的目的。
TurtleBot3的目标是大幅降低平台的尺寸和价格,而不会牺牲性能,功能和质量。
由于提供了不同可选,如底盘,计算机和传感器,TurtleBot3可以通过各种方式进行定制。
turtlebot3入门教程
turtlebot3入门教程-目录
说明:
- 介绍Turtlebo3是TurtleBot3是一个小型,低成本,完全可编程,基于ROS的移动机器人。
- 它旨在用于教育,研究,产品原型和爱好应用的目的。
- TurtleBot3的目标是大幅降低平台的尺寸和价格,而不会牺牲性能,功能和质量。
- 由于提供了不同可选,如底盘,计算机和传感器,TurtleBot3可以通过各种方式进行定制。
目录:
TurtleBot3入门教程-概述
TurtleBot3入门教程-特点
TurtleBot3入门教程-规格
TurtleBot3入门教程-硬件设置
TurtleBot3入门教程-PC软件设置
TurtleBot3入门教程-SBC软件设置
TurtleBot3入门教程-OpenCR软件设置
TurtleBot3入门教程-开始使用
TurtleBot3入门教程-遥控
TurtleBot3入门教程-SLAM
TurtleBot3入门教程-导航
TurtleBot3入门教程-LDS
参考:
- http://turtlebot3.readthedocs.io/en/latest/
- https://github.com/ROBOTIS-GIT/turtlebot3
- https://github.com/ROBOTIS-GIT/OpenCR
一、入门教程-概述
说明:
- TurtleBot3是一个小型,低成本,完全可编程,基于ROS的移动机器人。
- 它旨在用于教育,研究,产品原型和爱好应用的目的。
- TurtleBot3的目标是大幅降低平台的尺寸和价格,而不会牺牲性能,功能和质量。
- 由于提供了其他选项,如底盘,计算机和传感器,TurtleBot3可以通过各种方式进行定制。
- TurtleBot3意愿通过应用SBC(单板计算机),深度传感器和3D打印的最新技术进步,成为创客运动的中心。
在ROSCon2016上介绍Turtlebot3
- PDF:http://roscon.ros.org/2016/presentations/ROSCon2016_Turtlebot3_ROBOTIS.pdf
- 视频:https://vimeo.com/187699447
硬件
- Turtlebot3的默认组件如下:底盘,电机,车轮,OpenCR板,计算机,传感器,电池。
- 底盘是华夫板,板支撑,球形脚轮等。底盘的大特征在于Waffle板,这是所有TurtleBot3部件中最大的,但是比手小。
- 该板将提供为注塑成型,并且其实现低成本,但是利用CAD数据来3D打印也一样可用。
- Turtlebot3 Basic是一个两轮差速驱动类型的平台,但也能够支持不同结构和机械定制如:汽车,自行车,拖车等。
- 通过使用计算机或甚至通过便携式设备通过Web浏览器访问。
- 这里允许协同完成绘图和组装工作。
- CAD模型:
- TurtleBot3基本型 :https://goo.gl/n3bGNr
- TurtleBot3高级版:https://goo.gl/wCDvVI
软件
-
该软件以完全开源的形式提供。主要许可证是Apache 2.0许可证。预计全部资源发布是2017年第一季度。
-
https://github.com/ROBOTIS-GIT/turtlebot3
-
https://github.com/ROBOTIS-GIT/OpenCR
开源许可证
-
硬件许可证:
- TurtleBot3是一个开源硬件项目,如开源硬件语言原则和定义v1.0所述。
-
软件许可证:
- 主要软件是根据Apache 2.0许可证发布的。然而,一些资源是根据根据许可证3-Clause BSD License/GPLv3。
-
文件许可证:
- 文件根据CC BY 4.0发布。
资源
- http://www.turtlebot.com/
- http://turtlebot3.rtfd.io/
- http://wiki.ros.org/Robots/TurtleBot
- https://github.com/ROBOTIS-GIT/open_manipulator
- https://github.com/ROBOTIS-GIT/DynamixelSDK
- https://github.com/ROBOTIS-GIT/dynamixel-workbench
出版物
- IEEE Spectrum: http://spectrum.ieee.org/automaton/robotics/diy/robotis-and-osrf-announce-turtlebot-3-smaller-cheaper-and-modular
- 3D Printing Industry:https://3dprintingindustry.com/news/advances-robotics-made-easier-forthcoming-3d-printed-turtlebot-96844/
- ROBOHUB: http://robohub.org/celebrating-9-years-of-ros/
二、入门教程-特点
说明:
- 介绍Turtlebot3主要特点
合作方:
世界上最受欢迎的ROS平台
- TurtleBot是世界上最受欢迎的开源机器人用于教育和研究。
- 新一代“TurtleBot3”是一种小型,低成本,完全可编程,基于ROS的移动机器人。
- 它旨在用于教育,研究,产品原型和爱好应用的目的。
低成本
- TurtleBot是为了从教育和原型研究和发展的成本意识的需求而建立的。
- TurtleBot3是配备了通用360度LiDAR的SLAM移动机器人中最经济的机器人。
小尺寸
- TurtleBot3 Basic的尺寸为140mm x 140mm x 150mm(长x宽x高)。
- 它的大小是TurtleBot1和2的1/4大小, 甚至可以在背包里携带。
ROS标准
- TurtleBot品牌由Open Source Robotics Foundation, Inc. (OSRF)管理,OSRF开发和管理ROS。如今,ROS已经成为世界各地所有机器人的向往参与的平台。TurtleBot可以集成到现有的基于ROS的机器人,同时也是学习ROS的经济实惠的平台。
结构可扩展性
- TurtleBot3鼓励用户使用一些替代选项自定义其机械结构:开源嵌入式板(作为控制板),计算机和传感器。
- Turtlebot3 Basic是一个两轮差速驱动类型的平台,但能够在许多方面比如结构和机械定制:汽车,自行车,拖车等。
- 延伸想象之外的想法。
移动机器人的模块化执行器
- TurtleBot3允许通过使用2个Dynamixels在车轮关节上获得精确的空间数据
- Dynamixel X系列可以通过以下6种操作模式之一进行操作:
- 车轮的速度控制模式
- 扭矩控制模式
- 关节的位置控制模式等
- Dynamixel甚至可用于制作移动操纵器,因为它轻巧,但可以用速度,扭矩和位置精确控制
- Dynamixel是使TurtleBot更完善的核心组件。
开源ROS的控制板
- 开源控制板OpenCR,它是软硬件都开源的,适用于ROS通信的控制板。
- 它具有不仅支持控制Dynamixel而且还支持基本识别任务的ROBOTIS传感器,如触摸传感器,红外传感器,彩色传感器等。
- 它在板内有一个IMU传感器,以便它可以加强许多精确的控制。
- 该板具有3.3V,5V,12V电源,以加强可用的计算机设备阵容。
强大的传感器
- TurtleBot3 Basic使用360°LiDAR。
- TurtleBot3高级型 配备360°激光雷达,但另外还提供了一个功能强大的英特尔感识别SDK。
- 这将是制作移动机器人的最佳解决方案。
开放源码
- TurtleBot3的硬件,固件和软件是作为开源提供的。
- 基本上,TurtleBot3的所有组件都将作为注塑成型提供,并且它实现了低成本,但是也提供用于3D打印的CAD数据。
- 此外,OpenCR板的所有细节,包括电路图,PCB Gerber,BOM和固件源也在开源许可下,针对ROS用户和 区开源。
三、入门教程-规格
说明:
- 介绍Turtlebot3规格
Turtlebot图:
规格
项目 | 基本 | 高级 |
---|---|---|
最大平移速度 | 0.22m / s | 0.26m / s |
最大转速 | 2.84rad / s(162.72deg / s) | 1.82rad / s(104.27deg / s) |
最大有效载荷 | 15kg | 30kg |
尺寸(长x宽x高) | 176mm x 138mm x 188mm | 306mm×283mm×143mm |
重量(+ SBC +电池+传感器) | 0.995kg | 1.745kg |
攀登门槛 | 10mm以下 | |
预计运行时间 | 2h 30m | 2h |
预计充电时间 | 2h 30m | |
PC连接 | USB | |
IMU | 陀螺仪3轴 | |
加速度计3轴 | ||
磁力计3轴 | ||
电源连接器 | 3.3V / 800mA | |
5V / 2A | ||
12V / 1A | ||
插脚 | GPIO 18引脚 | |
Arduino 32针 | ||
音频 | 几个可编程蜂鸣声序列 | |
可编程LED | 用户LED x 4 | |
状态LED | 板状态x 1 | |
电池状态x 1 | ||
Arduino LED x 1 | ||
纽扣 | 按钮x 2 | |
电池 | 锂聚合物11.1V 1800mAh / 19.98Wh 5C | |
固件升级 | 通过USB /通过JTAG | |
充电适配器 | 输入:100-240V,AC 50 / 60Hz,1.5A @ max | |
输出:12V DC,5A |
尺寸
组件
-
SBC:
- IntelJoule: http://ark.intel.com/products/96414/Intel-Joule-570x-Developer-Kit
- Raspberry Pi 3 Model B : https://www.raspberrypi.org/products/raspberry-pi-3-model-b/
-
传感器:
- Laser Distance Sensor :
图示:
概述
- HLS-LFCD LDS用于TurtleBot3的两种型 。
- LDS(激光距离传感器)是将由障碍物检测收集的数据发送到用于SLAM技术的主机的传感器
基本性能规格
项目 规格 工作电源电压 5V DC±5% 光源 半导体激光二极管(λ= 785nm) 激光安全 IEC60825-1 Class 1 目前的消费 400mA以下(冲击电流1A) 检测距离 120mm,500mm 接口 3.3V USART(230,400 bps)每6度42bytes,全双工选项 环境光电阻 10,000 lux 或更小 采样率 1.8kHz 尺寸 69.5(W)×95.5(D)×39.5(H)mm 质量 低于125g 测量性能规格
项目 规格 距离范围 120500mm 距离精度(120mm99mm) ±15mm 距离精度(500mm,500mm) ±5.0% 距离精度(120mm99mm) ±10mm 距离精度(500mm,500mm) ±3.5% 扫描速率 300±10rpm 角范围 360° 角分辨率 1° 规范文档
- 包括内容如基本性能,测量性能,机构布局,光路,数据信息,引脚描述,命令。
在TurtleBot3使用LDS
- HLS-LFCD LDS用于TurtleBot3 Basic和TurtleBot3 Premium。
- IntelRealsenseR200 : https://software.intel.com/en-us/RealSense/R200Camera
-
控制板
- OpenCR :
图示:
概述
- OpenCR是TurtleBot3的主控制器板。
- OpenCR或ROS的开源控制模块是为ROS嵌入式系统开发的,提供了完整的开源硬件和软件。
- Board的所有内容包括Schematics,PCB Gerber,BOM和TurtleBot3的固件源可以根据开源许可证免费分发给用户和ROS 区。
- STM32F7系列是OpenCR板内的主芯片,具有非常强大的ARM Cortex-M7浮点单元。
- OpenCR的开发环境从支持为年轻学生的Arduino IDE和Scratch到传统固件开发环境的专家。
- 该板提供一组数字和模拟输入/输出引脚,可从pne电路连接到另一个或内置IMU传感器。
- 该板的通信接口包括与PC通信的USB和用于其他嵌入式设备的UART,SPI,I2C,CAN。
- 要使用SBC,OpenCR板可以提供最佳解决方案。
- 它支持一些电源输出:12V,5V,3.3V的SBC和传感器。
- 它还在两个外部电源输入中具有热插拔功能:电池和SMPS。
规格
项目 | 规格 |
---|---|
微控制器 | STM32F746NGH6 /具有FPU的32位ARMCortexM7(216MHz,462DMIPS) |
传感器 | 陀螺仪3Axis,加速度计3Axis,磁力计3Axis(MPU9250) |
程序员 | ARM Cortex 10pin JTAG / SWD连接器 |
USB设备固件升级(DFU) | |
串行 | |
扩展引脚 | 32引脚(L 14,R 18)* Arduino Uno Revision 3连接 |
传感器x 4针 | |
扩展连接器x 18针 | |
通信电路 | USB(Micro-B USB连接器/ USB 2.0 /主机/ Peripehral / OTG) |
TTL(JST 3pin / Dynamixel) | |
RS485(JST 4pin / Dynamixel) | |
UART x 2 | |
CAN | |
LED和按钮 | LD2(红/绿):USB通信 |
用户LED x 4:LD3(红色),LD4(绿色),LD5(蓝色) | |
用户按钮x 2 | |
权力 | 外部输入源 |
5 V(USB VBUS),7-24 V(电池或SMPS) | |
默认电池:LI-PO 11.1V 1,800mAh 19.98Wh | |
默认SMPS:12V 5A | |
外部输出源 | |
12V@1A, 5V@4A, 3.3V@800mA | |
电源LED:LD1(红色,3.3 V电源打开) | |
复位按钮x 1(用于板的电源复位) | |
电源开关x 1 | |
尺寸 | 105(W)×75(D)mm |
质量 | 60g |
- 从“shore power”(12V,5A SMPS)切换到“移动电源”(电池)的热插拔:电源板支持不间断电源(UPS)类型的功能。
-
执行器
- Dynamixel X series : http://en.robotis.com/index/product.phpate_code=10121110
四、入门教程-硬件设置
硬件图:
组件
- TurtleBot3有两种不同的型 :Basic和Premium。
- 两种型 之间的巨大差异是电机,SBC(单板计算机)和传感器。
- 以下列表显示了其组件:
每个模型的部件数量 | 基本 | 高级 | |
---|---|---|---|
机壳 | Waffle板 | 8 | 24 |
35mm板支架 | 4 | 12 | |
45mm板支架 | 12 | 10 | |
板支持 | 12 | 12 | |
链轮 | 2 | 2 | |
橡胶轮胎 | 2 | 2 | |
球脚轮 | 1 | 2 | |
钢球 | 1 | 2 | |
螺栓套 | 1 | 1 | |
螺母组 | 1 | 1 | |
铆钉 | 6 | 10 | |
铆钉间隔 | 4 | 4 | |
梦幻L支架 | 2 | ||
发动机 | XL430-W350-T | 2 | |
XM430-W210-T | 2 | ||
Horn for XM430-W210-T | 2 | ||
控制器 | OpenCR | 1 | 1 |
功率 电池 电缆 |
SMPS 12V 5A | 1 | 1 |
AC代码 | 1 | 1 | |
LIPO电池11.1V 1800mAh | 1 | 1 | |
LIPO电池充电器 | 1 | 1 | |
电池转换电缆 | 1 | 1 | |
RaspberryPi电源(5V)电缆 | 1 | ||
焦耳电源(12V)电缆 | 1 | ||
通讯 电缆 |
机器人电缆-X3P 100mm | 1 | |
机器人电缆-X3P 180mm | 1 | 1 | |
机器人电缆-X3P 240mm | 1 | ||
USB2.0到microB电缆 | 2 | 2 | |
SBC | RaspberryPi 3型 B | 1 | |
英特尔oule70x | 1 | ||
传感器 | 激光距离传感器 | 1 | 1 |
英特尔ealsense200 | 1 | ||
记忆 | MicroSD卡8G | 1 | |
工具 | 螺丝刀 | 1 | 1 |
铆接工具 | 1 | 1 | |
Velcro电池 | 1 | 1 | |
USB2LDS | 1 | 1 | |
USB3.0集线器 | 1 |
装配
- 每个TurtleBots在箱子里都没有组装。按照说明组装TurtleBot3。
五、入门教程-PC软件设置
说明:
- 介绍如何在PC上安装相关系统和软件。
- 测试的系统版本是Ubuntu 16.04.1, ROS版本是Kinetic Kame
安装Ubuntu
- 在远程PC(台式机或笔记本电脑)中安装
- 系统版本Ubuntu 16.04.1:
- https://www.ubuntu.com/download/desktop
- https://www.ubuntu.com/download/desktop/install-ubuntu-desktop
安装ROS版本kinetic和相关包:
- 详细安装过程:http://wiki.ros.org/kinetic/Installation/Ubuntu
安装TurtleBot3及依赖包:
- 依赖包:
- turtlebot3
- 如果catkin_make完成没有任何错误,使用TurtleBot3的准备将完成。
络配置
- ROS需要IP地址在turtlebot和远程PC之间进行通信
- 分别在turtlebot和PC,执行如下命令获得对应的IP地址:
- 修改.bashrc
- TURTLEBOT配置如下:
- PC配置如下:
-
ROS_MASTER 运行在远程PC上。
-
让环境生效:
六、入门教程-SBC软件设置
简便安装:
- 在Raspberry Pi 3(TurtleBot3 Basic)通过镜像安装Ubuntu MATE和Turtlebot3
- 利用SDcard读卡器来安装TurtleBot3 Basic映像
- SD卡的容量应大于8 GB,以便安装TurtleBot3 Basic映像
- 磁盘映像文件包含Ubuntu MATE 16.04.1和ROS kinetic kame
- Raspberry Pi 3镜像下载:https://goo.gl/uOvWLh
- 镜像安装方法:
安装前准备
- 镜像系统 官 下载
- 下载Win32DiskImager软件并安装
- 一张Micro SD卡
- 一块树莓派3开发板
- 树莓派3电源
- HDMI线
- 支持HDMI的显示器或电视机
- 一条 线(可选)
- 键盘
- 鼠标
- 电脑,安装Windows系统
系统安装步骤
-
格式Miscro SD卡为FAT32格式
-
启动Win32DiskImager
-
Image File处选择Raspbian映像文件
-
Device处选择盘符为你读卡器的盘符
-
点Write,然后点一下Yes确定操作,开始系统写入
-
写入完成,提示成功
-
Micro SD卡插入树莓派,接通电源启动
树莓派3手工安装:
- 适用在树莓派3上安装(TurtleBot3 Basic)
(1)安装Ubuntu MATE for Raspberry Pi 3
- 下载Raspberry Pi 3版本的Ubuntu MATE 16.04.1。
- 下载地址:https://ubuntu-mate.org/download/
- 下载镜像:https://ubuntu-mate.org/raspberry-pi/
- 安装镜像:参见上文
(2)为Raspberry Pi 3安装TurboBot3依赖的ROS包
- 安装依赖包:
- 安装ROS:
- 或者采用官方指南:http://wiki.ros.org/kinetic/Installation/Ubuntu
- 安装turtlebot依赖:
- 安装turtlebot
- 如果catkin_make完成没有任何错误,使用TurtleBot3的准备将完成。
- USB设置:以下允许将USB端口用于没有root权限的OpenCR板
英特尔oule工安装:
- 适用在英特尔oule装(TurtleBot3 Premium)
(1)安装Ubuntu的英特尔ouleTurtleBot3 Premium型 )
-
下载英特尔ouleUbuntu 16.04版本的映像。
- 镜像地址:https://developer.ubuntu.com/core/get-started/intel-joule#alternative-install:-ubuntu-desktop-16.04-lts
-
制作可启动的USB驱动器来安装Ubuntu:
- https://software.intel.com/en-us/node/705675#ubuntu
- https://software.intel.com/en-us/node/700692
(2)安装ROS和软件包
- 参考树莓派3的安装ROS和软件包方法
七、入门教程-OpenCR软件设置
OpenCR
- OpenCR根据SBC的指令控制Dynamixels。为此,应在板中构建特定的固件。请参阅说明并配置设置。
OpenCR的ArduinoIDE设置
- 按照说明在远程PC上获得OpenCR Arduino开发环境
USB端口设置
- 使OpenCR USB端口能够在没有root权限的情况下上传Arduino IDE程序。
- 执行如下命令:
编译器设置
- 由于OpenCR库是为32位平台构建的,64位PC需要用于Arduino IDE的32位编译器相关内容:
- 执行如下命令:
安装Arduino IDE
-
OpenCR需Arduino IDE 1.16.0及之后的版本
-
从官方的arduino主页下载最新版本,地址:https://www.arduino.cc/en/Main/Software
-
将下载的文件解压缩到所需的文件夹比如用户的根目录下tools,并从终端执行安装文件。如下:
mkdir ~/tools
wget
cd ~/tools/arduino-1.16.0
./install.sh -
增加路径到环境中:
运行Arduino IDE
- 在linux下,新终端执行:
- 图示:
将OpenCR板移植到Arduino IDE
(1)增加Boards Manager
- 运行IDE,点击File → Preferences, 复制如下内容到Additional Boards Manager URLs:
-
大概需要20多分钟完成。
-
如图:
(2)通过Boards Manager安装OpenCR软件包
-
点击Tools → Board → Boards Manager.
-
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!