当前机器人开发平台主流方案包括英伟达 Jetson Orin 及高通 RB5。国内是否有同等出色的平台?地瓜机器人 RDK-S100 提供了另一种选择。
地瓜机器人源自以自动驾驶 SoC 闻名业界的地平线机器人,目前专注于机器人相关领域的研发。近年来,公司已陆续推出 X3、X5 等芯片组平台,并实现大规模量产。而此次介绍的 S100 芯片组,则是其最新一代产品,对应地平线 J6 平台。与英伟达 Orin Nano 模组及高通 RB5 模组类似,S100 芯片组同样采用 SIP 模组形式供货,集成有 S100 主控芯片、DDR 内存及 PMIC 等关键部件。而 RDK-S100,正是基于该 SIP 模组打造的官方评估板。
本文将从硬件、软件两个方面,大致介绍一下 RDK-S100。
硬件介绍
开发板的外包装,正面是开发板的名称,背面的文字说明了开发板硬件的配置。


包装内包含开发板一个 (SIP 模组和散热器已经安装上去),电源一个。

开发的正反面。这里只能拆下盖子,散热器是用硅脂粘在上面的,无法拆卸。


主要硬件配置如下:
| 配置项 | 规格 |
|---|---|
| 处理器 | 地瓜机器人 S100,搭载六核 Cortex-A78AE,4xCortex-R52,Mali-G78AE GPU,以及高达 80/128TOPS 算力的 BPU |
| 内存 | 12GB,规格为 96bit LPDDR5,6400Mbps |
| 存储 | 64GB EMMC,EMMC 芯片厂商为三星,规格为 5.1 (HS400) |
| 视频输出 | 一个 HDMI 接口,最高支持 2560x1440@60Hz |
| 摄像头接口 | 3 组 4lane MIPI CSI-2 扩展口 |
| USB 接口 | 4 x USB 3.0 Type-A 1 x USB 2.0 Type-C(镜像烧录、MCU/Main Domain 串口调试) 1 x JTAG 调试接口(Main & MCU Domain) 1 x 40-Pin GPIO(SPI、I2C、I2S、PWM、UART 等) 1 x MCU 接口扩展(供 MCU Domain 使用) |
| 无线模块 | AP6275S,使用 PCIE2.0 接口,支持 WIFI6 5G/2.5G,BT4.2 |
| 网络接口 | 2 x RJ45(1000M 以太网) M.2 Key E(接入 WiFi & BT 模组) |
| 供电 | 电源口支持 12-20V DC 供电 |
其接口分布图如下:


目前售价,12G 内存 +64G EMMC 规格核心板 + 底板 2799 元。
S100 是一款高度集成的 SoC,定位堪称'全能型选手'。它不仅搭载了 6 核 Cortex-A78AE 高性能 CPU 与顶级的 Mali-G78AE GPU,还集成了算力强大的 BPU(AI 处理单元)。更值得一提的是,S100 内置了四核 Cortex-R52 实时处理器。作为 Cortex-R 系列中最先进的处理器之一,R52 具备出色的实时响应能力和高阶安全机制。这意味着在机器人应用中,无需再外挂 MCU,即可实现高实时性控制任务。
RDK-S100 作为官方开发板,充分扩展了 S100 的各类接口,便于开发者全面评估 S100 的各项功能。即便将其直接用作 AI 盒子使用,该平台所提供的算力也显著高于同价位竞品,堪称高性价比的算力代表。
操作系统
目前地瓜机器人为 RDK-S100 提供了 ubuntu 系统,此系统源码,需要签订 NDA 之后才能开放,个人用户只能下载到镜像,下载地址为
https://archive.d-robotics.cc/downloads/os_images/rdk_s100/
解压之后得到一个名为 product.zip 的压缩包,这里面包含了分区镜像。需要将其解压。
下载镜像之后还需要下载驱动和烧录工具。
驱动下载地址为
https://archive.d-robotics.cc/downloads/software_tools/winusb_drivers/
下载之后,解压 sunrise5_winusb.zip,然后管理员身份执行 sunrise5_winusb 下面的 install_driver.bat 脚本即可。在安装驱动的情况下,将开发板此处的按钮,拨到上方,开发板即进入烧录模式。

此时插上 USB 线,设备管理器可以看到一个新设备。说明驱动安装完成。

烧录工具下载地址为
https://archive.d-robotics.cc/downloads/software_tools/download_tools/
下载之后解压,打开 D-navigation-win32-x64 下面的 D-navigation.exe 即可。
按下图配置,配置好之后点击开始升级。

烧录成功会有如下提示。

烧录之后,开发板会启动 ubuntu 系统。板上的 usb 口设计非常巧妙,它用一个 usb hub 同时接了两个 usb 转串口的芯片,还有 S100 的 usb device 接口,因此找根普通的 usb 线连接 pc 和开发板,即可看到 MCU 和 CPU 端开机时的 log。波特率是 921600。
从启动流程上看,它使用 uboot spl 作为第一级 bootloader,然后带了 OPTEE 功能,其余的打印信息被隐藏了。

系统起来之后可以用 free 命令查看内存信息,用 cat /proc/cpuinfo 查看 cpu 信息。
free
cat /proc/cpuinfo


系统的 GPU API 为 openCL,可以执行如下命令查看 GPU 信息。
apt-get install clinfo
clinfo

MCU 的打印信息可以在开发板的 MCU 串口查看。

AI 功能测试
RDK-S100 的 AI 功能是一大特点,这里测试一下其 AI 功能。机器人常用的就是视觉识别功能,其系统里面带了摄像头图像识别的 demo,如果使用的是 USB 摄像头,则可以运行位于/app/pydev_demo/09_usb_camera_sample/ 目录下的 demo。
找一个支持 UVC 协议的 USB 摄像头,这种摄像头出来的是原始格式的数据,非编码后的数据,在将 USB 摄像头插到开发板的 USB 接口后,通过执行如下命令,可以查看是否正确识别。
ls /dev/video*

然后运行
cd /app/pydev_demo/09_usb_camera_sample/
python3 usb_camera_yolov5x.py
即可看到如下图所示的效果,这里可以对多个目标进行识别,框出其范围,并且有标明其置信度。

运行此 demo 时,通过如下命令,可以看到 bpu 的占用情况。
sudo hrut_somstatus

温度大概在 45 摄氏度左右,这个温度跟空载时基本一样。

说明这个 bpu 应对这种场景是绰绰有余的,甚至是 6 路摄像头同时执行这种识别,性能也是够的。
下面简要说明下这个 demo 的执行过程。首先
通过 hbm_runtime 加载指定的 .hbm 模型文件,提取模型名称、输入输出形状、量化信息等。

自动扫描 /dev/video* 下的设备,打开第一个可用的 USB 摄像头。

将 BGR 图像 resize 至模型输入分辨率(letterbox 模式或普通缩放),并转换为 NV12 格式。

通过 run() 方法提交输入张量,在 BPU 上完成模型前向计算。

包括量化输出解码、候选框筛选(按 score 阈值过滤)、NMS 去重,以及坐标还原回原始图像大小。

最后将结果可视化。这个可视化结果用的是 cv2 里面的方法。

最终就是上面看到的结果了。
因此,在 S100 上面做推理,其流程跟市面上其他方案类似,就是先做模型转换,从开源的模型或者自行训练的模型转换,得到 hbm 模型文件,然后将 hbm 模型加载到 bpu,将图像发到 bpu,bpu 完成推理后将结果返回 cpu。然后根据需要执行绘制等操作。
结语
本文详细介绍了 RDK-S100 的硬件构成,简要说明了 Ubuntu 系统在平台上的部署与基本操作,并展示了基于 Ubuntu 环境的 AI 功能测试。若希望从软硬件两方面对地瓜机器人 S100 平台进行初步评估,RDK-S100 无疑是一个理想的选择——该开发板已引出大部分常用接口,且凭借其出色的算力表现,定价颇具竞争力。目前,这款开发板可通过地瓜机器人官方渠道购买。
就 S100 本身而言,其强大的 AI 性能在当前国产机器人及边缘 AI 领域同价位产品中几乎难逢对手,所采用的 SIP 模块也极大简化了硬件设计流程。不过,该平台目前仍存在一定局限:其 SDK 仅面向企业客户授权,且需签署 NDA 协议;而作为其主要竞争对手的英伟达,则开放了 Jetson 系列的全套源码。这一差异可能导致部分个人开发者更倾向于选择英伟达平台。


