概述
文章目录
- 单杆动力学
- 动力学仿真
本篇博文使用simscape对单杆动力学进行仿真。通过使用simscape的使用可以验证动力学模型的正确性。
单杆动力学
因为单杆动力学十分简单这里使用拉格朗日法进行动力学方程的推导。这里直接给出源码。
其中m是质量,假设质量分布均匀,杆长为L,围绕质点的转动惯量为cI,重力加速度为g。
clc
clear
close all
%% 符号方程
syms m g L cI
syms cta d_cta dd_cta
Ep=L/2*sin(cta)*m*g;
Ek=0.5*m*(d_cta*L/2)^2+0.5*cI*d_cta^2;
M=hj(diff(diff(Ek,d_cta),d_cta)*dd_cta-diff(Ek,cta)+diff(Ep,cta))
可以得出,单杆的动力学方程为:
M =
(dd_cta*m*L^2)/4 + (g*m*cos(cta)*L)/2 + cI*dd_cta
动力学仿真
我们首先设置仿真条件。
%% 数据
m=1.234;
g=9.8;
L=2.3;
cI=0.321;
period=0.0001;
t=0:period:5;
f=1/(2*pi);
cta=sin(2*pi*f*t);
d_cta=2*pi*f*cos(2*pi*f*t);
dd_cta=-2*pi*f*2*pi*f*sin(2*pi*f*t);
q=[t;cta].';
torque=double(vpa(subs(M)));
建立simscape模型,如下图。
这里tau2是simsape计算出的关节力矩。
torque是我们根据动力学方程计算出来的力矩。
画出两个数据,如下如:
可以看出两个数据基本完全吻合,但是存在误差,这是由于,我们使用逆动力学计算的时候数据往往是十分精准的,但是simscape是通过正动力学进行关节力矩求解,这个过程十分耗时,因此当算法不同时会精度的差异,因此不完全吻合。
最后
以上就是呆萌眼神为你收集整理的【动力学仿真】基于simscape的单杆动力学仿真单杆动力学动力学仿真的全部内容,希望文章能够帮你解决【动力学仿真】基于simscape的单杆动力学仿真单杆动力学动力学仿真所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复