柔顺控制笔记

参资料:
【1】https://zhuanlan.zhihu.com/p/620918453
【2】https://blog.csdn.net/a735148617/article/details/108564836
【3】https://zhuanlan.zhihu.com/p/126338809
【4】机器人与环境间力_位置控制技术研究与应用_李正义
【5】水下机械臂建模及柔顺控制方法研究_郝小颍

  • 柔顺性这个词,第一眼看上去好像可以理解,但是仔细一想又说不清楚。而且个人认为,柔顺控制在力\位混合控制和阻抗控制中体现的“柔顺性”是不同的,只是两种方法都可以应用在需要“柔顺性”交互的任务上【1】,比如打磨、测量、机械手等场景。

一、力\位混合控制【4】

  • 力位混合控制的思路还是比较简单的,根据任务需求将空间中的自由度进行解耦,某些自由度只负责力控制,其他自由度负责位置控制。虽然是混合控制,但其实二者泾渭分明,并不相融。
    在这里插入图片描述

  • 力位混合控制中的力控制器和位置控制器都是独立的【2】,可以使用一些简单的控制算法,比如分别使用力pid和位置pid就可以实现控制效果。这种方法使用于工况约束比较固定的场景,比如对一个平面加工。

  • 这类方法的难点在于任务的解耦,涉及到雅各比矩阵计算。以及在不接触环境时,力控制和位置控制的切换。

二、阻抗控制

  • 个人觉得阻抗控制才在控制层面真正实现了“柔顺”的效果。在这里“柔顺性”可以理解为在运动到期望位置的过程中,一旦遇到“阻碍”,它会自动“妥协”,不必必须达到期望位置【3】。这是与位置控制相反的,比如位置控制中即使受到阻碍,也会增大力输出强行运动。举一个单自由度例子,物体想到A点,在C点遇到反向阻力,在B点就停止了。并且阻力越大,B越靠近C,阻力为0时,B到达A点。

1、理想阻抗模型【4】【5】

(1)什么是阻抗特性和导纳特性

在这里插入图片描述

  • 阻抗特性是输入位移,输出力;导纳特性是输入力,输出位移。
  • 一般机器人体现阻抗特性,环境体现导纳特性。(机器人既有导纳性,也有阻抗性)

(2)虚拟交互关系——理想阻抗模型

M d ∗ ( x r e f ¨ − x d e s ¨ ) + B d ∗ ( x r e f ˙ − x d e s ˙ ) + K d ∗ ( x r e f − x d e s ) = F e x t − F d M_d*({\ddot {x_{ref}}-\ddot {x_{des}}})+B_d*({\dot {x_{ref}}-\dot {x_{des}}})+K_d*({ {x_{ref}}-{x_{des}}})=F_{ext}-F_{d} Md(xref¨xdes¨)+Bd(xref˙xdes˙)+Kd(xrefxdes)=FextFd

  • 抗模型就是根据阻抗特性定义的模型,也就是描述输入位置,输出力的模型。这个模型的函数可以是任意的,但是一般用一个二阶微分方程去描述,就像上面这个二阶方程。
  • 这里给出的理想阻抗模型是全面的,既有参考轨迹的变化,也有参考力的变化
  • 阻抗控制和导纳控制的本质是通过控制力或位置,让机器人末端位置与接触力动态保持理想阻抗模型。这个理想阻抗模型倒过来就是理想导纳模型,根据具体的输入输出种类分为阻抗和导纳控制。
  • 注意这里的符号跟后面是有区别的,Fdes实际上是参考力,Fref是内环的期望力,位置同理。

(3)如何选择理想阻抗模型参数

在这里插入图片描述

2、阻抗控制【5】

在这里插入图片描述

  • 这里所有跟参考有关的量都是外环的,期望的都是内环。
  • 参考轨迹和位置反馈相减,获得位置偏差。位置偏差输入到理想阻抗模型中,输出力偏差或者说力修正量,也就是理想接触力减参考力。这个修正量加在期望力上就是理想的接触力,内环跟踪这个量即可。
  • 有一种说法是阻抗控制不需要在末端设置力传感器,其实是关节空间的阻抗控制不需要,只要把理想接触力分解到各个关节空间,由关节电机力控。笛卡尔空间的阻抗控制,还是需要力传感器。二者的对动力学模型的依赖程度不同,上图是笛卡尔空间的阻抗控制图

3、导纳控制【3】

在这里插入图片描述

  • 通过参考力的实际接触力的偏差,根据理想导纳模型,计算参考轨迹和期望轨迹的修正量,加上参考轨迹后,获得期望轨迹,再经运动学逆运算,最后给到位置控制内环。

三、阻抗控制的改进

  • 应用的比较多的还是导纳控制,一般都是围绕理想导纳模型进行变化,基本就两个思路,要么修改参考轨迹,要么修改阻抗参数。
  • 这里的分类相当混乱,感觉依照传统的基本、先进、智能区分比较全面。基本的就是最基础的阻抗和导纳控制,先进就是引入现代控制理论,考虑自适应和鲁棒控制,智能就是引入模糊和神经网络。
  • 最常见的还是用自适应算法进行改进

1、自适应算法在导纳控制上的应用

修改参考轨迹的

直接自适应:直接根据力反馈误差调节参考轨迹

间接自适应:现根据力反馈,估计环境模型参数,再用特定理论去动态调节参考轨迹。比如用弹簧模型建模环境,在估计出环境的弹性参数K后,可以利用李雅普诺夫稳定判据动态设置参考轨迹。

修改阻抗参数

变阻抗:用自适应算法直接调节理想导纳模型的参数

  • 这里名词运用的比较混乱,如果只说自适应阻抗控制,是无法分辨是哪一种的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/694653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Javascript中var和let之间的区别

文章目录 一.变量提升(声)二.let和var的区别 区别: 1、var有变量提升,而let没有; 2、let不允许在相同的作用域下重复声明,而var允许; 3、let没有暂时性死区问题; 4、let创建的全局变量没有给window设置对应…

不同种类遥感图像汇总 !!

文章目录 前言 1、可见光遥感图像 2、全色遥感图像 3、多光谱遥感图像 4、高光谱遥感图像 5、红外遥感图像 6、激光雷达图像 7、合成孔径雷达遥感图像 前言 遥感技术是从远距离感知目标反射或自身辐射的电磁波、可见光、红外线,对目标进行探测和识别的技术。遥感卫…

【JAVA高级面试题】运用锁机制实现一个自定义的阻塞队列

文章目录 前言实战演示写在最后 前言 前几天看见一个高级Java面试题,我觉得很有代表意义。既考察了面试者的基本锁机制运用,也了解了阻塞队列的产生实现原理。先分享出来,以供鉴赏。 面试题:实现一个自定义的阻塞队列&#xff0c…

React 事件处理 ( this问题 参数传递 ref)

React事件的命名采用小驼峰方式(cameCase),而不是小写 使用JSX语法时你需要传入一个函数作为事件处理函数,而不是一个字符串 你不能通过返回false 的方式阻止默认行为。你必须显示式的使用preventDefault 1 this 需要谨慎对待JSX回调函数中的…

Linux的Ubuntu的APT使用

Linux的Ubuntu的APT使用 apt 介绍 apt 是 Advanced Packaging Tool 的简称,是一款安装包管理工具。在 Ubuntu 下,我们可以使用 apt 命令进行软件包的安装、删除、清理等,类似于 Windows 中的软件管理工具。 Ubuntu 软件操作的相关命令 su…

Android 面试问题 2024 版(其二)

Android 面试问题 2024 版(其二) 六、多线程和并发七、性能优化八、测试九、安全十、Material设计和 **UX/UI** 六、多线程和并发 Android 中的进程和线程有什么区别? 答:进程是在自己的内存空间中运行的应用程序的单独实例&…

Maven的下载安装配置教程

一、简单了解一下什么是Maven Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率。 1.Maven翻译为“专家“, ”内行”的意思,是著名Apache公司下…

Unity基于AssetBundle资源管理流程详解

在Unity游戏开发中,资源管理是一个非常重要的环节。随着游戏的发展,资源会变得越来越庞大,因此需要一种高效的资源管理方式来减少内存占用和加快加载速度。AssetBundle是Unity提供的一种资源打包和加载方式,可以将资源打包成一个独…

Fiddler工具 — 19.Fiddler抓包HTTPS请求(二)

5、查看证书是否安装成功 方式一: 点击Tools菜单 —> Options... —> HTTPS —> Actions 选择第三项:Open Windows Certificate Manager打开Windows证书管理器。 打开Windows证书管理器,选择操作—>查看证书,在搜索…

【Java程序员面试专栏 数据结构】四 高频面试算法题:哈希表

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,一个O(1)查找的利器哈希表,所以放到一篇Blog中集中练习 题目关键字解题思路时间空间两数之和辅助哈希使用map存储出现过的值,key为值大小,value为下标位置,…

船舶维保管理系统|基于springboot船舶维保管理系统设计与实现(源码+数据库+文档)

船舶维保管理系统目录 目录 基于springboot船舶维保管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、船舶列表 2、公告信息管理 3、公告类型管理 4、维保计划管理 5、维保计划类型管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、…

网络安全-pikachu之SQL注入漏洞(数字型注入)

哦,SQL注入漏洞,可怕的漏洞。 在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库注入漏洞。 一个严重的SQL注入漏洞,可能会直接导致一家公司破产! SQL注入漏…

Day3 javaweb开发——登录认证

登录功能 没什么好写的,就是LoginController层里面要注入empService的对象 登录校验(重点) 没有校验的情况 没有登录之前,访问数据的网址需要跳转到登录页面。 http是无状态的,处理其他业务时没有判断他是否登录 …

Apache POI技术-在Java中的基本使用

Apache POI技术-在Java中的基本使用 文章目录 Apache POI技术-在Java中的基本使用前言一、Apache POI是什么?1.Apache POI简介:2.Apache POI主要包括的模块:3.Apache POI 的应用场景:报表生成:数据导入导出&#xff1a…

HarmonyOS—LocalStorage:页面级UI状态存储

LocalStorage是页面级的UI状态存储,通过Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。LocalStorage也可以在UIAbility实例内,在页面间共享状态。 本文仅介绍LocalStorage使用场景和相关的装饰器:LocalStorageProp和LocalS…

Docker技术仓库

数据卷 为什么用数据卷? 宿主机无法直接访问容器中的文件容器中的文件没有持久化,导致容器删除后,文件数据也随之消失容器之间也无法直接访问互相的文件 为解决这些问题,docker加入了数据卷机制,能很好解决上面问题…

FPGA模块——IIC接口设计

FPGA模块——IIC接口设计 IIC协议IIC接口代码应用IIC接口的代码 IIC协议 IIC接口代码 module iic_drive#(parameter P_ADDR_WIDTH 16 )( input i_clk ,//模块输入时钟input i_rs…

js-Vue Router 中的方法,父A-子B-子C依次返回,无法返回到A,BC中形成循环跳转解决

1.常用的方法 在 Vue Router 中,有一些常用的方法用于实现路由导航和管理。以下是一些常见的 Vue Router 方法及其作用: push: router.push(location, onComplete, onAbort) 作用:向路由历史记录中添加一个新条目,并导航到指定的路…

十六进制数

1.做一个收电费程序,要求输入使用的电的度数(整数)以及电费单价(实数),输出总的用电费用。 2.提示并输入一个小写字母数据,输出其对应的ASCII值,以及该小写字母对应的大写字母。 3.提…

leetcode hot100组合综合四

本题中,是要求nums中求的总和为target的排列数,因为题中说了,元素顺序不同,则可以视为不同的结果之一。 所以,根据对背包问题的总结,本题中元素可以重复使用,是完全背包并且需要求排列数&#…