PID控制和阻抗控制的异同,阻抗控制和机器人动力学的关系

2023-05-16

PID控制和阻抗控制在形式上是相似的,都是利用偏差,将偏差输入控制器,经过控制器的模型后产生输出。
PID控制和阻抗控制的根本不同是控制器模型的不同。模型的不同导致输出结果是不同的。

在这里插入图片描述
在这里插入图片描述PID的模型如下:
在这里插入图片描述
PID的这个模型不能给予明确的物理解释,所以说PID的控制是没有道理的。
同时PID的作用是降低干扰尽快到达设定目标处,因为只知道尽快到达设定目标处,所以这种模型没有柔顺性,最典型的就是利用PID的位置控制
阻抗控制,天然和柔顺性结合在一起,说阻抗控制时都会把阻抗比喻成弹簧阻尼系统,阻抗模型中的系数代表着弹性和阻尼的大小。阻抗控制的形式是二阶系统,是可以和弹簧阻尼对应的二阶系统,也就是阻抗模型可以由物理意义解释
阻抗模型,PID模型和阻抗控制器、PID控制器是一回事,不作区分。阻抗控制器的模型、PID控制器的模型,和动力学没有关系,和动力学模型没有丝毫关系,这是两个完全不同的概念,PID控制器后也有可能接动力学模型。阻抗模型的二阶形式和动力学模型的二阶形式非常类似,以至于有时将阻抗模型和动力学模型混为一谈。在机器人阻抗控制中,的确有时会用到动力学模型,但是仍然要明确,阻抗模型和动力学模型没有关系,他们只是同时出现在了阻抗控制环路中,并且恰好形式一致
阻抗模型和动力学怎么关联,动力学模型和阻抗模型有个共同的力矩,通过这个力矩进行关联。
基于动力学前馈的阻抗控制,就是把阻抗控制和动力学组合到一块。
没有动力学照样可以做阻抗控制
基于位置的阻抗控制:
输入位置(理想位置和接触位置的差值)进入阻抗模型输出力,输出的力和理想力的差值通过力控制器控制机器人。这个力控制器可以是多种形式。
基于力的阻抗控制:
输入力(理想力和接触力的差值)进入阻抗模型输出位置,输出的位置和理想位置的差值通过位置控制器控制机器人。这个位置控制器可以是多种形式。
******************************分割线
阻抗控制目的:通过阻抗控制对机器人末端与环境之间的接触力进行调节,实现机器人末端与环境接触的柔顺性,保证接触作业的安全完成。
1.阻抗控制的作用
对于切削、磨光、装配等需要与外界环境接触的作业而言,仅有位置控制难以保证工作任务的安全完成。这是因为位置控制无法做到运动轨迹与期望轨迹的完美吻合,会存在一定的位置误差,这种误差可能会导致机器人末端与接触物体之间的接触力过大,严重的话会造成机器人或接触物体的损坏。
为了减缓位置偏差造成的过大接触力,直接的想法是我们可以在机器人末端加一个弹簧(K)。为了避免震荡可以再并联一个阻尼器(B)。惯性是物体(弹簧+阻尼器)的一种固有属性,质量(M)是对物体惯性大小的量度。这样机器人末端就相当于添加了一个质量-阻尼-弹簧系统。
阻抗控制其实就相当于在机器人末端添加的一个质量-阻尼-弹簧系统,建立末端位置与接触力的关系。根据机器人末端的位置和作用力之间的关系,通过调整位置误差来间接控制机器人末端的接触力。
在这里插入图片描述

  1. 阻抗控制公式
  2. 在这里插入图片描述

在这里插入图片描述

严格讲这个图配的是导纳的图

参考:基于阻抗控制的机器人力控制技术研究. 丁润泽. 哈尔滨工业大学

https://www.cnblogs.com/21207-iHome/p/12148726.html
动力学方程:
通常可将根据动量矩定理或牛顿-欧拉法推导出的等式写为如下形式:
τ=M(θ)θ¨+C(θ,θ˙)+G(θ)
如果机械臂自由度为n,M(θ)为n×n阶正定对称矩阵,M(θ)θ¨代表惯性力项。M(θ)中的主对角线元素表示各连杆本身的有效惯量,代表给定关节上的力矩与产生的角加速度之间的关系,非对角线元素表示连杆之间的耦合惯量,即是某连杆的加速运动对另一关节产生的耦合作用力矩的度量 ;C(θ,θ˙)为n×1阶向心力和科氏力项;G(θ)为n×1阶的重力项,与机器人的形位θ有关。
在纯位置控制下施加在机械臂末端的外力并不会影响末端的运动,因为这种情况可以认为机械臂是完全刚性的。而如果要实现主动柔顺控制,即使机械臂表现出一定的柔性就需要考虑其与环境之间的相互作用。这时关节驱动力矩可写为:
τ=M(θ)θ¨+C(θ,θ˙)+G(θ)+JT(θ)Ftip
上面等式中,Ftip为机械臂末端与外界环境之间的交互力,J为机械臂的雅可比矩阵,用于将关节空间速度映射到操作空间:v=Jθ˙,雅可比矩阵的转置也可将操作空间中的力映射到关节空间中:τ=JTF。对于本例,机器人雅可比矩阵可用MATLAB中的函数jacobian来计算,J=jacobian(rae,[θ1,θ2])。JT(θ)Ftip代表作用于机器人关节上的外界环境力矩,等式左边的τ为机器人关节驱动力矩,计算出该力矩后就可以输入给机器人驱动系统,实现期望的运动。
机械臂与环境交互产生的力矩可写为τext=JT(θ)Ftip=JT(θ)[M(xd¨−x¨)+D(xd˙−x˙)+K(xd−x)],xd和x分别代表目标位置和实际位置,xd˙和x˙分别代表目标速度和实际速度。注意这里的M D K和动力学中的M C G不是一回事,所以为了区分,用另外的字母表示:
τext=JT(θ)Ftip=JT(θ)[Md(xd¨−x¨)+Dd(xd˙−x˙)+Kd(xd−x)]

基于位置的阻抗控制

图1 这个图里面有理想接触力Fd(这个图其实有了动力学前馈)
这个图比较完整,里面体现了动力学
在这里插入图片描述

图2 这个图里面也有理想接触力Fr
在这里插入图片描述

图3 这个图里面没有理想接触力 由位置偏差转化成了力Fe
在这里插入图片描述

图4 自适应阻抗控制器(严格来说,图1-图4中的阻抗控制器都是导纳控制)
在这里插入图片描述

图5 动力学前馈
在这里插入图片描述

动力学前馈:
动力学方程:τ=M(θ)θ¨+C(θ,θ˙)+G(θ)
阻抗方程(环境接触力):Ftip =Md(xd¨−x¨)+Dd(xd˙−x˙)+Kd(xd−x)
动力学方程中考虑阻抗(基于动力学前馈的阻抗控制):
τ=M(θ)θ¨+C(θ,θ˙)+G(θ)+JT(θ)Ftip
基于动力学前馈的阻抗控制,就是把阻抗控制和动力学组合到一块。
没有动力学照样可以做阻抗控制

图6 基于力的阻抗控制系统
在这里插入图片描述

图6 没有用动力学,但是该模型是阻抗控制。
基于位置的阻抗控制:
输入位置(理想位置和接触位置的差值)进入阻抗模型输出力,输出的力和理想力的差值通过力控制器控制机器人。这个力控制器可以是多种形式。
基于力的阻抗控制:
输入力(理想力和接触力的差值)进入阻抗模型输出位置,输出的位置和理想位置的差值通过位置控制器控制机器人。这个位置控制器可以是多种形式。

阻抗和导纳可参考:
https://blog.csdn.net/xiaohejiaoyiya/article/details/105057619
https://zhuanlan.zhihu.com/p/165587437
从力到位置是导纳,从位置到力是阻抗
**************************************************2022 09 29
阻抗控制模型和机器人动力学模型的关系
首先阻抗控制模型和机器人动力学模型没有关系
机器人动力学模型是机器人系统自身的特性
阻抗控制模型,是想让机器人末端表现出来的某种特性,
还有环境模型,环境模型和阻抗模型、机器人动力学模型也没有关系,环境模型是环境(人机接触)表现出来的特性

为什么说做阻抗控制需要机器人动力学模型
经过阻抗模型计算出来的力矩,怎么达到,就需要用到机器人动力学模型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PID控制和阻抗控制的异同,阻抗控制和机器人动力学的关系 的相关文章

  • FreeRTOS内核学习笔记记录(三)——任务就绪列表

    任务就绪列表 任务就绪列表实际上是一个静态数组 PRIVILEGED DATA static List t pxReadyTasksLists configMAX PRIORITIES 但是它是List t类型 即每个数组成员都是一个根节点
  • FreeRTOS内核学习笔记记录(四)——任务调度器

    任务调度器的实现 任务调度器调度步骤 跳入任务后 xff0c 永远不会回调度器函数 vTaskStartScheduler函数 span class token keyword void span span class token func
  • FreeRTOS内核学习笔记记录(五)——任务切换与任务延时列表

    任务切换 任务切换的原理 FreeRTOS的任务切换 任务延时离不开硬件支持 xff1a SysTick和PendSV中断 SysTick和PendSV在启用任务调度器时 xff0c 被设置为最低优先级的中断 SysTick产生一个称之为系
  • PC仿真的emwin移植到STM32F103RCT6详尽步骤(正点原子库,正点原子mini开发板,亲测可用,学习心得,大佬勿喷)

    所需要的硬件设备 xff1a 正点原子mini开发板 xff08 STM32F103RCT6 xff0c 需要正点自带的240 320TFTLCD屏 xff09 所需要的软件 xff1a 1 MDK5 2 Code Blocks PC上的I
  • 云计算简史(完整版)

    文 明道云创始人任向晖 围绕云计算相关的技术领域 技术名词和技术产品令人眼花缭乱 在云计算发端之初 xff0c 应用开发环境还比较简单 xff0c 当时还有所谓的全栈工程师存在 xff0c 意味着如果不考虑开发周期 xff0c 一个人就能搞
  • ROS-Noetic踩坑

    本科时候图方便仅仅使用了Windows下的V REP xff08 想想用gazebo还要学Linux和ROS就好麻烦 xff0c 最近由于需要学习了ROS xff0c 也算是填上本科时候埋下的坑 gt lt 本文主要针对ROS wiki教程
  • public/private/protect/ 的区别

    public private protect 的区别 public xff1a Java语言中访问限制最宽的修饰符 xff0c 一般称之为 公共的 被其修饰的类 属性以及方法不 仅可以跨类访问 xff0c 而且允许跨包 xff08 pack
  • PCL NDT算法的学习实现(3D点云匹配)

    NDT介绍 正态分布变换 xff08 NDT xff09 是一种可以用在三维点云配准的算法 因为不需要对应特征点的特征计算和匹配 xff0c 理论上时间要比其他方法快 NDT算法的基本思想是先跟据参考数据来构建多维变量的正态分布 xff0c
  • PCL学习笔记

    点云生成 1 通过读取pcd文件生成点云 std span class token operator span vector span class token operator lt span span class token keywor
  • ubuntu开发图形用户界面

    GUI 库有哪些 Windows 下的 GUI 库 Windows 下的 GUI 解决方案比较多 xff1a 基于 C 43 43 的有 Qt MFC WTL wxWidgets DirectUI Htmlayout xff1b 基于 C
  • 【教程】Ubuntu 20.10离线安装openssh-server

    Ubuntu 20 10离线安装openssh server 参考描述参考步骤共享网络的解决方案 参考 Ubuntu 20 10镜像下载 xff1a https old releases ubuntu com releases 20 10
  • loam学习笔记

    LOAM xff1a 参考 xff1a LOAM 论文及原理分析 LOAM细节分析 LOAM ALOAM LegoLOAM hdl graph slam比较 LOAM LiDAR Odometry and Mapping In Real T
  • LOAM livox论文学习笔记

    Loam livox A fast robust high precision LiDAR odometry and mapping package for LiDARs of small FoV 参考 xff1a 多激光雷达的协同定位建图
  • ros笔记

    1 如何屏蔽相关模块 在需要屏蔽的模块下输入 span class token function touch span CATKIN IGNORE 2 查询包信息 rosbag info bag 3 查询输出信息 rosbag span c
  • gps/imu融合(卡尔曼滤波)学习笔记

    航位推算 因为imu更新频率很快 xff08 100Hz xff0c 假设车辆为匀速匀角速度模型 xff0c 分别为v和w xff0c 模型如下 xff1a GPS坐标变换 GPS原始输出定位是基于WGS 84坐标的经纬度信息 GPS坐标系
  • 图优化学习笔记

    参考 xff1a 深入理解图优化与g2o xff1a 图优化篇 因子图介绍 干货 xff1a 因子图优化的资源合集 因子图优化 SLAM 研究方向归纳 iSAM2 笔记 简介 xff1a 图有化 xff08 graph based opti
  • OpenCV学习笔记(二十一)——简单的单目视觉测距尝试

    前言 xff1a 视觉测距作为机器视觉领域内基础技术之一而受到广泛的关注 xff0c 其在机器人领域内占有重要的地位 xff0c 广泛应用于机器视觉定位 目标跟踪 视觉避障等 机器视觉测量主要分为 xff1a 单目视觉测量 双目视觉测量 结
  • 基于深度强化学习的路径规划笔记

    MazePathFinder using deep Q Networks 声明 xff1a 首先感谢知乎周思雨博主 xff1b 此方法同源借鉴于ICIA一篇强化学习paper xff0c 本博主于2019年元月还原了此方法 xff0c 由于
  • 词袋模型(BoW)在视觉SLAM中的应用

    SLAM技术简介 SLAM技术是指即时定位与地图构建 xff0c 意思是说 xff0c 当我们把机器人放在一个未知的环境中时 xff0c 机器人能通过附近的环境对自身进行定位 xff0c 并绘制出附近环境的地图 xff0c 当然这个地图不是
  • ROS入门:(1)创建一个ROS功能包

    1 创建一个catkin工作空间 mkdir p catkin ws src cd catkin ws catkin make 并使用以下指令 将包路径加入环境变量 source devel setup bash 2 使用catkin cr

随机推荐

  • socket编程1 tcp基本api接口与基础编程demo

    TCP socket编程 学习TCP socket编程API接口 xff0c 基于此入门 xff0c 并编写一个TCP网络服务器与通讯客户机 keyword socket接口 xff0c 套接字地址结构体 xff0c 值 结果参数 xff0
  • Redis的安装配置与使用

    Redis的安装与使用 Redis安装 我已经打包上传了在这里 Redis下载 Redis官方下载地址进行安装 进入所下载的redis压缩包所在的文件 tar zxvf redis 2 6 13 tar gz 解压后进入 cd redis
  • 详解C++的编译过程

    1 C 43 43 的编译流程 源文件 gt 预编译器 gt 后缀名 i文件 gt 编译器 gt 汇编文件 gt 编译器 gt 目标文件 xff08 后缀名 obj或 o xff09 gt 链接器 2 编译流程测试 xff08 1 xff0
  • 无人机的硬件组成

    飞控为核心其他外围设备提供输入或输出 图中飞控外围模块儿 xff1a 电机 xff0c 电调 xff0c 电池 xff0c 电源模块儿 xff0c 遥控接收机 xff0c 安全开关 xff0c 蜂鸣器 xff0c 数传 天空端 xff0c
  • 2020-04-14 ubuntu 18.04 下查看系统硬盘、硬盘挂载、创建LVM一条龙

    1 df hl 查看系统硬盘 可用的 xff0c 已经挂载 Filesystem Size Used Avail Use Mounted on udev 7 8G 0 7 8G 0 dev tmpfs 1 6G 1 9M 1 6G 1 ru
  • Jetson-nano ros-melodic环境安装构建

    Jetson nano ros melodic环境安装构建 安装ros melodic 环境 1 xff09 系统准备 使用ssh 登陆Jetson nano device xff0c 而后执行以下命令进行部署 rosCar 64 ubun
  • cppzmq发布订阅模式

    1 首先需要下载cppzmq的库 github xff1a https github com zeromq cppzmq 2 将zmq hpp 和 zmq addon hpp 两个库文件放入到自己的工程里面 3 写demo server c
  • Gazebo无法运行

    学习ROS的小伙伴肯定会遇到不少问题 xff0c 现在就Gazebo闪退及无法运行给出解决方案 不少小伙伴喜欢在虚拟机上面安装ROS xff0c xff08 笔者不建议这么做 xff0c 装个双系统其实更好 xff0c 笔者另外有博客会介绍
  • OpenCV不止能解决AI最后一公里的问题

    最近两年 xff0c 无人驾驶物流配送车出现在各大城市 xff0c 例如 xff0c 阿里的小蛮驴 xff0c 无人车的出现解决了快递配送最后一公里问题 xff0c 那在AI计算机视觉领域 xff0c 谁又能充当这个角色呢 xff1f 在A
  • 【心理咨询师考试笔记】基础理论(六)——心理咨询概论

    心理咨询概论 文章目录 心理咨询概论一 概述简史基本概念心理咨询师应有的思维方式与态度心理咨询师应具备的条件 二 精神分析理论观点分区观点结构观点心理动力观点发展观点适应观点 三 行为主义理论观点行为主义心理学的先驱操作性条件反射和应答性条
  • mcu判断重启方式

    通过读取LIB库读取MCU重启方式 void Check Rst void printf 34 CSR 61 x r n 34 RCC gt CSR if RCC GetFlagStatus RCC FLAG PINRST 61 RESET
  • 树莓派 ubuntu 远程控制

    树莓派 ubuntu 远程控制 树莓派上能够支持的远程连接软件nomachine 下载nomachine 安装Windows 上的操作但是参考 树莓派上能够支持的远程连接软件 首先选择树莓派上能够支持的远程连接软件 xff1b 我使用的是树
  • N: 无法安全地用该源进行更新,所以默认禁用该源。【树莓派 ubuntu 软件源问题】E: 无法下载 http://mirrors.tuna.tsinghua.edu.cn/ubuntu/dists/

    N 无法安全地用该源进行更新 xff0c 所以默认禁用该源 树莓派 ubuntu 软件源问题 问题解决方法清华软件源E 无法下载 http mirrors tuna tsinghua edu cn ubuntu dists bionic m
  • 多服务集成CAS实现单点登录

    简要概述实现步骤 xff08 思路 xff09 xff1a 1 创建web应用 2 集成CAS xff08 使用CAS服务端内配置账户密码进行登录验证 xff09 2 1导入jar包 2 2配置web xml文件 xff08 拦截跳转验证以
  • Linux 0.11下信号量的实现和应用(李治军操作系统实验6)

    生产者 消费者问题 从一个实际的问题 xff1a 生产者与消费者出发 xff0c 谈一谈为什么要有信号量 xff1f 信号量用来做什么 xff1f 为什么要有信号量 xff1f 对于生产者来说 xff0c 当缓冲区满 xff0c 也就是空闲
  • Spring AOP切面注解类应用实例:请求入参参数特殊字符过滤、日志切面

    一 xff1a 请求入参参数特殊字符过滤 对接平安银行等第三方接口的时候 xff0c 接口入参不能包含某些字符串 xff0c 但是不能做过滤器 xff0c 过滤器影响面过广 1 自定义注解 package fly cloud bank an
  • python isinstance得用法记录

    isinstance isinstance 函数来判断一个对象是否是一个已知的类型 xff0c 类似 type 与 type 区别 xff1a type 不会认为子类是一种父类类型 xff0c 不考虑继承关系 isinstance 会认为子
  • 手机开热点,电脑连,关于两个局域网的问题

    针对情况 手机开的4g xff0c 开wifi xff0c 电脑连手机的热点 原理 电脑会有一个局域网的ip 1 在运行中输入cmd xff0c 在dos窗口下输入ipconfig xff0c 找到这一行 2 测试 手机的浏览器上 xff0
  • 戴尔7472黑苹果之旅

    原本我是微 ju 软 ying 的粉丝 xff0c 前几年甚至为信仰充值了一台中配的Surface Pro 3 然而今年在实习岗位上做了一些脚本后 xff0c 对Windows的一些特性例如中文路径经常传参失败 蛋疼的字体渲染深恶痛绝 xf
  • PID控制和阻抗控制的异同,阻抗控制和机器人动力学的关系

    PID控制和阻抗控制在形式上是相似的 xff0c 都是利用偏差 xff0c 将偏差输入控制器 xff0c 经过控制器的模型后产生输出 PID控制和阻抗控制的根本不同是控制器模型的不同 模型的不同导致输出结果是不同的 PID的模型如下 xff