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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTML用法介绍

文章目录 一、HTML概念和模版二、常用标签及用法1.p标签2.span标签3.h标签4.hr标签5.img标签6.a标签7.input标签8.table标签 一、HTML概念和模版 HTML的全称为超文本标记语言&#xff0c;它包括一系列标签组成&#xff0c;模版及各部分注释如下&#xff1a; <!--声明文档类…

iptables练习题

目录 练习题1. 显示当前的iptables规则2. 允许所有来自192.168.1.0/24的TCP流量到本机的22端口&#xff08;SSH&#xff09;3. 禁止所有来自10.0.0.0/8的ICMP流量4. 允许所有出站流量5. 拒绝所有来自外部的HTTP流量&#xff08;80端口&#xff0c;tcp协议&#xff09;6. 删除IN…

设计模式19——观察者模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 观察者模式&#xff08;Observ…

利用cherry pick巧妙地将某次提交单独合并到其他分支

0. 引言 最近在进行系统的多版本并行开发&#xff0c;涉及一些共有基础功能提交时就遇到了麻烦&#xff0c;一份代码需要向多个版本分支进行同步&#xff0c;以保证多版本都能有更新该基础功能。 多次对比提交的方式显然会带来巨大的工作量。但实际上我们可以通过git的cherry…

同时安装python2 和python3

最近的项目因为工具的原因 需要同时安装python2 和python3 我又想学着使用python 写东西 导致遇到了很多问题 记录下来 1 同时安装 python2 和python 1.1 安装完把/确认 Path 环境变量里 同时有python2,python2\Scripts和python3 ,python3\Scripts四个环境变量 修改python3…

IT人的拖延——渴望成功与害怕成功的矛盾

很多人都以为&#xff0c;害怕失败是拖延的主要诱因&#xff0c;但其实“害怕成功”也是拖延的主要诱因之一。要说这个原因&#xff0c;我们不得不提起Bible中的一个人“约拿”&#xff0c;让我们先来看看他的故事带给我们什么启示。 约拿情结简介 约拿是Bible中的一名先知&a…

hexo静态博客 部署到xxx.github.io github 静态页

hexo安装 npm install hexo-cli -g hexo init blog cd blog npm install hexo server key配置 ssh-keygen -t ed25519 -C “emaile.com” 添加key到github err gitgithub.com: Permission denied (publickey). fatal: Could not read from remote repository. 配置GitHub仓…

go select

select 是与 switch 相似的控制结构&#xff0c;与 switch 不同的是&#xff0c;select 中虽然也有多个 case&#xff0c;但是这些 case 中的表达式必须都是 channel 的收发操作。 select 能够让 goroutine 同时等待多个 channel 可读或者可写&#xff0c;在多个 channel 状态改…

【Python】 用Python的Pandas库美化打印Series和DataFrame

基本原理 在Python的数据分析领域&#xff0c;Pandas是一个非常重要的库。它提供了丰富的数据结构和数据分析工具&#xff0c;使得处理大型数据集变得简单高效。当你使用Pandas处理数据时&#xff0c;经常需要查看数据的预览&#xff0c;这时候美化打印&#xff08;Pretty-pri…

5、xss-labs之level6

一、level6-----大小写绕过 1、测试分析 测试了之前用过的payload&#xff0c;发现都不行&#xff0c;并且level4使用的Java伪协议也不行&#xff0c;可以得出<>、script、onclick都被过滤 2、构造payload 因为href被过滤&#xff0c;可以试一下大写HREF 初试payload…

Android应用开发之AndroidManifest.xml

一.AndroidManifest.xml介绍 1.定义 AndroidManifest官方解释是应用清单&#xff08;manifest意思是货单&#xff09;&#xff0c;每个应用的根目录中都必须包含一个&#xff0c;并且文件名必须一模一样。 它是Android程序的全局配置文件&#xff0c;是每个 android程序中必须…

linux 定时执行shell、python脚本

在linux里设置定时执行一般是用crontab&#xff0c;如果没有的话&#xff0c;可以先安装&#xff1a; 安装 查看是否安装 cron -v # 对于基于Debian的系统&#xff08;如Ubuntu&#xff09; sudo apt-get install cron# 对于基于RedHat的系统&#xff08;如CentOS&#xff…

selenium学习笔记

什么是selenium 比较官方的解释 Selenium是一个自动化测试工具&#xff0c;用于在Web应用程序中模拟用户操作。它提供了一组API&#xff0c;可以通过编程方式控制浏览器&#xff0c;并模拟用户的交互行为&#xff0c;例如点击、输入文本和导航等。Selenium支持多种编程语言&a…

论文阅读 - TIME-LLM: TIME SERIES FORECASTING BY REPROGRAMMING LARGE LANGUAGE MODELS

论文链接&#xff1a; https://arxiv.org/abs/2310.01728 目录 摘要 1 INTRODUCTION 2 RELATED WORK 3 METHODOLOGY 3.1 MODEL STRUCTURE 4 MAIN RESULTS 4.1 长期预测 4.2 短期预测 4.3 FEW-SHOT FORECASTING 5 CONCLUSION AND FUTURE WORK 摘要 动机&#xff1a; 时…

黎加厚教授:生成式人工智能对课程教材教法的影响

01 生成式人工智能与过去的信息技术有哪些不一样的地方 2023年&#xff0c;生成式人工智能&#xff08;GenAI&#xff09;犹如百年惊雷&#xff0c;改变了我对计算机的认识。最先让我折服的是AI绘画&#xff0c;我只需要把心中想象的场景用提示词详细描述&#xff0c;立刻就生…

VS code 无法go to以及全局搜索不到问题

一、无法goto问题 需要安装插件C/C。 安装完成后&#xff0c;检查设置是否生效。步骤如下&#xff1a; 1. 点开设置&#xff1a; 2. 搜索c/c查找引擎&#xff0c;确认其为默认值&#xff0c;即可。 二、全局搜索不到 VS code有时候全局搜索内容&#xff0c;搜索不到或者搜索…

基于51单片机的汽车智能灯光控制系统

一.硬件方案 本设计硬件部分&#xff0c;中央处理器采用了STC89C52RC单片机&#xff0c;另外使用两个灯珠代表远近光灯&#xff0c;感光部分采用了光敏电阻&#xff0c;因为光敏电阻输出的是电压模拟信号&#xff0c;单片机不能直接处理模拟信号&#xff0c;所以经过ADC0832进…

C语⾔:内存函数

1. memcpy使⽤和模拟实现&#xff08;对内存块的复制&#xff0c;不在乎类型&#xff09; void * memcpy ( void * destination, const void * source, size_t num ); • 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。 • 这个函数在遇…

卷积神经网络实现手写数字识别 pytorch

卷积神经网络实现手写数字识别 导入相关的库 import torch import torch.nn as nn from torch.autograd import Variable import torch.utils.data as Data import torchvision import matplotlib.pyplot as plt设置相应的超参数 EPOCH1 BATCH_SIZE50 LR0.001 DOWNLOAD_MNIS…

将 KNX 接入 Home Assistant 之二 准备软件

写在前面&#xff1a; 在KNX官网也有关于 Home Assistant 的教程&#xff0c;地址是 Get started with Home Assistant x KNX 需要的东西是 a KNX IP Interface or Routera Raspberry Pian SD Card at least 32 GB 安装 Home Assistant 系统 下载镜像&#xff1a; 地址&…