RDK X3 机械臂捡垃圾经验分享
功能介绍
hobot_arm package是基于mono2d_trash_detection package开发的2D垃圾目标检测+机械臂抓取的应用示例。在地平线的旭日X3派上利用BPU进行模型推理获得感知结果,利用幻尔机械臂作为下位机,进行垃圾抓取的示例。
编译
开发环境
编程语言: C/C++
开发平台: X3/X86
系统版本:Ubuntu 20.04
编译工具链:Linux GCC 9.3.0/Linaro GCC 9.3.0
编译
支持在X3 Ubuntu系统上编译和在PC上使用docker交叉编译两种方式。
Ubuntu板端编译X3
1、编译环境确认
板端已安装X3 Ubuntu系统。
当前编译终端已设置TogetherROS环境变量:source PATH/setup.bash。其中PATH为TogetherROS的安装路径。
已安装ROS2编译工具colcon,安装命令:pip install -U colcon-common-extensions
2、编译
编译命令:colcon build --packages-select hobot_arm
Docker交叉编译X3
1、编译环境确认
在docker中编译,并且docker中已经安装好TogetherROS。docker安装、交叉编译说明、TogetherROS编译和部署说明详见机器人开发平台robot_dev_config repo中的README.md。
2、编译
编译命令:
export TARGET_ARCH=aarch64
export TARGET_TRIPLE=aarch64-linux-gnu
export CROSS_COMPILE=/usr/bin/$TARGET_TRIPLE-
colcon build --packages-select hobot_arm\
--merge-install\
--cmake-force-configure\
--cmake-args\
--no-warn-unused-cli\
-DCMAKE_TOOLCHAIN_FILE=`pwd`/robot_dev_config/aarch64_toolchainfile.cmake
X86 Ubuntu系统上编译X86版本
1、编译环境确认
x86 ubuntu版本: ubuntu20.04
2、编译
编译命令:
colcon build --packages-select hobot_arm\
--merge-install\
--cmake-args\
-DTHIRD_PARTY=`pwd`/../sysroot_docker\
注意事项
使用介绍
依赖
mono2d_trash_detection package: 发布垃圾检测感知msg
参数
无
运行
编译成功后,将生成的install路径拷贝到地平线旭日X3开发板上(如果是在X3上编译,忽略拷贝步骤),并执行如下命令运行:
X3 Ubuntu 启动
export COLCON_CURRENT_PREFIX=./install
source ./install/setup.bash
# config中为示例使用的模型,根据实际安装路径进行拷贝
# 如果是板端编译(无--merge-install编译选项),拷贝命令为cp -r install/PKG_NAME/lib/PKG_NAME/config/ .,其中PKG_NAME为具体的package名。
cp -r install/lib/mono2d_trash_detection/config/ .
# 启动dnn_node_example package
# mipi摄像头输入检测,渲染结果在Web页面可视化
export CAM_TYPE=mipi
ros2 launch dnn_node_example dnn_node_example.launch.py config_file:=config/ppyoloworkconfig.json msg_pub_topic_name:=ai_msg_mono2d_trash_detection image_width:=1920 image_height:=1080
# 启动dnn_node_example package
# usb摄像头输入检测,渲染结果在Web页面可视化
export CAM_TYPE=usb
ros2 launch dnn_node_example dnn_node_example.launch.py config_file:=config/ppyoloworkconfig.json msg_pub_topic_name:=ai_msg_mono2d_trash_detection image_width:=1920 image_height:=1080
ros2 run hobot_arm hobot_arm
X3 Linux
如果需要在PC端浏览器上渲染显示sensor发布的图片和对应的AI结果,确认旭日X3派已经启动用于web展示的webserver服务(设备启动后只需要启动一次服务,只有设备重启的情况下需要重新启动服务)。旭日X3派执行ps -aux命令查看是否有nginx进程,如果有表示已经启动此服务,如果无,启动服务,运行方法为:
cd /opt/tros/lib/websocket/webservice/
chmod +x ./sbin/nginx && ./sbin/nginx -p .
cd -
export ROS_LOG_DIR=/userdata/
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./install/lib/
# config中为示例使用的模型,根据实际安装路径进行拷贝
cp -r ./install/lib/mono2d_trash_detection/config/ .
# 启动图片发布pkg
./install/lib/mipi_cam/mipi_cam --ros-args -p out_format:=nv12 -p image_width:=416 -p image_height:=416 -p io_method:=shared_mem -p video_device:=GC4663 --log-level error &
# 启动JPEG图片编码&发布pkg
/install/lib/hobot_codec/hobot_codec_republish --ros-args -p channel:=1 -p in_mode:=shared_mem -p in_format:=nv12 -p out_mode:=ros -p out_format:=jpeg -p sub_topic:=/hbmem_img -p pub_topic:=/image_jpeg --ros-args --log-level error &
# 启动web展示pkg
/install/lib/websocket/websocket --ros-args -p image_topic:=/image_jpeg -p image_type:=mjpeg -p smart_topic:=/ai_msg_mono2d_trash_detection --log-level error &
# 启动dnn_node_example node
/install/lib/dnn_node_example/example --ros-args -p feed_type:=1 -p is_shared_mem_sub:=1 -p dump_render_img:=0 -p msg_pub_topic_name:=/ai_msg_mono2d_trash_detection --log-level warn &
# 启动hobot node
/install/lib/hobot_arm/hobot_arm --log-level warn
X86 Ubuntu
export COLCON_CURRENT_PREFIX=./install
source ./install/setup.bash
# config中为示例使用的模型,根据实际安装路径进行拷贝
cp -r ./install/lib/mono2d_trash_detection/config/ .
# 启动dnn_node_example node
ros2 run dnn_node_example example --ros-args -p feed_type:=0 -p image:=config/trashDet0028.jpg -p image_type:=0 -p dump_render_img:=1 -p config_file:=config/ppyoloworkconfig.json
结果分析
X3结果展示
输出log日志:
[WARN] [1700107618.608870258] [arm_node]: Parameter:
targetX: 0.15
targetY: 0 targetZ: -0.08
[WARN] [1700107618.609489260] [arm_node]: ArmNode Init Succeed!
[WARN] [1700107621.610287833] [arm_node]: Operate Succeed!
^C[INFO] [1700107623.664628627] [rclcpp]: signal_handler(signal_value=2)
root@ubuntu:~# ros2 run hobot_arm hobot_arm
This is hobot arm package.
============================================
the robotic arm device
============================================
[WARN] [1700107629.060302603] [arm_node]: Parameter:
targetX: 0.15 target
Y: 0 targetZ: -0.08
[WARN] [1700107629.060854068] [arm_node]: ArmNode Init Succeed!
[WARN] [1700107632.061743344] [arm_node]: Operate Succeed!
结果说明
示例中展示了垃圾检测的实时推理效果。本地效果展示中展示了将回灌图片渲染保存在本地。
设置"dump_render_img"为1时,渲染图片实时保持在当前路径下。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由雪飘梦飞转载自D-Robotics官网,原文标题为:RDK X3 机械臂捡垃圾,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
智能语音聊天机器人功能及使用指南
智能语音聊天机器人通过识别用户语音,调用ChatGPT API获取答复并播放,实现语音聊天。需地平线RDK、ChatGPT API Key及音频板等物料。准备、组装后,安装功能包并运行,配置音频和ChatGPT API Key。常见问题包括设备连接、音频驱动、配置文件及网络访问等。
设计经验 发布时间 : 2024-10-18
基于RDK X3的机械臂物体拾取操作实例
本文介绍RDK X3该功能包接收用户选择方块数字的请求,通过yolov5检测目标,在Z轴距离确定的情况下解算出物体的三维坐标,并请求仿真机械臂控制节点夹取物体的应用实例。
设计经验 发布时间 : 2024-10-28
基于NodeHub智能机器人应用中心是深度学习巡线小车实现示例
视觉巡线Demo基于纯视觉的方法实现赛车在赛道内运动,其中赛道中间有引导线辅助赛车保持在赛道内。NodeHub是地平线为广大机器人开发者提供的“智能机器人应用中心”,该应用中心包含多个类别不同功能的开源Node,能够快速安装和使用,通过串联不同的Node可以完成对三大模块的实现。
设计经验 发布时间 : 2024-11-07
多模态感知仿生机械手项目案例
本项目提供了一款五指仿生机器手,其仿照人手的外观与自由度,使其能够作为人形机器人的末端执行器,完成人手所能完成的任务。
应用方案 发布时间 : 2024-10-29
双机械臂四转四驱机器人设计与实现
该研究设计了一种创新的双机械臂四转四驱机器人,旨在突破传统轮式机器人的限制。该机器人底盘采用四转四驱设计,显著提升了灵活性和负载能力,使其能够在复杂环境中精确移动和执行任务。双机械臂系统使机器人能够高效与现实生活互动,完成复杂任务。
应用方案 发布时间 : 2024-10-29
NodeHub包含各种开源Node,能够快速安装和使用 ,助您快速搭建室内服务机器人Demo!
NodeHub是地平线为广大开发者提供给的“智能机器人应用中心”,该应用中心中包含各种不同功能的开源Node,能够快速安装和使用,通过串联不同的Node可以完成室内服务机器人的搭建。该Demo包含了室内服务机器人所需的基础功能,包括地图建立、自主导航、垃圾检测以及人体骨骼关键点检测等,有助于您快速搭建室内服务机器人!
设计经验 发布时间 : 2024-11-06
NodeHub快速入门
NodeHub是地平线为机器人爱好者打造的智能机器人应用中心,旨在以更加简单、高效、开放的方式协助机器人爱好者开发自己的智能机器人。
技术探讨 发布时间 : 2024-10-30
基于RDK X3开发板设计并实现的手持slam建图设计
这里使用RDK X3开发板设计并实现了一款SLAM手持建图设备,它使用RDK X3开发板的计算性能,通过激光雷达实现一个纯激光里程计,通过IMU对激光数据进行畸变矫正和对SLAM的姿态矫正,实现一个手持的SLAM建图功能。
设计经验 发布时间 : 2024-11-04
RDK平台实现MIPI相机驱动的操作实例
本项目案例为对已适配的MIPI接口摄像头进行配置,并将采集的图像数据以ROS标准图像消息或者零拷贝(hbmem)图像消息进行发布,供需要使用图像数据的其他模块订阅。
设计经验 发布时间 : 2024-11-05
人形机器人目标检测实例
基于深度学习的方法识别小球和底座,使用模型为YOLOv5s使用方法准备工作具备TonyPi机器人,包含相机及RDK套件,并且能够正常运行。
设计经验 发布时间 : 2024-10-21
人形机器人物体抓取实例
介绍人形机器人物体抓取的设计方案及应用特点。
设计经验 发布时间 : 2024-10-30
人手关键点检测算法示例
本文主要介绍了地瓜机器人的X3RDK的系统应用在人手关键点检测算法的示例以及使用说明,并给出具体功能代码。
设计经验 发布时间 : 2024-10-28
AI加速边缘计算,聚焦AIOT芯片,NPU SOC,离线语音MCU,高算力智能模组等
世强硬创联合地平线,阿普奇,启英泰伦,美格智能,普林芯驰,唯创知音,九芯电子,芯闻,VINKO,MERRY带来AI新产品,聚焦AIOT芯片,NPU SOC,离线语音MCU,高算力智能模组等,加速边缘计算。
活动 发布时间 : 2023-06-08
【IC】D-Robotics RDK X5机器人开发者套件,可提供高达10 Tops算力,加速智能化应用快速落地
D-Robotics RDK X5搭载Sunrise 5智能计算芯片,可提供高达10 Tops的算力,是一款面向智能计算与机器人应用的全能开发套件,接口丰富,极致易用,支持Transfomer、RWKV、Occupancy、Stereo Perception等多种复杂模型和最新算法,加速智能化应用快速落地。
产品 发布时间 : 2024-09-20
在RDK套件上将输入的文本进行任务拆解应用示例
该功能包通过调用通义千问的API,将输入的文本进行任务拆解,并发送请求。
设计经验 发布时间 : 2024-11-07
电子商城
登录 | 立即注册
提交评论