前言
TurtleBot3是一个小型、低成本、可编程的基于ROS的移动机器人,其目的是用于教育、科研、爱好者作品和产品原型。TurtleBot3的目标是在不牺牲功能和品质的前提下大幅缩小平台的尺寸且降低价格,同时将机器人组件根据用户的需求更改或扩展。根据用户如何选择部件,如机械部件、计算机和传感器,TurtleBot3可以通过各种方法进行定制。此外,TurtleBot3采用了比现有的PC更经济、更小巧,并且适合嵌入式系统的SBC(单板计算机),还应用了距离传感器和3D打印等最新技术。
TurleBot3的硬件
TurtleBot3有TurtleBot3 Burger、Waffle和Waffle Pi三种官方型号。目前waffle机器人目前由于intel Joule主控板停产,已经停产。TurtleBot3的基本组件有:用于驱动的舵机、用于运行ROS的SBC、用于SLAM和导航(Navigation)的传感器、可变形的结构件、用作中层控制器的嵌入式控制器OpenCR、兼容轮胎和履带的链轮,最后还有11.1V的锂聚合物电池。
Waffle_pi型号的特点是:其形状更易于装载物体、采用扭矩更大的舵机、采用Raspberry Pi作为SBC、使用360度距离传感器LDS(Laser Distance Sensor),还有用于识别的树莓派摄像机RaspberryPi Camera,大大提高了性价比。
TurtleBot3的硬件设计文件像开源软件一样,都向公众开放。如果需要使用TurtleBot3的控制器OpenCR或需要TurtleBot3各型号的硬件文件,请点击下载链接地址。
TurtleBot3软件
TurtleBot3的软件由OpenCR控制板的固件(FW)和4个ROS功能包组成。作为TurtleBot3的核心,OpenCR的固件还被称为turtlebot3_core。固件将OpenCR作为中间控制器,读取TurtleBot3的驱动舵机Dynamixel的编码器值来估算机器人的位置,或者根据上位软件的命令来控制速度。另外,固件还从安装在OpenCR上的3轴加速度和3轴陀螺仪传感器获得加速度和角加速度,以此估计机器人的方向,此外还测量电池电压并将其以话题传输。
TurtleBot3的ROS功能包包括turtlebot3、turtlebot3_msgs、turtlebot3_simulations和turtlebot3_applications。其中,turtlebot3功能包包括TurtleBot3的机器人模型、SLAM和导航功能包、遥控功能包以及与行驶相关的bringup功能包。另外,TurtleBot3的消息文件的集合turtlebot3_msgs、仿真功能包的集合turtlebot3_simulations以及应用程序的集合turtlebot3_applications构成了TurtleBot3的ROS功能包。
TurtleBot3的软件都是开源的。在TurtleBot3中用作控制器的OpenCR的引导加载程序、用于与Arduino IDE兼容的固件、用于控制TurtleBot3的固件,等TurtleBot3的控制器的固件均已公开。此外,ROS功能包(turtlebot3、turtlebot3_msgs、turtlebot3_simulations 和turtlebot3_applications)也都以开源形式提供。如果大家有需要相关的ROS包,可以点击以下链接进行下载。
ROS学习资料
1.ROS命令