|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
ROS2基于ROS升级而来,如果说ROS为机器人研究和机器人原型开发提供了公用的软件架构并建立了良好的开源⽣态的话,那么ROS2就是在此基础上进一步补齐了⽤于机器人部署环境的开发架构和相应的工具链。
这一升级也是因为随着ROS在各类机器人系统,甚至延伸到在各类无人系统中的普及,暴露出了越来越多的弊端。首先它对资源的需求大,并不能保证在资源有限的嵌入式系统中运行,其次它的通信抗干扰性较差。可以说传统机器人ROS实质上是仍旧停留在主控芯片边界的,需要通过串行协议或者ROS中的工具与主控芯片集成在一起。如果操作系统允许在硬件级别附近运行ROS节点,那么所有硬件外设都可用于该应用程序,从而使其能够直接与低级总线系统进行交互,亦与传感器和执行器接口互通。从ROS到ROS2正是基于这些原因进行的升级改版。
ROS2解决了ROS在很多层面上的性能短板,包括但不限于实时性、对MCU的支持、网络通信的依赖程度、多机器人的支持等等。另外,ROS2采⽤RTSP(Real-Time Publish-Subscribe)协议的DDS作为中间层,大大提升了通信表现。DDS作为⼀种⽤于实时和嵌⼊式系统发布-订阅式通信的⼯业标准,在系统容错和灵活性上会更加完善。总的来说,ROS2解决了ROS在下一代实时机器人技术上的局限性。
机器人是一个系统中系统——它包括感知环境的传感器,感知环境的执行器,计算处理所有系统,同时对其应用做出一致的响应。在很大程度上,机器人技术是系统集成的艺术,无论是在软件还是硬件方面。作为机一种高度集成的专业化系统,机器人旨在执行具有高可靠性和精度的任务。因此,机器人中的硬件和软件能力之间的关系是至关重要的。
大多数机器人在内部网络交换信息,这在某种程度上可以说机器人是一个对时间敏感的网络。机器人系统通常只有有限的板载资源,包括内存、I/O和磁盘或计算能力,这阻碍了系统集成过程,使其在非结构化、动态或不断变化的环境中难以满足实时需求。因此,必须为机器人系统选择一个合适的计算平台,一个既能简化系统集成,又能满足功率限制,并使机器人适应不断变化的需求(即自适应机器人)。
自适应机器人三大基石分别是自适应行为、自适应机电一体化以及自适应计算,至少满足其中一个才能被称为自适应机器人。我们这里主要关注自适应计算。自适应计算指的是机器人在运行时适应其计算系统的一个或多个属性(例如,其决定论、功耗或吞吐量)的能力。FPGA一直以来都扮演了自适应计算中的重要角色,从过去这么多年的机器人应用来看它比CPU和通用GPU都更适合机器人自适应计算。 |
|