🥦Python协作运动机器人刚体力学解耦模型

🏈指点迷津 | Brief

🎯要点

🎯腿式或固定式机器人模型 | 🎯网格、点云和体素网格碰撞检测 | 🎯正反向运动学和动力学 | 🎯机器人刚体力学计算 | 🎯编辑参考系姿势和路径 | 🎯软件接口实体机器人模拟 | 🎯三角网格碰撞刚体模拟 | 🎯机器人比例微分积分控制、扭矩控制和速度控制模拟 | 🎯相机、激光传感器、陀螺仪、力/扭矩传感器和加速度计模拟 | 🎯集成ROS模拟 | 🎯运动规划器、约束流形上的运动规划 | 🎯快速轨迹优化 | 🎯实时运动规划 | 🎯解耦规划模型与模拟模型

📜刚体力学用例:Python自行车六自由度飞行器多连接件非线性运动方程模型

🍇Python力学动能势能

粒子 PP 的线性动量定义为:

LP=mvL_P=m v

其中mm是粒子PP的质量,vv是粒子在惯性系中的速度。

类似地,刚体的线性动量定义为:

LB=mvL_B=m v ^*

其中mm是刚体的质量,BB,v^*是惯性系中B质心的速度。

质点 PP 绕惯性系 NN 中任意点 OO 的角动量定义为:

NHP/O=r×mv{ }^N H ^{P / O}= r \times m v

其中rr是从点OO到质量mm的粒子的位置向量,vv是惯性系中粒子的速度。

类似地,刚体 BB 绕惯性系 NN 中的点 OO 的角动量定义为:

NHB/O=NHB/B+NHB/O{ }^N H ^{B / O}={ }^N H ^{B / B^*}+{ }^N H ^{B^*} / O

其中物体绕其质心的角动量为:

NHB/B=Iω{ }^N H ^{B / B^*}= I ^* \cdot \omega

质心关于 O 的角动量为:

NHB/O=r×mv{ }^N H ^{B^*} / O= r ^* \times m v ^*

Python伪代码实现上述动量:

最后,创建组成系统的主体。在这种情况下,系统由粒子 Pa 和刚体 A 组成。

然后,人们可以选择评估系统各个组件的动量或整个系统本身的动量。

粒子 PP 的动能定义为

TP=12mv2T_P=\frac{1}{2} m v ^2

其中mm是粒子PP的质量,vv是粒子在惯性系中的速度。

类似地,刚体 BB的动能定义为

TB=Tt+TτT_B=T_t+T_\tau

其中平动动能由下式给出:

Tt=12mvvT_t=\frac{1}{2} m v ^* \cdot v ^*

旋转动能由下式给出:

Tr=12ωIωT_r=\frac{1}{2} \omega \cdot I ^* \cdot \omega

其中mm是刚体的质量,v*是惯性系中质心的速度,ω\omega是刚体的惯性角速度,I*是中心惯性二元。

势能定义为物体或系统因其位置或排列而拥有的能量。

物体或物体系统的拉格朗日定义为:

L=TVL =T-V

其中T和V分别是动能和势能。

Python伪代码实现:

然后,用户可以确定系统中任意数量实体的动能:

然后可以确定构成系统的任意数量的实体的势能:

我们还可以确定该系统的拉格朗日量:

Last updated

Was this helpful?