小型多足机器人姿态与路径控制系统设计与实现外文翻译资料

 2022-10-25 14:29:33

英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料


概要

这篇文章提供了一种新的机器人编程系统,实现了机器人运动编程模式与动态仿真的结合,这会使机器人运动编程包含仿真的结果。此外,还提出了一种新的仿真方法,仿真程序由预先设计好的仿真功能模块组成,这会改变现有的添加仿真功能,例如添加传感器或者用户自定义的仿真函数的实现机制,用户可以轻松添加新的功能模块而不需要重新编译系统。然后,我们对人形机器人扫地,荡秋千进行仿真来评估新的仿真系统,并在最后用方块移动的例子说明了新型机器人大脑如何制定动作决策。

1 介绍

这篇文章提出了“在机器人大脑中嵌入动态仿真”的观点和实现方法。这种机器人大脑具有内置的动态仿真系统,可以做出移动决策,学习或者运用模拟环境进行预测。图一的左图说明了普通的类人机器人大脑,例如FAST[1]和OpenHRP[2],与动态仿真的关系。此类大脑可以与真实的机器人或者虚拟机器人相连。而控制虚拟机器人的方法与控制真实机器人无异。在这种系统中,通过机器人大脑控制虚拟环境是很困难的,而且仅可以进行批处理模拟。此类机器人大脑也很难控制模拟环境下的运动模型。因此该系统下的大脑不足以进行学习,预测未来的工作。而新型机器人大脑有内嵌的模拟系统,可以用来做出预测,提出运动决策,控制运动模式。图一的右图说明了这点。这种嵌入了模拟系统的机器人大脑主要有三种优点,不仅对于机器人大脑,对于它的使用者来说,也是如此。

bull; 单一环境下的基于传感器编程

bull; 大脑可以直接控制虚拟世界

bull; 交互仿真

首先,如果机器人大脑没有对外在世界的仿真,它将用自己系统的仿真软件采用试错法的方式进行学习。仿真器不断进行试错法学习,使大脑经常运用仿真器去学习使用外接的仿真设备。然后大脑可以控制虚拟世界并使这两种环境合拍。这部分对于机器人大脑和使用者来说都是麻烦的过程。第二个优点是它可以调节虚拟世界,如果大脑根据实际情况建造了一个虚拟世界,它将可以完全控制这个仿真环境,这个仿真环境会拥有许多参数,例如摩擦力,相互引力等。第三个好处是仿真环境变成交互式的,如果机器人大脑控制了仿真环境就可以实习与该环境的交互,这将大大方便人们的使用。

这篇文章首先提出了在类人机器人的大脑中嵌入动态仿真功能的观点,在接下来的段落,我们将介绍大脑应该具备的功能,然后探讨如何实习这种系统并给出新的实现方法。对此我们将介绍一款采用该方法实习的设备-EusDyna并展示几种类人机器人大脑的仿真结果。在文章的结尾,我们将做一个实验,看看类人机器人大脑的动态仿真系统如何做出木块移动的执行计划。

图1传统仿真方法与新方法的对比

2 嵌入仿真系统的机器人大脑功能

对于正真的嵌入仿真系统的机器人大脑而言,动态仿真系统和机器人大脑一定是完全整合的。

OpenHRP便是这样的一款平台,其特点是使用CORBA实现了分布式编程,生成的文件既可用于仿真环境,也可以应用于真实机器人。然而,这是针对人类而不是机器人大脑。当机器人大脑运用仿真系统,将呈现出三个新特点:

空间可选择性

时间可选择性

交互式控制

接下来将介绍这些新特点

A 针对仿真目标选择空间

在传统的仿真系统中,所有的对像都被模拟出来,数量越多,计算量越大。机器人大脑不需要全部对象的模拟结果,仅仅需要感兴趣的那些对象的运算结果。我们便设计了这样功能,叫做针对仿真目标选择空间。就像Fig2表明的那样,机器人只对圆筒感兴趣,就只获取圆筒这块模拟环境的运算结果。

B 针对仿真目标选择时间

就像大脑可以选择空间那样,也要具有自由选择时间的功能。大脑不需要一直维持仿真环境,那样的话大量的数据江北浪费掉。针对选择的目标设定仿真的开启结束时间和回滚功能是十分重要的。

C 仿真系统的交互式控制

在复杂的仿真系统,例如类人型机器人操作人类工具中,会存在大量的仿真参数,比如摩擦力,硬度等。这就要求机器人大脑能交互地控制仿真环境。Fig.3展现了类人型机器人使用扫把打扫房间的模拟环境。首先,要使扫把头可以打垃圾清扫进簸箕,其硬度是很难控制的,而且这不是一个自然过程。如果弹力的协同因素可以通过机器人大脑来控制,大脑就很很好地模拟出扫这个动作。运动的编程没有变化,只是协同因素比较难控制。不仅要调整参数,模拟方法实习速率也要受到大脑的控制。

3 嵌入仿真系统的机器人大脑的实现

A 通过点核方法实现仿真

这一部分将描述仿真的实现手段之一,点核方法。在仿真系统中,整合,冲突,伺服模拟和对各种类型传感器的模拟循环往复,周而复始。图5的左图说明了这种方法。这种结构总是静态生成的,如果你想加入新功能或做出改变,就必须重新编译整个工程,这对于使用者来说并不轻松,而且无法动态实现。我们将这种传统的仿真实现方法叫做一体化内核方法。仿真代码是整合到一起,并且无法分割的。除此之外,这篇文章提倡电核方法,这个系统只预先提供了架构和最精简的功能,用户可以动态的添加删除功能。图5的右图说明了这种方法。诸如伺服模拟的功能通过不同模块来实现,系统轮流调用这些模块,每个模块只具备单一功能。如果新的仿真方法需要,大脑可以添加任意模块,并且可以在仿真系统运行中动态完成。所有的模块都拥有统一的接口可以与系统相连,而且每个模块都知道仿真系统选择的是哪个对象。

此外,有人认为仿真系统还应呈现不是物理性仿真的现象,比如模拟开关灯光,机械系统等。因为这类非物理性仿真得功能有很多,所以并未预先写入仿真系统中,但可以根据需要随时添加。图6是一种仿真环境下的突围游戏,在游戏中,围墙阻止小球的脱困,这不是物理性功能。如果你使用的是传统的仿真方法,就需要为了添加新功能重新编译仿真系统。如果你使用点核仿真系统,就可以轻松加入新的功能。

图2

图3

图4

图5

图6

B,实现示例:EusDyna

我们开发了EusDyna,一款真正的嵌入仿真系统的机器人大脑。它基于EusLisp,EusLisp采用LIsp来实现,具有几何模型和多线程编程的功能。仿真模型也是通过EusLisp的模型函数模拟出来的。我们用EusLisp开发了许多的运动程序,EusDyna就可以利用这些资源。我们也常常使用EusLisp做出抽象或者静态几何环境下的规划。EusDyna扩展这些规划到力学几何世界。

EusDyna的仿真部分采用了上节提到的点核方法。图7展现了程序在解释器和线程中的执行情况。列表1中的模块轮流在每一单步中调用执行,从而实现了模拟仿真。这个执行流程由解释器控制,而且你也可以单独执行每一步。核心物理模块使用了外部的函数库,因为它属于可以被替换掉的模块之一。四个使用了ODE,涡流数学引擎,PhysX物理引擎的模块可以使用PPU(物理处理单元)或者EusLisp单独来实现。EusDyna可以使用以上的一种核心模块和其他一些模块。使用者并不需要去了解它们的具体实现细节就可以使用它们的函数库,因为它们都被封装好了。模块和指示器的管理植入到仿真内核当中,对EusDyna而言,列表1中的模块都实现了这样的机制。

图7

表格1

仿真模块示例

模块名称

功能

Dynamics

冲突和整合仿真代码

Servo

控制伺服电机

Force Sensor

模拟力传感器

Acceleration Sensor

模拟加速度传感器

Gyro Sensor

模拟Gyro传感器

ZMP Sensor

模拟ZMP传感器

C,EusDyna的API和示例代码

表格2展示了EusDyna的主要API。特殊的一点是”d-tick”用来单步执行仿真,“d-make”用来选择目标执行仿真或者设置无碰撞对。机器人大脑可以运用这些API来进行预测互学习。图8展示了一个简单的代码。首先,它创造了两个立方体并设定好它们的颜色和质量,运用定位方法确定立方体的位置。然后执行余下的EusLisp代码,d-init, dmake,d-sart,objects。这些代码在实现了初始化程序,选择目标物体,开始模拟仿真和结束模拟仿真的功能。这段代码的展示结果呈现在图9中,该过程不需要其他的程序模块或者仿真方法。

除此之外,对游戏,儿童车,机器人手臂和类人型机器人的仿真模拟可以用100-200行代码来实现,并且它们的实现效果呈现在图10中。EusDyna的仿真模拟速度主要取决于所使用的函数库。如果它使用ODE,则可以用740毫秒呈现出图4中的类人型机器人1秒钟的模拟仿真图像。这一点表明机器人可以实时使用仿真模拟功能。

1 (setq aa (make-cube 100 100 100))

2 (setf (get aa :face-color) :blue)

3 (setf (get aa :weight) 50)

4 (setq bb (make-cube 200 200 150))

5 (setf (get bb :face-color) :yellow)

6 (setf (get bb :weight) 60)

7 (send aa :locate #f(50 50 600))

8 (send bb :locate #f(0 0 800))

9 (objects (list aa bb)) ;; display

10 (d-init) ;; initialization

11 (d-make (list aa bb)) ;; select

12 (d-start) ;; start simulation

图8. EusDyna的简单代码示例

图9 简单例程的仿真结果

图10 对游戏,儿童车,机器人手臂和类人型机器人的仿真模拟

表格2

EusDyna的主要API

API名称

功能

d-init

d-end

d-tick

d-start

d-backtick

d-make objs

d-make-joint b1 b2

d-no-collision objs

objects objs

初始化仿真

终止仿真

单步执行仿真

开始仿真流程

单步退回仿真

生成仿真目标“objs”

在b1和b2之间建立连接

忽视“objs”的结果

在显示器上展示“objs”

4 类人型机器人的仿真模拟

整合了仿真模拟系统的类人型机器人大脑为仿真模拟提供了新的可能性,即是仿真空间和时间的可选择,仿真的交互控制。本章节讲主要介绍这种新型的仿真模拟。图11是类人机器人大脑仿真模拟的基础。类人机器人走到球前面并踢它。这种仿真是主要的,因为它不需要在纸上做额外描述。这里也将展现一些更复杂的仿真例子。

图12是一个运用空间选择性的仿真示例。人形机器人拿着一个碟子并把它放到托盘上,然后移动托盘。因为机器人大脑仅仅选择碟子,托盘,案板作为仿真对象,所以可以快速地模拟如此复杂的虚拟场景。

图13展示了用扫把清理垃圾的仿真结果,该仿真应用了时间可选择的功能。图14为仿真模拟和执行动作的主要代码。几何模型在第一,第二行代码中被创建。这是一个静态模型,主要用于摆pose或动作规划。以“send”为开头的代码行叫做机器人模型的方法。如果机器人被选作仿真对象,它就会执行仿真操作;如果没有则仅执行绘

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[154170],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版