通过vmRT-Thread和ROS2赋能机器人智能开发

描述

随着机器人技术的快速迭代升级,协作机器人、复合移动机器人和人形机器人等新兴应用场景对实时控制与智能决策的深度融合提出了迫切需求。然而,当前机器人操作系统架构面临以下关键挑战:
 

算力瓶颈制约智能化发展:传统控制系统算力不足,难以有效支撑语音识别、手势交互、动态避障、力控优化、地图构建、位姿计算等智能化需求。
 

系统集成复杂度高:传统方案采用多主机分布式架构,导致系统体积庞大、调试维护困难、维护部署复杂。

 

 

 整体成本高昂:传统机器人系统通常需要多个子系统间交互协同,例如传感器系统、驱动系统、控制系统等,导致系统成本增加。


 

 

 

本文提出基于vmRT-Thread嵌入式虚拟化集成开发平台的解决方案。该平台通过虚拟化技术支持在高性能嵌入式设备上同时运行硬实时操作系统和富功能操作系统,其架构如下图所示:

机器人

平台采用一体化架构设计,支持在单块SOC上同时部署实时虚拟机与搭载了ROS2框架的普通虚拟机,实现在单块SOC上集成感知、决策、控制全流程功能。在通信机制上,平台提供虚拟机间共享内核和套接字通信能力,保障虚拟机间高效通信。

 

 

基于上述方式,采用8核开发板来部署机器人小车,通过ROS2命令完成对小车的控制,系统架构如下:

 

 

机器人

具体分为以下几个阶段执行:

 

 

1. 虚拟化系统部署

在开发板上部署vmRT-Thread;

 

 

创建两个Guest系统,为每个系统分配物理资源(CPU、内存和外设),运行Ubuntu与RT-Thread。配置基于共享内存的直连网卡通信,示例如下图所示:

 

 

机器人

2.Ubuntu

 

准备ROS2环境;

 

 

安装Micro ROS Agent;

 

 

创建发布者和订阅者;

 

 

机器人

发布者:提供设置车移动和移动固定距离主题


 

机器人

订阅者:订阅获取车速的主题


 

3.RT-Thread

搭建Micro ROS;

 

 

实现对电机、传感器的实时控制;

 

 

实现电机控制算法;

 

 

提供小车前进、后退、左转和右转接口;

 

 

机器人

创建发布者与订阅者


 

 

 订阅者回调函数:

 

 

机器人

 

 订阅移动主题

 

 


 

 

 

机器人

 

订阅指定距离主题

 

 


 

 

 

发布者回调函数:

 

机器人

 

采用定时器进行周期性发送车速数据,定时间隔

1s

 


 

 

 

4.系统联调与验证

通过Ubuntu上ROS2环境中发送主题消息,验证整体通信通路。

通过ROS2发布主题消息控制小车移动:

 

 

机器人

Ubuntu启动Micro ros Agent,采用udp方式通信


 

 

 

机器人

RT-Thread运行Micro ROS


 

机器人

连接成功后Micro ros Agent会显示创建的信息


 

机器人

Ubuntu:运行获取车速


 

 

 

机器人

Ubuntu:通过移动主题控制小车前进,pwm设置为10%


 

 

 

    

 

 

机器人

 

 RT-Thread:响应

 

 


 

 

机器人

 

Ubuntu

:运行获取当前车速

 


 

 

 

机器人

 

  Ubuntu

:通过移动主题控制小车前进,pwm设置为50%

 


 

机器人

 

 Ubuntu

:运行获取当前车速

 


 

 

 

机器人

Ubuntu:通过设定距离主题控制小车移动特定距离


 

机器人

RT-Thread:响应

本文创新性地提出并实现了基于 vmRT-Thread 的虚拟化融合方案。该方案通过将ROS2与实时控制深度集成于单一芯片平台,不仅有效解决了系统体积、部署调试难度等实际问题,更成功赋能机器人同时执行高精度实时控制与复杂智能决策的核心功能。

这一技术路径的成功探索,为“驱控一体”等下一代高性能机器人产品的研发奠定了坚实的技术基础,有力推动了机器人系统向更高效、更智能、更集约的方向迈进。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分