Pixahwk
文章平均质量分 93
_Better__
根深方能叶茂
在等待的日子里,刻苦读书,谦卑做人,养得深根,日后才能枝叶茂盛。
展开
-
pixhawk在linux下的开发环境的安装
pixhawk在linux下的开发环境原创 2016-09-05 22:45:26 · 1467 阅读 · 0 评论 -
pixhawk之NSH调试
一 ardupilot固件windows环境前期准备1:pix烧录程序,Arducopter或者library中的example都可以实现。2:拔掉SD卡(脚本中提到的没有SD卡进入nsh,有SD时进入MAVLINK,因此会出现一段乱码)。step1:连接usb,待音乐想玩后,打开Ter原创 2016-11-20 19:50:25 · 2797 阅读 · 0 评论 -
offboard-control-using-mavros
原文:https://404warehouse.net/2015/12/20/autopilot-offboard-control-using-mavros-package-on-ros/OverviewRecently opensource autopilots have become reliable by various failsafe functions integr原创 2016-11-22 22:46:48 · 1815 阅读 · 0 评论 -
Mavlink协议分析
阿木社区:转载注意出处 http://www.amovauto.comPixhawk/APM都是采用MAVLINK协议实现的飞控的数据链路传输。先简单介绍下mavlink协议。Mavlink协议最早由 苏黎世联邦理工学院 计算机视觉与几何实验组 的 Lorenz Meier于2009年发布,并遵循LGPL开源协议。Mavlink协议是在串口通讯基础上的一种更高层的开源通讯协议,主要应用在微转载 2016-12-26 15:09:35 · 6514 阅读 · 0 评论 -
pixhawk中查看cpu使用情况--top
以往的版本中想查看当前系统运行的进程的情况,或CPU运行性能,只要nsh中输入top指令就行,但是不知道从哪个版本开始top已经不能运行了,这时候应该怎么修改呢?在firmware/src/systemcmds/top/top.c下注释掉这一部分 把新的代码里面的top.c的这一部分删了就可以了。原创 2016-12-26 19:29:31 · 1356 阅读 · 0 评论 -
commander模式切换
根深方能叶茂 在等待的日子里,刻苦读书,谦卑做人,养得深根,日后才能枝叶茂盛。 --Better/阿木社区Commder是Px4源码中的飞行控制命令切换模块,比如由自稳模式切换到,定高,定点,自动模式。所有模式能不能成功切换,都在这个模块中做了相应的飞行条件检查。自稳模式的切换,不需要太多的飞行条件。如果是定高,定点,自动模式,需要很多的传感器数据有效的条件,这就需要很多的检查,只原创 2016-12-26 20:33:57 · 2273 阅读 · 0 评论 -
PX4位置控制offboard模式说明
offboard模式的开发及应用一、px4固件的模式px4固件支持10几种飞行模式,从代码结构上分析,分为基本模式、自定义模式和自定义子模式。1.基本模式基本模式又分为,位置控制模式、自稳模式、手动模式,通常情况下,自驾仪处于自定义模式,目前还没有见过处于基本模式工作的代码,所以暂时不讨论基本模式。 地面站原创 2017-03-13 17:03:43 · 25884 阅读 · 7 评论 -
Nuttx启动
一、Nuttx的启动系统启动后的第一条代码即入口1.1 入口 PX4使用的是STM32,入口自然就在stm32_start.c中:void __start(void){ const uint32_t *src; uint32_t *dest; #ifdef CONFIG_ARMV7M_STACKCHECK /* Set the st转载 2017-09-05 17:03:48 · 1425 阅读 · 0 评论 -
Nuttx启动过程
__start-- #处理器执行的第一条指令 | v stm32_clockconfig()------ #初始化时钟 | v原创 2017-09-05 17:09:05 · 1007 阅读 · 0 评论 -
rcS启动
研究PX4一段时间,发现绕了很大的圈子,分析NUTTX系统是费时费力的,其实大可不必,Nuttx只是一个操作系统,作为飞控程序的载体,实际上我们只需要分析启动脚本就可以了。如何找到启动脚本及前面系统的启动本分的分析,参看一篇博文,写的非常好,在这里谢谢了。http://blog.chinaunix.net/uid-29786319-id-4393303.html 对于os_start原创 2017-09-05 17:05:45 · 1676 阅读 · 0 评论 -
飞控打信息打印
mavlink_log_critical(mavlink_log_pub_local, "HIL platform: Connect to simulator before arming");借助此,可以把飞控打信息印到地面站原创 2017-09-25 16:56:35 · 993 阅读 · 0 评论 -
sdlog2应用分析
该应用的用途是记录飞控飞行日志到SD卡中,日志文件格式与APM二进制文件兼容,但是sdlog2使用强制性的消息时间写时间戳。使用方式每次sdlog2应用开始记录日志的时候,它会在SD卡日志文件夹log中创建一个新的文件夹。如果-t参数选项被设置了,而且GPS时间戳是可获得的,文件夹的名称就是基于当前日期,如log/2015-07-24,否则的话就是被命名为sessXXX(XXX代表一个原创 2016-11-20 19:27:05 · 1341 阅读 · 0 评论 -
Pixhawk-串级pid介绍
在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可贵的是,在我所接触的控制算法当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典。经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的,简单的不是原始的,简单的也不是落后的,简单到了美的程度。现在虽然已经演变出很多智能的算法,如蚁群,神经网络等,感兴趣可以看一下刘金琨老师的《先进pid控制》,但是在原创 2016-09-14 08:25:03 · 25579 阅读 · 9 评论 -
Pixhawk-姿态解算源码注释
通过比例积分控制器把它反馈到陀螺仪,定位估计逐渐被迫跟踪参考向量,这样陀螺的漂移就被消除了。测量从方向余弦矩阵计算出相应的参考矢量的叉积是一个错误的指示。它大约等于这个旋转,将不得不用这个参考矢量和这个计算矢量校准。我们感兴趣的是旋转校正量,这个量我们需要用在方向余弦矩阵中,它等于旋转误差的负值。通过交换叉积的秩序可以很方便的计算修正。原创 2016-09-13 11:10:06 · 9691 阅读 · 2 评论 -
pixhawk开发环境
Windows 7 64bit软件安装首先,需要安装一些软件,CMake、32位的Java jdk以及PX4 Toolchain Installer。 CMake的话笔者使用的是CMake-3.3.2-win32-x86版本。 关于CMake的安装有一点需要注意,在第三步Install Options安装选项中,需要将CMake加入到系统路径中: Java原创 2016-08-29 19:04:55 · 3551 阅读 · 3 评论 -
pixhawk源码下载与编译
pixhawk源码下载 与 编译原创 2016-08-11 17:10:25 · 10292 阅读 · 1 评论 -
pixhawk通信机制
1、PX4/Pixhawk飞控软件架构简介PX4是目前最流行的开源飞控板之一。PX4的软件系统实际上就是一个firmware,其核心OS为NuttX实时ARM系统。其固件同时附带了一系列工具集、系统驱动/模块与外围软件接口层,所有这些软件(包括用户自定义的飞控软件)随OS内核一起,统一编译为固件形式,然后上传到飞控板中,从而实现对飞控板的软件配置。PX4配套的软件架构主要分为4原创 2016-08-10 16:02:11 · 5487 阅读 · 0 评论 -
Pixhawk OSD二次开发,实现界面定制
目前市面所有的飞控osd模块都是起源于google上的minimosd项目。该项目版本截止于12年的2.0。其硬件解决方案是采用atmega328芯片作为主控,配置相当于arduino nano,具有32kb的flash,2kb的sram以及1kb的eeprom;同时采用MAX7456作为字符叠加芯片,7456可以存储16*16=256个字符,针对pal或者ntsc信号完成字符叠加。原创 2016-08-07 15:30:11 · 12323 阅读 · 0 评论 -
commander一点理解
Commmander应用主要负责控制飞行器的模式控制。 下图解释了commander应用的整体架构: Command和subsystem_info是一个缓存值。 这个commander应用有几个循序组成,并且每个循环作为一个独立的线程执行。 1. command_handling_loop:在这个循环里,主要完成将mavlink应用中的mavlink命令转发给command原创 2016-11-30 23:33:53 · 1426 阅读 · 1 评论 -
Pixhawk编译内存溢出
Pixhawk在编译的时候有时候会出现内存溢出的情况,遇到这种情况有以下三个方面可以考虑:1、首先在src/ROMFS/init.d/ 在这里ls一下 有事这里会产生隐藏文件rcS~把这个文件删除掉 就不会内存溢出了2、gcc版本太低 优化不够3、编译脚本中 编译的文件太多,可以适当裁剪原创 2016-12-01 15:50:27 · 2069 阅读 · 0 评论 -
pixhawk串口读取传感器数据
1、 Pixhawk板上串口说明: 测试使用Pixhawk板上TELEM2接口的USART2,对应的Nuttx UART设备文件尾/dev/ttyS2: 2 读取数据测试步骤:在Firmware/src/modules中添加一个新的文件夹,命名为rw_uart在rw_uart文件夹中创建CMakeLists.txt文件,并输原创 2016-12-01 17:21:32 · 5911 阅读 · 0 评论 -
Pixhawk-系统框架梳理
今天先说一下系统框架,之后的整理先说主要的四个文件:姿态的解算和控制,位置解算的控制,这四个文件之所以重点分析是因为他们可以看作飞机协议栈的中间层,向下是一些硬件的驱动drive/和一些命令commander/以及导航navigator/。commander和navigator给出了一些底层的命令和规划,产生一个position setpoint交给位置控制,位置控制根据现在的位置(位置解算)和期往的位置经过串级pid最终产生att_sp期往的姿态,之后姿态控制根据现在的姿态(姿态解算)和期望的姿态经过串级原创 2016-09-12 09:52:01 · 3180 阅读 · 2 评论 -
Pixhawk-信息流浅解析
uORB(Micro Object Request Broker,微对象请求代理器)是PX4/Pixhawk系统中非常重要且关键的一个模块,它肩负了整个系统的数据传输任务,所有的传感器数据、GPS、PPM信号等都要从芯片获取后通过uORB进行传输到各个模块进行计算处理。实际上uORB是一套跨「进程」 的IPC通讯模块。在Pixhawk中, 所有的功能被独立以进程模块为单位进行实现并工作。而进程间的数据交互就由为重要,必须要能够符合实时、有序的特点。 Pixhawk使用的是NuttX实时ARM系统,uO原创 2016-09-13 00:17:52 · 2412 阅读 · 0 评论 -
Pixhawk-姿态解算-互补滤波
终于说到了正题,姿态解算这一部分很重要,主要的基础就是惯性导航和多传感器数据融合,很多公司都在招这方面的人才,如百度的无人驾驶在找传感器数据融合,网易的人机交互工程师也在找这方面的人,因为它是信息流的源泉,准确的姿态信息需要靠他们解算出来才能进行后续的步骤。鉴于加速度计低频特性比较好,因为加速度的角度可以直接算出来,没有累积误差,所以长时间后也比较准。而陀螺仪长时间后由于积分误差的累加原创 2016-09-13 08:49:03 · 23404 阅读 · 20 评论 -
console和nsh的区别
PX4在调试过程中 console口和NSH口原来功能不一样,Console只是负责往外吐数据,比如打印飞控启动的过程,或者输出源码中warnx或者printf这样的打印信息而NSH飞控上电的启动过程并不打印,打印的是飞控启动完成后的输出信息,并且可以通过“help”与飞控交互最重要的是 NSH可以通过help指令交互,而console不行原创 2017-10-13 10:08:17 · 1471 阅读 · 0 评论