机器人动力学模型与MATLAB仿真

机器人刚体动力学由以下方程控制!!!

startup_rvc
mdl_puma560
p560.dyn

提前计算出来这些“disturbance”,然后在控制环路中将它“抵消”(有时候也叫前馈控制)

求出所需要的力矩,其中M项代表克服了机械臂的加速度惯量以及不同连杆之间的惯量影响所需力矩、C项代表了克服科里奥利力和离心力所需力矩、G项代表了克服地球引力力矩。

Inverse Dynamics叫做反向动力学,它的作用是输入想要的关节速度(qd)、关节加速度(qdd)、关节角度(q),输出为每个关节所需要的力矩(u)。当然也有正向动力学(forward dynamics),它的作用和反向动力学相反,输入关节角度(q)、关节速度(qd)、每个关节的力矩(u),输出为每个关节的加速度(qdd)

“前馈控制”的例子,它的作用是预先计算出所需的力矩,输入给控制器,“反馈”的存在是为了消除一些误差,例如摩擦力

J=[-sin(q1)-sin(q1+q2) -sin(q1+q2);cos(q1)+cos(q1+q2) cos(q1+q2)];
d_J=[-dq1*cos(q1)-(dq1+dq2)*cos(q1+q2) -(dq1+dq2)*cos(q1+q2);-dq1*sin(q1)-(dq1+dq2)*sin(q1+q2) -(dq1+dq2)*sin(q1+q2)];

function torque_out    = fcn(u_matrix,q1,q2)%% Robot Joint and mass parameters
g=9.81;
m1=0.3;
m2=1;
l1=0.2;
l2=0.2;%% B = M Matrix 
B=[  (m1+m2)*l1^2+m2*l2^2+2*m2*l2*l1*cos(q2)  (m2*l2^2+m2*l1*l2*cos(q2)) ; (m2*l2^2+m2*l1*l2*cos(q2))  m2*l2^2];torque_out= B* u_matrix ;end

C=[-(m2*l1*l2*sin(q2)*(2*q1dot*q2dot+q2dot^2)) ; -m2*l1*l2*sin(q2)*q1dot^2];

G=[(m1+m2)*g*l1*cos(q1)+m2*l2*g*cos(q1+q2) ; +m2*g*l2*cos(q1+q2)];

Minv=[ (m2*l2^2)/(((m1+m2)*l1^2*l2^2*m2)-(m2^2*l1^2*l2^2*cos(q2))) -(m2*l2^2+m2*l1*l2*cos(q2))/(((m1+m2)*l1^2*l2^2*m2)-(m2^2*l1^2*l2^2*cos(q2))) ; -(m2*l2^2+m2*l1*l2*cos(q2))/(((m1+m2)*l1^2*l2^2*m2)-(m2^2*l1^2*l2^2*cos(q2))) ((m1+m2)*l1^2+m2*l2^2+2*m2*l2*l1*cos(q2))/(((m1+m2)*l1^2*l2^2*m2)-(m2^2*l1^2*l2^2*cos(q2)))];

参考文献:

平面2R机器人运动学与动力学建模基于平面2R机器人谈谈运动学和动力学建模的应用icon-default.png?t=N7T8https://mp.weixin.qq.com/s/1gQTDHpyUkTMst_OdVFlnw

MATLAB 中的机械臂算法——动力学系列技术文章icon-default.png?t=N7T8https://mp.weixin.qq.com/s/opQcpv02sysIcz8seg3lkQ

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

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

相关文章

世界500强是如何解决邮件大附件影响业务问题的

电子邮件已成为众多企业沟通和文件传输的重要工具。然而,邮件发送大附件时,企业往往会遇到一系列挑战。本文将探讨邮件发送大附件的优劣势,分析其对业务可能造成的问题,并介绍500强企业是如何解决这些问题的。 邮件发送大附件的优…

V90 PN总线伺服通过FB285速度控制实现正弦位置轨迹运动(解析法和数值法对比测试)

V90总线伺服相关内容请参考专栏系列文章,这里不在详述 1、V90伺服PN总线速度随动控制 V90伺服PN总线速度随动控制(手摇轮功能)_手摇轮可以接总线plc吗?-CSDN博客文章浏览阅读632次。V90PN总线控制相关内容,请参考下面文章链接:博途1200/1500PLC V90 PN通信控制 (FB284功能…

Facebook的算法揭秘:如何塑造我们的信息

在当今数字化时代,Facebook已经成为人们日常生活中不可或缺的一部分。其信息流算法不仅决定着我们在平台上看到的内容,还对我们的观点、行为和体验产生了深远的影响。本文将深入探讨Facebook的算法运作方式,以及它对我们信息获取和社交行为的…

Java集合【超详细】2 -- Map、可变参数、Collections类

文章目录 一、Map集合1.1 Map集合概述和特点【理解】1.2 Map集合的基本功能【应用】1.3 Map集合的获取功能【应用】1.4 Map集合的两种遍历方式 二、HashMap集合2.1 HashMap集合概述和特点【理解】2.2 HashMap的组成、构造函数2.3 put、查找方法2.4 HashMap集合应用案例【应用】…

【c++入门】函数重载,引用,内联函数,auto

函数重载 函数重载概念 什么是函数重载? 函数重载:是函数的一种特殊情况,C允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类…

pytorch学习day3

一、模型创建(Module) 网络创建流程 ​ 上面的图表展示了使用PyTorch创建神经网络模型的主要步骤。每个步骤按顺序连接,展示了从导入必要的库到最终测试模型的整个流程: 导入必要的库:首先导入PyTorch及其相关模块。定…

【Tlias智能学习辅助系统】03 部门管理 前后端联调

Tlias智能学习辅助系统 03 部门管理 前后端联调 前端环境 前端环境 链接:https://pan.quark.cn/s/8720156ed6bf 提取码:aGeR 解压后放在一个不包含中文的文件夹下,双击 nginx.exe 启动服务 跨域的问题已经被nginx代理转发了,所以…

vs code 中使用SSH 连接远程的Ubuntu系统

如下图,找到对应的位置 在电脑上找到以下位置 打开配置如下,记住,那个root为你的用户名,这个用户名,具体根据你的用户名来设置,对应的密码就是你登录Ubuntu时的密码 Host root192.168.0.64User rootHostNa…

第N3周:Pytorch文本分类入门

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制🚀 文章来源:K同学的学习圈子 这里借用K同学的一张图片大致说明本次任务流程。 1.本次所用AG News数据集介绍 AG…

汽车IVI中控开发入门及进阶(二十三):i.MX8

前言: IVI市场的复杂性急剧增加,而TimeToMarket在几代产品中从5年减少到2-3年。Tier1正在接近开放系统的模型(用户可以安装应用程序),从专有/关闭源代码到标准接口/开放源代码,从软件堆栈对系统体系结构/应用层/系统验证和鉴定的完全所有权,越来越依赖第三方中间件和平…

优思学院|作为质量工程师,需要考哪些证书?别浪费你的气力,一张就够!

质量工程师做什么呢?他们的主要任务就是确保产品和服务的质量,以满足客户需求并超越竞争对手。尽管市场上有各种各样的质量管理认证,但优思学院认为,专注于六西格玛的学习和认证就足够了。 为什么选择六西格玛? 第一…

C++青少年简明教程:While和Do-while循环语句

C青少年简明教程:While和Do-while循环语句 C的while和do-while语句都是循环控制语句,用于重复执行一段代码。while语句在循环开始前检查循环条件,而do-while语句在循环结束后检查循环条件。 使用while循环时,如果需要在每次迭代前…

12V升20V3.5A升压恒压WT3207

12V升20V3.5A升压恒压WT3207 WT3207是一款高效PWM升压控制器,采用SO-8封装设计,专为低输入电压应用优化。该控制器支持5V至36V的宽输入电压范围,使其能够有效提升12V、15V和19V系统的电压水平,特别适合于两节或三节锂离子电池供电…

LabVIEW超声波局部放电检测系统开发

LabVIEW超声波局部放电检测系统开发 在高压电力系统中,局部放电(PD)是导致绝缘失效的主要原因之一。局部放电的检测对于确保电力系统的可靠运行至关重要。开发了一种基于LabVIEW软件的超声波局部放电检测系统的设计与实现。该系统利用数字信号处理技术,…

Python | Leetcode Python题解之第119题杨辉三角II

题目&#xff1a; 题解&#xff1a; class Solution:def getRow(self, rowIndex: int) -> List[int]:row [1, 1]if rowIndex < 1:return row[:rowIndex 1]elif rowIndex > 2:for i in range(rowIndex - 1):row [row[j] row[j 1] for j in range(i 1)]row.inser…

【Python入门学习笔记】Python3超详细的入门学习笔记,非常详细(适合小白入门学习)

Python3基础 想要获取pdf或markdown格式的笔记文件点击以下链接获取 Python入门学习笔记点击我获取 1&#xff0c;Python3 基础语法 1-1 编码 默认情况下&#xff0c;Python 3 源码文件以 UTF-8 编码&#xff0c;所有字符串都是 unicode 字符串。 当然你也可以为源码文件指…

【数据结构】二叉树运用及相关例题

文章目录 前言查第K层的节点个数判断该二叉树是否为完全二叉树例题一 - Leetcode - 226反转二叉树例题一 - Leetcode - 110平衡二叉树 前言 在笔者的前几篇篇博客中介绍了二叉树的基本概念及基本实现方法&#xff0c;有兴趣的朋友自己移步看看。 这篇文章主要介绍一下二叉树的…

iframe内嵌网页自适应缩放 以展示源网页的比例尺寸

需求:这是我最近开发的低代码平台遇到的需求 ,要求将配置好的应用在弹框中预览(将预览网页内嵌入弹框中) 但是内嵌进入后 他会截取一部分(我源网站网页尺寸 是1980x1080 或者 3060X2160等等) 但是我这个dialog弹框只有我自定义的1000多px的宽高 他只会展示我iframe网页的一部分…

Linux - 磁盘管理1

1.磁盘的分区 1.1 磁盘的类型&#xff08;标签&#xff09; MBR&#xff1a; ① 最大支持2T以内的硬盘 ② 有主分区p 拓展分区e 逻辑分区l之分 > 主分区编号1-4&#xff0c;主分区可以格式化使用 拓展分区编号1-4&#xff0c;拓展分区不能格式化 拓展分区最多能有1个&…

C++11中的新特性(2)

C11 1 可变参数模板2 emplace_back函数3 lambda表达式3.1 捕捉列表的作用3.2 lambda表达式底层原理 4 包装器5 bind函数的使用 1 可变参数模板 在C11之前&#xff0c;模板利用class关键字定义了几个参数&#xff0c;那么我们在编译推演中&#xff0c;我们就必须传入对应的参数…