比肩英伟达Jetson Orin NX-国产机器人大脑RDK-S100评测
提起机器人开发平台,目前行业内较为流行的当属英伟达的Jetson Orin 和高通的RB5。凭借英伟达成熟的GPU技术,以及高通在手机SoC领域积累的高性能优势,二者能够较为顺畅地将既有技术栈迁移至机器人平台。然而,这些企业均来自国外。那么,国内是否也有同样出色的机器人平台呢?答案是肯定的——这正是本文将要为大家介绍的地瓜机器人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扩展口 |
4 x USB 3.0 Type-A 接口 |
AP6275S,使用PCIE2.0接口,支持WIFI6 5G/2.5G,BT4.2 |
2 x RJ45 接口(1000M 以太网) |
电源口支持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信息


系统的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系列的全套源码。这一差异可能导致部分个人开发者更倾向于选择英伟达平台