跳到主要内容
高通机器人 RB5 开发套件上手与 AI 部署指南 | 极客日志
Shell / Bash AI 算法
高通机器人 RB5 开发套件上手与 AI 部署指南 高通机器人 RB5 开发套件提供 AI 工作流、嵌入式 Linux 环境配置及 ROS2 生态支持。通过 SDK 完成模型训练集成与端侧部署,涵盖 HDMI 显示、Wi-Fi 网络初始化、智能多媒体 GStreamer 应用及 TurtleBot3/mBot 机器人适配。教程包含终端命令操作、驱动安装及常见问题排查,帮助开发者快速搭建开发环境并实现 AI 推理与运动控制。
高通机器人 RB5 开发套件上手与 AI 部署指南
一、核心 AI 开发工作流
高通机器人 RB5 的 AI 开发遵循模型训练 - 集成 - 部署 的标准化流程,适配不同角色开发者的工作环节,核心依托高通神经处理 SDK for AI 实现模型优化与端侧部署,整体流程如下:
模型训练 :在开发工作站完成离线训练,生成包含静态权重、学习偏差的 AI 模型,支持主流机器学习框架;
模型集成 :基于高通神经处理 SDK for AI 对训练模型进行优化,生成端侧可运行的优化版 AI 模型;
应用部署 :将优化后的模型集成到应用流水线,最终在 RB5 目标硬件上实现 AI 推理与应用运行。
适配角色 :数据科学家(模型训练)、ML 推理工程师(模型优化)、应用开发者(应用集成)、DevOps 工程师(部署运维)。
二、开发套件开箱与快速起步
2.1 前期准备
开箱后核对套件组件,确保 RB5 核心板、外设、线材等完整;
注册账号,下载配套SDK Manager (核心工具,含固件、驱动、开发资源);
参考 SDK 内的 ReadMe 文件、官方开发者网络的快速入门指南 和软件参考指南 ,查询工具及配件专属文档。
2.2 核心操作步骤
软件下载 :通过 SDK Manager 下载 RB5 所需的 Linux 内核、根文件系统、工具链等开发资源;
编译与烧录 :按照 SDK Manager 内的实操指引,完成固件编译并烧录至 RB5 开发板;
示例程序获取 :拉取高通 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 开发板;
如需打开终端窗口,通过触控板点击左上角图标即可,等待命令提示符出现即为启动成功。
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 网络配置
保存文件后重启设备,可通过硬件开关断电/通电,或终端执行 reboot 命令;
设备重启后重新登录,再次启动 HDMI 服务,执行以下命令测试网络连通性:
在文件中写入目标 Wi-Fi 信息(替换<>内内容):
network={ ssid="<你的 Wi-Fi 名称>" proto=WPA2 key_mgmt=WPA-PSK pairwise=TKIP CCMP group=TKIP CCMP psk="<你的 Wi-Fi 密码>" }
编辑 Wi-Fi 配置文件 wpa_supplicant.conf,修改网络信息:
vi /data/misc/wifi/wpa_supplicant.conf
五、智能多媒体开发(基于 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
(2)AI 目标检测示例
cd /home/sample-apps-for-Qualcomm-Robotics-RB5-platform/Gstreamer-Applications/gst_tflite
sh install.sh
cd src
make ./tflite_object_detection
六、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
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
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
sudo apt install ros-foxy-desktop python3-argcomplete
步骤 4:配置 ROS2 环境(永久生效)
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) 打开两个终端窗口 ,分别执行以下命令,实现节点间消息发布与接收:
source ~/.bashrc
ros2 run demo_nodes_py listener
终端 2 可看到终端 1 发布的消息,按 Ctrl+c 停止程序。
source ~/.bashrc
ros2 run demo_nodes_cpp talker
(2)IMU 传感器数据采集测试 实现 RB5 板卡 IMU 传感器数据的实时读取,打开两个终端窗口 :
晃动/移动开发板,终端 2 可看到 IMU 数据实时变化,按 Ctrl+c 停止程序。
ros2 run imu-ros2node imu-ros2node
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 运动控制 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}}'
source ~/.bashrc
ros2 launch turtlebot3_bringup robot.launch.py
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 为例):
通用前置步骤
① 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/
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"
② ch341(串口)驱动安装 步骤与 joydev 一致,仅替换目录和文件名,核心差异命令:
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 运动控制
① 手柄功能测试 按压手柄按键/推动摇杆,终端 2 数据实时变化即为测试成功。
② 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 文档;
厂商官网 :SDK Manager 下载、硬件配件文档、技术支持;
代码托管平台 :高通 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 查看驱动模块)。
相关免费在线工具 加密/解密文本 使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
RSA密钥对生成器 生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
Mermaid 预览与可视化编辑 基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
随机西班牙地址生成器 随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
Gemini 图片去水印 基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online
Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online