根据刚体上若干个点的加速度确定任意点的加速度的方法

本文介绍了一种通过已知刚体上多个点的坐标及加速度来计算刚体加速度和方向余弦矩阵的方法,并提供了MATLAB代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算法思路

在大地坐标系中,刚体上任意点A的位置可以下式表示:

R=R0+r(1)

其中 R0 表示刚体上的基点O在大地坐标系的位置, r 表示向量OA在大地坐标系中的坐标。
假设刚体上有个固连坐标系,那么 R 也可以表示为
R=R0+Tρ(2)

其中 T 表示固连坐标系相对于大地坐标系的方向余弦矩阵。ρ表示 OA 在固连坐标系中的坐标。将上式求两阶导
a=a0+T¨ρ(3)

假设 a0 T¨ 都是未知的,就有12个未知量。只需要知道4个点的坐标以及它们的加速度,利用方程(3),就可以完全确定这12个未知量。

样例

在ADAMS中建立了一个刚体,上面有6个标记点,其中5个用于计算(多余4个点,可以做最小二乘拟合),剩下的一个点作为验证
这里写图片描述

程序

% 点的坐标,需要4个点(任意坐标系,可以是固连或者大地坐标系)
% 对于有多于4个点的情况,利用伪逆,计算得到最小二乘解
% 在ADAMS中建立样例,取坐标和加速度

point1 = [
%   103.6157     340.1818     28.9743
    -46.2203     347.0594     30.3414
    38.3051    231.4121    -104.823
    -5.4705    159.0944   -43.8787
    -64.2436    225.1557    96.2762];
point = [
%   100     350    0
    -50    350   0
    40.97   196.67    -83.69
    0   150   0
    -63  260.32    106.40
    -150  250   0];

% 每个点的加速度,相对于大地坐标系
acc = [
%   -0.3808   -276.9834    142.8849
    5.1513   -256.189    172.1333
    38.5448    398.8363    123.7429
    -3.5535    393.7675    -232.1496
    -50.8528   -168.3864   -347.8126
    5.409   86.118   -5.6344];

%%
syms a11 a12 a13 a21 a22 a23 a31 a32 a33;
A = [a11 a12 a13
    a21 a22 a23
    a31 a32 a33];
syms ax ay az;
a0 = [ax
    ay
    az];
a0 = repmat(a0, 1, 5);

f1 = a0 + A * point' - acc';
vars = [
    a11
    a12
    a13
    a21
    a22
    a23
    a31
    a32
    a33
    ax
    ay
    az];
[A0, b0] = equationsToMatrix(f1, vars);

rlt = pinv(A0) * b0;
rlt = eval(rlt);

a11 = rlt(1);
a12 = rlt(2);
a13 = rlt(3);
a21 = rlt(4);
a22 = rlt(5);
a23 = rlt(6);
a31 = rlt(7);
a32 = rlt(8);
a33 = rlt(9);
ax = rlt(10);
ay = rlt(11);
az = rlt(12);

A = [a11 a12 a13
    a21 a22 a23
    a31 a32 a33];
a0 = [ax
    ay
    az];

% 样例
p_e = [100     350    0];
% a_e = [-0.3808   -276.9834    142.8849];
a_e = a0 + A * p_e';

运行结果
a_e =
-0.3806
-276.9849
142.8870

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值