20

阿木币

0

精华

130 小时

在线时间

应届白菜

Rank: 1

发表于 2020-8-29 17:56:39 2822 浏览 1 回复

[控制算法] 姿态环发布姿态误差是轴角,乘以增益后可直接得到欧拉...

PX4  V1.8版本中,

mc_attitude_control模块,

做了倾转分离之后,使用姿态误差乘以增益后,得到的应该是角速率期望 _rate_sp

然而,在源码中

/* using sin(alpha/2) scaled rotation axis as attitude error (see quaternion definition by axis angle)
     * also taking care of the antipodal unit quaternion ambiguity */
    Vector3f eq = 2.f * math::signNoZero(qe(0)) * qe.imag();

    /* calculate angular rates setpoint */
    _rates_sp = eq.emult(attitude_gain);

将姿态误差的四元数转换为了轴角表示后,得出的 eq 应该是姿态误差的轴角表示,或理解为用轴角表示的期望期望角速率_rate_sp

然而,在角速率控制环,计算角速率误差时候
    /* angular rates error */
    Vector3f rates_err = _rates_sp - rates;
直接使用了_rates_sp 与 三轴角速率 rates 作差

(从姿态环的代码来看 _rates_sp 应该是一种轴角表示)

那么姿态环的轴角表示的角速率_rates_sp 是怎么转换成 欧拉角角速率的呢??

若有大神能够解答,感激不尽


我知道答案 回答被采纳将会获得4 阿木币 已有1人回答

扫一扫浏览分享
回复

使用道具 举报

114

阿木币

0

精华

142 小时

在线时间

技术大V

Rank: 4

发表于 2020-8-31 16:35:34
不懂帮顶!
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表