推动国内外学术交流 助力科研成果推广

期刊论文、出版出书、评职称学术咨询

社会认可、全国通用、升职加薪的通行证

基于动力学与控制统一模型的蛇形机器人速度跟踪控制方法研究

来源:SCI期刊网 分类:电子论文 时间:2022-03-30 09:40 热度:

  摘 要 对带有被动轮的蛇形机器人进行速度跟踪控制时, 利用传统的动力学建模方法得到的动力学方程复杂且不利于控制器的设计. 本文基于微分几何的方法将带有被动轮的蛇形机器人动力学投影到速度分布空间中, 得到了动力学与控制统一模型, 更有利于速度跟踪控制器的设计. 考虑到蛇形机器人在进行速度跟踪时容易出现奇异位形, 提出增加头部扰动速度的方法. 基于头部扰动速度和统一模型, 提出避免奇异位形的速度跟踪控制方法, 最后通过逆向动力学得到控制力矩. 文中对速度跟踪控制进行了数值仿真和实验验证. 仿真和实验结果表明, 提出的速度跟踪控制方法能够跟踪想要方向的速度, 并且在跟踪过程中可以有效地避免奇异位形.

基于动力学与控制统一模型的蛇形机器人速度跟踪控制方法研究

  关键词 蛇形机器人, 速度跟踪, 动力学, 奇异位形, 微分几何

  生物蛇的腹部具有异向磨擦特性, 所以当身体在进行蜿蜒运动时地面可以对它产生往前的推力, 从而产生往前的运动. 工程师们模仿生物蛇的异向磨擦特性设计制造了蛇形机器人. 蛇形机器人因为其特殊的身体结构得到国内外广泛研究[1−6] . 其中一类是在蛇的腹部装上被动轮, 利用被动轮的切向和法向的磨擦异性模仿蛇的腹部. 对带有被动轮的蛇形机器人进行动力学建模时, 往往假设其法向无滑动, 被动轮侧向无滑动便引入了不可积的非完整约束, 而蛇形机器人的每个模块都装有一个被动轮, 因此对于有 n 个模块的蛇形机器人引入 n 个非完整约束, 蛇形机器人系统变成一个非完整约束系统.

  蛇形机器人在进行运动规划或者执行特殊任务时, 需要跟踪特定方向的速度. 而对于带有被动轮的蛇形机器人, 当所跟踪的速度为常数时, 蛇形机器人收敛到奇异位形, 这给蛇形机器人的速度跟踪控制带来了挑战性. 本文研究的目标是跟踪任意给定方向的蛇形机器人头部速度. 蛇形机器人是一个非完整约束系统, 对于一般的非完整约束系统, Murray 等[7−10] 基于运动学模型, 通过李括号迭代的方法对非完整约束系统进行控制. 然而这种方法并不适用于蛇形机器人, 因为当带有被动轮的蛇形机器人成直线型或者弧形时 n 个非完整约束变成线性非独立约束, 出现奇异位形[11] , 李括号迭代方法失效. 另外, Matsuno 等[12−13] 对除去部分被动轮后的蛇形机器人进行运动学和动力学建模, 利用冗余性对蛇形机器人进行控制. 这种除去了部分被动轮的方法使得分析变得简单, 然而却无法用于未除去部分被动轮的蛇形机器人. Ishikawa 等[14−15] 利用纤维丛理论对三连杆蛇形机器人进行了运动学建模并进行可控性研究, 然而这种方法很难扩展到多模块蛇形机器人. 为了克服基于运动学控制时所难以避免的奇异位形, Prautsch 和 Mita[11] 利用拉格朗日–达朗贝尔方程对带被动轮的蛇形机器人进行了动力学建模, 并基于李雅普诺夫稳定性定理设计了跟踪控制器, 然而这种控制方法难以跟踪速度, 并且在控制过程中难以完全避免奇异位形. Date 等[16−17] 同样基于拉格朗日–达朗贝尔原理建立动力学模型并考虑到蛇形机器人的操作性设计了力矩控制器, 然而这种方法运算复杂, 在进行改善操作性控制时需要预先数值仿真搜索控制参数, 无法给出封闭的闭环反馈控制, 鲁棒性比较差. Guo 等[18−19] 基于非完整约束对带有被动轮的蛇形机器人进行了优化控制.

  利用传统的拉格朗日–达朗贝尔方程设计控制器时, 无法利用蛇形机器人非完整约束本身的特性, 因此无法设计出封闭形式的控制率. 在很多情况下, 尤其是对动力学系统进行分析时, 传统的拉格朗日– 达朗贝尔方程并非是最有效的方程形式[20] . 利用坐标变换, 选用伪速度重建拉格朗日–达朗贝尔方程, 动力学方程会变得更加简洁, 更有利于进行控制器设计[21−23] . 本文从微分几何的观点对带有被动轮的蛇形机器人进行动力学建模. n 个非完整约束使得平面蛇形机器人的速度切空间约束在一个二维的速度分布空间中. 将控制力矩向此分布空间投影便得到速度分布空间上的动力学方程. 速度分布空间上的方程式只有两个, 因此动力学方程式得到极大简化. 这种建模方法具有形式简洁, 几何直观性好, 并有利于控制分析, 因此我们称之为动力学与控制统一模型. 当蛇形机器人出现奇异位形时, 动力学与控制统一模型中的力矩系数矩阵的行列式为零, 我们利用扰动速度结合动力学与控制统一模型来设计避免奇异位形的速度跟踪控制方法. 利用 Mathematica 进行动力学数值仿真, 对提出来的目标速度进行跟踪仿真实验, 最后我们在蛇形机器人物理平台上验证了控制算法, 该控制算法可以跟踪想要的速度.

  1 动力学与控制统一模型

  平面蛇形机器人是由很多模块通过旋转关节前后串联而成, 其构型空间可用头部的位姿坐标以及各模块之间的相对转角来描述. 如图 1 所示, 构型空间为: Q = (x, y, θ, φ1, φ2, · · · , φn−1). 对于 n 模块蛇形机器人, n + 2 维的构型空间构成 n + 2 维的流形. 另外, 在本文中规定逆时针方向为角度正方向.

  1.1 速度分布空间

  对于 n 模块带被动轮的蛇形机器人, 被动轮安装在每个模块的中心, 因此每个模块的中心处侧向无滑动, 这就引入了 n 个非完整约束. 蛇形机器人构型空间上每一点的切空间 T Q 被约束到一个子空间中. 这个约束子空间称为速度分布空间, 用字母 D 来表示速度分布空间.

  与利用传统的数学方法得到的拉格朗日–达朗贝尔方程相比, 式 (17) 形式简洁, 有利用控制器的设计. 然而在利用动力学方程式进行力矩控制时, 控制力矩系数矩阵容易变成奇异矩阵, 奇异矩阵所对应的蛇形机器人的位形为奇异位形. 因此不能直接利用式 (17) 进行控制器的设计, 还需要考虑如何避免奇异位形. 下一节我们提出避免奇异位形的速度跟踪控制方法.

  3 避免奇异位形的速度跟踪控制方法

  利用动力学方程式 (17) 设计速度跟踪控制器时, 需要求解控制力矩系数矩阵 Y 的广义逆. 一般情况下要求矩阵 Y 是行满秩矩阵, 也就是说矩阵的维数为 2 维. 但是当蛇形机器人在奇异位形时, 矩阵 Y 不满足行满秩的条件. Prautsch 等已经证明, 当带有被动轮的蛇形机器人身体形成直线或者圆弧时, 蛇形机器人为奇异位形[11] . 为了避免奇异位形, Date 等引入操作性概念, 利用数值搜索的方法预先仿真得到可以改善蛇形机器人操作性的加速度[16] ,这种方法需要预先筛选候选值. 我们提出基于添加垂直方向扰动速度的方法来避免奇异位形.

  3.1 扰动速度

  当蛇形机器人处在奇异位形时, 即蛇形机器人身体成直线或者圆弧时, 控制力矩系数矩阵 Y 降秩, 此时矩阵 Y Y T 的行列式为零, 为了避免蛇形机器人产生奇异位形, 我们人为地在与目标速度垂直的方向上增加一个周期的扰动速度. 如图 2 所示, υd 为目标速度, 而 υ⊥ 为扰动速度.

  这个扰动速度原则上来说, 可以是任何在一个周期内平均位移为零的周期函数. 为了得到平滑的速度控制, 我们选取余弦函数 υ⊥ = α cos(ωt). 其中参数 α 和 ω 分别为蛇形机器人头部侧向速度摆动振幅和频率. 这两个参数将间接地影响蛇形机器人的身体形状, 即通常所说的步态.

  4 仿真研究

  基于动力学与控制统一模型 (17) 和上一节所提出的反馈控制率, 利用数学仿真软件进行数值仿真研究. 基本的仿真参数如表 1 所示.

  4.2 方向控制角 ψ

  由 式 (18) 知, 方向控制角 ψ 控制蛇形机器人速度的方向. 如图 6 所示为蛇形机器人控制角分别为 −0.5, 0, 0.5 时的仿真图. 从仿真图中可看出, 蛇形机器人速度方向可完全由控制角决定.

  4.3 初值稳定性及速度收敛性

  为验证所提出来的方法初值的稳定性, 我们设 ψ = 0, ω = ω1. 如图 7 所示, 蛇形机器人取不同的初始位形时会得到相同的运动, 因此算法对初值具有鲁棒性.

  我们取表 1 中的初始值, 对跟踪速度的收敛性进行仿真研究. 图 8 所示, 蛇形机器人头部前进速度稳定到目标值.

  图 9 所示, 蛇形机器人关节角经过一定时间的调整稳定到周期变化.

  图 10 所示为蛇形机器人的控制关节力矩, 此力矩为周期变量.

  5 实验验证

  5.1 实验平台

  为了验证控制算法的有效性, 搭建了实验平台. 如图 11 所示, 该实验平台包括计算机、无线串口、蛇形机器人样机, 其中蛇形机器人样机包括无线串口、接收端、舵机控制板、锂电池、角度位置舵机和机械连接部分. 实验时计算机运行控制算法, 通过无线串口发射端将控制信号发射到蛇形机器人样机的无线串口接收端, 无线串口接收端与舵机控制板连接, 收到控制信号后会传给机器人舵机控制板, 舵机控制板控制蛇形机器人的八个舵机.

  本文来源于:《自动化学报》(月刊)创刊于1963年,是由中国自动化学会、中国科学院自动化研究所共同主办的高级学术期刊。刊载自动化科学与技术领域的高水平理论性和应用性的科研成果,内容包括:1)自动控制;2)系统理论与系统工程;3)自动化工程技术与应用;4)自动化系统计算机辅助技术;5)机器人;6)人工智能与智能控制;7)模式识别与图象处理;8)信息处理与信息服务;9)基于网络的自动化等。

  物理实验中, 为了验证算法的速度跟踪效果, 令目标速度 Vd 从零开始, 以 0.05 m/s 的速度依次递增. 实验中的控制参数与仿真实验相同, 部分参数如表 1 所示. 另外, 为了使蛇形机器人整个身体形状呈现一个波形, 控制频率为 ω = (2π |Vd|)/(2ln).

  5.2 实验结果

  如图 12 所示为蛇形机器人在瓷砖上的实验图. 实验时, 每隔 1 m 粘贴一个标记, 将蛇形机器人通过标记时的时间记录下来, 利用距离除以时间得到通过该段距离的速度. 如图 12 中当目标跟踪速度分别为 0.1 m/s, 0.2 m/s, 0.3 m/s 时, 通 过 两 米 的 距 离 实 际 平 均 速 度 分 别 为 0.099 m/s, 0.1913 m/s, 0.287 m/s, 相对误差分别为 1.01 %, 4.55 %, 4.53 %, 相对误差控制在 5 %, 考虑到计时的测量误差, 实际速度可以比较好地跟踪目标速度.

  图 13 为蛇形机器人目标跟踪速度和实际速度的关系图. 实验表明, 当蛇形机器人的目标速度不大于 0.3 m/s 的时候, 实际速度能够比较好地跟踪目标速度; 当目标速度大于 0.3 m/s 时, 实际速度不能很好地跟踪目标速度. 这是因为当蛇形机器人的速度过大时, 蛇形机器人会有侧向滑移, 非完整约束遭到破坏. 实验表明, 该蛇形机器人的最大速度不超过 0.5 m/s.

  5.3 算法比较

  与其他方法相比, 本文提出的速度跟踪控制算法从运动层面进行控制, 通过对蛇形机器人头部的伪速度进行控制自动地生成步态. 而蛇形机器人传统的控制方法如基于 Serpnoid 曲线的控制和基于CPG 模型的控制, 都是生成一组正弦或余弦角对蛇形机器人的关节角进行控制, 也就是说这些方法是从步态层面进行控制. 如果进行速度跟踪, Serpnoid 曲线控制和基于 CPG 的控制需要不断地调整关节角信号的幅值、频率和相位等, 调整过程复杂缓慢. 本文提出的控制方法由运动直接生成步态, 不需要任何参数的调整即可达到想要跟踪的步态. 为了进行定量的比较, 我们对蛇形机器人的关节角进行如下控制 φi = A sin (ωt − (i − 1) × 2π/8), 其中 ω 取值与仿真和实验中 V0 = 0.2 m/s 时的频率相等, 即令 ω = 25π/36, A 为旋转角振幅.

  图 14 为关节角振幅 A = 0.6 时蛇形机器人实验图, 此时蛇形机器人的平均速度为 0.127 m/s, 改变振幅值可以得到不同的速度. 实验中, 我们测试了振幅 A 分别为 0.4, 0.5, 0.6, 0.7, 0.8 时蛇形机器人的运动, 实验结果如表 2 所示. 其中 t0 表示初始时刻; t1表示蛇形机器人到达 1 m 的时刻; t2 表示蛇形机器人到达 2 m 的时刻. 从表 2 的实验结果可以看到, 利用 Serpnoid 曲线进行控制时, 蛇形机器人的速度与振幅有关, 振幅越大, 蛇形机器人的运动速度越慢. 同时, 实验结果表明, 在相同的频率下 Serpnoid 曲线所生成的步态无法达到 0.2 m/s 的速度, 而本文提出的控制算法可以达到 0.2 m/s. 另外蛇形机器人的运动速度与频率及相移都有关系, 即蛇形机器人的速度是 Serpnoid 正弦关节角的振幅和频率以及相移的隐式函数, 若要跟踪常速度要不断地调整振幅, 频率或相移, 调整过程繁琐. 与 Serpnoid 曲线控制和 CPG 控制方法不同, 本文提出来的控制算法充分利用了被动轮的非完整特性, 通过对头部速度的跟踪自动产生运动步态, 因此所产生的步态可以完全跟踪想要的速度.

  6 结论

  1) 本文基于微分几何的方法对带有被动轮的蛇形机器人进行运动学和动力学建模, 并利用度量垂直基底进一步简化动力学, 得到了动力学与控制统一模型.

  2) 基于动力学与控制统一模型进行速度跟踪时, 蛇形机器人容易陷入奇异位形. 为了避免奇异位形, 提出了扰动速度. 基于动力学与控制统一模型和扰动速度, 设计了避免奇异位形的速度跟踪控制器.

  3) 利用动力学与控制统一模型和数学软件对控制方法进行数值仿真, 实现了对目标速度跟踪的仿真. 仿真结果表明, 提出的控制率可以实现速度跟踪, 并可以有效地避免奇异位形.

  4) 实验验证了提出的控制算法.

  5) 未来的研究包括实验研究、控制参数对步态和力矩的影响、力矩优化控制、考虑侧向约束力的限制等.——论文作者:郭 宪 1, 3 马书根 1, 2 李 斌 1 王明辉 1 王越超 1

文章名称:基于动力学与控制统一模型的蛇形机器人速度跟踪控制方法研究

文章地址:http://www.sciqk.com/lwfw/dzlw/13095.html