机器人动力学(Basic Newton-Euler Mechanics)
文章目录
- 前言
- 重要坐标系
- 刚体运动
- 预备知识
- 移动
- 旋转
- 惯性矩(通常平面刚片且是均质的,则也称为转动惯量)
- 列写动力学方程
前言
为什么要考虑运动学?因为运动学的速度是一个理想化的一个量,让它为0,立马就能为0,然鹅现实中它不可能瞬间就变成0,他还需要制动。另外就是加速度的限制:使得车能在车轮不打滑或者车不会翻过来的情况下在一定时间内达到最大速度。
动力学 隐式表达:
gi(q¨,q˙,q)=0\displaystyle g_i({\ddot q},{\dot q},q) = 0 gi(q¨,q˙,q)=0
动力学 显示表达:
q¨=f(q˙,q,u)\displaystyle {\ddot q}= f({\dot q},q,u) q¨=f(q˙,q,u)
由于高阶导数计算比较困难,这里引入相空间来对其进行简化,类似于非线性规划中的相平面。
重要坐标系
- Inertial frame:固定的全局坐标系
- Translating frame:固定在运动体上的坐标系,原点在质心,但轴平行于Inertial frame
- Body frame:固定在运动体上的坐标系,质点在质心,轴随着质点运动会改变方向
刚体运动
预备知识
角动量:L=r X p(p为O点的动量,r是质点相对O点的位矢)
力矩:N=F X r(F为O点的力,r是质点相对O点的位矢),还等于dL/dt(L为角动量,角动量定理)
A⊆R3A\subseteq {\mathbb{R}}^3A⊆R3代表一个刚体. σ(r){\sigma}(r)σ(r) 代表在 r∈Ar \in Ar∈A的一点的刚体密度,m{m}m AAA的总质量:
m=∫Aσ(r)dr\displaystyle m = \int_A{\sigma}(r) dr m=∫Aσ(r)dr
dr=dr1dr2dr3dr = dr_1dr_2dr_3dr=dr1dr2dr3 代表一个柱状的体积,p∈R3{p}\in {\mathbb{R}}^3p∈R3 表示 AAA的质心, p=(p1,p2,p3){p}= ({p}_1,{p}_2,{p}_3)p=(p1,p2,p3):
由于刚体的内部力相互抵消,外部边界的力的集合可以合成一个力F和力矩N作用在质点p:
移动
刚体不旋转值只移动:动量
由牛二定理:
可以得到六个状态转移方程:
旋转
旋转可以同移动进行解耦,所以现在只在 translating frame中考虑纯粹的旋转运动。E为角动量,则力矩为:
参考角动量定理
参考上面图13.11,旋转角速度:v是单位向量,表示旋转方向,θ\thetaθ表示旋转角度
将此角速度转化成,yaw-pitch-roll形式表示的旋转角速度:
惯性矩(通常平面刚片且是均质的,则也称为转动惯量)
E是整个刚体的角动量
经过以下一系列操作,主要是点乘和叉乘之间的转换:
惯性矩阵3 X 3对称矩阵:
则刚体的角动量:
刚体所受到的力矩:
注意上面求得的惯性矩阵是在translating frame中考虑的,它会随着旋转q的变化而变化:
这里我们将惯性矩阵定义在body frame中,表示成I,则I与I(q)的关系(其中R是body frame到 translational frame的旋转矩阵。):
则刚体所受到的力矩简化为:
如果选择的body frame等于惯性主轴,那么惯性矩阵就简化为:
列写动力学方程
这里假设选择的body frame等于惯性主轴,求得角加速度方程:
结合移动那一节的三个方程,以及角速度和四元数(表示旋转角度)的关系,我们就得到了12个动力学方程:
机器人动力学(Basic Newton-Euler Mechanics)相关推荐
- 机械臂动力学建模(3)- Newton Euler牛顿欧拉算法
Newton Euler算法 参考 思路(参考丁教授第二讲ppt) 矢量在不同坐标系下的转换关系 速度的递推 重心处的力和力矩 力的递推 完整公式 代码 参考 北航丁希仑教授的机器人动力学课件: 检出 ...
- 机器人动力学简化模型(Euler-Lagrange equation)
多关节机器人动力学模型的特点: 1.动力学方程非常复杂,所含项数较多.随着关节的增加,项数呈几何增长. 2.高度非线性. 3.高度耦合. 4.不确定性.负载.摩擦.干扰等随时间变化. n关节非线性串联 ...
- 机器人动力学知识参考资料
1.机器人学 第6章 机器人动力学_图文_百度文库 https://wenku.baidu.com/view/a73172ebbcd126fff6050b82.html?rec_flag=defaul ...
- 机器人动力学与控制_大负载协作机器人难关怎么攻克?3大技术细节解析!
对传统机器人来说,大负载的机器人控制难度会更大,这极大影响了机器人的效率和稳定性. 其主要原因如下: (1)传统的机器人编码器安装在减速机输入侧,但是减速机多少都有背隙,随着臂展的变长,背隙造成末端点 ...
- matlab 求正交补,机器人动力学(一)空间向量(Spatial Vectors)简介
从本文开始介绍用于机器人动力学建模与分析的空间向量方法.本文是对一篇讲义的编译.这篇讲义通过对物体运动和描述方法的分析,引入了一种更为有效的描述刚体运动的方法,这种方法使用的基本工具就是六维的空间向量 ...
- 《机器人动力学与控制》第五章——速度运动学之机械臂的雅各比矩阵 5.0 导言
文章目录 <机器人动力学与控制>第五章--速度运动学之机械臂的雅各比矩阵 5.0 导言 参考文献 <机器人动力学与控制>第五章--速度运动学之机械臂的雅各比矩阵 5.0 导言 ...
- 1. 机器人动力学—动力学的数学基础
1. 引言 这篇文章主要介绍机器人动力学相关的几个基本的数学概念,主要是为后续正式介绍机器人动力学奠定基础,具体内容请参考:古月居
- 【机器人算法】机器人动力学、运动学和基于动力学模型的仿真与控制
文章目录 运动学 机器人运动学参数标定(DH参数标定) 运动学逆解 解析解 数值解 工作空间分析 可操纵性 轨迹规划 路径规划 静力学 动力学 动力学模型 动力学仿真 自由下落 遇到跳床 重力补偿 动 ...
- 机器人动力学简述 Robot Dynamics
机器人动力学有两个问题需要解决: 动力学正问题--根据关节驱动力矩或力,计算机器人的运动(关节位移.速度和加速度): 动力学逆问题--已知轨迹运动对应的关节位移.速度和加速度,求出所需要的关节力矩或力 ...
- Sympybotics机器人动力学符号推导工具箱
Sympybotics Sympybotic是一款使用python语言利用Sympy和Numpy包的开源机器人运动学和动力学的符号推导工具包,在机器人动力学参数辨识中可以用来建立机器人动力学模型,根据 ...
最新文章
- mysql xml生成工具_自动生成po、dao、xml 工具:mybatis-generator
- matlab中float类型的_【Python基础学习】2. 变量、基本数据类型及其转换
- Hibernate.cfg.xml配置文件结构详解
- 对二分法思想的体会 及 结队编程情况汇报
- Maven Assembly Plugin - 如何将Maven工程打成一个可执行jar包
- 15 SD配置-企业结构-分配-给工厂分配起运点
- 7_python基础—while循环应用1-100累加和
- Golang zip 压缩与解压
- 合并报表编制采用的理论_跟我一起学合并报表之——长期股权投资的抵消处理...
- 使用Axure创建iPhone应用程序原型(二)
- linux 命令:chmod详解
- Golang工程师历年企业笔试真题汇总
- 手持6位半电压信号源产品级实现记录(一)
- 【计算机网络】谢希仁笔记 应用层
- 用eclipse和androidstudio和基于高德地图API开发的附近购平台的java服务端和android客户端数据库用mysql包括程序设计图
- mac无法关机_Mac无法关机时该怎么办
- php博客视频教程,ThinkPHP5 博客项目实战视频教程
- 参考文献格式自动生成器
- 软件开发团队必备管理工具
- VS2017 注释快捷键修改
热门文章
- 什么都不必说 Gradle--buildTypes--productFlavors
- JDK1.8源码(二)——java.lang.Integer 类
- 敏捷测试理论以及实践(2)
- Hadoop中通过ToolRunner和Configured实现直接读取命令行动态出入reduce task数量,jar文件等...
- Bootstrap3系列:下拉菜单
- Oracle EBS-SQL (QA-1):检查超出检验周期的检验数据.sql
- apache动态编译/静态编译区别
- sklearn模型预测性能评估(二)
- 神经网络中的激活函数的比较
- Web 趋势榜:上周最有意思、最热门的 10 大 Web 项目 - 210625