基于环形红外阵列的移动机器人自动跟随系统
2022-05-06徐胜,邢强,王浩
徐 胜,邢 强,王 浩
(1.南通大学机械工程学院,江苏 南通 226019;2.南京航空航天大学机电学院,江苏 南京 210026)
如今,机器人技术发展迅速。机器人已经应用到多个行业,朝着高度智能化的方向发展。具有跟随功能的移动机器人是一种在复杂环境下自动捕捉移动目标物,并且能够实时追踪目标物的机器人[1-5]。其中快速获取移动目标物的空间位置是关键[6-11]。
许多学者对智能跟随移动机器人进行了研究。包加桐等[12]将里程计与视觉相机相结合,设计了具有自主定位和导航功能的跟随机器人,实现了对目标的跟踪。Srinivasa等[13]利用视觉相机成功实现了在不规则室内环境中对目标的精确识别和定位。目前,在很多复杂环境中可以通过视觉定位准确识别目标,但是在图像处理时须用处理器将采集到的大量数据进行计算,这对微型控制器的处理速度提出了较高的要求。此外,谢德胜等[14]将GPS(global positioning system,全球定位系统)与RTK(realtime kinematic,实时动态)技术融合,设计了轨迹跟随机器人。杜华臻等[15]将激光雷达作为环境感知传感器,来捕捉人腿的圆弧形特征,实现了对人体目标的跟随。上述研究主要依靠相机、激光雷达、惯性导航系统等来感知环境,从而实现对目标的定位和跟随。然而,将这些硬件设备应用到智能车的成本十分高昂,这对智能车的普及带来了阻碍。因此,研究低成本的传感器方案并将其运用于智能车的跟随势在必行。
为此,本文设计了一种基于测距罗盘的移动机器人的目标跟随系统。借鉴于复眼昆虫具有接近360°的视角,设计了一种具有环形大视场的测距传感器。利用单个红外传感器体积小、成本低的优点来模拟昆虫小眼,对目标进行快速的距离测量和角度测量,以快速判断目标的位置,实现对目标的精准定位。并依据目标的位置信息利用PD(proportion-differentiation,比例-微分)控制器控制跟随机器人的移动,实现其对移动目标的自动跟踪。
1 移动机器人自动跟随系统的总体设计
针对室内空旷环境,提出一种具有主动式环形大视场的测距罗盘作为环境感知传感器。通过该测距罗盘对移动机器人周围的未知环境进行探测;其主控芯片将采集到的模拟信号转换为数字信号,准确地计算出其与目标物之间的相对距离和相对角度,并运用PD算法将此空间位置关系与预设位置关系进行比较,通过控制跟随车辆的差动驱动轮,实现移动机器人的前进、后退、转动、转弯,使得机器人与目标物保持在预定范围;通过无线串口将测距罗盘采集到的数据传输给上位机,进行数据可视化分析。移动机器人自动跟随系统的结构框图如图1所示。
图1 移动机器人自动跟随系统的结构框图Fig.1 Structure block diagram of automatic following system of mobile robot
2 移动机器人自动跟随系统的硬件设计
2.1 基于分布式传感器阵列的大视场测距模块
大视场测距模块采用具有较强抗干扰能力的GP2Y0A21红外测距传感器。其有效探测距离为10~80 cm,主要由发射电路、接收电路和检测电路三部分构成。检测电路用来将从障碍物反射回来的光的强度信号转换为模拟电信号,从而实现对传感器与遮挡物体之间距离的测量[16-17]。为了实现接近360°的无死角视野,采用16个测距传感器组成周向阵列。为了最大限度地降低传感器之间的相互干扰,将16个同构传感器分为4组,每组4个,各标记为1,2,3,4,周向均匀间隔排列在测距罗盘上,构成了基于传感器阵列的测距模块,如图2所示。测量时,序号相同的4个传感器在同一时刻工作,并设置序号不同的传感器延迟一定时间测量,避免各组不同序号的传感器相互干扰。这样的设计可以使各传感器在互不干扰的条件下完成对周围环境的检测。
图2 基于传感器阵列的测距模块Fig.2 Ranging module based on sensor array
2.2 红外测量和采集模块
红外测量和采集模块使用4组模拟开关对单片机上的模数转换接口进行拓展,使得单片机4路模数转换通道拓展为16路模数转换通道。每组红外测量电路包含一个收发一体式红外测量探头、红外发射电路、红外接收电路和滤波放大电路,且4组红外测量电路共享STM32控制内核和nRF24L01无线通信模块。nRF24L01无线通信模块可以实现一对一、一对多、多对多设备间的数据传输。利用它可组成星形、树形和蜂窝形网络结构,并与上位机组成分布式测量控制系统。上位机用来接收和保存所测数据,以便后续分析。
移动机器人自动跟随系统以STM32为控制核心,4组红外测距回路并行执行。STM32同时选中4组电路的同一通道4052,红外传感器发射的红外波遇到障碍物后返回,经过各自的4052通道进入放大滤波电路,然后进入STM32的ADC(analog-to-digital converter,模数转换器)通道,数模转换后经过计算得出距障碍物的距离,并同时保存传感器所在的通路,即可获得障碍物的方位。上述过程进行4次,即可完成16个传感器的测距工作,获得跟随机器人与移动目标物之间的距离ρ和角度φ。
红外测量和采集模块的设计如图3所示。
图3 红外测量和采集模块设计示意Fig.3 Schematic of infrared measurement and acquisition module design
3 移动机器人自动跟随系统的软件设计
3.1 测距传感器标定
GP2Y0A21红外测距传感器能够根据物体的距离输出模拟电压。距离越远,其输出的模拟电压值越小,且电压值与距离之间存在非线性关系。因此,须对测距传感器的输入输出关系进行参数标定。
在传感器10~80 cm的量程范围内,每隔5 cm取一个测量点,并在每一个测量点记录其实际距离和传感器输出的模拟电压值。为了减小在测量过程中产生的随机误差,进行10次测量,取测量的平均值,并将数据全部输入MATLAB软件。利用幂拟合的方法对数据点进行拟合,拟合曲线如图4所示。拟合结果表明,拟合的确定系数为0.999 3,残差平方和为0.002 3,可见拟合效果较好。
图4 实测距离与电压值的拟合曲线Fig.4 Fitting curve of measured distance and voltage value
该拟合曲线的表达式为:
式中:U(ρ)为红外测距传感器输出的模拟电压值。
3.2 定位模型
定位模型表示在跟随机器人与移动目标物处于同一水平高度的条件下,移动目标物在测距罗盘坐标系下的位置,如图5所示。第i个测距传感器检测到的数据为(ρi,φi)(i=1,2,…,16)。当跟随机器人的周围存在目标物时,其对应方向上传感器检测到的距离信号值会小于其他传感器检测到的值。因此,在t时刻取最小信号值作为跟随机器人对目标物的定位结果(ρt,φt),即:
图5 定位模型示意Fig.5 Schematic of positioning model
利用定位结果(ρt,φt)对车体两侧的差动驱动轮进行控制,以实现移动机器人的前进、后退、转动、转弯等运动,最终使跟随机器人与移动目标物保持设定的距离ρw和偏航角φw。
3.3 跟随机器人的数学模型
如图5所示,假设两轮差速驱动跟随机器人的质心c位于跟随机器人几何中心位置,则机器人的质心坐标为(xc,yc),机器人的姿态向量P=(xc,yc,θ),其中θ为方向角。
根据刚体力学可得跟随机器人的运动学方程为:
式中:v为跟随机器人的线速度;ω为跟随机器人的角速度;v1和vr分别为跟随机器人左、右驱动轮的线速度;l为跟随机器人两驱动轮的轮距。
跟随机器人的运动满足如下约束:
则式(5)可改写为:
将式(4)离散化,可得:
式中:T为采样周期。
3.4 跟随机制
为了实现对跟随机器人的快速控制,同时考虑场景控制所需的较强实时性,选择适应性强、控制简单的PD控制律。跟随机器人的PD控制原理如图6所示。
图6 跟随机器人PD控制原理示意Fig.6 Schematic of PD control principle of following robot
式中:kp为比例系数;kd为微分系数。
以一阶后向差分近似代替微分,则PD控制律的离散化方程为:
3.5 数据处理
数据采集程序主要在LabVIEW软件中编写完成。利用串口技术[18-21]实现对测距罗盘数据和随动机器人路径的可视化采集。下位机接收到测距罗盘的数据后,会将实时距离信号编码成带有校验码的字符串传送回上位机;用于定位跟随机器人的室内定位系统[15]将实时记录机器人的二维坐标,并通过串口上传至上位机。上位机循环接收上述传感器信号,在其操作界面可以显示在极坐标和平面直角坐标系下测距罗盘数据和机器人跟随路径,如图7所示。
图7 测距罗盘数据和机器人跟随路径的显示界面Fig.7 Display interface of ranging compass data and robot following path
4 移动机器人自动跟随实验
跟随机器人如图8所示。其采用差速轮,差速电机选用MG513BP30直流减速电机,电机额定功率为7 W,空载转速可达500 r/min。该型号电机自带高精度AB双相光电编码器,尾部500线AB双相输出;减速比为1∶30的电机减速器的输出轴旋转1周,可以输出15 000个完整脉冲。下位机中,选用基于ARM32位Cortex-M3内核的STM32F103单片机作为整个系统的控制中心,协调和控制各个模块的工作。下位机的主要任务是采集测距罗盘的模拟信号并将它转换为距离信号以控制跟随机器人的运动,通过无线串口将数据传输给上位机中,通过LabVIEW软件进行可视化分析。
图8 跟随机器人Fig.8 Following robot
为观察搭载测距罗盘的跟随机器人在小范围无障碍环境中的自动跟随效果,进行移动机器人自动跟随实验。
先将目标物放置于跟随机器人前方某处不动,引入全局平面坐标系,用于描述机器人跟随运动的轨迹。在初始时刻,全局平面坐标系与测距罗盘初始坐标系重合。设定相关参数:ρw=0.2 m,φw=0 rad,l=0.4 m,跟随机器人最大速度vmax=0.5 m/s。实验在平地上进行,因此不考虑跟随机器人和目标物在垂直方向的位置变化。启动移动机器人的自动跟随系统,通过上位机实时记录实验过程中测距罗盘的数据和跟随机器人的运动轨迹。
让目标物以恒定线速度v=0.4 m/s进行“8”字形运动和方形运动,移动机器人自动跟随效果如图9所示。由图可知,机器人跟随轨迹连续,在跟随过程中未出现跟丢目标物的情况。说明跟随机器人能够执行预期动作,准确跟随目标物,跟踪效果稳定。实验结果证实了测距罗盘和自动跟随系统的有效性和可靠性。
图9 移动机器人自动跟随效果Fig.9 Automatic following effect of following robot
5 结 论
本文设计了一种基于环形红外阵列的移动机器人自动跟随系统。受复眼昆虫具有无死角视野的启发,利用具有主动式环形大视场的测距罗盘作为环境感知传感器。测距罗盘由数个红外测距传感器组成周向阵列。对红外传感器进行参数标定,使测距罗盘可以准确、快速地确定其与移动目标物之间的距离和偏航角。依据目标物的位置信息并利用PD控制器控制跟随机器人的移动,使跟随机器人保持与移动目标物的相对距离和相对角度,实现对目标物的自动跟随。在上位机操作界面可以实时显示跟随机器人的运动轨迹及其对周围未知环境的探测情况,方便实验结果的观察与分析。进行了跟随机器人“8”字形和方形两种轨迹的跟随实验,实验结果表明,机器人跟随轨迹连续,在跟随过程中未出现跟丢目标物的情况,跟踪效果稳定,证实了测距罗盘和自动跟随系统的有效性和可靠性。后续可以通过提高周向阵列传感器的密度来实现更高分辨率的环境探测,使移动机器人的应用更为广泛。