![]() |
机器人实时操作系统RGMP-ROS:VNET管道通信,拥有独立的外设 |
||
| 2026/3/23 9:54:31 | 1658 |
|
RGMP 是一个利用多核架构实现的实时与非实时操作d立运行的混合操作 系统框架,如图2-3所示。通用操作系统(Linux) 和实时操作系统(RTOS) 在 各自的 CPU 上d立执行。I/O 设备被分成实时设备和非实时设备,分别被实时 操作系统和非实时操作系统控制。中断控制器被用作中断路由器,将两种设备 的中断信号路由到相应的操作系统。其中, RTOS 接受实时中断,如电机驱动、 传感器等产生的中断信号;Linux 接受非实时中断,如人机交互、显示等中断信 息。实时操作系统和通用操作系统都完全控制自己的 CPU, 所以没有多余的软 件层需要介入到操作系统和硬件之间。硬件中断被每个操作系统直接处理。同 时各个操作系统d立运行在各自的CPU 上不仅解决了CPU 共享问题,还能确保 操作系统之间不会相互影响。
Nuttx 是一个实时嵌入式操作系统,它小巧灵活,适合在微控制器的环境中使 用,并且具有较好的可扩展性,能够支持从小型(8位)至中型(32位)嵌入式系 统 。Nuttx 以完全符合标准、完全实时和完全开放为发展目标,提供了机器人操作 系统所需的常用功能:UIP 协议栈、Shell、基本C 库、简单的几个C++库等。为了 解决ROS 实时性能不足的问题,基于上述技术要点,利用RGMP 本身混合操作系 统架构的优点,通过将Nuttx 实时操作系统移植到RGMP 的实时部分,实现了基本 混合操作系统的构建,创造了一个满足实时性需要的 ROS 混合机器人操作系统 RGMP-ROS。
RGMP-ROS的系统框图如图2-4所示,整个机器人混合操作系统由两个部分组 成:一个是安装在Linux 上的标准ROS 系统,另一个是运行在实时操作系统Nuttx 上的实时ROS 系统。我们将运行在Linux 上的ROS 功能节点称为非实时ROS 节点, 运行在实时系统上的ROS 节点称为ROS 实时节点,它们运行在各自的操作系统之 上。实时与非实时节点之间通过RGMP 提供的VNET 管道进行通信。实时ROS 节 点运行在Nuttx 之上,能够通过标准的ROS 通信协议实现实时节点与实时节点、实 时节点与非实时节点之间的通信,并且传递符合ROS 协议规范的消息。实时节点 通过Nuttx 驱动与Nuttx 系统内核和实时系统挂载的外部设备进行交互,以达到控 制实时设备的目的。为了保证实时性,GPOS 与 RTOS 各自拥有d立的外设。
|
||
| 上一篇 下一篇 | ||
| 返回顶部 ∧ |
| 技术支持 |
| 关于创泽 |
| 隐私条款 |
|
版权所有 @ 创泽智能机器人集团股份有限公司 运营中心 / 北京市·清华科技园九号楼5层 生产中心 / 山东省日照市开发区太原路71 |