机器人的动力学推导方法有很多,常用得有牛顿,拉格朗日,凯恩等方法,接下来,简单说说他们之间的使用。注:这里不考虑怎么来的,只说怎么应用。
参考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机器人速度雅可比矩阵https://www.bilibili.com/video/BV1MP411z7Su/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=c0f0446e22649eeb5ab253cb77c744c7
首先了解一下动力学方程在实际应用中的作用,它是运动学的一个延展,同时它的出现让工程师知道了关节的力矩和关节的速度和角速度关系。那么知道了这个关系有什么用呢?
比如:性能的能耗,振动的分析,精准定位,运动轨迹优化等等,一个具体的实际例子,在工业机器人中,实现高速的点到点之间的移动,要做到平滑的运动,这时就需要考虑到各个关节之间的速度和加速度之间的关系,换一个角度,还可以进行对设备电机的选型和降低成本等。
牛顿欧拉:
牛顿欧拉,顾名思义是分为2个部分,一部分是牛顿方程,一部分是欧拉方程。
同时,刚体的运动 可以描述成:质心的平动和绕质心转动的集合。利用牛顿方程描述平动,用欧拉方程描述转动。平动就是力,转动就是力矩。它们结合了牛顿第二定律(力与加速度的关系)和欧拉方程(力矩与角加速度的关系)。那么什么是平动和转动呢?
平动:质心平动是指物体作为一个整体在空间中的平移运动。比如:一个球在平面上滚动,如果忽略滚动摩擦,球的质心沿着一条直线运动,这就是质心平动,机械臂的末端执行器从一个点移动到另一个点,沿着直线或曲线运动,这就是平动。
转动:转动是指机器人末端执行器围绕某个轴进行的旋转运动。比如,一个球在平面上滚动,球的表面各点相对于球心旋转,这就是转动。机械臂的末端执行器从一个姿态旋转到另一个姿态,围绕某个轴旋转,这就是转动。
eg.(需要进行递推,比如先求1连杆的,在求2连杆的)
这个是常用的动力学方程通式。
拉格朗日方程:
拉格朗日方程大大减少了推导的复杂性,不需要对关节等进行受力分析等操作,就可以进行计算和求出动力学方程。(针对有模型的情况下)
本质是:
拉格朗日方程:
比如想让某一个关节运动,那么就可以使用拉格朗日方程的方式求出关节的力矩。动能包括:平动动能和转动动能
势能:就是常说的重力势能
向心力:向心力(Centripetal Force)是指物体在做圆周运动时,指向圆心的力。向心力是维持物体做圆周运动的必要条件,它使物体不断改变运动方向,但保持速度大小不变。向心力的方向始终指向圆心,与物体的运动方向垂直。
eg.
这里的话,其实很简单的,大部分是公式,就不一一打上公式了,而是用截图的方式进行替代了。
应用的话:可以在程序中加入一个前馈的式子,去控制电机,保证机器的运行。
注意:
还有一点提示一下:就是在手动推导的时候要注意一个点:比如sin(theta)对它进行再一次对时间求导等于啥?
对于凯恩方程来说:(不需要模型)
凯恩方程是一种基于矢量力学的方法,特别适用于处理复杂的多体系统,如机器人、航天器、车辆等。凯恩方程的优势在于它可以直接处理系统的速度和加速度,而不需要显式地计算动能和势能。
eg.
考虑一个双连杆机械臂,每个连杆的质量分别为 m_1m1 和 m_2m2,长度分别为 l_1l1 和 l_2l2,惯性张量分别为 I_1I1 和 I_2I2。连杆的关节角度分别为 \theta_1θ1 和 \theta_2θ2。
首先的话,要求出质心的位置,速度和加速度一些基本的信息,即 之后需要进行对广义惯性力进行求解,广义惯性力包括平动惯性力和转动惯性力。
在力学中,“广义”(Generalized)一词通常指的是将物理量或方程从具体的坐标系或特定的物理量扩展到更一般的形式。广义坐标、广义速度、广义力等概念都是为了描述系统的运动状态和作用力,而不依赖于特定的坐标系或物理量。哎哟,换一句人话就是说,在机器人系统中不需要考虑坐标系在哪里,而是直接定义一个角度,速度,力,坐标等等,可以说是任意的(只要在正常建立的过程中有的),都是广义。
最终可以写成: 之后就可以求出广义力的关系了。
想具体了解的可以看一下:B站刘国军的视频,里面详细的推导了凯恩方程的使用(串并联)
番外:看了一下完整的机器人程序源码,给我的感悟对电机的感悟是一个,如果是以后在做diy的情况下,最好使用FOC算法的无刷电机,这个可以保证速度和位置的闭环,如果可以的话可以使用更高级的电机,伺服电机等。