地平线RDK实现智能循线机器人应用示例
功能介绍
巡线任务,即机器人小车能够自主跟着一条引导线向前运行,引导线往左,小车也跟着往左转,引导线往右,小车跟着往右转。该任务是轮式机器人中比较基础的任务,实现方式也有多种,比如:
通过安装多个光电传感器(灰度传感器),根据传感器的的返回值判断该传感器是否位于线上,进而调整机器人运动方向。
通过摄像头基于传统的图像处理方法如边缘检测等获取线在图像中的位置,进而调整机器人运动方向。
上述常用方法当光照环境、场地发生变化,一般需要反复通过采集图像调整阈值以及进行测试来实现比较好的识别结果。那有没有可能让机器人能够自行适应环境的变化,不再需要人为的调整阈值呢?卷积神经网络(CNN),是深度学习算法应用最成功的领域之一,具有不错的适应性和鲁棒性,近年来随着处理器的快速发展,已经可以在嵌入式端进行CNN推理,这里使用CNN的方式实现巡线任务中引导线的位置感知。
物料清单
以下机器人均已适配RDK X3
使用方法
准备工作
机器人具备运动底盘、相机及RDK套件,硬件已经连接并测试完毕;
已有ROS底层驱动,机器人可接收“/cmd_vel”指令运动,并根据指令正确运动。
机器人组装
以下操作过程以OriginBot为例,满足条件的其他机器人使用方法类似。参考机器人官网的使用指引,完成机器人的硬件组装、镜像烧写及示例运行,确认机器人的基础功能可以顺利运行。
安装功能包
1.参考OriginBot说明,完成Originbit基础功能安装
2.安装功能包
启动机器人后,通过终端SSH或者VNC连接机器人,点击本页面右上方的“一键部署”按钮,复制如下命令在RDK的系统上运行,完成相关Node的安装。
tros foxy版本
tros humble版本
3.运行巡线功能
tros foxy版本
source /opt/tros/local_setup.bash
ros2 run line_follower_perception line_follower_perception --ros-args -p model_path:=/opt/tros/share/line_follower_perception/resnet18_224x224_nv12.bin -p model_name:=resnet18_224x224_nv12
tros humble版本
source /opt/tros/humble/local_setup.bash
ros2 run line_follower_perception line_follower_perception --ros-args -p model_path:=/opt/tros/share/line_follower_perception/resnet18_224x224_nv12.bin -p model_name:=resnet18_224x224_nv12
运行mipi_cam
tros foxy版本
tros humble版本
最后进入小车的运动控制package,originbot_base运行
tros foxy版本
tros humble版本
用PVC胶带搭建场景,巡线效果图如下图:
原理简介
整套系统如上图所示,地平线RDK通过摄像头获取小车前方环境数据,图像数据通过训练好的CNN模型进行推理得到引导线的坐标值,然后依据一定的控制策略计算小车的运动方式,通过UART向小车下发运动控制指令实现整个系统的闭环控制。
PC用于进行数据标注以及训练,为了提高效率这里采用地平线RDK将图片通过以太网发送至PC端进行标注的方式。
整个软件工程包括5个主要环节分别是:
数据采集与标注,根据任务目标获取相应的数据并进行标注,用于模型训练;
模型选择,根据任务目标选取合适的模型结构确保性能和精度都能够满足需要;
模型训练,使用标注的数据对模型进行训练,以达到满意的精度要求;
模型转换,使用算法工具链将训练得到的浮点模型转换为可以在地平线RDK上运行的定点模型;
端侧部署,在地平线RDK上运行转换后的模型,得到感知结果并控制机器人运动。
系统工作流程如下:
接口说明
话题
Pub话题
参数
- |
- +1 赞 0
- 收藏
- 评论 0
本文由雪飘梦飞转载自D-Robotics官网,原文标题为:智能循线机器人,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
基于RDK X3的机械臂物体拾取操作实例
本文介绍RDK X3该功能包接收用户选择方块数字的请求,通过yolov5检测目标,在Z轴距离确定的情况下解算出物体的三维坐标,并请求仿真机械臂控制节点夹取物体的应用实例。
设计经验 发布时间 : 2024-10-28
智能语音聊天机器人功能及使用指南
智能语音聊天机器人通过识别用户语音,调用ChatGPT API获取答复并播放,实现语音聊天。需地平线RDK、ChatGPT API Key及音频板等物料。准备、组装后,安装功能包并运行,配置音频和ChatGPT API Key。常见问题包括设备连接、音频驱动、配置文件及网络访问等。
设计经验 发布时间 : 2024-10-18
基于RDK X3和OriginBot的手势控制机器人应用案例
通过视觉进行人手检测、跟踪和手势识别,根据手势类别生成不同运动控制指令并控制机器人运动,包括左右旋转和前后平移运动。该功能支持机器人实物和Gazebo仿真两种体验方式。以下操作过程以OriginBot为例,满足条件的其他机器人使用方法类似。
设计经验 发布时间 : 2024-11-13
双机械臂四转四驱机器人设计与实现
该研究设计了一种创新的双机械臂四转四驱机器人,旨在突破传统轮式机器人的限制。该机器人底盘采用四转四驱设计,显著提升了灵活性和负载能力,使其能够在复杂环境中精确移动和执行任务。双机械臂系统使机器人能够高效与现实生活互动,完成复杂任务。
应用方案 发布时间 : 2024-10-29
多模态感知仿生机械手项目案例
本项目提供了一款五指仿生机器手,其仿照人手的外观与自由度,使其能够作为人形机器人的末端执行器,完成人手所能完成的任务。
应用方案 发布时间 : 2024-10-29
基于RDK平台的YOLOv10目标检测算法示例
YOLO功能介绍YOLO目标检测算法示例使用图片作为输入,利用BPU进行算法推理,发布包含目标类别和检测框的算法msg。YOLO目标检测算法示例使用图片作为输入,利用BPU进行算法推理,发布包含目标类别和检测框的算法msg。目前支持yolov2、yolov3、yolov5、yolov5x四个版本。
应用方案 发布时间 : 2024-11-13
NodeHub快速入门
NodeHub是地平线为机器人爱好者打造的智能机器人应用中心,旨在以更加简单、高效、开放的方式协助机器人爱好者开发自己的智能机器人。
技术探讨 发布时间 : 2024-10-30
RDK X3 机械臂捡垃圾经验分享
hobot_arm package 是基于 mono2d_trash_detection package 开发的2D垃圾目标检测+机械臂抓取的应用示例。在地平线的旭日X3派上利用BPU进行模型推理获得感知结果,利用幻尔机械臂作为下位机,进行垃圾抓取的示例。
设计经验 发布时间 : 2024-10-30
NodeHub快速入门示例:小海龟绘画
NodeHub快速入门示例,通过键盘控制小乌龟进行绘画。
设计经验 发布时间 : 2024-11-11
基于RDK X3开发板设计并实现的手持slam建图设计
这里使用RDK X3开发板设计并实现了一款SLAM手持建图设备,它使用RDK X3开发板的计算性能,通过激光雷达实现一个纯激光里程计,通过IMU对激光数据进行畸变矫正和对SLAM的姿态矫正,实现一个手持的SLAM建图功能。
设计经验 发布时间 : 2024-11-04
基于RDK X3的人体跟随机器人功能示例
本示例通过视觉进行人体目标检测与跟踪,并生成运动控制指令控制机器人自动跟随目标运动。该功能支持机器人实物和Gazebo仿真两种体验方式。
设计经验 发布时间 : 2024-11-08
镭神激光雷达驱动
镭神激光雷达驱动设计方案及应用介绍, LSLIDAR ROS2驱动链接RDK X3,以ROS2标准消息格式发送激光雷达数据。
设计经验 发布时间 : 2024-11-09
连接RDK X3操作奥比中光Astro Pro相机驱动示例
基于RDK X3的奥比中光Astro Pro相机驱动操作方案介绍。
设计经验 发布时间 : 2024-11-08
人形机器人目标检测实例
基于深度学习的方法识别小球和底座,使用模型为YOLOv5s使用方法准备工作具备TonyPi机器人,包含相机及RDK套件,并且能够正常运行。
设计经验 发布时间 : 2024-10-21
基于地平线RDK模型YOLOv5s深度学习的方法进行赛道障碍物检测应用实例
该功能为基于深度学习的方法识别赛道中的障碍物,使用模型为YOLOv5s。地平线RDK通过摄像头获取小车前方环境数据,图像数据通过训练好的YOLO模型进行推理得到障碍物的图像坐标值并发布。
设计经验 发布时间 : 2024-11-08
电子商城
登录 | 立即注册
提交评论