柔顺控制笔记

news2024/12/22 23:05:12

参资料:
【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.coloradmin.cn/o/1460851.html

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

相关文章

【快速搞定Webpack5】处理字体图标资源(六)

介绍 在实际开发中,几乎每个项目都需要用户icon图标以及部分项目会用到有特色的字体需求。 今天我们学习的内容就是如何在webpack中处理字体及icon图标的使用。 一、下载字体图标文件 1、打开 阿里巴巴矢量图库 2、登录或注册账号 3、选择想要的图标添加到购物车…

04 动力云客之登录后获取用户信息+JWT存进Redis+Filter验证Token + token续期

1. 登录后获取用户信息 非常好实现. 只要新建一个controller, 并调用SS提供的Authentication对象即可 package com.sunsplanter.controller;RestController public class UserController {GetMapping(value "api/login/info")public R loginInfo(Authentication a…

ipad作为扩展屏的最简单方式(无需数据线)

ipad和win都下载安装toDesk,并且都处于同一局域网下 连接ipad,在ipad中输入win设备的设备密码和临时密码,连接上后可以看到ipad会是win屏幕的镜像,此时退出连接,准备以扩展模式再次连接。 注意,如果直接从…

Devvortex

目标靶机 攻击机IP地址为10.10.16.2 信息收集 # nmap -sT --min-rate 10000 -p- 10.10.11.242 -oN port.nmap Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-21 10:32 CST Warning: 10.10.11.242 giving up on port because retransmission cap hit (10). Nma…

FPGA高端项目:FPGA实现SDI视频编解码工程解决方案,提供3套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI图像缩放应用本方案的SDI图像缩放视频拼接应用本方案的SDI图像缩放UDP网络视频发送应用本方案的SDI视频编码输出应用本方案的SDI视频编码图像缩放视频拼接输出应用本方案的SDI视频编码SFP光口收发应用…

如何在Ubuntu部署Emlog,并将本地博客发布至公网可远程访问

文章目录 前言1. 网站搭建1.1 Emolog网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2.Cpolar稳定隧道(云端设置)2.3.Cpolar稳定隧道(本地设置) 3. 公网访问测试总结 前言 博客作为使…

Flask数据库操作-Flask-SQLAlchemy

Flask中一般使用flask-sqlalchemy来操作数据库。flask-sqlalchemy的使用介绍如下: 一、SQLAlchemy SQLALchemy 实际上是对数据库的抽象,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销…

ASO专家绝不会分享的高级应用商店优化秘密!(2)

上回我们讨论了“推广应用内购买、实施应用内事件、如果使用特殊字符,请勿使用全部 30 个字符、新的评级是应用商店优化的货币、 在 Google Play 上,评论中的关键词很重要”等五个方面的内容,接下来小柚将继续和大家分享一些更细节的部分。 …

护眼台灯哪家品牌好?盘点全网五大爆款

护眼台灯能比较好的改善学习环境光线,尤其是现在孩子的近视率比较高,所以特别多家长都会给孩子准备上一盏台灯。但是也有一些消费者反馈护眼台灯购买后的体验不尽人意,甚至使用中还会出现很多负面影响,特别是新闻报道关于护眼台灯…

K8S临时小结

k8s是什么?能解决什么问题? k8s是容器管理平台,一套复杂的开源系统 如何更好的维护pod,k8s第二大要素(pod控制器) k8s的很多对容器(pod)管理的高级特性,都是基于控制器…

day51 java面向对象OOP

一、类和对象 1 对象、类 对象:一个实体 对象包含静态特征和动态特征 静态特征:属性(实例变量) 动态特征:行为(实例方法) 把具有相同属性和方法的对象分为一类 2 现实对象转化程序的对象…

Project_Euler-04 题解

Project_Euler-04 题解与优化 今天带来欧拉计划的第4题的程序分析与优化。 题目 如何判断回文数 int is_reverse(int n){int x n, sum 0;while (x){sum sum * 10 x % 10;x / 10;}return sum n; }如果为回文数,返回1,否则返回0. 暴力破解 两个循…

07 Redis之持久化(RDB+AOF)

4 Redis持久化 Redis 是一个内存数据库,然而内存中的数据是不持久的,若主机宕机或 Redis 关机重启,则内存中的数据全部丢失。 当然,这是不允许的。Redis 具有持久化功能,其会按照设置以快照或操作日志的形式将数据持…

Nginx缓存相关配置解析

文章目录 前言配置示例proxy_cacheproxy_cache_pathproxy_cache_keyproxy_cache_validproxy_cache_lockproxy_cache_methodsproxy_cache_bypassproxy_no_cacheproxy_cache_min_usesadd_header 可选项 使用示例通过响应头判断是否走缓存 缓存手动删除原博客 前言 客户端需要访问…

第五篇【传奇开心果系列】Python文本和语音相互转换库技术点案例示例:详细解读pyttsx3的`preprocess_text`函数文本预处理。

传奇开心果短博文系列 系列短博文目录Python文本和语音相互转换库技术点案例示例系列 短博文目录前言一、pyttsx3的preprocess_text函数文本预处理基本用法示例代码二、实现更复杂的文本预处理逻辑示例代码三、去除停用词、词干提取示例代码四、词形还原、拼写纠正示例代码五、…

力扣面试150 验证回文串 双指针 Character API

Problem: 125. 验证回文串 文章目录 思路复杂度Code 思路 👨‍🏫 参考题解 Character.isLetterorDigit(char c):判读字符 c 是否是字母或者数字 Character.toLowerCase(char c):将字符 c 转换为小写字母 复杂度 时间复杂度: …

基于vue的个性化推荐餐饮系统Springboot

项目:基于vue的个性化推荐餐饮系统Springboot 摘要 现代信息化社会下的数据管理对活动的重要性越来越为明显,人们出门可以通过网络进行交流、信息咨询、查询等操作。网络化生活对人们通过网上购物也有了非常大的考验,通过网上进行点餐的人也…

「Java开发指南」MyEclipse如何支持Spring Scaffolding?(三)

在上文中(点击这里回顾>>),主要为大家介绍了CRUD Scaffolding,本文将继续介绍应用程序的分层、代码助手等。 MyEclipse v2023.1.2离线版下载 3. 应用程序的分层 应用程序分层是应用程序开发领域中非常常见的体系结构方法…

欲速则不达,慢就是快!

引言 随着生活水平的提高,不少人的目标从原先的解决温饱转变为追求内心充实,但由于现在的时间过得越来越快以及其他外部因素,我们对很多东西的获取越来越没耐心,例如书店经常会看到《7天精通Java》、《3天掌握XXX》等等之类的书籍…

算法沉淀——二叉树中的深搜(leetcode真题剖析)

算法沉淀——二叉树中的深搜 01.计算布尔二叉树的值02.求根节点到叶节点数字之和03.二叉树剪枝04.验证二叉搜索树05.二叉搜索树中第K小的元素06.二叉树的所有路径 二叉树的深度优先搜索是一种遍历二叉树的方法,它通过深度递归的方式探索树的结构。有两种主要形式&am…