
Drone
bbzz2
这个作者很懒,什么都没留下…
展开
-
创建后台程序
在Unix和其他多任务计算机操作系统中,后台程序是指,作为后台进程运行的计算机,而不是由交互用户直接控制。后台程序概念的主要好处是,后台程序可以直接启动,而不需要将其发送到精确的用户或者shell的后台(然而,这不适用于Nuttx),其状态可以在运行的时候,通过shell查询。也可以终止。Step 1: 创建一个小的标准应用根据 FirstOnboard Applica转载 2016-05-09 11:21:44 · 724 阅读 · 0 评论 -
UAV Motor
1.QX-MOTOR www.qxmodel.net QM5006-350KV2. SUNNYSKY www.rcsunnysky.com X4110S-25,:KV340II 3.TATTU provide you with the highest level of perormance and durability GmbH原创 2016-03-11 17:59:24 · 1016 阅读 · 0 评论 -
对MWC重要函数的理解
对MWC重要函数的理解 目录 一、原文件的理解 二、我对main loop()主程序的分析 三、conputeIMU函数以及它调用的估计姿态函数getEstimatedAttitude()函数的分析 四、旋转矩阵求坐标解析 五、计算俯仰角度的依据文件 var script = document.create转载 2016-04-07 15:11:49 · 4966 阅读 · 1 评论 -
MWC气压计定高
写在前面...11. 修正油门...12. BaroPID..2 写在前面之前分析过MWC源码,也写过一些文章对MWC进行简单的分析。但有时候觉得那些文章写的不够详细,即没有针对一个特定的功能进行深入分析。那么今天就来详细分析下MWC气压计定高,也免得自己遗忘。1. 修正油门 在MWC中,气压计直接对油门进行操作:转载 2016-04-07 09:05:56 · 5345 阅读 · 0 评论 -
PIXHAWK 飞控中的EKF姿态估计的欧拉角求解
题主没有说明是原生固件还是APM版的固件,原生固件已经取消EKF姿态解算了,官方解释的原因是占RAM太大。估且就认为你问的是原生固件EKF姿态解算算法的步骤吧,简单的介绍下,看不明白,以及相关理论不清楚的查阅介绍惯性导航的书籍即可,应该没多少人需要真正研究算法的吧~首先是建模,设状态变量,其中w为体系角速度,wa为体系角加速度,ze为重力向量,mu为磁场向量。如果使用惯性矩阵修原创 2016-04-05 15:20:36 · 5983 阅读 · 4 评论 -
Pixhawk基于Radio地面站发送指令
px4原生固件提供offboard飞行模式,Offboard模式是使用外部电脑(软件)与pixhawk相连,并进行控制。在室内室外都可使用该模式,标准代码都是一样的。区别在于使用的坐标系不同以及如何定位(获得位置信息)。飞控和计算机通过使用mavlink协议进行通信,offboard 命令一般发送位置/姿态/速度/加速度 信息给控制器执行。相应的mavlink消息主要是SET_ATTI原创 2016-04-05 14:21:17 · 2513 阅读 · 0 评论 -
姿态和位置,四旋翼的控制流程
姿态和位置计算:EKF位置控制:PID姿态控制:姿态环是直接P控制,姿态率是PID控制。主要是滤波算法和姿态算法还有PID算法。 滤波算法主要是将获取到的陀螺仪和加速度计的数据进行去噪声及融合,得出正确的角度数据。主要采用互补滤波或者高大上的卡尔曼滤波。姿态算法是将获得的滤波后的传感器数据计算得出飞行器自身坐标系与地理空间坐标系的偏差,即欧拉角。 一般采用四元数算法转载 2016-04-05 13:52:24 · 14842 阅读 · 0 评论 -
四旋翼无人机飞行控制算法H∞控制
控制有三个重要环节,一是传感器环节,一是系统与信号建模与辨识,一是控制算法。不基于模型的PID只涉及传感器跟控制算法。基于模型的PID三个环节都要涉及,但人们往往忽略了第二个环节。其实说白了,前两个环节确定了,第三个环节直接就可以反解公式。但事实中却效果不好,为啥呢?最基础的卡尔曼滤波也是三个环节,传感器,确定系统与信号模型,最优估计算法。也是前两个环节确定了,第三个环节直转载 2016-04-05 11:57:47 · 9135 阅读 · 0 评论 -
PIXHAWK进行二次开发
PIXHAWK进行二次开发有改动的话,自己再研究研究吧(后面换cmake编译方式了,改动蛮大)。既然要做开发,第一步就是搭好开发环境,根据我的经验,最好是在linux环境下编译,这样效率会很快,以前在windows下编译,经常40分钟以上,这样就太影响开发了;第二步,大概了解下固件的架构,<img src="https://pic4.zhimg.com/11a转载 2016-04-05 09:28:44 · 5647 阅读 · 0 评论 -
pixhawk代码中关于传感器的一点记录
pixhawk的代码可能不知道从哪开始,我个人是从启动应用的脚本看起的:rcS。这个脚本是操作系统启动以后,具体启动应用的先后顺序,按照这个顺序研究或者修改代码也可以让你理解运行pixhawk代码的飞控的工作流程,比较符合认识事物的过程。rcS会按照一定顺序调用其它脚本,如下面关于传感器的部分,rcS调用rc.sensors脚本。另外,脚本里启动某个程序,如mpu6000 st转载 2016-04-07 15:39:28 · 1319 阅读 · 0 评论 -
PX4调试
PX4 FMU [4] ArduPilotPX4 FMU [4] ArduPilot 1.ArduPilot_main 我们知道,在 C语言中最经典的程序是 “Hello World!”,这应该是我们在 C语言中最早接触的一个程序了。而在单片机中,最经典的一个程序当属 LED了。那么这里我们为什么不去分析 “Hello World!”或者是分析 LED呢转载 2016-04-07 09:47:52 · 1751 阅读 · 0 评论 -
Crazypony四轴飞行器
概述说明这是Crazepony微型四轴飞行器飞控代码,未使用实时操作系统。使用Keil 5进行编译开发,使用UTF-8编码。更详细的开发操作,见Crazepony百科的开发指南。配合Crazepony微型四轴遥控器代码crazepony-remote-none使用。https://github.com/Crazepony/crazepony-firmware-none该代码转载 2016-04-15 09:12:26 · 2624 阅读 · 0 评论 -
订阅传感器数据
/**************************************************************************** * Name: nsh_main ****************************************************************************/int nsh_main转载 2016-04-07 10:06:09 · 3446 阅读 · 0 评论 -
Pixhawk—添加一个自定义传感器—超声波(串口方式)
PX4/Pixhawk(10) Pixhawk—添加一个自定义传感器—超声波(串口方式)1 说明 首先超声波模块是通过串口方式发送(Tx)出数据,使用的模块数据发送周期为100ms,数据格式为:R0034 R0122 R0122 R0046 R0127 R0044 R0044 R0125 R0034 R0037 R0041转载 2016-01-28 18:02:45 · 3047 阅读 · 0 评论 -
Ubuntu下编译 ArduCopter
ardupilot线程理解 理解ArduPilot的线程当你开始学习ArduPilot的基础库的时候,你最好能理解ArduPilot是怎样处理线程的。代码里的 setup()/loop() 结构继承自arduino,肯能个看起来更像一个单线程系统,事实上不是这样的。 ArduPilot的线程方法依赖于它运行的硬件平台情况。在一些板子如APM1和转载 2016-04-07 15:42:49 · 2922 阅读 · 0 评论 -
Pixhawk---通过串口方式添加一个自定义传感器(超声波为例)
PX4/Pixhawk(10) 目录(?)[+]Pixhawk添加一个自定义传感器超声波串口方式说明读取数据测试发布超声波的数据1 定义主题和发布主题2 测试发布的主题订阅主题3 加入系统启动脚本Pixhawk—添加一个自定义传感器—超声波(串口方式)1 说明 首先超声波模块是通过串口方式发送(T转载 2016-01-15 13:50:03 · 2523 阅读 · 0 评论 -
Shell编写
Shell脚本初步认识与编写 综述篇---怎样写Shell第一行:#!/bin/sh它通知系统以下的Shell程序使用系统上的Bourne Shell来解释第二行:# 注释中写入脚本名第三行:# 注释中写入脚本功能cygwin简介---在Windows下开发linux程序软件下载:cygwin的官方网站:www原创 2016-04-21 16:08:32 · 584 阅读 · 0 评论 -
apm-rover主程序分析
apm-rover主函数 void fun() __attribute__ ((noinline));//fun函数不能作为inline函数优化 // Radio setup: // APM INPUT (Rec = receiver) // Rec ch1: Steering // Rec ch2: not used // Rec ch转载 2016-05-15 22:12:01 · 2260 阅读 · 0 评论 -
第四部分 串行接口UART和Console
第四部分 串行接口UART和Console 详细参考:http://dev.ardupilot.com/wiki/learning-ardupilot-uarts-and-the-console/ UART很重要,用于调试输出,数传、GPS模块等。1、5个UART 目前共定义了5个UART,他们的用途分别是: uartA转载 2016-05-03 09:42:14 · 5495 阅读 · 1 评论 -
pixhawk-----mavlink
mavlink协议一帧数据的长度为8到263个字节。其具体的解析如下所示:字节的索引 值 含义 0 0xFE(V1.0) 帧头,表示一帧数据的开始 1 0 ~ 255 表示有效转载 2016-01-28 17:45:22 · 2112 阅读 · 0 评论 -
Pixhawk飞控系统之uORB深入解析
Pixhawk飞控系统是基于ARM的四轴以上飞行器的飞行控制器, 它的前身是PX4-IMU,Pixhawk 把之前的IMU进行了完整的重构,最新版本是2.4.3。而对应的Pixhawk 1.x版本与2.x版本的区别在于,I/O板与FMU是否整合在一起。uORB是Pixhawk系统中非常重要且关键的一个模块,它肩负了整个系统的数据传输任务,所有的传感器数据、GPS、PPM信号转载 2016-02-24 10:24:28 · 3457 阅读 · 0 评论 -
创建后台程序(应用)
在Unix和其他多任务计算机操作系统中,后台程序是指,作为后台进程运行的计算机,而不是由交互用户直接控制。后台程序概念的主要好处是,后台程序可以直接启动,而不需要将其发送到精确的用户或者shell的后台(然而,这不适用于Nuttx),其状态可以在运行的时候,通过shell查询。也可以终止。Step 1: 创建一个小的标准应用根据 FirstOnboard Applica转载 2016-02-24 09:43:12 · 797 阅读 · 0 评论 -
安装debian7.8后的初始工作
1 isnot int the sudoers file2 更新debian的镜像源(因为初始状态并没有vim,所以采用vi编辑)3 安装vim编辑软件,安装前一定确定镜像源更新过,即sudo apt-get update4 Linux下获取IP地址5 安装Windows与Linux共享的Samba软件/*********************************转载 2016-03-01 11:53:13 · 594 阅读 · 0 评论 -
Pixhawk---超声波模块添加说明(I2C方式)
版权声明:本文为博主[原创]文章,未经博主允许可以转载,注明博客出处:[http://blog.youkuaiyun.com/FreeApe]目录(?)[-]说明模块连接说明相关资料1 说明 在Pixhawk的固件中,已经实现了串口和i2c的底层驱动,并不需要自己去写驱动。通过串口的方式添加超声波的缺点是串口不够,不能添加多个超声波模块,此时需要用到i2c转载 2016-01-29 10:53:10 · 4133 阅读 · 1 评论 -
RTEMS POSIX API 用户指南
RTEMS POSIX API 用户指南posix_users.RTEMS_POSIX_API用户指南.双语.V20131224.pdfRTEMS 的posix_users文档的原创翻译。RTEMS 文档一共有12篇,我已经译了8篇,有两篇没有翻译价值,还有两篇没有译,暂时也不会译了。这是最后一篇。目录前言 27致谢 271 进程创建和执行管理器 291.转载 2016-01-28 17:58:01 · 1162 阅读 · 0 评论 -
Mavlink 协议硬解析主要代码
2013-08-16 11:26 1744人阅读 评论(1) 收藏 举报[cpp] view plaincopyint MAVLinkProtocol::ParseMsg(BYTE arMsgBuf[], MSGVALUE *pMavMsg, CString &strMsgText) { // Function转载 2016-01-28 17:56:12 · 1196 阅读 · 0 评论 -
RTEMS 安装脚本
(嵌入式 实时操作系统 rtos rtems 开发环境 交叉工具链 shell脚本) RTEMS 安装脚本rtems_building_v10.sh转载请注明出处:http://blog.youkuaiyun.com/zhumaill/article/details/21478895#!/bin/bash #rtems4.11在linuxmint-16-cinna转载 2016-01-28 17:54:57 · 885 阅读 · 0 评论 -
NuttX 安装脚本
NuttX(5) 作者同类文章X版权声明:本文为博主原创文章,未经博主允许不得转载。(2014年4月12日修改)(嵌入式 实时操作系统 rtos nuttx 开发环境 交叉工具链 shell脚本)NuttX 安装脚本nuttx_building_v12.sh转载请注明出处:http://blog.youkuaiyun.com/zhumaill/a转载 2016-01-28 17:51:24 · 965 阅读 · 0 评论 -
NuttX
(嵌入式 实时操作系统 rtos nuttx 7.1 stm32 源代码分析)NuttX 启动流程转载请注明出处:http://blog.youkuaiyun.com/zhumaill/article/details/23261543__start-- #处理器执行的第一条指令 | v转载 2016-01-28 17:47:24 · 1513 阅读 · 0 评论 -
pixhawk学习笔记
最近转到无人机领域的开发中,感觉和以往搞android驱动差别比较大,以前搞android驱动的时候网上的资料满天飞,但是现在关于飞控相关的资料却少之又少,一些资料都是从原理上入手,讲的是天花乱坠,看半天也不知所云,我打算从实际应用的角度来记录我飞控代码的学习之路,希望我能坚持下来。首先看一下飞控代码的组成架构:飞控代码以nuttx实时操作系统为核心, 驱动层通转载 2016-01-28 17:43:45 · 1483 阅读 · 0 评论 -
四旋翼飞行器 四元数和欧拉角的关系 与 姿态解算
版权声明:本文为博主原创文章,未经博主允许不得转载。这篇博客应该在一年前,做四轴毕设的时候写的.结果一直拖到现在...有问题请回复评论,然后邮箱提醒我回复,550746284@qq.com 私信不回。。。一年前的时候关于四元数和姿态解算的中文资料还不多,至少我是找了很久才有那么点真正有价值的资料.今年又很多学生做四轴相关的毕业论文,所以我希望这篇文章能够整合一些现有的资转载 2016-03-01 13:48:13 · 6189 阅读 · 5 评论 -
[转]国内各地图API坐标系统比较与转换
一、各个坐标系的概况 众所周知地球是一个不规则椭圆体,GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定。 基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的基准面。基准面是在椭球体基础上建立的,椭球体可以对应多个基准面,而基准面只能对应一个椭球体。意思就是无论是谷歌地图、搜搜地图还是高德地图、百度转载 2016-03-02 09:12:34 · 1066 阅读 · 0 评论 -
Building for Bebop on Linux
Building for Bebop 2Content (Show)Building ArduCopter for Bebop 2Uploading the FirmwareStarting ArduPilotLaunch Copter at startupRecoveryFlying and RC over UDPBasic configuration and fra转载 2016-03-02 14:34:36 · 1527 阅读 · 0 评论 -
进程间通讯的开发者指南
进程/应用之间的通信(例如将传感器应用的传感器数据发送到姿态滤波应用)是PX4软件架构的关键部分。进程(通常又被叫做节点(node))通过命名为总线(buses)进行消息交换的过程被称作订阅主题(topics)。在PX4中,一个订阅主题仅包含一个消息类型,比如vehicle_attitude订阅主题传输一个包含姿态结构(滚转、俯仰和偏航估计)的消息。 节点可以在总线/订阅主题转载 2016-02-24 09:41:40 · 684 阅读 · 0 评论 -
软件架构
PX4 在广播消息网络内,按照一组节点(nodes )的形式进行组织,网络之间使用像如“姿态”和“位置”之类的语义通道来传递系统状态。软件的堆栈结构主要分为四层:应用程序接口:提供给app开发人员,使开发人员可以使用ROS 或者DroneAPI。这一接口设计尽可能简洁和扁平,并尽量多的隐藏复杂性。 应用框架:这是一组核心缺省应用程序(节点),运行核心的飞行控制。 函数库:这一转载 2016-02-24 09:38:35 · 1011 阅读 · 0 评论 -
Mavlink地面站编写--协议分析
Pixhawk/APM都是采用MAVLINK协议实现的飞控的数据链路传输。先简单介绍下mavlink协议。Mavlink协议最早由 苏黎世联邦理工学院 计算机视觉与几何实验组 的 Lorenz Meier于2009年发布,并遵循LGPL开源协议。Mavlink协议是在串口通讯基础上的一种更高层的开源通讯协议,主要应用在微型飞行器(micro aerial vehicle)的通讯上。转载 2016-03-30 10:24:42 · 2932 阅读 · 1 评论 -
基于EasyDarwin远程视频传输
在无人机的远程视频传输方面,目前可以采用的就是用4G网络来完成视频的传输。把实时采集到的视频流推送给转发服务器,地面站再从转发服务器获取视频流,因为目前的网络条件和硬件编码压缩的原因,会有1S-3S左右的延时。目前的基于4G网络,还没有很低延时的技术。所以这种模式远程视频传输并不适合于向多旋翼这种实时性要求很高的场合,比较适合于地面车辆,或者需要视频监控的场合。其实在Mission P转载 2016-03-30 10:19:21 · 1520 阅读 · 0 评论 -
pixhawk 编译开发环境
pixhawk Pixhawk是现在最新出的一款开源飞控硬件,是由飞控硬件厂商3DR生产的,其前身是APM,由于APM的处理器接近负荷,无法处理更加复杂的运算,之后推出了PX4系列,采用的是32位的STM32处理器,他分为飞控处理器PX4FMU(STM32F427)和输入输出接口PX4IO(STM32F103)。最新的pixhawk是整合了PX4的两块处理器在一块板上。转载 2016-02-02 15:28:23 · 3936 阅读 · 0 评论 -
pixhawk飞控架构
pixhawk 学习总结2Pixhawk编译环境搭建好,接下来就是要看APM源码了。介绍给大家一款非常好用的程序编辑器软件source insight,在windows下看源码是最好不过了。飞控系统是一套庞大的系统,要理解一整套的流程的话,是要经过一番折腾才行。我的角度是用linux的分层架构去分析的,接下来就是我看代码所理解和整理的飞控架构。飞控架构分为3层:飞行控制转载 2016-02-02 15:25:15 · 3502 阅读 · 0 评论 -
(嵌入式 实时操作系统 rtos nuttx 7.1 stm32 源代码分析)
(嵌入式 实时操作系统 rtos nuttx 7.1 stm32 源代码分析)为什么 __start 是处理器执行的第一条指令?转载请注明出处:http://blog.youkuaiyun.com/zhumaill/article/details/23426605在《NuttX 启动流程》一文中提到, __start 是处理器执行的第一条指令。那么,为什么在 NuttX 中 __sta转载 2016-02-02 09:50:01 · 3387 阅读 · 0 评论