
PX4研究笔记
文章平均质量分 88
小方爱自律
多读书,读好书,好读书
展开
-
PX4固定翼调试校准流程及实验相关问题记录分析
pixhawk固定翼调试流程对于px4固件,其对应选择的一般是qgroundcontrol地面站(APM一般使用Mission Planner)。本次调试的固件版本是1.6.5dev(最新的固件并不稳定,可能会有bug)。基本的调试流程如下:刷固件,我们刷的是1.6.5dev版本 选择Airframe,这里我们选择标准的固定翼 遥控器的校准,这里我们选择的是model1(日本手(右手油门)——左手升原创 2017-08-09 01:23:29 · 6824 阅读 · 2 评论 -
mc_att_control源码解析
fc原创 2018-05-19 15:57:19 · 1596 阅读 · 1 评论 -
四元数表示旋转的理解
哈密尔顿为了纪念四元数的发明者哈密尔顿,爱尔兰于1943年11月15日发行了下面这张邮票: 哈密尔顿简直是个天才,哈密尔顿从小到进入大学之前没有进过学校读书,他的教育是靠叔父传授以及自学。他找到了法国数学家克莱罗(Clairaut)写的《代数基础》一书,很快就学会了代数,然后看牛顿写的《数理原理》。在16岁时就读法国著名数学家和天文学家拉普拉斯(Laplace)五册的《天体力学》,他发现拉普...原创 2018-04-25 18:20:30 · 38632 阅读 · 12 评论 -
低通滤波器和高通滤波器的程序实现原理推导
傅立叶变换,拉普拉斯变换和Z变换对于信号分析而言,傅立叶变换是必不可少的,我们都知道傅立叶变换是把系统从时域变换到频域进行分析,那么拉普拉斯变换和Z变换是干什么的?简单的来说,由于傅里叶变换的收敛有一个狄利克雷条件,要求信号绝对可积/绝对可和。对于那些不符合狄利克雷条件的信号该怎么办呢,我们将频域的概念扩展到复频域.首先要说明的是傅立叶变换大致有两种,连续时间的傅立叶变换(CTFT)和离散的傅...原创 2018-04-20 15:33:05 · 41377 阅读 · 3 评论 -
mc_att_control基础知识:向量运算和罗德里格斯旋转
向量的叉乘和点乘在我们的mc_att_control中有我们的向量的点乘和叉乘,一般遇到的都是三维的运算(SO(3)SO(3)SO(3)李群). 向量点乘:假设向量a⃗ =[a1,a2,a3]a→=[a1,a2,a3]\vec{a}=[a_1,a_2,a_3]和b⃗ =[b1,b2,b3]b→=[b1,b2,b3]\vec{b}=[b_1,b_2,b_3],则有:a⃗&n...原创 2018-04-19 19:07:44 · 1019 阅读 · 0 评论 -
PX4源码解读之fw_pos_control_l1
固定翼的位置控制是一个很重要问题,它不同于旋翼的控制,需要对速度和高度进行解耦控制,并且其不能像旋翼那样进行悬停,其转弯的时候有一个转弯半径.本博客不会对源码进行详细的解读,主要是分享一些自己读源码时的资料,自己读的过程中也有注释,想要的同学私信我.话不多说,分享资料!位置控制中的两个算法在固定翼位置控制中,主要涉及到两个控制算法:L1控制和TECS(total energy cont...原创 2018-04-23 21:03:31 · 5400 阅读 · 11 评论 -
安装Mavlink generator出现UnicodeEncodeError错误
最近在看mavlink,在执行官网的操作时出现了问题,问题如下:Exception in Tkinter callbackTraceback (most recent call last): File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1540, in __call__ return self.func(*args) ...原创 2018-03-25 22:37:12 · 573 阅读 · 0 评论 -
px4源码解读之fw_att_control
程序和控制流程个人简单的总结了一下整个程序的流程如下: 整个的控制流程图可以在官网中找到: 源码解读在解读源码之前,需要提几个公式,第一个就是协调转弯中的偏航控制,也就是流程图中为什么输入是空速: ⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪p=ϕ˙−ψ˙sinθq=θ˙cosϕ+ψ˙cosθsinϕr=−θ˙sinϕ+ψ˙cosθcosϕψ˙=gVtanϕ(1-1)(1-2)(1-3)(...原创 2018-03-19 11:30:50 · 2212 阅读 · 5 评论 -
PID控制器及其C++实现
PID控制器原理PID控制器实际上是对偏差的控制,其原理图如下: 其数学的表达如下: u(x)=Kp(err(t)+1T.∫err(t)dt+TDderr(t)dt)u(x)=Kp(err(t)+1T.∫err(t)dt+TDderr(t)dt)u(x)=K_p(err(t)+\frac{1}{T}.\int{err(t)dt}+\frac{T_Dderr(t)}{dt}) 其中:u...原创 2018-03-12 11:34:33 · 17533 阅读 · 4 评论 -
PX4自主飞行相关问题
调试入坑赶在回去之前把10月1日新校区试飞相关问题记录一下。首先是调试相关问题。调试具体流程 在校准遥控器时经常出现校准一半就停止的问题,期初认为是固件问题,换了1.6.5,1.6.3,1.5.5三个固件依然不行,最后发现是由于在校准时必须先将roll改变再进行pitch回中,如果调试再遇到问题,将左右摇杆的校准顺序换一下就行了。一般校准完上电后,电机的电调会慢慢的响,这是正常的,因为电调的信原创 2017-10-03 10:53:37 · 3263 阅读 · 1 评论 -
PX4固件通过UART连接串口读取超声波,和树莓派3通信
添加串口读取程序首先在Firmware/msg文件夹下添加rw_uart.msgchar[5] datastrint16 data#TOPICS rw_uart记住在这一文件夹下的CMakeLists.txt下注册这个msg,添加rw_uart.msg即可。 上面的文件make之后会自动产生rw_uart.h头文件,里面会有结构体rw_uart_s,存取了我们刚才定义的data和datas原创 2017-09-29 21:12:08 · 3622 阅读 · 1 评论 -
Ubuntu16.04下PX4环境快速搭建及uORB通信机制
Ubuntu16.04下的环境搭建之前搭建PX4环境常常编译不通,cmake,gcc,以及交叉编译器gcc-arm-none-eabi的版本问题导致make固件报错,好不容易编译通过了,在进行安装jMAVSim simulator时又出现一些Javaclass没有,很是头疼,现在有好消息了,官网现在提供了安装各种文件的脚本文件了,简直方便的不行,现在具体介绍搭建步骤:1. 注销: su原创 2017-09-02 22:22:01 · 6973 阅读 · 11 评论 -
PX4下载指定版本代码和刷固件的三种方式
由于之前下载的是1.7版本的代码,现在v5版本的px4需要最新的代码固件,因此这里记录一下.查看自己代码版本查看自己仓库代码版本的命令如下:git describe --always --tags输出:v1.7.0-rc3-9-g0e1c7eb我之前是V1.7版本的代码,现在要去做实验,需要1.8版本的代码下载指定版本的代码及错误处理代码有哪些版本可以进官方的Github上看:P...原创 2018-11-10 12:05:01 · 17791 阅读 · 0 评论