Microsoft Robotics Studio中文教程1

发布时间 : 星期一 文章Microsoft Robotics Studio中文教程1更新完毕开始阅读

第六章 总结与展望 39

第五章 虚拟环境的实现与测试

机器人开发的困难在于:1、机器人硬件价格昂贵。模块化的机器人平台,如LEGO的Mindstorms??和Fischertechnik?系列,价格属于中低档水平,但是对于国内用户价格还是偏高,如果要进行更复杂的机器人,这个花费还会成倍的增加;2、硬件故障排除困难。消费类的电子产品非常可靠,像DVD或者电视之类,但是当用户用零件组装或修复一个机器人的时候,其实是对精力的一种浪费,这些时间应该投入到程序的开发与调整中去;3、硬件损伤,在大规模的机器人比赛中或在危险的试验环境中,由于机器人硬件的唯一性使得试验变得束手束脚,不敢尝试更多的危险性试验[10]。

正是因为如此多的问题才使机器人的学习与开发一直不能普及,虚拟系统的出现让这种技术壁垒大大降低,使普通人也可以在家中进行机器人的研究,下面我们将使用MSRS所提供的虚拟系统完成环境建立和基于激光传感器的避障试验。

5.1虚拟环境简介

MSRS所包含虚拟环境为我们提供了一个良好的试验平台,这个平台设计了可视化仿真环境,调节也相当容易。由于采用了AGEIA物理引擎,我们可以在虚拟环境中模仿真实的物理环境。

MSRS提供的虚拟环境的优势有:

虚拟环境可以使技术壁垒降低,让人们不再为机器人硬件的购买、组装、维护操心,而是将精力投入到程序的开发上去。

虚拟环境允许开发者进行分部调试,这是开发人员在真实环境中很难实现的。开发人员可以在任何时刻停止机器人的运动,来观察执行的正确性,或者改动程序的某些部分。

同时,虚拟环境所提供的机器人是根据实体建立的,所有的传感器、运动系统都参考了硬件机器人的原形,这样在虚拟过程中可以更贴近现实的表现机器人的行为,而且这种虚拟也可以保护硬件机器人不会受到操作失败的碎坏。

基于Microsoft Robotics Studio的机器人设计 40

开发者也可以自己添加组件到机器人上,这种添加在虚拟环境中也可以应用,这种行为可能在硬件系统上完成较困难,但是在虚拟系统里我们可以轻松的完成,并且把精力投入到为添加的组件进行程序设计上去[11]。

机器人的学习功能也可以在虚拟系统中实现,我们可以建立一个特殊的虚拟环境,让有学习能力的机器人在这个虚拟环境中进行训练,然后在程序中查看机器人所学到的内容,如果是好的方面就可以运用到真实环境中去。

当然,虚拟系统还有自己的缺点和局限性:

MSRS的虚拟系统是将硬件问题放在一边,使开发人员集中精力开发软件程序。但是,硬件的设计同样也是机器人设计领域的问题,我们不能只将精力集中在软件方面,或许,在以后的Microsoft Robotic Studio里会加入硬件设计的模块。

同时,MSRS所提供的虚拟环境缺乏真实环境中的噪声数据,你在使用真实的机器人时会发现,就算你的机器人在虚拟环境中运行的再流畅,你还要花许多时间来根据真实的机器人调整程序。因为真实世界的不可预知性和真实传感器的噪声问题、齿轮间的误差问题,你所编写的程序面临着真实世界的巨大挑战。

尽管MSRS的虚拟环境中的机器人是根据实体进行模型建立的,但是在真实世界中的误差总是难免的,虚拟系统无法准确的模拟一切,特别是实时性的问题。像轮式机器人在低速环运动时的模拟对虚拟环境还是一个巨大的挑战。

5.2 虚拟环境的组成

仿真环境是有以下几部分组成:

1、虚拟引擎服务——该组件是用于绘制实体部分,同时它还为硬件引擎提供虚拟的时间。该组件建立了整个虚拟世界的框架,同时它还提供了整个虚拟环境的服务或者分布式的系统。

2、物理引擎管理包——使用户从底层的物理引擎界面脱离出来,该组件为硬件模拟提供了一个更加简洁和易于管理的界面。

3、本地硬件引擎库——硬件支持AGEIA PhysX技术的处理器(PC上的一种硬件加速卡)可以通过AGEIA PhysX技术加速。

第六章 总结与展望 41

4、实体——虚拟世界的一些仿真实体模型,Microsoft Robotic Studio给这些实体预定义,使用户在虚拟环境中调用更加方便,用户可以在虚拟环境中使用这些预定义的模块建立复杂的环境。

使用虚拟环境可以让我们方便的检查机器人的状态和调试代码。

5.3 试验环境的设定

我们将在虚拟环境中测试我们完成的基于激光测距传感器的避障机器人,所以我们的试验环境设定有以下几个特点:

1.

由于我们的机器人采用的是自由避障,所以试验环境不能过大,否则避障的效果会不明显,所以我们的试验环境将会固定在一定范围之内。 2.

我们将要检测机器人的避障效果,所以我们将会大量的添加障碍物到试验环境中,这个数量由人为判断。 3.

我们将采用的机器人种类,由于拥有激光测距传感器的机器人平台不多,所以选择面较窄。

基于以上几个条件,进行了讨论和规划,最终的结果: 1.

建立一个正方形的试验场地,由于是测试避障程序,所以可以用重量不计的长方体模块进行搭建。 2.

避障效果的检测需要一个合适的环境,这个环境中的障碍物应该维持在一个较合适的数量,我们设定了15个长方体模块和3个路障模块 3.

我们采用了Pioneer 3DX机器人平台作为这次的实验用机器人,该机器人具有大量传感器,特别是具有激光测距传感器,同时还具有差分驱动器,所以我们选择该模型。

由此我们开始建立所需要的虚拟环境。

我们使用MSDN资料库里提供的Ground环境开始建立,该环境包括地面模块、天空贴图和光照模块,见图5.1。

基于Microsoft Robotics Studio的机器人设计 42

图5.1 Ground环境

这时我们可以开始添加为控制机器人活动界限而人为设定的墙体,我们从MSRS所提供的其他虚拟环境中找到所需要的正方体模型,移植成为围墙:

图5.2添加了围墙的Ground环境

联系合同范文客服:xxxxx#qq.com(#替换为@)