在看完px4固定翼的姿态控制代码后,我有几点思考

1.我们知道程序中姿态控制的方法是将控制角度转化为控制角速度。那pitch来说,先求出设定的pitch和当前的pitch的差值(delta pitch)。然后将delta pitch除以时间常数得到目标pitch_rate。接着将目标pitch_rate和当前的pitch_rate做差送入pi+ff控制器,将控制器的输出送入actuator。从而达到控制角度的目的。

2.roll的控制和上面的pitch控制一样。但是raw的控制不一样,因为raw的控制不涉及角度的控制,也就是他没有目标角度值,他只有目标角速度,而这个目标角速度是通过协调转弯方程直接求得的,然后和当前的raw_rate做差送入pi+ff控制器,将控制器的输出送入actuator。我理解控制raw的过程是一个纯粹的速率控制,因为我最后只管速率有没有达到我的设定值,而不去管这个过程角度变化了多少。

3.比较上面两种控制,我发现第一个控制是一个角度+角速度的内外环控制,外环是角度,内环是角速度,最终还是要控制角度。而第二个控制只有一个角速度控制环。

4.还有一点就是第一种控制下目标速度是一个变值,不是固定的,因为角度差在变。而第二个控制中目标速度是一个定值。

5.在说说为什么roll没有角度控制,我觉得因该是飞机在平飞时很少用到rudder,基本只有在转弯时才用到。

6.再说说姿态控制的作用吧:这个程序的作用其实就是起到控制actuator的作用,你给我目标姿态,我就用我的控制算法去达到这个目标,在这个程序中我不管你这个目标姿态是怎么产生的(手动产生还是其他的算法产生)。

关于px4源码中固定翼姿态控制相关推荐

  1. 【PX4-AutoPilot教程-1】PX4源码文件目录架构分析

    PX4源码文件目录架构分析 PX4源代码的结构复杂,这是源代码的总目录结构(以v1.13.0为例): Firmware ├─boards ├─build ├─cmake ├─Documentation ...

  2. px4源码编译之 建立自己的程序模块

    前言:在网上找了一大圈,如何在px4源码examples中添加自己的程序,包括官网那个都没有用,后来发现需要在对应的编译位置对cmake文件进行修改,具体如下: 1.在你想要的位置新建文件夹,建议和你 ...

  3. MXNET源码中NDArray数据的获取和打印

    虽然本人也很想写一个系列的分析文章,奈何水平不足,零零碎碎学到一点就写一点吧 本人是想学习MXNET的源码,首先想要添加一些打印,debug一下,第一个问题是如何在C++源码中打印出NDArray结构 ...

  4. Redis源码和java jdk源码中hashcode的不同实现

    一.redis实际上是使用了siphash 这个比较简单,我说的简单是指redis代码比较少不像jdk一样调用C++代码调用栈非常深. 先看这个rehashing.c 主要就是dictKeyHash函 ...

  5. Caffe源码中io文件分析

    Caffe源码(caffe version commit: 09868ac , date: 2015.08.15)中有一些重要的头文件,这里介绍下include/caffe/util/io.hpp文件 ...

  6. 盘点 HashMap 源码中的那些优雅的设计!

    以下文章来源方志朋的博客,回复"666"获面试宝典 一.HashMap构造器 HashMap总共给我们提供了三个构造器来创建HashMap对象. 1.无参构造函数public Ha ...

  7. rust墙壁升级点什么_分享:如何在阅读Rust项目源码中学习

    今天做了一个Substrate相关的小分享,公开出来. 因为我平时也比较忙,昨天才选定了本次分享的主题,准备比较仓促,细节可能不是很充足,但分享的目的也是给大家提供一个学习的思路,更多的细节大家可以在 ...

  8. 总结|ORB_SLAM2源码中字典使用细节

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前言 前段时间,主要对ORB-SLAM2中字典的训练与使用进行了些研究,关于字典的训练之前也写过一篇文 ...

  9. Android之在BaseAdapter源码中了解观察者模式

    转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/76146635 本文出自:[顾林海的博客] 个人开发的微信小程序,目前功 ...

最新文章

  1. 大白话详解5种网络IO模型
  2. Java接口和Java抽象类
  3. MySql错误处理(三)- 错误处理的例子
  4. 安装 SharePoint 2013
  5. 《MySQL——join语句优化tips》
  6. bulk of the 用法_代词的用法详解:第三部分(不定代词)
  7. navicat存储过程返回值为空_Excel VBA解读(128):Function过程详解——枯燥的语法...
  8. 48.孩子们的游戏(圆圈中最后剩下的数)
  9. c语言string最大长度,求3个字符串中最长单词的长度 求救 会一个的
  10. LabView学习笔记(九):数组与簇
  11. 今日头条php面试经验,「今日头条」前端面试题和思路解析
  12. ediplus 复制编辑一列_Editplus 部分使用技巧(一)
  13. 关于CSS Reset 于Normalize.css
  14. OSChina 娱乐弹弹弹——问世间情为何物,直教人生死相许
  15. 防止恶意刷新页面的Java实现
  16. 什么是CC攻击?CC攻击的防御措施有哪些?
  17. VC欣赏、家人是阻力,极客化、国际化——90后创业生态
  18. far word 远指针
  19. 2017年的端午节祝福语
  20. 【小5聊】使用div+css布局绘制32支球队比赛对阵图,拭目以待冠军花落谁家

热门文章

  1. 怎么把知网CAJ转换成可复制文字的PDF文件
  2. Java程序员必会!java语言的编译命令是什么
  3. 【Zotero更改pdf名字】Zotfile设置
  4. 求职准备:大一到大三,做好五件大事!
  5. opencv - viz 画出SLAM轨迹
  6. Java操作Excel基础--POI之HSSF
  7. 起伏激荡的以太网,抱上这条大腿才能乘风破浪
  8. 编程到底学的是什么,主次又是什么
  9. 屌丝女士的移动生活养成记
  10. 发散性思维工具(思维导图)推荐