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

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

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

阻抗接触

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

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

  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

相关文章

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估