Design and implementation of robot impedance controller

机器人阻抗控制器的设计与实现是一个复杂但关键的过程,它涉及到多个方面以确保机器人能够在外界环境的影响下保持稳定的性能。以下是对机器人阻抗控制器设计与实现的详细解答:

一、阻抗控制原理

阻抗控制的基本原理是建立一个期望的机器人位置和接触力的动态响应关系。通过改变阻抗(包括质量、阻尼和刚度),可以调节机器人与外界环境的动态作用。阻抗控制的目标是使机器人在受到外界力作用时,能够具有阻抗形式的扰动响应,从而实现对外部环境的适应。

二、阻抗控制方法

机器人阻抗控制主要分为两种方法:基于位置的阻抗控制和基于力的阻抗控制。

  1. 基于位置的阻抗控制:
    • 让机器人电机在位置模式下工作,通过发送目标位置和速度实现阻抗特性。
    • 主要用于控制机器人的位置精度和运动轨迹。
    • 控制器会不断调整阻抗模型参数,以适应不同的操作需求,并保持对物块的稳定夹取。
  2. 基于力的阻抗控制:
    • 让机器人的电机处于力矩模式工作,需要考虑机器人的动力学模型,直接计算出需要的力矩给驱动器。
    • 主要用于控制机器人与环境之间的作用力和反作用力,从而实现更好的顺应性。
    • 需要使用到机器人力传感器来测量机器人与环境之间的作用力,以实现更为精准的控制。

机器人动力学模型

The generalized forces τ ∈ Rn  determine the control input

represents the generalized external forces

在笛卡尔/末端/操作空间的机器人动力学模型

设计由两个阶段组成:一个反馈线性化系统,允许消除机器人的内在非线性,以及施加一个动态行为,以保持微妙的交互作用

反馈线性化的目标,也称为逆动力学或计算转矩,是为了消除给出的动力学模型的非线性。为此,定义了以下控制定律

这可以解释为每个关节上的解耦二阶系统。为了保证受控系统的稳定性及其收敛到期望状态,我们将期望行为y定义为比例导数定律为

选择合适的KP值和KD值保证了末端执行器姿态的收敛性。

阻抗控制

为了确保机器人的可爱环境和周围环境之间微妙的相互作用,将动态行为定义为其控制律的一部分。考虑到一个6×1的接触末端fA(包含力和力矩的矢量),将机器人动力学中所示的模型改写为

为了抵消非线性项的影响,采用反馈线性化方法将控制律定义为

与纯反馈线性化一样,可以任意地设计现在解耦的二阶系统的行为。为了在机器人的末端执行器和期望的位置之间施加一个机械阻抗的行为,定义了接下来的解耦加速度

其中,Md、Bd和Λd分别为6×6个期望惯性、阻尼和刚度的正定矩阵。有了这种行为,闭环系统就变成了

在这个表达式中,可以通过选择Md类似于惯性矩阵Hx (q)来进一步忽略接触力fA的显式测量,从而消除了对力/扭矩传感器的需要。

动力学系统的控制问题是选择输入u(t),使末端执行器在任务空间中执行所需的运动,同时调节末端执行器与环境的交互作用力。根据任务,这可以指定为一个轨迹跟踪问题,即跟踪一个给定的运动和/或力轨迹的问题,或获得所需的阻抗的问题,例如,控制操纵器响应二阶系统刚度K,阻尼B和质量M

内环/外环控制,其中内环是一个非线性反馈线性化或逆动力学控制,外环是一个额外的控制,以实现更经典的控制理论目标,如跟踪、干扰抑制、鲁棒性等。给定系统(I),假设内环控制律的形式为

并消除了动力学中存在的非线性。由于惯性矩阵是可逆的,并且假设我们处于一个没有运动学奇点的区域,因此应用于动力学的控制律得到了我们熟悉的双积分器系统

参考文献:

Hierarchical Impedance-based Tracking Control of Kinematically Redundant Robots

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

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

相关文章

股票交易vip快速通道有什么门槛?vip交易通道的开通流程!

证券公司的VIP通道通常是为了满足高端客户或高频交易客户的需求而设立的,提供更快速、更便捷的交易服务。证券公司VIP通道适用于有追涨停板需求的投资者,以及一些喜爱高频交易的投资者,总的来说就是快速,在交易主机排队靠前。 VI…

go-zero 实战(1)

环境准备 go 版本 go version go1.22.2 linux/amd64 goctl 安装 goctl(官方建议读 go control)是 go-zero微服务框架下的代码生成工具。使用 goctl 可以显著提升开发效率,让开发人员将时间重点放在业务开发上,其功能有&#xff1a…

pands使用openpyxl引擎实现EXCEL条件格式

通过python的openpyxl库,实现公式条件格式。 实现内容:D列单元格不等于E列同行单元格时标红。 #重点是formula后面的公式不需要“”号。 from openpyxl.styles import Color, PatternFill, Font, Border from openpyxl.styles.differential import Dif…

Java客户端SpringDataRedis(RedisTemplate)上手

文章目录 ⛄概述⛄快速入门❄️❄️导入依赖❄️❄️配置文件❄️❄️测试代码 ⛄数据化序列器⛄StringRedisTemplate⛄RedisTemplate的两种序列化实践方案总结 ⛄概述 SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模…

HDU 2196 Computer(树形dp)

H D U 2196 C o m p u t e r (树形 d p ) \Huge{HDU 2196 Computer(树形dp)} HDU2196Computer(树形dp) 文章目录 题意思路标程 题目链接:Problem - 2196 (hdu.edu.cn) 题意 给出一个n个节点的无…

git将某次提交合并到另一个分支

一、需求背景 将分支b中的某一次提交单独合并到分支a 二、实现方案 需求:将分支b中的某一次提交单独合并到分支a 1.在git上查看指定某次提交的id,如下图所示: 也可以通过git log命令查看提交的id,如下图: git log…

Android13 基座充电屏保

屏幕保护有两个设置可选:默认为插入基座充电时 通过DreamBackend启用屏保,并且保存选择的时机 //QSSI.13\packages\apps\Settings\src\com\android\settings\dream\WhenToDreamPicker.java Override protected boolean setDefaultKey(String key) {mBac…

AI视频换脸!最快的方法,100%成功,完全免费,无需配置、打开即用

这是一款百分百完全免费,超级好用又简单的AI视频换脸工具,不仅效果非常不错而且支持CPU和GPU解码,即使电脑上没有独立显卡,你也可以通过电脑上的CPU要进解码,虽然我之前给他介绍好几个有关AI视频,比如像这个…

网络原理-HTTPS协议

在前面说到HTTP中,我们通过抓包,可以看到许多信息内容,其中往往会包含一些敏感信息,这些都是明文传输,当我们的请求被黑客或者不法分子截获后,那就很危险了,因此衍生出了HTTPS协议来对传输数据进行加密。 一、加密原理 基本原理如下: 明文 密钥 > 密文 密文…

【一竞技DOTA2】RAMZES666替补参加裂变联赛

1、根据主办方文件,RAMZES666将继续作为Tundra战队替补参加裂变联赛。该比赛为欧洲线上赛,于5月27日-30日举行,总奖金8万美元。 除此之外,Nigma战队在上个月宣布四号位Matthew离队后,也选择启用老队员GH参赛。而在本月初让ah fu转回教练、携替补Thiolicor出战PGL瓦拉几亚的Secr…

远程户外监控组网方案,工业4G路由器ZR2000

户外监控无人值守4G工业路由器组网应用涉及工业自动化、数据传输和远程监控的重要领域。在户外没有光纤的情况下,想要让监控或传感器等设备联网,仅需一台4G工业路由器即可解决。以下是关于远程监控户外组网的详细分析与应用: 物联网应用场景 …

【Python】 Python中__slots__的妙用:提升性能与内存管理

基本原理 在Python中,每个类默认都会继承自object类,而object类在Python中是一个动态类,允许动态地添加属性和方法。这种灵活性使得Python在某些情况下非常强大和灵活,但同时也带来了一些性能和内存使用上的开销。 为了解决这个…

Spring:事务

1. 简介 spring对jdbc进行封装&#xff0c;简化对数据库的操作 2. HelloWorld 1. 搭建模块 2.加入依赖 <dependencies><!--spring jdbc Spring 持久化层支持jar包--><dependency><groupId>org.springframework</groupId><artifactId>s…

设计模式 22 访问者模式 Visitor Pattern

设计模式 22 访问者模式 Visitor Pattern 1.定义 访问者模式是一种行为型设计模式&#xff0c;它允许你在不改变已有类结构的情况下&#xff0c;为一组对象添加新的操作。它将算法与对象结构分离&#xff0c;使你能够在不修改现有类的情况下&#xff0c;为这些类添加新的操作。…

Flink系列一:flink光速入门 (^_^)

引入 spark和flink的区别&#xff1a;在上一个spark专栏中我们了解了spark对数据的处理方式&#xff0c;在 Spark 生态体系中&#xff0c;对于批处理和流处理采用了不同的技术框架&#xff0c;批处理由 Spark-core,SparkSQL 实现&#xff0c;流处理由 Spark Streaming 实现&am…

什么是深拷贝和浅拷贝?

浅拷贝 浅拷贝是指将一个对象复制到另一个变量中&#xff0c;但是复制的是对象的地址&#xff0c;而不是对对象本身进行复制。原始对象的引用和复制对象的引用时期上是共享同一个内存地址的。 所以我们修改了复制引用指向的对象中的属性或方法&#xff0c;原始引用指向的对象…

metersphere发送kafka消息

上传jar包 设置前置脚本 import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.ProducerRecord; import java.util.Properties;// Kafka 生产者配置 Properties props new Properties(); props.put("bootstrap.servers&qu…

JavaWeb_SpringBootWeb

先通过一个小练习简单了解以下SpringBootWeb。 小练习&#xff1a; 需求&#xff1a;使用SpringBoot开发一个Web应用&#xff0c;浏览器发起请求/hello后&#xff0c;给浏览器返回字符串"Hello World~"。 步骤&#xff1a; 1.创建SpringBoot项目&#xff0c;勾选We…

【电源专题】功率电感啸叫对策及案例

在文章:【电源专题】功率电感器啸叫原因及典型案例 中我们了解到了电感器啸叫的原因和一些典型电路中产生电感啸叫的案例。通过案例我们了解到很多时候啸叫来源是DC-DC转换器的功率电感器,所以如果我们要降低或消除啸叫,那有哪些对策呢? 避免流过人耳可听频率电流 首先我们…