PX4中vtol_att_control 源码解析【补】

本文补充分析了PX4中VTOL的源码,聚焦于fill_actuator_outputs()函数在复合式机型、尾座式和倾转式机型中的应用。在复合式机型中,该函数计算不同飞行模式下的actuator输出。在固定翼控制中,若副翼锁定则输出全部为零,反之仅改变滚转和俯仰输出。对于尾座式,旋翼模式下利用副翼进行偏航控制。倾转式则根据权重调整电机输出。同时,vtol_type.cpp中的update_mc_state()和update_fw_state()分别更新多旋翼和固定翼的实际姿态期望值。
摘要由CSDN通过智能技术生成

VTOL源码分析补充

上一篇大致分析了PX4中对于VTOL的控制策略:

这是开发者讲义中的控制策略流程图

上图摘自开发者Roman Bapst的一篇讲义
其中的VTOL Controller上篇也做了较为详细的图解:
这里写图片描述


补充:

fill_actuator_outputs():

复合式机型(Standard)

函数的主要作用是在各种机型下,计算各种flight_mode下的actuator输出。

multirotor controls:

    // roll
    _actuators_out_0->control[actuator_controls_s::INDEX_ROLL] =
        _actuators_mc_in->control[actuator_controls_s::INDEX_ROLL] * _mc_roll_weight;
    // pitch
    _actuators_out_0->control[actuator_controls_s::INDEX_PITCH] =
        _actuators_mc_in->control[actuator_controls_s::INDEX_PITCH] * _mc_pitch_weight;
    // yaw
    _actuators_out_0->control[actuator_controls_s::INDEX_YAW] =
        _actuators_mc_in->control[actuator_controls_s::INDEX_YAW] * _mc_yaw_weight;
    // throttle
    _actuators_out_0->control[actuator_controls_s::INDEX_THROTTLE] =
        _actuators_mc_in->control[actuator_controls_s::INDEX_THROTTLE] * _mc_throttle_weight;

_actuators_mc_inmc_att_control的计算结果,上述函数的作用是根据权重重新计算期望输出值,同理适用固定翼模式。

各个输出量update_transition_state()计算得到的mc权重

    _mc_roll_weight =
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值