英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
机器人运动规划仿真环境
瑞士中部应用科学大学 艾伦·阿伦 出版时间:2005 邮箱aettlin@hta.fhz.ch
摘要
介绍了一种实时物理模拟框架.它非常适合于模拟机器人运动规划算法开发和测试的环境和系统。可以对整个控制回路进行仿真。这包括对机器人传感器和传感器的仿真。目前的环境概括一个刚体模拟,它不仅包括再加工,而且还包括动力学效应。它对典型碰撞进行实时或更快的碰撞检测和解析.完全模块化设计意味着框架的可配置性和可扩展性。还可以集成包括电磁力等现象的其他物理模拟模块。这些模块可以与现有实体进行交互,以构建一个整体系统。可以通过I/O接口与外部硬件通信,从而允许硬件内部仿真.我们给出了工业应用和移动应用的实例。我们还描述了为什么cpp是机器人运动规划的真正资产,以及我们打算如何将它应用于这一领域。
1介绍
设计并实现了一个面向环境的综合仿真框架。对于典型的宏观应用,这一领域的物体都是刚体。仿真不仅包括刚体动力学方面,也包括全刚体动力学.在物体之间进行碰撞检测和解析。可以指定关节来连接物体和物体相对运动的自由度。
在标准pc机的功率下,对典型的pc进行实时仿真甚至更快的仿真。我们提供了对传感器和传感器进行模拟的方法,并能实现到它们在现实世界中的特定行为。
包括与外部硬件设备的接口,该外部硬件设备可连接以执行硬件在环模拟。该软件包的模块化设计允许对仿真应用程序进行量身定制的组合。因此,再扩展也是一项相对简单的任务。可以增加新的功能,包括额外的物理模块,例如电磁场模拟,以扩展框架的范围。
2 动机
使用类似于机器人运动规划的仿真框架具有多种优点:
- 在系统的限制范围内,任何任意的环境都可以被创造出来。在现实环境中测试机器人行为的努力要比在模拟环境中进行等效实验要高得多。
- 我们的模拟的初始条件可以准确,从而确保一致的环境行为。特别是在测试运动规划算法或比较各种这样的方法时,这是一个显著的优势。
- 基于学习技术的行为算法的训练阶段可以大大缩短,比实时模拟要快得多。
- 大量自动生成的测试用例可以帮助发现和克服设计缺陷。
- 在实际硬件上部署自动生成的测试控制算法,如果在早期测试过程中出现错误,使用仿真环境可以降低此类风险,则会造成严重的危害。
当然,没有一个仿真环境能够代替真实世界进行综合测试,但这两种方法的优点使模拟实验和现实世界中的实验的平衡结合增加了。
3体系结构
3.1概述
该框架设计为完全模块化。遵循良好的软件工程实践,必须在模块内部实现高度的内聚,并结合低级别的耦合。在此基础上,我们定义了组成整个系统的软件模块的抽象功能。由于每一个高级功能都提供了指定的功能,基于功能的应用程序是根据功能而不是任何特定的技术来设计的。在实现相同功能的同时,一个模块抽象的实现在某些特性上仍然存在差异。在按实现模块组装应用程序时,可以选择最合适的模块。还可以包含相同逻辑功能的多个实现,并让用户在运行时选择使用哪一个。
图1显示了高级软件体系结构的概述。在图中,最低层表示使用该框架的仿真应用程序。这部分是唯一的应用程序代码。仿真的内容(场景、想要的地方)自然也适用于特定的应用,其他的一切都是由该框架提供的。在图1中,暗灰色的盒子代表外部的部分。
图1:高级体系结构概述。
3.2 系统
我们将所有被模拟实体的和称为系统。特别是,该系统包含所有子系统。在我们的框架下,在系统上执行中央仿真管理任务。
3.3子系统
在模拟技术中,一个子系统对一个特定的模拟单元进行划分。每个子系统抽象为它所代表的功能提供了一个定义良好的接口。例如,刚体动力学模块抽象提供功能接口,该接口由其所有具体实现所遵循,例如,在第4.1节中介绍的刚体动力学模块。
在简单的情况下,每个仿真只创建一个子系统。如果使用了多个子系统,则提供一种我们称之为链路的通信机制。链接根据对象和对象属性指定接口,这些对象和属性用于两个连接的子系统。创建多个子系统的可能原因如下:
- 功能:如果需要一种以上的模拟,就可以创建多个子系统,这些子系统包含要模拟的所有现象。一个例子是刚体动力学模拟(第一个子系统)被电磁场模拟(第二个子系统)补充的情况。
- 维度:数值模拟往往只在临界单位的某几个数量级内取得令人满意的结果。例如,仅对尺寸和质量相似的物体进行刚体动力学模拟是准确的,所需的相似性程度取决于具体的实现。在这种情况下,可以在不同维度创建相同类型的多个子系统,以模拟整个设置。
- 平行化:另一个分裂模拟的原因是负载平衡。在整个设置的比较独立的情况下,即可以满足对扩展的带宽要求时,可以通过这样高级别的模拟来实现更好的总体性能。
3.4观察模块
观察模块提供检查模拟内容的功能。目前,我们区分两种主要类型的观察者:图形和文本。
图形观察者是建立在3D图形引擎的基础上,该引擎在运行时使仿真更加逼真.它非常适合于向仿真用户提供仿真状态的概述。一个广泛的视觉效果可以用来提供更多的信息或增强的吸引力。
高级3D图形观察模块抽象包括将以前的对象状态表示为跟踪的功能,以及精确的接触点和碰撞发生时的关联。
然而,基于文本的观察者更适合于对仿真细节进行仔细检查。文本观察者可以完全访问所有的模拟数据,这些数据可以显示在一个数据网格中,并可以用MATLAB等外部工具导出以供进一步分析。
模块化结构使得在另一台计算机上运行的远程观测器的创建相对简单,而不是实际的仿真。使用专用仿真服务器的分布式体系结构的应用程序也可以很容易地设计。
3.5 传感器和执行器
传感器和相应的传感器在逻辑上包含在一个子系统中。他们指定了一个通用接口,可以用来模拟各种传感器和传感器。
为了模拟多种测距传感器,射线投射技术可以应用于刚体模拟中。
在这种情况下,低级别控制器也包括在功能中.例如,电动机可以通过某种特征曲线将给定的输入电流转化为施加到现场的扭矩。传感器或执行器的属性是在它们的实现中指定的。
4安装与启动
在这一部分中,我们的刚体动力学模拟的实现和一个三维图形ob-服务器被简要地讨论。整个框架用C语言编写。
4.1准刚体动力学
对于刚体动力学仿真,我们使用了仿真库[10]。这些库在它们的类别中提供状态和性能。它为刚体动力学、碰撞检测和碰撞分辨提供了具有模拟物体数量的线性时间行为。碰撞形状包括任意组合(球体,盒子和胶囊-一个圆柱体与两个连接在末端)和任意等分网格形状。一些可供选择的关节类型,以及一个普通关节,可以指定自由度和运动范围的限制。
4.2Irrlicht3D图形观察模块
基于ACH[6]的图形观察者是我们框架中包含的第一个观察者,它完全依赖于开源软件。当这个图形引擎还在开发的时候,它提供了许多计算机图形技术,例如,透明性和动态照明,这些技术允许清晰和直观地进行模拟。图形引擎与平台无关,运行于Direct3D、OpenGL或本地软件。一个主要的好处是界面设计得很好,而且易于使用.图5和图6是从图形观察者中截取的屏幕截图.
5例证
我们给出了两个应用实例。第一种方法是模拟一个带有并联机器人的工业拾取机器人.第二种是以履带车辆的形式进行的小型技术演示。
5.1工业机器人研究
与瑞士电子科技中心合作,我们为在[2]开发的再加工机器人开发了一个模拟器。该机器人是一种小型、快速、高精度的三角机器人[1]。它有一个平行的、三自由度的平行结构。该结构由一个闭环机构组成,每条链由三条链组成。连接在与工作表面平行的静态框架上的链条。每条链都有一个在“肩”位置的副接头,由固定在静态框架上的电动机构成。手臂的末端(“手”)连接在一个移动板上,在那里可以连接工具,比如一个工具。一种由两个平行杆组成的结构,连接每个手臂的“肘”和“手”。在每一端,平行杆被连接到与“肩”关节平行的轴上。这种结构确保了工件始终与工作表面保持平行。图2显示了该机器人。如图3所示,在模拟过程中显示在图形观察者中的另一种类似的机器人。图4描述了连接的设置。
图2:真实机器人的原型。
对于该方案,我们将实际应用的控制算法与仿真结果相结合。外部控制器与我们的框架,频率为2千赫。控制软件通常运行在同一台计算机上进行仿真,但我们也使用TCP/IP连接进行两个实体之间的通信。
图3:显示正在模拟的机器人的图形观察模块。
图4:刀尖结构在仿真中显示了接头的构造.
外部控制单元的概念可以很容易地扩展到在环中模拟的概念。在典型的控制回路中,由运行高级控制算法的计算机硬件组成的控制单元从机器人工作的环境中接收传感器采集的数据。基于这些数据,运动规划逻辑向低层控制器发出命令,而后者又控制器。机器人所产生的力会导致机器人的结构和环境发生变化。这些变化与传感器感知到的变化相吻合,从而关闭了回路。
在仿真中,机械机器人的硬件、环境以及传感器和传感器都进行了实时仿真。运行在其本地硬件上的控制算法与仿真系统连接起来,并与仿真系统进行通信,就像在真实环境中一样。这个设置允许测试控制算法的传真比在现实世界更多用途和完整的方式。
5.2移动式机器人研究
为了演示该框架的刚体动力学、碰撞检测和碰撞分辨能力,我们实现了一个包含履带车辆在粗糙地形下工作的仿真。这辆车每边有四个动力轮。它们将功率传递给由50个刚性轨道元件组成的轨道,由连接节点连接。在模拟过程中,一个铁轨的线网表示可以在图5中看到。
图5:模拟变温车辆的轨迹
地下是一种近似粗糙的地形。在地形上移动的整个车辆如图6所示。
图6:履带车辆在地形近似下运行。
重要的是,不同的物理材料属性可以被分配到每个表面的地形。这样就可以精确地模拟与地下的局部动态交互作用。同样的技术也可以推广到模拟场景中的所有基于对象的对象中。
6 未来工作
我们打算通过研究从仿真框架中受益的算法来扩展我们在机器人运动规划领域的活动。一方面,我们计划用它来模拟我们的规划算法所运行的世界。另一方面,我们打算扩展现有的运动规划算法,并在现有方法的基础上开发新算法,这些算法考虑以下几个方面:
- 刚体动力学:除了最基本的运动规划算法外,所有算法都考虑到机器人及其周围环境的运动学,而运动规划[3]还没有得到广泛的应用。这个问题已经得到解决,例如[9]、[8]。我们还打算包括在环境中刚体物体之间的相互作用水平上的动态效应,而不仅仅是控制机器人硬件的限制。
- 不确定性下的规划:在现实世界中,不确定性对机器人的运动规划有很大的影响[5]。不确定性主要来自传感器误差、机器人硬件中的未知因素、路径跟踪误差或环境初始数据不足。在可能完美的模拟世界中,必须相应地考虑到它们。仿真可以证明在这方面是理想的,因为可以获得对不确定性的完全控制,并研究其对规划算法的影响。
- 连续静态障碍定义:许多运动规划方法采用自由空间和静态障碍物的二元定义。通常不可能实现从潜在不确定的环境数据到这样的离散静态障碍表示的映射[5]。有一个完整的刚体动力学模拟可供我们使用,我们打算使用一个连续的静态障碍定义,以产生更稳健的运动规划算法。
- 动态障碍:除上述静态障碍外,我们还计划在我们的综合运动中包括动态障碍,例如[7]。由于未被规划算法控制的物体的运动不能被精确地预测,所以本文提出了一种估计动态障碍物未来结构的概率方法。
- 辅助性能标准:视具体情况和手头的任务而定,可以考虑不同的运动计划,最优。我们打算支持[4]中提出的多种绩效标准。
7结论
在机器人运动规划中,利用实时仿真环境,如实时仿真环境,可以获得很大的优势。实时性能是指在整个控制回路中所遇到的完全控制回路可以被模拟为硬件在环中的仿真。与现实世界中的测试相比,这使得更系统、更完整的测试成为可能。根据场景的复杂性和可用的计算能力,该框架能够比实时运行更快。刚体动力学模块的实现随着场景中物体数量的增加而呈现出线性行为。这使得比实时操作更快,甚至对于相对复杂的场景也是如此.对于需要训练阶段的行为算法,学习所需的时间可以大大减少。
我们打算充分利用仿真框架来开发运动规划算法,该算法考虑了运动规划的影响、用于决策的数据中的不确定性、连续障碍和动态障碍。此外,我们还计划支持可配置标准作为运动计划性能的基础。为了解决这些问题,我们深信,这一框架将有一个非常适合的基础。我们希望能在不久的将来为机器人运动规划领域提供有价值的贡献。
参考文献
-
Raymond Clavel. Delta, a fast robot with parallel geometry. In Proceedings of the 18th International Symposium on Industrial Robots, page
全文共6791字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[2868]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。