基于地瓜RDK-X5的2D视觉识别手势跟随开发
引言
- 背景介绍:最近地瓜机器人推出的RDK-X5开发板,板子的性能和算法都很能打,购入后初期实验了下,算法优化的效果很棒,感觉地瓜想做生态,想走wintel模式。所以自己就很感兴趣,正好我们公司手头有机械臂和灵巧手的资源,于是一个充满挑战和创意的创客项目就这样诞生了~
随着智能制造和自动化技术的不断进步,机器人灵巧手在工业自动化、医疗辅助、服务机器人等多个领域的应用需求日益增长。这些应用不仅要求机器人能够执行精确的操作任务,还要求它们能够理解和响应人类的手势,以实现更加自然和高效的交互。
结合当下比较火热的GPT和机器人,自己想做一个手势识别+智能跟随的项目。想象一下,你的机器人不仅能够理解你的指令,还能读懂你的手势,这是不是超级酷,哈哈
项目目标:让RDK-X5成为五指灵巧手的大脑,让它能够识别并跟随人的动态手势作动作。利用RDK-X5的强大计算能力和丰富的接口,结合2D双目视觉方案,打造一个能够看、能够理解、能够行动的智能跟随的五指灵巧手。本项目的核心目标是利用RDK-X5开发板的高性能计算能力和丰富的接口,结合2D双目视觉方案,实现对五指灵巧手的精确控制。自己也将借助官方提供的技术支持和论坛的生态资源,开发一套完整的控制系统,使RDK-X5成为手势跟随项目中的核心控制器板。这一系统将集成视觉识别与深度检测功能,并通过CAN总线与灵巧手进行通信,实现对手势的实时识别和响应。
项目使用的硬件平台:
机械臂:大象机器人mycobot630【刚到货,待列装熟悉控制】
具体参数:
| 参数 | 值 |
|---|---|
| 自由度 | 6 |
| 负载能力 | 2000g |
| 重量 | 8800g |
| 工作半径 | 600mm |
| 定位精度 | ±0.5mm |
| 工作温度范围 | -5°C ~ 45°C |
| 工作寿命 | 2000h |
| 电源输入 | DC 48V |
| 关节1旋转范围 | -180° ~ +180° |
| 关节2旋转范围 | -270° ~ +90° |
| 关节3旋转范围 | -150° ~ +150° |
| 关节4旋转范围 | -260° ~ +80° |
| 关节5旋转范围 | -168° ~ +168° |
| 关节6旋转范围 | -174° ~ +174° |
| 关节最大速度 | 115°/s |
大象机械臂最近刚到货:


五指灵巧书:因时机器人 RH56DFTP-0R四代灵巧手【抓取+手势跟随,未到货】
| 参数 | 数值 |
|---|---|
| 关节总数 | 12个 |
| 自由度 | 6个 |
| 力传感器数量 | 6个 |
| 力传感器分辨率 | 0.1N |
| 触觉传感器数量 | 12个 |
| 指尖重复定位精度 | 0.2mm |
| 四指握力 | 30N |
| 拇指握力 | 30N |
| 工作电压 | 24V |
| 静态电流 | 0.2A @24V |
| 空载运动平均电流 | 1.2A @24V |
| 最大握力抓取 | 4.5A @24V |
| 通讯接口 | Modbus TCP、RS485、CAN2.0 |
灵巧手未到货,后续更新
视觉Ai开发套件:Jetson Nano Orin 8G-40Tflops【算法验证】
| 参数 | NVIDIA Jetson Nano 8GB | 地平线RDK X5 |
|---|---|---|
| AI性能 | 40 TOPS | 10 TOPS |
| GPU | 搭载32个Tensor Core的1024核NVIDIA Ampere架构GPU | - |
| GPU频率 | 625MHz (Max) | - |
| CPU | 6核 Arm Cortex-A78AE v8.2 | 8核 Cortex A55 |
| CPU频率 | 1.5GHz (Max) | - |
| 内存 | 8GB 128位 LPDDR5, 68GB/s | 8GB |
| 存储空间 | 128GB NVMe 固态硬盘 | 1G-bit NAND, 带TF卡槽支持UHS-I模式 |
| 功率 | 7W ~ 15W | - |
| USB接口 | 3x USB 3.2 2.0 (10 Gbps) 3x USB 2.0 | 4x USB 3.0, 1x USB 2.0 Type-C, 1x USB 2.0 UART |
| 显示接口 | 1x 8K30 多模DP 1.4a, eDP 1.4a/HDMI 2.1 | 1x MIPI DSI, 1x HDMI Type-A (支持1080P/60fps) |
| 摄像头接口 | 可支持4个摄像头 8个通道MIPI CSI-2 | 2x 4-lane MIPI CSI(支持MIPI V2.1协议) |
| 网络 | 1x GbE | 1x RJ45, 支持1000M以太网和PoE, 支持Wi-Fi 6和蓝牙5.4 |
| 其他接口 | 40-Pin 排座 (UART, SPI, I2S, I2C, GPIO), 12-Pin按键, 4-Pin散热风扇 | 40 PIN排座,支持GPIOs, SPI, I2C, I2S, PWM, UART |
| 尺寸 | 100 x 79 x 21 mm | 85 x 56 x 20 mm |

深度相机:图漾科技FS820-E1
| 参数 | 值 |
|---|---|
| 型号 | FS820-E1 |
| 工作距离 | 0.3m - 1.4m |
| 视场角 (水平/垂直) | 66°/44° |
| 深度精度 (Z) | 0.14mm@400mm;1.53mm@700mm |
| 平面精度 (XY) | 4.88mm@700mm |
| 深度分辨率 | 1280×800 |
| RGB 分辨率 | 1920×1080 |
| 电源接口 | DC 12V/24V |
| 触发信号 | HR10A-7P-6S |
| 数据接口 | Gigabit Ethernet |
| 功耗 | 2.8W ~ 3.9W |
| 温度范围 | 存储:-10°C55°C;操作:0°C45°C |
| 防护等级 | IP41 |
| 尺寸 | 95mm×45mm×43mm |
| 重量 | 228g |

当期使用本套方案作机械臂自动抓取与避障控制的验证工作,使用方案如下【参考大象官方技方案】:
特殊说明:
因为组内项目刚起步,硬件资源正在陆续到货,后续回持续更新
伴随平台搭建完毕后,会对RDK-X5平台上实现项目目标做验证

后续项目的具体实施步骤如下:
-
稳定性与识别效果论证(Step1):
- 首先论证YOLO-V5识别方案在实际场景中的稳定性和识别效果。这包括在一般光照条件、背景干扰下的识别准确率和响应时间。
- 具体RDK-X5入手评测,参见:https://developer.d-robotics.cc/forumDetail/256524798723994762
- 利用教程,在RDK-X5上基于YOLOV3实现的手势识别效果,如下图,X5的处理速度约每秒30FPS
- 参考教程:手势识别
-
特别说明:因为使用的desktop版本的,如果跑需要 HDMI 预览画面的示例,需要执行
sudo systemctl stop lightdm把图形界面关掉,否则 HDMI 不会显示预期的图像。 -
例如本示例中,需要将摄像头的画面通过 HDMI 直出,而不是在 xfce 桌面显示。这个示例本质上就是将 nv12 数据走 BT1120 从 HDMI 硬件直出。
-
人体手势识别与判定(Step2):
- 利用RDK Studio平台提供的视觉识别算法,会尝试使用Python脚本方案来整合YOLO的识别来识别人体手势,并给出判定结果。
- 具体实施步骤,建议参考官方说明文档:基于Python的手势识别
- 这里使用USB作手势识别,附上操作说明:
# 从tros.b的安装路径中拷贝出运行示例需要的配置文件。
cp -r /opt/tros/${TROS_DISTRO}/lib/mono2d_body_detection/config/ .
cp -r /opt/tros/${TROS_DISTRO}/lib/hand_lmk_detection/config/ .
cp -r /opt/tros/${TROS_DISTRO}/lib/hand_gesture_detection/config/ .
# 配置USB摄像头
export CAM_TYPE=usb
# 启动launch文件
ros2 launch hand_gesture_detection hand_gesture_detection.launch.py

- 输出log显示,程序运行成功,推理时算法输入和输出帧率为30fps,每秒钟刷新一次统计帧率。
- 输出log显示,订阅到的算法msg中有一个hand(包含人手框和人手关键点检测结果),手势识别算法输出的手势分类结果是“Palm”手势(分类结果为5)。
在PC端的浏览器输入http://192.168.128.10:8000 即可查看图像和算法渲染效果(IP为RDK的IP地址):
在运行终端输出如下信息:



- 之后与五指灵巧手的动作指令控制配合,这将涉及到算法的优化和脚本开发工作,本部分程序完成后,我会开源到GitHub仓库。
- 该硬件完成平台搭建后,持续更新本帖
- 控制板中枢实验(Step3):
- 最后,将尝试使用RDK-X5作为机器人和灵巧手的控制板中枢,结合深度感知算法,实现机器人运动控制、物体识别以及灵巧手的抓取动作。这一步骤将验证RDK-X5在复杂任务中的控制能力和稳定性。
项目的具体目标包括:
-
基于视觉的分类与识别定位:
- 利用RDK-X5实现基于2D视觉的物体分类和识别定位。这将涉及到图像处理、模式识别和机器学习等多个领域的技术。
-
手势识别与动作跟随:
- 结合灵巧手进行手势识别,使灵巧手能够实现对人手势动作的精确跟随。这不仅要求算法的高准确率,还要求系统的低延迟和高响应速度。
通过本项目的实施,期望能够验证RDK-X5在机器人灵巧手领域的应用潜力。
- 项目目标:视觉识别与手势跟随”项目的具体目标和预期成果。
技术方案说明记录
后面会持续更新本帖,本项目会记录自己本项目的开发过程,会以系列教程的方式,记录在本博客页面
-
视觉识别技术
- YOLO-V5识别方案:详细介绍YOLO-V5的原理和在项目中的实施计划。
- RDK-X5在视觉识别中的作用:分析RDK-X5如何执行图像处理和识别任务。
-
手势识别与深度检测
- 双目视觉技术:探讨双目视觉技术在手势识别中的应用。
- 深度检测技术:讨论深度检测在提高手势识别准确性中的重要性。
-
通信与控制
- CAN总线通信:解释CAN总线如何实现RDK-X5与灵巧手之间的通信。
- 控制中枢角色:分析RDK-X5如何作为控制中枢下达动作指令。
第三部分:项目实施步骤详解
-
Step1:YOLO-V5识别方案的稳定性与效果论证
- 实验设计:描述实验环境搭建和测试流程。
- 结果评估:讨论如何通过实验数据评估识别方案的性能。
-
Step2:人体手势识别与灵巧手动作跟随
- RDK Studio平台应用:详细说明如何使用RDK Studio进行手势识别。
- 动作指令下达:探讨如何将识别结果转换为灵巧手的动作指令。
-
Step3:RDK-X5作为控制中枢的实验
- 实验构想:描述实验的详细构想和技术挑战。
- 集成实现:讨论如何将机器人运动控制、物体识别与灵巧手抓取动作集成。
第四部分:技术优势与挑战分析
- 技术优势:横向对比网上已有方案,后续待定补充。
- 技术挑战:
-- 1、YOLO算法的准确度不能实现预期效果
-- 2、使用2D相机开发,之前不熟悉
-- 3、很多坑还么踩过,需要持续学习优化
第五部分:项目应用待验证的场景
- 应用场景:后续考虑在公司组内进行技术分享与交流,逐渐融入地瓜机器人生态下作持续开发。
- 未来发展:看好地平线和地瓜机器人,当前的开发这生态正在大力推进,本人会持续关注。
结语
- 总结:本项目会持续更新,作个人技术开发记录和技术分享,欢迎大家在线交流
- 项目潜力:-------

浙公网安备 33010602011771号