
PX4
文章平均质量分 93
csshuke
这个作者很懒,什么都没留下…
展开
-
Px4源码框架结构图
此篇blog的目的是对px4工程有一个整体认识,对各个信号的流向有个了解,以及控制算法采用的控制框架。PX4自动驾驶仪软件可分为三大部分:实时操作系统、中间件和飞行控制栈。1.NuttX实时操作系统提供POSIX-style的用户操作环境(如printf(), pthreads,/dev/ttyS1,open(),write(),poll(),ioctl()),进行底层的任务调转载 2017-12-20 11:04:23 · 1343 阅读 · 1 评论 -
pixhawk commander--navigator--modules之间的联系
commander--navigator是决策部分,处理得到飞行模式和期望导航路线。此blog只是记下commander--navigator--modules之间的联系,从决策部分如何影响控制部分,进而完成任务,此blog不涉及详细的运行细节。1.commander.cpp中通过将遥控信息处理发布orb_publish(ORB_ID(vehicle_status), status_pub转载 2017-12-20 13:53:30 · 530 阅读 · 0 评论 -
Pixhawk原生固件PX4之常用函数解读
PX4Firmware经常有人将Pixhawk、PX4、APM还有ArduPilot弄混。这里首先还是简要说明一下:Pixhawk是飞控硬件平台,PX4和ArduPilot都是开源的可以烧写到Pixhawk飞控中的自驾仪软件,PX4称为原生固件,专为Pixhawk打造。APM(Ardupilot Mega)早期也是一款自驾仪硬件,到APM3.0版本,这款基于Arduino Mega的自转载 2017-12-20 14:10:56 · 4708 阅读 · 3 评论 -
PX4飞控之导航及任务架构
本文重点介绍PX4飞控的Navigator和mission控制框架和逻辑。Navigator导航部分是无人机自主飞行控制的核心所在,其中包括自主起飞、自主降落、自主返航、自主任务以及GPS失效保护等各个部分。搞懂这个部分有助于理解无人机的自主飞行过程,闲话少说,上干货。PX4飞控的整体架构参见Px4源码框架结构图Navigator模块主要功能在于确定任务类型、地理围栏、失效转载 2017-12-20 14:47:33 · 6081 阅读 · 2 评论 -
USB转TTL、USB转串口、USB转232的区别
PO主作为一个没有专业背景的小白,在初玩单片机时曾被上面的几个名词所混淆,不过后来终于大彻大悟,现在把自己的理解写在这里,同样准备入门单片机的小白可以看看,或许对你有所帮助。首先,为什么要进行转换?因为单片机通信接口的电平逻辑和PC机通信接口的电平逻辑不同。有什么不同?PC机上的通信接口有USB接口,相应电平逻辑遵照USB原则;还有DB9接口(九针口),相应电平逻辑遵照RS-232转载 2017-12-20 16:20:49 · 72348 阅读 · 14 评论 -
PX4/Pixhawk---uORB深入理解和应用
The Instructions of uORB『PX4/Pixhawk』 『软件体系结构』 『uORB』 『主题发布』 『主题订阅』1 简介1.1 PX4/Pixhawk的软件体系结构 PX4/Pixhawk的软件体系结构主要被分为四个层次,这可以让我们更好的理解PX4/Pixhawk的软件架构和运作:应用程序的API:这个接口提供给应用程序开发人员,此A转载 2017-12-21 15:28:04 · 1259 阅读 · 0 评论 -
pixhawk/px4如何获取及使用传感器数据
第一步:读取传感器数据上一篇博文已经介绍了如何给pixhawk/px4创建一个应用程序,现在我们在上一个应用程序的基础上使用传感器数据。应用程序为了实现一些有用的功能,需要订阅输入和发布输出(比如电机或舵机输出的命令)。注意在这里,PX4平台真正的硬件抽象的概念在这里体现---当硬件平台或者传感器升级更新,你完全不需要和传感器驱动打交道,也不需要更新你的应用程序或者更新传感器驱转载 2017-12-24 15:57:01 · 1368 阅读 · 0 评论 -
pixhawk自学笔记之uorb学习总结
注:这是看过好多文章总结出来的,转载了较多人的博客,希望有知道原出处的人把地址留下,我贴上来。在此谢谢各位前辈的总结。(我会在后续笔记中贴出在我自己的程序中对于uorb的使用)进程与应用程序(传感器应用程序发送传感器数据到姿态过滤应用程序)之间的通讯是pixhawk软件架构的重要组成部分,进程(即所谓的节点)通过命名的总线交换消息称之为“主题”,在pixhawk中,一个主题转载 2017-12-24 18:44:19 · 1275 阅读 · 0 评论 -
poll()函数详解
poll提供的功能与select类似,不过在处理流设备时,它能够提供额外的信息。 #include int poll(struct pollfd fd[], nfds_t nfds, int timeout); 参数: 1)第一个参数:一个结构数组,struct pollfd结构如下: struct pollfd{ int fd;转载 2017-12-26 20:32:15 · 5841 阅读 · 0 评论 -
Px4源码框架结构图
此篇blog的目的是对px4工程有一个整体认识,对各个信号的流向有个了解,以及控制算法采用的控制框架。PX4自动驾驶仪软件可分为三大部分:实时操作系统、中间件和飞行控制栈。1.NuttX实时操作系统 提供POSIX-style的用户操作环境(如printf(), pthreads,/dev/ttyS1,open(),write(),poll(),ioctl()),进行底层的任务调度。2.PX4转载 2018-01-02 14:38:47 · 1312 阅读 · 0 评论 -
通讯协议MavLink详解
1. MAVLink简介MAVLink(Micro Air Vehicle Link,微型空中飞行器链路通讯协议)是无人飞行器与地面站(Ground Control Station ,GCS)之间通讯,以及无人飞行器之间通讯最常用的协议。它已经在PX4、APM、PIXHAWK和Parrot AR.Drone飞控平台上进行了大量测试。2.发明者Lorenz Meier简介MAVLink的最初开发转载 2018-01-02 14:53:13 · 1368 阅读 · 0 评论 -
pixhawk 整体架构的认识
此篇blog的目的是对px4工程有一个整体认识,对各个信号的流向有个了解,以及控制算法采用的控制框架。PX4自动驾驶仪软件可分为三大部分:实时操作系统、中间件和飞行控制栈。1.NuttX实时操作系统 提供POSIX-style的用户操作环境(如printf(), pthreads,/dev/ttyS1,open(),write(),poll(),ioctl()),进行底层的任务调度。2.PX4转载 2018-01-02 15:01:40 · 868 阅读 · 0 评论 -
pixhawk软件架构
平台支持PX4飞控固件不针对特定的车辆/机体模型进行开发,所以支持的平台的数量是无限的。目前主要有多旋翼、固定翼、垂直起降三类机型的固件。软件结构可分为三大部分:实时操作系统、中间件和飞行控制栈。1.Nuttx实时操作系统 提供POSIX-style的用户操作环境(如printf(), pthreads,/dev/ttyS1,open(),write(),poll(),ioct转载 2018-01-02 15:04:53 · 2036 阅读 · 0 评论 -
pixhawk硬件构架
1.Phxhawk连接线路2.Phxhawk硬件芯片列表处理器 STM32F427 VIT6 (168 Mhz/256 KB RAM/2 MB 闪存 100Pin)32位 STM32F100C8T6 (48Pin)故障保护协处理器 ,平常用来控制输入信号采集(“Big – Little ”架构)晶振 24MHz 精度 15ppm 3325封装 传感器 Invensense MPU6000 三转载 2018-01-02 15:06:07 · 11811 阅读 · 1 评论 -
Pixhawk-姿态解算-互补滤波
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]位置型PID的C语言实现增量型PID的C语言实现积分分离的PID控制算法C语言实现变积分的PID控制算法C语言实现 根深方能叶茂 在等待的日子里,刻苦读书,谦卑做人,养得深根,日后才能枝叶茂盛。 --Better(根爷) 鉴于串级PID在pixhawk系统中的重要性,无论是误差的补偿,如姿态解算;还是控制的实现,转载 2018-01-02 16:16:56 · 4539 阅读 · 0 评论 -
大疆技术总监:如何用六年成为一个全能的机器人工程师
origin: http://www.elecfans.com/app/api/focus/index/id/438628?from=singlemessage&isappinstalled=1大疆技术总监:如何用六年成为一个全能的机器人工程师传感器技术 2016年09月30日 09:52 • 5414次浏览 机器人学的核心问题是做好和物理世界的交互。现在主流的机器人学转载 2018-01-02 16:34:44 · 8884 阅读 · 3 评论 -
Pixhawk原生固件PX4之串口添加读取传感器实现
本博客承接前一篇,对FreeApe的串口添加超声波传感器博文后半部分进行学习。为什么叫前奏呢,因为用了伪传感器,把单片机用串口发送的有规律的数据当作了传感器读取到的数据。但是无碍的。开发环境:Ubuntu Firmware 1.4.1 在无人机运行时,首先是要将应用随系统启动时就启动起来的,且将获得的超声波数据不断的发布出去,从而让其他应用得以订阅使用。这里也使用Pixha转载 2018-01-21 09:56:21 · 1034 阅读 · 0 评论 -
Windows / Ubuntu操作系统下Pixhawk原生固件PX4的编译方法
更新于2017.3.13FAQ本文说明针对 PX4 Firmware 1.6.0问题 1: 找不到python jinja2模块CMake Error at /usr/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:138 (message): couldn't find python module j转载 2018-01-21 10:01:04 · 805 阅读 · 2 评论 -
第一章 PX4程序编译过程解析
版权声明:本文为博主原创文章,未经博主允许不得转载。第一章 PX4程序编译过程解析PX4是一款软硬件开源的项目,目的在于学习和研究。其中也有比较好的编程习惯,大家不妨可以学习一下国外牛人的编程习惯。这个项目是苏黎世联邦理工大学的一个实验室搞出来的。该方案是基于NUTTX系统上开发的。开发系统上面最好使用Ubuntu系统进行开发(开发效率高),程序修改和读写可以用Source转载 2018-01-14 12:49:37 · 2081 阅读 · 0 评论 -
第二章 PX4-RCS启动文件解析
版权声明:本文为博主原创文章,未经博主允许不得转载。第二章 PX4-RCS启动文件解析RCS的启动类似于linux的shell文件,如果不知道shell文件是什么东西可以理解成是为程序的流程框,它是告诉处理器应该怎么样去运行,前一章介绍的是编译成固件这一章节就是真正要运行的东西了。至于PX4系统为什么是运行RCS这个文件而不是其他的文件,这里我们将会在文章末尾进行解析说明。转载 2018-01-14 12:50:58 · 690 阅读 · 1 评论 -
第三章 PX4-SPI底层驱动解析
版权声明:本文为博主原创文章,未经博主允许不得转载。第三章 PX4-SPI底层驱动解析 这一章节我们会对PX4的底层驱动进行解析,我们这里主要解析的是SPI协议,因为这个协议是所有传感器的一个协议,至于IIC和串口就可以类似的读写一下,大家看完这个解析后不妨去试试驱动一下can总线协议。 首先大家是不是觉得奇怪,为什么PX4编译的是一个转载 2018-01-14 12:52:51 · 641 阅读 · 0 评论 -
第四章MPU6000传感器驱动解析
版权声明:本文为博主原创文章,未经博主允许不得转载。第四章MPU6000传感器驱动解析 Mpu6000是一个3轴加速度和3轴陀螺仪传感器,这一章节我们将对MPU6000这个传感器进行解析,依照这个解析步骤同样可以对L3GD20(3轴陀螺仪)、HMC5883(3轴磁力计)、MS5611(气压高度计)程序进行阅读理解,应为这几个传感器同样都是采用SPI协议,这个可以转载 2018-01-14 12:58:32 · 2273 阅读 · 0 评论 -
RTK无人机应用市场
版权声明:本文为博主原创文章,未经博主允许不得转载。RTK无人机应用市场最近几年无人机市场可以说的上是非常火爆的,无人机公司也是数不胜数。无人机的应用场合也是非常之多的,农业、物流、安防、巡航、测绘、航拍等等都得到了非常好的应用。同时无人机市场也催生了许多的配套设备的发展。RTK在工业无人机上的应用就是一个很好的例子,他的精准性可以说的上是相当完美,在固定解状态定位精度是可转载 2018-01-14 13:02:19 · 530 阅读 · 0 评论 -
第五章 PX4-GPS解析
版权声明:本文为博主原创文章,未经博主允许不得转载。第五章 PX4-GPS解析在上一章节我们对传感器MPU6000做了一个解析,MPU6000所支持的协议是SPI。这一章节我们来解析GPS,GPS使用的是串口通信。这里我们着重讲解UBLOX的解析过程,并且会附带串口的解析说明。这一章节完了之后大家有兴趣可以尝试RTK的数据解析,对于RTK我在前面讲到过。首先我们还是转载 2018-01-14 13:13:38 · 2647 阅读 · 0 评论 -
第六章 PX4-Sensors解析
版权声明:本文为博主原创文章,未经博主允许不得转载。第六章 PX4-Sensors解析 这一章节并不难,也很容易理解,但是这一章节有几个函数需要我们去理解一下,所以这里我们这里写一章来说明一下。Sensors是所有传感器进行数据组合,就是拿到传感器的原始数据进行组合在一个结构体中方便订阅使用。 Sensors的启动时在转载 2018-01-14 14:27:48 · 849 阅读 · 0 评论 -
第七章 PX4-Mavlink解析
版权声明:本文为博主原创文章,未经博主允许不得转载。第七章 PX4-Mavlink解析首先我们是还是来说一说mavlink吧。Mavlink协议是无人机的一种开源通信协议。可以理解就是按照一定的格式来发送数据。这一章节涉及到了消息的打包发送和接收解析。 首先我们还是找到入口函数然后回到脚本启动中找到mavl转载 2018-01-14 14:28:40 · 985 阅读 · 0 评论 -
第八章 PX4-SDlog解析
版权声明:本文为博主原创文章,未经博主允许不得转载。第八章 PX4-SDlog解析 这一章节我们对SD存储卡来进行解析。SD卡涉及到log日志,在很多飞行中log文件非常重要的,尤其是新手在炸机过程中有了这些数据我们基本上就能分析出炸机原因。 首先我们还是来找RCS中的sd卡的启动。这里直接贴出来至于原因大家自己分转载 2018-01-14 14:29:34 · 580 阅读 · 0 评论 -
第九章 PX4-pixhawk-姿态估计解析
版权声明:本文为博主原创文章,未经博主允许不得转载。第九章 PX4-pixhawk-姿态估计解析 这一章节我们对姿态估计进行解析,这一章节涉及到算法,主要涉及到的还是DCM(方向余弦)算法。首先我们还从启动文件开始进行讲解。 我们找到rc.mc_apps中,我们可以找到SYS_MC_EST_GROUP的参数为0,所以我们对attitude_estimator_q.cpp转载 2018-01-14 14:30:45 · 1762 阅读 · 1 评论 -
卡尔曼滤波器学习笔记(一)
卡尔曼滤波器的原理及应用最近在学习Probablistic Robotics这本书,获益良多。以前学了概率论和随机过程之后一直觉得这些是虚的,不知道在工程上怎么用,而这本书恰恰就是讲如何把这些概率理论和方差估计应用到工程上去,更确切的说,应用到机器人上去。应用前提算法详细介绍应用举例下一步1.应用前提要应用kalman Filter,首先要有三个前提假设:转载 2018-01-24 14:19:27 · 409 阅读 · 0 评论 -
卡尔曼滤波器学习笔记(二)
扩展卡尔曼滤波器的原理及应用经典的卡尔曼滤波只适用于线性且满足高斯分布的系统,但实际工程中并不是这么简单,比如飞行器在水平运动时有可能伴随着自身的自旋,此时的系统并不是线性的,这时就需要应用扩展卡尔曼滤波(EKF)来解决这种情况应用前提EKF算法详细介绍应用举例下一步1.应用前提与kalman Filter只能应用于线性系统不同,Extended Kalma转载 2018-01-24 14:20:41 · 326 阅读 · 0 评论 -
AHRS(航姿参考系统)和IMU(惯性测量单元)的区别
刚开始的时候我总是搞不清楚AHRS和IMU的区别。。不知道这有什么区别。。后来慢慢的慢慢的,我理解了~AHRS俗称航姿参考系统,AHRS由加速度计,磁场计,陀螺仪构成,AHRS的真正参考来自于地球的重力场和地球的磁场~~他的静态终精度取决于对磁场的测量精度和对重力的测量精度,而则陀螺决定了他的动态性能。 这就是AHRS~在这种前提下。说明AHRS离开了地球这种有重力和磁场环境的时候是没法正常转载 2018-01-24 18:06:46 · 880 阅读 · 0 评论 -
Pixhawk飞控源码目录结构及编译流程分析
http://blog.youkuaiyun.com/xlb7679/article/details/51658956(PS:这是第一次写博客,以前也有记录一些经验总结心得什么的,不过都是手写笔记或者记在word上,csdn看了好久,总觉的只索取不付出心里有些过意不去,以后尽量都写到这吧,也会搬一些以前记在word里的东西过来,大家不要嫌弃就好……)源码目录结构(获取源码的转载 2018-01-25 09:26:48 · 2719 阅读 · 0 评论 -
pixhawk position_estimator_inav.cpp思路整理及数据流
写在前面:这篇blog主要参考pixhawk的高度解算算法解读,并且加以扩展,扩展到其他传感器,其实里面处理好多只是记录了流程,至于里面实际物理意义并不是很清楚,也希望大牛能够指导一下。概述:整个算法的核心思想是由地理坐标系下的加速度通过积分,来获得速度、位置信息;经过2次修正产生可利用的信息,第一次是利用传感器计算修正系数产生加速度的偏差修正加速度,第二次是利用修正系数修正位置;最后转载 2018-01-17 20:55:20 · 947 阅读 · 0 评论 -
如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】
原文出处: 韩昊 作 者:韩 昊知 乎:Heinrich微 博:@花生油工人知乎专栏:与时间无关的故事谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。转载的同学请保留上面这句话,谢谢。如果还能保留文章来源就更感激不尽了。——更新于2014.6.6,想直接看更新的同学可以直接跳到第四章————12转载 2018-01-17 23:01:44 · 322 阅读 · 0 评论 -
PX4 - position_estimator_inav
by luoshi006 欢迎交流~ 个人 Gitter 交流平台,点击直达: 参考: 1. http://dev.px4.io/advanced-switching_state_estimators.html 2. http://blog.sina.com.cn/s/blog_8fe4f2f40102whmb.html0、 概述几种位置估计IN转载 2018-01-17 23:08:20 · 1457 阅读 · 0 评论 -
PX4原生固件,position_estimator_inav解读
版权声明:本文为博主原创文章,未经博主允许不得转载。INAV-----integrated navigation组合导航。对于多旋翼的位置姿态估计系统:PX4原生固件如今已经默认使用EKF2了,另一种情况是 使用local_position_estimator, attitude_estimator_q。对于INAV则已经弃用。所以如果是基础比较好的同仁,可以直接研究EKF2。转载 2018-01-17 23:18:50 · 1141 阅读 · 0 评论 -
Kalman Filter 学习笔记
Intro最近在学习伟大的Kalman Filter,这篇笔记主要是对国外的两篇介绍Kalman Filter的博客的翻译和一些个人理解,博客链接:Kalman Filter For Dummies, How a Kalman filter works。两篇博客的侧重的层次面不太一样,第一篇讲的层次比较浅显但是缺失了一些细节,第二篇讲的很深入但是有些抽象,这篇笔记将两篇博客结合起来,希望可转载 2018-01-26 16:54:45 · 513 阅读 · 0 评论 -
PX4飞控之导航及任务架构
本文重点介绍PX4飞控的Navigator和mission控制框架和逻辑。Navigator导航部分是无人机自主飞行控制的核心所在,其中包括自主起飞、自主降落、自主返航、自主任务以及GPS失效保护等各个部分。搞懂这个部分有助于理解无人机的自主飞行过程,闲话少说,上干货。PX4飞控的整体架构参见Px4源码框架结构图Navigator模块主要功能在于确定任务类型、地理围栏、失效保护,把任务转载 2018-03-06 19:53:43 · 873 阅读 · 0 评论 -
第七章 PX4-Pixhawk-Mavlink解析
第七章 PX4-Mavlink解析首先我们是还是来说一说mavlink吧。Mavlink协议是无人机的一种开源通信协议。可以理解就是按照一定的格式来发送数据。这一章节涉及到了消息的打包发送和接收解析。 首先我们还是找到入口函数然后回到脚本启动中找到mavlink的启动 ,这个找到应该不难吧,前面几章都有这个。这里有一个需要提一下,很多人在后台nsh调试出现乱码需要拔掉SD卡就行了,...转载 2018-03-20 21:32:19 · 1293 阅读 · 0 评论 -
第一章 PX4-Pixhawk-程序编译过程解析
第一章 PX4程序编译过程解析PX4是一款软硬件开源的项目,目的在于学习和研究。其中也有比较好的编程习惯,大家不妨可以学习一下国外牛人的编程习惯。这个项目是苏黎世联邦理工大学的一个实验室搞出来的。该方案是基于NUTTX系统上开发的。开发系统上面最好使用Ubuntu系统进行开发(开发效率高),程序修改和读写可以用Source Insight 。后期的文章将会陆续将软硬件进行开源和分析。PX4的固件下...转载 2018-03-20 21:34:53 · 529 阅读 · 0 评论