Microsoft Robotics Studio中文教程1

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

第四章 基于Microsoft Robotics Studio的机器人避障的实现 27

第四章 基于Microsoft Robotic Studio的机器人避障的实现

在这章中我们将使用Microsoft Robotic Studio来建立机器人。我们设计的机器人包含了操作型机器人和移动型机器人,我们将使用多种传感器和辅助控制设备来设计,同时我们还将使机器人获得躲避障碍物的能力。在程序设计过程中我们会用到VPL提供的大量组件,如激光测距传感器、接触传感器、Activity组件等[8]。

4.1 采用模型的选择

MSRS与大量机器人厂商有合作关系,所以在VPL中为我们提供了许多机器人模型可以进行编程和虚拟,但是不是所有的机器人模型都适合于我们这次的试验,所以我们将从这些机器人中挑选出本次试验所需要的机器人模型。

Microsoft Robotic Studio提供的能够虚拟运行的机器人有以下几种: ①

iRobot Create?机器人平台

图4.1 iRobot Create?机器人平台

iRobot Create?拥有32个内置传感器包括我们所需要的接触传感器,两个驱动轮,一个车辘和四个可移动小轮,一个预排程序的行为编码器,一个可以扩大的输入输出端口和一个后挡板。在指令模块等许多可选择性附件的如iRobot Command Module, iRobot Roomba standard remote和iRobot Roomba Virtual Wall,独立充电底板等。能源方面,你可以选择使用可持续使用的充电电池或标准碱性电池。

在MSRS的系统中,我们可以使用通用的差分驱动器和接触传感器来对iRobot

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

Create?进行编程,同时MSRS还提供了iRobot Create?的虚拟模型,这个虚拟模型同样提供了驱动和多个传感器。

② LEGO RCX?和LEGO NXT?

图4.2 LEGO RCX?和LEGO NXT?的控制模块和在虚拟系统中的模型

LEGO RCX?和LEGO NXT?是乐高公司推出的两套套机器人系统,分别面对不同的用户群,通过组合搭建机器人的物理平台,你可以根据需要自行安装标准统一的传感器或其他组件。RCX使用的微型控制器,是日立H8/3292系列的H8/300单片机,属于H8/3297系列[9]。

RCX支持的输入设备(传感器)有:接触传感器、光感传感器、角度传感器、温度传感器、以及火焰传感器。但是在没有安装固件时传感器将不能工作,也不能执行编译的程序。仅可以运行固化在硬件内的默认程序。输出接口只能接到LEGO专用马达(标准马达和微型马达)以及扬声器。RCX可以同时控制所有输入/输出设备RCX使用6节5号电池,安装于背部凹槽。也可以使用9~12伏的外接直流电。当RCX没电时,其内部储存的所有数据都会消失,包括固件和已编译的程序。位于顶部的红外线数据接口是RCX唯一的数据来源,RCX与外界一切通讯都通过此接口与LEGO专用红外线接收器(接口分别为COM和USB)进行数据交换,通讯频率为38500Hz。

在MSRS系统中,LEGO系列的机器人被设计成具有差分驱动器、碰撞传感

第四章 基于Microsoft Robotics Studio的机器人避障的实现 29

器、光电传感器的一个综合体,具体效果见图4.2。

③ Pioneer 3DX?

图4.3 Pioneer在虚拟环境中的模型

我们所能获得的关于Pioneer 3DX的资料较少,通过MSRS的资料库我们可以了解到Pioneer 3DX机器人具有大量的传感器组件,已获得的资料中我们可以看到,该机器人安装有接触传感器、激光传感器、声纳传感器、光电传感器、图像传感器等,大量的传感器让各种程序都可以方便的获取需要的环境信息,该机器人还具有差分驱动器,据观察,该机器人使用一个辅助轮和两个差分驱动轮,这使得机器人的运动十分灵活。同时该机器人具有无线连接的功能,可以远程操控。

该机器人在许多大学被用作教学机器人。

除了以上机器人,MSRS还提供了例如机械臂机器人、多机器人系统等大量的具有虚拟模型的机器人环境。

我们按试验的需求在众多机器人模型中选择出符合要求的机器人平台模型:由于Pioneer 3DX机器人具有红外测距传感器,使得试验要求满足,所以选择

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

Pioneer 3DX作为基于激光测距传感器的避障程序试验的平台。iRobot Create具有接触传感器,且机器人形状为圆形,使得避障程序容易实现,所以接触传感器避障试验使用了iRobot Create?模型作为试验模型。手动操控类的可以使用任何带有差分驱动器的机器人,选择面较广。

4.2 基于激光测距传感器的避障程序实现

激光避障传感器的避障程序算法我们已经在第三章3.1.2小节进行了讨论,整个避障算法是由如下程序流程所组成:

激光测距传感器 Label Nearest 变量Right=Right.Nearest Label==Right Label=? 变量Left=Left.Nearest Label==Left 数据集合 Input State=? State=Forward 变量State=Turn Input.Center<1500 Left>Right? Input.LeftInput.Right 转向 前进 图4.4 基于激光传感器的避障程序流程图

我们基于这个原理图来使用Visual Programming Language实现机器人测距避障的程序。

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