阻抗控制下机器人接触刚性环境振荡不稳定进行阻抗调节

本文主要是介绍阻抗控制下机器人接触刚性环境振荡不稳定进行阻抗调节,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       在阻抗控制下,当机器人接触刚性环境时,可能会出现振荡不稳定的情况。这可以通过调整机器人的阻抗参数来进行调节。

阻抗接触

       阻抗参数中的质量、阻尼和刚度都会对机器人控制系统的性能和稳定性产生重要影响。质量主要影响系统的惯性,从而影响响应速度和稳定性;阻尼则可以抑制系统的振荡,提高系统的稳定性;而刚度则表示系统抵抗变形的能力,过大的刚度可能导致系统不稳定。在设计和调整控制系统时,需要考虑这些参数的影响,并根据实际需求进行合理的选择和调整。  

在阻抗控制模式下,机器人接触刚性环境时会引起接触振荡,主要原因可以从阻抗参数的角度进行分析。首先,阻抗控制是一种基于系统动态特性的控制方法,通过调整系统的阻抗参数,实现对机器人与环境之间交互的精确控制。在接触刚性环境时,机器人会受到来自环境的反作用力,这种反作用力可能会引起机器人的振动。

  1. 当阻尼参数较小时:机器人对外界力的响应比较缓慢,系统呈现出欠阻尼状态。此时,如果机器人受到来自环境的反作用力,由于阻尼较小,机器人无法迅速消耗这种能量,导致振荡的出现。
  2. 当阻尼参数较大时:机器人对外界力的响应比较迅速,系统呈现出过阻尼状态。此时,虽然机器人能够迅速响应外界力,但由于阻尼较大,机器人对外界力的响应比较敏感,容易受到微小扰动的影响,也可能会出现振荡。
  3. 当刚度参数较小时:机器人的刚度较低,对外界力的抵抗能力较弱。在接触刚性环境时,机器人可能会发生较大的变形,这种变形可能引起机器人的振动。
  4. 当刚度参数较大时:机器人的刚度较高,对外界力的抵抗能力较强。在接触刚性环境时,机器人虽然不会发生较大的变形,但由于刚度较大,机器人对外界力的响应可能过于敏感,也可能会出现振荡。

       虽然这种振荡可能会对机器人的性能产生不利影响,但并不一定意味着机器人是不稳定的。在阻抗控制中,通常会使用一些稳定性判据来评估机器人的稳定性,如李雅普诺夫稳定性判据等。如果机器人在受到扰动后能够恢复稳定状态,那么这种振荡就不算是真正的不稳定性行为。

刚性环境为ke=10000

虚拟阻抗为:kd=100,bd=10,md=1

虚拟阻抗为:kd=100,bd=10,md=5

虚拟阻抗为:kd=100,bd=10,md=10

性能滤波函数的Bode图:

bode(1e5/(0.0005*s^2+5*s+1))

bode(5e4/(0.1*s^2+3*s+1))

性能低通滤波调参

1e5/(1*s^2+3*s+1)

1e5/(1*s^2+5*s+1)

1e5/(1*s^2+10*s+1)

1e5/(2*s^2+3*s+1)

1e5/(2*s^2+1*s+1)

1e5/(3*s^2+1*s+1)

1e5/(4*s^2+1*s+1)

1e5/(1.5*s^2+0.9*s+1)

1e4/(1.2*s^2+0.8*s+1)

1e4/(0.1*s^2+0.8*s+1)

1e4/(0.1*s^2+0.1*s+1)

kd=10,bd=100

1e4/(0.01*s^2+0.1*s+1)

Wp = 1e3/(0.01*s^2+0.01*s+1)

Wp = 1e3/(0.001*s^2+0.01*s+1);

精度与鲁棒性的抉择!!!

1.5e4/(0.08*s^2+0.1*s+1)

8e3/(0.08*s^2+0.1*s+1)

5e3/(0.08*s^2+0.08*s+1)

5e3/(0.1*s^2+0.01*s+1)

————————————————————————————————————————

低阻抗模式下的刚性接触

1e5/(0.0005*s^2+5*s+1)

纯弹簧接触

kd=10

直接发散了!!!

kd=100

没有发散,但是刚性冲击过程振荡现象较为明显,这不是所期望的!!!

kd=1000

kd=10000

物极必反,刚度过大会引起较大振荡,意思是类似于两个纯刚体进行碰撞,势必会引起较大的振荡!!!

kd=100000

但阻抗实现性能就会很弱!!!

kd=1000000

粘弹性接触

kd=10,bd=1

kd=10,bd=10

说明增大阻尼起到了减小震荡的作用。

kd=10,bd=15

kd=10,bd=20

kd=10,bd=100

Kd = 100; Bd = 10 

Kd = 100; Bd = 100

Kd = 100; Bd = 1000

呈现质量-阻尼-弹簧动态

Kd = 10; Bd = 10 ; Md = 0.01;

Kd = 10; Bd = 10 ; Md = 0.1;

Kd = 10; Bd = 10 ; Md = 1;

Kd = 10; Bd = 10 ; Md = 2;

————————————————————————————————————

这篇关于阻抗控制下机器人接触刚性环境振荡不稳定进行阻抗调节的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/462165

相关文章

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

QT进行CSV文件初始化与读写操作

《QT进行CSV文件初始化与读写操作》这篇文章主要为大家详细介绍了在QT环境中如何进行CSV文件的初始化、写入和读取操作,本文为大家整理了相关的操作的多种方法,希望对大家有所帮助... 目录前言一、CSV文件初始化二、CSV写入三、CSV读取四、QT 逐行读取csv文件五、Qt如何将数据保存成CSV文件前言

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

通过Spring层面进行事务回滚的实现

《通过Spring层面进行事务回滚的实现》本文主要介绍了通过Spring层面进行事务回滚的实现,包括声明式事务和编程式事务,具有一定的参考价值,感兴趣的可以了解一下... 目录声明式事务回滚:1. 基础注解配置2. 指定回滚异常类型3. ​不回滚特殊场景编程式事务回滚:1. ​使用 TransactionT

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

SpringSecurity6.0 如何通过JWTtoken进行认证授权

《SpringSecurity6.0如何通过JWTtoken进行认证授权》:本文主要介绍SpringSecurity6.0通过JWTtoken进行认证授权的过程,本文给大家介绍的非常详细,感兴趣... 目录项目依赖认证UserDetailService生成JWT token权限控制小结之前写过一个文章,从S

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col