比肩英伟达Jetson Orin NX-国产机器人大脑RDK-S100评测

比肩英伟达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 接口
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信息

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

Read more

OpenPose Editor实战:AI绘画中的人物姿态精准控制技巧

OpenPose Editor实战:AI绘画中的人物姿态精准控制技巧 【免费下载链接】openpose-editoropenpose-editor - 一个用于编辑和管理Openpose生成的姿势的应用程序,支持多种图像处理功能。 项目地址: https://gitcode.com/gh_mirrors/op/openpose-editor 还在为AI绘画中的人物姿态不自然而烦恼吗?作为深度使用OpenPose Editor的创作者,我发现这款工具彻底改变了我的工作流程。今天分享一些实用的经验技巧,帮助你在AI绘画中实现精准的人物姿态控制。 从零开始的姿态编辑之旅 刚开始接触OpenPose Editor时,我也曾被那些复杂的骨骼点吓到。但经过多次实践,我总结出了一套简单有效的工作流程: 第一步:环境快速搭建 cd extensions git clone https://gitcode.com/gh_mirrors/op/openpose-editor 这个过程只需要几分钟,就能获得一个功能完整的姿态编辑工具。 第二步:界面熟悉与基础设置 OpenPose Edi

An efficient hardware architecture of integer motion estimation based on early termination and data

An efficient hardware architecture of integer motion estimation based on early termination and data

Zhang, Jun, Yu Zhang, and Hao Zhang. “An efficient hardware architecture of integer motion estimation based on early termination and data reuse for versatile video coding.” Expert Systems with Applications 242 (2024): 122706. 一、现存问题分析 1、由于降低搜索复杂度而降低搜索精度 目前已有的一些整数运动估计算法(如三步和四步搜索算法)通过简化搜索模板来降低运动估计的复杂度。然而,减少搜索点的数量和使用更小的搜索窗口会导致搜索算法陷入局部最优而不是全局最优,从而降低运动搜索的准确性。 2、由于增强搜索精度而导致高计算复杂度和资源消耗 另一种类型的整数运动估计算法(例如菱形搜索算法)采用复杂的搜索模板并增加搜索窗口内的搜索点的数量以提高搜索精度。复杂的运动搜索过程和额外的计算数据导致在视频编码期间显著的计算和存储资源消耗,这是以高成本来实现的。

【机器人】复现 StreamVLN 具身导航 | 流式VLN | 连续导航

【机器人】复现 StreamVLN 具身导航 | 流式VLN | 连续导航

StreamVLN 通过在线、多轮对话的方式,输入连续视频,输出动作序列。 通过结合语言指令、视觉观测和空间位姿信息,驱动模型生成导航动作(前进、左转、右转、停止)。 论文地址:StreamVLN: Streaming Vision-and-Language Navigation via SlowFast Context Modeling 代码地址:https://github.com/OpenRobotLab/StreamVLN 本文分享StreamVLN 复现和模型推理的过程~ 下面是示例效果: 1、创建Conda环境 首先创建一个Conda环境,名字为streamvln,python版本为3.9; 然后进入streamvln环境,执行下面命令: conda create -n streamvln python=3.9 conda activate streamvln 2、 安装habitat仿真环境

目标检测数据集——无人机视觉VisDrone数据集

目标检测数据集——无人机视觉VisDrone数据集

随着无人机技术的飞速发展,无人机在航拍、监控、农业、物流等领域的应用日益广泛。与此同时,无人机视角下的视觉任务,如目标检测、目标跟踪和场景理解,也成为了计算机视觉研究的热点。然而,相比传统的地面视角数据集,无人机视角下的图像具有高度变化、小目标密集、复杂背景等独特挑战,这对现有算法提出了更高的要求。 为了应对这些挑战并推动无人机视觉技术的发展,天津大学机器学习与数据挖掘实验室推出了 VisDrone数据集。作为一个大规模、标注精细的无人机视觉数据集,VisDrone 不仅涵盖了丰富的场景和多样化的目标类别,还为研究人员提供了一个极具挑战性的测试平台。无论是小目标检测的精度提升,还是密集场景下的鲁棒性优化,VisDrone 都成为了学术界和工业界不可或缺的资源。该数据集采集自中国14个不同城市,覆盖复杂城市场景、交通枢纽、密集人群等多种环境。 VisDrone官方Github下载渠道可点击访问: https://github.com/VisDrone/VisDrone-Dataset?tab=readme-ov-file 下载的数据集为VisDrone2019-DET-train