基于虚拟仪器技术的智能交通机器人系统设计
2019-05-24汪珺
汪 珺
(合肥学院 机械工程系,安徽 合肥 230062)
二十一世纪,机器人自动控制技术得到广泛应用,工业革命的序幕再次拉开。机器人的用途不再单一,不再局限于工业领域而是向更加宽阔的应用领域扩展,越来越多的机器人及其相关衍生产品来到我们的生活中,包括医学、美术、科研、统计、教学等等,其中交通类机器人就是机器人的一个应用方向,而且具有广泛的应用前景。究其原因,一是由于目前经济的发展迅速,各种类车辆数量也随之日益增多。以小型车辆为例,公安部统计数据显示,截至2018年底,全国小型汽车保有量达2.4亿辆,比2017年增加了2285万辆,增长百分比为10.51%。与此同时交警的警力却远远达不到高度发达的交通所需水平,于是道路拥堵、交通事故频发的预防和处理也远远得不到及时的解决。给人民生活带来的不便尚属其次,在大中城市,尤其是高峰时间的应急处理上更是带来了更大的隐患,如急性医疗和社会事件发生时相关人员和车辆因为拥堵,无序的交通无法及时到位,其后果是无法想象的,由此可能带来的相应的人员伤亡和财产损失会大幅度提升。与其同时,处理的应急时间窗口长短也与财政支持成明显的负相关。另一原因,从交通警察角度来看,交警执勤的工作环境属于室外高危工种,且不论其长时间处于大量的汽车尾气和灰尘的环境中,容易罹患呼吸道及心脑血管疾病,同时对于违法恶性事件发生时我们的执法人员自身的生命安全也完全无法得到保障。为了维护交警人群的身体健康以及安全,可以考虑用交通机器人替代交警的工作。由此可见,随着经济的飞速发展以及交通压力的日益增长,交通指挥型机器人有望成为人类交通领域所必需的保障。它们可以代替人类完成很多危险、复杂的任务,解放人类的负担等,有望成为市场的新生力军。
现阶段机器人运用市场高速发展,从早期的用于工业和军事领域的机械手和机器臂,到如今的广泛应用于军事、制造业、医疗、服务的智能机器人。但用于交通方面的智能机器人甚少,比如浙江绍兴高速交警支队所采用的护栏预警抓拍巡逻机器人[1-2],该种机器人的移动方式是借助于高速公路两边的护栏,在护栏上高速移动的同时监控高速公路各路段的实时交通情况,对于违法违章行驶的车辆可以获取车辆的图像信息达到取证的效果。该种机器人的出现反映出智能机器人的优势,节省了警力的同时改善了交警的工作环境,交警不用在室外就可以完成对高速公路的巡视。但是这种机器人的缺点也是显而易见的,必须依赖于护栏导致该种机器人移动方式有很大的局限性,而且有些角度不方便采集图像信息,会存在视觉盲区。再比如山东大学信息科学与工程学院邢建平、刘勇等研制的人形机器人姿态控制的智能交通指挥系统[3],利用KINECT深度传感器获取视野内场景的深度信息[4],选取NAO机器人作为系统构架里的智能机器人[5-6],能够跟踪交警的指挥动作并完成模仿,该系统的缺点是成本高不易推广,但是为交通类机器人的出现提供了一种别具一格的新思路。由此可见目前市面上的交通类机器人大致可分为移动平台类和仿人形类,受现有的交通类机器人启发,笔者基于虚拟仪器技术的NI RIO平台设计出一种可分离式智能协警机器人,包括可以做出各种交通指挥动作的机器人以及机器人下方的移动平台,结合现有交通类机器人的一些优点,该协警交通机器人可实现自动行走,同时行走速度可自行控制,能够快速通过拥挤混乱的现场及时到达指挥场地并根据实时的交通状况做出相应的交通指挥动作。
1 工作原理
智能协警交通机器人系统组成如图1所示,由图中可见整个系统包括四大部分:交通机器人本体、可搭载交通机器人到指定地点的移动平台、可以远程控制交通机器人本体和移动平台的后台系统以及相关的控制系统。
图1 智能协警交通机器人系统组成图
工作时先将需要到达的目的地通过后台系统发送给移动平台小车,移动平台可以规划路线,开启电机后,移动平台小车可以沿着车道线到达预定的目的地,期间若遇到障碍物可以绕过障碍物再继续前行。到达目的地后,交通机器人本体根据后台系统的指令或者通过现场语音指令,做出与指令相符合的交通指挥动作。目前已研制出一代交通机器人样机1台,图2所示即为智能协警交通机器人系统的机器人本体和移动平台的3D造型图及样机图。
2 机器人本体介绍
在设计系统时为了方便开发、调试,采用了模块化的设计思路。机器人这部分主要包括五个模块:机器人控制单元、实时环境图像采集单元、语音识别交互单元、后台通讯单元、电源单元。机器人控制单元模块可以接受后台的指令或者来自现场的语音指令信息,根据指令的内容控制机器人完成与指令相对应的交通指挥手势;实时环境图像采集单元模块与机器人控制单元模块和后台通信单元模块连接,该部分主要功能是收集周围环境的实时图像信息,然后将图像信息通过后台通讯模块传递给后台;语音识别交互单元模块可以识别周围环境的语音信息,进行判别,从而做出相应的动作或自身发出相应的语音与之进行交互;后台通讯单元模块可以传递指令信息,如前文所提及的当实时环境图像采集单元模块将实时道路图像信息传递到后台时,后台判断后会发出相应的指令,紧接着通讯单元模块会将该指令信息传递至机器人控制单元模块。以下选取重要模块进行详细介绍。
2.1 机器人总体结构
为了让机器人本体具备较高的亲和力,在构造其外形时选用仿人类外形的形态,其外形模拟人的形态构造,包括主体躯干、带摄像头的头部以及手部和腿部。为减少开发时间选用了幻尔LOBOT的17自由度人形机器人,其结构示意图如图3所示,该机器人自带7.4V超大容量锂电池,通过控制舵机来实现各种动作。
图3 17自由度人形机器人结构示意图
2.2 机器人控制模块
为了灵活控制机器人本体,没有采用幻尔LOBOT配备的控制系统,而是自主开发了机器人控制模块。通过前文的介绍可以了解本控制模块要实现的功能主要有:完成机器人的运动控制、语音互动功能、后台通信功能;除此之外,考虑实际工作的环境以及场合,该控制模块还应该能够满足如下要求:
1)有较强的环境适应能力:众所周知,交通警察执勤期间所处环境具有多样性和复杂性,代替其工作的交通机器人能适应比如各种温度、各种湿度、多尘埃等多样的工作环境,并对于危险区域执法便利性也有大幅度的提高;
2)成本合理:考虑到推广应用的可行性,在保证其可靠性、功能性的前提下,应该尽可能采用价格低的控制器,从而提高整机的市场竞争力以及市场推广可行性;
3)便于集成:所选控制器体积不大,可提高对于生产流水线的成本投入减少以及模块化的半成品的运输、集成、安装便利性。
在主控制器的选择上考虑满足上述要求功能,因此选用STMicroelectronics 公司的STM32107VCT6 作为主控制器。这一款控制器的核心处理器为ARM Cortex-M3,具有运算能力强、体积小、成本低、功耗小的特点。该控制器包含多路PWM输出可以用来控制人形机器人上的舵机,在软件开发上也比较灵活,可采用 C语言和LabVIEW图形化开发,由此满足人形机器人本体控制系统的各种需求。对于开发语言的选择,考虑到两种语言有相比较,C语言是级别相对低一点的语言,在控制上主要是提供低级别的控制,因此在软件的过程中对编程者的要求比较高,诸如线程和内存的分配这些非常细微的细节,都需要编程人员考虑到。LabVIEW对于刚刚接触其的使用者来说,可能会被认知为一种新型的图形化编程语言,既能具备强大的功能,界面又容易上手。实际上LabVIEW除了开发简易、界面友好等优点之外,它对于系统内可以使用的硬件资源能够快速准确地识别,对于可以用的执行目标以及输入/输出通道以项目名称和下拉菜单的方式显示,这样在系统调试过程中,调试人员可以很快捕捉到一些错误的系统配置,成功避免系统在调试时候的运行错误,节约了一笔代价高昂的调试费用。当然,如果非要让LabVIEW和C语言做个较量,是不能笼统地分出优胜来的。根据具体需要的应用环境来看,综合考虑快速开发性,采用LabVIEW图形化语言来开发。
要机器人能完成一系列交通指挥动作,需要STM32107VCT6控制17个舵机的转动角度和顺序。为方便管理,将这17个舵机分为三类:需要沿着X轴向旋转的8个,定义为P1-P8;需要沿着Y轴向旋转的8个,定义为Z1-Z8;需要沿着Z轴向旋转的1个,这一个处于头部位置,由于该位置在交通指挥动作时涉及较少,而且上面放置摄像头,因此在控制时考虑不易多涉及该部位,这个位置舵机定义为17。这17个舵机和STM32107VCT6的PC口16路引脚以及PB口的1路引脚相接,具体对应关系如图4中所示。
图4 机器人舵机定义图
基于LabVIEW图形化语言,我们开发了交通机器人控制系统,其人机交互界面及后面板程序如图5、图6所示,图5中人机交互界面的左边是路面的实时监控界面,右边是交通机器人的交通指挥手势,为了能控制机器人完成一系列的交通指挥动作,我们把每个动作进行分解,通过多次实验可以准确获得这个动作涉及的舵机的运行顺序以及相对应舵机需要转动的角度,紧接着把每个独立的动作进行组合,从而就可以得到连续的动作,最后将交通警察指挥交通时所需要的一系列指挥动作放入库中。在指挥过程中,当交通机器人接收到到指令时,判别需要哪一个指挥动作,然后直接从库里调用就可以了,通过实验表明上述整个过程具有稳定以及快捷性。
2.3 后台通讯模块
图6 交通机器人控制系统后面板程序
图5 交通机器人控制系统人机交互界面
交通机器人本体接收到指令后可以做出与之对应的动作,而这个指令的一个来源是控制后台。根据交通机器人的特点和使用场合,机器人与后台通信需要带宽比较的大,同时可以适应系统不停移动的需求。考虑如果要满足这些基本的需求,根据我们的条件,可以采用的解决方案是采用运营商现有的3G、4G通讯,这种方式不需要我们自己架建基站,但长期使用可能需要向对应的运营商支付一笔不少的费用,因此该种方案虽然前期投入比较低,但是后期会有持续投入。不过考虑到未来的5G会具有极低延时和核心技术独占性,对于交通机器人系统的机动性、安全性和保密性会极大提高,此种方案不应该摒弃;另一种方案是采用WIFI通信,但这需要自己建造基站,虽然前期会有投入,基站建好后可以长期免费使用,也可以点状建设从而弥补信号空白区域。我们的系统在调试阶段由于时间以及经费的限制,采用现有的3G/4G通讯方案为过渡,待5G技术成熟后结合兼并使用自己建设基站的第二种方案,以弥补野外5G信号空白区。
2.4 语音识别交互模块
为提高趣味性以及人机互动性,我们加入了语音识别交互模块,因此交通机器人本体除了可以根据后台指令做出交通指挥动作,还可以接受周围环境的语音指令从而做出相应的动作,其后面板程序如图7所示。这部分模块的加入增进了人机互动性,同时也可以提高指挥效率。语音识别交互模块主要包括三个部分:
图7 语音交互后面板程序
1)语音接收模块:该部分主要功能是采集周围环境的可用语音信息,然后将采集到的语音信息传递给语音分析模块以待分析;
2)语音识别模块:该模块可以对采集到的可用语音信息进行分析识别,识别的方式是通过在该部分模块中添加大量的语音关键词,语音接收模块送出的语音信息如果触发这些语音关键词的时候,语音识别模块可以将所触发的关键词信息发送至下一步,也就是语音处理模块;
3)语音处理模块:语音识别模块得到的内容输入到本模块时,语音处理模块会做一个比对,比对预先设定好的库里的动作,找出匹配的动作,调动相应动作的子程序,从而使交通机器人本体做出对应的动作;此外设计了大量对话场景,交通机器人本体除了会做出动作来回应外,还可以匹配到设计的场景,调用相关的语音进行回应。
3 移动平台介绍
移动平台这部分在设计是依然采用模块化设计的思路,这部分包含六个模块:移动平台控制单元、障碍识别单元、路径规划单元、速度调节单元、后台通讯单元、电池单元。移动平台控制单元模块主要根据其他模块及后台指令控制小车的路径及行驶的速度;障碍识别单元模块可以识别移动平台前方障碍物,并反馈给移动平台,以便其重新规划路径;路径规划单元模块可以根据平台在移动过程中对路面实时采集的信息,得到到达目的地的路径;速度调节单元模块可以实现对移动平台电机速度的调节;后台通讯单元模块和机器人本体上的通讯单元模块设计思路是一致的,这里就不再详述。以下选取重要模块详细介绍。
3.1 移动平台结构
常见的移动平台有轮式和非轮式(步行类、爬行类等),考虑到本移动平台的使用场合要求其应具备简单、安全、快速的特点,采用轮式结构。进一步的,为了满足功能需求,同时兼顾经济型,采用差分式驱动器的三轮车型,包含一个自由轮以及分布在车身轴两侧的两个固定驱动轮,可以实现前进、后退、转弯以及在原地旋转的功能。这种差分驱动器的三轮车型比单驱动器的转弯的适应性强,比双轮驱动以及多轮驱动的平台成本低。
基于差分驱动器的三轮车型的常见结构,我们设计出如图8所示的移动平台,机器人整体底座为三轮钢架,底座为三个滚轮,由尾轮控制机器人的移动方向,整个平台体积不大且具备机动性强的特点,可以穿梭于车流之中执行任务。
图8 移动平台3D造型图
3.2 移动平台控制模块
由于移动平台要对采集的图像进行分析,完成路径规划、避障等功能,所以在控制器的选择上考虑FPGA,兼顾经济型,选用NI myRIO(Zynq-based)嵌入式平台。该控制器有“口袋实验室”之称,顾名思义兼顾了结构紧凑、体积小和功能强大的特点。除此之外,其编程环境也多样,包括C、 C++以及LabVIEW。通过前文描述可知交通机器人本体的控制系统是基于LabVIEW开发的,所以移动平台的开发软件同样选用LabVIEW。
3.3 路径规划模块
路径规划我们采用车道线识别的方式,移动平台在移动过程中实时对路面的车道线进行采集,获取车道线信息的相关参数。如图9中车道线识别的人机交互界面所示,我们截取车道线图像信息的某一矩形区域,与此同时考虑环境的差异,比如光线强弱等因素,在采集信息的时候会根据所采集的图像调整相关参数直到采集的图像比较清晰为止,为调试方便,设定此时会有一道红色标志线出现在车道线边缘。要使得移动平台一直沿着车道线行驶,通过实验我们发现将移动平台行驶方向与车道线之间的角度控制在-2°到2°比较合适,当超出这个范围的时候,如果此时角度为正,说明校车行驶方向右偏,我们通过控制电机的占空比来降低右轮转速,升高左轮转速;若角度为负则反之。
图9 车道线识别人机交互界面
该部分程序的后面板程序如图10所示。
3.4 障碍识别模块
障碍物的识别目前多采用红外传感器或者超声波传感器,红外传感器虽然电路比较简单但是有个比较大的缺点时容易受到光线的影响;而超声波传感器不受光线影响,性能也比较稳定,还可以测量距离。因此我们选用超声波传感器,将其安装在移动平台的正前方,在传感器下加了一个舵机让其可以一直在180°范围内旋转,从而增加其扫描的范围。在移动平台工作时,超声波传感器会不停扫描前方行驶区域,遇到障碍物的时候,自动计算出移动平台和障碍物之间的距离,决定是绕行还是先倒退再绕行,在编制软件时此部分采用和车道线识别类似的选择条件结构,这里就不再赘述。
图10 车道线识别程序后面板程序
4 结论
研制了智能协警交通机器人系统,该系统由上下两部分构成,上部分为采用Labview控制的人形机器人,包括机器人控制单元、实时环境图像采集单元、语音识别交互单元、后台通讯单元、电源单元,该部分的涉及运动调试,无线传输以及语音交互;下半部分为能够起到避障和自动行驶作用的移动平台,包含移动平台控制单元、障碍识别单元、路径规划单元、速度调节单元、后台通讯单元、电池单元。总结整个系统的特点如下:
1)该系统在设计过程采用模块化设计,参考一些成熟技术,开发周期短,可靠性高;
2)在外形上,率先采用了人形机器人与移动平台的分开的分离式结构,既保证了机器人能够完成一些复杂的动作也克服了人形机器人机动性不足的缺点,使交通机器人能自如地穿梭于复杂的交通环境中;
3)将Zynq平台应用于交通机器人即智能车辆技术中,形成一种全新的车道线识别技术,对该移动平台分别在天气晴朗和阴雨的环境中进行验证,均可到达既定目的地,故其具备识别效率高和可靠性强的特点。
当然,本系统仅仅为交通类机器人的设计提供一种新思路,交通机器人能够完全和交通警察一样自由移动并灵活做出反应,还需要对机器人的系统性和稳定性进一步研究,相信随着后续研究工作的开展,系统会更具有科学性和实用性。