Qualcomm机器人RB3驱动Turtlebot 3汉堡型机器人
在单板计算机上配置遥操作
Robotis公司的Turtlebot 3汉堡型机器人是一款基于开源硬件和软件的移动机器人。
Turtlebot 3汉堡型机器人(顶部安装了Qualcomm®机器人RB3开发工具包)
该款机器人的三个主要部分包括:
1. 单板计算机(SBC),例如:Qualcomm机器人RB3开发工具包
Qualcomm机器人RB3开发工具包
2. 一个控制模块,例如OpenCR
3. 舵机,例如 Dynamixel
对于试图驱动Turtlebot的开发人员而言,其内容相当丰富。许多文章均说明了将硬件安装到Turtlebot上,然后使用运行机器人操作系统节点的远程电脑来控制机器人的过程。
本文说明了如何将Qualcomm机器人RB3开发工具包设置为单板计算机,以便与Turtlebot进行通信并对其进行控制。开发人员可能会发现这些信息对人工智能/机器学习应用程序很有用,无论这些应用程序是依靠远程电脑还是单板计算机来控制机器人。
开始
1. 组装机器人。
请按照“ TurtleBot3 31 Burger Assembly ”视频中的说明操作。
2. 设置OpenCR。
通常情况下,OpenCR板配备了经过更新的固件。如要对此进行测试,请开启OpenCR。然后,推动SW1查看Turtlebot是否向前移动,然后推动SW2查看其是否原地旋转180度。如果Turtlebot并不移动,请按照“ OpenCR设置 ”中的说明进行操作。
3. 将Qualcomm机器人RB3连接Turtlebot。
将Qualcomm机器人RB3上的引脚38和引脚40连接到OpenCR上的12伏输出。将Qualcomm 机器人RB3的通用串行总线接口连接到OpenCR的微通用串行总线接口进行串口通信。(请观看这段视频的前五分钟,了解更多关于连接的具体内容。)
一旦将Turtlebot连接到Qualcomm机器人RB3上,就可以在/dev文件夹中看到/dev/ttyACM0。
设置Qualcomm机器人RB3,以便于Turtlebot一起工作
有两种方法可以控制Turtlebot:
1. 您可以使用一台远程乌班图个人电脑和Qualcomm机器人RB3来控制Turtlebot(“个人电脑设置”)。或者..
2. 您可以将乌班图Docker映像拉动至Qualcomm机器人RB3上,以避免使用远程个人电脑。
通联达的下游Linux)。如果您正在使用的Linux版本上还没有安装Docker,您可以阅读本公司的学习资源“ 如何在Qualcomm机器人RB3开发平台上安装Docker ”,并确保您可以在开发工具包上运行Docker映像。
以下步骤在Qualcomm机器人RB3上使用乌班图Docker映像:
1. 在Qualcomm机器人RB3上,从Docker中心拉动拉取乌班图16.04 Docker映像。
$ docker pull ubuntu:16.04
2. 运行乌班图映像,以安装必要的软件包。
$ docker run -it --name ttlb ubuntu:16.04
3. 在ttlb容器中安装机器人操作系统Kinetic Kame。
$ sudo apt-get update $ sudo apt-get upgrade $ wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_kinetic.sh && chmod 755 ./install_ros_kinetic.sh && bash ./install_ros_kinetic.sh
4. 安装TurtleBot 3控件的相关软件包。
$ sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ros-kinetic-rosserial-server ros-kinetic-rosserial-client ros-kinetic-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-gmapping ros-kinetic-navigation ros-kinetic-interactive-markers $ mkdir -p catkin_ws $ cd ~/catkin_ws/src/ $ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git $ git clone -b kinetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git $ cd ~/catkin_ws && catkin_make $ cd ~/catkin_ws/devel $ source setup.bash
5. Docker映像现在已经准备好。打开另一个命令提示符并保存docker映像。
$ docker commit ttlb ttlbros:v1
6. 如要启动具有相同名称的完全就绪Docker映像,请删除旧容器。
$ docker rm ttlb
7. 运行Docker乌班图映像,此时映射的是Turtlebot设备端口。
$ docker run -it --name ttlb --device=/dev/ttyACM0 --network host ttlbros:v1
8. 一旦处于乌班图容器(ttlb)中,则设置环境变量如下所示:
$ export ROS_MASTER_URI=http://localhost:11311
$ export ROS_HOSTNAME=
9. 启动“rescore”。
$ roscore
如要在远程个人电脑上控制Turtlebot,请遵循下面“注意”部分的步骤。
运行Turtlebot
以下为使用远程乌班图个人电脑和Dragonboard 410c/同等单板计算机配合Turtlebot进行Turtlebot设置的高级图片(“个人电脑安装”):
所需资源:1台乌班图台式计算机/手提计算机 1台单板计算机 1台Turtlebot汉堡式机器人
以下为利用Qualcomm机器人RB3上的乌班图Docker映像设置Turtlebot的高级图片:
所需资源: 1个RB3平台。我们在一个docker容器中运行机器人操作系统主机和turtlebot个人电脑 1台Turtlebot汉堡式机器人
通过Qualcomm机器人RB3上的乌班图Docker映像,请注意roscore、turtlebot3_core(机器人robot 节点)和turtlebot3_teleop(遥操作teleop 节点)均运行在同一个乌班图容器中。只要roscore在ttlb容器中运行,则用以下命令启动Turtlebot核心和遥操作节点:
1. 启动Turtlebot核心。 $ roslaunch turtlebot3_bringup turtlebot3_core.launch
2. 启动Turtlebot遥操作teleop节点。 $ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
一旦远程操作teleop节点开始运行,就可以按下控制器或设备上的适当按键, 对Turtlebot进行远程操作。
注意:如要从远程个人电脑控制Turtlebot,请遵循以下说明:
1. 在远程个人电脑上设置如下环境变量,以运行roscore命令: $ export ROS_MASTER_URI= < http> :11311> $ export ROS_HOSTNAME= < IP>
2. 在Qualcomm机器人RB3上设置如下环境变量: $ export ROS_MASTER_URI= < http> :11311> $ export ROS_HOSTNAME= < IP>
确保在Docker容器上启用了适当的权限,以访问运行在容器外的roscore。请参阅Docker文章“使用主机网络组网”。
有关机器人操作系统的更多信息,请参阅QDN博客文章《 部署机器人应用程序 – 机器人操作系统简介》。
Qualcomm 开发者专区是 Qualcomm 联合CSDN 共同打造的面向中国开发者的技术专区。致力于通过提供全球最新资讯和最多元的技术资源及支持,为开发者们打造全面一流的开发环境。本专区将以嵌入式、物联网、游戏开发、Qualcomm® 骁龙™处理器的软件优化等技术为核心,打造全面的开发者技术服务社区,为下一代高性能体验和设计带来更多的想法和灵感。
加入 Qualcomm 开发者专区