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= $ export ROS_IP= $ export TURTLEBOT3_MODEL=burger

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 解决方案

 

高通软件中心

通过集中式门户站无缝管理您的高通®软件和工具

下载软件中心