测试测量

NI Compact RIO在家居监控机器人中的应用

2025China.cn   2011年05月01日

        "本方案的背景是国家863多机器人系统控制项目的一个主角,家居监控机器人,它的设计概念主要是面向未来老年家庭,负责通过网络监控家居环境中的各种家电,具有语音和人脸识别等人机交互功能,具有双机械臂完成一些取物、递送等任务,并且可以作为智能轮椅载人移动。在2010世博会沪上生态家案例馆中展出。"

申纯太, 上海电气集团股份有限公司中央研究院

 

图-1  主控制器Compact RIO的安装位置


挑战:
        需要CompactRIO同时控制多个设备运动。2根5自由度机械臂运动,头部1自由度旋转运动,双主动轮底盘运动控制。CompactRIO内要部署机械臂运动控制算法,LIDAR数据采集和导航避障算法,基于编码器和光雷达数据以及FPGA的移动位置控制算法等。

 

解决方案:
        将机器人的功能进行划分为两部分。将双5自由度机械臂运动,头部1自由度的旋转运动,双主动轮底盘的运动,光雷达数据采集处理和编码器数据采集,自主导航,轮椅模式切换判断,机器人体表LED状态情感或信息显示,电池电源管理等基本行为和设备层控制归为一部分,由“小脑”控制;将家庭智能家居网络交互,其他智能机器人监控,语音识别对话和人脸识别的人机交互功能等归为一部分,由“大脑”控制。

        选用NI CompactRIO作为机器人的“小脑”。NI CompactRIO是美国NI公司的工业级嵌入式控制器,集成以太网接口和RS232串行接口,具有体积小,高可靠性,高性能,低功耗等优点。

        将各种设备的控制算法例如机械臂运动控制,头部运动控制,导航算法,基于以太网的光雷达数据采集,与大脑通讯等程序部署在RT中;将数字信号采集,例如限位开关和紧急停止逻辑还有编码器数据采集和处理,地盘运动伺服控制等算法部署在FPGA中。

        选用工业嵌入式触摸平板电脑IPC作为机器人的“大脑”。部署WinCE,具有人机界面功能以及触摸屏交互功能,部署控制人脸识别模块以及语音识别算法,智能家居监控管理算法等。

 

用FSM来封装每个设备对象:

        Finite-state machine (FSM)称为有限状态机广泛用于数字电路和计算机程序。我们使用了两种状态机来封装设备。String Based Queued State Machine基于字符串队列状态机和普通基于枚举的状态机。使用状态机作为一种机制来处理单个设备的状态转换,或者说,用状态机这种行为模型来用于单个设备的事件处理。

图 2 LIDAR 状态机

        例如光雷达的状态机框图,它具有4个状态,Idle,Start,Running,Stop。在Running状态中,程序不断向光雷达发送指令读取数据,然后由一个Shared Variable来传出数据。使用一个来封装这个状态机。

图 3 Remote Control Reaction 状态机

        图3是一个远程控制指令解析状态机,它使用String Based Queued State Machine来实现。这样的好处是,可以使用队列来组织动作,较为灵活地实现各种不同组合以及复杂度。

        每一个设备的状态机都用一个独立的vi来封装,并且单独进行测试,这样也有利于工程化。

 

 

[DividePage:NextPage]

多状态机的协作:

        单个状态机只能完成部分功能,我们需要把所有设备状态机集成起来,按照一定的通讯机制拼装成一个完整的机器人。

        由于所有的设备状态机都由一个VI来封装,只需要把他们拖入一个主vi中,就能调用他们。如图所示:

图 4  状态机集成

        状态机之间是通过Shared Variable来实现接受外部指令输入以及自身状态输出的。同样,这些Shared Variable都用一个VI进行封装以便进行管理。

        这样,一个状态机便可视为一个子系统。既然是系统,自然有系统的输入和输出,通过get,set等方法的vi,外部系统便可对这些子系统进行操作或者交互。如图所示,底盘状态机使用方法获取外部命令。

图 5

 

        使用方法让外部系统传输命令给地盘状态机。

图6 :

        底盘使用发送底盘状态机状态信息。如图所示:

图 7

        使用方法获取地盘状态机信息。

图 8

导航算法:

 

图 9家居监控机器人定位导航软件控制框图

总体设计

        针对移动机器人家居环境下的定位问题,提出了一种结合平直线段匹配、角匹配和里程计的组合定位方法。该系统采用了Labview开发平台和CompactRIO控制器,得到了很好的实时性效果。机器人首先通过二维激光测距仪通过TCP/IP得到环境点信息,然后通过迭代适应点(IEPF)算法得到环境线段及最小二乘法得到线段参数。在基于线段基础上,得到局部的平直线段和角特征,再与已知平直线段和角特征做匹配,通过平直线段和角匹配算法实时更新机器人位置和姿态。分析里程计定位、平直线段匹配定位和角匹配定位的误差,分配不同的权重得到优化的组合定位算法。

 

 

[DividePage:NextPage]

软件控制框图

        基于以上的设计,定位导航的软件控制模块设计如图7所示。中心模块为定位导航模块,该模块读取起点、目标点、运动模式数据及编码器数据,同时读取激光测距仪数据提取角、平直线段特征和已知特征做匹配,其匹配算法输出机器人位姿 。对于给定的目标位姿,该模块将计算出驱动指令(Forward Speed、Delta angle、Turnspd Right、Turnspd Left对应前进速度、方向转角、左转、右转)和状态信息如(bPos, bAngle)来判断机器人是否到达目标位置和姿态。

图 10家居监控机器人定位导航的输入输出信息部分

 

        图10为定位导航模块部分的输入输出部分,上半部分的输入信息中的已知角特征和全局线段为为已知地图信息,下半部分的部分输出信息包括直线段提取示意图,路径任务数组信息图,实时显示的机器人当前位置信息、速度信息等。

 

线段特征提取

        为得到环境的几何线段信息,需要对激光测距仪的点集进行分割,其分割算法可分为下列步骤:坐标变换、区域分割、IEPF线段提取和最小二乘法计算线段参数。其中区域分割:从初始点i=0开始检测两相邻点 的距离,如距离值小于阈值D,则认为属于同一区域点集,否则开始一个新的区域。该过程遍历所有点集。如果某区域点数目小于4个,则认为噪声区域,舍弃这些噪声点。

图 11  IEPF线段提取

        IEPF提取线段:对于上述得到区域可能含有多条线段,IEPF线段提取算法是一种有效的线段提取方法。如图11所示, Pm点到线段PsPe的距离大于阈值T,该方法把点集

分为

        IEPF为迭代算法,对于  重复上述的算法知道 小于阈值 。该算法也有分割过细的时候,如图9右半部中间两条线段可通过检查线段参数的办法,对于斜率倾角误差小于一定阈值的线段加以合并处理。线段参数可通过最小二乘法计算求得。

        如图12所示为通过Labview实现的IEPF算法的区域分割算法,其中子VI 为IEPF算法分割出的子区域。

图 12 包含IEPF算法的区域分割算法

        具体组合定位算法可参考作者的另一篇发表在IEEE ICIA2010题为《A Corner and Straight line Matching Localization Method for Family Indoor Monitor Mobile Robot》的论文。

 

原型机照片:

图 13家居监控机器人在世博沪上生态家

总结:

        使用CompactRIO作为机器人主控制器配有集成的FPGA的支持,具有性能优越,体积小,安全可靠,低功耗等特点,并且,数据采集能力和通讯能力强大,非常适合移动机器人的原型开发。

        可以基于LabVIEW来开发机器人程序,相比字符代码程序,图形G语言程序可以用图形来阅读,有利于理解和调试,再者LabVIEW仍旧可以运用很多软件工程方法,使得它具有自己独特的优势。

作者:
申 纯太 - 上海电气集团股份有限公司中央研究院
谭 福生 - 上海电气集团股份有限公司中央研究院
杨 军 - 上海电气集团股份有限公司中央研究院
Yang Jun -

Shen Chuntai - Shanghai Electric Group Co., Ltd. Central Academe
Tan Fusheng - Shanghai Electric Group Co., Ltd. Central Academe

(原创)

标签:NI 控制器 监控 机器人 我要反馈 
什么是新一代机器人界面(HMI)?
ABB协作机器人,自动化从未如此简单
优傲机器人下载中心
即刻点击并下载ABB资料,好礼赢不停~
西克
专题报道