玩转PiPER|挥手,用手势“隔空操控”机械臂
转载 2025-09-08 09:03 AgileX Robotics在前几期中,我们实现了PIPER机械臂的点位控制、轨迹录制与视觉识别陀螺仪控制。本期实现的是:通过深度相机(如奥比中光Gemini)检测手部关键点(指关节、掌心),将手部在三维空间中的姿态与位置映射到PIPER机械臂末端执行器上,实现低成本“手势驱动机械臂运动”。
这项技术不仅仅是“识别手势”,更是实现了从人体动作到机器人末端的坐标映射与运动同步。
更重要的是——所有代码已开源,欢迎动手实践!
开源链接:https://github.com/agilexrobotics/Agilex-College
功能演示一、硬件设备• 奥比中光 Petrel(带对齐的深度图像与RGB图像:640*400@30fps)
• (可选):intel realsense D435(带对齐的深度图像与RGB图像:640*480@30fps)
• (可选):奥比中光 gemini(带对齐的深度图像与RGB图像:640*400@60fps)
• NVIDIA 3050laptop (带3050移动端的笔记本)
• AgileX robotics PiPer机械臂
二、软件环境• Ubuntu 20.04
• ROS noetic
三、依赖• 安装依赖的ROS功能包
sudoapt install -y ros-noetic-sensor-msgs ros-noetic-image-transport ros-noetic-cv-bridge ros-noetic-vision-msgs ros-noetic-image-geometry ros-noetic-pcl-conversions ros-noetic-pcl-ros ros-noetic-message-filtersgit cloen https://github.com/agilexrobotics/Agilex-College.gitcdAgilex-College/piper/cp-r piper_kinematics/ your_ws/src/catkin_make
• PIPER机械臂驱动部署请参考:https://github.com/agilexrobotics/piper_sdk/blob/1_0_0_beta/README(ZH).MD
• PIPER机械臂ROS控制节点部署参考:https://github.com/agilexrobotics/piper_ros/blob/noetic/README.MD
• 克隆并编译此功能包
cdyour_ws/srcgit cloen https://github.com/agilexrobotics/Agilex-College.gitcdAgilex-College/piper/cp-r handPoseTeleoperation/ your_ws/src/cdyour_ws/catkin_makesourcedevel/setup.bash四、启动相机ROS节点• 需要相机能自动对齐深度图像与彩色图像(D2C),此项目暂时不支持没有自动对齐功能的相机,对齐后的深度图像与RGB图像长宽一致。此项目使用奥比中光 Genimi深度相机作为功能测试,具体配置运行示例以及设置请参考奥比中光相机驱动仓库
• 奥比中光 Genimi使用下面的命令启动,需要先在gemini.launch文件中配置深度对齐功能
sourcedevel/setup.bashroslaunch roslaunch astra_camera gemini.launch
• realsense D435使用下面的命令启动
roslaunch realsense2_camera rs_aligned_depth.launch五、定义Home点1.定义Piper的home点• 将连接到机械臂的can模块插入PC,查找机械臂CAN总线,并启动机械臂驱动节点
# 寻找机械臂的CAN端口./find_all_can_port.sh# 连接到机械臂的CAN端口./can_activate.shroslaunch piper start_single_piper.launch
• 使用piper_kinematics中的交互式标记interactive_pose_marker工具,通过拖拽机械臂到达期望的home点
• 启动piper_kinematics中的逆解节点,下达对Piper的控制指令到控制节点
rosrun piper_kinematics piper_ik_node rosrun piper_kinematics interactive_pose_marker.py2.定义手部姿态的home点• 启动手部姿态检测节点
rosrun handpose_det handpose_det_new_ik.py
• 启动rviz实时观察图像检测情况,其中MarkerArray中的红色圆点为指关节对应点,绿色圆点为手掌形心
• 保持握拳5秒姿势不动,五秒结束后会定义当前手部所处的姿态为手部坐标系的原点,随后张开五指开始映射手部相在手部坐标系的原点相对的姿态。(选取手部坐标系的原点时候,尽量选择图像中心的部位,且不宜距离相机过远导致手部识别不稳定,也不宜过近导致因相机视野受限导致的遥操作空间过小)
• 调整大拇指与食指的距离控制夹爪开合
结语
最后,不知道大家学‘废’了吗,控制机械臂不需要复杂的编程,脱离手机,直接通过手势识别控制机械臂,实现“手在哪,臂就到哪”的自然交互。下一期技术生态教程持续更新中,敬请期待!
网友评论0条评论
相关资讯
更多- 玩转PiPER|挥手,用手势“隔空操控”机械臂
- “小黄人” 凭啥成了人人夸的智能 “劳模”?来听听他们是如何评价的吧!
- 海量种类反光工件泛化精准操作,梅卡曼德具身智能“眼+脑”助力全场景智能制造
- 智能机器人赋能物流丨北自科技参加第四届机器人标准化和关键技术研讨会
- 新松出席2025全球工业互联网大会,具身智能引领产业变革新风向!
- 在中巴B2B投资峰会上,天能签下多个订单
- 深化全球布局 共绘合作新篇章——和利时集团董事长徐悦走访南非德班项目部
- MiMA“C”计划新品发布,C系列人上型三向堆垛车MCC12震撼来袭!
- 小黄人“方阵” I 训练有素的精度美学
- 从阅兵方阵到智能车间:艾吉威机器人书写中国技术崛起新篇章