科技始终来自人性,一语道出科学与技术皆由人类的欲望所生。在讲求经济效益与效率的现代,人类进一步整合计算机与机器,创造机器人以期能够增加工作效率,或是代替人类执行一些具危险性的工作,因此机器人的相关技术研发将会越来越受重视。
本文所开发的机器人作品以盛群半导体八位微控制器(MCU)为核心,具有计程、位置推算、红外线传感避障、中文语音提示、地磁角度测量、地磁角度修正等功能,使用个人计算机(PC)或笔记本电脑(Notebook)当作主控,撰写人机接口主控程序,以射频(RF)无线模块进行沟通,主控计算机可下达指令给机器人并接收机器人的状态回传数据。本文设计的主题是将此机器人群控系统应用于两种机器人队形变换,分别是横纵队形变换跟四角位置队形变换。
主控/受控系统架构搭载RF传输
目前规划的群体机器人队形变换,初步分为两种队形,队形1为多横列与纵列队形的交换,队形2为原本位于四个角落的机器人做位置的变换,虽然两种队形的排程有不小的差异性,但其系统架构是相同的,可分为主控计算机端与受控的群组机器人端(Slave)。
在此群体机器人的动作完全由主控端下达命令而后动作,动作执行完成,随即向主控端回传动作状态;而主控端依据机器人的回传状态,决策群体机器人的动作,其整体的架构模式皆如图1所示,其计算机端的监控接口与受控机器人端的间的通信皆是建立在无线射频通信平台上,并且使用RS-232的通信协议,通过所配置的无线电模块nRF905以无线射频方式进行数据的传输。
图1 系统架构
无线通信满足串行信号传输需求
主控计算机端的无线传输部分,主要是使用RS-232串行传输与无线RF模块的RxD脚位、TxD脚位及共地脚位进行数据传输,主控计算机端有两种方式与无线RF模块进行串行传输,第一种方式(图2),当计算机RS-232传输端口不足时,我们可使用计算机端的通用串行总线(USB)传输埠,经由IC PL2303所设计的USB转RS-232模块,将通过USB协议传输进来的数据,转换为RS-232串行输出信号,再与无线RF模块的RxD脚位进行通信数据传送和TxD脚位进行通信数据接收,只要注意好彼此的传输波特率(Baud Rate)以及相关通信协议是否一致,即可由主控计算机端下达命令至无线RF模块或是接收由无线RF模块回传的信号,进行无线通信传输;第二种方式(图3),当计算机RS-232传输端口足够时,我们使用计算机端的RS-232传输埠,不过基于无线RF模块的信号准位为0伏特(V)或5伏特,而计算机端的RS-232的电压准位为+12伏特或-12伏特,两端的电压准位不一致,所以须使用IC HIN232进行电压准位转换,转换后仍须注意彼此的Baud Rate以及相关通信协议是否一致,才能达成RS-232串行通信传输。
图2 计算机端通信架构-1
图3 计算机端通信架构-2
方向传感提升机器人路径设计精准度
设计群控机器人路径规划系统前(以下简称群控机器人系统),首先将提升小机器人所具备的能力,包含方向传感能力(加入电子罗盘传感地磁角度)、闪避障碍物能力、语音提示能力(具体语音提报功能以告知命令下达者)、机器人行走路径计算能力(行走期望距离或计算出已行走的距离长度),以及动作完成数据回传能力(利于计算机端对机器人群的整体监控)等,使机器人本身的基本功能更符合路径规划的功能要求。
计算机端的监控接口是以一个无线通信模块,对多台机器人下达命令,在此架构下,如何让监控接口可以对群控机器人端的掌握更具便利与灵活性,借以对群控机器人的路径规划带来帮助,本系统将通过对动作命令数据编码的方式,进一步将机器人端的动作规划为单个运动模式、多个运动模式与同步运动模式。
单个运动模式的动作意义为各司其职,假设该台机器人接收到动作要求时,立即执行其动作命令;多个运动模式的动作意义为群体机器人在同一时间点启动并且做相同动作;同步动作模式的动作意义与单个运动模式的意义类似,差异在机器人接收到动作命令时,并不立即执行命令要求,必须等待另一同步启动命令,而后再同时启动并执行该机器人已接收的命令动作。
感光模块/电子罗盘协助判断行径方向
如图4所示,为机器人的整体架构图,环境传感器方面有感光模块与电子罗盘模块,使得机器人具有方向传感的能力,这将为机器人在路径规划上,带来很大的帮助;而计程传感器的Encoder脉波信号精度达到0.185公分的传感单位,提升了路径规划的精确性,另外红外线避障模块可以判断障碍物,以及是否到达棋盘式实验平台的交点。
图4 机器人整体架构
图5为群控机器人系统的人机接口,此监控接口是使用宝兰(Borland)C++ Builder所撰写设计,利用此人机接口就可对系统中的机器人下达命令,且当机器人执行完计算机端所下达的命令后,会将执行结果回传给此监控接口,达成机器人群体监控的目的。
图5 群控机器人系统人机接口
接下来由图中所标示的编号,逐一做说明,编号A为计算机端与无线RF通信模块的通信端口对应设定,设定内容包含RS-232通信端口选择与Baud Rate选择,因为计算机端的人机接口是以RS-232对外做沟通,因此务必先设定此部分,才能启动人机接口的各项对外数据传输动作;编号B提供操作者自行选择所要传输的数据组合,且也可使用编号C的键盘输入模式,确定好要传出的数据后,按下传送键,即送出数据。
编号D为机器人单个、多个、同步动作模式的选择区,当选择单个或同步运动模式时,编号E区块才会显现,原因为多个运动模式下,并不须要判别是哪只机器人该接收动作命令数据,所以只须下达一组命令,也因此编号F部分只会出现一组命令选择窗口;编号F为各编号机器人的命令下达选择区域;编号G区块为各机器人的回传数据状态显示与统计区,然而群控机器人系统,目前使用四台机器人,因此,规划了四组个别显示区域,为Robot-1 State~Robot-4 State;编号H区块为显示,计算机端所接收到来自于机器人端回传的所有数据。
路径修正/避障侦测/命令接收软件不可或缺
群控机器人系统的机器人软件设计,具备功能包含使机器人利于队形变换应用的路径规划上如单个、多个、同步运动模式功能。依计算机端监控接口所设定的运动量,执行前进、右旋、后退、右旋等动作,且前进时具有避障功能。依计算机端监控接口所设定的运动量,并依据脉冲宽度调变器(PWM)速度参数,执行前进、右旋、后退、左旋等动作,且前进时,机器人具备直线前进的修正功能。
设计可依计算机端监控接口的命令,执行前进、右旋、后退、左旋等动作,并且计算其总动作量。机器人面向角度测量(电子罗盘传感)。机器人面向角度修正功能(依据电子罗盘的传感值)。语音提示功能,执行完上述的动作后,皆会语音提示相关状态。状态回传,执行完命令后,皆会传送出相关数据至计算机端监控接口。
掌握群控机器人基本运动 有效达成路径规划测试
此实验目的为测试群控机器人路径规划的监控接口,是否能顺利对四台不同编号机器人下达工作命令(包含单个、多个、同步运动等模式下的机器人功能测试),且测试此接口是否可正确的显示与统计出各机器人运动的信息,这些步骤对于群控机器人的路径规划是必须的,能掌握机器人的动作状态,才能有效的规划群控机器人的路径。
如图6所示将四台机器人放置在桌面,由左至右,机器人的编号为1~4号,接下来逐一对机器人下达动作命令。基于上述的单个运动模式测试,验证了已可由计算机端的监控接口,监控各机器人的运动状态。
图6 单个运动模式动作测试。(a)为监控接口传出的动作命令组合,(b)为机器人执行命令动作后相对位置,(c)为机器人完成动作后的状态回传。
横队变纵队/角线变换易如反掌
欲使四台机器人由图7(a)所示的横队队形,变换成图7(e)的纵队队形,依表1的同步命令数据,逐一由监控接口下达,如图7(a)~(e)所示,机器人群将逐步完成,由横队变成纵队的路径规划(其每个步骤都为同步动作模式,因此每个步骤皆是同时启动而执行的),而完成此路径规划的状态回传,则如图8所示,包含机器人收到同步数据的回传机制。因此,验证了使用群控机器人路径规划系统的同步命令模式,逐次下达动作命令,可使机器人群由横队队形变换为纵队队形的路径规划,在此设计者尽量以最短运动量完成所要的队形变换。
图7 横队变纵队路径规划
图8 横队变纵队状态回传
欲使四台机器人由图9(a)所示的初始位置,做对角线位置变换成图9(h)的最终位置,可依表2的多个与同步命令整合数据,逐一由监控接口下达,则如图9(a)~(h)所示,机器人群将逐步完成,对角线交叉变换队形(其每个步骤都为多个或同步动作模式,因此,每个步骤皆是同时启动并执行的),而完成此路径规划的状态回传,详见图10的各条列方块。
图9 对角线变换队形
图10 对角线变换队形状态回传
验证了使用群控机器人路径规划系统的多个与同步命令模式,逐次下达动作命令,可使机器人群做对角线变换位置的路径规划。
目前多机器人的路径规划可归类为两大方向,其一为由计算机端监控接口,完全监控机器人的运动行为,包含计算机端对机器人端的命令下达,以及机器人端执行完命令的状态回传,称为多机器人路径规划系统。
经实际测试,且确定机器人本身的功能正常后,进一步整合监控接口做测试,发现已经可以顺利对多机器人端下达单个、多个以及同步运动模式等控制,并且提出利用多个与同步运动模式,由监控接口对机器人群下达命令,执行队形变换的路径规划方式,如:横队变纵队,借以验证此系统的稳定性,并且可作为后续多机器人路径规划延伸实验的基础系统。
作者:萧胜文、张志鸿、李柏毅、苏国岚,盛群半导体