高通机器人AI硬件使用上手指导(基于RB5开发套件)
本指导基于高通机器人RB5开发套件,围绕核心环节,提供全流程实操步骤,助力开发者快速完成高通机器人AI硬件的部署与开发调试。
本指导基于高通机器人RB5开发套件,围绕AI开发工作流、开发套件快速上手、嵌入式Linux环境配置、硬件板卡初始化、多媒体与ROS生态开发核心环节,提供全流程实操步骤,助力开发者快速完成高通机器人AI硬件的部署与开发调试。
一、核心AI开发工作流
高通机器人RB5的AI开发遵循模型训练-集成-部署的标准化流程,适配不同角色开发者的工作环节,核心依托高通神经处理SDK for AI实现模型优化与端侧部署,整体流程如下:
- 模型训练:在开发工作站完成离线训练,生成包含静态权重、学习偏差的AI模型,支持主流机器学习框架;
- 模型集成:基于高通神经处理SDK for AI对训练模型进行优化,生成端侧可运行的优化版AI模型;
- 应用部署:将优化后的模型集成到应用流水线,最终在RB5目标硬件上实现AI推理与应用运行。
适配角色:数据科学家(模型训练)、ML推理工程师(模型优化)、应用开发者(应用集成)、DevOps工程师(部署运维)。
二、开发套件开箱与快速起步
2.1 前期准备
- 开箱后核对套件组件,确保RB5核心板、外设、线材等完整;
- 在Thundercomm官网注册账号,下载配套SDK Manager(核心工具,含固件、驱动、开发资源);
- 参考SDK内的
ReadMe文件、高通开发者网络(Qualcomm Developer Network)的快速入门指南和软件参考指南,Thundercomm产品页可查询工具及配件专属文档。
2.2 核心操作步骤
- 软件下载:通过SDK Manager下载RB5所需的Linux内核、根文件系统、工具链等开发资源;
- 编译与烧录:按照SDK Manager内的实操指引,完成固件编译并烧录至RB5开发板;
- 示例程序获取:GitHub上提供高通RB5专属示例应用,可直接拉取用于开发入门,覆盖AI检测、多媒体、ROS等场景。
三、嵌入式设备Linux环境支持
高通机器人RB5平台提供多版本Linux内核支持,适配不同开发需求,核心环境及获取方式如下,均支持板上编译和离线跨平台编译(配套SDK工具链):
| 内核版本 | 构建系统 | 获取渠道 | 根文件系统 |
|---|---|---|---|
| 5.x | Yocto | SDK Manager | Ubuntu系 |
| 4.x | Yocto | SDK Manager | 定制化 |
| 6.x(上游) | Debian/Open Embedded | Linaro | 开源社区版 |
| 通用支持 | - | SDK Manager | APT包管理器(便捷安装依赖) |
四、RB5板卡初始化(基础配置)
板卡初始化核心完成HDMI显示和Wi-Fi网络配置,是后续开发的基础,操作均通过板卡终端执行,默认登录账号:用户名root,密码oelinux123。
4.1 HDMI显示配置(软件启动)
- 笔记本端打开相机应用,将视频源选为HDMI,通过键盘登录RB5开发板;
- 启动Weston桌面服务,依次执行以下命令:
mkdir -p /usr/bin/weston_socket chmod 700 /usr/bin/weston_socket export XDG_RUNTIME_DIR=/usr/bin/weston_socket export LD_LIBRARY_PATH=/usr/lib:/usr/lib/aarch64-linux-gnu/ weston --tty=1 --connector=29 --backend=drm-backend.so - 如需打开终端窗口,通过触控板点击左上角图标即可,等待命令提示符出现即为启动成功。
4.2 Wi-Fi网络配置
- 编辑Wi-Fi配置文件
wpa_supplicant.conf,修改网络信息:vi /data/misc/wifi/wpa_supplicant.conf - 在文件中写入目标Wi-Fi信息(替换<>内内容):
network={ ssid="<你的Wi-Fi名称>" proto=WPA2 key_mgmt=WPA-PSK pairwise=TKIP CCMP group=TKIP CCMP psk="<你的Wi-Fi密码>" } - 保存文件后重启设备,可通过硬件开关断电/通电,或终端执行
reboot命令; - 设备重启后重新登录,再次启动HDMI服务,执行以下命令测试网络连通性:
出现连续回包即为网络配置成功。ping www.qualcomm.com
五、智能多媒体开发(基于Intelligent Multimedia SDK & GStreamer)
高通RB5搭载智能多媒体SDK,深度集成GStreamer框架,支持音视频采集、编解码、AI推理融合,核心实现相机采集、视频编解码、端侧AI目标检测等功能,以下为核心示例应用的实操步骤。
5.1 核心多媒体架构
基于QMMF Server、Camera HAL3、CamX等核心组件,实现音视频采集-编解码-AI处理-显示全链路,支持H264/YUV编码、硬件加速解码、GStreamer插件化开发,兼容ROS2生态数据交互。
5.2 GStreamer示例应用运行
所有示例应用均在终端执行,完成后可关闭终端窗口,核心命令如下:
(1)相机采集示例
# 进入相机示例目录
cd /home/sample-apps-for-Qualcomm-Robotics-RB5-platform/Gstreamer-Applications/gst_camera
# 编译并运行
make
./ispcam_display 0
# 按Ctrl+c停止程序
(2)AI目标检测示例
# 进入AI示例目录
cd /home/sample-apps-for-Qualcomm-Robotics-RB5-platform/Gstreamer-Applications/gst_tflite
# 安装依赖并编译运行
sh install.sh
cd src
make
./tflite_object_detection
# 按Ctrl+c停止程序
六、ROS2机器人生态开发
高通RB5深度兼容ROS2(Foxy版本) 机器人操作系统,支持传感器数据采集、机器人运动控制、多节点通信,适配TurtleBot3、mBot等开源机器人平台,核心包含ROS2安装、基础测试、硬件适配、运动控制四大环节。
6.1 ROS2(Foxy)安装与环境配置
步骤1:安装并配置区域语言
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
步骤2:添加ROS2软件源
# 安装依赖工具
sudo apt install software-properties-common
sudo add-apt-repository universe
# 下载并添加ROS GPG密钥
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
# 添加ROS2源到系统列表
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
步骤3:安装ROS2包
sudo apt update && sudo apt upgrade
# 安装桌面版ROS2及补全工具
sudo apt install ros-foxy-desktop python3-argcomplete
步骤4:配置ROS2环境(永久生效)
# 将环境变量写入bashrc
echo 'source /opt/ros/foxy/setup.bash' >> ~/.bashrc
echo 'export ROS_DOMAIN_ID=30' >> ~/.bashrc
mkdir ~/my_ros_logs
echo 'export ROS_HOME=~/my_ros_logs' >> ~/.bashrc
# 生效环境变量
source ~/.bashrc
6.2 ROS2基础功能测试
(1)节点通信测试(Talker/Listener)
打开两个终端窗口,分别执行以下命令,实现节点间消息发布与接收:
- 终端1(发布者):
source ~/.bashrc ros2 run demo_nodes_cpp talker - 终端2(订阅者):
终端2可看到终端1发布的消息,按source ~/.bashrc ros2 run demo_nodes_py listenerCtrl+c停止程序。
(2)IMU传感器数据采集测试
实现RB5板卡IMU传感器数据的实时读取,打开两个终端窗口:
- 终端1(启动IMU节点):
ros2 run imu-ros2node imu-ros2node - 终端2(查看IMU数据):
晃动/移动开发板,终端2可看到IMU数据实时变化,按ros2 topic echo /imuCtrl+c停止程序。
6.3 开发板终端访问方式
RB5提供3种终端访问方式,适配不同开发场景:
- ADB工具:通过adb platform tools连接板卡与电脑;
- SSH远程:通过网络实现电脑对板卡的远程终端访问;
- 独立PC模式:将板卡作为独立PC,外接键鼠、显示器直接操作。
七、主流开源机器人平台适配
7.1 TurtleBot3(激光雷达版移动机器人)
TurtleBot3是开源ROS移动机器人,适配RB5的激光雷达、电机控制、视觉模块,核心分为软件配置和运动控制两步。
(1)软件配置(分两部分)
第一部分:安装依赖与编译包
# 安装基础依赖
apt install python3-argcomplete python3-colcon-common-extensions libboost-system-dev build-essential
# 创建工作空间并拉取源码
mkdir -p ~/turtlebot3_ws/src && cd ~/turtlebot3_ws/src
git clone -b foxy-devel https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b foxy-devel https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone -b foxy-devel https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone -b foxy-devel https://github.com/ROBOTIS-GIT/lds08_driver.git
# 编译并配置环境变量
colcon build --symlink-install
echo 'export TURTLEBOT3_MODEL=burger' >> ~/.bashrc
echo 'export LDS_MODEL=LDS-02' >> ~/.bashrc
echo 'source ~/turtlebot3_ws/install/setup.bash' >> ~/.bashrc
source ~/.bashrc
第二部分:更新OpenCR板固件
# 创建目录并下载固件
mkdir /home/opencrbin && cd /home/opencrbin
wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/Ros2/latest/opencr_update.tar.bz2
tar xvf ./opencr_update.tar.bz2
# 配置环境变量并更新固件
export OPENCR_PORT=/dev/ttyACM0
export OPENCR_MODEL=burger
dpkg --add-architecture armhf
apt-get update && apt-get install libc6:armhf
cd /home/opencrbin/opencr_update
./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr
固件更新完成后,按住OpenCR板的PUSH SW 1按钮几秒,机器人将前进约30厘米,验证硬件组装正常。
(2)TurtleBot3运动控制
打开两个终端窗口,实现机器人旋转、移动控制:
- 终端1(启动机器人节点):
source ~/.bashrc ros2 launch turtlebot3_bringup robot.launch.py # 等待终端出现“Run!”即为启动成功 - 终端2(发布运动指令):
source ~/.bashrc # 左转 ros2 topic pub --once /cmd_vel geometry_msgs/msg/Twist '{linear: {x:0.0,y:0.0,z:0.0}, angular: {x:0.0,y:0.0,z:0.3}}' # 右转 ros2 topic pub --once /cmd_vel geometry_msgs/msg/Twist '{linear: {x:0.0,y:0.0,z:0.0}, angular: {x:0.0,y:0.0,z:-0.3}}'
7.2 mBot(入门级移动机器人)
mBot是轻量级开源ROS机器人,适配RB5的USB拓展、手柄控制,核心包含上位机配置、固件烧录、硬件组装、驱动安装、手柄控制五大环节。
(1)上位机配置(电脑端)
- 安装Arduino IDE;
- 下载Arduino MegaPi库,通过
Sketch→Include Library→Add .ZIP library导入库文件。
(2)mBot固件烧录
- USB线连接mBot的MegaPi板与电脑;
- Arduino IDE中选择板型:
Tools→Board→Arduino AVR Boards→Arduino Mega or Mega 2560; - 选择串口号:
Tools→Port→[连接设备的串口号]; - 打开固件示例:
File→Examples→MakeBlockDrive→Firmware_for_MegaPi; - 点击上传按钮烧录固件,完成后断开USB线并重启MegaPi板。
(3)RB5与mBot硬件组装
- 用扎带将RB5开发板固定在mBot上;
- USB线连接RB5与MegaPi板;
- USB线连接游戏手柄与RB5板;
- 通过DC电源分配线为MegaPi板和RB5板分别接电池供电。
(4)RB5驱动安装(joydev+ch341)
需在RB5上编译并安装游戏手柄驱动(joydev) 和串口驱动(ch341),以下为通用步骤(以内核4.x为例):
通用前置步骤
# 查看内核版本,记下车号用于后续下载
uname -r
① joydev(手柄)驱动安装
# 下载对应版本内核源码
wget https://cdn.kernel.org/pub/linux/kernel/4.x/linux-<内核版本>.tar.gz
tar xvzf linux-<内核版本>.tar.gz
# 创建驱动目录并拷贝源码
mkdir joydev
cp -r linux-<内核版本>/drivers/input/* joydev/ && cd joydev/
修改Makefile,追加以下内容:
KVERS=$(shell uname -r)
obj-m:=joydev.o
EXTRA_CFLAGS=-g -O0 -Wno-vla -Wframe-larger-than-4496
build:kernel modules
kernel modules: make -C /usr/src/header M=$(CURDIR) modules
clean:
make -C /usr/src/header M=$(CURDIR) clean
继续执行编译与加载:
# 编译并临时加载
make
insmod joydev.ko
# 创建自动加载脚本并执行
vi joydev.sh
脚本内写入以下内容:
#!/bin/bash
KERNEL_VERSION=$(uname -r)
MODINFO=$(modinfo ./joydev/joydev.ko | grep vermagic)
MODULE_VERSION=$(echo $MODINFO | cut -d " " -f2)
if [ $KERNEL_VERSION != $MODULE_VERSION ]
then
echo "Versions incompatible"
echo ".ko file compiled with" $MODULE_VERSION
echo "System kernel is" $KERNEL_VERSION
else
mkdir -p /lib/modules/$(uname -r)/kernel/drivers/input/
cp ./joydev/joydev.ko /lib/modules/$(uname -r)/kernel/drivers/input/
depmod -a
fi
echo "JOYDEV loaded"
执行脚本完成永久加载:
bash joydev.sh
② ch341(串口)驱动安装
步骤与joydev一致,仅替换目录和文件名,核心差异命令:
# 拷贝ch341源码
mkdir ch341
cp -r linux-<内核版本>/drivers/input/* ch341/ && cd ch341/
# 编译后拷贝至串口驱动目录
mkdir -p /lib/modules/$(uname -r)/kernel/drivers/usb/serial/
cp ./ch341/ch341.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/
其余Makefile修改、脚本创建、执行步骤与joydev完全一致,脚本命名为ch341.sh即可。
(5)手柄测试与mBot运动控制
① 手柄功能测试
打开两个终端窗口,验证手柄数据是否正常传输:
- 终端1(启动手柄节点):
ros2 run joy joy_node - 终端2(查看手柄数据):
按压手柄按键/推动摇杆,终端2数据实时变化即为测试成功。ros2 topic echo /joy
② mBot手柄控制
# 安装依赖
pip3 install megapi
source /opt/ros/dashing/setup.bash
# 创建工作空间并拉取控制源码
mkdir -p rb5_ws/src && cd rb5_ws/src
git clone https://github.com/AutonomousVehicleLaboratory/rb5_ros2.git
# 编辑控制脚本(按需调整参数)
edit the file rb5_ros2/rb5_ros2_control/scripts/rb5_mpi_control.py
# 编译并运行
cd ..
colcon build --paths src/rb5_ros2/rb5_ros2_control
source install/setup.bash
ros2 run rb5ros2control rb5_mpi_control.py
操作游戏手柄,即可实现mBot机器人的运动控制。
八、常用开发资源与问题排查
8.1 核心开发资源
- 高通开发者网络:提供快速入门指南、软件参考指南、API文档;
- Thundercomm官网:SDK Manager下载、硬件配件文档、技术支持;
- GitHub:高通RB5示例应用、ROS2适配源码、第三方机器人平台驱动;
- Linaro:上游Linux 6.x内核、开源构建系统资源。
8.2 常见问题排查
- HDMI启动失败:检查环境变量配置是否正确,确认
LD_LIBRARY_PATH路径无拼写错误; - Wi-Fi连接失败:核对
wpa_supplicant.conf内的Wi-Fi信息(无空格、引号正确),确保板卡与路由器在同一网段; - ROS节点启动失败:检查环境变量是否生效(
source ~/.bashrc),确认ROS2版本为Foxy,与源码分支匹配; - 驱动加载失败:确保内核版本与源码版本一致,
uname -r输出与下载的内核源码版本完全匹配; - 机器人无响应:检查硬件接线是否牢固,固件烧录是否成功,驱动是否正常加载(
lsmod查看驱动模块)。
–end–
更多推荐

所有评论(0)