机器人控制系列教程之动力学建模(1)

简介

机器人动力学是对机器人机构的力和运动之间关系与平衡进行研究的学科。机器人动力学是以机器人运动为基础,研究在运动过程中连杆与连杆之间、连杆与工件之间力或力矩等关系。

分类: 根据研究方向的不同,机器人的动力学分析也分为正、逆两个方向。

  1. 正动力学问题。根据关节驱动力矩或力,求解关节变量在关节空间的轨迹或末端执行器在笛卡尔空间的轨迹。

  2. 逆动力学问题。机器人在关节变量空间的轨迹已确定,或末端执行器在笛卡尔空间的轨迹已确定(轨迹已被规划),求解机器人在各执行器的驱动力或力矩。

建模方法

对于大多数的工业关节型机器人而言,至少具有两个或者两个以上的自由度,其动力学系统形式则为多输入多输出的复杂系统,存在严重的非线性,目前在推导建立机器人动力学方程的过程中,分析机器人的动力学数学模型有很多种方法,第一种方法基于Lagrange Formulation(拉格朗日方程),第二种方法基于Newton-Euler Formulation(牛顿-欧拉方程),此外还有Kane(凯恩法)和Spatial Operator Algebra(空间算子代数)等方法。

动力学建模目的

  1. 对于正向动力学问题,其分析是进行机器人仿真的基础;
  2. 逆向动力学问题是为了实时控制的需要,利用动力学模型、实现最优控制、以期达到良好的动态性能和最优指标。
  3. 在进行机器人结构设计时,需要根据连杆质量、运动学和动力学参数等,来确定机器人的结构参数和传动方案,验算设计方案的合理性和可行性.等等。

凯恩法

凯恩法是由美国斯坦福大学应用力学教授Thomas R.Kane 在20世纪中叶提出的一种动力建模新方法,该方法与传统的分析力学思路存在很大的区别,因此被称之为虚功形式的达朗贝尔原理,其基本思想是以系统特点为依据,利将广义坐标的函数或者广义坐标替换为广义速度,并将其带入到相应的动力学方程当中,进一步可以求解出广义主动力等一系列变量。基于达朗贝尔原理可知,凯恩动力学方程的特点是既可以像拉格朗日法一样有效规避方程内的一系列内力项,使得求解过程大大简化。同时也能够获得如牛顿欧拉方法那样明确的物理含义。并且所求解的方程可以直接转化为不含特定因子的标准形式(Y=XU),这样能够大大提升方程的求解效率。

该方法是将达朗贝尔原理和虚位移原理推得的动力学普遍方程: ∑ ( F x − m v r ¨ v ) ⋅ δ r v = 0 \sum {\left( {{F_x} - {m_v}{{\ddot r}_v}} \right) \cdot \delta {r_v} = 0} (Fxmvr¨v)δrv=0 ,进行了改进处理,推导出了系统的广义主动力和广义惯性力,广义主动力和广义惯性力相加等于零。

拉格朗日建模法

在牛顿力学中研究质点系的动力学经常使用直角坐标系,而对于拉格朗日方程法而言,该方法使用的动力学坐标系被称为广义坐标系。在该坐标系中可以构建支点系的动力学方程。18 世纪,拉格朗日在动力学普遍方程的基础上构建了更为简洁的动力学方程。这也是后人广为称赞的拉格朗日法,该方法概念简单,能够更为系统地表示出动力学的计算过程,其适用于完整系统,是经典力学发展中继牛顿定律后的又一个里程碑。
该方法原理简单,运算推导容易实现,尤其是针对较为复杂的机械系统,利用 该方法可以省去很多不必要的分析,从而较为容易的得到其数学模型,进而推导出其动力学方程。并且由 Lagrange 法推导的机器人动力学方程每一部分都有很具象的物理意义,对于由动力学分析其运动形态很有指导意义。

牛顿-欧拉方程法

牛顿-欧拉方程法本质是基于矢量力学的动力学建模方法,其通过将系统中所有单元都进行相应的隔离处理,并且基于牛顿第二定理等经典力学理论可以推导出质心的平动方程,以欧拉原理为基础可以获得系统内部不同单元的动力学方程,根据各个单元之间的约束关系,牛顿-欧拉方程可以建立单个刚体的动力学特性框架,对于多自由度多连杆机器人系统而言,其为一个多刚体系统。为建立系统整体动力学特性框架,需要迭代递推以建立每一个刚体的动力学特性框架,从而建立整个机器人系统的动力学特性框架。其动力学建模过程清晰。

利用牛顿-欧拉法建立机器人动力学方程,由正向运动学递推和逆向动力学递推两
个阶段构成。具体而言,正向运动学递推是指沿机器人基座到末端执行器对连杆的运动
状态进行计算;逆向动力学递推是指沿末端到基座计算各个连杆的力或力矩(惯性力、
惯性力矩等)。使用该方法建立动力学模型的优点在于可以迅速为机器人的实时控制确
定其所需的力或力矩。但是对于多自由度、多连杆等较为复杂的机器人系统而言,其建
模过程较为复杂,需要单独对机器人系统每个刚体建立方程,分析各个刚体之间的相互
作用力,效率较为低下。

空间算子代数法

以牛顿-欧拉方程为代表的矢量力学求解方法的计算效率通常能够达到系统自由度数目的3次方数量级;而已拉格朗日方程为代表的分析力学方法的计算效率通常为2次方数量级。这对于大型、复杂、多自由度的多体系统非常不利,并且机器人动力学实时仿真及其控制系统设计对于系统动力学计算过程提出了更为苛刻的要求。美国科学家Rodriguez 将卡尔曼滤波预测理论的状态方程与多体系统动力学进行比拟,发现了两者的内在联系,发展了O(n)阶多体系统动力学的空间算子代数法。其假设机器人由n个连杆(不含基座)组成,定义机器人连杆编号从末端到基座依次为0~n。在此基础上,定义由机器人末端向基座地推计算为包括力和力矩的递推的内向递推;定义从基座到机器人末端为包括速度和加速度的向外递推,在此基础上可以对机器人的运动关系进行有效分析,并定义机器人相邻杆件的速度、力、力矩递推算子,通过空间算子得到相邻连杆之间的变换关系,从而建立起多体系统动力学的空间算子代数体系。

建模方法对比

串联机器人拉格朗日建模法详解

当前对于机器人动力学的研究方法有很多种,其中比较常用的主要有拉格朗日法和牛顿-欧拉方法,考虑到拉格朗日法具有明确的物理意义,对于理解机器人的动力学模型更加有利,所以选择拉格朗日法对机器人的动力学相关问题进行研究与分析。详细步骤如下:

  1. 整理系统的质量矩阵 m i ∈ R 1 × 6 {m_i} \in {R_{1 \times 6}} miR1×6,各连杆的质心坐标系矩阵:
    在这里插入图片描述

  2. 计算各连杆惯性矩阵: I i I_i Ii

  3. 求解各连杆的伪惯性矩阵,公式如下:
    在这里插入图片描述

  4. 机器人系统的总动能和势能为:

在这里插入图片描述

  1. 带入拉格朗日函数L:

L = K − P L = K - P L=KP

  1. 由L可得动力学模型为:
    τ i = d d t ( ∂ L ∂ q ˙ i ) − ∂ L ∂ q i , i = 1.2.3.4.5.6 {\tau _i} = {d \over {dt}}\left( {{{\partial L} \over {\partial {{\dot q}_i}}}} \right) - {{\partial L} \over {\partial {q_i}}},i = 1.2.3.4.5.6 τi=dtd(q˙iL)qiL,i=1.2.3.4.5.6

  2. 整进一步整理可得:

下篇推文将讲解如何基于MATLAB的机器人工具箱建立串联机器人的动力学模型。

往期推荐:

在这里插入图片描述

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

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

相关文章

华为OD机试 - 掌握单词个数(Java 2024 D卷 100分)

华为OD机试 2024D卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(D卷C卷A卷B卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测…

一文搞懂Linux多线程【下】

目录 🚩多线程代码的健壮性 🚩多线程控制 🚩线程返回值问题 🚩关于Linux线程库 🚩对Linux线程简单的封装 在观看本博客之前,建议大家先看一文搞懂Linux多线程【上】由于上一篇博客篇幅太长,为…

任务5.1 初识Spark Streaming

实战概述:使用Spark Streaming进行词频统计 1. 项目背景与目标 背景: Spark Streaming是Apache Spark的流处理框架,用于构建可伸缩、高吞吐量的实时数据处理应用。目标: 实现一个实时词频统计系统,能够处理流式数据并统计文本中的单词出现频…

网易严选礼品卡有什么用?

网易严选的礼品卡可以在网易商城里买东西 但是现在好多人买东西基本上都用的是淘宝京东之类的 很少会有人用网易吧 但是最近我朋友送了我几张网易的卡,我自己也用积分兑换一张,一直不知道怎么用 最后还是在收卡云上转让出去了,价格高不说…

yolo-world使用自己数据集训练

YOLO-World下载: https://github.com/AILab-CVC/YOLO-World/tree/master 1.数据准备 数据格式COCO格式即可 2.配置文件修改 configs/finetune_coco/yolo_world_v2_l_vlpan_bn_sgd_1e-3_40e_8gpus_finetune_coco.py (1) 模型下载路径&#xf…

vue3-openlayers 要素聚合(cluster)、icon聚合

本篇介绍一下使用vue3-openlayers 要素聚合&#xff08;cluster&#xff09;&#xff0c;icon聚合 1 需求 要素聚合&#xff08;cluster&#xff09;&#xff0c;icon聚合 2 分析 使用ol-source-cluster 4 实现 <template><ol-map:loadTilesWhileAnimating"…

gin数据解析和绑定

一. Json数据解析和绑定 html文件&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <meta htt…

Java数据脱敏

数据脱敏 敏感数据在存储过程中为是否为明文, 分为两种 落地脱敏: 存储的都是明文, 返回之前做脱敏处理不落地脱敏: 存储前就脱敏, 使用时解密, 即用户数据进入系统, 脱敏存储到数据库中, 查询时反向解密 落地脱敏 这里指的是数据库中存储的是明文数据, 返回给前端的时候脱…

带货直播部门的薪酬提成还有绩效考核怎么做!

直播带货公司一大片&#xff0c;老板一定要控制好自己利润很好的时候分钱的这个欲望&#xff0c;因为不怕分钱&#xff0c;就怕分错了之后收不回来。举例&#xff1a;你今年赚了 1, 000 万&#xff0c;然后你的运营或者你的投手是不是你感觉他的贡献很大&#xff0c;这时候你就…

时延降低 50%,小红书图数据库如何实现多跳查询性能大幅提升

多跳查询为企业提供了深入的数据洞察和分析能力&#xff0c;它在小红书众多在线业务中扮演重要的角色。然而&#xff0c;这类查询往往很难满足稳定的 P99 时延要求。小红书基础架构存储团队针对这一挑战&#xff0c;基于大规模并行处理&#xff08;MPP&#xff09;的理念&#…

【已解决】Pycharm:卡顿解决方案汇总

可能原因&#xff1a; 1、内存少 2、加载慢 3、文件多 4、硬件老 解决方案&#xff1a; 本机测试在 MAC&#xff0c;Windows、Linux也有相应的设置&#xff0c;请自行查询。 一、调整Pycharm使用内存 Help - Change Memory Settings 二、取消勾选 重复打开上次项目 Pych…

什么是Arkose Labs挑战及其解决方法

Arkose Labs挑战是一种复杂的机制&#xff0c;旨在验证用户是真正的人类&#xff0c;而不是自动化的机器人或脚本。这一挑战在维护在线服务的安全性和完整性方面发挥着关键作用&#xff0c;通过防止欺诈活动并确保只有真实用户才能访问某些功能。 目录 什么是Arkose Labs挑战&a…

地理空间数据格式GeoJSON扫盲,在CesiumJS中如何加载。

Hi&#xff0c;我是贝格前端工场&#xff0c;GIS已经越来越多的应用在可视化大屏中了&#xff0c;开发GIS类应用就少不了地理空间数据&#xff0c;本文介绍一下数据GeoJSON数据格式。 一、什么是GeoJSON数据格式&#xff0c;在GIS开发中有什么作用 GeoJSON是一种基于JSON&…

T100M2S2 M.2高清2路SDI采集卡

产品简介&#xff1a; 同三维T100M2S2一款支持全高清1080P 60HZ高清M2型两路SDI采集卡&#xff0c;板卡采用了高速的M.2-PCI-E接口&#xff0c;可实现1080P全实时不丢帧60帧传输。支持高清SDI输入&#xff0c;满足各种用户的需求&#xff0c;其最高分辨率可以实现1920&time…

文生视频模型Sora刷屏的背后的数据支持

前言&#xff1a;近日&#xff0c;OpenAI的首个文生视频模型Sora横空出世&#xff0c;引发了一波Sora热潮。与其相关的概念股连续多日涨停&#xff0c;多家媒体持续跟踪报道&#xff0c;央视也针对Sora进行了报道&#xff0c;称这是第一个真正意义上的视频生成大模型。 01 …

Java医院绩效考核系统源码:考核目标、考核指标、考核方法、考核结果与奖惩措施

Java医院绩效考核系统源码&#xff1a;考核目标、考核指标、考核方法、考核结果与奖惩措施 随着我国医疗体制的改革广大人民群的看病难&#xff0c;看病贵的问题一直没有得到有效地解决医疗费用的上涨&#xff0c;远远大于大多数家庭收入的增长速度。医院的改革已经势在必行&am…

早餐店小程序开发

在快节奏的城市生活中&#xff0c;早餐对于许多人来说是一天中最重要的一餐。然而&#xff0c;传统的早餐店在经营过程中常常面临客流量不稳定、服务效率低下等问题。为了解决这些问题&#xff0c;越来越多的早餐店老板开始寻求利用科技手段提升经营效率。早餐店小程序作为一种…

项目验收测试有必要找第三方软件测试机构吗?

在当今信息技术飞速发展的时代&#xff0c;软件测试成为了确保软件质量的重要环节。而在项目的验收测试中&#xff0c;很多企业都面临一个问题&#xff0c;那就是是否有必要找第三方软件测试机构进行验收测试?今天&#xff0c;我们就来探讨一下这个问题。 第三方软件测试机构…

python中的nan是什么意思

NaN&#xff08;not a number&#xff09;&#xff0c;在数学表示上表示一个无法表示的数&#xff0c;这里一般还会有另一个表述inf&#xff0c;inf和nan的不同在于&#xff0c;inf是一个超过浮点表示范围的浮点数&#xff08;其本质仍然是一个数&#xff0c;只是他无穷大&…

如何制作自己的网站

制作自己的网站可以帮助个人或组织在互联网上展示自己的品牌、作品、产品或服务。随着技术的发展&#xff0c;现在制作网站变得越来越简单。下面是一个简单的步骤指南&#xff0c;帮助你制作自己的网站。 1. 确定你的网站需求和目标 在开始之前&#xff0c;你需要明确你的网站的…