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

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

阻抗接触

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

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

  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.mzph.cn/news/201754.shtml

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

相关文章

调试文心大模型或chatgpt的function Calling函数应用场景

沉默了一段时间,最近都在研究AI大模型的产品落地应用,我觉得这个function calling出来后,对目前辅助办公有革命性的改变,可以它来做什么呢?我们先来调试看看,chatgpt和文心大模型的ERNIE Bot支持这个&#…

Python自动化测试PO模型封装过程详解

在自动化中, Selenium 自动化测试中有一个名字经常被提及 PageObject( 思想与面向对象的特征相 同 ) ,通常 PO 模型可以大大提高测试用例的维护效率 优点:可重用,业务和对象分离,代码结构清晰,方便代码维护 核心要素 …

数字化智慧工地管理云平台源码(人工智能、物联网)

​智慧工地优势:"智慧工地”将施工企业现场视频管理、建筑起重机械安全监控、现场从业人员管理、物料管理、进度管理、扬尘噪声监测等现场设备有机、高效、科学、规范的结合起来真正实现工程项目业务流与现场各类监控源数据流的有效结合与深度配合,…

【一周安全资讯1202】信安标委发布《网络安全标准实践指南—网络安全产品互联互通 告警信息格式》;网络安全纳入注册会计师考试科目

要闻速览 1、信安标委发布《网络安全标准实践指南—网络安全产品互联互通 告警信息格式》 2、南昌某高校学生个人信息在境外公开出售,警方抓获学校"内鬼" 3、网络安全纳入注册会计师考试科目 4、乌克兰情报机构网攻俄罗斯民航局,称俄民航业正…

合并一个文件夹下的多个txt文件,并对文本内容分列处理。

python 合并一个文件夹下的多个txt文件,并对文本内容分列。 原始文件: 最终结果: import pandas as pd import xlwt import pandas as pd from sqlalchemy import create_engine import pandas as pd import os import glob dirPath g…

【已解决】Win10端口被占用

​ 我总是在启动项目的时候失败,被告知端口号被占用,明明没有被占用(可能是系统卡了或者其它问题),但是又不想改端口号,或者重启电脑,那怎么办呢? 第一步:打开命令行窗口,以管理员…

mvc模式test

项目结构 Book.java package beans; public class Book {private Integer id;private String name;private double price;public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String getName() {return name;}public void setName(Strin…

不会代码(零基础)学语音开发(语音播报板载双按键状态)

这个例程实现语音播报VDB-150S语音开发板板载的按键开关SW1、SW2的按下情况。 语音开发板将板载的按键开关SW1、SW2的一端都接到了GND端,另一端分别连接到语音模块的GPIO_B0、GPIO_B1引脚,当按下SW1时GPIO_B0引脚会输入低电平,当按下SW2时GP…

老师可以做副业吗

当老师,除了教学工作之外,还可以怎样来丰富自己的职业体验和增加收入呢? 自媒体作者 许多教师选择成为自媒体作者,分享自己的教育心得、教学经验以及与学生相处的生活状态等。通过撰写文章、发布在社交媒体上,不仅可以…

Objaverse:大规模3D模型开放数据集

研究人员推出了 Objaverse,这是一个“包含文本描述的3D 对象的海量开放数据集”。 它包含大约 800 000 个 3D 模型以及文本描述。 Objaverse数据集可以从huggingface下载,并且是通过 Sketchfab(Epic Games 旗下的在线平台)上共享…

又有狗咬娃!江西8岁男童买早餐被狗扑咬,满脸血缝了90多针!

位于江西省吉安市吉安县实验小学门口,一名年仅8岁的男童在去买早餐的路上遭遇了一场恐怖的袭击。据报道,孩子是在清晨的买早餐路上被一只恶狗扑倒咬伤的,伤口深可见骨。 孩子的母亲悲痛欲绝地描述了当时的情景,孩子被咬伤后躺在地…

ky10 x86 一键安装wvp gb28181 pro平台

下载代码 git clone https://gitcode.net/zengliguang/ky10_x86_wvp_record_offline_install.gitfinalshell mobaxterm 修改服务器ip 查看服务器ip ip a 在脚本文件中修改服务器ip 执行安装脚本 切换到root用户 sudo su cd ky10_x86_wvp_record_offline_install/ sourc…

智能优化算法应用:基于黑寡妇算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于黑寡妇算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于黑寡妇算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.黑寡妇算法4.实验参数设定5.算法结果6.参考文献7.…

Git 应用 -- 多人协作开发场景1

目录 1. 既查看本地仓库的分支,又查看远程仓库的分支: git branch -a (但是远程的分支只能查看,不能直接切换到远程的分支上) 2. 本地的分支和远程的分支建立连接:git checkout -b [分支名] [要连接远程的…

B027-MySQL增强

目录 多表查询为什么要用多表查询?笛卡尔积和内连接消除笛卡尔积外键数据库内连接练习左连接查询和右连接查询等值连接out join自连接子查询 数据操作(DML)数据的插入数据的删除数据的修改 数据库的备份与恢复Dos命令行窗口导出Dos命令行窗口导入Navicat导出Navicat…

if与switch语句的运用—输出成绩

1.给出一个百分制成绩&#xff0c;要求输出成绩等级A、B、C、D、E。90分以上为A&#xff0c;81-89分为B&#xff0c;70-79分为C&#xff0c;60&#xff0d;69分为D&#xff0c;60分以下为E。 if语句实现 #include <stdio.h> int main() { int score; printf(&qu…

基于SSM的图书馆管理系统运行部署教程

基于SSM的图书馆管理系统运行部署教程 1、下载2、数据准备-导入sql文件3、项目导入idea4、项目运行5、测试6、日志乱码问题 1、下载 源码下载地址&#xff1a; https://download.csdn.net/download/weixin_44796239/85072348下载之后&#xff0c;会得到一个压缩包&#xff1a; …

LeetCode-470. 用 Rand7() 实现 Rand10()【数学 拒绝采样 概率与统计 随机化】

LeetCode-470. 用 Rand7 实现 Rand10【数学 拒绝采样 概率与统计 随机化】 题目描述&#xff1a;解题思路一&#xff1a;首先说一个结论就是(rand_X() - 1) Y rand_Y() > [1,X*Y]&#xff0c;即可以等概率的生成[1, X * Y]范围的随机数&#xff0c;其实就像军训的时候报数…

抖店怎么对接达人带货?达人渠道整理,实操详解!

我是电商珠珠 很多人在抖店开通后&#xff0c;按照流程去正常的跑自然流量&#xff0c;再去找达人带货让自己店铺的流量增多&#xff0c;得到相应的曝光。 但是一些新手小白并不知道从哪去找达人&#xff0c;或者说不知道怎么去筛选达人。 一开始所有人都想着去找头部主播&a…