Orocos组件库(OCL)The Orocos Component Library是用于构建应用程序的基础结构组件的集合。
工具链包含用于组件部署和分发,实时状态记录和数据报告的组件。 它还包含用于创建组件包的工具,极其简单的构建说明以及用于普通C ++结构和ROS消息的代码生成器。
组件由部署者加载到流程中,部署者通过XML文件获取其配置。 进程之间的通信与组件是透明的,但是Orocos必须知道您的数据(cfr“ typekits”和“ transports”)。 但是,大多数新用户都使用“部署程序”应用程序以单个过程开始。
组件是功能的基本单位,可在单个线程中执行一个或多个(实时)程序。 程序可以从实时程序脚本上的纯C / C ++函数到实时分层状态机,不一而足。 重点完全放在线程安全的时间确定性上。 这意味着该系统没有优先级反转,并且所有操作都是无锁的。 实时组件可以透明地与非实时组件进行通信(反之亦然)。
Orocos组件模型可以:
在单个进程中进行无锁,线程安全的组件间通信。
(分布式)进程之间的线程安全的进程间通信。
硬实时组件和非实时组件之间的通信。
高优先级线程在通信过程中的确定性执行时间。
组件之间的同步和异步通信。
运行时组件自检的接口。
以上所有功能的C ++类实现和脚本接口
OCL:Orocos组件库一系列用于运动,机器和机器人控制的有用组件。