当前位置: 首页 > article >正文

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

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

参考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.kler.cn/news/315267.html

相关文章:

  • C++ —— vector 的模拟实现
  • 【计算机网络】运输层协议解析
  • Flutter - Win32程序是如何执行main函数
  • jmeter得到的文档数据处理
  • 后端接收数组,集合类数据
  • 数据结构之算法复杂度
  • 基于BiGRU+Attention实现风力涡轮机发电量多变量时序预测(PyTorch版)
  • 软考中级软件设计师——数据结构与算法基础学习笔记
  • 【图灵完备 Turing Complete】游戏经验攻略分享 Part.5 编程
  • 【若依RuoYi-Vue | 项目实战】帝可得后台管理系统(二)
  • Linux自主学习篇
  • oracle中NUMBER(1,0)的字段如何映射到c#中
  • 【设计模式-适配】
  • SSC377/D, 5M30 64/128MB, 1Tops1. 支持双摄,甚至三摄;2. 夜视全彩;3. 省内存、省带宽;4. 算力较大,适合新的算法模型;
  • 图像处理与分析
  • Spring的任务调度
  • 怎么在路由器上使用tcpdump抓包
  • Redisson 分布式锁的使用详解
  • Vue3中shallowRef和ref区别
  • 确保在AWS上的资源安全:构建坚不可摧的云安全防线
  • C++ prime plus-2-编程练习
  • 解决 Torch not compiled with CUDA enabled 问题 | MiniCPM3-4B 【应用开发笔记】
  • Android 短信验证码自动填充
  • Unity 设计模式 之 创建型模式 -【单例模式】【原型模式】 【建造者模式】
  • 【力扣】2376. 统计特殊整数
  • Linux:虚拟文件系统/proc和self进程
  • 某招标公告公示搜索引擎爬虫逆向
  • git配置SSH
  • 第二届Apache Flink极客挑战赛冠军比赛攻略_SkyPeaceLL队
  • 安卓开发,插件化换肤思路