词条 | Player/Stage |
释义 | Player/Stage最初是由美国南加州大学机器人研究实验室,于1999年开发的一个为多机器人系统提供内部接口和仿真环境的项目。目前,作为一个开源项目,它已经被世界上许多机器人研究者使用、修改和扩展. 1. Player是一个多线程的机器人驱动服务器,使控制者简便灵活的控制移动机器人以及其物理传感器和动力驱动装置等设备终端,当Player运行在控制者的移动机器人上时,通过标准的TCP套接字技术(Socket)与客户端控制软件连接,实现信息发送和接收。 Player的设计在语言上是独立的,并且是平台无关性的。控制者的客户端软件能运行在与机器人通过网络连接着的任何设备上,并且软件的开发能够使用任何识别套接字技术的语言。已完成的客户端类库主要是C++、Tcl、LISP、Java和Python几个版本。 Player并不考虑使用者是如何构建自己的机器人控制程序,因此,相对其他机器人接口,它更“简洁”,使用者可以把自己的客户端程序设计成为多线程结构,也可以设计成为简单的“读取-分析-运行-再读取”的闭环结构,如果希望机器人可以互相协作工作,可以使用TCL的客户端驱动接口。 Player实际上可以支持任意数量的客户端,一个机器人可以通过另一个机器人的“眼睛”看见所需要的场景,任何机器人客户端能够从另一个机器人的Player上获得传感器信息甚至发送控制指令。除开分布式传感控制,也可以使用Player监控实验。例如,当使用C++类库开发的客户端程序控制机器人时,也可以在任何网络连接的地方运行TK GUI客户端程序显示当前的传感信息,或者使用Python开发的程序记录这些信息用于后期分析。Player是一个开源的免费软件,依据GNU Public License发布,可以被任意修改。 2. Stage是Player/Stage项目的一个软件,是一种用于移动机器人和智能传感系统研究的仿真工具。Stage在一个二维的位图环境下模拟移动机器人、传感器和障碍物等对象。Stage在设计中就考虑到了多智能体系统的问题,可以提供对多机器人系统的测试仿真。需要了解的是Stage只提供了真正简单,可计算的廉价的设备模式,而无法非常精密地仿真任何具体的设备终端。Stage 还允许你利用目前还没有的虚拟机器人设备进行实验。Stage提供了多种传感器和执行器,包括声纳,激光扫描测距仪,色斑显示器,里程计,抓斗,防撞器/触须器以及移动机器人基坐等。 Stage的虚拟设备可以被网络机器人服务器Player控制。Player提供了方便的接口程序用于驱动一系列的机器人和传感器相关设备,而Stage仿真了这些设备。Player相对于真实机器人的TCP 接口和Player相对于Stage中的虚拟设备的TCP接口是相同的。这意味着:如果在已经指定了连接的主机IP和PORT的程序中是使用了正确的命令语句,Player客户端的程序实际上即可以操作Stage仿真环境中的虚拟设备,虚拟机器人也可以操作Player SERVER端的真实设备及机器人。而进一步的,如果Stage的仿真能力足够,让客户终端不能分辨真实机器人的设备和它们在Stage下的替代品-虚拟设备,就能达到完全的模拟测试效果,通过这种模拟测试方式开发的客户终端几乎不需要做任何调整就能应用于真实环境中,因此依据仿真建立的系统能够迅速地向真实机器人环境的移植。 |
随便看 |
|
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。