`

orocos开源项目简介

 
阅读更多

Orocos (Open Robot Control Software ) 是一个用来构建实时控制软件的C++框架,适合开发机器人或者机器的控制软件。Orocos 实时工具包提供了一个基础框架,以快速开发可运行在实时操作系统的应用,如RTAIXenomai ,当然它也支持 Linux 系统。这个计划的目的是要开发一种通用的,免费的模块化架构,用于机器人控制。Orocos计划用四个C++库组成:实时工具集,运动学与动力学算法集,贝叶斯过滤库 及 Orocos组件库。


时实工具集RTT)不仅是一个应用程序,还提供了基础机能来支持使用C++来构建机器人应用。善长在实时,在线交互与基于组件式的应用。

Orocos组件库OCL)提供了一些现成的控制模块。如硬件接口模块,控制模块 及 模块的管理功能组件。

运动与动力学组件(KDL)是一个C++的函数库。提供了时实的动力学约束计算。

贝叶斯过滤库(BFL)提供了一种特别的应用。他是由动态贝叶斯网络理论所推导出的。这个理论可以做递归信息处理及基于贝叶斯规则的算法评估,例如卡尔曼滤波,粒子滤波算法等。

Real Time Toolkit

 

此外,现在orocos项目还提供一个用于仿真的Simulation Toolbox

不考虑贝叶斯过滤的情况下,主要包括KDL和RTT两个namespace,而KDL又包括kdl family和motion两个module,主要针对机器人本体模型。RTT工具链是最核心的,KDL可视作其框架中脚本文件的属性(properties and in script files of the Orocos Real-Time Toolkit framework),KDL对此提供了相应的类KDL::KDLToolkitPlugin.从编程的角度,rtt中的类提供了kdl中变量的type信息和composer,decomposer方法。

一个用于底层构建,一个用于上层编程?

OCL包含在RTT中,它提供了与硬件和应用无关的组件,不同task之间的data flow port,也提供了sensor,motor的hardware interface,应该是可以构建类似于ABB的虚拟控制器Virtual IRC5及对应的与硬件关联的实际控制器。

Orocos as Middleware

RTT提供了一个实时引擎作为应用程序和操作系统之间的适配层,不同的component从软件的角度看就是不同的task,相互之间存在通信。RTT除支持C++,还支持script language(优点是易于扩展和不需重新编译)。编程时涉及到task之间的进程调度。

如果组件采取分布式,则在network上用corba协议通信。

分享到:
评论

相关推荐

    orocos-bfl.zip

    Orocos 是一个开源软件项目,旨在为机器人操作系统(ROS)和其他实时控制系统提供工具和库。BFL 是 Orocos 项目的一部分,专门用于实现各种贝叶斯滤波算法,这些算法在传感器融合、目标跟踪、导航和控制等领域有着...

    rtt:Orocos 实时工具包

    Orocos项目是一个国际协作的开源软件项目,其目标是为机器人系统开发提供一套通用的工具和中间件。项目包括了多个组件,如实时工具包(RTT)、任务层(Task Layer)、kinematics和dynamics库(KDL),以及ROS接口。...

    rtt_ros_examples:Orocos RTT 和 ROS 集成示例

    Orocos RTT 是一个开源软件框架,设计用于构建模块化、可重用和实时的嵌入式系统。而ROS则是一个广泛使用的开源机器人软件平台,它提供了开发、测试和部署机器人应用所需的工具和库。 本项目"rtt_ros_examples"专注...

    imu_filter_madgwick_IMU滤波_filter_imu_filter_madgwick_IMU_IMU滤波_源

    压缩包子文件的文件名列表中,"COPYING"可能是许可文件,说明项目的开源许可协议;"CHANGELOG.rst"记录了项目的更新历史;"CMakeLists.txt"是CMake构建系统的配置文件;"package.xml"是ROS包的元数据文件,包含了包...

    ros control

    - **OpenRTM**: 日本开发的一个开源中间件,用于构建分布式实时系统。 - **YARP**: 意大利开发的另一个实时中间件,目前仍在发展中。 #### 五、ROS Control的关键组件 ##### 1. 设置机器人 设置机器人是ROS ...

    EV CHINA2019上海国际节能与新能源汽车产业博览会.pdf

    8. **开放源代码软件**:如OROCOS项目和RT-Connect,是机器人控制系统的重要组成部分,它们提供了高效、模块化的路径规划和实时控制解决方案,对于机器人和自动化领域的研究和开发具有重要意义。 以上知识点反映了...

    机械手臂:机械手臂

    8. **库和框架**:项目可能依赖于一些开源库,如OpenCV用于图像处理,orocos-kdl用于机器人动力学建模,Boost库提供各种实用功能。 深入学习和理解这个项目,需要具备C++编程基础,了解机器人学的基本原理,如...

    ROS机器人操作系统入门 Tutorials CN版 20150726

    它是一个开源的元级操作系统(后操作系统),提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多...

Global site tag (gtag.js) - Google Analytics