ROS学习-URDF-对机器人设计的理解

学习ROS这么久以来,制作过ROS小车,却从未真正深入地去学习过ROS的URDF建模,没有尝试过用仿真的方式模拟真实的机器人在虚拟的世界中运动。直到最近观看了2019年ROS暑假培训古月老师的演讲,才感受到仿真的魅力,尝试着制作URDF机器人。

这里先谈谈学习完URDF后对机器人设计的理解

现在的论坛、交流群讨论中,对机器人的设计主要聚焦在对机器人的功能、外观的设计。
Ⅰ 功能
功能不用说大家都懂。其实准确来说是对应用场景的兼容,对某种需求目的的实现。举个例子,消防机器人。设计这种机器人那就必须让机器人具备消防的能力,能够应对火灾的场景,也就必须携带消防的相关装备,如水枪、火情探测仪等等。诸如此类的机器人还有很多,这里不一一列举。
Ⅱ 外观
外观与应用场景也有着很大的联系。像雪地车,那么就必须装配履带,履带就是应对压力小的场地,而且履带相对于轮式有着极大的形状体积差异,这就是功能与外观共同作用的结果。同样的例子还有变形机器人,如乐森机器人。但是更典型的外观设计,是教育机器人。大部分教育机器人其外观设计都偏于幼龄化,卡通化。这里外观就起着极大的决定因素。总结下来,外观设计就是对形状、颜色进行的一系列设计。

上面两种设计思路中其实隐藏着更深层更细节的一面来看待机器人的设计,那就是对关节与整体的设计。我无法详尽地描述这一种辩证关系,但我会尽量准确地来表述我的这一理解。

关节设计指代的可以是link与link之间的这种joint关节。举个例子,同样大腿+小腿的机器人设计,六足机器人就要比四足机器人多出四个关节的控制,灵活度相对要好。
ROS学习-URDF-对机器人设计的理解_第1张图片
关节设计指代的可以是传感器。举个例子,无人驾驶汽车上需要携带大量的传感器来确保车辆行驶的安全。
ROS学习-URDF-对机器人设计的理解_第2张图片
那么这个关节应该怎么定义呢?
我的理解是:可编程控制的硬件。

那么机器人怎么定义呢?我的理解是:硬件+软件
硬件:可编程控制的硬件+固定硬件+外观
软件:硬件控制程序+系统控制程序

那机器人该如何设计?
我的理解是:固定外观设计+可编程硬件+一整套控制逻辑。

这样的理解,世间万物的嵌入式设备、有逻辑运算的机器都可以成为机器人。只是特定场景,特定功能的不同而已。而ROS是什么呢?ROS是提供这一套逻辑的中枢神经,把硬件控制并联到系统的核心之中。

最后我想运用这个理论结合想象力来说明一些东西。
《变形金刚》大家应该都是看过了解过的。变形金刚的身体是由一个个金属细胞构成的,而且每个细胞都是可编程的…我不用说下去你应该也懂得我想表达的是什么意思了。上面说到机器人的硬件是可编程控制的硬件+固定硬件来构成的。这实际上是把机器人给限制住了,方便我们进行程序编写。因为关节越多,机器越灵活,但是代码量也是呈现指数上涨的。如果我们有足够的能力来编写代码,将整部机器小到关节与关节之间的距离如细胞一般,那么像机器鸟,翅膀的扇动不再是一两个关节的事情,而是启动整个翅膀全部关节的力量,飞行的控制将会是更加精确,就连真鸟的抖水动作、羽毛全部矗立都能够做到。但是如此高精度的机器,一旦出故障,也是相当麻烦,这也是需要思考的一个大问题。最后以机器蛇作为结尾吧。
ROS学习-URDF-对机器人设计的理解_第3张图片

你可能感兴趣的:(ROS)