移动机器人控制系统设计及算法研究

发表时间:2020/12/23   来源:《中国电气工程学报》2020年8期   作者: 代正 李晓宇
[导读] 本文提出一种基于ADT850运动控制卡的移动机器人运动控制系统,该系统硬件以ADT850为核心,配合相对应的传感器
        代正    李晓宇
        1哈尔滨商业大学 轻工学院,  黑龙江省哈尔滨市150028
 
        摘要:本文提出一种基于ADT850运动控制卡的移动机器人运动控制系统,该系统硬件以ADT850为核心,配合相对应的传感器,软件利用VC++6.0开发,应用模块化任务,进行控制程序设计;利用状态反馈控制算法理论,设计移动机器人路径跟踪控制方法,实验结果表明,该系统可以有效跟踪所规划的路径。

        关键词:移动机器人;路径跟踪;运动控制系统;状态反馈

        目前,以专用微处理器为载体的运动控制系统[1]应用比较广泛,其特点是采用专用的硬件电路主板及软件编程语言,并将反步法、滑模法等路径跟踪算法固化在微处理器的EPROM中。但是,此类运动系统不具备二次开发功能扩充,系统缺乏可维护性和开放性。因此,需要采用普遍使用的通用上位机软件系统(例如:Unix,Windows等),以及标准的计算机编程语言(例如:C,VC++)对系统进行功能程序开发。此外,为了更好的设计硬件电路实现多传感器的任务处理,需要采用标准的总线结构、I/O接口。采用标准的总线结构或标准的I/O的硬件,以便与各种外围设备和传感器接口;采用网络策略,使其能与其他系统方便通信和共享数据.基于以上思想, 基于以上思想,本研究提出了一种基于工业计算机(IPC)及ADT850运动控制卡的移动机器人运动控制系统,该系统基于状态反馈算法,对移动机器人所规划的路径进行有效跟踪,并可以很好的解决系统平稳及镇定问题。

        1. 移动机器人运动控制系统的硬件结构
        为了实现移动机器人路径跟踪控制算法,首先要满足移动机器人自定位的指标要求,即获取移动机器人相对于固定坐标系原点的位置和运动方向角。为了获取这种信息,必须采用光纤陀螺仪、加速度计等硬件传感器,以便于接收位置、方向角、速度和角速度等信息。此外,移动机器人控制系统必须要和上层决策系统保持良好的通讯链路,以便于实现接收路径规划及决策系统状态反馈等信息的能力[3]。
        1.1 系统硬件结构

        根据前文描述,为了获取移动机器人位姿信息,需要通过多个传感器测量实现,将传感器测量的信息通过标准I/O口上传至通用工控机,通过工控机发送指令至驱动电路实现对移动机器人的控制。此外,为了实现移动机器人的稳定运行,还要有电源系统。这样,可以表征真个移动机器人控制系统具有优异的可扩展性。针对移动机器人的多任务需求,整个传感器系统包括编码器、光纤陀螺仪、倾角传感器、高精度电位器,分别用来测量移动机器人控制系统中的位移、速度、距离,水平方向偏角、俯仰角和横滚角等信息。

        高精度电位器用来测量机器人左、右两摇臂的倾角。驱动控制系统包括ADT850运动控制卡及步进电机驱动器.电源系统采用二组镍氢12Ah电池组分别对计算机系统与驱动系统独立供电,以36V直流电源对步进电机进行供电,以24V直流电源对计算机系统进行供电,该电源系统可以提供2-3小时的连续工作时间。移动机器人的姿态信息通过光纤陀螺仪及倾角传感器获取后,由串口传输至通用工控机;移动机器人位置信息通过编码器采集后,由ADT850运动控制卡的I/O口传输至通用工控机;安装在左、右摇臂的转动轴上的高精度电位器,通过摇臂摆动的方式输出不同的电位值信号值,该信号值经过放大及A/D转换后传输至通用工控机。当通用工控机获取到上述移动机器人的位姿等信息后,通过数据融合的方式,根据决策系统给定的规划路径信息,执行相对应的控制律算法,将控制命令通过运动控制卡传输至步进电机,步进电机根据的接收的脉冲信号做出相对应的动作。
ADT850运动控制卡是基于PCI总线的高性能四通道伺服/步进控制卡,在本系统中, 两个通道分别用于机器人车体左、右轮的驱动控制,另外两个通道分别用于传感器云台的旋转与俯仰运动控制.其脉冲输出方式可用单脉冲(脉冲+方向)或双脉冲(脉冲+脉冲)方式,这里采用前一种方式,最大脉冲频率为4MHz.

        1.2 软件系统结构

        移动机器人的控制系统软件结构采用Windows98开发环境,利用VC++作为上位机软件,为了实现程序调试与修改及控制系统准并行分布式处理,采用模块化及线程多任务处理方式,对相应的程序进行设计。
首先,针对移动机器人各轮的操作函数,定义CAdt-MotorCtrl类的成员函数,该函数由ADT850运动控制卡所提供,针对运动控制卡各通道进行操作封装。
        然后,针对整个移动机器人的线运动、停止等相关运动操作,定义另一个类函数CRobot-ActionCtrl。
通过上述两类函数,使上层开发更加简单、方便,可以有效的屏蔽了运动控制卡及移动机器人本体的硬件操作和硬件参数,完成机器人运动控制程序的开发。

        对于移动机器人控制系统来说,必须要有反馈信号以实现对规划路径的跟踪控制。因此,将移动机器人的位置和姿态作为控制系统的检测量。其中,移动机器人控制系统中的位姿状态观测模块可以用来采集各个传感器的观测信息,而路径跟踪控制模块可以将控制输出量传输至驱动系统,传感器云台控制模块控制传感器云台以角速度8°/s水平转动及4°/s俯仰运动,为实现整个运动控制系统与上层决策系统之间的通信,本文采用通信模块;对于控制系统存在实时性的要求,是由Windows底层定时控制函数API实现的。   

        2. 运动控制算法

        为了保证移动机器人实际运动轨迹能够有效地跟踪所规划的期望轨迹,需要利用路径跟踪算法实现,但是,由于移动机器人建立运动学模型的过程中,存在着非完整性约束,模型存在非线性因素,移动机器人与地面存在打滑产生的系统扰动等因素的影响,无法有效建立精确的数学模型。因此,本文提出一种基于多传感器状态反馈量的移动机器人路劲跟踪控制算法。

        首先,对二差分轮式移动机器人作运动学分析.设vl,vr分别为机器人左、右轮速,则机器人的线速度v及角速度ω分别为:v=(vr+vl)/2;ω=(vr-vl)/w,式中w为机器人左右轮间距.

        考虑如下小车模型,小车的位姿描述为(x,y,θ),其中(x,y)为车体中心(车体坐标原点)在世界坐标系中的坐标,θ为机器人相对于X轴的姿态角,则﹒x=vcosθ; y﹒=vsinθ;﹒θ=ω,式中机器人的线速度v与角速度ω为控制量.对于二差分轮式机器人来说,就转化为对左右轮vl,vr的控制。

        可以证明,小车系统为全局可控的非线性定常系统,即从任意状态(x1,y1, θ1)到任意状态(x2,y2,θ2),都可以选择合适的控制量v和ω,实现状态转移。


        对于任意给定的几何路径f(x,y)=0,若能够求出每一点的曲率半径R(x, y),则该点处的小车的控制量v和ω的关系为R(x,y)=v/ω.由此式可以得出:对于一定的曲率半径R(x, y)的路径可对应无穷对v和ω,只要其比值一定.因此以下求小车的控制量v和ω时, 假定其中一个,求取另一个.这里假定v恒定,求ω的控制率.对于二差分轮式机器人来说,就是假定vr+vl恒定,求vr-vl的控制率.

       

        此为线性定常系统,可令γ=-k1d﹒-k2d,式中k1,k2为大于0的常数,使得d镇定到0.

        可以证明,只要保证k1和k2为正常数,当t→∞时,则d→0,d→0,意味着小车的位置收敛到期望路径。其收敛的速度由k1和k2共同决定,当k1和k2取得越大,小车收敛到期望路径就越快,但控制的稳定性就越差。

        3. 实验结果

        移动机器人车体为六轮带摇臂结构,前后轮间距0.5m,左右轮间距0.6m,移动机器人车体总质量为65kg。其中,规划的期望轨迹路径为x2+y2=32,移动机器人线速度为v=0.2m/s,机器人初始位置姿态为(0,0,0),角速度为0.067rad/s,根据驱动电机的负载能力、车体惯性以及系统的机电相应时间常数,选择控制器参数k1和k2,如果k1和k2较小,达到稳态所需要的时间较长;如果k1和k2较大,则又可能产生不稳定,这些情况往往凭借理论计算是难以完全确定的,需要通过实验来确定一个比较恰当的值。因此,通过最终的实验测试可知,当k1取值为0.8,k2取值为1.5时,在对所规划的半径为3m的圆轨迹进行运动跟踪的过程中,经过约50秒即可以对期望路径进行有效跟踪,且最大超调量为1.2米,稳态误差为±0.15米。

参考文献

[1]李世华,田玉平.非完整移动机器人的轨迹跟踪控制.控制与决策,2002,17(3):301~305
[2]姚远,吴铁军.基于工业PC的六轴机器人控制系统设计.工业控制计算机,2003,16(11):18~21
[3]许春山,王建平,曹广益等.基于VisualC++6.0的机器人控制系统软件实现.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: