通过Leslie Langnau,总编辑
随着机器人应用继续向高混合、低容量的情况转变,可用的编程时间缩短了。一种解决方案是开源编程。这种“众包”方式正帮助制造商迅速将机器人推向市场。
开源软件能帮助你更快地开发特定应用机器人吗?对于许多机器人开发人员来说,是的,它可以,特别是如果您使用机器人操作系统(ROS)。然而,大多数针对工业市场的机器人制造商出于逻辑上的原因,对使用这个开源平台犹豫不决(有些人会说是抵制)——如果一段代码失败了,谁来承担责任呢?解决这个问题的方案是ROS的工业版本,它解决了开发人员的安全和实时操作问题。这个版本由工业公司和研究人员组成的联盟管理,被称为ROS industrial,或ROS- i。
这个联盟采用了ROS算法中最好的功能,对它们进行审查,在必要时对它们进行改进,并加强它们的工业应用。
Yaskawa美国公司Motoman机器人事业部技术总监Erik Nieves表示:“ROS Industrial是一种将ROS的某些部分正式化和强化的方法。”
该联盟已经为驱动程序和接口设置了标准,所以您可以保证代码将满足最低标准。它为行业相关的机器人操作软件和开发工具提供一站式的位置。
但是为什么首先要使用开源平台呢?主要是因为ROS和ROS- i都有助于加速机器人功能的开发。
“把ROS看作是功能的快速原型工具,”Nieves说。“这是一种高效的代码创作方式,因为你在全球拥有比任何特定公司更多的开发人员。你正在利用可能解决方案的‘全球大脑网络’,快速构建你的想法。”
ROS-I为不同应用程序的开发提供了一个结构,这些应用程序可以应用于整个行业,而不仅仅是针对一个特定的用户。现有的ROS-I包具有高级感知和路径/抓取规划等功能,可以实现技术上不可实现或成本高昂的工业机器人应用。
在实践中,用户使用ROS协议开发接口或驱动程序。然后,用户将该接口或驱动程序提供给ROS工业社区,表明这是第一次或早期尝试。社区中的其他人可能会贡献代码或简化代码,或者解决代码开发中出现的问题。ROS-I包的一个主要好处是联盟很好地记录了整个过程,因此在必要时可以向后追溯。
ROS使从运行中的基于ROS的系统中插入和删除节点变得容易。
实时的问题
ROS和ROS- i都不适合工业机器人的实时性要求。
ABB机器人公司汽车技术和支持经理Nick Hunt指出:“ROS-I包针对大多数通信协议的应用级别。“出于安全考虑,大多数工业厂商都不会开放他们的实时操作系统。”
“我们将ROS用于其非实时值,”Nieves同意道,“用于更高级别的命令。ROS不会给我们的实时带来任何价值。我们已经知道如何做所有的运动学,动力学建模,以及所有其他依赖于硬实时的函数。我们在我们自己的控制器中在VXworks RTOS中这样做。我们不希望ROS取代它。”
亨特补充说:“和其他机器人供应商一样,我们已经开发出了可以消除机器人逃跑的强大软件,所以没有理由替换它。”
ROS-I名义上运行在Linux上,通过以太网,速度足够快,可以与感知系统进行闭环运行,但它应该与一个高级控制器和一个低级实时控制器相匹配,以关闭伺服反馈循环和处理安全需求,如E-stop。ROS- i在ROS的基础上添加了对工业自动化有用的统一机器人描述格式(URDFs)、接口库(驱动程序)和功能(包)。
ROS和ROS- i降低了调试代码的难度。它的模块化结构允许工程师在开发过程中运行编程代码的节点,同时运行已经调试过的代码。
该联盟为工业自动化软件的开源开发和ROS代码提供监督和结构。代码被审查并自动评估质量指标。
ROS-I还为学术研究提供了一个渠道,可以在行业内进行审查和快速实施。该联盟并不强制公司使用该协议,但它确实鼓励公司遵循最佳实践标准建议。
在实践中,ROS-I通常用于在机器人的其他程序或组件之间来回传递参数,为每个节点提供所需的信息。它的核心是一种通信方法——一种消息传递体系结构,其中各个部分可以以已知的方式相互通信。
多亏了通信协议ROS和ROS- i,工程师们现在有了一个共同的平台来合作开发机器人。结果是,机器人的创新正在更快地发生。
ROS-I提供了什么?
使用ROS-I驱动程序和接口的好处之一是,它可以解决用户可能无法实现的自动化问题,特别是在一些非传统的机器人应用中。
亨特说:“这些应用包括机器人“感觉”前进的情况,而不是被明确指示移动。”“例如,在组装某件东西的过程中,机器人不一定确切地知道相配的部件应该去哪里,但它会使用各种技术来摸索方向。或者我们想让机器人在远程操作时,通过触觉反馈告诉我们它做了什么;我们通过机器人做事情,通过机器人操作,但我们看不到机器人的应用。另一个途径是在娱乐应用中使用机器人。在一个例子中,一个机器人控制摄像机,使电影人能够以创新的方式使用角度或重复动作来制作特效。”
胶片应用利用了机器人的关键功能,如可重复性、准确性和速度,操作相机的速度比人更快。
在ROS-I中有许多路径生成和优化包,因此客户不需要开发这些功能。用户可以找到机械手逆运动学的软件包,包括超过6个自由度的机械手的解;高级2d(图像)和3d(点云)感知;以及基于高级感知和模型的完全动态路径规划,而不是简单地重复被教过的路径。
有些项目消除了路径规划和教学。代码用于基于高级感知和模型的动态路径规划。无碰撞,最优路径自动计算给定的路径终点。
ROS-I甚至提供了将抽象编程原则应用于类似任务的包,这在小容量应用程序或工件有轻微变化的应用程序中非常有用。
在很多情况下,你不需要为机器人的运动开发一个算法——它已经被完成了。您只需转到ROS-I并下载已经执行所需任务的代码“堆栈”。
另一个好处是该软件使自动化可互操作。各种机器人组件,包括机械手、末端执行器、感知系统和传感器、移动平台和外设都可以使用一种语言——ros消息——并互操作,而不考虑OEM品牌或通信总线。
ROS-I使得oem可以很容易地将功能调整到他们的产品中,并将特性和功能商品化,最大限度地减少互操作性的障碍。在许多情况下,您可以在不同的机器人系统中重用代码或堆栈。所有这些功能都有助于加速新机器人设计的发展。
ABB
new.abb.com
日本安川电气
www.yaskawa.com
了下:《设计世界》文章,机器人报告,软件

我也喜欢你们平时起床的样子。
这种聪明的工作和覆盖!再接再厉
我把你们放到我们的博客上。