飞控学习日志1 | px4从1.7.3过渡到1.8.1

写在前面

px4在1.7.3之后有2个稳定版本:1.8.0和1.8.1,其中1.8.0和1.8.1功能上没有什么不同,只不过是修复了几个bug。现分析1.8.1相比1.7.3的变化。

分析

迁移指南

The EKF2 estimator has been the standard for some time and supports flying with vision positioning systems indoors. Users of the LP estimator are advised to upgrade, as LPE is no longer supported/maintained.
扩展卡尔曼滤波器已经成为了室内定位系统的标配,如果你还在用LP估计器的话,我们建议你进行升级,因为我们以后将不再支持LP估计器。
扩展卡尔曼滤波器介绍:https://dev.px4.io/en/tutorials/tuning_the_ecl_ekf.html

Upgrading is advised to latest stable trough QGC.
我们建议你升级到最新稳定版本的QGC地面站。
升级地址:https://docs.px4.io/en/config/firmware.html

新版本的主要特性和改进

Fusion of Visual Inertial Odometry in EKF2 (video)
在扩展卡尔曼滤波器中融合进了视觉惯性里程计。
视觉惯性里程计介绍,类似SLAM :https://zhuanlan.zhihu.com/p/34995102

Interface for external Obstacle Avoidance systems (video)
(提供了)外部避障系统的借口。

Significantly improved performance on racing drones (users need to reconfigure, link)
显著提高了竞速无人机的表现(用户需要重新配置)。
重新配置的教程:https://docs.px4.io/en/config_mc/racer_setup.html

Improved filtering and reduced control latency
改善了滤波效果并降低了控制延迟。

Added Airmode
增加了air mode,当油门过低不足以控制飞行器时,air mode会暂时地增大油门。
air mode 参考:
https://www.youtube.com/watch?v=d2nRrVENEYM

Improved flight performance on VTOL (Tiltrotors, Tailsitters)
改善了垂直起降无人机的飞行表现

Support for building natively on Windows (link)
支持了在windows下的构建

Significant EKF2 improvements
Hardening of the estimator for situations where GPS accuracy is limited
improved sensor selection logic enabling simultaneous use of optical flow and GPS
Added the EKF2_MAG_TYPE parameter for environments with high magnetic interferences
扩展卡尔曼滤波器的显著提升:
对GPS精度受限的情况下的滤波器做了强化
改进了传感器使用逻辑,支持同时使用光流和GPS
针对强磁环境增加了EKF2_MAG_TYPE参数

Wind Estimator
风力估计

Support for structure scanning
支持环境扫描(应该是3D环境扫描传感器)

High Latency telemetry support (Iridium)
支持高延迟

Precision landing framework (including IRLock driver)
精确地着陆框架(包括IRLock传感器)
IRlock,一种红外摄像头:https://irlock.com/pages/useful-links

新支持的硬件

FMUv5: Pixhawk 4 and Pixhawk 4 mini from Holybro and Pixhack v5 from CUAV

Crazyflie 2.0 with optical flow deck
注:一种带光流的小型四旋翼

Omnibus F4 SD
注:一种为竞速无人机设计的飞控板

Snapdragon 8074 with VIO enabled (video, 820 support coming)
带有VIO的高通晓龙处理器8074(820即将支持)

IRLock sensor for precision landing
可以用于精确着陆的红外传感器IRLock

ST LPS22HB barometer driver
一种气压计

Analog devices IMUs (ADIS16477, ADIS16448)
一种IMU

TeraRanger Evo 600Hz support
一种轻型高性能距离传感器

依赖

QGroundControl v3.3.2
MAVLink (d8ea87b9c6173ad72a032219588e302eb8cb212a) https://github.com/mavlink/c_library_v2
Micro Air Vehicle Link是用于与小型无人驾驶车辆通信的协议。

UAVCAN
一种轻量级总线协议,旨在通过CAN总线在航空航天和机器人应用中实现可靠通信。

重要的改进

Manual flight mode for VTOL
垂直起降的手动模式

Battery estimation fixes and improvements
电池(电量)估计改善

Change Log

从 v1.7.3到 v1.8.1修复的Bug

v1.7.4 Beta Release

对所有的载具进行了性能和稳定性上的提升

v1.7.4beta

  • 1.5.5 到 1.6.0rc1之间的版本,无法用pwm应用来测试输出
  • 倾旋翼飞行器的特技模式油门没法拉满
  • 用intel areo的时候笔记本地面站侦测不到气压计
  • 在SITL模拟器中用QGC地面站做auto-takeoff的时候,起飞高度出错
  • 用Logger的时候,出现手动控制丢失
  • position mode1下,尾坐式垂直起降飞机在飞行过程中推力意外地下降
  • 重新启动后,两个Dropix 中连接LSM303D的那个丢失
  • 转换到手动模式之后vtol_att_control模块不运行了
  • 以下修改之后,读第二个GPS实例的时候崩溃。
  • 在用intel aero的时候,电量估计初始化错误
  • 把SDLOG_MODE 设为 2或1,并非所有的参数都被记录了
  • 在 Pixhawk 3 pro上运行landing_target_estimator 的时候,Log文件会毁坏。
  • px4fmu v2 sensor init (again) and cleanup
  • px4fmu-v2 sensor reset
  • land detector 只能用非零的 vehicle_status
  • air_gnd_angle判定条件错误,永远不会返回大于M_PI_F的值,而且把pi/2写成了pi
  • vtol_att update poll fd before poll call,解决「转换到手动模式之后vtol_att_control模块不运行了」
  • 修复GPS报告其速度精度被阻止的问题
  • 在PR aero上面电量估计初始化出错
  • ekf2中的外部视觉旋转矩阵计算错误
  • 将基于推力的负载补偿切换回了线性(本来是二次方,但经笔者测试线性更好)
  • 用STIL测试的时候,在一些竞速比赛中,GPS会出问题。因此将GPS接收器检查用其他的检查取代。
  • 在v1.6.2中用qGroundControl-3.1.3时,运行 fw_pos_control_l1 stop 导致崩溃。
  • fix airspeed subscription and validity check修复空速不能很好地获得最新更新,导致时间戳一直为零的问题。

v1.8.0-beta1

  • 用PX4FW v1.7.4做实验的时候发生了两次硬件故障,PX4重启了。开发人员最终认为这是由于开发者对代码进行的修改造成的,而不是PX4本身的问题。
  • 尾坐式垂直起降飞机任务和position mode有问题,滚转角度没有按期望的那样跑,而是不停地再变号。
  • 即使程序有很严重的警告,飞机的电机还是会启动。2
  • 到设置点的跟踪效果不好,后来发现是MC_AIRMODE设的不对,应该设30Hz,但设成了0。
  • 把子模块nuttx升到了最新版。
  • 给fields_updated添加了压力的微分,为啥要加我没看懂。原问题
  • 固定翼在着陆之前检查prev是否有效。
  • 防止电池过放。
  • 修复飞行检查前没有阻止电机启动。
  • 将之前被注释掉的一行重新启用,这行没有在其他任何地方被使用。
  • 传感器只发布空速,这导致了很多的连续积分错误(Continuous Integration failure)
  • 改变了可能会导致不稳定手动飞行的截止频率,恢复d term过滤器。
  • 修复代码分析工具coverity
  • FW Phantom FPV Flying Wing fix FW_R_RMAX 0

v1.8.0-beta2

  • 修复PX4 SITL catkin 构建失败
  • 修复使用骁龙处理器崩溃的问题。
  • 车辆在地面时,光流EKF2会漂移,且没有流量数据。——这不是Bug,这是小车质量太低导致的。
  • fmuv2内置的HMC5883无法启动。
  • 修复了工具链Cygwin 的一些字体问题。
  • 解决了在服务器Jenkins运行时的栈溢出问题。
  • 修复了航电设备能源检查的类型问题(原来是int,会把4.8V截成4V,现在改成了float就不会这样了。)

v1.8.0

v1.8.1

注释


  1. 什么是position模式?飞机的偏航滚转俯仰都被锁定,只允许操作者通过改变油门来改变高度,飞机的位置由GPS确定。 ↩︎

  2. 什么是arm the motors? ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值