OLDX-FC开源飞控

1 OLDX-开源多旋翼开发平台项目

OLDX多旋翼开发平台(OLDX-FC)是由北京理工大学自动化学院所属《北理云逸科技》团队开发的一个目前国内最完整的免费开源飞控项目,随着国内开源飞控的逐步发展如匿名、 INF、无名和ACFly飞控的陆续推出,如光流、气压计和GPS等相关算法已经逐步完善,但是相比Pixhawk等国外开源飞控平台的发展和定位仍然有发展空间。OLDX-FC于14年开始对多旋翼飞行器进行研究期间也经历过开源和借鉴的过程,为希望进一步推动国内开源飞控协作开发和 相互学习、相互分享的趋势,团队将该OLDX-FC转化为开源项目,采用自由捐赠的形式继续发展 [捐赠地址](https://user-gold-cdn.xitu.io/2019/1/26/1688aa1c3f3ecb53) 。 项目遵循GPL协议,能自由下载项目PCB进行加工使用但请勿作为商业用途,开源所有飞行控制和组合导航源码,可以进行修改和二次开发。


项目荣誉

项目 奖项 年份
IMAV国际微小型无人机大赛 室外赛第3名 室内最佳自动化 2018
中航工业杯 三等奖 2018
IMAV国际微小型无人机大赛 室外赛第5名 2017
中航工业杯 二等奖 2017
中航工业杯 三等奖 2016

-如果该项目对您有帮助请 Star 我们的项目-
-如果您愿意分享对该项目的优化和改进请联系[email protected]或加入我们的QQ群567423074,加速开源项目的进度-

2 基本功能介绍

OLDX-FC是一个基于STM32F4系列单片机的多旋翼飞控平台,其采用双处理器、双IMU冗余的设计,飞行控制和组合导航分别运行与不同的单片机中基于串口DMA进行高速数据交互 板载两套6轴惯性传感器、1个三轴磁力计、1个气压计并支持外部罗盘接入。组合导航CPU采用UCosII嵌入式操作系统基于卡尔曼滤波算法实现对GPS、光流、UWB和气压计数据的可靠 融合,从而实现室内外可靠的悬停和航线飞行,姿态和高度控制采用自抗扰(ADRC)控制算法实现对外部扰动的可靠控制同时具有响应快、信号跟踪性能好的特点,通过对自抗扰算法 改进实现了基于飞行器轴距、姿态、航向和高度三通道感度和快速调参。飞控在内部封装SDK二次开发接口和部分Demo,能快速实现一键起飞降落,视觉降落,目标跟踪和自主避障, 另外预留多个扩接口能作为地面机器人、无人车和无人船的硬件载体。飞控源码移植了Mavlink航向设置源码能实现基于Qground和MissonPlanner的任意航点、高度和速度的设置, 基于匿名地面站能实现对飞控内部任意融合结果、传感器参数、控制反馈期望和状态信息的实时显示和参数调节,基于板载NRF2.4通讯芯片能与地面手持遥控实现最远900米 的数据交互,实时显示飞行器经纬度、姿态,并对任意参数进行在线设定和修改,免去室外参数调节需要携带电脑和平板的不便。

飞控特性
*UCosII操作系统(正点原子)
*自抗扰姿态控制
*卡尔曼组合导航
*SDK快速开发
*Mavlink航线规划和匿名地面站快速调参
*移动遥控端状态显示和参数在线修改
*GPS导航、视觉导航、自动降落、光流图像定位

飞控性能演示视频连接:
SDK开发演示
室外GPS航线测绘和地面站航点设置
视觉固定目标降落
视觉移动小车降落
室内二维码地标阵列定位
室外光流悬停
室内气压计定高

3 PCB硬件参数

OLDX-FC硬件采用4层板设计,通过外部电源模块进行供电支持2S~4S电池供电,具有最大12路PWM输出4路AD信号输入,板载NRF2.4通讯芯片,预留6路串口1路CAN接口

硬件参数:

项目 参数
处理器 STM32F405RGT6-2
处理器性能 32Bit ARM Cortex-M4 168MH
陀螺仪 加速度计 ICM20602 + LSM6DS33
磁力计 LIS3MDL
气压计 MS5611
预留接口 GPS-1 串口-4 CAN-1 图像-1
PWM 输出通道 8 通道PWM + 4 路AUX
供电 5V输入 IO输出5V
飞行器类型 四旋翼 六旋翼 八旋翼 共轴六旋翼
高度悬停精度 ±0.02m(超声波) ±0.1m(气压计)
位置悬停精度 ±0.2m(GPS) ±0.1m(光流)



飞控外壳:
提供飞控3D打印外壳STL文件,设计为气压计增加缓冲空间并设计了减震球底座。

4 软件说明

OLDX-FC基于C语言和Keil5进行开发,飞行控制部分基于匿名早期裸奔程序架构,采用状态机调度保证不同线程的运行周期, 对其姿态控制部分进行修改,采用SO3下的旋转矩阵求取外环控制误差,姿态内环采用改进ADRC控制器保证对给的角速度的 稳定跟踪;高度控制部分替换原始互补滤波融合算法采用扩展卡尔曼滤波器融合气压计和加速度计,同样使用ADRC控制器控制 高速速度环。位置方面通过串口数据接收组合导航模块解算机体速度和位置,采用位置+速度+加速度三环控制飞行器位置; 通讯方面在保留匿名上位机调参功能外增加2.4G无线通讯,可脱离遥控器采用体感进行飞行器控制,另外移植Mavlink通讯协议实现 与Qground和MissonPlanner地面站的通信,实现室外飞行器航点设置和轨迹显示;增加SDK二次开发接口,封装了多种常用函数,如 速度给定,位置移动给定,航向飞行,图像目标对准,图像目标跟踪,地标引导降落的多个子API,通过简单的流程书写既可以实现 复杂的智能导航、图像导航功能,十分适合于Demo研发、电子竞赛、无人机竞赛和DIY开发中。
组合导航模块基于UCOSII操作系统,基于UKF和KF算法完成GPS、UWB、光流与加速度传感器数据的融合,采用非线性AHRS算法实现 可靠的姿态解算和机体加速度解算,同时预留CAN总线接口方便后续外扩其他传感器数据。



飞行控制模块

项目 参数
姿态解算 互补滤波(匿名)
高度融合 扩展卡尔曼(PX4)/抗差卡尔曼
姿态控制 SO(3)误差(PX4)+PD(角度)+ADRC(角速度)
高度控制 PD(高度)+ADRC(垂直速度)
位置控制 PD(高度)+PID(机体速度)+P(机体加速度)
通讯接口 2.4G无线通讯(匿名+OLDX手持遥控器) 串口数传(匿名+Mavlink)
控制方式 遥控器(PPM+SBUS) OLDX手持遥控器 SDK自主飞行
外部控制信号 4路舵机输出 支持使用飞控姿态控制两轴舵机云台稳相和无刷云台目标跟踪(RobotMaster)
地面站支持 匿名地面站(参数显示+波形显示+参数设置) Qground/MissionPlanner(位姿轨迹显示+航点写入)



组合导航模块

项目 参数
姿态解算 非线性AHRS/梯度下降/扩展卡尔曼/互补滤波(匿名)
位置融合 抗差卡尔曼/无迹卡尔曼(AutoQuad)
传感器接口 GPS(NEO-8M 乐迪迷你)+UWB(INF)+光流(Pixflow/OLDX-AMF)+超声波(串口/PWM)+激光测距仪(VL53L0X)

5 飞控使用教程

5.1 PCB接口说明



接口 说明 支持模块
飞控下载 飞控模块SWD下载口 download_fc模块 C->SCLK D->SWD
导航下载 导航模块SWD下载口 download_stlink模块
导航串口1 GPS和外部罗盘IIC接口 乐迪M8N Mini GPS C->SCL D->SDA
导航串口5 光流传感器接口 Pixflow OLDX-AMF
导航串口3 超声波接口 US100 (串口模式下T->T R->R) 北醒激光测距模块
导航串口4 预留传感器接口
导航CAN 预留CAN总线接口
飞控串口3 图像处理接口 树莓派 Odroid-XU4 (图像处理器需自行供电)
飞控串口1 数传接口 匿名数传 3DR数传 CUAV WIFI数传
PWM1~8 电调接口 400Hz
AUX1~4 电调9~12/舵机控制接口 1俯仰 2横滚 3投递器开关 两轴舵机云台 两轴无刷云台
AD1~4 模拟电压采集接口 压力传感器AD(0~3.3V)
SBUS 接收机接口 天地飞接收机 Futaba接收机
舵机供电选择 R39外部供电 R38飞控供电 (任选一)
供电 采用6P自锁双头端子线与供电模块连续 power模块 +->DC B->蜂鸣器信号 5->5V降压输入



OLDX飞控最少所需配置

模块组合 实现功能
飞控+Power模块 手动飞行/气压定高
飞控+Power模块+光流 手动飞行/气压定高/超声定高/光流悬停/SDK飞行
飞控+Power模块+GPS 手动飞行/气压定高/GPS航线飞行/SDK飞行
飞控+Power模块+GPS/光流+树莓派/Odroid 手动飞行/气压定高/GPS航线飞行/SDK飞行/图像导航/视觉降落



接线示意图

5.2 程序宏定义和飞控配置说明

5.2.1 遥控器通道

通道 功能 通道说明
CH1 横滚通道
CH2 俯仰通道
CH3 油门通道
CH4 航向通道
CH5 SDK模式使能 通道值<1500(关闭自动SDK飞行) 通道值>1500(使能自动SDK飞行)
CH6 返航和自动起飞 通道值<1500(打开AUX3口开关) 通道值>1500(关闭AUX3口开关)
CH7 位置模式 通道值<1500(手动) 通道值=1500(速度悬停) 通道值>1500(位置悬停)
CH8 高度模式 通道值<1500(超声波 气压计自动切换) 通道值=1500(气压计) 通道值>1500(手动)

飞行器解锁上锁:外八遥控操作
飞行中关闭遥控器:自动返航/自动降落/电机急停
自动起飞和智能飞行:CH5>1500 CH6>1500 CH7>1500 CH8<1500 状态下外八解锁 并把油门置于中位(自主飞行中任意遥感不在中位均会进入自主飞行模式, 回复中位后继续执行当前任务。需要取消飞行则保证CH5<1500)
自主任务状态机重置:在飞行器执行自主任务后无论自动降落或者人工打断都需在着陆上锁后保证CH5<1500 CH7<1500
飞行中自动返航:无论在自主飞行或人工遥控飞行中 如果CH6通道值从大于1500切换到小于1500则进入失控策略,过程中可以通过人为遥控打断,并重新进行触发
陀螺仪校准:CH8<1500 时CH7从小于1500到大于1500 快速切换多次
磁力计校准:CH8>1500 时CH7从小于1500到大于1500 快速切换多次,进入模式后BB响持续发声,蓝色1s间隔闪烁

5.3 飞行器配置和控制参数调整说明

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值