本次内容专题:

  • 硬件实践与前沿技术
  • DK-X5开发板控制
  • LeRobot VLA控制

还没买RDK X5,总结了教程


RDK X5 开发指南:从入门到AI应用

一、认识开发板

硬件配置

RDK X5 是一款为机器人和边缘AI设计的开发板,性能强劲:

  • 处理器:8核 Arm Cortex-A55 @ 1.5GHz
  • 内存:4GB/8GB LPDDR4
  • AI算力:10 TOPS(BPU神经网络加速单元)
  • GPU:32 GFlops
  • 视频编解码:支持4K@60fps H.265/H.264

接口说明

板子上该有的接口基本都有了:

重点关注这几个

  • ①供电口(USB Type-C):务必用5V/3A适配器,电脑USB口带不动
  • ③易连口(USB Type-C):用于刷机和数据传输
  • ⑬TF卡槽(底面):系统盘,最少8GB
  • ⑤摄像头接口:2路MIPI CSI,接摄像头用
  • ⑥网口:千兆以太网,支持POE供电

其他的USB 3.0、HDMI、40PIN GPIO等接口该有的都有。


二、系统安装

准备清单

  • 5V/3A 的 USB Type-C 电源(重要!
  • 8GB以上的TF卡
  • HDMI显示器、键盘鼠标(桌面版需要)
  • balenaEtcher 烧录工具

烧录系统

1. 下载镜像

官方页面下载3.1.0或更新版本:

  • desktop版:有图形界面,适合新手
  • server版:纯命令行,适合远程操作

2. 写入TF卡

打开balenaEtcher,三步搞定:

  1. 选镜像文件(.img)
  2. 选TF卡(别选错盘!)
  3. 点Flash,等它烧录完成

首次启动

  1. 断电状态下插入TF卡(底部卡槽)
  2. 接好HDMI和其他外设
  3. 最后接电源

大约一分钟后系统启动完成。看LED灯:绿灯常亮说明通电了,橙灯闪烁说明系统跑起来了。

注意

  • SD卡、摄像头等接口千万别热插拔
  • 供电不稳会导致系统反复重启,别省电源钱

三、跑个AI模型试试:YOLOv5

系统内置了YOLOv5示例,直接能用。

cd /app/pydev_demo/07_yolov5_sample/
sudo python3 ./test_yolov5.py

跑完后会输出检测结果:

bbox: [593.95, 80.82, 672.22, 147.13], score: 0.857, id: 33, name: kite
bbox: [215.72, 696.54, 273.65, 855.30], score: 0.852, id: 0, name: person
...

同时生成一张标注好的图片output_image.jpg,可以直接看效果。


四、接摄像头采集图像

这个官方的例子教你从MIPI摄像头抓图像,保存成RAW和YUV格式。

接线

记住:必须断电状态下接摄像头!接到板子上的CSI接口。

运行

cd /app/cdev_demo/vio_capture/
sudo make                                    # 先编译
sudo ./capture -b 16 -c 10 -h 1080 -w 1920  # 采集10张1920x1080的图

跑完后目录里会出现raw_*.rawyuv_*.yuv文件。


五、ROS 2实战:实时目标检测

最后来点进阶的例子——用ROS 2跑YOLOv8,实时检测摄像头画面,还能在浏览器里看结果

启动步骤

# 加载ROS环境
source /opt/tros/humble/setup.bash

# 指定用MIPI摄像头
export CAM_TYPE=mipi

# 启动检测节点
ros2 launch dnn_node_example dnn_node_example.launch.py \
    dnn_example_config_file:=config/yolov8workconfig.json \
    dnn_example_image_width:=640 \
    dnn_example_image_height:=640

查看结果

用同一局域网的电脑,浏览器打开:

http://开发板IP:8000/TogetheROS/

就能实时看到摄像头画面和检测框了。开发板IP用ifconfigip addr命令查看。



RDK Studio 使用指南:让开发更简单

为什么要用 RDK Studio?

用其它AI开发板,可能遇到过这些烦心事:

  • 镜像文件一大堆,占空间,用的时候找不到
  • 官方例程散落各处
  • 第一次开机要准备显示器、键盘、鼠标

RDK Studio就是来解决这些问题的——一个软件搞定烧录、管理、示例运行,零基础也能轻松上手。

核心功能:

  • 统一管理所有RDK板子(X3/X5/Ultra)
  • 一键烧录和升级系统
  • 内置示例程序,点一下就能跑
  • 直接启动VSCode、Jupyter等开发工具

安装 RDK Studio

下载

地瓜开发者社区,右上角"软件"→"RDK Studio",点"下载RDK Studio"。

目前只有Windows版,Mac和Linux版预计2025年Q1推出。

下载时可能遇到浏览器报警,选"保留"就行。

安装

双击exe自动安装,默认装在C:\Users\{你的用户名}\AppData\Local\rdk_studio

不想装C盘就直接把整个文件夹剪切到别处,软件不改注册表。


三种使用场景

场景1:给新板子烧系统

  1. 进入闪联模式(这步很关键):

    • 插好SD卡
    • Type-C线连电脑(用板子左边的口)
    • 按住开关键不放,然后接电源
    • 继续按住3-5秒,松手
    • 电脑会识别出一个U盘
  2. 烧录

    • 打开RDK Studio,点"烧录"
    • 选设备型号(如X5)
    • 下一步,选镜像版本(建议最新版)
    • 下一步,选目标盘(一般是/dev/sdb)
    • 点"安装",等着就行

如果没识别到设备,就点刷新;还不行就重新进闪联模式。

场景2:添加已有板子

系统烧好后重启,在"设备管理"添加设备。

三种连接方式任选:

  • 闪联连接:适合刚烧完系统的板子
  • 网线连接:有线网络直连
  • IP连接:知道板子IP地址的情况

推荐流程(闪联方式):

  1. 选网络设备(根据个人的连接方式选)
  2. 选登录用户(普通用户/Root看需求)
  3. 连WiFi(可以跳过)
  4. 给设备起个名字

完成后设备就出现在管理列表里了。

场景3:跑示例程序

左边栏点"示例程序",选择:

  • 要在哪块板子上运行(下拉框选设备名)
  • 想试哪个demo

点"下载示例"或"运行",立刻就能看效果。


其他可能用到的功能

添加应用:设备管理界面点"添加应用",能看到板子支持的所有工具(VSCode、Jupyter等),按需下载。


LeRobot 机器人配置指南:So101臂安装记录

准备工作

硬件

  • 5V/5A电源(别用低功率的)
  • 烧录好系统的RDK X5(参考官方快速开始
  • LeRobot So101双臂套件

连WiFi

nmcli dev wifi                              # 看有哪些网络
sudo nmcli dev wifi connect 网络名 password 密码

安装 LeRobot 环境

# 装micromamba(ARM64版)
curl -Ls https://micro.mamba.pm/api/micromamba/linux-aarch64/latest | tar -xvj bin/micromamba
./bin/micromamba shell init -s bash --root-prefix ./micromamba
echo "alias mamba=micromamba" >> ~/.bashrc
source ~/.bashrc

# 创建Python环境
mamba create -y -n lerobot python=3.10
mamba activate lerobot
mamba install ffmpeg -c conda-forge

# 下载LeRobot
git clone https://github.com/huggingface/lerobot
cd lerobot
git checkout user/michel-aractingi/2025-06-02-docs-for-hil-serl

# 配置清华源(国内快)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 安装依赖
pip install -e ".[feetech]"

配置机械臂

1. 找端口

# 给权限
sudo chmod 666 /dev/ttyACM0
sudo chmod 666 /dev/ttyACM1

# 运行识别脚本
python lerobot/scripts/find_motors_bus_port.py

程序会提示你拔USB线,按提示操作:

  • 先记录所有端口
  • 拔掉主臂USB,看哪个端口消失了(比如/dev/ttyACM1
  • 拔掉从臂USB,看哪个端口消失了(比如/dev/ttyACM0

2. 改配置文件

编辑lerobot/common/robot_devices/robots/configs.py,找到So101RobotConfig类,把端口改成你刚识别出来的:

leader_arms: dict[str, MotorsBusConfig] = field(
    default_factory=lambda: {
        "main": FeetechMotorsBusConfig(
            port="/dev/ttyACM1",  # 改成主臂端口
            ...
        ),
    }
)
follower_arms: dict[str, MotorsBusConfig] = field(
    default_factory=lambda: {
        "main": FeetechMotorsBusConfig(
            port="/dev/ttyACM0",  # 改成从臂端口
            ...
        ),
    }
)

注意:买的预装版不用改电机ID。

3. 校准对齐

运行这条命令,会依次提示你摆姿势:

python lerobot/scripts/control_robot.py \
  --robot.type=so101 \
  --robot.cameras='{}' \
  --control.type=calibrate \
  --control.arms='["main_follower"]'

程序会提示你把机械臂摆到特定位置,摆好后按回车确认。从臂和主臂会依次校准,跟着提示走就行。


测试遥操作

校准完成后,运行这个试试能不能遥操成功:

python lerobot/scripts/control_robot.py \
  --robot.type=so101 \
  --robot.cameras='{}' \
  --control.type=teleoperate

如果主臂动,从臂跟着动,就说明配置成功了!

  • 端口识别那步别跳,端口错了后面全白干
  • 校准时要按提示精确摆放,影响后续控制精度
  • 有问题先检查USB线连接和权限设置
Logo

更多推荐