机器人的动力学——牛顿欧拉,拉格朗日,凯恩

server/2024/9/23 0:51:49/

机器人的动力学推导方法有很多,常用得有牛顿,拉格朗日,凯恩等方法,接下来,简单说说他们之间的使用。注:这里不考虑怎么来的,只说怎么应用。

参考1:4-14动力学分析方法-牛顿—欧拉方程_哔哩哔哩_bilibili4-14动力学分析方法-牛顿—欧拉方程, 视频播放量 8604、弹幕量 13、点赞数 55、投硬币枚数 28、收藏人数 92、转发人数 14, 视频作者 每一天都应不同, 作者简介 ROS1是DCS,ROS2是FCS,相关视频:机器人学 3.6 牛顿欧拉递推动力学算法机器人动力学拉格朗日法详细推导(二连杆机械臂),机器人学 3.3 牛顿欧拉递推动力学算法的前置知识1,欧拉动力学方程的推导,【理论力学】第十二周 惯量主轴与欧拉动力学方程(1),机器人 牛顿欧拉递推 基础 速度分析1,机器人 动力学分析 牛顿欧拉递推法 基础 速度分析2,欧拉运动学方程的推导,4-3二自由度机器人雅克比矩阵计算示例,4-1机器人速度雅可比矩阵icon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1MP411z7Su/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=c0f0446e22649eeb5ab253cb77c744c7

首先了解一下动力学方程在实际应用中的作用,它是运动学的一个延展,同时它的出现让工程师知道了关节的力矩和关节的速度和角速度关系。那么知道了这个关系有什么用呢?

比如:性能的能耗,振动的分析,精准定位,运动轨迹优化等等,一个具体的实际例子,在工业机器人中,实现高速的点到点之间的移动,要做到平滑的运动,这时就需要考虑到各个关节之间的速度和加速度之间的关系,换一个角度,还可以进行对设备电机的选型和降低成本等。

牛顿欧拉:

牛顿欧拉,顾名思义是分为2个部分,一部分是牛顿方程,一部分是欧拉方程。

同时,刚体的运动 可以描述成:质心的平动和绕质心转动的集合。利用牛顿方程描述平动,用欧拉方程描述转动。平动就是力,转动就是力矩。它们结合了牛顿第二定律(力与加速度的关系)和欧拉方程(力矩与角加速度的关系)。那么什么是平动和转动呢?

平动:质心平动是指物体作为一个整体在空间中的平移运动。比如:一个球在平面上滚动,如果忽略滚动摩擦,球的质心沿着一条直线运动,这就是质心平动,机械臂的末端执行器从一个点移动到另一个点,沿着直线或曲线运动,这就是平动。

转动:转动是指机器人末端执行器围绕某个轴进行的旋转运动。比如,一个球在平面上滚动,球的表面各点相对于球心旋转,这就是转动。机械臂的末端执行器从一个姿态旋转到另一个姿态,围绕某个轴旋转,这就是转动。

914acde09f52432d94532543331778bf.png

954e303991944ed58afc7aed4e42af40.pngeg.(需要进行递推,比如先求1连杆的,在求2连杆的)768087aea34b4e1ca52cb80939e8c252.pngc621f830eed146e489cc06ce1668157e.png5e64f7ec7f074ac7984aab30cf94515b.png

819bff1613fc42909b681c5f5f8546e5.png 这个是常用的动力学方程通式。

0c4894575f4c463ba17195434c6a8041.png

b27b4a78863a4aa294c2dcc2677f32e9.png

拉格朗日方程:

 拉格朗日方程大大减少了推导的复杂性,不需要对关节等进行受力分析等操作,就可以进行计算和求出动力学方程。(针对有模型的情况下)

本质是:

1e9da4228dfe49349eeaae209eeaa5d4.png

拉格朗日方程:

ba953fc6320a48a0aae7b46aa763159a.png比如想让某一个关节运动,那么就可以使用拉格朗日方程的方式求出关节的力矩。35d66083a32240719a9db346bfc92752.png动能包括:平动动能和转动动能

9854909e9d2448278b2ffa3a069e07eb.png势能:就是常说的重力势能

9ee3c3298d2e4838987275d3b80d6421.png 向心力:向心力(Centripetal Force)是指物体在做圆周运动时,指向圆心的力。向心力是维持物体做圆周运动的必要条件,它使物体不断改变运动方向,但保持速度大小不变。向心力的方向始终指向圆心,与物体的运动方向垂直。

 eg.

34f9a19f1a644044a819e0ddf04e96d6.png88bc14d165d146ec9588b9b30fbbf0d9.png8c7a64e26b2b49dfa5936437639bfbd6.pnged3dee8bdf04488eb72e3364d33d2723.png

65ea5781f73040c5b2bcd9f087f8af4f.png

这里的话,其实很简单的,大部分是公式,就不一一打上公式了,而是用截图的方式进行替代了。

应用的话:可以在程序中加入一个前馈的式子,去控制电机,保证机器的运行。 

注意:328fbcb292f34579a63c00a90c3ca146.png

还有一点提示一下:就是在手动推导的时候要注意一个点:比如sin(theta)对它进行再一次对时间求导等于啥? 

1f094c1d3c814d70ab729fbd036771c7.png

对于凯恩方程来说:(不需要模型)

凯恩方程是一种基于矢量力学的方法,特别适用于处理复杂的多体系统,如机器人、航天器、车辆等。凯恩方程的优势在于它可以直接处理系统的速度和加速度,而不需要显式地计算动能和势能。0ef1479fc2ef4c8a91e790aa07617004.png b830e10ec7e048f9803dab5a7d55e2ad.png

eg.

考虑一个双连杆机械臂,每个连杆的质量分别为 m_1m1​ 和 m_2m2​,长度分别为 l_1l1​ 和 l_2l2​,惯性张量分别为 I_1I1​ 和 I_2I2​。连杆的关节角度分别为 \theta_1θ1​ 和 \theta_2θ2​。

首先的话,要求出质心的位置,速度和加速度一些基本的信息,即6f9f7058dcfc4b9d9e6c28e195999cb4.png 之后需要进行对广义惯性力进行求解,广义惯性力包括平动惯性力和转动惯性力。

在力学中,“广义”(Generalized)一词通常指的是将物理量或方程从具体的坐标系或特定的物理量扩展到更一般的形式。广义坐标、广义速度、广义力等概念都是为了描述系统的运动状态和作用力,而不依赖于特定的坐标系或物理量。哎哟,换一句人话就是说,在机器人系统中不需要考虑坐标系在哪里,而是直接定义一个角度,速度,力,坐标等等,可以说是任意的(只要在正常建立的过程中有的),都是广义。

148d13a08b1f470fb61fffee68579a3c.png

最终可以写成:01e890d643f64d1fa9948052408fc8e5.png 之后就可以求出广义力的关系了。f400bf7af8cc469fb3e104046daa63c5.png

想具体了解的可以看一下:B站的刘国军老师视频,里面详细的推导了凯恩方程的使用(串并联)

Guojun_Liu投稿视频-Guojun_Liu视频分享-哔哩哔哩视频点击观看Guojun_Liu的全部投稿视频,在这里可以查看Guojun_Liu最新发布、最多播放和最多收藏的视频。icon-default.png?t=O83Ahttps://space.bilibili.com/509190321/video

番外:看了一下完整的机器人程序源码,给我的感悟对电机的感悟是一个,如果是以后在做diy的情况下,最好使用FOC算法的无刷电机,这个可以保证速度和位置的闭环,如果可以的话可以使用更高级的电机,伺服电机等。


http://www.ppmy.cn/server/120550.html

相关文章

掌握MySQL性能监控 · performance_schema 使用快速入门

performance_schema 使用快速入门 在数据库性能调优的过程中,performance_schema 是一个非常有用的工具,它可以帮助我们深入分析 MySQL 内部的性能表现。通过合理使用 performance_schema,我们可以发现数据库中的性能瓶颈并做出优化。本文将…

证券api接口,一个开源Python量化交易平台项目需要考虑哪些方面

炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取…

【HTTP】方法(method)以及 GET 和 POST 的区别

文章目录 方法(method)登录上传GET 和 POST 有什么区别(面试)区别不准确的说法 方法(method) 首行中的第一部分。首行是由方法、URL 和版本号组成 方法描述了这次请求想干什么,最主要的是&…

Homebrew安装与切换下载源

一、安装 1.Homebrew的官网地址 https://brew.sh/zh-cn/ 2.执行命令行安装 /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)” 3.无法连接到https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh的地址 解决…

3. 什么是连接池?为什么使用数据库连接池?

连接池(Connection Pool) 是一种数据库连接管理技术,用于在应用程序和数据库之间管理数据库连接。连接池通过预先创建和维护一定数量的数据库连接,将这些连接放入一个“池”中,供应用程序重复使用。这种方法避免了频繁…

Spring Mybatis 基本使用 总结

1. 简介 Mybatis库可以简化数据库的操作&#xff0c;专注于sql语句。 2.搭建步骤 2.1 在pom.xml引入mybatis <dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.11</version> </dep…

C++11

目录 1.列表初始化 1.1 {}初始化 2.2 initializer_list 2.变量类型推导 2.1 auto 2.2 decltype 2.3 nullptr 3.范围for循环 4.final与override 5.右值引用和移动语义 5.1 左值和右值 5.2 左值引用和右值引用 5.3 右值引用退化 5.4 完美转发 6. 移动构造函数和移…

【Android Studio】API 29(即Android 10)或更高版本,在程序启动时检查相机权限,并在未获取该权限时请求它

文章目录 1. 在AndroidManifest.xml文件中&#xff0c;声明相机权限&#xff1a;2. 在你的Activity中&#xff08;例如MainActivity&#xff09;测试 1. 在AndroidManifest.xml文件中&#xff0c;声明相机权限&#xff1a; <uses-feature android:name"android.hardwar…