基于RDK X3和OriginBot的手势控制机器人应用案例
功能介绍
通过视觉进行人手检测、跟踪和手势识别,根据手势类别生成不同运动控制指令并控制机器人运动,包括左右旋转和前后平移运动。该功能支持机器人实物和Gazebo仿真两种体验方式。
支持的控制手势和对应的功能定义如下:
机器人实物
物料清单
以下机器人均已适配RDK X3。
使用方法
准备工作
1.机器人具备运动底盘、相机及RDK套件,硬件已经连接并测试完毕;
2.已有ROS底层驱动,机器人可接收/cmd_vel指令运动,并根据指令正确运动。
机器人组装
以下操作过程以OriginBot为例,满足条件的其他机器人使用方法类似。参考机器人官网的使用指引,完成机器人的硬件组装、镜像烧写及示例运行,确认机器人的基础功能可以顺利运行。
安装功能包
1.参考OriginBot说明,完成OriginBot基础功能安装
2.安装功能包
启动机器人后,通过终端或者VNC连接机器人,复制如下命令在RDK的系统上运行,完成相关Node的安装。
tros foxy版本
tros humble版本
运行手势控制功能
1.启动机器人底盘
启动机器人,如OriginBot的启动命令如下:
tros foxy版本
tros humble版本
2.启动手势控制
启动一个新的终端,通过如下指令启动手势控制功能:
tros foxy版本
tros humble版本
启动成功后,站在机器人摄像头前,需要让机器人识别到手部,通过“666手势/Awesome”手势控制小车前进,“Yeah/Victory”手势控制小车后退,“大拇指向右/ThumbRight”手势控制小车右转,“大拇指向左/ThumbLeft”手势控制小车左转。其中左转/右转分别是向人的左/右方向(大拇指的指向)转动。
3.查看视觉识别效果
打开处于同一网络下电脑的浏览器,访问http://IP:8000即可看到视觉识别的实时效果,其中IP为RDK的IP地址。
Gazebo仿真
Gazebo仿真适用于持有RDK X3但没有机器人实物的开发者体验功能。
物料清单
使用方法
准备工作
在体验之前,需要具备以下基本条件:
开发者有RDK套件实物,及配套的相机
PC电脑端已经完成ROS Gazebo及Turtlebot机器人相关功能包安装
和地平线RDK在同一网段(有线或者连接同一无线网,IP地址前三段需保持一致)的PC,PC端需要安装的环境包括:
tros foxy版本
Ubuntu 20.04系统
ROS2 Foxy桌面版
Gazebo和Turtlebot3相关的功能包,安装方法:
tros humble版本
Ubuntu 22.04系统
ROS2 Humble桌面版
Gazebo和Turtlebot3相关的功能包,安装方法:
安装功能包
启动RDK X3后,通过终端或者VNC连接机器人,复制如下命令在RDK的系统上运行,完成手势控制相关Node的安装。
tros foxy版本
tros humble版本
运行手势
控制功能
1.启动仿真环境及机器人
在PC端Ubuntu的终端中使用如下命令启动Gazebo,并加载机器人模型:
tros foxy版本
tros humble版本
启动成功后,仿真环境中小车效果如下:
2.启动手势控制
在RDK的系统中,启动终端,通过如下指令启动功能:
tros foxy版本
tros humble版本
启动成功后,站在机器人摄像头前,需要让机器人识别到手部,通过“666手势/Awesome”手势控制小车前进,“yeah/Victory”手势控制小车后退,“大拇指向右/ThumbRight”手势控制小车右转,“大拇指向左/ThumbLeft”手势控制小车左转。其中左转/右转分别是向人的左/右方向(大拇指的指向)转动,效果点击跳转。
3.查看视觉识别效果
打开同一网络电脑的浏览器,访问http://IP:8000即可看到视觉识别的实时效果,其中IP为RDK的IP地址。
接口说明
订阅话题
发布话题
参数
原理简介
手势控制机器人功能由MIPI图像采集、人体检测和跟踪、人手关键点检测、手势识别、手势控制策略、图像编码、Web展示端组成,流程如下图:
参考资料
手势控制参考:开发者说 | 地平线程序员奶爸带你玩转机器人开发平台 —— 第一期 手势控制
常见问题
1.Ubuntu下运行启动命令报错-bash: ros2: command not found
当前终端未设置tros.b环境,执行命令配置环境:
tros foxy版本
tros humble版本
在当前终端执行ros2命令确认当前终端环境是否生效:
如果输出以上信息,说明ros2环境配置成功。
注意!对于每个新打开的终端,都需要重新设置tros.b环境。
2.做出控制手势,机器人无反应
2.1确认是否有运动控制消息发布
在RDK的系统中,启动终端,使用ros2 topic echo /cmd_vel命令确认是否有/cmd_vel话题消息发布,如果无,再确认是否识别到手势。
2.2检查是否识别到手势
做出控制手势后,查看输出log中“tracking_sta”关键字值是否为1,同时gesture值是否大于0,或者查看电脑浏览器上是否有手势识别渲染结果,否则按照“功能介绍”部分手势动作举例确认手势是否标准。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由雪飘梦飞转载自D-Robotics官网,原文标题为:手势控制机器人,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
连接RDK X3操作奥比中光Astro Pro相机驱动示例
基于RDK X3的奥比中光Astro Pro相机驱动操作方案介绍。
基于RDK X3开发板设计并实现的手持slam建图设计
这里使用RDK X3开发板设计并实现了一款SLAM手持建图设备,它使用RDK X3开发板的计算性能,通过激光雷达实现一个纯激光里程计,通过IMU对激光数据进行畸变矫正和对SLAM的姿态矫正,实现一个手持的SLAM建图功能。
RDK平台实现MIPI相机驱动的操作实例
本项目案例为对已适配的MIPI接口摄像头进行配置,并将采集的图像数据以ROS标准图像消息或者零拷贝(hbmem)图像消息进行发布,供需要使用图像数据的其他模块订阅。
基于RDK X3操作思岚激光雷达驱动示例
SLLIDAR ROS2驱动,以ROS2标准消息格式发送激光雷达数据。
RDK X3基于RDK X3的手势识别算法示例
手势识别算法示例订阅包含人手框、人手关键点信息的算法msg,利用BPU进行推理,发布包含手势信息的智能结果msg。手势识别算法集成了人手关键点检测,手势分析等技术,使得计算机能够将人的手势解读为对应指令,可实现手势控制以及手语翻译等功能,主要应用于智能家居,智能座舱、智能穿戴设备等领域。
YDLIADAR激光雷达驱动应用实例
介绍YDLIADAR激光雷达驱动的方案与技术要求,YDLIDAR ROS2驱动,以ROS2标准消息格式发送激光雷达数据。
基于地平线RDK模型YOLOv5s深度学习的方法进行赛道障碍物检测应用实例
该功能为基于深度学习的方法识别赛道中的障碍物,使用模型为YOLOv5s。地平线RDK通过摄像头获取小车前方环境数据,图像数据通过训练好的YOLO模型进行推理得到障碍物的图像坐标值并发布。
基于RDK平台的YOLOv10目标检测算法示例
YOLO功能介绍YOLO目标检测算法示例使用图片作为输入,利用BPU进行算法推理,发布包含目标类别和检测框的算法msg。YOLO目标检测算法示例使用图片作为输入,利用BPU进行算法推理,发布包含目标类别和检测框的算法msg。目前支持yolov2、yolov3、yolov5、yolov5x四个版本。
基于RDK X3 & Module的性能检测软件使用示例
Performance Node该应用基于Web网页打造,无论是什么品牌的电脑和手机,只需要在浏览器访问即可。
多模态感知仿生机械手项目案例
本项目提供了一款五指仿生机器手,其仿照人手的外观与自由度,使其能够作为人形机器人的末端执行器,完成人手所能完成的任务。
智能语音聊天机器人功能及使用指南
智能语音聊天机器人通过识别用户语音,调用ChatGPT API获取答复并播放,实现语音聊天。需地平线RDK、ChatGPT API Key及音频板等物料。准备、组装后,安装功能包并运行,配置音频和ChatGPT API Key。常见问题包括设备连接、音频驱动、配置文件及网络访问等。
OriginBot机器人最小功能系统的机器人底盘驱动应用实例
OriginBot是一款智能机器人开源套件,更是一个社区共建的开源项目,旨在让每一位参与者享受机器人开发的乐趣。该项目是OriginBot机器人最小功能系统,该最小系统可接受/cmd_vel指令控制机器人运动并反馈/Odom信息。
RDK X3 机械臂捡垃圾经验分享
hobot_arm package 是基于 mono2d_trash_detection package 开发的2D垃圾目标检测+机械臂抓取的应用示例。在地平线的旭日X3派上利用BPU进行模型推理获得感知结果,利用幻尔机械臂作为下位机,进行垃圾抓取的示例。
基于RDK X3实现的语言大模型操作实例
hobot_llm是地平线RDK平台集成的端侧Large Language Model (LLM) Node,用户可在端侧体验LLM。目前提供两种体验方式,一种直接终端输入文本聊天体验,一种订阅文本消息,然后将结果以文本方式发布出去。
2D垃圾检测应用示例
本Node是基于hobot_dnn开发的2D垃圾目标检测算法,采用PaddlePaddle开源框架, 利用PPYOLO模型进行垃圾检测任务设计和训练。为了达到快速部署的目的,本Node支持配置文件更换垃圾检测模型,开发者可以将更多精力投入在算法模型能力的迭代,减少部署工作量,识别输出的AI信息不仅可以通过话题发布,还可以在Web页面渲染显示。
电子商城
登录 | 立即注册
提交评论