著录项信息
专利名称 | 一种双轮差动式机器人运动控制方法 |
申请号 | CN201010013646.5 | 申请日期 | 2010-01-21 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2010-08-04 | 公开/公告号 | CN101791800A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | B25J13/00 | IPC分类号 | B25J13/00查看分类表>
|
申请人 | 西北工业大学 | 申请人地址 | 江苏省南通市海安县海安开发区通榆路1***
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 南通跃通数控设备有限公司,西北工业大学 | 当前权利人 | 南通跃通数控设备有限公司,西北工业大学 |
发明人 | 史豪斌;李文彬;张磊;潘炜;于竹君 |
代理机构 | 西北工业大学专利中心 | 代理人 | 王鲜凯 |
摘要
本发明涉及一种双轮差动式机器人运动控制方法,技术特征在于:以机器人的几何中心为坐标原点在世界坐标系XOY中建立本体坐标系xoy;基于运动学的双轮差动式机器人运动控制方法,该方法针对所有轮式机器人运动中最基本、最主要的两个动作,即轮式机器人原地转角动作和运动到定点动作,实现了对这两个动作的运动控制。双轮差动式机器人的所有复杂动作都可以由这两个基本动作合成。本发明提出采用基于误差比例控制法对其中的线速度函数作了合理的改进,同时结合弦切法,对机器人运动到定点进行综合控制。综合控制极大发挥了这两种方法各自的优点,避免了各自缺陷对机器人运动的影响。发明中还针对循环震荡现象,提出了其相应的解决策略。
1. 一种双轮差动式机器人运动控制方法,其特征在于:以机器人的几何中心为坐标原 点在世界坐标系XOY中建立本体坐标系xoy,转角运动的控制步骤和跑位运动的控制步骤 如下:转角运动的控制步骤:步骤1计算机器人的当前方向角和目标方向角角度差:δ 0r= I ed-en|,其中θ』 机器人的目标方向角,θη为机器人的当前方向角; 步骤2计算左右轮速值:
Vl为左轮速值,Ve为右轮速值,项数η和底数a的参数选择策略如下: 当Δ θ ^的区间为[0,5]时,η取为2、a取为1.8; 当Δ θ r的区间为(5,15]时,η取为3、a取为1. 4 ; 当Δ θ r的区间为(15,30]时,η取为4、a取为1.21 ; 当Δ θ r的区间为(30,90]时,η取为5、a取为1. 12 ;步骤3 :将步骤2得到的轮速分别作用于机器人左右轮的伺服电机上,驱动机器人左右 轮作相应的转动;跑位运动的控制步骤:步骤1计算机器人当前位置坐标与目标点位置坐标的距离:
其中:xsta、ysta为机器人当前的位置坐标,xdes> Ydes为目标点的位置坐标; 步骤2计算机器人当前方向角与当前位置和目标点位置连线的夹角:
其中:θ n为机器人的当前方向角;步骤3进行跑位震荡检测:比较机器人运动最近三个仿真节拍的目标点坐标和机器人 的位置坐标,当两拍的数据不相等时执行下一步骤;当两拍的数据相等时,断定机器人当前处在目标点附近的震荡状态,将机器人正面朝 向与X轴正方向夹角设为θ p,机器人目标位置和当前位置的连线与X轴正方向的夹角设为 θ ,,则机器人执行转角运动控制步骤、做一个由θρ转向θ q的原地转角运动,然后执行下 一步骤;步骤4 :以误差比例控制方法产生的最大震荡距离diSvib为分界线: 当 dis > = disvib 时,左右轮速值为
f(dis · C0S(A em))和g(A em)采用拟合方法得到;当dis < Clisvib时,左右轮速值为
,其中
的值取f(dis · cos (Δ θω)),为指定的机器人运动的线速度,L是机器人两轮之间的距离; 所述的diSvib为机器人的最大速度所对应的运动距离为其值; 所述的拟合方法为:将若干组机器人运动距离dis、转角量△ θ和运动速度ν的关系 dis-v和Δ θ -ν的数据,采用拟合方法得到如下公式:
步骤5 :将步骤4得到的轮速分别作用于机器人左右轮的伺服电机上,驱动机器人左右 轮作相应的转动。
一种双轮差动式机器人运动控制方法
技术领域
[0001] 本发明涉及一种双轮差动式机器人运动控制方法,具体地说是一种基于运动学的 双轮差动式机器人运动控制方法,可用于任何要求具有高精度、高稳定性的双轮差动式机 器人的运动控制。
背景技术
[0002] 机器人技术是一种面向未来的现代化技术,它和网络技术、基因技术、通信技术、 计算机技术等科学技术一样,也属于高新技术。早在1920年时,“ROBOT”这个词就开始在 捷克作家K.凯比克的一本科幻剧本中出现。在1950年,美国作家I.阿西莫夫又提出了机 器人学(Roboties)这一概念,并提出了所谓的“机器人三原则”。在21世纪的今天,可以说 机器人在当今社会对于人类的作用和影响越来越大,如在军事领域、医学领域、环保产业领 域、农业领域、太空和深海探测等诸多方面都有着不同性能和不同种类的机器人从事着相 关工作,并且随着各项技术的提高,机器人将对人类的进步和发展产生深远的影响。
[0003] 业内周知,机器人要完成某个任务,都是通过其具体动作来实现的。而机器人的动 作则由机器人最底层运动控制决定的,底层运动控制是完成各种复杂动作的基本保证。双 轮差动机器人也不例外,所有的双轮差动机器人动作归根结底是根据场上的不同情况由决 策系统自主直接指定其左、右轮速度,实现机器人的直线、曲线、和原地旋转等基本动作,再 由这些基本动作组合成较为复杂的动作。由于对于双轮差动式机器人模型,从运动学角度 讲它不能同时满足非完全约束和动力学约束的条件,是一个非完整系统。为了实现机器人 快速而准确的运动控制,国内外学者在这方面提出了许多方法。例如在原地转角控制方面, 现在普遍采用的是比例线性控制算法,即由当前方向角与目标方向角之间的差值Δ θ“乍 为控制量,然后通过大量测试确定一个比例系数a,将它们的乘积a · Δ θ ^作为数字控制器 的输出,作用到电机上以驱动车轮。这种方法原理简单直观,且容易实现,但在实际应用中, 由于物理惯性的影响,会使机器人产生强烈的震荡,不能快速、稳定的达到目标角度。而在 跑定点动作控制中,现在普遍采用的有弦切法、误差比例控制法等,这些方法虽然都有比较 明确的物理或几何意义,但都由于没有对于物理惯性或机器人的实际应用环境给与特殊考 虑,故在实际应用中都存在各个方面的问题。比如应用弦切法控制,就容易使机器人运动轨 迹过长,从而延长了运动时间;而采用误差比例控制法,就容易使机器人在目标点附近产生 强烈的震荡,不能有效的定位于目标点,而震荡现象也容易引起电机故障,从而减少电机的 使用寿命。
发明内容
[0004] 要解决的技术问题
[0005] 为了避免现有技术的不足之处,本发明提出一种双轮差动式机器人运动控制方 法,以实现双轮差动式机器人在各种复杂工作环境下快速、稳定、精确的运动控制。
[0006] 技术方案[0007] —种双轮差动式机器人运动控制方法,其特征在于:以机器人的几何中心为坐标 原点在世界坐标系XOY中建立本体坐标系xoy,转角运动的控制步骤和跑位运动的控制步 骤如下:
[0008] 转角运动的控制步骤:
[0009] 步骤1计算机器人的当前方向角和目标方向角角度差:Δ、= I 9d-en|,其中 θ d为机器人的目标方向角,θn为机器人的当前方向角;
[0010] 步骤2计算左右轮速值:
[0011]
[0012] Vl为左轮速值,Ve为右轮速值,项数η和底数a的参数选择策略如下:
[0013] 当Δ 的区间为[0,5]时,η取为2、a取为1.8 ;
[0014] 当Δ θ r的区间为(5,15]时,η取为3、a取为1. 4 ;
[0015] 当Δ 区间为(15,30]时,η取为4、a取为1.21 ;
[0016] 当Δ 的区间为(30,90]时,η取为5、a取为1. 12 ;
[0017] 步骤3 :将步骤2得到的轮速分别作用于机器人左右轮的伺服电机上,驱动机器人 左右轮作相应的转动;
[0018] 跑位运动的控制步骤:
[0019] 步骤1计算机器人当前位置坐标与目标点位置坐标的距离:
[0021] 其中:Xsta、ysta为机器人当前的位置坐标,xdes, ydes为目标点的位置坐标;
[0022] 步骤2计算机器人当前方向角与当前位置和目标点位置连线的夹角:
[0024] 其中:θ „为机器人的当前方向角;
[0025] 步骤3进行跑位震荡检测:比较机器人运动最近三个仿真节拍的目标点坐标和机 器人的位置坐标,当两拍的数据不相等时执行下一步骤;
[0026] 当两拍的数据相等时,断定机器人当前处在目标点附近的震荡状态,将机器人正 面朝向与χ轴正方向夹角设为θρ,机器人目标位置和当前位置的连线与χ轴正方向的夹角 设为θ ^,则机器人执行转角运动控制步骤、做一个由θρ转向Θ q的原地转角运动,然后执 行下一步骤;
[0027] 步骤4:以误差比例控制方法产生的最大震荡距离分界线:
[0028]当-”彻也时,左右轮速值为^^^^^=,其中
f(dis · C0S(A em))和g(A em)采用拟合方法得到;
f(dis · cos (Δ θω)),为指定的机器人运动的线速度,L是机器人两轮之间的距离;
[0030] 所述的diSvib为机器人的最大速度所对应的运动距离为其值;
[0031] 所述的拟合方法为:将若干组机器人运动距离dis、转角量Δ θ和运动速度ν的 关系dis-v和Δ θ -ν的数据,采用拟合方法得到如下公式:
[0032] f(dis*cos(A θ J) = 0. 14284X (dis «cos (Δ θ m))3-0. 66979 X (dis «cos (Δ θ m ))2
[0033] +12. 519 X (dis · cos (Δ θ J )-0. 23125
[0034] g(A θ J = 0. 01178Χ (Δ θ m) 2+0. 1989 X (Δ θ J+1
[0035] 步骤5 :将步骤4得到的轮速分别作用于机器人左右轮的伺服电机上,驱动机器人 左右轮作相应的转动。
[0036] 有益效果
[0037] 本发明提出的双轮差动式机器人运动控制方法,相比现有技术的优越性在于:
[0038] (1)本发明由于基于运动学模型,因而在具体实现时,控制系统分为两层。上层是 基于运动学模型的机器人运动控制算法,下层是电机速度控制器控制驱动电机旋转以带动 车轮运动。上层在实现机器人的运动控制时,可以不考虑机器人的动力学特性,即下层的电 机速度控制对上层来讲是透明的,这样的建模思想直接反映了机器人的主要运动特性,便 于建立合理的运动模型,而且易于设计相应的控制器,同时也使系统开发模块化,便于以后 控制算法的改进。
[0039] (2)本发明由于考虑了机器人运动中惯性的影响,因而机器人的运动控制更加精 确和全面。
[0040] (3)本发明的指数型原地转角控制算法中,由于可以按角度差Δ θ J勺大小分成不 同的区间,在各区间上分别确定待定参数,因而扩大了该算法的适用性,同时也提高了机器 人的控制效果。
[0041] (4)本发明综合运用了误差比例控制法和弦切法,从而充分发挥了其各自的优点, 同时又避免了其各自算法的不足。
[0042] (5)本发明对误差比例控制法中的线速度函数f (dis)做了部分改进,从而提高了 机器人运动的精确性。
[0043] (6)本发明参考计算机操作系统中死锁的防治策略,提出了应用于机器人运动控 制中的震荡检测方法,并说明了一种打破振荡条件的方法。
附图说明
[0044] 图1是双轮差动式机器人运动控制方法流程图
[0045] 图2是本发明用于说明机器人系统组成的示意图
[0046] 图3是本发明为了数学建模所建立的坐标系示意图
[0047] 图4是本发明的描述机器人曲线运动的示意图
6[0048] 图5是本发明所建立的指数型原地转角模型的原理说明图
[0049] 图6是本发明用于建立弦切法定点运动模型的原理说明图
具体实施方式
[0050] 现结合实施例、附图对本发明作进一步描述:
[0051] 一、本发明所应用的数学理论、控制原理及技术术语说明
[0052] 1、数据拟合
[0053] 所谓数据拟合是指已知某函数的若干离散函数值{fl,f2,...,fn},通过调整该函 数中若干待定系数f(Xl,λ2,...,λη),使得该函数与已知点集的差别(最小二乘意义) 最小。如果待定函数是线性,就叫线性拟合或者线性回归,否则叫作非线性拟合或者非线性 回归。表达式也可以是分段函数,这种情况下叫作样条拟合。数据拟合的工程意义在与它 可以通过若干离散的数据得到一个自变量与因变量之间的连续的函数,由该函数得到的函 数值与已知点集的差别最小。
[0054] 2、循环震荡
[0055] 循环震荡就是到定点运动控制中机器人在目标点附近作永不停歇的震荡运动,不 能静止在目标点的一种现象,不同于普通的震荡现象,同时这种现象还具有机器人的位置 坐标在若干拍内形成循环的特点。这是由于双轮差动式机器人不能同时满足非完全约束和 动力学约束的条件,是一个非完整系统,因此当机器人处于某种初始状态,再向某一目标点 运动时,通过控制算法的计算,会导致机器人永远不能到达目标点,而只能在目标点附近不 断运动,最终形成循环。
[0056] 3、伺服电机
[0057] 伺服电机是在伺服系统中控制机械元件运转的发动机,是一种补助马达间接变速 装置。它可以使控制速度,位置精度非常准确。在自动控制系统中,它用作执行元件,把所 收到的电信号转换成电动机轴上的角位移或角速度输出以驱动控制对象的。
[0058] 二、本发明的双轮差动式机器人运动控制方法具体实现
[0059] 本发明主要包括双轮差动式机器人的原地转角和机器人运动到定点的控制方法。 具体步骤如下:
[0060] 步骤一、在机器人所处环境中建立一个总的坐标系,称之为世界坐标系,设为Χ0Υ, 然后以机器人的几何中心为坐标原点建立一个坐标系,称之为本体坐标系xoy,建立坐标系 后的机器人如图3所示,在建立的坐标系里构建机器人的控制模型。
[0061] 1、设(X,y)为机器人在所建立的世界坐标系下的位置坐标;θ为机器人的方向 角,即X轴到X轴转过的角度,并以逆时针方向为正方向;V为机器人质心的线速度大小;W 为机器人质心作曲线运动时的角速度大小;r为机器人轮子的半径;L为机器人两轮之间的 距离;\、Ve为机器人左右轮转动的线速度大小;θ ρ ΘΕ为机器人左右轮转动的角速度大 小。
[0062] 2、假定机器人左右轮子和地面之间没有滑动,且沿直线作纯滚动运动,即每瞬时
与地面接触点的速度等于零,则由钢体运动规律可得如下方程: γ -γ
[0063] W =———-Γ Ί T/ VR+vL
[0064] V = j——L
2
[0065] Vl = r · θ L
[0066] Ve = r · θ R
[0067] 3、当机器人作曲线运动时,由于机器人运动的轨迹是由一系列绕瞬时圆心旋转的 小段圆弧组成,如图4所示。
[0068] 根据图三的几何关系可得到方程: VR-VL : VR
[0070] 其中R为瞬时圆弧的半径。对该方程作等价变换,可得到机器人作圆周运动时的 圆弧半径R为:
[0072] 由该方程可以得到,当八=Vk时,圆弧半径R趋向无穷大,则机器人作直线运动; 当八=-Ve时,圆弧半径R等于0,则机器人以质心为圆心作原地旋转;当\兴Vk时,则圆 弧半径R为一个固定值,即机器人围绕瞬时圆心作半径为R的圆周运动。
[0073] 视觉子系统采集机器人的图像信息,通过图像处理后将机器人在已建立的世界坐 标系中的坐标信息,以及机器人的方向信息等传递到智能决策子系统。智能决策子系统对 视觉子系统传递的预处理信息做相应的处理,并对机器人当前应做的动作作出判断。如果 当前拍机器人需要作转角控制,则转向步骤O);如果当前拍机器人需要作精确跑位动作, 则转向步骤(3)。
[0074] 步骤二、由机器人当前的方向角和目标方向角作为数字控制器的输入参数,经指 数型转角控制算法得到机器人当前拍的左轮速和右轮速大小,然后执行步骤(4)。
[0075] 1、用目标方向角减去当前方向角,得到其差值Δ θ ρ即:
[0076]
[0077] 其中θ d为机器人的目标方向角,θ n为机器人的当前方向角。
[0078] 2、考虑到机器人运动时的惯性现象,并为了保证机器人运动的快速性,则当Δ 0r 较大时,机器人应有较大的左右轮速IV」,以达到快速转角的目的,当Δ θ^减小时,轮速大 小IV」应急剧减小,以缓冲机器人惯性的影响,达到消除震荡现象,使机器人稳定的目的。 如图5为实际测试的某双轮机器人静态转角时IV」和△ θ ^之间的关系图(对于其他的双 轮式机器人也有类似关系),这正符合指数曲线的特点:当χ较小时y的值较小,且变化较 为平缓,当χ增大时,y的值将随之急剧增大。因而建立机器人的转角模型为:
[0081] 其中参数a的范围为a > 1。
[0082] 3、为了便于数字控制器的实现,由麦克劳林公式:
[0084]及(ax) (n) I x = ◦ = axlnna | x = ◦ = lnna
[0086] 故只要确定合适的项数η和底数a即可由该模型确定机器人左右轮轮速|V」和 角度差Δ θ ^之间的函数关系式。
[0087] 4、在具体实现中,选定项数η和底数a可参照如下策略:
[0088] 随着项数η或底数a的增大,机器人的Δ 0r-|VL|曲线将逐渐变得比较陡峭,即 机器人的转角速度加快,但机器人容易产生震荡现象。
[0089] 随着项数η或底数a的减小,机器人的Δ 0r-|VL|曲线将逐渐变得比较平缓,即 机器人的转角速度减慢,但转角过程平稳,机器人不易出现震荡现象。
[0090] 为了达到较好的控制效果,通常可以按Δ 的变化将Δ 分成几个不同的区 间,然后在不同的区间上确定不同的参数。对于不同的区间△ θ ρ选定参数时,应在以上策 略的基础之上,先选定项数η,然后从某一个不会引起机器人震荡的底数a开始,在尽可能 稳定的前提下逐渐增大a的取值以提高机器人转角的速度。
[0091] 对于不同区间上项数η的确定,由于当△ θ ^较小时,机器人的惯性对机器人的运 动影响较为显著,因而转角就越需要平稳;当△ θ ^较大时,机器人的惯性对机器人的运动 影响不是很明显,且为了达到快速性的要求,转角速度需要提高。因而对于不同的区间,随 着Δ θ ^的增大,该区间上项数η的值也应该逐渐增大。
[0092] 项数η和底数a的参数选择策略如下:
[0093] 当Δ 的区间为[0,5]时,η取为2、a取为1.8 ;
[0094] 当Δ θ ^的区间为(5,15]时,η取为3、a取为1. 4 ;
[0095] 当Δ 区间为(15,30]时,η取为4、a取为1.21 ;
[0096] 当Δ 的区间为(30,90]时,η取为5、a取为1. 12 ;
[0097] 5、在确定了转角模型的所有参数后,即可由该模型得到确定的机器人左右轮轮子 的速度大小I Vl I,将该值作为数字控制器的输出。
[0098] 步骤三、由机器人当前的位置坐标、目标点位置坐标和机器人的当前方向角作为 数字控制器的输入参数,经改进后的误差比例控制算法得到机器人当前拍的左轮速和右轮 速大小,然后执行步骤G)。
[0099] 1、由机器人当前的位置坐标和目标点的位置坐标,得到这两点之间的欧式距离, 即
[0101] 其中&ta、ysta为机器人当前的位置坐标,Xdes^ydes为目标点的位置坐标。
[0102] 2、由数字控制器的输入参数,得到机器人当前方向角与当前位置和目标点位置连 线的夹角,即
[0103]
[0104] 其中θ n为机器人当前的方向角。
[0105] 3、作震荡检测。在实践中发现,机器人到达目标点附近时,由于惯性等各方面因素的影响,机器人总是不能有效的停止在目标点上,而是不停的来回震荡,这无论是对机器人 的有效运动控制还是对机器人自身的物理器件都有较为严重的影响。因此可以保存机器人 运动过程中前三拍的目标点坐标和机器人的位置坐标,只要检测到这三拍中有两拍的数据 完全相等,则可以断定机器人当前处在目标点附近的震荡状态。当检测到机器人处于震荡 状态时,可以改变机器人的运动策略,即将朝向目标点的到定点运动改为指向目标点的原 地转角运动,这样就可以打破机器人的震荡平衡,而使机器人下一拍可以有效地朝向目标 点运动。
[0106] 4、采用误差比例控制算法,即通过到目标点的距离dis来控制机器人的线速度V, 而通过与目标方向的夹角△ θ 1]1来控制机器人的角速度w,建立机器人的到定点运动模型:
[0109] 其中f (dis)是以距离dis为自变量的函数,g( Δ θω)是以角度差Δ 自变量 的函数。
[0110] 5、在上述基于误差比例控制方法建立的模型中,其中g(A θ J函数可以通过多次 实验,对机器人付以不同的轮速,得到机器人在不同轮速下一拍可以转到的角度曲线Δ θ , 然后用拟合的方法,得到Δ 0-|VL|曲线g(A θω)。f (dis)可以基于同样的方法得到,同时 考虑到小车的速度方向始终与其指向一致,只有距离在连线方向上的投影才是小车运动的 有效距离,因此对得到的f (dis)函数稍作修改,即可得到改进后的基于误差比例控制方法 的到定点运动模型:
[0113] 6、由于误差比例控制方法没有考虑到机器人运动过程中的路径规划,因此在短距 离的跑定点运动中,该方法显得过于简单,会使机器人产生较为剧烈的震荡现象。因此,以 误差比例控制方法产生的最大震荡距离diSvib为分界线,当dis > = disvib时采用上述所述 的改进后的误差比例控制方法。当dis < disvib时,建立如下的基于弦切法的到定点运动 模型:
如图6所示,由几何关系可以得到如下等式: 又由步骤(一)中所建立的运动模型,可以得到: 2 VR-VL 2
由以上公式联立即可以解得机器人的左右轮轮速分别为:[0122]
[0123] 所以只要指定机器人运动的线速度V,并确定机器人两轮之间的距离L就可以由 该控制方法得到机器人运动的左右轮轮速。该控制方法在机器人的运动过程中有了相应的 路径规划,因此在短距离内可以使机器人的运动更加准确,但由于双轮差动式机器人不能 同时满足非完全约束和动力学约束的条件,是一个非完整系统,因而该控制方法会使机器 人产生循环震荡现象,这也就是为什么第三步要先进行循环检测的原因。
[0124] 7、由以上模型确定了机器人左右轮轮速\和Vk后,就可将该值作为数字控制器的 输出。
[0125] 步骤四、将数字控制器的输出分别作用于机器人左右轮的伺服电机上,以驱动机 器人左右轮作相应的转动,以达到期望的运动结果。
法律信息
- 2018-03-27
未缴年费专利权终止
IPC(主分类): B25J 13/00
专利号: ZL 201010013646.5
申请日: 2010.01.21
授权公告日: 2011.05.25
- 2014-09-03
专利权的转移
登记生效日: 2014.08.13
专利权人由西北工业大学变更为南通跃通数控设备有限公司
地址由710072 陕西省西安市友谊西路127号变更为226600 江苏省南通市海安县海安开发区通榆路198号
专利权人变更为西北工业大学
- 2011-05-25
- 2010-09-22
实质审查的生效
IPC(主分类): B25J 13/00
专利申请号: 201010013646.5
申请日: 2010.01.21
- 2010-08-04
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-10-14
|
2009-05-15
| | |
2
| | 暂无 |
2007-04-23
| | |
3
| |
2005-05-25
|
2003-11-18
| | |
4
| | 暂无 |
2006-07-07
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |