基于微软武术擂台赛仿真机器人的代码设计

时间:2022-09-16 10:04:48

基于微软武术擂台赛仿真机器人的代码设计

摘要:本设计是利用微软机器人仿真平台,设计出一种制胜率较高的决策代码。本文介绍了微软武术擂台的仿真平台,C#编程语言,并重点介绍了控制机器人的编程思路与方法,增强了机器人自主运行的对抗性和稳定性,也增强了对仿真机器人控制。

关键词:微软机器人仿真平台 C#编程 代码设计 可视化编程

中图分类号:TP242 文献标识码:A 文章编号:1007-9416(2013)11-0158-01

0 引言

机器人仿真是计算机对机器人在仿真平台系统上进行的模拟运行。通过仿真平台的搭建,在该平台上导入决策代码,从而实现对仿真机器人的操作。本设计中的仿真平台是由微软机器人仿真工具MSRDS所搭建,通过交互式计算机图形技术和机器人学理论等,在计算机中生成机器人及其周围环境的几何图形,并进行三维显示,用来确定机器人及其运动环境的动态变化过程。在该仿真平台下,所加决策代码是基于.NET框架的、面向对象的高级编程语言——C#语言。本论文是基于C#语言编写的制胜率较高的编程设计思路。

1 计算机所需软件

1.1 微软武术擂台仿真比赛平台

该平台是基于MSRS开发的。MSRS提供了面向服务的运行库,该运行库又提供了两个基于CLR2.0的较低级别的运行库,用于在仿真机器人大量传感器和传动装置上发送和接收数据。另外,MSRS工具包中还包括VPL(可视化编程语言)和VSE(虚拟服务器环境),前者用于在设计平面中构建机器人应用程序,后者可用于体验涉及多个机器人和障碍物的复杂模拟。

1.2 PhysX_7.11.13_SystemSoftware

PhysX是物理运算引擎,主要用于将真实世界的物理定律加载到计算机的模拟界面当中,从而使其仿真界面有一定的真实感。相较于一般模拟计算,PhysX可由CPU计算并可调用独立的浮点处理器进行大计算量物理模拟的计算。

1.3 directx_jun2008

Directx是微软创建的一种多媒体编程接口,由C++编程实现,并遵循COM,主要用于加强3D图形和声音效果,并能提供同一硬件驱动标准。

2 C#语言简介

C#语言是微软于2000年的一种新的面向对象的编程语言,其专门为.NET应用而开发,从根本上保证了C#与.NET框架的完美结合。C#继承了C语言的语法风格和C++面向对象的特点,并在.NET 框架类库作为基础下,拥有类似VB的快速开发能力。

在本文中,是用C#编程并生成.dll文件,将此文件导入仿真平台即可。

3 决策代码的设计

3.1 平台信息获取

1)机器人在场上的坐标和倾角。由服务端以每40ms的速率传送给客户端,并最终传递给决策程序。

2)激光测距仪信息。该信息由机器人躯干前端的激光传感器获得,每120ms更新一次。激光测距仪可探测其正前方-40°~+40°的物体,每5°有一个激光发射源,共设17个激光发射源。

3.2 代码编程思路

仿真机器人以“轮速+关节角度”控制,主要通过仿真机器人上的传感器检测其所处的不同环境(状态),执行或调用不同的子程序,从而达到在机器人在仿真平台上具有自主对抗的性能。

3.2.1 程序编程整体思路

本设计代码编程部分主要由五部分子程序组成,分别是初始程序、边缘检测程序,目标检测程序、对抗程序和变性程序。机器人的状态位置是利用平台提供的坐标信息进行环境检测及精确定位。在整个编程中,设置边缘检测程序的优先级最高,机器人每次动作会优先执行边缘检测程序,当机器人到达边缘时,机器人会减速并停止,并向远离边缘方向移动;若机器人未检测到边缘状态,则按顺序执行下一条子程序。在平台对抗开始时,机器人执行初始程序,即机器人旋转一定角度(左轮速>右轮速,可向中心方向旋转),同时机器人会检测是否有目标靠近,如果有,则立即执行对抗子程序;如果没有,则以最快速度到达擂台中心(抢占先机),然后执行变形程序。变形程序为机器人向两边展开手臂90°,并进行自身旋转,从而使对方机器人难以靠近,同时,停止目标检测程序,直到出现对方机器人接触我方机器人时,由传感器检测是否为接触状态,若为接触状态,则返回执行对抗程序。

3.2.2 程序设计框图(如图1)

4 结语

随着各种高新技术的迅速发展,机器人技术也悄然崛起,而机器人仿真技术的发展也进一步促进了我们对机器人的学习与研究。本设计是在本人参加过2013年全国机器人大赛暨RoboCup公开赛之后,综合了各高校的武术决策代码优势,从而设计出制胜率较高的一种决策代码。本文在以微软(MS)机器人武术擂台赛仿真赛为依据,简要介绍了该仿真平台的相关信息,论述了代码编程设计的整体框架与构思,为机器人编程带来了另一种思路。

参考文献

[1]杨杰.机器人视觉目标跟踪方法的研究[D].哈尔滨工程大学,2006.

[2]刘晓敏,崔月盟.基于图像处理的移动机器人视觉定位方法[J].高等职业教育-天津职业大学学报,2007,17(3):75-78.

[3]秦丹.基于3D的多移动机器人仿真系统的研究与设计[D].华南理工,2010:1-2.

[4]王文远.俞炘.仿真机器人发展及其技术探索[J].数字技术与应用,2010,(11):5-5.

[5]程晓峰.基于虚拟平台的多臂机器人的干涉区分析与仿真[D].西华大学,2009年.

[6]李刚俊,陈永.机器人的三维运动仿真[J].西南交通大学学报,2002年03期.

上一篇:基于Android平台的GPIO操控方法 下一篇:基于工作过程的网络综合布线实训室的设计与建...