机器人在前进:机器人平台与开发工具

技术分类: 工业电子  | 2008-03-01
Robert Cravotta,EDN技术编辑

  用户可以通过串行连接,从台式机下载数字命令脚本对平台编程,或将程序装入到命令模块。命令模块中的处理器为20 MHz、8 bit Atmel ATMega168微控制器。WinAVR开源开发工具套件支持用C或C++对命令模块的编程。开发工具包括一个编辑器、一个编译器以及命令模块的下载器。开发人员还可以用微软的Robotics Studio(微软于2006年11月推出)完成机器人的编程工作。RoboDynamics的Roomba DevTools工具可以使开发人员通过蓝牙、USB或串行接口,从自己的计算机控制Roomba平台。

  命令模块手册包含了低级编程技巧和实例(参考文献1)。编程技巧包括尽可能地用8 bit值作计算,以避免浮点算法,以及使用整型和右移位代替除法。这些技巧的一个例子是向寄存器或端口写入位屏蔽,以清除、启动和读取ADC,因为现在还没有功能调用的API(应用编程接口)。另一个技巧是如何用定时器延迟函数防止按键输入的反跳。完成复杂的自动控制会带来一个相当大的学习曲线,除非iRobot为工具集增加一个对该层作抽象的API框架,如微软的Robotics Studio那样。

  Segway提供RMP(机

器人技术移动平台),它基于Segway的PT(个人输送机);RMP现有用于人体尺寸机器人应用的耐用包(图2)。Segway RMP包含了在各种地形紧凑空间内移动重型负荷的配置。Segway RMP电机可以连续提供2hp功率,必要时可达4hp~5hp峰值功率,足以移动一个人体尺寸大小的负荷。Segway RMP有多种型号,包含各种电池与轮胎/车轮的组合,提供最远15英里范围和400 lbs的承载能力。Segway RMP采用1个~4个NiMH(镍金属氢化物)电池或锂(锂离子)电池块。任何能提供52V电压的电源均可为Segway RMP供电。也可以将Segway RMP接在一个紧凑型气体发生器上,在使用中为电池充电。

图2Segway用RMP制造自己的个人运输产品现有多种配置支持不同的负荷与地形场合


  Segway RMP带一个板上充电系统,系统可以通过USB或CAN(控制器局域网络)串行总线接口进行控制。据Segway称,USB电气接口隐藏了CAN接口,因为该公司发现,提供USB前端大大缩短了开发人员与平台衔接的学习曲线。如果他们愿意,开发人员也可以直接在CAN级上工作。该公司正在考虑增加其它通信接口,如以太网。另外,他们还在考虑改进机械接口,包括增加用于安装支架的螺孔。有些型号带有用于客户探测设备的支架和计算硬件,静态稳定运行的脚轮,或不同Segway RMP互连的连接点。有些开发人员没有采用安装孔和安装架,而是成功地用工业级Velcro测试和连接其平台的原型部件。

  该公司的开发支持包括使用开源的开发工具,并能使用公司支持的多个算法,以管理平台上重量与均衡的配置。Segway与微软最近宣布了Robotics Studio对平台的支持。微软的Robotics Studio是一个端到端的Windows环境,支持机器人应用的创建,这些应用的目标是可以处理基于.NET REST(具象状态传输)面向服务的运行时环境的硬件平台,如Windows CE和Windows移动设备。运行时(runtime)部件支持各种机器人的开发,如仿真机器人,通过与台式计算机直接链接(比如通过串行口、USB或蓝牙)控制的机器人以及带有板载控制处理器的机器人。开发环境亦包括了可视化创作与仿真工具。多家公司均已正式声明他们的产品支持微软Robotics Studio,包括iRobot、Lego和Segway(参考文献2)。

  根据微软的《Robotics Studio用户指南》,运行时环境包括了CCR(并发与协调运行时)与DSS(分散软件服务)部件,而这些部件必须满足下列需求集(参考文献3):必须能监控状态;当应用运行时能与部件交互;能发现、创建、终止和重新启动部件;能并发地处理多个传感器的输入,并将这些输入组织为任务,而不会有这些任务之间无意干扰的风险;能通过网络同时处理本地与远程的自动与受控机器人应用;运行时重量必须足够轻,从而能在广泛的环境中执行;应用环境必须为可扩展,并有足够的灵活性,以适应各种硬件与软件环境的交互。

  CCR通过一个面向信息的编程模型支持异步与并发操作,该模型可以自动揭示出并行硬件与协议信息,而无需使用手工线程、锁定或信标。这种方案使设计者能够建立起更松散耦合的软件模块或部件。独立的CCR .NET DLL可以从任何面向.NET 2.0 CLR(公共语言运行时)的语言中访问。微软在CCR上建立了DSS运行时,且DSS并不依赖于微软Robotics Studio中的任何其它部件。它为管理服务提供了一个主控环境,以及一组架构服务,可以用于服务创建、发现、记录、调试、监控与安全。DSS支持一种轻量级的面向服务应用模型,它结合了传统REST基于Web的架构,以及部分Web服务架构。DSS定义了一个应用模型,它建立在REST模型上,通过它们的状态和对该状态的一组统一操作而展示服务,但通过增加结构化数据操作、事件通知以及服务组织扩展了HTTP(超文本传输协议)应用模型。

1】【2】【3】【4

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

;