阻抗控制(一)

这篇具有很好参考价值的文章主要介绍了阻抗控制(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

#阻抗控制 #导纳控制
详细可参考书本:《现代机器人学:机构规划与控制》第11.7节。

阻抗的定义

在刚性环境中理想的[[力、运动-力混合控制|运动-力混合控制]],需要极端的机器人阻抗(impedance),阻抗将端点的运动变化作为干扰力的函数来进行表征

理想的运动控制对应于高阻抗(由于力扰动而引起的运动变化很小),而理想的力控制对应于低阻抗(由于运动干扰而引起的力的变化很小)。例如用作触觉模拟器的机器人:
m x ¨ + b x ˙ + k x = f m\ddot{x}+b\dot{x}+kx=f mx¨+bx˙+kx=f
阻抗控制算法,机器人,阻抗控制,导纳控制,机器人动力学

图1 弹簧阻尼系统表示机器人

如果 { m , b , k } \{m,b,k\} {m,b,k}中的一个或多个参数(一般指 b b b k k k)很大,则机器人呈现高阻抗;同样地,如果这些参数都很小,称机器人呈现低阻抗。
更正式的,对上式进行拉氏变换得到,
( m s 2 + b s + k ) X ( s ) = F ( s ) (ms^2+bs+k)X(s)=F(s) (ms2+bs+k)X(s)=F(s)
阻抗由位置扰动到力的传递函数 Z ( s ) = F ( s ) / X ( s ) Z(s)=F(s)/X(s) Z(s)=F(s)/X(s)表示。因此,阻抗取决于频率,并且其低频响应由弹簧支配,而高频响应由质量支配。而导纳 Y ( s ) Y(s) Y(s)是阻抗的倒数: Y ( s ) = Z − 1 ( s ) = X ( s ) / F ( s ) Y(s)=Z^{-1}(s)=X(s)/F(s) Y(s)=Z1(s)=X(s)/F(s)

  • 好的运动控制器→高阻抗(低阻纳)→ Δ X = Y Δ F \Delta X=Y\Delta F ΔX=YΔF→力扰动 Δ F \Delta F ΔF仅能产生很小的位置扰动 Δ X \Delta X ΔX
  • 好的力控制器→低阻抗(高导纳)→ Δ F = Z Δ X \Delta F=Z\Delta X ΔF=ZΔX→运动扰动 Δ X \Delta X ΔX仅能产生很小的力扰动 Δ F \Delta F ΔF

阻抗/导纳控制目标

阻抗控制是为了实现如下的任务空间行为:
M x ¨ + B x ˙ + K x = f e x t (11.64) M\ddot{x}+B\dot{x}+Kx=f_{ext} \tag{11.64} Mx¨+Bx˙+Kx=fext(11.64)
式中, x ∈ R n x\in \mathbb{R}^n xRn是在最小坐标集中的任务空间位形,如 x ∈ R 3 x\in \mathbb{R}^3 xR3 M M M B B B K K K,是由机器人模拟的正定虚拟质量、阻尼和刚度矩阵,并且 f e x t f_{ext} fext是施加到机器人的力,该力可能由用户施加。 M M M B B B K K K的值可能会根据虚拟环境中的位置而改变,以便表示不同的物体,但我们所关注的是恒定量值情况。
上述行为可以使用运动旋量和力旋量来进行替代实现:
F e x t → f e x t \mathcal{F}_{ext}\rightarrow f_{ext} Fextfext V → x ˙ \mathcal{V}\rightarrow \dot{x} Vx˙ V ˙ → x ¨ \dot{\mathcal{V}}\rightarrow \ddot{x} V˙x¨ S θ → x \mathcal{S}\theta\rightarrow x Sθx

阻抗/导纳控制型机器人
阻抗控制型机器人(impedance controlled):机器人感知端点运动 x ( t ) x(t) x(t)并控制关节力矩和力来生成 − f e x t -f_{ext} fext,其为显示给用户的力,即实现了从运动到力的传递函数 Z ( S ) Z(\mathcal{S}) Z(S)
导纳控制型机器人(admittance controlled):机器人使用安装在腕部的力-力矩传感器来感知 f e x t f_{ext} fext,并控制其运动以作出响应,即实现了从力到运动的传递函数 Y ( S ) Y(\mathcal{S}) Y(S).

阻抗控制算法

在阻抗控制算法中,编码器、转速计、甚至可能包括加速度计,被用于估计关节和
端点的位置、速度、甚至加速度。通常阻抗控制下的机器人并不在腕部配备力-力矩
传感器,而是依靠它们精确控制关节扭矩的能力来呈现适当的末端执行器力 − f e x t -f_{ext} fext,如为了实现式(11.64)的任务空间行为,根据[[力、运动-力混合控制#力控制]]可知,机器人对外部环境的施加力 − f e x t -f_{ext} fext可以表示为 − ( M x ¨ + B x ˙ + K x ) -(M\ddot{x}+B\dot{x}+Kx) (Mx¨+Bx˙+Kx),此时机器人的任务空间动力学方程可以写为:
F = Λ ~ ( θ ) x ¨ + η ~ ( θ , x ˙ ) ⏟ 用于动力学补偿 − ( M x ¨ + B x ˙ + K x ) ⏟ 用于产生对环境的作用力 \mathcal{F} =\underset{\text{用于动力学补偿}}{\underbrace{\tilde{\Lambda}\left( \theta \right) \ddot{x}+\tilde{\eta}\left( \theta ,\dot{x} \right) }}\underset{\text{用于产生对环境的作用力}}{\underbrace{-\left( M\ddot{x}+B\dot{x}+Kx \right) }} F=用于动力学补偿 Λ~(θ)x¨+η~(θ,x˙)用于产生对环境的作用力 (Mx¨+Bx˙+Kx)
该式即可以看作基于前馈控制的阻抗控制律。

导纳控制算法

在导纳控制算法中,由腕部测力传感器来测量用户施加的力 f e x t f_{ext} fext,同时机器人以满足式(11.64)的末端执行器加速度进行响应。一种简单的计算末端执行器的期望加速度 x ¨ d \ddot{x}_d x¨d的方法可采用:
M x ¨ d + B x ˙ + K x = f e x t M\ddot{x}_d+B\dot{x}+Kx=f_{ext} Mx¨d+Bx˙+Kx=fext
式中, ( x , x ˙ ) (x,\dot{x}) (x,x˙)是当前状态,根据上式可得 x ¨ d = M − 1 ( f e x t − B x ˙ − K x ) \ddot{x}_d=M^{-1}(f_{ext}-B\dot{x}-Kx) x¨d=M1(fextBx˙Kx).
根据正向运动学 x = f ( θ ) x=f(\theta) x=f(θ),[[开链机器人的静力学#1. 雅可比矩阵|雅可比矩阵]]为 ∂ f ( q ) ∂ q \frac{\partial \boldsymbol{f}\left( \boldsymbol{q} \right)}{\partial \boldsymbol{q}} qf(q),因此有
x ˙ = J ( θ ) θ ˙ x ¨ = J ( θ ) θ ¨ + J ˙ ( θ ) θ ˙ \begin{aligned} \dot{x}&=J\left( \theta \right) \dot{\theta}\\ \ddot{x}&=J\left( \theta \right) \ddot{\theta}+\dot{J}\left( \theta \right) \dot{\theta}\\ \end{aligned} x˙x¨=J(θ)θ˙=J(θ)θ¨+J˙(θ)θ˙
所需的关节加速度 θ ¨ d \ddot{\theta}_d θ¨d可通过下式计算:
x ¨ = J ( θ ) θ ¨ + J ˙ ( θ ) θ ˙ ⇒ θ ¨ d = J † ( θ ) ( x ¨ − J ˙ ( θ ) θ ˙ ) \ddot{x}=J\left( \theta \right) \ddot{\theta}+\dot{J}\left( \theta \right) \dot{\theta}\Rightarrow \ddot{\theta}_d=J^{\dagger}\left( \theta \right) \left( \ddot{x}-\dot{J}\left( \theta \right) \dot{\theta} \right) x¨=J(θ)θ¨+J˙(θ)θ˙θ¨d=J(θ)(x¨J˙(θ)θ˙)
再进一步使用逆动力学计算关节力和力矩指令 τ \tau τ

阻抗控制器测量末端执行器的运动,并产生终点力以模拟质量-弹簧-阻尼系统。导纳控制器测量末端执行器的力,并产生终点运动。文章来源地址https://www.toymoban.com/news/detail-660178.html

到了这里,关于阻抗控制(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【机器人算法】机械臂动力学参数辨识仿真

    本文以puma560m机械臂为例子进行动力学参数辨识的讲解,puma560m可以在robotic toolbox中找到,这里以它真实机械臂对他的动力学参数进行辨识。 此外这里还有要说的是,机械臂参数辨识其实是一个系统工程,其中和机械、电子、嵌入式都有着很深的联系,并不是仿真这么简单的

    2024年02月05日
    浏览(96)
  • 机器人学基础(3)-动力学分析和力-拉格朗日力学、机器人动力学方程建立、多自由度机器人的动力学方程建立

    本章节主要包括拉格朗日力学、拉格朗日函数及建立求解、多自由度机器人的动力学方程、机器人的静力分析、坐标系间力和力矩的变换,主要结合例题进行掌握理解 动力学分析是为了研究机器人应该以多大力进行驱动,虽然根据运动学方程+微分运动可以得到机器人的位置

    2024年02月05日
    浏览(64)
  • 机器人控制算法——移动机器人横向控制最优控制LQR算法

    1.Introduction LQR (外文名linear quadratic regulator)即线性二次型调节器,LQR可得到状态线性反馈的最优控制规律,易于构成闭环最优控制。LQR最优控制利用廉价成本可以使原系统达到较好的性能指标(事实也可以对不稳定的系统进行整定) ,而且方法简单便于实现 ,同时利用 Matlab 强

    2024年02月04日
    浏览(49)
  • 机械臂的动力学分析-工业机器人

    工业机器人动力学研究采用的方法有很多,例如拉格朗日法、牛顿-欧拉法、高斯法、凯恩法等,在此重点介绍牛顿-欧拉法和拉格朗日法。牛顿-欧拉法需要从运动学出发求得加速度,并计算各内作用力。对于较复杂的系统,此种分析方法十分复杂与麻烦。而拉格朗日法,只需

    2023年04月08日
    浏览(43)
  • 平面三自由度机器人动力学建模与仿真

    网上二自由度机器臂动力学分析有很多,三自由度比较少,碰巧本科课设需要完成相关项目,分享一些经验供参考。 实际的三连杆机器臂的结构相对较复杂,很难进行精确地描述,因此,在本文中利用简化的数学模型进行讨论。简化条件如下: 假设机器臂是刚性结构,不考

    2024年02月04日
    浏览(57)
  • 双足机器人Cassie运动学和动力学计算

    官方要求的运行环境:  我的环境: (1)Matlab2023b (2)Mathematica12.3.1 (3)MEX和FROST的安装可参考我上一篇文章 Windows下安装动力学仿真软件Frost-CSDN博客 https://blog.csdn.net/SWORDHOLDER/article/details/137511000?spm=1001.2014.3001.5502  下载地址(有时候访问比较慢则需要魔法) GitHub - UMich-BipedLab/Cassie

    2024年04月14日
    浏览(52)
  • 机器人集群控制算法概述

    机器人集群控制算法是指一组算法,用于协调和控制多个机器人协同工作,以完成特定任务或达到特定目标。以下是一些常见的机器人集群控制算法: 集群协同行为算法: 领航者/跟随者(Leader/Follower): 一个机器人被指定为领导者,其他机器人跟随领导者的运动。这种方法

    2024年03月15日
    浏览(54)
  • 建模分析 | 平面2R机器人(二连杆)运动学与动力学建模(附Matlab仿真)

    🔥附C++/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。 🚀详情:图解自动驾驶中的运动规划(Motion Planning),附几十种规

    2024年02月05日
    浏览(71)
  • 1.1 机器人运动控制算法专栏介绍

    本博客专栏将从理论到实践进行全面讲解,从机器人运动控制的基础理论到代码实现,读者将能够全面了解机器人运动控制的关键环节。本专栏从数学公式的推理,到代码实现的详细阐述,读者将能够更好地理解和应用机器人运动控制的相关知识。通过实例、图像、代码和解

    2024年02月09日
    浏览(50)
  • 机器人控制算法——TEB算法—Obstacle Avoidance and Robot Footprint Model(避障与机器人足迹模型)

    1.1处罚条款 避障是作为整体轨迹优化的一部分来实现的。显然,优化涉及到找到指定成本函数(目标函数)的最小成本解(轨迹)。简单地说:如果一个计划的(未来)姿势违反了与障碍物的期望分离,那么成本函数的成本必须增加。理想情况下,在这些情况下,成本函数值

    2024年02月06日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包