************************************************************************************************** 固件有区分硬件,请不要刷错!! ArduPlane_FMU_V3.apj :是给Pixhawk/Pixhack V2,V3/Pixraptor飞控 ArduPlane_FMU_V5.apj :是给F7(STM32F7),Pixhawk4 ArduPlane_Pixracer.apj :是给PixRacer飞控 ArduPlane_F4BY_2M.apj :是给F4BY飞控,注意:这个是2Mb的MCU版本,使用旧板玩家请连系卖家更换新的MCU. ArduPlane_PH4_mini.apj :是给Pixhawk4-Mini飞控 ArduPlane_CUAV_V5.apj :是给CUAV V5飞控 ArduPlane_CUAV_V5_Nano.apj :是给CUAV V5 Nano飞控 ArduPlane_CUAV_X7.apj :是给CUAV X7 飞控 ArduPlane_CUAV_Nora.apj :是给CUAV Nora 飞控 ArduPlane_SAU2.apj :是给UAV-AI的SAU-II飞控 ArduPlane_CubeOrange_H7.apj :是给赫星H7(STM32H7)Pixhawk2 Cube(橘色),注:USB无法连线请看底下注意事项5 ArduPlane_CubeBlack.apj :是给赫星Pixhawk2 Cube(黑色),注:USB无法连线请看底下注意事项6 ArduPlane_QioTekZealotF427.apj :是给穹人2飞控用的 注意: 1.不再支持及编译*.PX4固件,将全面改用ChibiOS取代Nuttx. 2.V4(PixRacer)是迷你板(穿越机用的),只有6个PWM无法用在VTOL,但可以用在Tailsitter(尾坐式). 3.前面有 "*" 字符的更新表示群固件才有,官方暂时没有. 4.版本识别码会出现在MP地面站的左上方,可以知道目前使用那个版本. 5.如果USB无法连线或找不到驱动,最简单的排除方法是移除Mission Planner,再到 http://firmware.ardupilot.org/Tools/MissionPlanner/ 下载MissionPlanner-latest.msi(最新) 就会自动上网安装最新驱动了(如果Windows不是正版,可能Windows自动更新会有问题,这个请自己解决) 如果都正常会看到ProfiCNC CUBE F? 的USB串口(而非显示旧的CubeBlack或CubleOrange)出现. 移除MP重装后请到MP的[帮助]页按右下角的[检查测试版升级],以更新MP到最新版本(否则有些模式 ,例如旋翼自动调参会没有) 6.新固件(2020-04-16之后)将不再支持Pixhawk1_1M(1Mb Flash Bug)旧版飞控硬件. ************************************************************************************************** 固件名称:ArduPlane-20201016 (V4.1.0-DEV) 版本识别码:937d7bf3 ================================================================= 1.同步官方代码 .修正了EKF2和EKF3使用高精度GPS模块时的问题,这对于任何使用RTK GPS飞行的人来说都很重要。 .修正了任何使用中断时序测量的传感器的中断问题,如转速传感器。 .修改了RM3100羅盤驱动程序,以解决所有4个可能的I2C地址的问题。 .Q_OPTION(bit12) 沒有安裝空速計禁用失速保護. .修正了沒有遙控器輸入時,SBUS OUT錯誤的問題. *2.修正 Q_RTL_LOIT_RAD(返航自動繞圈的半徑) 無效的問題. 固件名称:ArduPlane-20200914 (V4.1.0-DEV) 版本识别码:2bc7d17e ================================================================= 1.同步官方代码 *2.修正某些硬件(Pixhawk/CUAVv5)启用不了TERRAIN_ENABLE=1(仿地)的问题. *3.新增参数 Q_ASSIST_QRTL_KM 如果救机保护为QRTL(Q_ASSIST_ALT_MOD=21 或 Q_TRANS_FAIL_MOD=21), 当离家距离超过此设定的公里数则模式变为QLAND(原地自降). 例如 Q_ASSIST_QRTL_KM=1.5 因故救机触发QRTL模式而离家>1.5KM则原地自降. 注意:如果KM数设很大,务必设定紧急迫降电压,以免QRTL中途电池用尽掉下来. BATT_CRT_VOLT=21.0 (电池电压<21.0V为紧急迫降) BATT_LOW_TIMER=20 (低电压持续>20秒) BATT_FS_CRT_ACT=4 (QLand原地自降) 意思就是返家中途若电池实在撑不下去,也只好原地自降了!! 固件名称:ArduPlane-20200907 (V4.1.0-DEV) 版本识别码:3c0d4b6d ================================================================= 1.同步官方代码 .更改了LED脚本API,允许一个引脚上有超过32个LED灯 .增加了GPS双天线测向(取代罗盘) u-blox自动配置功能 .修正了某些SBUS接收机无法使用的问题. .增加了LGR_OPTIONS参数来控制起飞/降落时的起落架行为 .修正了在遥控器故障保护期间禁用油门杆的问题。 .改进了MAVLINK串流输出控制,以更好地分配时间给每个通道。 .改进了SMBUS智能电池驱动 .增加了对更多DLVR空速传感器的支持。 .增加了BRD_ALT_CONFIG参数,以便在多个板卡上进行替代硬件配置。 .修正了遥控器超出范围的通道。 .增加了THR_FAILSAFE=2选项,用于只启用GCS故障保护. .根据罗盘的优先级,修正了启动时罗盘可能重新排序的问题。 .修正了EKF2和EKF3中GPS数据的最小精度,解决了RTK GPS模块报告的精度值过于乐观的问题。 .修正了对RC_OPTION位的处理,以使接收机的故障保护处理失效。 .修正了LOITER_TO_ALT与地形高度目标的误差。 .修正了LightwareI2C激光雷达超出范围的处理。 *2.低高度保护优化 (1)支持地形高度(Terrain),高度判断优先级为: a.激光/声纳测距仪(RNGFND_LANDING=1启用)最优先,若无效或超限则不采用测距仪. b.地形高度(TERRAIN_ENABLE=1启用,可以不启用TERRAIN_FOLLOW),在地面时SD卡会自动储存7*8Km范围的地形, 若飞行超过此范围必须靠数传自动更新飞机所在附近的地形. c.若无激光也无地形高度数据,则按气压计及GPS融合的高度为高度. (2)支持两段保护高度: Q_ASSIST_ALT=LLHH 例如Q_ASSIST_ALT=20,表示低于20米触发低高度保护(当然得曾经飞高于20+5米才有用) 例如Q_ASSIST_ALT=2070,表示飞行高度在20-70米时低高度保护为20米,若曾经飞高于70+5米则为70米. 注意:第2段高度只有在自动模式(包括RTL)且航点目标高度大于第2段高度(此例为70米)时有效,否则为第1段高度. 例如RTL返航高度是90米(或是下个航点高度是90),则低高度保护是第二段(也就是70米), 如果RTL返航高度是50米(或是下个航点高度是50) ,则低高度保护是第一段(也就是20米) 第二段保护主要是用于自动航线因故突然掉下来用的,如果只有一段恐怕会太接近地面才触发保护. 而参考了RTL或WP的目标高度是因为有时候航线设计就是那么低.以防止低高度90米,而航线设计是80米高而误触发. *3.连续异地自动起降支持地形高度(Terrain),高度判断条件(同上,激光>地形>融合高度) <如何启用地图高程> 只需把 TERRAIN_ENABLE=1 然后连接地面站(必须GPS有定位),就会在MP的[状态]页看到地形上传. ter_load=已经写入完成的笔数 ter_pend=尚未写入的笔数 所以只要ter_pend=0就表示地形写入SD卡完成了. TERRAIN_FOLLOW不必开,设为0即可(除非你要按照地形来飞) TERRAIN_ENABLE=1 TERRAIN_FOLLOW=0 TERRAIN_SPACING=100(米,网格间距为100m) TERRAIN_LOOKAHD=2000(米,注意往前2KM范围以提前爬升) 固件名称:ArduPlane-20200728 (V4.1.0-DEV) 版本识别码:5cebf91c ================================================================= 1.同步官方代码 .修正罗盘校准后COMPASS_PRIOxx(罗盘IDs顺序)可能会更动的问题. .EKF修正无法设置磁力场状态的错误. .支持多个气压计(BARO2_ID-BARO2_ID3). .添加CROW襟翼模式选择开关. .TECS油门限速代码修正. .为CRUISE / FBWB添加地形跟随禁用开关 .EFK3代码优化 .新增倾转机型矢量助推油门FWD_MANTHR_MAX 全矢量多旋翼(陆续完善中) .代码整理及很多的小问题修正. *2.新增垂起机型的姿态输出(注意:下列编号与官方编号可能不同,请以此为准) Servo_Function=114(横滚姿态输出) Servo_Function=125(俯仰姿态输出) Servo_Function=126(电机平均推力输出) Servo_Function=127(偏航姿态输出) 固件名称:ArduPlane-20200701 (V4.1.0-DEV) 版本识别码:e5395069 ================================================================= 1.同步官方代码 .修正Hex CubeOrange第2个电流传感器引脚定义错误. .修正当罗盘COMPASS_PRIOx_ID为0时的排序问题. .过渡期间可以用TKOFF_THR_MAX参数限制最大油门. *2.NAVL1_SMOOTH(导航平滑)优化(针对入轨的角度修饰计算). *3.修正F4BY飞控无法使用Serial4的问题. 固件名称:ArduPlane-20200614 (V4.1.0-DEV) 版本识别码:82480f0a ================================================================= 1.同步官方代码 .新增FILE_MB_FREE参数以保留SD卡可用空间(单位Mb),不足时将删除旧log .指南针缩放系数阈值增加(这修正了CUAV-V5罗盘校准不通过的问题) .修正了bootloader中的CS引脚,在某些板子上可能会导致参数被重置. .修正了基于H7的板子上CAN时钟和队列处理的错误。 *2.新增支持 CUAV_Nora飞控 *3.针对油门杆会弹回中位的遥控器解锁困难的问题(解锁后手一放开飞机就飞起来!!). 请使用QLOITER模式解锁(油门杆中位,RUDDER杆往右打即可),解锁后电机为怠速转,此时可切AUTO或推油门杆升空. 注:只有每次解锁后才是这样,解锁后一旦油门杆不在中间就恢复原来的操作习惯. 固件名称:ArduPlane-20200527 (V4.1.0-DEV) 版本识别码:67e79638 ================================================================= 1.同步官方代码 .在VTOL模式下改进EKF故障保护 .在VTOL模式下油门混合使用滤波后的加速度值 .RTL的初始爬升阶段,爬升多少米(M)。 参数:RTL_CLIMB_MIN 在这段时间内,侧倾将限制在LEVEL_ROLL_LIMIT限制的角度。 .对推力电机油门做电池电压补偿 参数:FWD_BAT_VOLT_MAX=电池最大电压(0=禁用,建议4.4V*CELL数) FWD_BAT_VOLT_MIN=电池最小电压(0=禁用,建议3.5V*CELL数) FWD_BAT_IDX=使用那个电池做补偿(0=电池1,1=电池2) .EKF3优化 .将默认的USB ID更改为新的ArduPilot特定ID 对于多数用户而言,这不会造成任何变化,除非他们注意到MissionPlanner中的下拉列表变成以ArduPilot为首 如果在Windows上遇到问题,请尝试通过以下URL重新安装设备驱动程序: https://firmware.ardupilot.org/Tools/MissionPlanner/driver.msi .很多的官方BUG修正,请看底下这个网址的列表: https://discuss.ardupilot.org/t/plane-4-0-release/47188/329 *2.NAVL1_SMOOTH(导航平滑)优化,这是一个bits(二进制)值,每个bit含义如下: 1=启用 RTL 返航平滑. 2=启用 转弯 平滑. 4=启用 盘旋 平滑. 只要把想启用的数字加起来即可,例如启用RTL+盘旋则1+4=5,将NAVL1_SMOOTH=5 以上都启用就是1+2+4=7,将NAVL1_SMOOTH=7 *3.新增CUAV-X7支持 *4.新增F4BY-2M支持(新的2Mb Flash MCU),旧板子(1Mb的)不再支持,可寄回卖家付费更换新MCU. 固件名称:ArduPlane-20200416 (V4.1.0-DEV) 版本识别码:6d05ed1e ================================================================= 1.同步官方代码 .修正非正常降落(例如自动迫降)起落架忘了放下来的BUG! .修正了EKF的几个BUG! .LOITER(绕圈模式)的航向由GPS改用AHRS融合航姿航向(更圆且偏移小) .新罗盘RM3100的支持 .增加上传任务的大小 .Soaring及TECS代码优化 .STICK_MIXING增加=3的选项(3=在自动模式仅允许Rudder杆介入,1=FBWA混舵,2=STABILIZE混舵) .多个记录(log)内容的更改. .新增更多的LUA Scripts可用命令(API) *2.新增参数LOW_SPEED_LOCK(最低空速锁) LOW_SPEED_LOCK=0 无效(飞行中可任意更改空速) LOW_SPEED_LOCK=1 飞行中禁止将空速设置比巡航空速(TRIM_ARSPD_CM)还低. 注:由于TRIM_ARSPD_CM参数是允许修改的,所以LOW_SPEED_LOCK的巡航空速指的是 开机时的TRIM_ARSPD_CM参数值. LOW_SPEED_LOCK>1 飞行中禁止将空速设置比LOW_SPEED_LOCK(m/s)设置的空速还低. *3.新增参数Q_LAND_ABORT_MS(自动降落放弃) Q_LAND_ABORT=0(默认0为禁用) Q_LAND_ABORT=自动降落时油门杆推到>=90%,持续多少微秒(1000ms=1秒)则放弃降落变QLOITER模式 例如Q_LAND_ABORT=500,降落时油门推到>90%持续0.5秒就变成QLIOTER模式. *4.倾转机型过渡算法优化. *5.H6机型支持(已经可以正常使用,纯多轴模式全矢量控制尚在开发中) 固件名称:ArduPlane-20200226 (V4.1.0-DEV) 版本识别码:c6f12e51 ================================================================= 1.同步官方代码 .修复MAVLink使用RC输入的Bug,可能导致溢位和崩溃(这是一个严重的BUG修复). .添加了RC输出类型的显示以帮助调试DShot输出. .修改了H7板上的时钟以产生更精确的DShot控制. .在VTOL起飞完成时添加了TECS重置以正确处理TECS爬升率低于VTOL爬升率. .修正Do_Set_Servo命令可能会影响Gripper(夹具/挂勾)的Bug! .修复了具有2个USB端口连接地面站问题. .一些EKF优化及代码整理. //以下为群固件专有功能(标题前面有"*"者) *2.多点异地降落增加Gripper(挂勾)控制 参数设置: CAM_TYPE=98 (设为98以启用异地降落功能,且装载按钮请插在AUX6) GRIP_ENABLE=1 (启用Gripper,第一次启用请重新开机才会出现以下参数) GRIP_GRAB=1900 (挂勾闭合的PWM位置) GRIP_NEUTRAL=1100 (挂勾的中立点PWM位置) GRIP_RELEASE=1100 (挂勾释放的PWM位置) GRIP_TYPE=1 (0=禁用,1=舵机挂勾,2=电磁挂勾) 舵机挂勾设置: BRD_PWM_COUNT=5 (MainOut1-13,AUX1-AUX5为PWM输出,注意:一旦启用异地降落,AUX6为装载按钮) BRD_SAFETYENABLE=0 (禁用安全开关,也可以不禁用,但测试前请先按安全开关,否则舵机不会动) SERVO13_FUNCTION=28 (挂勾舵机插在AUX5,也就是Servo13,设置好请重新开机) 控制方式: 1.按2下(双击)装载按钮,挂勾会释放与抓取 交替动作. 2.航线命令:请看底下ArduPlane-20200212固件版本更新说明. *3.ArduPlane_Pixhawk1_1M.apj(有1Mb硬件Bug的飞控)暂时又回来了,但代价是SD卡没作用 ,因为1Mb空间实在太少了,能删的都删掉了! 只是能飞,连log都没有! *4.修正[多点异地起降/悬停]当最后一个航点是VTOL_LAND会延用之前DO_DIGICAM_CONFIGURE 参数的问题. 所以一个DO_DIGICAM_CONFIGURE必须配一个VTOL_LAND,不能多个VTOL_LAND共享最前面的 DO_DIGICAM_CONFIGURE参数. 固件名称:ArduPlane-20200212 (V4.1.0-DEV) 版本识别码:adcfb608 ================================================================= 1.同步官方代码 .修复了IOMCU中的时序问题,该问题可能导致RC输入丢失和IOMCU上输出到ESC的延迟增加. .修复了QAUTOTUNE可能会导致飞机离开QAUTOTUNE模式而产生不稳定的情况. .添加对UAVCAN舵机和电调反馈消息的记录. .将QTUN记录速率降低到25Hz. .通过多个通道减少EKF中的内存使用. .添加了更多的脚本(LUA Scripts) .修复了未连接UAVCAN GPS的状态错误问题. .增加了EK3_MAG_EF_LIM限制参数. .增加了对WS2812 LED的支持. *2.多点异地起降/悬停 这个功能正常是使用一片物流/取样专用的载板,板子上有多点避让雷达/精准信标降落/测高雷达 /图资储存/装载通知...等等装置. 但为了测试方便(没有载板/也没有修改过的地面站),所以可以使用以下方法做到简易的异地起降 功能. 设置方法: 参数CAM_TYPE=98 ,设为98以启用异地降落功能. 注意:一旦启用异地降落Servo14(AUX6)就不能再用了,准备一个按钮接到Servo14的信号及GND. 当按下该按钮(短路)5秒不放,就会发出解锁升空倒数10秒的警示音. 航线规划: 在降落前增加:DO_DIGICAM_CONFIGURE命令,由左到右填入,例如98,10,15,30,9,0,1900 98(异地降落代号,一定要设为98) 10(降落到离地面10M,若设为0则降落到地面并且电机上锁) 15(等待15秒,如果设为0则使用按钮,将Servo14的信号及GND短路5秒则继续) 30(起飞到30M) 9(Servo9,舵机Servo编号为1-32,如果设33为Camera Trigger,34为Gripper) 0(没用) 1900(舵机输出1900pwm,若为34 Gripper则1=释放,0=抓取) VTOL_LAND命令由左到右填入,例如15,,,,,,,,,5 15(M,开始减速高度,若设为0则用Q_LAND_FINAL_ALT) VTOL_LAND最后一栏是高度差,如果与HOME差5米则设为5,其余则与正常VTOL_LAND一样. *3.Guided模式禁止输入低于ALT_HOLD_FBWCM的高度 *4.修正了航线自动分段在最后一个航点距离估算过大的问题. 固件名称:ArduPlane-20200110 (V4.1.0-DEV) 版本识别码:b6ef76a1 ================================================================= 1.同步官方代码 .修正CANBUS GPS/罗盘报错(UC Node ?? Down!)的问题. .修复了具有自动旋转检测功能的罗盘校准会失败的问题. .修正VTOL_LAND(QLAND)在降落时若碰上遥控失控会返航的错误(注:新/旧版本群固件不会有这问题) .修复了STM32H7 I2C上的错误(影响CubeOrange和Durandal) *2.新增 航线中断续飞 当任务进行中被打断(自返/失控/超过最大哩程/超过最大风速/超过最长飞行时间/低电量/自订中断点/...) 而返航,可以换电池或充饱电后自动接续未完成的航线。 设置方式: 参数 MIS_JUMP_WP=0(默认为-1禁用,若要开启请设为0) 此参数为自动记忆的中断点供续飞使用,您也可以手动更改这个点让它由该点接续,若由地面站上传航线(不管是 否有修改)则此参数自动恢复为0(从头开始)。 由于多数航线都是由 VTOL_TAKEOFF起飞->WP迎风过渡点->LOITER_TO_ALT盘旋爬升->WP对正航道点->WP开始作业点 ->TRIGGER启动相机拍照.... 当中断续飞时也是必须经过这些前置航点,由于前置航点会因操作习惯或地型环境而异,所以固件每次升空会从头 开始跑,一直跑到第一个DO_SET_CAM_TRIGG_DIST开始拍照的点就自动跳转到上次中断的地方。 如果你的前置航线很复杂或想自己设置这个点,可以在你想要的地方加上一个DO_SET_CAM_TRIGG_DIST命令且拍照间 隔故意输入一个很大的值(9999),这样设置相机快门并不会动作而又能达到你想要的目的。 下航线也一样道理,是由一连串航线命令组成,例如 WP飞到空旷处->LOITER_TO_ALT盘旋降高->WP对正家->RTL自返 或自降. 所以可以在下航线那一串命令之前也加入一个DO_SET_CAM_TRIGG_DIST命令且一样给个很大的值(9999),这样当自 返(不管是人操作的还是自动触发的)都会先飞到下航线的前面(也就是你设置的这个点). 这边有个防呆操作,例如你的航线很分散,有些航线在山的前面而有些在山的背后,如果在山的背后直接自返会撞 山,而在山的前面若绕由下航线来走也是撞山,如果有这种情况必须在分界点(山的前面)一样增加一个 DO_SET_CAM_TRIGG_DIST命令但拍照间隔输入8888(是8888而不是9999),这样在山的前面会用自返回家,在山的背后 则会绕由规避航线来回家。 *3.新增 航线自动分段 此功能允许你上传一大片完整测区,利用自动分段及自动续接功能来完成整个作业,总共有3种分段方法。 方法1: 手动输入断点,只要在航线的适当处插入 DO_JUMP(执行次数请输入1,因为输人0会被忽略),这样就会跳到下航线 点(或直接下RTL命令). 方法2: 参数MIS_MAX_KM=60(以航行公里来分段,60=60公里,默认0为禁用) 这个航程公里数并不是累计达到里程就触发,因为下航线/规避航线/自返也需要里程数,而是以累计里程+计算下航线 距离或RTL离家距离+当前航点到下个航点距离的加总来计算,如果评估到下个航点会超过里程则触发自动分段。 方法3: 参数 MIS_MAX_MINUTE=90(最大飞行时间,90=90分钟,默认0为禁用) 与方法2类似,也会评估下个航点+回家所需时间够不够。 固件名称:ArduPlane-20191226 (V4.1.0-DEV) 版本识别码:39c87f47 ================================================================= 1.同步官方代码 .增加CANBUS气压计支持(主要针对CUAV GPS,包括禁用内置气压计参数) .增加Piccolo CANBUS 电调支持 .增加PWM->UAVCAN Hardpoint适配器支持 .增加在I2C上支持RM3100罗盘 .修正襟翼在起飞期间不起作用的问题 .修正CUAVv5Nano的电压缩放 .修正10Hz NMEA输出 .修正遥控器通道范围检查错误的问题 .使用波特率缩放UART RX大小 .修正FS_GCS_ENABL=2(地面站失控保护=2)心跳侦测错误的问题. .修正了飞行前校准AHRS水平调整错误的问题. .修正了ChibiOS I2C驱动程序中的内存损坏的DMA错误. .姿态控制器的优化 *2.倾转机型侧风转换(过渡)能力增强. 调试方法: 影响参数Q_TRAN_RLL_MAX=10(过渡期间最大横滚角度,范围5-15,建议值=10度) 1.先把最大角度设为10度并尝试过渡为固定翼,如果飞机的机翼出现左右来回摆(振荡)则 调降此值,如果出现往一边倾斜(被侧风压着而无力回正)则调高此值(但不要>15度). 2.若以上无效,则可能Q_TILT_YAW_ANGLE不足,请尝试增加角度>=10度. 如果之前一直调不好的人,可尝试这组参数: Q_TILT_FIX_ANGLE=10 Q_TILT_FIX_GAIN=50 Q_TILT_MAX=68 Q_TILT_RATE_DN=1625 Q_TILT_RATE_UP=60 Q_TILT_THR_DN=80(视动力大小,动力大的请降低此值) Q_TILT_THR_UP=30 Q_TILT_TYPE=2 Q_TILT_YAW_ANGLE=10 Q_TRAN_PIT_MAX=10 Q_TRAN_RLL_MAX=10 Q_TRAN_YAW_GAIN=0.3 Q_TRANS_DECEL=1.5 Q_TRANS_FAIL=300 Q_TRANS_FAIL_MOD=21 Q_TRANSITION_MS=3000 Q_WP_SPEED_DN=250(如果返航下降过程会晃则调低此值并增加旋翼PIT及RLL的PID) Q_WP_SPEED_UP=300 Q_SLIP_GAIN=0.3 Q_ASSIST_ANGLE=65 Q_ASSIST_SPEED=10 ARSPD_FBW_MAX=35(请勿任意改变此值) ARSPD_FBW_MIN=11 RTL_RADIUS=65 RUDD_DT_GAIN=20 固件名称:ArduPlane-20191128 (V4.1.0-DEV) 版本识别码:306aa5b6 ================================================================= 1.同步官方代码 .修复了在UART串口上发送数据的错误(下载航线常常卡). .修复了设置CANBUS为主GPS而UART为辅助GPS出现错误的问题. .修复了相同方向的测距仪之间的故障转移. .修复了可能导致地理围栏禁用的RC故障保护错误. .修复了SDP33空速驱动程序中的错误. .支持CANBUS的RTK GPS. *2.官方增加的Q_ASSIST_ALT(低高度保护)与群固件参数名称冲突,所以修改如下. 当参数Q_ASSIST_ALT_MOD=0(救机模式),则低高度保护采用官方的方式,如果>0则采用群固件的 保护方式,完整说明如下: Q_ASSIST_ALT=低高度保护,低于这个高度0.3秒则触发救机(0=禁用,1~300=1米~300米). 注1:你必须曾经飞超过这个高度才会有作用,例如Q_ASSIST_ALT=30,如果你一直在 30米以下飞行则不会触发,一旦曾经超过30米而掉下来就会触发低高度保护. 注2:当设置负值可以指定一个遥控器通道(旋钮或开关)来指定高度,-6为CH6, -7为CH7...-14为CH14,当旋钮或开关在中位(PWM=1500)则为25米高,在低位 (PWM<1100)则关闭高度保护,在高位(PWM>1900为50米,PWM>2100为65米), 如果为正值(>0),则指定高度(20=20米). Q_ASSIST_ALT_MOD=使用什么模式救机(0=禁用,11=RTL,15=GUIDED,17=QSTABILIZE,18=QHOVER,19=QLOITER ,20=QLAND,21=QRTL) 注:如果设21(QRTL),离家距离若>500M会变成QLAND(原地自降,因为也飞不回来) 如果设17=QSTABILIZE,18=QHOVER,19=QLOITER,当遥控器失控(或关控)则一样变QLAND. 如果设11(RTL)则会先用GUIDED(导引模式)以多轴模式紧急垂直再爬升35米后转为RTL. 如果设15(GUIDED)则会用GUIDED(导引模式)以多轴模式紧急垂直再爬升35米,然后停在原地. 两种低高度保护: 如果采用Q_ASSIST_ALT_MOD=0,低高度是当成失速或翻机保护来处理,对于人为的航线设置错误可能有用, 如果是故障(无飞行能力/舵面掉了/舵机卡死/..)则反效果,因飞机没有飞行能力才会无故掉下来,且在接 近地面转换有安全疑虑. 固件名称:ArduPlane-20191107 (V4.1.0-DEV) 版本识别码:9ffc0f5a ================================================================= 1.同步官方代码 .内置IMU加热器的飞控(例如Pixhawk2)新增 加热控制PI参数:BRD_IMUHEAT_P,BRD_IMUHEAT_I .修正快速下降或姿态大幅变化导致偏航YAW控制失效的问题. .每个航点可各别指定高度类型(相对/海拔/测距仪或仿地飞行),注:需使用最新版Mission Planner .位置控制增加高振动补偿. .新增TAKEOFF模式及一键起飞功能(纯固定翼用) .修正及优化 UAVCAN/IOMCU/ChibiOS/测距仪 代码 *2.修正返航自动盘旋降高(Q_RTL_LOIT_ALT)绕圈时可能超过HOME点的问题. 改以Q_RTL_LOIT_RAD半径(米)来判断距离,而不以RTL_RADIUS来判断. *3.倾转机型增加GUIDED(导引模式)支持. 注意:在这个版本之前(包括目前官方固件)切勿使用GUIDED模式起飞(代码有问题可能炸机) *4.新增3个参数 Q_ARM_CHECK_THR=15 解锁检查油门%,例如设15则解锁时电机会以15%油门顺时针依序旋转. Q_ARM_CHECK_AMP=0 承上,电机依序旋转时电流必须大于此设置,例如设0.5A若没超过0.5A (电机不转或没桨之类问题)将拒绝起飞,必须重插电(或上锁一次)才能解除. Q_ARM_GUIDED_ALT=0 承上,若以GUIDED模式解锁,则自检后自动起飞到这个高度等待命令. 注:以上3个参数原则上是配合修改过的地面站做 一键自检>起飞>盘旋>导引>移动目标锁定... 如果没有专用地面站或许可以用Mission Planner自己多按几下,或遥控器GUIDED模式解锁> 自动起飞到达高度>切FBWA(或切AUTO或LOITER或QLAND或点地面站的地图) 固件名称:ArduPlane-20190929 (V4.1.0-DEV) 版本识别码:04ee459e ================================================================= 1.同步官方代码 .固件版本号更新至V4.1.0 *2.Q_TRANS_FAIL如果设置>30(使用距离),当过渡秒数超过20秒仍视为过渡失败. *3.Q_TRANS_FAIL_MOD(过渡失败救机模式)及Q_ASSIST_ALT_MOD(低高度保护救机模式) 如果设21(QRTL),离家距离若>300M会变成QLAND(原地自降,因为也飞不回来) 如果设17=QSTABILIZE,18=QHOVER,19=QLOITER,当遥控器失控(或关控)则一样变QLAND. *4.飞行中"失速保护","翻机保护",倾转会以最快速度倾转(会忽略TILT_RATE_UP的设置) 固件名称:ArduPlane-20190920 (V3.10.0-DEV) 版本识别码:7c2c6dba ================================================================= 1.同步官方代码 .修正同时安装两个CANBUS罗盘,重开机时ID位置可能互换的BUG. .修正测距仪低于下限变负值的BUG(变负值而突然爬升,或前推电机突然转起来) .修正了一个I2C的BUG(某种情况下可能崩溃) .支持STM32H7 MCU(Pixhawk2 CubeOrange 橘色) .microSD卡因震动而接触不良时会重新连接 .支持任何UART上的额外RC输入 .新增AFS_MAX_RANGE参数以限制最大飞行里程 .串口新增反转/半双工/交换模式SERIALn_OPTIONS参数,以支持更多类型数传或设备. .新增燃料流动电池类型(油动发动机油箱量测) .支持RObotis总线舵机 .CANBUS舵机增加KDECAN和ToshibaCAN这两个厂牌的协议 .支持DLVR I2C空速传感器/RM3100罗盘/Invensense IMU .支持CANBUS协议的蜂鸣器/安全开关/LED/空速计 .新增Q_TKOFF_ARSP_LIM参数,可限制地面超过这个风速将拒绝起飞. .新增Q_TKOFF_FAIL_SCL参数,自动起飞超过这个限制将被自动降落. *2.新增转换失败保护(默认为0=禁用). Q_TRANS_FAIL 转换为固定翼失败的条件设置 0 =禁用 1~ 30 =转换超过这个秒数即视为失败(秒) 31~999 =转换超过这个距离即视为失败(米) Q_TRANS_FAIL_MOD 转换失败时以什么模式救机(默认为20=QLAND) 0=禁用,17=QSTABILIZE,18=QHOVER,19=QLOITER,20=QLAND,21=QRTL *3.自动降落代码优化 固件名称:ArduPlane-20190823 (V3.10.0-DEV) 版本识别码:c445362f ================================================================= 1.同步官方代码 .修正Pixhawk2 Cube飞控,少数硬件加热器温度不受控问题. .修正CUAV V5 Nano飞控 USB无法连接问题. .修正官方IOMCU的重大BUG! 注:这个BUG会导致电机暂时停转(注:群固件IOMCU处理与官方有些区别而不会发生) *2.还原已经删除的CAN_D1_UC_MAG_ID参数,因为有人反应两个CANBUS罗盘装在一起,有时重开机 两个CANBUS罗盘ID顺序会对调,有此情形的人请用CAN_D1_UC_MAG_ID自己设置,设置方法往下找. *3.修正QLOITER模式角度过大的问题(用力打杆时角度非常大),角度关系如下: Q_ANGLE_MAX=4000(所有旋翼模式角度将被限制在<=40度) Q_P_ANGLE_MAX=30(与位置控制有关的模式,包括QLOITER/QRTL/QLAND/TAKEOFF,都限制<=30度) Q_LOIT_ANG_MAX=25(QLOITER模式,角度被限制在<=25度) 注:设置不可超过前级,例Q_ANGLE_MAX=4500及Q_LOIT_ANG_MAX=60,则最大为45度 *4.Servo输出PWM/CAN1+CAN2扩充为32个(这个必须专用硬件),一般Pixhawk(Cube/CUAV/F4BY/...) 扩充到20个,后面6个(Servo15_Function-Servo20_Function)由Serial SBUS转PWM输出. 对应方式:PWM1=Servo15,PWM2=Servo16,PWM3=Servo17,PWM4=Servo18,PWM5=Servo19 ,PWM6=Servo20,PWM7=Servo7,PWM8=Servo8,...,PWM14=Servo14 设置方式:Serial5(1-5)_protocol=15(http://ardupilot.org/copter/_images/sbus_inverter.png) Serial5(1-5)_baud=100 *5.倾转机型的 Q_TILT_RATE_DN 及 Q_TILT_RATE_UP 可输入4位数启用无缝过渡,例如: Q_TILT_RATE_DN=1018(表示过渡可由每秒10度-18度由固件看情况来使用) Q_TILT_RATE_UP=60 (表示转换回来都以每秒60度倾回) Q_TILT_FIX_ANGLE=10(定翼矢量角度10=10度) Q_TILT_FIX_GAIN=60 (定翼矢量感度60=60%) Q_TILT_MAX=70 Q_TILT_THR_DN=100 Q_TILT_THR_UP=30 Q_TRAN_PIT_MAX=7 Q_TRAN_RLL_MAX=9 Q_TRAN_YAW_GAIN=0.3 Q_TRANS_DECEL=2.5 (减速率,值越小煞车越缓和但需要更长距离来滑行) TRIM_PITCH_CD=150 (注意:在MP按下水平校准时请保证四轴机臂的水平,完全以多轴水平为主 ,而非定翼. 定翼的仰角则在此参数设置,150=1.5度,250=2.5度...) RTL_RADIUS=65 (RTL距离家65米就开始转换为旋翼模式往家滑行) 也可以启用风标参数: Q_WVANE_GAIN=0.15 Q_WVANE_MINROLL=2 以上参数适用绝大部份机型. 固件名称:ArduPlane-20190717 (V3.10.0-DEV) 版本识别码:210c2070 ================================================================= 1.同步官方代码 .支持RTK双天线测向(使用NMEA GPHDT协议),以取代传统罗盘. 这类RTK GPS通常是非常昂贵的. .增加双轴倾转垂起机型(Bi-Copter,俗称'阿凡达',定距可倾转的VTOL,非尾座式) .针对 EKF2/3 的改进: 即使对于非活动IMU,也要学习EKF偏差,使IMU故障转移更加强大 EKF使用地球磁场模型来减少飞行中的罗盘误差 上锁后,EKF切换到第一个健康的IMU IMU修复了在高CPU使用率下丢弃的样本 .增加了对Ublox F9 GPS的支持 .上锁后重设海拔高度以减少气压计飘移影响. *2.针对中/大型倾转垂直起降(起飞重量>15Kg或翼展>3.6米)优化. 主要针对传感器及积分器算法上的优化,且支持工业级传感器. *3.倾转机型过渡平滑的优化. *4.4+1机型提前释出ROLL的控制权,以缩短转换距离. 受Q_TRAN_RLL_MAX参数限制,更短距离则增加角度,若太大会造成倾斜或航向偏. 固件名称:ArduPlane-20190617 (V3.10.0-DEV) 版本识别码:b9023161 ================================================================= 1.同步官方代码 *2.降落代码重构. 降落(转换旋翼->定位->下降阶段1->下降阶段2)更稳定且准确,也可接受遥控器打杆位移. 建议参数: Q_RTL_MODE=1(启用混合式返航) RTL_RADIUS=90(在接近家90米转换为旋翼) Q_TRANS_DECEL=2(减速率为2,值越小煞车越缓) Q_TILT_RATE_UP=30(以每秒30度转换回旋翼,90度就是3秒) Q_TILT_THR_UP=10(转换回旋翼时油门缩放为10%,几乎无动力滑行状态) Q_WP_SPEED_DN=250(第一阶段下降速度为每秒2.5米) Q_LAND_FINAL_ALT=9(离地9米进入下降第二阶段) Q_LAND_SPEED=80(第二阶段下降速度为每秒0.8米) *3.倾转机型转换代码优化 .正确设置旋翼与定翼水平角度差,例如TRIM_PITCH_CD=250(2.5度),可在转换到定翼期间不掉高 且有更好的飞行效率. .由定翼转换回旋翼提供另一种设置方法,此方法不会爬高且煞车滑行平顺 Q_TILT_RATE_DN=10-15(越大的飞机加速越慢,每秒倾转10度就需9秒来加速助跑转换为固定翼) Q_TILT_RATE_UP=30(每秒倾回30度,意思就是转换回多轴需3秒) Q_TILT_THR_UP=10(转换回多轴期间,最大油门缩放至10%,以很小的油门滑行3秒,除非空速提前达到低速) SRV_MIX_QUAD=-0.2(所有多轴模式固定翼舵面只参与20%,负值包括自稳反馈也20%) 注意:旧固件请勿这样设置Q_TILT_THR_UP,有可能得到反效果. *4.其它小修改 .修改电压供应超过5.8V会报错的问题(无限创新的飞控可12V供应) .遥控器失控逻辑变更,防止RC?_OPT=104在失控又恢复后模式会由CH5主模式取代的问题. .无限创新CANBUS罗盘可同时两个罗盘并存(一个外置高精度罗盘/一个CAN GPS内置罗盘) .修正垂起机型在LOITER(绕圈)模式下关控(或失控),遥控器不会进入失控保护的问题. .修正Internal errors detected (?)频繁报错的问题. 固件名称:ArduPlane-20190516 (V3.10.0-DEV) 版本识别码:0a3fe322 ================================================================= 1.同步官方代码 .新增CANBUS测距仪/CANBUS光流传感器 .Watchdog的优化 .修正EKF2/EKF3当IMU故障时选择错误的Bug! .姿态控制器优化 .新增CRT_SIN参数以m/s为单位的临界下沉速度,及电池失效以触发紧急降落伞 *2.修正IOMCU频繁报错的问题,减少在地面频频发出告警音(3个降调+3个升调). *3.双电源切换板支持,设置方法: Servo?_Function=122(双电源切换板) 然后将切换板信号线插到对应的PWM口,就会自动切换旋翼(包括辅助)模式及定翼模式的电源 例如旋翼模式使用高C数小容量的LiPO电池,而固定翼模式则自动使用18650或低功率燃料电池. *4.新增左后及右后倾转舵机(Q_TILT_MASK=10或15),X4双后推 及 X4四倾转机型用. Servo?_Function=123(左后-倾转舵机) Servo?_Function=124(右后-倾转舵机) *5.新增风速过大自动返航功能(只在自动及巡航模式有效). FS_MAX_WIND_SPD=12(最大风速m/s,默认为0=禁用) FS_MAX_WIND_SEC=30(超过最大风速持续几秒就返航,默认为30秒) 风速单位是m/s(米/秒),如果要使用风力级数请对照下表: 级数 m/s(米/秒) 陆地情形/海面情形 ================================================================================= 2 1.6-3.3 风拂面,树叶有声,普通风标转动/微波明显,波峰光滑未破裂 3 3.4-5.4 树叶及小枝摇动,旌旗招展/小波,波峰开始破裂,泡沫如珠,波峰偶泛白沫 4 5.5-7.9 尘沙飞扬,纸片飞舞,小树干摇动/小波渐高,波峰白沫渐多 5 8.0-10.7 有叶之小树摇摆,内陆水面有小波/中浪渐高,波峰泛白沫,偶起浪花 6 10.8-13.8 大树枝摇动,电线呼呼有声,举伞困难/大浪形成,白沫范围增大,渐起浪花 7 13.9-17.1 全树摇动,迎风步行有阻力,海面涌突/浪花白沫沿风成条吹起 8 17.2-20.7 小枝吹折,逆风前进困难/巨浪渐升,波峰破裂,浪花明显成条沿风吹起 *6.自动模式遥控器失控处置 FS_AUTO_UNLOCK=0 模式开关会被锁住,必须左右打YAW杆数次(左右不能打到底,莫约3-5次就会取回) FS_AUTO_UNLOCK=1 任何情况都不会锁模式开关. FS_AUTO_UNLOCK=2 同0(失控会锁模式开关)且自动模式一解锁就被锁了(不失控也锁),取回一次则不再锁. 注:只会锁遥控器模式开关(模式无法切换),地面站仍可切换模式,遥控器打杆仍能微调移位. 固件名称:ArduPlane-20190426 (V3.10.0-DEV) 版本识别码:b1bc4268 ================================================================= 1.同步官方代码 .防止故障的IMUs导致失去姿态控制. 这个是针对Pixhawk2 Cube飞控IMU硬件Bug所做出的修正,问题报告在这个网页: https://discuss.cubepilot.org/t/sb-0000002-critical-service-bulletin-for-cubes-purchased-between-january-2019-to-present-do-not-fly/406 注意:这个并不会修复硬件,只是把前2个故障的IMUs可以确定转移到第3个IMU而已, 而且会检查Pixhawk2 Cube是否被玩家把第3个IMU给禁用了. 固件名称:ArduPlane-20190415 (V3.10.0-DEV) 版本识别码:cb88bc7f ================================================================= 1.同步官方代码 .修复速度/高度处理中的一个重大错误。 该错误发生在TECS(总能量控制系统)中,可能导致持续的俯仰下降,最终使飞机坠落。 该修复包括对俯仰积分器的保护以及对影响TECS所需空速的空速需求中的瞬态原因的修正。 注:这个错误在群固件确定不会发生,因为群固件这部份代码有别于官方固件,所以使用群固件 旧版本的要不要更新都可以,使用官方固件的务必要更新. .EKF代码的优化. .代码重构 *2.优化了降落代码,提高降落(RTL/VTOL_LAND)的精确度,下降速度可以接受更快及更大的风. 降落过程主要受以下参数影响(如果不知怎么设置,请使用以下参数): Q_TRANS_DECEL=1.5(减速率,默认为2,值越小滑行距离越长且煞车越缓和) RTL_RADIUS=90(距离家多少米开始转为多轴,若为0则使用WP_LOITER_RAD参数值) 以上两参数取其大,例如进场速度很快且减速率设很小,则会比RTL_RADIUS更远就转换. Q_TILT_THR_UP=30(转换回多轴时最大油门限制,如果油门太大会抬头爬高) Q_TILT_RATE_UP=80(转换回多轴倾转回来的速度,如果设太慢也会抬头爬高) 以上两个参数如果设的太小,则变掉高. Q_WP_SPEED_DN=250(默认为150,每秒下降150公分=1.5米,改为每秒下降2.5米) Q_LAND_FINAL_ALT=12(为避免气压计误差,将最终降落阶段改成12米开始减速) Q_LAND_SPEED=80(或90,最终下降阶段速度,每秒80公分=0.8米) Q_LAND_DETECT=4(降落倾测方式,用法请往下找20181216版本有详细说明) 注:风很大降落(例如风>12m/s)一定会晃,但可以很安全的降落. 固件名称:ArduPlane-20190325 (V3.10.0-DEV) 版本识别码:e155ddbe ================================================================= 1.同步官方代码 *2.修正风大降落摇晃及上空找位置太慢的问题. 增加第一阶段下降速度可减少摇晃,例如: Q_WP_SPEED_DN=250(默认为150,每秒下降150公分=1.5米,改为每秒下降2.5米) Q_LAND_FINAL_ALT=12(为避免气压计误差,将最终降落阶段改成12米开始减速) Q_LAND_SPEED=80(或90,最终下降阶段速度,每秒80公分=0.8米) *3.自动模式任务结束(降落完成且已上锁)后,将模式设置为QSTABILIZE. 这是为了常有人直接又打杆解锁起飞,而没注意模式仍然在AUTO一解锁就飞起来了. 固件名称:ArduPlane-20190319 (V3.10.0-DEV) 版本识别码:3907466f ================================================================= 1.同步官方代码 .修正一些Bug .ChibiOS代码优化 .新增支持IMUs:ICM20602/ICM2648/ICM20649 .新增支持STM32F7,STM32H7 .降落阶段可以使用助推来维持位置. .优化尾座式代码. .优化降落代码. 2.新增QACRO模式(多轴手动模式,模式代号23),使用acro_r/p/y_rate参数调整 3.新增Q_M_SLEW_DN_TIME,Q_M_SLEW_UP_TIME参数,范围0-0.5 Q_M_SLEW_DN_TIME 限制油门输出从0到最大的时间(以秒为单位,默认0为禁用) Q_M_SLEW_UP_TIME 限制油门输出从最大到0的时间(以秒为单位,默认0为禁用) 这可以使控制更为平滑(例如0.25),可防止突然的剧烈变化及降低电机奇怪的加速音. *4.多点异地降落支持: .自动使用地形(Terrain)数据,如果有Li-DAR激光则以激光优先,例如降落点比起飞点还高很多 可以避免碰撞或降落时重落地. .使用二次开发地面站可以降落后再次起飞到下个点,MP官方版本降落后无法再次升空. *5.新增支持以下变距机型(详细说明请看HeliPlane.txt) .纯变距多轴(将Q_ENABLE=2不会变飞机,AUTO仍然是多轴模式),油动/电动皆可. .V44变距垂起(可以前倾转/后倾转/全倾转/不倾转4+x) .Y3变距垂起(可以前倾转/全倾转) *6.优化转换代码(包括4+1机型) 固件名称:ArduPlane-20190214 (V3.10.0-DEV) 版本识别码:effeebfe ================================================================= 1.同步官方代码. .修正了不少的Bugs(尤其是尾座式) .姿态控制代码优化. .QLOITER降落时较快进入怠速. .尾坐式新增4桨机型/辅助电机 2.新增支持 CANBUS 电调. Toshiba CAN电调(http://ardupilot.org/copter/docs/common-toshiba-can-escs.html) KDE CAN电调(https://www.kdedirect.com/products/kde-uas125uvc) 3.新增 Q_TRANS_FAIL 参数(1-60=最大转换秒数,0=不限制,默认0). 转换到固定翼的最长秒数,如果一直无法转换成功且超出设置秒数则原地自降. *4.减少log 的记录,主要针对只记录CAM(相片POS)的时候log太多了,造成数传下载非常慢. 记录将按以下方式重新排列,如果选择只记录CAM则log缩减到1%的大小 选择记录 LOG_CTUN 才会增加QTUN,CTRL,RATE,PSC 选择记录 LOG_TECS 才会增加TECS,TEC2 选择记录 LOG_CMD 才会增加STAT *5.ALT_HOLD_RTL 自返参数增加<-1的设置: >=0:按照设置高度返航,例如8000(8000公分=80米)则返航时将朝向80米高度. =-1:按照当时高度返航. <-1:同上,但高度若小于设置则爬升到该高度,例如-8000(公分)若当时低于80米则爬升到80米, 若高于80则按当时高度返航. *6.参数 Q_M_HOVER_LEARN 自动油门学习(官方有此参数但无作用) Q_M_HOVER_LEARN=0(禁用) Q_M_HOVER_LEARN=1(启用油门自动学习) 当启用自动油门学习,会根据电池电压及电机KV来让自稳模式(QSTABILIZE)油门杆在中位悬停, 当由其它模式(例如QLOITER)切换回QSTABILIZE模式不会造成突然爬升或掉下来,让操作更容易. *7.增加Q_TRAN_YAW_GAIN参数(倾转机型由多轴转换到固定翼期间,航向锁定感度) Q_TRAN_YAW_GAIN=0(禁用) Q_TRAN_YAW_GAIN=0.1-1(航向锁定感度,默认为0.3,倾转/矢量机型才能用,其它机型无效) 在侧风中转换将有更好的航向锁定能力,转换前机头朝什么方向,较换成固定翼成功后也是同一个方向. 调试:默认0.3适用多数飞机,若侧风会偏航可加大,若太大(超调)会造成机翼左右摆(一下前一下后)往前飞. *8.增加Q_SLIP_GAIN参数(倾转/矢量机型抗侧滑感度) Q_SLIP_GAIN=0(禁用,默认为0) Q_SLIP_GAIN=0.1-1(抗侧滑感度) 在侧风中以直线往前飞,但机头会偏一个角度造成航片不正,此参数可利用倾转机型的矢量来维持姿态 进而使用差速/尾舵/副翼/矢量的协调来改善这情况. 调试:由0.1开始往上试,若太大(过激)会造成蛇行前进(压不住线)或转弯姿态不良. 固件名称:ArduPlane-20190103 (V3.10.0-DEV) 版本识别码:bba35462 ================================================================= 1.同步官方代码 .新增参数BRD_SD_SLOWDOWN(SD卡的写入速度),正常(高速)SD卡请维持默认0即可,烂卡常漏log的可自己增加. .新增半双工数传协议. .新增串口直通(收到的数据都将传递到另一个端口)功能,参数:SERIAL_PASS1/SERIAL_PASS2/SERIAL_PASSTIMO .多轴自动调参的过程写入到LOG中,且修改了范围值(调出来的PID较为合理) .不再支持及编译*.PX4固件,将全面改用ChibiOS取代Nuttx. .矢量尾座式代码修正及优化. *2.当遥控器油门>0%,地面站将禁止解锁. 固件名称:ArduPlane-20181220 (V3.10.0-DEV) 版本识别码:447fab59 ================================================================= 1.同步官方代码 .修正气压计在开机时会无故报错的问题. .有关空速计算的优化. .当FLIGHT_OPTIONS=8(bit3),Cruise或FBWB模式中使用目标空速TRIM_ARSPD_CM. 2.多轴自动调参修正: 如果同时调多个轴向(PITCH+ROLL+YAW),若中途要放弃(未全部完成)可储存已经调好的轴. 3.航线命令VTOL_LAND(启用自动盘旋降高功能,使用Q_OPTIONS=16启用),新增: a.优先使用 TECS_LAND_ARSPD 参数指定的降落滑行空速. b.新增 Q_FW_LND_APR_RAD 参数,可指定自动盘旋的半径(单位:米). 4.修正Q_A_RAT_YAW_P超调(P值大的离谱时)会造成超出行程量的问题,及地面无法打杆测试 固定翼矢量的问题. 已知问题: 自检有点太严格,只要气压或罗盘有一点变动,常常会在地面听到3个升调+3个降调音,如果不想听到警告音可把气压计在自检项中排除(当然风险自行承担,例如真的故障了...) 固件名称:ArduPlane-20181216 (V3.10.0-DEV) 版本识别码:1f8db08d ================================================================= 1.同步官方代码 2.新增多轴模式自动调参(QAUTOTUNE模式),自动调参步骤: a)将任一个飞行模式设置为QAUTOTUNE(自动调参)模式 由于目前Mission Planner还不认得这个模式(以后更新版会有),所以进入全部参数表将 FLTMODE?=22(QAUTOTUNE模式的编号),例如把原本的FBWA(编号5)暂时改成22. b)将参数Q_AUTOTUNE_AGGR=0.1 (0.1 = 激进,0.075 =中等,0.050 =弱) 这个希望自动调参达成的调参结果,值越大调出来越激进(修正快且强) c)将参数Q_AUTOTUNE_AXES选择要调整的轴(横滚,俯仰,偏航)的Bits组合. Q_AUTOTUNE_AXES=1(只调横滚轴) Q_AUTOTUNE_AXES=2(只调俯仰轴) Q_AUTOTUNE_AXES=4(只调偏航轴) Q_AUTOTUNE_AXES=7(三个轴向一起调,1+2+4=7,当然也可以1+4=5只调横滚+偏航) 垂起的建议一个轴一个来调,以免电池用尽了,或长时间悬停把电调烧掉了. d)找个无风或微风天且较宽广的场地以多轴模式(QS/QH/QL模式皆可)升空,再把开关切到刚刚 指定的那个QAUTOTUNE模式. 注意:调参模式是类似于QHOVER(定高模式),油门置中就会高度固定,所以注意你的油门要置中. e)此时会开始自动调参,如果跑太远了可打杆拉回(随时可介入),拉回后把杆中立会继续接着调. 当不再摇晃就表示已经调参完毕,此时可以打杆试下,如果感觉满意就以QAUTOTUNE模式降落 并上锁就是记忆,如果不满意就切到别的模式再上锁(不记忆). *3.修改Q_LAND_DETECT参数值,增加4&5选项(因之前阀值改严格,多人反应上锁太慢了,所以现在的4就是以前的3) Q_LAND_DETECT 自动降落完成(包括AUTO/RTL/QLAND)侦测方式. 0=使用气压计在数秒内不变动>20公分(上锁慢>5秒,这是默认旧的方式) 1=使用气压计在数秒内不变动>20公分(上锁快>3秒) 2=使用地效+ACC-Z来判断(上锁慢>2秒) 3=使用地效+ACC-Z来判断(上锁中>1秒,默认值) 4=使用地效+ACC-Z来判断(上锁快>0.5秒) 5=使用地效+ACC-Z来判断(上锁极快>0.3秒) 注意: a.Q_LAND_DETECT=5 请小心使用!! 上升气流强且载机轻动力大,收低油门也难以降落时, 可能离地6米(第二阶段降落高度)被误判而上锁!! b.小飞机(触地没感觉那种)如果使用3-5很久才上锁的请使用0或1. 固件名称:ArduPlane-20181212 (V3.10.0-DEV) 版本识别码:3d1a3a0c ================================================================= 1.同步官方代码 *2.遥控器失控保护优化 针对某些遥控增程或数传遥控一体(例如ULRS/OPENLRS/华之翼/...)这类使用记忆全部通道方式 来处理失控保护的遥控器,确保失控时自动模式不受其它信道影响(例如CH5在CH3拉低前置入RTL). *3.提高Q_LAND_DETECT=3的判断门坎 有些翼面积大而重量轻的空机,自动降落时碰到强上升气流油门收到最低也难以降落,可能会被误 判为地效(已触地). *4.多轴模式上锁时固定翼的舵面可设置中立或自由摆动(不输出PWM),以避免降落后舵机憋舵. LAND_THEN_NEUTRAL=0(无) LAND_THEN_NEUTRAL=1(降落后舵面中立) LAND_THEN_NEUTRAL=2(降落后不输出PWM,舵面自由摆动) 固件名称:ArduPlane-20181125 (V3.10.0-DEV) 版本识别码:b6519c88 ================================================================= 1.同步官方代码 2.新增 VTOL_LAND 自动盘旋降高且迎风转多轴降落功能. 使用方法: .将参数Q_OPTIONS=16以启用本功能(注:Q_OPTIONS其它功能bits定义请往下找,有详细定义) .航线命令VTOL_LAND的高度栏输入盘旋到多高才转多轴,例如设50米则超过50米会自动盘旋到50米(不到50米则不盘旋) .到达VTOL_LAND输入的高度会自动找风向并转换为多轴,最后以多轴模式机头迎着风向来降落. 示范: http://v.youku.com/v_show/id_XMzkzMzQwNjYyOA==.html 警告:请注意降落点附近是否有障碍,如果有障碍务必VTOL_LAND在MP输入的高度要大于障碍高度. *3.地面站以AUTO模式解锁会先怠速再起飞(3秒倒数). *4.多轴转换到固定翼的代码优化,主要改善侧风对转换的影响. 如果转换还会偏航的就是结构问题,可以采用以下方法: .不管以什么方向转换都固定往左偏航,则把左倾转舵机往前倾一点点(约20-80pwm要试). .不管以什么方向转换都固定往右偏航,则把右倾转舵机往前倾一点点(约20-80pwm要试). 固件名称:ArduPlane-20181106 (V3.10.0-DEV) 版本识别码:38eed4ba ================================================================= 1.同步官方代码 .电池故障保护电压参数转换修复 .安全开关启动修复(偶尔没有正确初始化) .SD卡记录清空仅在上锁时可用(避免用户试图在飞行时擦除日志) .Pixracer LED颜色修复 .RC输入处理修复 .在Pixhawk F7板上启用安全开关 .MP地面站的更改空速修复(以前不能用) .新增支持一些板子 固件名称:ArduPlane-20181005 (V3.10.0-DEV) 版本识别码:9cd62e81 ================================================================= 1.同步官方代码 .修正 COMPASS_AUTO_ROT 参数造成罗盘校准时旋转了两次的Bug! .修正切换到 QLoiter 模式姿态会大幅变化的问题. .一些关于ChibiOS的修正(包括RSSI/Dshot/安全开关及一些小修正) *2.由多轴转换为固定翼的过渡算法优化,主要影响: a.过渡电流降低. b.航向控制更平直,如果转换还会偏航的就是结构问题,可以采用以下方法: .不管以什么方向转换都固定往左偏,则把左倾转舵机往前倾一点点(约20-80pwm要试). .不管以什么方向转换都固定往右偏,则把右倾转舵机往前倾一点点(约20-80pwm要试). *3.新增支持SAU-II飞控(成都 UAV-AI 无限创新出品): a.自动模式(AUTO)平滑处理,尤其机头在地面没有对正下个航点,转换也会沉稳且平滑. b.机型4+1(或4+2),过渡第二阶段(Q_TRANSITION_MS时段)平滑高度控制. 固件名称:ArduPlane-20180915 (V3.10.0-DEV) 版本识别码:0e0d847f ================================================================= 1.同步官方代码 .Q_OPTIONS参数新增 Bitmask0(bit0就是十进制1):转换限制ROLL角度 注意:这个选项勿用,应使用群固件Q_TRAN_RLL_MAX参数(有缩放平滑能力,稳定) Bitmask1(bit1就是十进制2):垂起机型使用跑道起飞(滑行起飞). Bitmask2(bit2就是十进制4):垂起机型使用跑道降落(滑行降落). Bitmask3(bit3就是十进制8):高度大于起飞高度则不执行起飞命令. Bitmask4(bit4就是十进制16):启用VTOL_LAND盘旋降高及迎风转多轴降落. 例如Q_OPTIONS=8,表示目前高度>自动起飞高度则忽略起飞命令. .官方修正了不少的Bugs,但大部份官方的Bugs在本固件不会发生(因为算法及控制方式不同),只列出影响到的. a.修复了一个ADC错误,影响某些飞控板的模拟输入. b.修复了一个航位推算的错误,导致GPS丢失. c.修复了在起飞期间如果飞机没有足够的动力爬升达到目标高度,造成姿态不稳定. *2.新增参数 NAVL1_SMOOTH=平滑航线控制,这是一个bit型态,默认为3(bit0+bit1皆打开) bit0(1):RTL平滑 bit1(2):航线(转弯)平滑 bit2(4): bit3(8): 只要将想要的功能加起来即可,例如bit0+bit1=1+2=3 *3.侧风能力的增强,由固定翼转换回多轴航向控制将更稳定,过渡到定翼也更平顺. *4.Skywalker X8(三角翼机型)有更好的支持. 固件名称:ArduPlane-20180910 (V3.10.0-DEV) 版本识别码:b5d72224 ================================================================= 1.同步官方代码 .重构CAN代码,已支持"成都-无限创新UAV-AI"所有CANBUS设备(GPS/舵机/智能电池/罗盘/空速计/...) .新增参数:RC?_Option .优化一些有关姿态控制的代码. .修正失控时尾舵停留在遥控器最后位置的Bug! *2.新增参数SRV_MIX_QUAD=多轴模式遥控器打舵时固定翼舵面输出%(范围:0-1,增量0.01) 例如: SRV_MIX_QUAD=1 (100%舵量,默认值=1) SRV_MIX_QUAD=0.5(50%舵量) SRV_MIX_QUAD=0 (0%,固定翼舵机不受遥控器影响) 注:自稳反馈不受此参数影响,仅影响所有多轴模式遥控器打舵的固定翼舵面输出. 若为负值则打舵与反馈皆影响,例如-0.5则遥控器打舵及自稳反馈皆为50%(全关闭可设-0.001) *3.新增参数CAN_D1_UC_MAG_ID=指定CAN BUS罗盘ID 0=自动(默认) 55=外置CANBUS罗盘(指定后将停用CAN GPS内置罗盘而改用高精度外置罗盘) *4.修正失速保护太敏感,有些空速计量测震幅大,所以改成失速0.2秒后才启用多轴协助. *5.新的水平校准方法(如果TRIM_PITCH_CD=0则使用旧的方法): TRIM_PITCH_CD=固定翼与多轴的夹角差(0=禁用,100=1度,350=3.5度,...类推,默认=0) a.在平的桌面做好加速度计六面校准再装上机. b.以多轴水平为准,按一下加速度计页的[水平校准],并调好倾转舵机与地面垂直及水平. c.TRIM_PITCH_CD=200(2度)开始升空试,观察FBWA平飞的姿态,如果低头则增加,抬头则减少 ,或观察HUD与舵面(RCOUT.CH2升降)并调整参数到适当. 注:.X8(三角翼)300-600适当,其它飞机以200(2度)开始调. .切换模式(例QSTABILIZE->FBWA)会在MP的HUD看到角度变化. *6.针对所有三角翼机型(例如X8)的多项优化(包括转换/固定翼模式/多轴模式) 固件名称:ArduPlane-20180816 (V3.10.0-DEV) 版本识别码:0f7c837d ================================================================= 1.同步官方代码 大部份是针对ChibiOS的修改及优化. *2.针对CANBUS的支持(成都UAV-AI生产的CANBUS设备) .CANBUS GPS/罗盘/RGB LED支持(CAN1_DEV及CAN2_DEV皆可用) .CANBUS 空速计支持(CAN1_DEV及CAN2_DEV皆可用) *3.新增[应急航线]功能. 如果在自动模式触发RTL(例如低电压/失控/地面站切返航/...),可以选择由某个航线来安全回家. 这个功能最好由修改过的地面站来做(会判断合不合理),如果使用一般地面站输入参数则要很小心. 参数:理论上这个参数是由地面站控制,但没特殊地面站也可以自己输入(请谨慎输入). WP_EMC_1=nnnxxx (共6位数,参数为0则禁用) nnn=超过这个航点编号才会启用应急航线. xxx=应急航线的进入航点编号,如果不足3位数则前面补0 例如:WP_EMC_1=6025,则nnn=6,xxx=25 表示自动航线飞过第6点如果发生RTL则延着航点25->26->27->....路径来回家. 例如:WP_EMC_1=30125,则nnn=30,xxx=125 表示自动航线飞过第30点如果发生RTL则延着航点125->126->127->....路径来回家. 注意:如果没有专用地面站(会自动检本是否合理),请每次上传航线时自己检查这个. *4.其它小修改: .THR_MAX 固定翼最大油门限制改成比例缩放方式. .针对三倾转机型:开关高=3动力/开关中=双前拉/开关低=单后推 RC?_OPT=3(按目前一样方式,没用到的电机不会自动倾回) RC?_OPT=31(同上功能,但双前拉时尾电机会自动倾回) RC?_OPT=32(同上功能,双前拉时尾电机会自动倾回,单后推时前拉电机会自动倾回) 固件名称:ArduPlane-20180802 (V3.10.0-DEV) 版本识别码:5d923aed ================================================================= 1.同步官方代码 .ChibiOS的一些修正. .修正蜂鸣器有些声音不会播放的问题. .TECS的一些修正. .移除"no io thread heartbeat"这个错误信息. *2.CANBUS 空速计支持 参数: ARSP_TYPE(空速计类型) 0:禁用 1:I2C-MS4525D0 2:Analog 3:I2C-MS5525 4:I2C-MS5525 (0x76) 5:I2C-MS5525 (0x77) 6:I2C-SDP3X 7:CANBUS 将 ARSP_TYPE=7 则启用CANBUS空速计. *3.新增 RLT 自动盘旋绕圈降低高度功能. Q_RTL_LOIT_MIN=高度大于此值启用盘旋降高,默认500米 Q_RTL_LOIT_RAD=盘旋绕圈半径,默认110米(若为负值则逆时针绕圈) Q_RTL_LOIT_ALT=盘旋降高到这个高度,默认100米 注: 1.以上3个单位皆为米,且默认值偏向保守,请自行视情况修改. 2.请确认HOME半径内没有比 RTL_LOIT_ALT 还高的障碍物. 3.当接近RTL_RADIUS(若为0则用WP_LOITER_RAD)半径开始绕圈降高,当高度到达会等适当角度转成多轴降落. 4.绕圈圆心是RTL_RADIUS参数决定的,若HOME要在圆外径的切线上则把RTL_RADIUS跟Q_RTL_LOIT_RAD设相同. 5.绕圈半径应适当,默认110米是个不错的半径,盘旋降高时电流<=1A. 6.Rally Point(集结点)也会采用这方式降高. *4.新增转盘云台,启用时会于自动(AUTO)模式永远将相机对准下一个航点(WP),可解决偏航/侧滑的航向偏移. MNT_AUTO_WP=1(1=启用,0=禁用,默认为0) 注:云台类型与目前设置相同,可为舵机转盘或无刷云台. 例如: WP MNT_AUTO_WP=1(启用转盘云台锁WP) MNT_TYPE=1(启用舵机云台,如果您的无刷云台支持Mavlink协议也可以用无刷云台) MNT_DEFLT_MODE=3(不是在自动模式则采用这个设置,默认3是以遥控器旋钮控制云台) MNT_RC_IN_PAN=6(用遥控器CH6旋钮控制云台转动,注意:在自动模式下旋钮会被禁用,因为锁WP中) MNT_STAB_PAN=1(启用YAW轴向云台) SERVO11_FUNCTION=6(使用AUX3插云台舵机,也可以使用SERVO8或其它空的PWM输出口) *5.遥控器功能开关由RC?_TRIM 改为 RC7_OPT ~ RC9_OPT,因为TRIM每次遥控器校准后会归零造成困扰. RC?_OPT功能代号如下: 0=禁用 3=3矢量Y3专用(低位=后侧单电机推力,中位=前侧双电机推力,高位=前后三电机推力) 4=4倾转X4专用(低位=后侧双电机推力,中位=前侧双电机推力,高位=前后四电机推力) 104=开关中位=LOITER(绕圈),开关高位=RTL(自返) 106=开关中位=FBWB(FBWB定高模式),开关高位=CRUISE(巡航模式) 109=相机快门触发 116=自动模式(已取消,因为有疑虑,关控再开控会切换到主模式开关的模式而不是自动) 118=QLand 模式(原地多轴模式自降) 124=航线任务重置(Auto Mission Reset) 128=继电器1 (开关高位=开, 开关低位=关) 134=继电器2 (开关高位=开, 开关低位=关) 135=继电器3 (开关高位=开, 开关低位=关) 136=继电器4 (开关高位=开, 开关低位=关) 例如: RC7_OPT=104,则遥控器开关CH7在中位时是Loiter模式,开开打到高位是RTL. RC9_OPT=109,则遥控器开关CH9打到高位就会拍一张相片(且会存CAM位置). 固件名称:ArduPlane-20180725 (V3.10.0-DEV) 版本识别码:b1300367 ================================================================= 1.同步官方代码 主要针对ChibiOS的一堆修正及优化,还有新增一些飞控板及OSD的支持. 2.新增参数 *Q_TRAN_RLL_MAX:转换期间允许的最大横滚(ROLL)角度,默认5(度). 这个参数会随空速及地速的增加而渐渐增加角度(最大2.5倍,但不会超过LIM_ROLL_CD) 用途:转换固定翼如果机头没对准航线,会一边转换一边转弯(姿态不好看),所以新增参数做平滑. *Q_TILT_SRV_SYNC:舵机(Canbus)启用角度回传/保护 这是一个bit形态的参数,每个bit表示如下: bit1(1)=角度允许最大偏移5度 bit2(2)=角度允许最大偏移10度 bit3(4)=角度允许最大偏移15度 bit4(8)=角度偏移持续时间>100ms(微秒)为故障 bit5(16)=角度偏移持续时间>200ms(微秒)为故障 bit6(32)=角度偏移持续时间>300ms(微秒)为故障 bit7(64)=故障时是否要回报给地面站 bit8(128)=故障应变1级(故障禁止解锁/禁止转换/采同步倾转) bit9(256)=Debug模式(会向地面站不停发送角度信息) bit10(512)=故障应变2级(按照故障时的角度做出适当处置,多轴降落或固定翼回家盘旋) 例如: 1.一般故障仅告警但不限制:bit2+bit5+bit7 = 2+16+64=82 2.故障告警+限制:bit2+bit5+bit7+bit8 = 2+16+64+128=210 3.仅输出舵机信息在地面站:bit2+bit5+bit9 = 2+16+256=274 Q_TAILSIT_THSCMX:用于尾座式油门缩放的最大值,减小此值可减少低频振荡. *3.更新QRTL/QLAND代码,目前官方代码模拟起来很漂亮(因模拟在完美条件下),实际使用却不理想! 所以新的群固件QRTL及降落重新写了,会更准且更稳定. 固件名称:ArduPlane-20180713 (V3.10.0-DEV) 版本识别码:08da22 =============================================================== 1.同步官方代码 主要针对OSD及ChibiOS的修正及优化. *2.修正航线命令(TAKEOFF/VTOL_TAKEOFF)如果不小心加上坐标(经纬度)可能会造成炸机 或是起飞时不会垂直上升,而是朝着误设的点斜着飞过去. 所以群固件会把该命令的坐标删掉(如果你刻意用MP读入会发现变回0了) 如果没有要更新的人,TAKEOFF/VTOL_TAKEOFF记得别给坐标,请维持0,否则会出问题. *3.Q_TILT_DN_THR及Q_TILT_UP_THR改名为Q_TILT_THR_DN及Q_TILT_THR_UP 这样在参数表才会排在一起方便查看. 固件名称:ArduPlane-20180702 (V3.9.0-DEV) 版本识别码:802f6a =============================================================== 1.同步官方代码 .F7(STM32F7)支持,包括Pixhawk4/Pixhack5/Pixhawk2 Cube(橘色) .修正了很多的ChibiOS Bugs! *2.返航或降落时不触发低电压(F/S_Battery) 固件名称:ArduPlane-20180610 (V3.9.0-DEV) 版本识别码:b95fe2 =============================================================== 1.同步官方代码 2.ChibiOS支持 新增 FMU_V2/V3/V4/V5(F7) 固件支持. 注:ChibiOS目前仍在测试中,新手不建议刷. *3.新增参数 Q_TILT_THR_DN 由多轴转换到固定翼的油门限制(例:0,100=100%,90=最大90%) 用途:限制动力过大转换时机身结构撑不住,转换完成后则受THR_MAX(固定翼最大油门)参数限制 固件名称:ArduPlane-20180601 (V3.9.0-DEV) 版本识别码:31c6d7 =============================================================== 1.同步官方代码 *2.修正以下几个Log单位(原本MP会除以100,例如地速20显示成0.20) GPS.Spd POWR.Vcc POWR.Servo *3.新增参数 FS_AUTO_UNLOCK 自动模式遥控器失控不锁模式开关(1=不锁,0=锁) 默认为0(会锁模式,必须打YAW杆取回控制权),如果设1的风险自负 且炸机不要传log上来(详见下方ArduPlane-20171124版本更新说明) 异动参数: Q_ASSIST_ALT=高度保护,当设置负值可以指定一个遥控器通道(旋钮或开关)来指定高度, -6为CH6,-7为CH7...-14为CH14,当旋钮或开关在中位(PWM=1500)则为25米高 在低位(PWM<1100)则关闭高度保护,在高位(PWM>1900为50米,PWM>2100为65米) 如果为正值(>0),则指定高度(20=20米),详见下方ArduPlane-20180502更新说明. Q_ASSIST_ALT_MOD=使用什么模式救机,详见下方ArduPlane-20180502更新说明. a.设定多了一个21(QRTL)模式. b.如果遥控器在失控状态(或没打开)则直接QLAND自降模式救机. 固件名称:ArduPlane-20180516 (V3.9.0-DEV) 版本识别码:fd4463 =============================================================== 1.同步官方代码 *自检不检查RC7(包括RC7)之后的Trim值. *2.支持CAN Bus总线舵机角度反馈/故障检知及应变. *3.新增参数(功能) Q_LAND_DETECT 自动降落完成(包括AUTO/RTL/QLAND)侦测方式. 0=使用气压计在数秒内不变动>20公分(上锁慢>5秒,这是默认旧的方式) 1=使用气压计在数秒内不变动>20公分(上锁快>3秒) 2=使用地效+ACC-Z来判断(上锁慢>2秒) 3=使用地效+ACC-Z来判断(上锁中>1秒,默认值) 4=使用地效+ACC-Z来判断(上锁快>0.5秒) 5=使用地效+ACC-Z来判断(上锁极快>0.3秒),上升气流强且载机轻动力大的请小心使用!! 当收低油门也很难降落时,可能于离地6米(第二阶段降落高度)上锁!! 注:小飞机(<2Kg)或震动很大的飞机,请维持默认方式设为0或1. *4.自动模式可手动升空再转换为AUTO. 固件名称:ArduPlane-20180502 (V3.9.0-DEV) 版本识别码:fd4463 =============================================================== 注意: 这个新版固件代码改动幅动相当大,由旧版更新到这个版本可能要调整参数 才能飞,所以建议新手暂时不要用,先让熟PID的群友先试. 1.同步官方代码 .新增支持FBM320及DPS280气压计 .新增DEVO-M数传支持 .修正lotto_to_alt(盘旋上或下)离开时切线角度不正确的Bug. .修正发送给地面站的数值错误(误把温度当压力值). .修正安全开关可能在空中被按下的Bug,增加BRD_SAFETYOPTION参数. .为Here GPS的ICM-20948罗盘修改默认安装方向. .修正尾座式由FBWA过渡到QSTABILIZE油门有时会突然拉低的Bug. 2.新增BLHELI电调支持(必须使用ChibiOS) .透过Pixhawk的USB口以BLHeliSuite对Blheli调参/刷固件 .Dshot150/300/600/1200 支持 http://ardupilot.org/copter/docs/common-dshot.html#esc-telemetry 3.垂直起降(VTOL)优化 .使用新的位置控制算法取代旧版多轴姿态控制. .在转换(过渡)过程中使用新的速率姿态控制器(转换更平稳/高度控制更好) .水平位置控制器以400hz全速运行(旧的为50hz) .新的L1距离计算方式(转弯会更平顺) .新增/异动参数 Q_A_INPUT_TC(姿态控制输入时间常数),值越小反应越大,值越大反应越小 例:Q_A_INPUT_TC=0.5很软,0.2软,0.15中,0.1快,0.05非常快 .速度增益加倍,Q_P_VELXY_P,Q_P_VELXY_I,Q_P_VELXY_D参数可能要调一下(调大) .Q_P_ANGLE_MAX 位置控制器角度限制(0-45度),如果设0则采用Q_ANGLE_MAX .多轴的QLOITER增加了煞车控制,参数:WPNAV_BRK_JERK,BRK_ACCEL和BRK_DELAY 倾斜角度Q_WP_LOIT_ANGM(0-45),如果设0则为Q_ANGLE_MAX的70%角度 *修正当GPS精度差而返航降落,可能会停在HOME上方不降落的问题. *新增转换回多轴油门缩放参数,如果转换回多轴会爬高,可设一个适当的值,例如60(%) TILT_THR_UP=0禁用,1~99为油门缩放% *新增低高度协助参数: Q_ASSIST_ALT=低于这个高度0.5秒则触发救机(0=禁用,1~300=1米~300米) Q_ASSIST_ALT_MOD=使用什么模式救机(0=禁用,17=QSTABILIZE,18=QHOVER,19=QLOITER,20=QLAND,21=QRTL) 注:飞行至少要曾经以固定翼模式飞超过ASSIST_ALT+5米,如果没有则不会触发. *4.CAN BUS舵机/电调/GPS的支持. 注:硬件量产中(目前还买不到),只供少部份拿到样品的群友测试用. *5.新增支持以直升机为基础的飞机,详见 HeliPlane.txt 文件(内有说明) 注:结构也还没有量产(目前也买不到),也是只提供有能力自己DIY结构的群友测试用. 固件名称:ArduPlane-20180222 (V3.9.0-DEV) =============================================================== 1.同步官方代码 .修正EKF高度估算有误差的Bug! .支持 ChibiOS .代码整理及一些关于定时器的优化. 已知问题: .新固件有个参数(电流比率)BATT_AMP_PERVOLT已改成BATT_AMP_PERVLT,而MP还没更新 所以电源管理页会出现错误"找不到BATT_AMP_PERVOLT参数",如果要改电源量测的参数 请自己进到全部参数表,直接改BATT_AMP_PERVLT这个参数即可. 功能异动: .固定翼绕圈模式(LOITER模式)原本切入点是圆外径,新版本已改切入点为圆心,高度可以 用升降舵改变,但放开升降舵会自动爬回原高度. *2.修正当禁用(或没装)安全开关,通电时电机有时候会转个1~2圈的问题. 这段代码已重写(已根治这问题) *3.可变螺距的垂起开始测试. 固件名称:ArduPlane-20180127 (V3.9.0-DEV) =============================================================== 1.同步官方代码 *2.修改Y3转换的算法,主要是针对Y3在侧风转换时左右翼会摇摆前进(不美观). 可藉由修改 Q_WVANE_MINROLL=1~3(通常会是1到3之间的值) 可以由0.5开始试(0.5 1 1.5 2 2.5 3),直到摇摆现象消失. *3.修改多轴姿态算法去融合高速倾转舵机,如果使用高品质的高速倾转舵机可以 参考新的参数调法,可以让多轴性能更好(跟手且更抗风). 固件名称:ArduPlane-20180114 (V3.9.0-DEV) =============================================================== 1.同步官方代码(V3.8.5版本发布) .双空速计支持(故障转移) .新增MS5525气压计,SDP33空速计的支持 .优化电机推力计算 .修改了一些Mavlink协议内容及DataFlash记录 .当失去GPS时重置地速,直到再次锁定GPS. .修正新的空速计(MS5525)驱动在时间上的错误 .新增PocketPilot的支持 .代码整理及一些关于EKF及气压计的优化. 固件名称:ArduPlane-20171229 (V3.8.3-DEV) =============================================================== 1.同步官方代码: *2.修正当禁用(或没装)安全开关,通电时电机有时候会转个1~2圈的问题. 固件名称:ArduPlane-20171220 (V3.8.3-DEV) =============================================================== 1.同步官方代码: .修正一些内存占用及建构create()的问题. .移除一些没用到的代码. .修正多轴助推油门控制问题 .EKF及ARHS代码优化. .修正SBUS OUT及单线舵机协议的一些问题. .还有一些官方小修正. 固件名称:ArduPlane-20171128 (V3.8.2-DEV) =============================================================== 1.同步官方代码: .修正罗盘校准有时会卡在33%进度. .多轴助飞情况下,最小空速可以设很小(例如0) .还有不少小修正,具体请查官网 *2.由定翼转回多轴模式减速判断改用地速(原本是空速优先,没空速才用地速) *3.记录(log)更多的NAV(导航信息). 固件名称:ArduPlane-20171124 (V3.8.2-DEV) =============================================================== *1.在AUTO(自动模式)遥控器失控(F/S)后恢复信号会锁定模式此时模式开关无效. 必须在3秒内左右摇动YAW杆大于3次(摇动方向不可太大到极限)才能解锁. 这是为了防止遥控信号断断续续(或接收机不良)误以为要取回控制权而由AUTO变成某个模式. 固件名称:ArduPlane-20171121 (V3.8.2-DEV) =============================================================== 1.同步官方代码 2.支持Volz舵机(可监控舵机温度/角度/电流...) *3.RTL及QLAND的自降过程可人为控制移位(例如底下刚好有人或车) 两段降落皆可移位,此时油门不可控且油门F/S或0%时禁止移位(以防已关控) *4.两段自动降落代码优化(无段差/平稳转换). *5.优化Y3过渡代码(主要针对X8飞翼3矢量机型) 固件名称:ArduPlane-20171108 (V3.8.2-DEV) =============================================================== 1.强迫PX4IO更新 Pixhawk2 Cube刷V3固件IO没更新,造成Mission Planner认不得Cube,如果有这个 问题的人,请重刷这个版本即可. 2.修正未解锁时矢量无法运作的问题,这个是方便我们地面调机(调整矢量角度)用. 3.自动降落并自动上锁的判断更为严谨. 固件名称:ArduPlane-20171105 (V3.8.2-DEV) =============================================================== 1.同步官方固件(V3.8.3_Beta4发布) #尾座式代码优化(包括悬停稳定度及转换过渡的稳定度大幅提升) #新增参数 Q_TRANS_DECEL (减速率m/s/s,预设为2.0) 用于自动转换(固定翼转到多轴)的减速率,值越大则减速越快距离越短. 2.新增飞控板 Pixhawk3 PRO 的支持,对应固件ArduPlane-v4_PRO.px4 固件名称:ArduPlane-20171030 (V3.8.2-DEV) =============================================================== 1.同步官方固件(V3.8.3_Beta1发布) #允许在GUIDED模式下使用Q_GUIDED_MODE = 0进行垂直起飞 #修正了MANUAL_RCMASK的错误 #尾座式平滑转换 #新增航线命令 LOITER_TO_ALT #在FMUv3 I2C上增加了IST8310罗盘 #上锁时记录关键信息 #仿真能力的改进 2.TECS:改进了对VTOL转换的支持 3.新增 Q_MAV_TYPE 参数,可针对某些地面站发送心跳种类,以避免地面站断线,值如下: 0:AUTO,1:FIXED_WING,2:QUADROTOR,3:COAXIAL,4:HELICOPTER,7:AIRSHIP,8:FREE_BALLOON, 9:ROCKET,10:GROUND_ROVER,11:SURFACE_BOAT,12:SUBMARINE,16:FLAPPING_WING,17:KITE, 19:VTOL_DUOROTOR,20:VTOL_QUADROTOR,21:VTOL_TILTROTOR 注:如果是MP/Tower 则使用预设的0即可. 4.针对降落代码的优化 5.针对自动航线代码的优化 6.短失控FS_SHORT_ACTN可关闭,可设置的值如下: 0:CIRCLE/不动作(在AUTO|GUIDED|LOITER模式下),1:CIRCLE,2:FBWA,3:关闭(不动作) 7.新增Q_OPTIONS参数,允许垂起机型选择使用固定翼起飞和着陆 位表示: bit0:LevelTransition(转换到固定翼时机翼倾斜必须在LEVEL_ROLL_LIMIT角度内) bit1:AllowFWTakeoff(可以用固定翼起飞) bit2:AllowFWLand(可以用固定翼降落) 例如1(bit0)表示转换期间机翼必须保持在LEVEL_ROLL_LIMIT角度内. 例如6(bit1,bit2)表示允许使用固定翼模式(而不是垂起模式)起飞及降落. 固件名称:ArduPlane-20171011 (V3.8.2-DEV) =============================================================== 1.同步官方固件 *2.新增固定翼矢量参数(预设是关闭的) Q_TILT_FIX_ANGLE=10(固定翼矢量角度,0=关,10=10度) Q_TILT_FIX_GAIN=100(固定翼矢量感度,0=关,100=100%) 调试方法: 1.先将Q_TILT_FIX_ANGLE=10 , Q_TILT_FIX_GAIN=100 2.切换手动/QStabilize模式,设置好Servo9_Min/Servo9_Max及Servo10_Min/Servo10_Max行程量 3.QStabilize模式,推油门(不要解锁),打YAW试试角度(桨会一前一后摆动,但又不会砍到机翼) 4.手动模式,推油门(不要解锁),打升降舵试角度(会同上同下),打副翼试角度(会一前一后), 5.FBW*模式,推油门(不要解锁),机身往前倾则舵机角度朝上,往右倾则舵机角度往上. 6.都调好了就把Q_TILT_FIX_GAIN=50,升空测试,如果觉得不够再自行增加(最大到100%). 用途: 利用矢量来辅助固定翼舵面修正,舵失效仍有一定的控制能力. 航线压的更好,爬升及下降更容易,高度保持更好,可解决很多载机的毛病或僻性. 固件名称:ArduPlane-20171006 (V3.8.2-DEV) =============================================================== 1.同步官方固件 2.新增Y6F机型及修正一些GPS写入log的问题. Q_M_THST_EXPO(电机推力曲线)允许设置负值,接近0为线性,否则为曲线. 注:Q_M_THST_EXPO参数如果设0的人,请把它改成0.1(最小值),预设为0.65 3.倾转的双发差速感度参数统一改成 RUDD_DT_GAIN(预设为10=10%),这将使用于固定翼 所有模式(包括手动模式),通常设20%~30%就有不错的过弯效果了. 4.类似多轴CH?_OPT的参数: RC7_TRIM ~ RC12_TRIM值: 3=3矢量Y3专用(低位=后侧单电机推力,中位=前侧双电机推力,高位=前后三电机推力) 4=4倾转X4专用(低位=后侧双电机推力,中位=前侧双电机推力,高位=前后四电机推力) 104=开关中位=LOITER(绕圈),开关高位=RTL(自返) 106=开关中位=FBWB(FBWB定高模式),开关高位=CRUISE(巡航模式) 109=相机快门触发 116=Auto模式 118=QLand 模式(原地多轴模式自降) 124=航线任务重置(Auto Mission Reset) 128=继电器1 (开关高位=开, 开关低位=关) 134=继电器2 (开关高位=开, 开关低位=关) 135=继电器3 (开关高位=开, 开关低位=关) 136=继电器4 (开关高位=开, 开关低位=关) 例如: RC7_TRIM=104,则遥控器开关CH7在中位时是Loiter模式,开开打到高位是RTL. RC9_TRIM=109,则遥控器开关CH9打到高位就会拍一张相片(且会存CAM位置). 如果RC7_TRIM~RC12_TRIM的值不是以上编号,则无作用. 固件名称:ArduPlane-20170922 (V3.8.2-DEV) =============================================================== 1.同步官方固件 2.QLoiter及QLand平滑控制(按速度预估锁定位置,到达才锁位置以避免抬头) 3.log中的"Reset alt target"单位由公分改为米 4.新增Mavlink命令 DO_SET_HOME (重设HOME的位置) 固件名称:ArduPlane-20170911 (V3.8.2-DEV) =============================================================== 1.同步官方固件(V3.8.2发布) 2.GUIDED(导引模式)支持QGroundControl地面站改变高度. 3.支持QGroundControl地面站用摇杆(Joystick)控制飞机. 固件名称:ArduPlane-20170909 (V3.8.2-DEV) =============================================================== 1.同步官方固件(V3.8.2beta1发布) 修正Septentrio (SBF) GPS驱动的错误的,使用Septentrio/RTK 的人务必更新. 2.GUIDED(导引模式)支持VTOL自动起飞/改变高度功能. 3.过渡(旋翼跟定翼之间的转换)将更为平滑. 固件名称:ArduPlane-20170907 (V3.8.2-DEV) =============================================================== 1.RTL高度平滑控制(由定翼自动转为多轴滑向Q_RTL_ALT=30米,这段平滑控制) 固件名称:ArduPlane-20170903 (V3.8.1-DEV) =============================================================== 1.同步官方固件(V3.8.1稳定版发布,代码整理及一些官方小bug修正) 2.新增一个数传口,现在SERIAL5可以设置为一般数传口(不再只能当NSH) 固件名称:ArduPlane-20170810 (V3.8.1-DEV) =============================================================== 1.同步官方固件 2.新增三矢量Y3支持,只要把 Q_TILT_MASK=11 Servo*_Function=45(后矢量倾转舵机) RC7_TRIM=3(或RC8_Trim=3或RC9_Trim=3或RC10_Trim=3任选其一,勿重复) 当这个遥控器开关: 低位=后侧单电机推力 中位=前侧双电机推力 高位=前后三电机推力 启用Pitch助推: Q_VFWD_GAIN=0.1(反应太大则0.05,觉得太小则0.2) 其它设置同Y3 固件名称:ArduPlane-20170806 (V3.8.1) =============================================================== 1.同步官方固件(V3.8.0稳定版发布) 2.新增MANUAL_RCMASK参数,可以在手动模式下指定那些信道直接由遥控器输出. 也就是手动模式可以随自己高兴去搞混控或特技组合之类的... 这是一个bit型式,设置方法就跟Log_Bigmask一样方法,对照如下: 0:Chan1,1:Chan2,2:Chan3,3:Chan4,4:Chan5,5:Chan6 6:Chan7,7:Chan8,8:Chan9,9:Chan10,10:Chan11, 11:Chan12,12:Chan13,13:Chan14,14:Chan15,15:Chan16 固件名称:ArduPlane-20170730 (V3.80 Beta6) =============================================================== 1.同步官方固件(主要是优化及修正EKF3这方面的代码) 2.如果降落伞没有成功释放,会自动再尝试. 3.增加GPS毛刺(glitching)的LED及音效警告,解锁也加入GPS毛刺的检查. 注:有人反应上个版本(0724)通电后会抖舵,我们试是不会,如果会抖舵的人 更新到这版本试试,I/O有刻意更新,务必等待音乐停止再按OK,否则I/O 没更新,舵机控制也没被更新. 固件名称:ArduPlane-20170724 (V3.80 Beta6) =============================================================== 1.同步官方固件 *2.由任何固定翼模式(包括手动/自动),直接切到QLoiter(多轴GPS悬停模式) 会自动滑行一直持续到空速低于4(约时速15公里以下)才会进入QLoiter,或 Q_TRANSITION_MS(预设5000=5秒)时间到也会进入QLoiter,如果是大机可以 加大这个过渡时间,让滑行久一点. 固件名称:ArduPlane-20170720 (V3.80 Beta6) =============================================================== 1.同步官方固件 2.修正EKF3还没GPS定位时地面站显示的高度错误问题. 3.新增参数COMPASS_TYPEMASK(那些罗盘驱动在开机时不须加载),bit表示: 0:HMC5883,1:LSM303D,2:AK8963,3:BMM150,4:LSM9DS1,5:LIS3MDL,6:AK09916, 7:IST8310,8:ICM20948,9:MMC3416,10:QFLIGHT,11:UAVCAN,12:QMC5883 4.优化自降代码 固件名称:ArduPlane-20170714 (V3.80 Beta6) =============================================================== 1.同步官方固件(V3.80 Beta6) Beta6主要是修正了旧版本一些Bug/代码整理/以及: EKF3代码优化. Mavlink及Log记录的格式修改. CAN Bus设备的支持. 删除旧的V尾/飞翼 混控(mix_mode)方式,已由新的方式取代. 删除旧的升降及副翼输入信道,已由新的方式取代. 尾坐式代码优化. 固件名称:ArduPlane-20170621 (V3.80 Beta5) =============================================================== 1.同步官方固件(EKF3优化及官方几个小Bugs修正) 2.Mavlink的GPS协议修改,可以由MAVLINK_MSG_ID_GPS_RAW_INT包取得GPS周及时间,应用代码如下: //MAVLINK_MSG_ID_GPS_RAW_INT: //Mavlink Packet:24 uint64_t gm=mavlink_msg_gps_raw_int_get_time_usec(&msg); GPS_Time=gm/(uint64_t)100000; GPS_Week=gm%GPS_Time; 固件名称:ArduPlane-20170609 =============================================================== 1.同步官方固件(EKF3优化) *2.矢量Y3代码再次优化 固件名称:ArduPlane-20170601 =============================================================== *1.矢量Y3代码优化 矢量舵机修正会套用 Q_RAT_YAW_FF(前馈)参数值,所以Y3可以把 Q_RAT_YAW_FF=0.10 到 0.35(具体设多少要试) Q_RAT_YAW_I 偏大. Q_RAT_YAW_P,Q_ANG_YAW_P偏小,且RLL及PIT的ANG及RAT参数不宜过大. 固件名称:ArduPlane-20170530 =============================================================== 1.同步官方代码 *2.矢量Y3代码优化 *3.新增类似多轴 CH7_OPT / CH8_OPT 这两个参数,设置方法: RC7_TRIM或RC8_TRIM值: 104=开关中位=LOITER(绕圈),开开高位=RTL(自返) 109=相机快门触发 116=Auto模式 118=QLand 模式(原地多轴模式自降) 124=航线任务重置(Auto Mission Reset) 128=继电器1 (开关高位=开, 开关低位=关) 134=继电器2 (开关高位=开, 开关低位=关) 135=继电器3 (开关高位=开, 开关低位=关) 136=继电器4 (开关高位=开, 开关低位=关) 例如: RC7_TRIM=104,则遥控器开关CH7在中位时是Loiter模式,开开打到高位是RTL. RC8_TRIM=109,则遥控器开关CH8打到高位就会拍一张相片(且会存CAM位置). 如果RC7_TRIM或RC8_TRIM的值不是以上编号,则无作用. 注:*2及*3是官方固件没有的功能. 固件名称:ArduPlane-20170519 =============================================================== 1.RTL自降(LAND)不使用官方的自降代码(因为总是怪怪的) 2.使用的度量衡单位名称统一为SI UNIT http://physics.nist.gov/cuu/Units/units.html 3.测试用代码(只有4倾转的机型有效,其它机型不受影响) 当 Q_TILT_MASK=15 前后同时倾转的VTOL. 如果 RC8_TRIM=5(前2个电机 0101=5) 则把遥控器的CH8>1750(开关高位),则固定翼模式只转前侧(多轴不影响) 如果 RC8_TRIM=10(后2个电机1010=10) 则把遥控器的CH8>1750(开关高位),则固定翼模式只转后侧(多轴不影响) 如果CH8开关<1750(不是高位),则固定翼模式4个电机同时转(多轴不影响) 4.EKF3代码优化 固件名称:ArduPlane-20170509 =============================================================== 1.修正Y3助推(Q_VFWD_GAIN>0)尾舵机角度问题. 2.尾座式新增参数TAILSIT_VHPOW(向量推力增益功率),提高向量起飞的稳定 3.ARSPD_USE 可以设置2 当设置为0时,空速传感器可以记录并显示在GCS上,但不会用于飞行 当设置为1时,将被记录并使用于飞行 当设置为2时,仅在油门为零时才使用,这对于桨后面的空速计的滑翔机是有用的 固件名称:ArduPlane-20170505 =============================================================== 1.固件 V3.80 Beta5发布 2.同步官方代码(EKF3代码优化) 固件名称:ArduPlane-20170429 =============================================================== 1.新增 BATT_VOLT_TIMEO 参数,可设定低电压持续几秒才触发低电压保护. 这是用于低C数电池(例如18650)在起飞时持续低压较长时间而触发,所以 低C电池请将此参数设大一些. 2.矢量推力控制与Q_VFWD_GAIN结合(可前推与后拉) 3.修正log的ATT->Yaw与DesYaw曲线无法显示的问题. 4.优化EKF3代码 5.移除不必要的代码(UAVCAN ESC)及重复代码以缩减Flash占用. 6.当油门为0%时,差速控制不运作. 固件名称:ArduPlane-20170424 =============================================================== 1.同步官方代码. 2.为了方便调试,当上锁时FBWA/FBWB会直接倾到底(若已解锁则只会倾到 Q_TILT_MAX的角度等待空速达到才会倾到底) 3.直接支持飞翼及V尾左右舵机. 这允许单独设置每个舵机行程量,也可以做[双飞翼]或[飞翼V尾]的特殊 机型,Servo*_FUNCTION 代号如下: k_elevon_left = 77(飞翼-左舵机) k_elevon_right = 78(飞翼-右舵机) k_vtail_left = 79(V尾-左舵机) k_vtail_right = 80(V尾-右舵机) 4.支持矢量控制(Y3或现有倾转机型) 关键参数: Q_TILT_TYPE=0 (一般倾转机型) Q_TILT_TYPE=1 (倾翼机型,例如CL-84) Q_TILT_TYPE=2 (矢量控制机型) Q_TILT_YAW_ANGLE=15 (矢量控制的最大倾转角度,15=15度.请正确设置, 以免倾转往后时桨去砍到机翼) Servo*_FUNCTION 代号如下: k_tiltMotorLeft = 75(矢量控制-左倾转舵机) k_tiltMotorRight = 76(矢量控制-右倾转舵机) 注:以上的左及右,是指人站在载机后方往机头方向看,请勿搞错左右方向! 固件名称:ArduPlane-20170421 =============================================================== 1.同步官方代码. 2.当倾转到达指定角度且空速达到后,将以最快速度倾到固定翼的角度. 固件名称:ArduPlane-20170417 =============================================================== 1.同步官方代码 2.禁止使用 固定翼模式解锁(手动模式除外) 这个是防止有人在地面误切FBWA模式,解锁后又推油门,此时所有电机会转 起来(包括多轴电机). 也要注意,解锁后在地面不要没事切到固定翼模式,除非你的飞机有轮子或要 弹射升空,如果没有...请用多轴模式升空!! 固件名称:ArduPlane-20170415 =============================================================== 1.新增:尾坐式 也可以 肚趴式 固件名称:ArduPlane-V2_20170414.px4 =============================================================== 1.尾坐式未解锁前,差速电机不怠速转动. 固件名称:ArduPlane-V2_20170413.px4 =============================================================== 新增: 1.矢量控制: SERVOn_FUNCTION=75或76 (75=左倾转舵机,76=右倾转舵机) Q_TAILSIT_VFGAIN=0.2 (向前飞行推力矢量增益) Q_TAILSIT_VHGAIN=0.3(悬停推力矢量增益) 相关参数 MIXING_GAIN=0.5(升降舵混控增益) Q_A_ACCEL_P_MAX = 40000(固定翼平滑到悬停转换,防止过早拉起机头) 固件名称:Tiltrotor_20170406.px4 =============================================================== 新增: 1.记录文件采用多线程写入锁. 2.尾坐式新增RUDD_DT_GAIN参数,方向舵到差速推力的控制(0~100%). 3.固定翼L1控制器更新,新增LIM_BANK参数(依海拔高度缩放Loiter半径). 4.EKF3更新. 5.新增参数BRD_IO_ENABLE(启用IO协处理器). 6.改善从QSTABILIZE到FBWA或QHOVER的转换更为稳定. 固件名称:Tiltrotor_20170403.px4 =============================================================== V3.80 Beta4版本发布,较重要的更新如下: - 用于单独设置输出伺服的新SRV_Channel系统 - 新的EKF3算法(默认不启用) - 支持尾座式VTOL(Tailsitter VTOL) - 大大提高了倾转机型(TiltRotor)稳定度 - 大大提高了多轴与固定翼的转换代码,转换更为稳定快速. - 空速噪音处理方面的大幅改进 - RTK GPS完整支持 - 大大提高了自动着陆精度 - 高度处理方面的显着改进 - FBWB_ELEV_REV参数(0=正常,1=全部固定翼模式升降舵反向) - 自返全程有定位 固件名称:Tiltrotor_20170329.px4 =============================================================== 新增: 1.同步官方代码 2.以解锁点为HOME(家) 3.自返降落最后6米有定位(官方的没有定位,有风会飘走) 固件名称:Tiltrotor_20170322.px4 =============================================================== 新增: 1.同步官方代码,官方有个Bug!修正,如下: "Plane: initialise target height correctly on quadplane transition this fixes a bug where a plane in QSTABILIZE would drop suddenly if switched to FBWA when the target altitude had not been initialised" 固件名称:Tiltrotor_20170319.px4 =============================================================== 新增: 1. Q_VFWD_GAIN=0.1~0.5 可以在QLoiter模式推Pitch舵做前倾加速,让多轴可以飞很快(0=关,0.05 慢,0.2中,0.5极快) 注意:有一种情形会操作反相(推升降舵倾转方向颠倒) 例如:遥控器CH2(升降)反相,又在参数内把RC2_REV=1(升降反向),这样没意义,因为跟CH2正常(升降不反 相)与RC2_REV=0(升降不反向)一样意思,如果有这种负负得正的情况,请把遥控器CH2=正常,RC2_REV=0(正 常). 2. Q_YAW_RATE_MAX=150,有人反应转速差太过猛烈(转太快了,瞬间就90度转),故降低一些,当 Q_YAW_RATE_MAX>100开始有作用(<=100关,150中,500极快) 3.修正SUBS的failsafe在某些状况下无法正确触发的问题. 4.新增多个SITL模拟参数. 5. Q_FRAME_CLASS设定错误会在Mission Planner报错,以防止Q_Enable突然变0. 固件名称:Tiltrotor_20170315.px4 =============================================================== 新增: 1.同步官方 AHRS/EKF3 代码 2.由固定翼模式转回多轴模式(或失速辅助),将更平稳. 3.多轴姿态控制器优化. 4.记录log增加PIQ记录(就是Quadplane的PID),且记录家的位置. 5.GPS_AUTO_SWITCH=2(改进的融合两颗GPS来估算位置,GPS_TYPE2=1) 固件名称:Tiltrotor_20170228.px4 =============================================================== 新增: 同步官方的新代码(PX4IO有刷新,刷完务必等待音乐停止) 固件名称:Tiltrotor_20170225.px4 =============================================================== 新增: 1.TILT_RATE_DN, TILT_RATE_UP参数 2.固定翼手动模式为了怕玩家误切,已改成1秒倾到底,不受TILT_RATE_DN限制,这样可以很快倾到底,避免 没多轴辅助而炸机. 使用: TILT_RATE_DN是倾下去的速度(每秒倾几度) TILT_RATE_UP 是倾回来的速度(每秒倾几度),倾回来若比较慢,可以减少急速煞停或高度瞬间大变化,让 飞机平稳转回多轴. 例: TILT_RATE_DN=45 切到固定翼模式2秒倾到底.(1秒45度) TILT_RATE_UN=30切回到多轴模式3秒倾回来.(1秒30度) 注意事项: 更新后TILT_RATE_UN预设为0,请务必去改参数,如果不知道怎么改,就把TILT_RATE_UN及TILT_RATE_DN都 填之前的TILT_RATE值即可. 固件名称:Tiltrotor_20170223.px4 =============================================================== 新增:利用左右电机的转速差来控制偏航(YAW) 使用:Q_YAW_RATE_MAX(尾舵旋转速率)大于100开始作用,值越大则控制力道越大,固定翼所有模式适用. 例:Q_YAW_RATE_MAX=150 固件名称:Tiltrotor_20170222.px4 =============================================================== 新增:Q_WVANE_MINROLL=1(0~8转换时补偿风影响偏航) 使用:如果转换时会偏一个角度,这是机臂太软或倾转舵机不同步或受风影响. 试着把Q_WVANE_MINROLL加1(或减1)直到不会偏,如果设太大则往另一个方向偏,则减小这个值.