NI-嵌入式图形系统设计助力救生机器人蜘蛛
扫描二维码
随时随地手机看文章
作者:
PomYuanLam-新加坡南洋理工学院
MarcoSchmid-施密德工程公司
AndersFrederiksen-AnalogDevices公司(NI供稿)
机器人蜘蛛利用其众多的运动模式之一—“爬行”挤压通过狭小的空间
“现已成功完成功能强大且性能优异的机器人的构建,而且,通过采用用于Blackfin处理器的LabVIEW嵌入式模块所提供的图形化编程环境,以及Blackfin处理器的高处理器性能,开发周期也大为缩短。”
恶劣环境中营救任务的设计
任何救生设备的主要目的在于,在灾难之后的营救任务中快速阻止尽可能多的严重伤亡事故。谨记这一目标,我们开始开发了一个用于支持营救工作的六足机器人蜘蛛。它是一个尺寸较小、可移动的智能机器人,在搜寻被陷的受害者时,它可以越过障碍并到达通常难以触及的地方。替代如清扫雷区使之无雷化等危险任务中的工作人员也是机器人蜘蛛的另一个潜在应用领域。
我们设计了一个高度可移动的行走方案,它由六只独立的下肢组成,可以任意方向移动机器人,即使在机器人移动通常不可行或过于危险的地带。行走与旋转均属于模仿六足昆虫而得的基本的高层次运动模式。通过三条下肢移动而另外三条下肢抬高,机器人可以达到期望的行走速度,并提供恶劣地带所需的足够平衡。爬行时,机器人可以挤压通过紧凑的空间和狭缝。单下肢的低层次运动步态是3D空间内的几何原语,如长方形或圆形轨道。
多功能机电系统
下肢结构与运动控制构成了机器人蜘蛛关键特性的一部分。24只智能DC有刷电机共同驱动这些下肢,并充当行走结构中不可或缺的关节。这样得到了一个坚固的轻型结构,从而降低了功耗并改善了运动动态特性。
除了这些下肢,机器人蜘蛛的特性还在于典型的自治机器人子系统,其中包括机器视觉、远程测量和无线通信。机器人坚固的壳体内包含有嵌入式硬件、两节7.2伏的锂聚合物电池和电量测量装置。任务参数、I/O设置和新的运动步态均可以通过无线通信或可移动存储介质传递。
24个自由度的智能运动控制
机器人蜘蛛的低层次运动有赖于运行时计算的复杂数学模型。凭借模拟器件公司的Blackfin处理器的高级嵌入式计算能力和施密德工程公司的确定性实时服务,机器人的运动表现得有力而平稳。来自面向ADI公司的Blackfin处理器的NILabVIEW嵌入式模块的高层次虚拟仪器(VI),连续运行一个逆动力学算法。算法包含三角函数和矩阵运算,求解恰当的关节角Θ1与Θ2,以沿着3D空间内的期望轨线精确移动末端执行装置。轨线向量根据高层次的运动模式,沿着计算所得的直线、长方形或圆形轨道移动。
轨道可以通过以下三种方式编程实现
★通过学习和回放,设计和培训新的或特别的模式。
★支持可视化检验仿真轨道的3DCAD软件。这些模型作为虚拟现实文件导出,并导入至LabVIEW的图像控件。通过比较虚拟模型与实际模型,调节机器人的运动。
★运行时利用逆动力学算法持续计算轨道。
所有六足的关节角度的计算并行完成以确保动态运动,相应地也得到了所有马达的24个连续计算所得的设置点。这些设置点通过一个串行RS485网络传递至每只马达,并由分散PD控制器转换为实际执行动作。通过同样的网络,完成所有24只执行装置的位置、反馈和温度读数的采集。
智能视觉与距离感测
除了智能运动与自由移动外,机器人蜘蛛的特色在于它的“眼睛”装有一个智能摄像头和一个距离测量传感器。目标通过高性能图像处理算法被定位与跟踪。通过编程控制,它的“眼睛”还可以识别其附近范围内的任何颜色。后续版本将提供改进的图像处理、模式匹配和边缘检测等功能,从而将Blackfin处理器的计算能力和高速图像采集提升到更高层次。
利用蓝牙技术实现无线通信
为实现与机器人的通信,我们提供了一个蓝牙通信接口以实现多项功能,其中包括:
★在开发与测试中调试用于ZMobile的快速调试模式的通道
★读入关键参数,如马达状态和电池电量水平,以供系统诊断
★在线采集重要的算法参数,以供调节使用
★在操作开始前下载新的任务数据
在开发过程中,两个机器人蜘蛛通过无线通信信道相连,以实现其移动的同步。这是更为危急场景的原型构造,这时接受同一项任务的多个机器人蜘蛛需要团队协作以完成任务。
低功耗的嵌入式ZMobile硬件
超低功耗混合信号目标平台ZMobile是机器人蜘蛛的核心所在。由瑞士的解决方案提供商施密德工程公司提供的ZMobile,将传感器、激励源、视觉、电池和无线通信集成于单个平台。南洋理工学院基于三个原因选用了ZMobile平台。
首先,ZMobile与LabVIEW相兼容,而且通过LabVIEW编程控制机器人蜘蛛,设计人员可以专注于项目的主要功能。借助图形化编程的高效率,系统工程师们可以在开发周期中添加比最初规范设计更多的功能特性。
其次,ZMobile的超低能耗设计和动态功率管理,对于自治机器人是一项至关重要的特性,因为这样可以显著延长工作时间。这一点对于ZMobile的毫瓦级功耗同样适用,这意味着板上的绝大多数剩余能量可供马达使用。
第三,可扩展的处理I/O插槽为将来集成更多的传感器和激励装置提供了所需的空间。
实时图形化嵌入式软件
机器人蜘蛛应用软件是利用面向Blackfin处理器的LabVIEW嵌入式模块编程实现,后又通过来自施密德工程公司的面向NILabVIEW的ZBrainBSP进行扩展。这为高层次编程、图形化调试、图形化多任务处理和确定性的实时行为,提供了一个理想的嵌入式软件平台。面向对象的设计模式有助于进一步控制图形化层次上的复杂度。例如马达或传感器等主要对象,通过LabVIEW中表示类的功能性全局变量加以抽象。
主要的应用框架由以下多个任务组成:
★顶层主循环对由一个经典状态机表示的动作进行规划,而状态机通过软件队列和同步方法(如信号量)与其它循环连接。通信任务保持一个与外部世界的无线数据连接。
★视觉任务负责低层次的图像处理和距离读数。
★运动控制任务管理高层次的运动模式与低层次的肢体控制,并监测马达的位置与状态。
★日常任务充当一个通用错误处理器。检测事件与异常,并将其及时间记录到可移动的存储介质,以供后续读取。ZMobile充当看门狗的角色——利用程序设定的唤醒机制重启和关机,并为不能成功自我纠错时提供重新启动的有效措施。
这些循环在协作式多任务环境中以线程的方式同时运行。驱动程序层次上的毫秒级上下文切换和微妙级实时确定性,确保了平稳、无故障的移动。最后,严格的并行方式要求板卡支持软件包满足每一个软件组件和设备驱动程序的线程安全性。
现已成功完成功能强大且性能优异的机器人的构建,而且,通过采用面向Blackfin处理器的LabVIEW嵌入式模块所提供的图形化编程环境,以及Blackfin处理器的高处理器性能,开发周期也大为缩短。施密德工程公司独创的图形化快速调试模式在算法的工程实现过程中非常有用,缩短了5倍的开发时间。ZMobile不仅对于机器人设计人员,是一款用户界面友好的嵌入式系统工程的优秀产品,而且对于任何构建机电系统的设计人员也是如此。
视觉的提高、更为智能的功率管理和能量获取设计、传感器融合、模糊逻辑和GPS数据收集,都是有望添加至通用机电平台的组件。此外,我们计划在未来的移动、自治机器人中复用这个模块化软硬件系统。