六自由度机械重力补偿控制

1.动力学方程

六自由度机械臂动力学方程形式如下:

M*ddq+C*dq+G+J'*fe=tol+f

进行重力补偿,就是在驱动力矩中对重力G进行补偿,从而消除重力的影响,这样就能够在进行闭环控制的时候避免重力影响带来的大超调问题,使得机器人更好的实现轨迹跟踪控制。消除重力影响后,机器人的动力学方程变成如下:

M*ddq+C*dq+J'*fe=tol+f

2.四种控制状态分析

2.1只进行重力补偿时机械臂的运动状态

分析上述公式可知,当机械臂刚开始处于静止状态时,即速度dq和加速度ddq均为0,惯性项M*ddq和科式力项C*dq均为0,此时机器人的动力学方程变为:

J'*fe=tol+f

当摩擦较小时,可以忽略摩擦的影响,当施加在机器人末端的外力fe=[0,0,0,0,0,0]'且施加的驱动力矩tol=G时,机械臂达到平衡状态,此时机械臂会静止不动,其动态过程如下:

2.2重力补偿并在末端施加外力

分析如下方程:

M*ddq+C*dq+J'*fe=tol+f

当对机械臂的末端施加外力时,即fe不等于0,上述方程达到动态平衡状态,此时机械臂将按照所施加力的方向进行运动,下图展示了机械臂沿y轴运动的过程:

2.3重力补偿控制

 我们在2.1节中只是对机械臂进行了重力补偿,并没有施加控制作用。为了使得机械臂能够进行轨迹跟踪,采用重力补偿加PD的控制方式对机械臂进行控制,控制率如下:

tol=kp.*qe+kd.*dqe+G

其中qe是机械臂的关节位置误差,dqe是机械臂的关节速度误差,此时在机械臂动力学方程中,不考虑摩擦和外力的影响。此时机械臂的动力学方程如下:

 M*ddq+C*dq+G=tol

 下图展示了机械臂进行轨迹跟踪的效果:

 

由上图可知,由于重力补偿的作用,机械臂在PD控制作用下能较好的实现轨迹跟踪。但是观察机械臂的关节力矩图可知,在开始阶段,由于存在较大的初始误差,机械臂的驱动力矩较大,达到了上百,这显然超出了电机的实际性能,与实际过程不符合,因此在实际控制时,需要对关节最大驱动力矩进行限幅处理。

2.4施加摩擦扰动时的重力补偿控制

在2.3节没有考虑摩擦的影响,本节为了验证重力补偿控制的控制效果,考虑了库伦摩擦和粘滞摩擦,摩擦力的数学表达式如下:

fe=Tc.*sign(dq)+Bm.*dq

此时机械臂的动力学方程如下:

 M*ddq+C*dq+G=tol+fe

由于没有扰动观测器,此时机械臂的控制率仍如下:

 tol=kp.*qe+kd.*dqe+G

接下来,看一下考虑存在摩擦时候的轨迹跟踪效果:

 

3.仿真效果展示

 仿真效果如下:

六自由度机械臂重力补偿控制

技术交流邮箱(欢迎交流、讨论、私信):3531225003@qq.com

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

(附源码)基于springboot的“我来找房”微信小程序的设计与实现-计算机毕设 23157

基于springboot的“我来找房”微信小程序的设计与实现 摘要 随着移动互联网的快速发展,微信小程序作为一种轻量级的应用程序形式,已经成为人们日常生活的重要组成部分。为了满足广大用户在租房方面的需求,本文设计并实现了一个基于SpringBoot…

FredNormer: 非平稳时间序列预测的频域正则化方法

时间序列预测是一个具有挑战性的任务,尤其是在处理非平稳数据时。现有的基于正则化的方法虽然在解决分布偏移问题上取得了一定成功但仍存在局限性。这些方法主要在时间域进行操作,可能无法充分捕捉在频域中更明显的动态模式,从而导致次优的结果。 FredNormer论文的研究目的主要…

【C++】认识匿名对象

文章目录 目录 文章目录前言一、对匿名对象的解读二、匿名对象的对象类型三、匿名对象的使用总结 前言 在C中,匿名对象是指在没有呗命名的情况下创建的临时对象。它们通常在单个语句中执行一系列操作或调用某个函数,并且不需要将结果存放进变量中。 匿名…

Oracle登录报错-ORA-01017: invalid username/password;logon denied

接上文:Oracle创建用户报错-ORA-65096: invalid common user or role name 我以为 按照上文在PDB里创建了用户,我以为就可以用PLSQL远程连接了,远程服务器上也安装了对应版本的Oracle客户端,但是我想多了,客户只是新建…

使用Python查找WeChat和QQ的安装路径和文档路径

在日常工作和生活中,我们经常需要查找某些应用程序的安装位置或者它们存储文件的位置。特别是对于像WeChat(微信)和QQ这样的即时通讯软件,了解它们的文件存储位置可以帮助我们更好地管理我们的聊天记录和共享文件。今天&#xff0…

【Diffusion分割】Cold SegDiffusion:医学图像分割的扩散模型

Cold SegDiffusion: A novel diffusion model for medical image segmentation 摘要: 随着深度学习的发展,扩散模型在医学图像分割任务中表现出了卓越的性能。然而,传统的分割扩散模型通常采用随机高斯噪声生成分割掩膜,导致分割…

Java建筑行业智能化管理系统源码,PC端、手机端、大屏端源码,智慧工地管理平台源码,智慧建设平台 智慧住建平台

智慧工地平台全套源码合作 智慧工地是指运用现代信息技术,如物联网(IoT)、大数据、人工智能(AI)、云计算、移动互联网等,对传统建筑工地进行智能化改造和管理的新型工地。它通过高度集成的系统和设备&#…

NIO实现聊天室之:一切都要从网络编程的基础开始聊起!

一、写在开头 大家好,Build哥回来啦!停更了大概2个月之久,之前有段时间去写小说去了,后来又因为公司活太多,牛马干的太投入,就拉下了博客的更新,国庆节期间,难得的闲下来,准备回归老本行啦。 大致的翻看了一下之前更新的内容,已经写到了Java的IO部分,作为网络传输…

eNodeB User Manual-Introduction

eNodeB architecture ### 概述 srsENB是一个完全由软件实现的LTE eNodeB基站。它作为一个应用程序运行在标准的基于Linux的操作系统上,能够连接到任何LTE核心网络(EPC)并创建一个本地LTE小区。为了通过空气传输和接收无线电信号,…

深入浅出解析大模型:探索智能体(Agent)

大语言模型 vs 人类 大语言模型很强大,就像人类的大脑一样拥有思考的能力。如果人类只有大脑,没有四肢,没有工具,是没办法与世界互动的。如果我们能给大模型配备上四肢和工具呢?大模型是不是就会打破次元壁&#xff0…

探索Python文本处理的新境界:textwrap库揭秘

文章目录 **探索Python文本处理的新境界:textwrap库揭秘**一、背景介绍二、textwrap库是什么?三、如何安装textwrap库?四、简单函数使用方法4.1 wrap()4.2 fill()4.3 shorten()4.4 dedent()4.5 indent() 五、实际应用场景5.1 格式化日志输出5…

华为OD机试 - 冠亚军排名(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

网页也能跑大模型?看这一篇就够了

写在最前 本故事主要介绍在网页上部署模型的来龙去脉,你想问的问题,可能都可以在这里找到答案 在这个 AI 内容生成泛滥的时代,依然有一批人"傻傻"坚持原创,如果您能读到最后,还请点赞或收藏或关注支持下我呗…

ChatGPT写论文全流程揭秘:从构思到成稿!

撰写高质量的学术论文是一项复杂且耗时的任务,涵盖从构思到研究、撰写及最终修改的每一个步骤,每一步都需要大量的时间和精力。然而,借助ChatGPT这样的工具,可以有效辅助论文写作的各个阶段,从而提升效率和确保论文的学…

在不支持WSL2的Windows环境下安装Redis并添加环境变量的方法

如果系统版本支持 WSL 2 可跳过本教程。使用官网提供的教程即可 官网教程 查看是否支持 WSL 2 如果不支持或者觉得麻烦可以按照下面的方式安装 下载 点击打开下载地址 下载 zip 文件即可 安装 将下载的 zip 文件解压到自己想要解压的地方即可。(注意&#x…

E37.【C语言】动态内存管理练习题

1. 求下列代码的执行结果 #include <stdio.h> char* GetMemory(void) {char p[] "hello world";return p; }void Test(void) {char* str NULL;str GetMemory();printf(str); }int main() {Test();return 0; } 答案速查 乱码 分别是x86debug和x64debug下…

业务封装与映射 -- OTUk/ODUk/OPUk比特速率和容量

介绍OTUk&#xff0c;ODUk&#xff0c;OPUk&#xff0c;OTUCn&#xff0c;ODUCn&#xff0c;OPUCn的比特速率和容量。 OTN支持超100 Gbit/s&#xff0c;100 Gbit/s&#xff0c;40 Gbit/s&#xff0c;10 Gbit/s&#xff0c;2.5 Gbit/s&#xff0c;1.25 Gbit/s等多种线路速率。 …

大模型应用新领域:探寻终端侧 AI 竞争核心|智于终端

2024年过去2/3&#xff0c;大模型领域的一个共识开始愈加清晰&#xff1a; AI技术的真正价值在于其普惠性。没有应用&#xff0c;基础模型将无法发挥其价值。 于是乎&#xff0c;回顾这大半年&#xff0c;从互联网大厂到手机厂商&#xff0c;各路人马都在探索AI时代Killer AP…

二叉树的进阶

前言&#xff1a; 关于二叉树的基础知识&#xff0c;小生这里就不在一一一赘述了&#xff0c;对前面二叉树的基础知识有遗忘的铁子 们&#xff0c;可以康康前期咱的博客。 链接在此&#xff1a; 数据结构之二叉树 的精讲 目录&#xff1a; 一&#xff1a;二叉搜索树的定义…

从0开始linux(6)——gcc

欢迎来到博主的专栏&#xff1a;从0开始linux 博主ID&#xff1a;代码小豪、 文章目录 gccgcc的文件风格预处理编译汇编链接 gcc gcc是linux系统下常用的C语言编译器&#xff0c;随着后续的扩展&#xff0c;gcc支持了c&#xff0c;并推出了g编译器&#xff0c;现在的gcc可以支…