PX4代码解析:姿态期望生成

本篇文章首发于公众号:无人机系统技术。更多无人机技术相关文章请关注此公众号,有问题也可在公众号回复“加群”进入技术交流群进行交流。另外,想要获取本文算法所在论文的朋友也可以在公众号底部加我微信获取。

引言

关于PX4源码中控制器的设计部分我们前几讲已经对位置控制、姿态控制等核心函数进行了详细分析,逐行解释。今天我们就将剩下的最后一部分内容:位置控制器输出到姿态控制器输入的转换部分做一个解读。

转换部分的函数就一个:

vehicle_attitude_setpoint_s thrustToAttitude(const Vector3f &thr_sp, const float yaw_sp)在Firmware\src\modules\mc_pos_control\Utility\ControlMath.cpp文件中。

我们先贴出此函数的源码:

vehicle_attitude_setpoint_s thrustToAttitude(const Vector3f &thr_sp, const float yaw_sp)
{
  vehicle_attitude_setpoint_s att_sp = {};
  att_sp.yaw_body = yaw_sp;

  // desired body_z axis = -normalize(thrust_vector)
  Vector3f body_x, body_y, body_z;

  if (thr_sp.length() > 0.00001f) {
    body_z = -thr_sp.normalized();

  } else {
    // no thrust, set Z axis to safe value
    body_z = Vector3f(0.f, 0.f, 1.f);
  }

  // vector of desired yaw dir
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值