自主导览互动机器人的设计
2020-08-19冯思敏
李 涛,冯思敏,张 磊
(1.甘肃省科学院自动化研究所,甘肃 兰州 730000;2.兰州理工大学电气工程与信息工程学院,甘肃 兰州 730050)
机器人的发展是社会经济发展和科学技术发展综合体现的结果,机器人技术是高端智能装备和高新技术的典型代表,对于国家而言,机器人技术已成为衡量国家科技创新和高端制造水平的重要指标[1]。随着科技水平的提升,服务机器人已在家庭服务、医疗保健、地面清洁和安保等多个领域得到了应用[2]。
自主导览互动机器人主要用于大型展览馆和科技馆,引导参访者沿着固定路线参访,向参访者解说以及进行简单的对话,同时可自主调度控制现场设备。它的投放使用可有效增加讲解的趣味性和互动性,节省人力成本,提升场馆服务水平,增强场馆品牌影响力。研究导览机器人的自主导航、路径规划、智能避障、目标点的停靠与定位、语音智能交互、自适应控制等关键技术,对提升服务机器人产业化水平有着重要意义。
机器人使用STM32系列微控制器进行数据处理与系统控制,基于自动导航运输车(AGV,automated guided vehicle)磁导航和射频识别(RFID,radio frequency identification)技术实现自主定位导航,通过对双臂的动作控制,实现机器人在导览过程中的由火箭型到人型的变形过程及逆过程。应用多种无线通信技术,解决机器人与场馆设备的通信控制问题,实现现场设备的调度[3]。系统可以通过语音识别进行情景模式的识别,并根据程序设定进行简单的人机交互。仿生肢体动作控制系统主要通过对导览机器人头部、双臂的动作配合,实现机器人在导览过程中的一些肢体表达,与讲解内容相结合,使参观者获得更好的体验。
1 结构设计
自主导览语音交互机器人是是一款应用于公共场馆的机器人,它可实现定位导航、减速避障、自主讲解、多模态人机交互,还可与场馆设备联动。导览机器人系统框图如图1所示。
图1 导览机器人系统框图Fig.1 Block diagram of guide robot system
研发人员可通过液晶触摸显示屏或者语音与机器人进行交互,控制器接收到指令后控制语音交互单元、驱动单元等,使机器人开始或暂停工作,播放回答语音。语音交互单元搭载声源定位技术,结合语义通过OLED显示屏,可与参访者进行基于动作及表情的交互,通过红外热释电传感器可检测人体,对使用者进行语音和表情问好,导航定位单元结合超声波传感器可实现自主定位导航及减速避障,导航定位单元搭载的RFID传感器可识别讲解点RFID标签,并由控制器控制语音交互单元播放对应资料,无线控制单元控制周边设备进行联动。
2 系统硬件设计
导览机器人主要功能模块有5个系统:变形动作控制系统、行走运动控制系统、现场调度情景控制系统、语音情景识别与交互系统、仿生肢体动作控制系统,它们分别实现了机器人由火箭型到人型的变形过程及逆过程(见图2),导览过程中的自由运动、声源定位、现场设备调度、语音交互、智能家居等功能,使机导览机器人更加人性化。
图2 自主导览互动机器人2种形态示意图Fig.2 Two forms of self-service guide interactive robot
2.1 导览机器人变形动作控制系统设计
导览机器人设计选用的处理芯片是STM32系列的STM32F103VET6单片机,它在内核处理能力、工作频率、数据存储、通信接口、数据转换接口(ADC、DAC)方面具有很大的优势。导览机器人变形控制系统主要进行的是双臂运动的控制,变形过程中机器人双臂在步进电机的驱动下完成相应的动作。
根据导览机器人变形控制系统的需求,系统中的手臂运动模块带动电机选择步进电机。检测模块通过角度传感器和扭矩传感器采集步进电机旋转角度、转轴扭矩等信息[4]。变形机构控制手臂的展开收回、上升下降,用一个直流减速电机控制手臂的展开及收回,另一个电机控制手臂的上升和下降,在手臂收缩和上升至末端时,机器人变成火箭形态,反之变成宇航员形态,在变形机构上设计有光电开关和限位块,在手臂构件运动到位时向控制器反馈状态信息。手臂拥有2个自由度,可上下前后运动,前后摆动角度达45°[5]。导览机器人头部配有2个直流减速电机,分别控制头部的水平和俯仰转动,配合角度传感器、限位块可精准控制角度,防止超出可转动范围。导览机器人头部拥有2个自由度,可左右转动45°,向上转动15°,向下转动5°。
2.2 导览机器人行走运动控制系统设计
导览机器人行走运动控制系统主要实现机器人的循迹行走、避障和站点讲解的功能。驱动单元由电机驱动器和电机组成[6],当主控机发出驱动信号的时候由电源给电机供电,电机采用PWM控制对电流脉冲进行处理。
导航定位单元由安装在底盘的CCF-D08磁导航传感器和RFID传感器组成,磁导航传感器识别磁条导航,它功耗低、检测范围大、尺寸小、精度高、响应快,不受光、雾、水、交变电磁场影响,事先在场馆内根据需求布置好磁道,CCF-D08上有8组微型磁场检测传感器,当CCF-D08位于磁道上方时,这8组微型磁场检测传感器会将自己检测到的磁信号强度转换为电信号,发送给CCF-D08的主控芯片,然后由主控芯片进行相对应的高低电平输出。根据磁条的磁场特性和传感器采集到的磁场强度信息,导览机器人就能够确定磁条相对磁导航传感器的位置[7]。
导览机器人通过读取RFID标签获取位置信息[8],在每个设定站点安装载有信息的ID卡,当机器人每经过事先设定好的站点时便会停下来对游客的问题和相应景点进行回答和解说,完成讲解功能。当机器人运行到路径的转弯处时,ID卡里装载有左转或右转信息,把这些信息通过站点传感器检测到主控制器,控制器通过差分算法,产生左右不同的2个脉冲作用在电机左右的2个驱动器上,电机左右的2个驱动器分别控制驱动左右2个电机的速度,解决机器人移动的转弯问题。
系统避障采用超声波传感器,当障碍物出现在机器人前方进入安全距离时,传感器将探测出这个距离并把该信号传输给中央处理器,同时中央处理器会给行走控制系统一个信号使行进电机暂停运转,当障碍物远离并超出安全距离时继续按规定路线行进。
2.3 导览机器人现场调度情景控制系统设计
现场调度情景控制系统主要根据场馆的实际建设情况和讲解内容的情景需要,调度场馆灯光、投影、水幕、烟雾、音响等特效装置,按照既定的程序,在特定时刻开启和播放。通过无线通信网络,实时控制场馆特效设备的工作模式和工作时间,与讲解内容相结合,形成立体的多维互动体验。在控制动作输出的同时,还可以实时采集各设备的运行信息。
2.4 导览机器人语音情景识别与交互系统设计
AIUI评估板具备强大的语音交互能力[9],支持自定义唤醒词及多种自然语调的发音,可在开发网站生成自定义唤醒词文件,自定义唤醒词。同时AIUI评估板的六麦克风阵列具备360°声源定位能力,定位精度达到5°,使机器人具备声音方位感知能力,其强大的云端库和超高的识别率使机器人具备能听会说及控制场馆设备的能力。
导览机器人的语音交互系统有语音交互和语音指令2种模式[10],在语音交互模式下对话聊天时,通过语义理解算法,令机器人进行常见语句解析,同时结合语法规则文件,给出识别结果。然后在语音合成单元进行查找匹配找到问题答案调用语音合成过程进行语音输出。
在语音指令模式下,发出“指令”,进入指令状态,然后给出指令内容。机器人对指令内容进行识别,翻译为相应的运动控制代码,通过协议把运动控制指令发送给机器人运动控制单元,来完成指定的动作。
2.5 导览机器人仿生肢体动作控制系统设计
仿生肢体动作控制系统主要通过对导览机器人头部、双臂的动作配合,实现机器人在导览过程中的一些肢体表达。在控制动作输出的同时,可以实时采集电机运行参数和机构的位置信息。该设计还实现了迎宾、导览、召集、送别等场景的肢体表达和喜怒哀乐等表情表达。
3 系统软件设计
控制系统的硬件部分是整个导览机器人正常运作的平台,而硬件部分准确协调运行依靠软件部分的底层程序驱动[11]。导览机器人系统主程序流程如图3所示。
图3 导览机器人系统主程序流程Fig.3 Main program flow chart of guide robot system
导览机器人通电后,首先进行系统初始化,然后进入系统自检,检测各功能模块及其通信是否正常,并对头部和腰部进行校准,一切无误后,程序进入主循环。在主循环中通过中断功能对各个模块标志位的置位,来调用各个子程序分别完成主控机与单片机的通讯、电机运动、数据采集、液晶显示、故障报警等功能,实现导览机器人沿磁道行走与站点讲解功能,同时机器人还会执行组合动作和表情配合讲解内容,每次讲解完成后还留有时间交互。
设计中为满足机器人行走稳定性的需求引入模糊PID控制,PID控制的基本原理为
e(t)=r(t)-c(t),
(1)
(2)
其中:u(t)为控制量;Kp为比例系数;Ti为积分系数;Td为微分系数;e(t)为偏差。
而被控系统并非是线性时不变的,所以需要根据偏差e及偏差变化ec来自动调节PID的参数。定义e和ec的模糊子集均为{NB,NM,NS,ZO,PS,PM,PB},输入与输出都选择三角形作为隶属函数。
按照模糊控制规则表[12],可得ΔKp、ΔKi、ΔKd模糊控制规则。通过使用加权平均模糊判决法,得出ΔKp、ΔKi、ΔKd输出后,计算出PID 3个控制参数Kp、Ki、Kd分别为
(3)
其中:Kp0、Ki0、Kd0为常规的PID控制中得到的PID参数。
利用模糊PID控制进行优化处理后,行走运动系统性能得到提高,机器人行走更加稳定,摆动减少。
在步进电机实际运行中,为了抑制失步和过冲现象,保证电机运行平稳,延长系统寿命,采用升降速曲线策略。综合考虑实际需求和实现难易程度等因素之后,选用S型加减速速度曲线来实现变形动作控制系统中步进电机的加减速控制。选用logistic函数作为步进电机加速曲线的模型(见图4),其函数表达式为
(4)
图4 x∈(-5,5)时logistic函数图像Fig.4 Logistic function when x∈(- 5,5)
实际应用中将该曲线进行平移拉伸,得到加速曲线各点的频率分别为
(5)
(6)
其中:fmax为输出脉冲的最高频率,取fmin=0.1fm~0.3fm,fm为电机最大空载启动脉冲频率,f(u)呈现出S型曲线的递增趋势,不断趋于fmax,从而实现加速过程[13]。减速段使用加速段的逆过程,与加速段对称。在头部、手臂和腰部电机控制中引入升降速曲线控制后,导览机器人的动作更加平缓连续,拟人度增加,优化效果明显。
设计采用C语言编写程序,整个程序设计采用模块化结构,从而使系统高效运行。先对系统各模块进行初始化,包括单片机的初始化、LCD液晶显示器的初始化以及通信模块的初始化[14-16]。
导览机器人控制系统的设计中,主控机可以对整个机器人的运行参数和限制值进行设定并发送给单片机,单片机远程接收并处理,处理后整个系统就会按照设定的相关参数运行。同时,系统运行过程中的状态信息,包括电机转速、转轴扭矩、手臂运动位移、手臂位置等参数信息可以通过传感器检测得到,然后提供给单片机处理,单片机会及时反馈给主控机,以保证系统安全可靠的运行。在设计中,主控机与单片机之间通过RS485总线进行通讯,协议采用MODBUS通讯协议[17]。
4 结语
根据场馆应用需求,设计制造了自主导览互动机器人,该机器人将单片机控制技术和电机驱动技术等融合在一起,具有操作简单、智能化水平高、运行可靠的优点。随着智能控制技术的发展和制造业水平的提升,导览互动机器人将不仅仅局限于导览讲解,还可以成为一对一教育、家庭陪护、助老助残等领域进行人机交互学习协助的有效手段,市场潜力巨大。作为服务型机器人的重要组成,该项成果的推广应用是服务逐步老龄化的中国社会的必然要求。