发明名称 轮式移动机器人的变结构控制方法
摘要 本发明公开了一种轮式移动机器人的变结构控制方法,采用多模态PID控制方法来控制机器人的直线移动;采用PID控制与规则控制相结合的控制方法来校正小车的前进方向;这两种控制方式通过方向角和中心偏移量的变化进行转换,机器人的转弯控制通过转弯方向信息与位置信息来控制机器人以原地直角转弯方式进行转弯,本发明采用多模态PID控制和规则控制与PID控制相结合,该算法针对机器人所处的不同状态采用不同的控制算法以及相应的控制参数,有效地提高和改善了机器运动控制性能,按照误差的变化情况来划分控制模态,更合理地模拟了人的控制行为,较传统的PID控制方法,具有一定的智能性,提高了机器人行走运动控制品质。
申请公布号 CN102269995B 申请公布日期 2013.09.25
申请号 CN201110169879.9 申请日期 2011.06.22
申请人 重庆大学 发明人 孙棣华;廖孝勇;刘卫宁;赵敏;李硕;崔明月;何伟;郭磊;李陆;孙焕山
分类号 G05D1/02(2006.01)I 主分类号 G05D1/02(2006.01)I
代理机构 北京同恒源知识产权代理有限公司 11275 代理人 赵荣之
主权项 轮式移动机器人的变结构控制方法,所述轮式移动机器人包括左轮、右轮、驱动器、前排磁传感器、后排磁传感器、轮式移动机器人车体、RFID读写器,所述驱动器控制电机转速,所述RFID读写器设置于小车前端,将磁条设置于道路中央的磁条安装槽内,该道路上还设置有RFID标签,道路转弯处还设置有转弯信息磁条,所述前排磁传感器设置于小车前端,所述后排磁传感器设置于小车后端,其特征在于:包括直线行走控制和转弯控制,所述直线行走控制,根据机器人左轮和右轮驱动电机的转速差与电压差来控制机器人直线移动和校正机器人的前进方向;所述转弯控制,根据RFID标签提供转弯的转弯方向信息与磁条提供的转弯位置信息来确定机器人转弯所需信息,采用原地直角转弯方式完成来控制转弯动作;所述直线行走控制为变结构控制方式,包括内部控制环和外部控制环,所述内部控制环采用多模态PID控制方法来控制机器人的直线移动;所述外部控制环采用PID控制与规则控制相结合的控制方法来校正小车的前进方向;所述内部控制环和外部控制环按照以下条件进行转换:当方向角θ=0且中心偏移量η<d时,由内部控制环控制机器人的前进,否则由外部控制环来调整机器人的前进方向;其中d为两相邻磁传感器间隔;所述中心偏移量通过以下公式计算: <mrow> <mi>&eta;</mi> <mo>=</mo> <mfrac> <mrow> <msub> <mi>L</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>L</mi> <mn>2</mn> </msub> </mrow> <mn>2</mn> </mfrac> </mrow>所述方向角通过以下公式计算: <mrow> <mi>tan</mi> <mi>&theta;</mi> <mo>=</mo> <mfrac> <mrow> <msub> <mi>L</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>L</mi> <mn>2</mn> </msub> </mrow> <mi>L</mi> </mfrac> </mrow>其中,L1表示感应到磁条的前排磁传感器感距中心线的距离,L2表示感应到磁条的前排磁传感器感距中心线的距离,L表示前后两排磁传感器的距离;所述多模态PID控制方法包括以下步骤:S1:计算多模态PID控制中的系数Kp、Ki、Kd,其中Kp表示比例系数,Ki表示积分系数,Kd表示微分系数;所述转弯控制包括以下步骤:S11:在机器人直线行走时通过RFID读写器获取RFID标签的转弯方向信息,通过磁传感器检测磁条提供的转弯位置信息;S12:机器人运动预设的延长时间后停止运动;S13:根据FRID标签提供的标志位来判断确定机器人的转弯的方向信息;S14:根据转弯的方向信息,让相应的一个轮子转动,另一个轮子停止;S15:检测磁条,判断磁条是否位于前排磁传感和后排磁传感中间;如果磁条不位于前排磁传感和后排磁传感中间,则返回步骤S14继续转弯;S16:如果磁条位于前排磁传感和后排磁传感中间,则停止转弯;S2:输入采集到的机器人移动信息y(k),y(k)为当前时刻左轮和右轮转速差;S3:计算偏差e(k)=r(k)‑y(k),其中y(k)表示本次采样输入量;r(k)表示给定输入量;e(k)表示给定输入量与本次采样输入量的偏差;S4:通过以下公式计算控制量:u(k)=u(k‑1)+Kp(e(k)‑e(k‑1))+Kie(k)+Kd(e(k)‑2e(k‑1)+e(k‑2))其中,e(k)表示给定输入量与本次采样输入量的偏差;e(k‑1)表示给定输入量与上次输入量之间的偏差;e(k‑2)表示给定量与上上次采样输入量之间的偏差;u(k)表示需输出的控制量;u(k‑1)表示上一次输出的控制量;S5:输出控制量u(k),通过机器人驱动模块驱动电机控制机器人的运动;S6:通过以下公式修改偏差,将本次偏差设置为下一次偏差,将下一次偏差设置为上上次偏差:e(k)→e(k‑1),e(k‑1)→e(k‑2);S7:判断采样时间是否到,如果未到达,则记录采样时间直到采样时间结束,进入下一步;S8:如果采样时间完毕,则返回步骤S2进行下一次采样输入;所述步骤计算控制量中在计算控制量前还要先按照机器人左轮和右轮转速差的变化情况来划分PID的模态,所述PID模态划分按照以下方式进行:当左轮和右轮转速差小于预设最小阈值时,使用PID控制;当左轮和右轮转速差大于预设最大阈值时,使用P控制;当左轮和右轮转速差在预设最小阈值和预设最大阈值之间时,使用PI控制;所述预设最小阈值取1r/min,所述预设最大阈值取2r/min;所述外部控制环包括以下步骤:S21:利用机器人前后端的磁传感器和磁条位置来采集机器人的位置偏差信号并计算出机器人的姿态;S22:判断机器人姿态是否出现偏差,如果没有出现偏差,则机器人保持原来的姿态移动;S23:如果出现偏差,采用以下公式计算出控制量:e(k)=k1η(k)+k2θ(k)u(k)=u(k‑1)+Kp(e(k)‑e(k‑1))+Kie(k)+Kd(e(k)‑2e(k‑1)+e(k‑2))其中,k1表示中心偏移量的比例系数,k2表示方向角的比例系数,k1、k2的值要根据机器人的姿态来确定;e(k)表示给定输入量与本次采样输入量的偏差;e(k‑1)表示给定输入量与上次输入量之间的偏差;e(k‑2)表示给定量与上上次采样输入量之间的偏差;u(k)表示需输出的控制量;u(k‑1)表示上一次的输出量;η(k)表示本次检测到机器人中线距路径中心的距离;θ(k)表示本次检测到机器人的方向角;S24:根据传感器检测的机器人的偏离角度确定机器人的转向;S25:确定小车转向后再根据控制量,给驱动器相应端口送电压,从而调整机器人两驱动轮电机的转速和轮子的转向。
地址 400044 重庆市沙坪坝区沙正街174号