
PX4
文章平均质量分 87
XL__MAX
这个作者很懒,什么都没留下…
展开
-
PX4基础知识0:常见单词含义,待更新...
AUX:Auxiliary channel辅助通道原创 2020-05-25 15:59:12 · 381 阅读 · 0 评论 -
PX4基础知识1:什么是shell脚本?
shell的英文翻译为“外壳、贝壳”,看了更让人糊涂下面我们来看下这张图,可以帮助我们理解这个词语!如果硬件是个公司,系统核心是公司老总,那么shell就像是老总的秘书,应用程序就是客户,shell就是客户递给秘书的书面材料,上面写满了要求,哈哈哈,秘书接收客户的指令,并跟老总沟通,最后给客户答复。最底下是硬件,然后硬件被操作系统核心包住,在系统核心外层的就是shell,然后shell外层的就是我们最容易理解的应用程序,我们平时接触最多的就是应用程序了。看图可知:shell其实是一个命令解释器,它的原创 2020-05-25 14:45:32 · 485 阅读 · 0 评论 -
PX4基础知识2:什么是阻塞函数?什么是阻塞调用?什么是阻塞等待?
阻塞函数是当这个函数不执行完,函数所在线程就一直停止在这里不动。阻塞调用是指调用阻塞函数,调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回。有人也许会把阻塞调用和同步调用等同起来,实际上他是不同的。对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回而已。例如,我们在CSocket中调用Receive函数,如果缓冲区中没有数据,这个函数就会一直等待,直到有数据才返回,当前线程恢复,继续处理各种各样的消息。调用阻塞函数,当前线程挂起开始直到得到结果线程恢复,中间等待原创 2020-05-26 22:44:03 · 818 阅读 · 0 评论 -
PX4源码分析1:如何分析PX4源代码?
问:PX4源代码复杂难懂,如何分析才能让思路更清晰呢?Created with Raphaël 2.2.0分析PX4系统流程图理解每个子模块的角色找到每个子模块对应的文件夹找到子模块的接口子模块接口调用类中的公有函数公有函数调用类中的私有函数私有函数存取处理私有变量结束...原创 2020-04-13 00:45:03 · 1331 阅读 · 0 评论 -
PX4源码分析2:飞控系统控制流程简述
飞控系统控制流程简述Created with Raphaël 2.2.0传感器GPS数据,计算此刻位置采集遥控指令,计算目标位置计算位置差,经PID计算并输出目标角度采集IMU数据,计算此刻角度计算角度差,经PID计算目标角速度采集陀螺仪数据,计算此刻角速度 计算角速度差,经PID计算目标角加速度“角加速度*转动惯量=扭矩”,得到目标扭矩...原创 2020-04-14 03:05:59 · 1298 阅读 · 0 评论 -
PX4源码分析3:attitude_estimator_q(转载)
#include <drivers/drv_hrt.h> //高精度的定时器。 在控制过程中多数环节都是使用经典的PID控制算法为//了获取较为实时的响应最重要的时间变量,这就涉及如何获取高精度的时间问题。pixhawk中就有高精度的RTC(实时时钟),这个//头文件就做了介绍#include <lib/geo/geo.h>#include <math...转载 2020-04-16 18:16:18 · 932 阅读 · 0 评论 -
PX4源码分析4:传感器总误差 = bias静态误差 + corr动态误差
详见中级视频“第六讲-1”的第21分钟原创 2020-04-26 21:41:38 · 1279 阅读 · 0 评论 -
PX4源码分析5:NED->“北东地”坐标系
NED(North East Down)坐标系,即北东地坐标系,简称为n坐标系,也叫做导航坐标系,是在导航时根据导航系统工作的需要而选取的用于导航解算的参考坐标系。NED坐标系各轴的定义:N——北轴指向地球北;E——东轴指向地球东;D——地轴垂直于地球表面并指向下。...原创 2020-04-26 23:29:56 · 3572 阅读 · 0 评论 -
PX4源码分析6:位置结算模块需要掌握哪几个核心点?
核心点1:在北东地坐标系里,如何由准确加速度对飞机的三维速度和三维位置进行估计?核心点2:如图,怎样计算加速度偏差?核心点3:如图,怎样将多个传感器的数据融合在一起?融合的过程是怎样的?...原创 2020-04-27 00:15:11 · 451 阅读 · 0 评论 -
PX4源码分析7:msg消息解读(基于1.8.2版本)待续更...
msg文件夹里共有116个.msg文件、1个CMakelist.txt文件、2个文件夹,如图:原创 2020-04-28 12:38:45 · 1179 阅读 · 0 评论 -
PX4源码分析8:虚拟机中刚刚装好Ubuntu系统,进行初步系统配置
一、安装cmake使用超方便的apt安装cmakeheng@U:~$ sudo apt install cmake安装好后输入:cmake --versionheng@U:~$ cmake --versioncmake version 3.16.3CMake suite maintained and supported by Kitware (kitware.com/cmake)....原创 2020-05-01 03:25:36 · 884 阅读 · 0 评论 -
PX4源码分析9:region `flash' overflowed by 788 bytes,ld returned 1 exit status怎么解决?
编译到98%即将完成的时候突然出现这样的提示,该如何处理?两种解决方法:注释掉不需要的模块和修改默认的Flash大小(推荐)(1)注释掉不需要的模块(2)修改默认的Flash大小里面存放这px4fmu-v2的默认配置。将flash的大小1008k改成2032k;再次编译,顺利通过,生成目标文件...原创 2020-05-02 05:43:06 · 1338 阅读 · 0 评论 -
PX4源码开发10:Ubuntu20.04安装pip过程,待更新...
sudo apt install python-minimalsudo apt install libpython-stdlibsudo apt install python:anysudo apt install python-six原创 2020-05-02 07:17:53 · 1301 阅读 · 0 评论 -
PX4源码分析11:在Ubuntu18.04中安装QGC
推荐网址:https://docs.qgroundcontrol.com/en/getting_started/download_and_install.htmlUbuntu LinuxQGroundControl can be installed/run on Ubuntu LTS 18.04 (and later).Ubuntu comes with a serial modem man...原创 2020-05-06 20:23:49 · 2282 阅读 · 0 评论 -
PX4源码分析12:怎样得到某个版本的PX4源码?(本文以v1.10.0为例)
Get a Specific ReleaseTo get the source code for a specific older release:第一步:Clone the Firmware repo and navigate into Firmware directory:输入下面这两个命令,下载最新的源码,并进入到Firmware文件夹git clone https://github...原创 2020-05-04 04:46:18 · 2072 阅读 · 0 评论 -
PX4源码分析13:Ubuntu18.04中用V3命令编译v1.10.0Firmware时遇到问题
点击目录进行跳转一、遇到如下问题:二、一种可能的解决方案三级目录__init__.py源码备份(必要时恢复)一、遇到如下问题:二、一种可能的解决方案推荐查看网址1:https://ww2.mathworks.cn/matlabcentral/answers/502818-embedded-coder-for-px4-problem-with-building-the-firmware-r...原创 2020-05-04 18:04:01 · 377 阅读 · 0 评论 -
PX4源码分析14:在ubuntu18.04中如何查看python版本及其配置?
终端输入如下:python2 --version#查看python2安装版本python3 --version#查看python3安装版本终端分别显示如下:说明系统默认安装原创 2020-05-04 19:32:56 · 845 阅读 · 0 评论 -
PX4源码分析16:mc_att_control模块讲解,未完待续...
打开mc_att_control.h文件,我们可以看到主要由两个模块组成,一个是声明全局函数,另一个是声明一个类,如下所示:extern "C" __EXPORT int mc_att_control_main(int argc, char *argv[]);class MulticopterAttitudeControl : --- { --- };声明全局函数的目的是告诉编译器,此处为mc_att_control模块的入口;声明类的目的是为上述的全局函数提供服务。我们跳到入口函数的实现部分,原创 2020-05-22 17:03:59 · 1066 阅读 · 2 评论 -
PX4源码分析15:初次编译,No CMAKE_CXX_COMPILER could be found,需要设置环境变量CXX
简略描述:验证nuttx安装完整性第一步:arm-none-eabi-gcc --version第二步:sudo apt install gcc-arm-none-eabi再次编译问题解决详细描述笔者用官方ubuntu.sh配置好编译环境后,初次用“make px4_fmu-v2_default”命令和“makepx4_fmu-v3_default”命令编译1.10.1stb版本的P...原创 2020-05-08 20:18:10 · 943 阅读 · 0 评论 -
PX4运行时,输入top命令,查看系统运行状态
原创 2020-06-13 16:04:30 · 723 阅读 · 0 评论 -
PX4二次开发:机型的添加
PX4源码总会有一些骚操作,比如机型模块,机型文件都在ROMFS/px4fmu_common / init.d / airframes这个文件夹里了。然而这些机型文件的命名看起来乱七八糟的,名字都是以4位或5位数字开头,这是什么意思呢?不慌,我们先打开此文件夹里的CMakeLists.txt文件,内容如下所示,为了便于理解记忆,大部分内容已被删减,只留下了部分主要内容。px4_add_romfs_files( # [0-999] Reserved (historical)" # [1000, 199原创 2020-07-04 21:22:25 · 1050 阅读 · 1 评论 -
自动修复缺少的部分依赖关系
原创 2020-05-04 03:16:57 · 1297 阅读 · 0 评论 -
什么是bash脚本?
请查看原文章:https://www.jianshu.com/p/5568d311fb5a原创 2020-05-03 16:17:12 · 970 阅读 · 0 评论 -
attitude_estimator_q_main.cpp
下面展示一些 内联代码片。/* Copyright (c) 2015 PX4 Development Team. All rights reserved.*//* @文件名 attitude_estimator_q_main.cpp * 基于四元数的姿态估计 * @author Anton Babushkin <anton.babushkin@me.com> */#inc...原创 2020-04-08 22:28:29 · 789 阅读 · 0 评论 -
PX4源码分析__传感器数据“sensor_combined”的来龙去脉
注:本讲解基于V1.10.2源码版本二、“sensor_combined”的发布muorb_test_example.cpp (src\drivers\qurt\tests\muorb) line 47 : orb_advert_t pub_sc = orb_advertise(ORB_ID(sensor_combined), &sc);...原创 2020-04-05 00:26:06 · 755 阅读 · 0 评论 -
PX4源码分析__uorb通信机制__如何发布自己的数据?如何接收?
一、创建流程:1.在Firmware/msg下创建msg文件,例:xxx.msg,内容格式仿照原有msg文件二、使用方式:原创 2020-04-03 03:50:07 · 442 阅读 · 0 评论 -
PX4源码分析__最小应用实例__解读"px4_simple_app.c"
1.如图打开路径找到px4_simple_app.c文件并打开2.该文件中仅有一个函数:3.原创 2020-04-03 03:14:15 · 334 阅读 · 0 评论 -
小白首次PX4源码思路梳理,待更新...
PX4版本:Firmware-1.10.2(ubuntu终端下载)1.我们首先打开Firmware-1.10.2/src/modules/mc_att_control文件夹下的mc_att_control_main.cpp文件2.找到其中的MulticopterAttitudeControl::Run()函数,该函数为该文件的核心函数3....原创 2020-04-02 19:35:26 · 448 阅读 · 0 评论 -
romfs是什么意思?
romfs->Read only memory file system只读存储器文件系统原创 2020-03-26 00:25:52 · 2213 阅读 · 0 评论 -
飞行模式详解
原创 2020-03-20 18:05:42 · 912 阅读 · 0 评论 -
inav是什么意思?
inav是什么意思?inav:integrated navigation组合导航原创 2020-03-20 17:53:59 · 2174 阅读 · 0 评论 -
四元数用于三维旋转的深层解读
根据我的理解,大多数人用汉密尔顿四元数就只是做三维空间的旋转变换(我反正没见过其他用法)。那么你不用学群论,甚至不用复习线性代数,看我下面的几张图就可以了。首先,定义一个你需要做的旋转。旋转轴为向量,旋转角度为(右手法则的旋转)。如下图所示:此图中,&amp;lt;img src="https://pic1.zhimg.com/c089c595ab174b5c6886bfc4285...转载 2020-02-27 23:42:22 · 1297 阅读 · 0 评论 -
飞控中的“DCM”指的是什么??
**飞控中的“DCM”->方向余弦矩阵(direction cosine matrix)**详见中级视频姿态解算部分的pdf原创 2020-02-26 17:55:14 · 1631 阅读 · 0 评论 -
PX4中“req”指的是“require要求”,特指“摇杆要求的数值”
原创 2020-02-23 12:08:25 · 360 阅读 · 0 评论 -
PX4中的部分“int”指的是“integral积分”
PX4中的部分“int”指的是“integral积分”原创 2020-02-22 18:40:53 · 324 阅读 · 0 评论 -
Shell 是什么?
原创 2020-02-20 16:07:47 · 227 阅读 · 1 评论 -
PX4中的缩写“W”指: weight->权重
PX4中的缩写“W”指: weight->权重原创 2020-02-19 21:34:31 · 1168 阅读 · 1 评论 -
PX4简化后的控制数据流
PX4简化后的控制数据流原创 2020-02-12 15:38:30 · 407 阅读 · 0 评论 -
PX4源码编辑->固件编译->下载固件->启动进程->传感器运转->姿态位置->应用
PX4源码编辑->固件编译->下载固件->启动进程->传感器运转->姿态位置->应用原创 2020-02-12 15:13:27 · 349 阅读 · 0 评论