快速机器人原型开发与开源硬件共享:R2P与ROP平台解析
在机器人技术的发展进程中,快速原型开发和开源硬件共享是推动创新的重要力量。本文将深入探讨R2P(Rapid Robot Prototyping)快速机器人原型开发框架以及ROP(Robotic Open Platform)机器人开放平台,揭示它们在机器人领域的重要作用和应用价值。
1. 模块化硬件与软件开发的挑战与解决方案
在开展新的机器人应用研究时,首要任务是选择合适的硬件设备,如传感器和执行器,并搭建验证整体构想所需的平台。目前,硬件设备的选择主要来自自动化市场和业余爱好市场。自动化市场的组件往往价格昂贵,性能超出机器人应用原型的需求,且通常需要不适合移动机器人等电池供电系统的电源。而业余爱好市场的设备虽然价格便宜,但性能不佳、可靠性低且缺乏实时能力,无法实现分布式控制回路。
此外,不同制造商使用不同的数据链路和协议,增加了布线复杂性,需要专门的设备驱动程序。这导致最终的平台通常基于定制设置,难以在不同项目中复用。
为了解决这些问题,R2P框架应运而生。它将软件设计中常用的模块化、基于组件的软件工程策略应用到硬件层面。R2P的核心原则是,通用机器人应用的需求不仅可以在软件层面,还可以在硬件层面通过模块实现。基本功能如电机控制、距离测量和惯性导航由特定的标准化硬件模块实现,这些模块带有相应的固件,可以插入公共总线并实时交互。同时,R2P提供固件开发工具和中间件,支持用户在资源受限的设备上编写代码,使机器人设计师能够以即插即用的方式构建通用平台。
2. R2P:快速机器人原型开发框架
2.1 电源和数据链路
R2P使用单个连接器传输电源和数据。每个模块的功耗限制为5V、200mA,适合大多数电子设备的需求。对于需要更高功率的模块,如电机驱动器,则需依赖辅助连接。模块之间使用CAN - Bus交换数据,CAN - Bus专为恶劣环境设计,许多微控制器都支持该总线。其最大数据速率为1Mbps,对于只需要传输高级信息(即不交换原始传感器数据)的智能设备分布式系统来说通常足够。R2P还开发了RTCAN协议,支持偶发、事件触发和周期性、时间触发的通信,并具备软实时和硬实时约束。为减少布线,采用了菊花链布线方案,每个模块有两个端口用于连接前一个和后一个组件,方便新模块接入现有系统。
2.2 嵌入式固件开发
为资源受限的设备(如用于连接传感器和执行器的微控制器)编写代码需要特定的知识和技能。大多数机器人设计师习惯在桌面级计算机系统上编写软件,开发针对嵌入式设备的代码需要花费时间和精力。为减少这种工作量,R2P采用了ChibiOS/RT实时操作系统。ChibiOS/RT具有可移植性、易用性、丰富的功能集和极高的效率,还包含硬件抽象层(HAL),可抽象不同低级外设的硬件实现,减轻开发者对特定平台的专业知识需求,便于将现有代码移植到不同目标。
2.3 发布/订阅中间件
R2P的轻量级通信中间件支持在嵌入式目标上开发模块化软件组件。其主要目标是实现软件复用、实时通信、高效实现和易用性。该中间件遵循发布/订阅范式,数据生产者在主题(即通信通道)上发布消息,数据消费者订阅相应主题以接收消息。通过内容(即发布消息的主题)而非生产者来识别数据,促进了松耦合的软件设计和代码复用。中间件提供了大多数计算机系统上机器人框架常用的概念,如软件节点、主题、发布者、订阅者和消息队列。它用C++的一个子集编写,注重代码效率和消息传递性能。软件节点可以订阅本地和远程发布者,中间件支持周期性和偶发性发布者,并能指定实时通信约束。简单的API类似于ROS语法,使开发者能够像在计算机系统上一样编写嵌入式分布式代码,促进不同项目间的代码复用。
2.4 与ROS集成
虽然R2P支持使用现成的硬件和软件组件快速开发机器人系统,但涉及计算机视觉、定位和复杂规划等计算密集型任务的应用还需要依赖计算机系统和软件框架。在众多机器人软件开发框架中,ROS是目前学术界和研究实验室中应用最广泛的框架,最近也受到了工业开发者的关注。为了将资源受限的设备与ROS原生集成,R2P开发了μROSnode轻量级开源ANSI C ROS客户端库,并提供了网关模块,作为R2P中间件和ROS系统之间的代理,使R2P网络上发布的主题可以被ROS节点访问,R2P模块也可以订阅ROS软件发布的数据。
2.5 现成硬件组件
R2P框架设计并构建了一套即插即用的硬件模块,实现了常见机器人应用所需的基本功能。这些模块基于STM32 Cortex - M3微控制器,具有20Kb的RAM和128Kb的闪存,运行ChibiOS/RT和R2P中间件。每个模块有两个RJ45端口用于菊花链连接到总线,一个串行端口用于下载新固件和调试,还有一个JTAG头供高级用户直接访问微控制器。目前可用的模块包括:
-
PSU模块
:电源供应单元,为连接到总线的所有模块供电。输入电压范围为5.5V至36V DC,通过DC - DC转换器产生5V稳压输出,最大电流供应为4A,具备短路保护功能。可以在网络上发布电池电压和电流消耗信息,以监控功耗并估计剩余电池寿命。
-
DC电机模块
:高功率电机控制板,可驱动高达36V的直流电机,提供连续20A的电流。具有闭环控制功能,通过正交编码器进行位置反馈,并通过板载霍尔效应传感器进行电流测量。该模块接受位置、速度和扭矩设定点,并可以发布位置、速度消息和测量的电流消耗。
-
IMU模块
:10自由度惯性测量单元,包含MEMS加速度计、陀螺仪、磁力计和压力传感器。还提供一个额外的串行端口,用于从外部GPS接收器获取GPS坐标。板载传感器融合算法可生成航向、姿态和位置消息。
-
接近模块
:用于连接接近传感器,如Sharp IR测距仪或MaxBotix超声波传感器。每个模块最多可连接4个传感器,微控制器上运行校准和数据过滤算法,生成距离测量结果。
-
网关模块
:如前文所述,该模块具有以太网端口和功能更强大的支持以太网的微控制器,用于处理TCP/IP堆栈。可以将R2P消息从CAN - Bus转发到IP网络,反之亦然。网关模块运行μROSnode,实现R2P模块与ROS系统的直接集成。
2.6 开源开发
R2P的硬件和软件完全开源,其电路板设计、运行的代码和中间件都可以在R2P仓库(http://github.com/openrobots - dev)上获取。目前,R2P已趋于成熟,但仍在积极开发中,仓库会频繁更新。
3. R2P的应用案例:全向机器人Triskar2
使用R2P框架开发了全向轮式机器人Triskar2。该机器人配备了3个R2P DC模块、1个PSU模块、1个接近模块和1个网关模块,用于与运行ROS的计算机进行交互。
机器人模块上的低级控制软件利用了R2P的发布/订阅中间件。软件组件封装在R2P节点中,每个节点实现基本功能并执行特定任务。这些节点组成分布式架构,从基本的可复用组件构建复杂系统。一些节点必须在特定的板上运行(如直接连接硬件的电机控制器节点),而其他节点可以在任何连接的模块上运行。例如,在测试中,用于计算车轮速度的逆运动学模型在电机1模块上运行,而里程计节点部署在电机2上,这样可以平衡处理器负载并减少延迟。
通过R2P网关,Triskar2可以由任何发布原生ROS主题的ROS应用程序控制。首先使用标准的ROS远程操作消息对机器人进行远程操作,然后开发了一个涉及Triskar2机器人和四轴飞行器的机器人游戏,两者都由ROS软件控制。
以下是R2P硬件模块的特点总结表格:
| 模块名称 | 功能描述 | 主要参数 |
| — | — | — |
| PSU模块 | 电源供应,监控功耗和电池寿命 | 输入5.5V - 36V DC,输出5V、4A |
| DC电机模块 | 电机控制,支持闭环控制 | 驱动36V电机,20A电流 |
| IMU模块 | 惯性测量,生成航向、姿态和位置信息 | 10自由度,含MEMS传感器 |
| 接近模块 | 连接接近传感器,生成距离测量结果 | 最多连接4个传感器 |
| 网关模块 | 实现R2P与ROS集成 | 支持TCP/IP,运行μROSnode |
下面是R2P框架的工作流程mermaid流程图:
graph LR
A[选择硬件模块] --> B[配置模块]
B --> C[开发控制软件]
C --> D[集成到R2P网络]
D --> E[与ROS集成(可选)]
E --> F[运行机器人应用]
综上所述,R2P框架为机器人原型开发提供了一种高效、灵活且可复用的解决方案,通过模块化设计和开源开发,降低了机器人开发的门槛,促进了机器人技术的发展。同时,ROP平台的出现为机器人开源硬件的共享和交流提供了集中的场所,进一步推动了机器人领域的创新和合作。
4. 机器人开放平台(ROP):开源硬件共享的新途径
4.1 ROP的诞生背景
近年来,家用服务机器人的研究投入不断增加。然而,创建能够在高度非结构化环境中自主协助人类的机器人,对于任何单一的大学、研究机构或公司来说都是巨大的挑战,因此协作和知识交流至关重要。在机器人领域,开源社区极大地推动了软件发展,以机器人操作系统(ROS)为代表。但相比之下,开源硬件并不常见。虽然已经存在一些开源机器人硬件设计的例子,但缺乏一个集中交换开源硬件设计的平台。因此,机器人开放平台(ROP)应运而生。
4.2 ROP的功能与目标
ROP是一个分享和讨论开源硬件设计的平台。目前,它包含了Willow Garage的TurtleBot、波恩大学创建的NimbRo - OP以及埃因霍温科技大学的AMIGO机器人等详细描述。最终,ROP将收集一系列经济实惠的硬件组件,使研究人员能够专注于特定组件的前沿研究,而不必从头开始设计整个机器人。
4.3 ROP的应用案例:TURTLE - 5k
作为ROP促进知识转移的一个例子,介绍TURTLE - 5k。它是由埃因霍温大学及其周边地区的公司组成的联盟对现有足球机器人进行的重新设计。与工业合作伙伴的合作显著降低了成本。
以下是ROP平台目前包含的部分机器人信息表格:
| 机器人名称 | 创建机构 | 描述 |
| — | — | — |
| TurtleBot | Willow Garage | 具有一定通用性的机器人平台 |
| NimbRo - OP | 波恩大学 | 适用于特定研究场景的机器人 |
| AMIGO | 埃因霍温科技大学 | 用于服务机器人研究 |
下面是ROP平台促进知识转移的mermaid流程图:
graph LR
A[研究人员上传硬件设计] --> B[ROP平台存储与展示]
B --> C[其他研究人员获取设计]
C --> D[基于设计进行改进或应用]
D --> E[将改进成果反馈到ROP平台]
5. R2P与ROP的对比与协同
5.1 对比分析
R2P主要侧重于机器人的快速原型开发,通过提供模块化的硬件和软件框架,让开发者能够快速搭建机器人原型。它强调硬件和软件的模块化设计、实时性能以及与ROS的集成,适用于从原型开发到实际应用的各个阶段。
ROP则专注于开源硬件的共享和交流,为机器人领域的研究人员和开发者提供了一个集中的平台,促进硬件设计的复用和改进,降低开发成本,推动整个行业的创新。
5.2 协同作用
R2P的开源硬件模块可以在ROP平台上进行共享和交流,让更多的开发者能够获取和使用这些模块,进一步扩大其影响力。同时,ROP平台上的优秀硬件设计也可以为R2P框架的发展提供灵感和参考,促进R2P框架的不断完善。
以下是R2P与ROP对比的表格:
| 平台名称 | 侧重点 | 主要功能 | 适用场景 |
| — | — | — | — |
| R2P | 快速原型开发 | 模块化硬件和软件设计,实时通信,与ROS集成 | 机器人原型开发、实际应用 |
| ROP | 开源硬件共享 | 硬件设计共享、交流和改进 | 硬件设计复用、创新合作 |
6. 未来展望
随着机器人技术的不断发展,R2P和ROP平台将发挥更加重要的作用。R2P框架可能会进一步扩展其硬件模块的种类和功能,提高实时性能和兼容性,支持更多的机器人应用场景。同时,ROP平台可能会吸引更多的研究机构和企业参与,丰富开源硬件设计的资源库,促进全球范围内的机器人技术合作与创新。
在未来,我们有望看到更多基于R2P和ROP平台开发的创新机器人产品,这些产品将在工业、服务、教育等领域得到广泛应用,为人类的生活和工作带来更多的便利和价值。
总之,R2P和ROP平台为机器人领域的发展提供了强大的支持,它们的出现和发展将推动机器人技术朝着更加高效、开放和创新的方向前进。
超级会员免费看
2004

被折叠的 条评论
为什么被折叠?



