第四部分 装机示例
单马达、双舵机(如天行者 X5)
电池与电调相连接,电调包含 3PIN 信号线自带的 5V 输出连接到主板伺服 1 为主板供电,同时电调的另一端输出为电机供电。电池电压可以通过将电池的正极引出一根线至主板的 V_BAT接口。
数传电台 XBee 接入主板的 UART2,也可以用更为廉价的 3DR 数传代替。
GPS 模块接入 UART3,支持 UBX 协议、 NEMA 协议的 GPS。
遥控器接收机与 UART1/5 相连,也可以用含有 PPM 编码的接收机通过伺服 6 与主板相连。
主板的伺服 2、 3 分别连接舵机。两个舵机采用混控方式, PPZ Center 中该主板默认的配置文件即为此种机型。
单马达、四舵机(如冲浪者)
四舵机(副翼、 升降舵、方向舵)固定翼。
电池与电调相连接,电调包含 3PIN 信号线自带的 5V 输出连接到主板伺服 1 为主板供电,同时电调的另一端输出为电机供电。电池电压可以通过将电池的正极引出一根线至主板的 V_BAT接口。
数传电台 XBee 接入主板的 UART2,也可以用更为廉价的 3DR 数传代替。
GPS 模块接入 UART3,支持 UBX 协议、 NEMA 协议的 GPS。
遥控器接收机与 UART1/5 相连,也可以用含有 PPM 编码的接收机通过伺服 6 与主板相连。
主板的伺服 2、 3、 4、 5 分别连接舵机,分别是左右副翼、升降舵、方向舵。 注意: 实际中我们常用 Y 舵机分线连接副翼,也就是副翼只用 1 个伺服端口。
四轴
电池与经过四路分别于四个电调相连接,电调包含 3PIN 信号线自带的 5V 输出连接到主板伺服 1、 2、 3、 4 为主板供电,同时电调的另一端输出为电机供电。电池电压可以通过将电池的
正极引出一根线至主板的 V_BAT 接口。
数传电台 XBee 接入主板的 UART2,也可以用更为廉价的 3DR 数传代替。
GPS 模块接入 UART3,支持 UBX 协议、 NEMA 协议的 GPS。
遥控器接收机与 UART1/5 相连,也可以用含有 PPM 编码的接收机通过伺服 6 与主板相连。
第五部分 外部设备
1 电机与电调
首次使用,需要校准电调(注意遥控器设置为pwm模式,也即关闭ppm)(参阅FAQ:如何设置富斯遥控的PPM模式)
1.将电调的3PIN线连接到遥控接收机的油门通道(通常为通道3)
2.打开发射机,然后将油门摇杆置于最大(全满)
3.连接电池
4.你会听到一段音乐声而后有两个“哔”音。在两个“哔”音之后,将油门摇杆放低至最低。然后你会听到几声“哔”音(每一声代表你所使用的电池的一芯),随后一个长“哔”声表示终点已被设定而且电调已校准
5.断开电池。在所有电调上重复这些步骤
最好使用飞控连接状态下校准电调:
拔了电池,使用USB线烧录程序,之后飞控执行程序,各个伺服输出有信号
把遥控器油门推到最大
接入想要校准的通道的电调与电机
同上面的第四步
2 无线数传电台
无线数传电台的协议选择透明传输(所收即所发),在机体配置文件中表示为:
《subsystem nam typ/》
在Lisa主板上,默认硬件接口选择UART2,波特率57600,如需参数配置,位置在paparazzi/conf/boards/下的lisa_m_2.0.makefile文件中:
MODEM_PORT ?= UART2
MODEM_BAUD ?= B57600
在Paparazzi Center里的Session选择Flight USB-serial,@后面是波特率,选择57600(与配置文件匹配!)。小常识:低波特率可以降低误码率,提升电台的工作距离。
3 遥控器与接收机
Spektrum型号的接收机可以直接将指令转换为串口通信,主板预留了UART1/5接口,为官方的默认配置类型。而且有两个接收机,提高可靠性,机体配置如下:
《subsystem nam typ》
《define nam valu/》
《configure nam valu/》
《/subsystem》
若从节约成本角度考虑,选择ppm编码输出的接收机(参阅FAQ:如何设置富斯遥控的PPM模式)也可以满足需求。ppm输出与主板的伺服6端口相连。此时机体配置文件修改如下:
《subsystem nam typ/》
4 GPS模块
GPS的协议选择透ubx(全球著名ublox厂商私家协议标准),在机体配置文件中表示为:
《subsystem nam typ/》
选择ubx协议意味着购买的GPS模块只能是ublox品牌。
其实GPS协议还可以选择国际通行标准nmea,如果这样可选择的GPS模块就有很多。但是paparazzi存在bug,编译不能通过。
关于GPS模块本身的配置需要参照不同品牌,例如ublox模块提供了u-center配置环境,在windows下修改GPS模块的参数,当然还需要一个硬件模块(GPS参数配置板)连接GPS模块与PC。
在Lisa主板上,硬件接口选择UART3,波特率38400,参数配置位置在paparazzi/conf/boards/下的lisa_m_2.0.makefile文件中:
GPS_PORT ?= UART3
GPS_BAUD ?= B38400
其他需要强调的是,GPS模块需要再空旷的地带才能获取良好的精度,并稳定显示在地图中的某个点,否则存在严重的漂移现象(实际上飞机就放在地面)、甚至无法定位。此外,试飞前通电约两分钟再重新上电有利于GPS模块消除缓存误差,提高精度与稳定性。
第六部分 配置文件
运行Paparazzi Center之后左侧有许多配置选项,第一项A/C便为机体配置项,可以下拉选择不同的机型以及飞控;同时我们也可以发现,这些机体文件存放在paparazzi工程的airframes/examples目录下面。在Airframe选项里可以浏览或者编辑机体配置。
以Lisa/M v2.0为例:固定翼机A/C选择Microjet_LisaM,默认体配置文件为microjet_lisa_m.xml;四轴的A/C选择Quad_LisaM_2,默认机体配置文件为quadrotor_lisa_m_2_pwm_spektrum.xml。下面点击编辑,文件内容有很多,我们关心的几个核心的配置(必须掌握) :
基础配置
《target nam boar》
《configure nam valu/》
《/target》
使用板载气压计 BMP085,如果 IMU 选择的是 Aspirin v2.2,那么换为 MS5611 气压计。
《configure nam valu/》
使用电子罗盘, 如果设置为 FLASE 则用的是 GPS 作为方向判断
《subsystem nam typ/》
使用 ppm 编码的接收机
《subsystem nam typ/》
无线数传为透明传输模式
《subsystem nam typ/》
使用 aspirin_v2.1 版本的 IMU,据实可改为使用 aspirin_v2.2 版本的 IMU
《subsystem nam typ/》
使用 ubx 协议的 GPS
《subsystem nam typ/》
使用定点型四元数稳定性算法表达方式
《subsystem nam typ/》
使用定点型四元数互补滤波的 AHRS 算法
两舵机配置(例如天行者 X5):
《servos》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《/servos》
端口定义,第一个端口接电机,第二个端口接左副翼,第四个端口接右副翼。
《rc_commands》
《set comman valu/》《!-- 油门指令 --》
《set comman valu/》《!-- 翻滚指令(副翼) --》
《set comman valu/》《 !-- 升降指令(升降舵) --》
《/rc_commands》
遥控指令关联
《section nam》
《define nam valu/》
《define nam valu/》
《/section》
左右副翼混控
《command_laws》
《let var=“aileron” valu/》
《let var=“elevator” valu/》
《set serv valu/》
《set serv valu/》
《set serv valu/》
《/command_laws》
遥控指令与各个舵机输出关系
《!-- replace this with your own mag calibration --》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《define nam valu integer=“16”/》
《define nam valu integer=“16”/》
《define nam valu integer=“16”/》
磁力计相关参数,使用传感器校准替代以上数据。
《define nam valu uni/》
《define nam valu uni/》
《define nam valu uni/》
设置主板摆放方向(可改变陀螺仪的逻辑关系)
《!--enter your own values--》
《section nam prefi》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《/section》
电子罗盘的磁偏角,世界各地不一样。
《section nam》
《define nam valu/》
《define nam valu uni/》
《define nam valu uni/》
《define nam valu uni/》
《define nam valu uni/》
《/section》
电池电压参数,默认为 3S 配置。
四舵机配置(例如冲浪者 X8):
《servos》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《/servos》
端口定义, 第一个端口接电机,第二个端口接副翼,第三个端口接升降舵、第四个端口接方向舵。
《rc_commands》
《set comman valu/》 《!-- 油门指令 --》
《set comman valu/》 《!-- 翻滚指令(副翼) --》
《set comman valu/》 《!-- 升降指令(升降舵) --》
《set comman valu/》 《 !-- 偏航指令(方向舵) --》
《/rc_commands》
遥控指令关联
《command_laws》 《 !-- 端口与指令关联 --》
《set serv valu/》
《set serv valu/》
《set serv valu/》
《set serv valu/》
《/command_laws》
遥控指令与各个舵机输出关系
四轴“+” 配置:
《servos driver=“pwm”》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《/servos》
端口定义, 1~4 端口分别接前后左右电机。
《section nam prefi》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《!-- front/back turning CW, right/left CCW --》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《/section》
端口混控关系,翻滚、俯仰、偏航、油门指令对应的舵机输出系数。
《command_laws》
《call fu/》
《set serv valu/》
《set serv valu/》
《set serv valu/》
《set serv valu/》
《/command_laws》
遥控指令与各个舵机输出关系
第七部分 参数校准
1 配置遥控器
每个遥控器四个最基本的指令是THROTTLE(油门)、YAW(偏航)、PITCH(俯仰)、ROLL(横滚),对应了左右两个摇杆。其余的可以视为辅助通道。在遥控器可以设置剩余通道对应的拨杆或者旋钮。在Radio配置文件中对应为:
《!DOCTYPE radio SYSTEM “radio.dtd”》
《radio nam data_mi data_ma sync_min sync_max pulse_typ》
《channel ct functio mi neutra ma averag/》
《channel ct functio mi neutra ma averag/》
《channel ct functio mi neutra ma averag/》
《channel ct functio mi neutra ma averag/》
《channel ct functio mi neutra ma averag/》
《channel ct functio mi neutra ma averag/》
《/radio》
此处列举了6通道遥控器,(注意,这里的顺序可能是不对的)。每个通道对应了min、max、neutral参数。如果通道数量不一样,需要做增加或者减少。
图表示了固定翼/多轴在GCS里面的Settings选择ppm输出方法,注意要点击绿色勾选。然后Messages(参阅FAQ:如何打开Messages)里变会多出ppm一项。里面的6个数值分别对应了xml文件里的6个通道数值(xml里面的顺序!)。那么这时候开始操纵摇杆,例如油门,观察第几个数值在改变,例如第2个,那需要把functio那一行移到第2个。继续操纵摇杆把最大值、最小值获取,替换掉xml原有的。这里还需要注意,油门的min与neutral设置相等;PITCH的min、max相反写(可以尝试,因为这样为了和遥控的俯仰摇杆和实际飞行动作做逻辑对应);另外,functio表示用摇杆切换飞行模式,例如固定翼中可以有MANUAL,AUTO1,AUTO2,上面的xml第5行(绿色标识)为模式通道,通过设置遥控器第1个辅助(前面4个为主通道),可以指定哪一个拨杆对应此模式通道(参阅FAQ:如何设置富斯遥控的辅助通道)。模式通道在以后的飞行中将会有很大用处。
2 校准传感器
准备工作:在GCS里面的Settings-》Telemetry下面,选择raw_sensors,并点击右侧绿色小勾!此时Messages(参阅FAQ:如何打开Messages)里面便会多出传感器的原始值。
a.校准加速度计
由于加速度计对外界扰动十分敏感,因此最好将IMU(图中阴影框)固定在一个重物上(例如电池,图中白色框)。校准时要十分小心,操作要规范,否则校准数据会不准确。想象空间有一个立方体,将IMU轮流摆放立方体六个面上,每个轴面放置超过10秒钟,顺序为:
上方-》下方-》前方-》后方-》右侧-》左侧
注意采样数据要均匀稳定,尤其注意手不能抖动。最后关闭程序,运行一下脚本得到加速度计校准数据。
sw/tools/calibration/calibrate.py -s ACCEL var/logs/YY_MM_DD__hh_mm_ss.data
请将阴影部分替换为真实的文件名。
b.校准电子罗盘
第一步,获取当地的磁偏角:
打开网站:http://www.ngdc.noaa.gov/geomag-web/#igrfwmm,输入当地经纬度(南京为例):
点击Calculate之后会弹出结果:
我们需要三个分量:
点击Calculate之后会弹出结果:{32,814.2 nT -3,150.1 nT 37,326.1 nT},我们需要用一个数学工具归一化这个向量,可以用scilab或者Wolfram Alpha,
这里介绍另外一个方法,在matlab里面依次输入:
a=[32814.2, -3150.1, 37326.1]
b=norm(a)
c=a./b
则可以得到最终想要的磁偏角:0.6589 -0.0633 0.7495,我们写入机体配置文件:
《section nam prefi》
《define nam valucolor:#ff0000;“》0.6589”/》
《define nam valucolor:#ff0000;“》-0.0633”/》
《define nam valucolor:#ff0000;“》0.7495”/》
《/section》
第四部分 装机示例
单马达、双舵机(如天行者 X5)
电池与电调相连接,电调包含 3PIN 信号线自带的 5V 输出连接到主板伺服 1 为主板供电,同时电调的另一端输出为电机供电。电池电压可以通过将电池的正极引出一根线至主板的 V_BAT接口。
数传电台 XBee 接入主板的 UART2,也可以用更为廉价的 3DR 数传代替。
GPS 模块接入 UART3,支持 UBX 协议、 NEMA 协议的 GPS。
遥控器接收机与 UART1/5 相连,也可以用含有 PPM 编码的接收机通过伺服 6 与主板相连。
主板的伺服 2、 3 分别连接舵机。两个舵机采用混控方式, PPZ Center 中该主板默认的配置文件即为此种机型。
单马达、四舵机(如冲浪者)
四舵机(副翼、 升降舵、方向舵)固定翼。
电池与电调相连接,电调包含 3PIN 信号线自带的 5V 输出连接到主板伺服 1 为主板供电,同时电调的另一端输出为电机供电。电池电压可以通过将电池的正极引出一根线至主板的 V_BAT接口。
数传电台 XBee 接入主板的 UART2,也可以用更为廉价的 3DR 数传代替。
GPS 模块接入 UART3,支持 UBX 协议、 NEMA 协议的 GPS。
遥控器接收机与 UART1/5 相连,也可以用含有 PPM 编码的接收机通过伺服 6 与主板相连。
主板的伺服 2、 3、 4、 5 分别连接舵机,分别是左右副翼、升降舵、方向舵。 注意: 实际中我们常用 Y 舵机分线连接副翼,也就是副翼只用 1 个伺服端口。
四轴
电池与经过四路分别于四个电调相连接,电调包含 3PIN 信号线自带的 5V 输出连接到主板伺服 1、 2、 3、 4 为主板供电,同时电调的另一端输出为电机供电。电池电压可以通过将电池的
正极引出一根线至主板的 V_BAT 接口。
数传电台 XBee 接入主板的 UART2,也可以用更为廉价的 3DR 数传代替。
GPS 模块接入 UART3,支持 UBX 协议、 NEMA 协议的 GPS。
遥控器接收机与 UART1/5 相连,也可以用含有 PPM 编码的接收机通过伺服 6 与主板相连。
第五部分 外部设备
1 电机与电调
首次使用,需要校准电调(注意遥控器设置为pwm模式,也即关闭ppm)(参阅FAQ:如何设置富斯遥控的PPM模式)
1.将电调的3PIN线连接到遥控接收机的油门通道(通常为通道3)
2.打开发射机,然后将油门摇杆置于最大(全满)
3.连接电池
4.你会听到一段音乐声而后有两个“哔”音。在两个“哔”音之后,将油门摇杆放低至最低。然后你会听到几声“哔”音(每一声代表你所使用的电池的一芯),随后一个长“哔”声表示终点已被设定而且电调已校准
5.断开电池。在所有电调上重复这些步骤
最好使用飞控连接状态下校准电调:
拔了电池,使用USB线烧录程序,之后飞控执行程序,各个伺服输出有信号
把遥控器油门推到最大
接入想要校准的通道的电调与电机
同上面的第四步
2 无线数传电台
无线数传电台的协议选择透明传输(所收即所发),在机体配置文件中表示为:
《subsystem nam typ/》
在Lisa主板上,默认硬件接口选择UART2,波特率57600,如需参数配置,位置在paparazzi/conf/boards/下的lisa_m_2.0.makefile文件中:
MODEM_PORT ?= UART2
MODEM_BAUD ?= B57600
在Paparazzi Center里的Session选择Flight USB-serial,@后面是波特率,选择57600(与配置文件匹配!)。小常识:低波特率可以降低误码率,提升电台的工作距离。
3 遥控器与接收机
Spektrum型号的接收机可以直接将指令转换为串口通信,主板预留了UART1/5接口,为官方的默认配置类型。而且有两个接收机,提高可靠性,机体配置如下:
《subsystem nam typ》
《define nam valu/》
《configure nam valu/》
《/subsystem》
若从节约成本角度考虑,选择ppm编码输出的接收机(参阅FAQ:如何设置富斯遥控的PPM模式)也可以满足需求。ppm输出与主板的伺服6端口相连。此时机体配置文件修改如下:
《subsystem nam typ/》
4 GPS模块
GPS的协议选择透ubx(全球著名ublox厂商私家协议标准),在机体配置文件中表示为:
《subsystem nam typ/》
选择ubx协议意味着购买的GPS模块只能是ublox品牌。
其实GPS协议还可以选择国际通行标准nmea,如果这样可选择的GPS模块就有很多。但是paparazzi存在bug,编译不能通过。
关于GPS模块本身的配置需要参照不同品牌,例如ublox模块提供了u-center配置环境,在windows下修改GPS模块的参数,当然还需要一个硬件模块(GPS参数配置板)连接GPS模块与PC。
在Lisa主板上,硬件接口选择UART3,波特率38400,参数配置位置在paparazzi/conf/boards/下的lisa_m_2.0.makefile文件中:
GPS_PORT ?= UART3
GPS_BAUD ?= B38400
其他需要强调的是,GPS模块需要再空旷的地带才能获取良好的精度,并稳定显示在地图中的某个点,否则存在严重的漂移现象(实际上飞机就放在地面)、甚至无法定位。此外,试飞前通电约两分钟再重新上电有利于GPS模块消除缓存误差,提高精度与稳定性。
第六部分 配置文件
运行Paparazzi Center之后左侧有许多配置选项,第一项A/C便为机体配置项,可以下拉选择不同的机型以及飞控;同时我们也可以发现,这些机体文件存放在paparazzi工程的airframes/examples目录下面。在Airframe选项里可以浏览或者编辑机体配置。
以Lisa/M v2.0为例:固定翼机A/C选择Microjet_LisaM,默认体配置文件为microjet_lisa_m.xml;四轴的A/C选择Quad_LisaM_2,默认机体配置文件为quadrotor_lisa_m_2_pwm_spektrum.xml。下面点击编辑,文件内容有很多,我们关心的几个核心的配置(必须掌握) :
基础配置
《target nam boar》
《configure nam valu/》
《/target》
使用板载气压计 BMP085,如果 IMU 选择的是 Aspirin v2.2,那么换为 MS5611 气压计。
《configure nam valu/》
使用电子罗盘, 如果设置为 FLASE 则用的是 GPS 作为方向判断
《subsystem nam typ/》
使用 ppm 编码的接收机
《subsystem nam typ/》
无线数传为透明传输模式
《subsystem nam typ/》
使用 aspirin_v2.1 版本的 IMU,据实可改为使用 aspirin_v2.2 版本的 IMU
《subsystem nam typ/》
使用 ubx 协议的 GPS
《subsystem nam typ/》
使用定点型四元数稳定性算法表达方式
《subsystem nam typ/》
使用定点型四元数互补滤波的 AHRS 算法
两舵机配置(例如天行者 X5):
《servos》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《/servos》
端口定义,第一个端口接电机,第二个端口接左副翼,第四个端口接右副翼。
《rc_commands》
《set comman valu/》《!-- 油门指令 --》
《set comman valu/》《!-- 翻滚指令(副翼) --》
《set comman valu/》《 !-- 升降指令(升降舵) --》
《/rc_commands》
遥控指令关联
《section nam》
《define nam valu/》
《define nam valu/》
《/section》
左右副翼混控
《command_laws》
《let var=“aileron” valu/》
《let var=“elevator” valu/》
《set serv valu/》
《set serv valu/》
《set serv valu/》
《/command_laws》
遥控指令与各个舵机输出关系
《!-- replace this with your own mag calibration --》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《define nam valu integer=“16”/》
《define nam valu integer=“16”/》
《define nam valu integer=“16”/》
磁力计相关参数,使用传感器校准替代以上数据。
《define nam valu uni/》
《define nam valu uni/》
《define nam valu uni/》
设置主板摆放方向(可改变陀螺仪的逻辑关系)
《!--enter your own values--》
《section nam prefi》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《/section》
电子罗盘的磁偏角,世界各地不一样。
《section nam》
《define nam valu/》
《define nam valu uni/》
《define nam valu uni/》
《define nam valu uni/》
《define nam valu uni/》
《/section》
电池电压参数,默认为 3S 配置。
四舵机配置(例如冲浪者 X8):
《servos》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《/servos》
端口定义, 第一个端口接电机,第二个端口接副翼,第三个端口接升降舵、第四个端口接方向舵。
《rc_commands》
《set comman valu/》 《!-- 油门指令 --》
《set comman valu/》 《!-- 翻滚指令(副翼) --》
《set comman valu/》 《!-- 升降指令(升降舵) --》
《set comman valu/》 《 !-- 偏航指令(方向舵) --》
《/rc_commands》
遥控指令关联
《command_laws》 《 !-- 端口与指令关联 --》
《set serv valu/》
《set serv valu/》
《set serv valu/》
《set serv valu/》
《/command_laws》
遥控指令与各个舵机输出关系
四轴“+” 配置:
《servos driver=“pwm”》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《servo nam n mi neutra ma/》
《/servos》
端口定义, 1~4 端口分别接前后左右电机。
《section nam prefi》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《!-- front/back turning CW, right/left CCW --》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《define nam valu/》
《/section》
端口混控关系,翻滚、俯仰、偏航、油门指令对应的舵机输出系数。
《command_laws》
《call fu/》
《set serv valu/》
《set serv valu/》
《set serv valu/》
《set serv valu/》
《/command_laws》
遥控指令与各个舵机输出关系
第七部分 参数校准
1 配置遥控器
每个遥控器四个最基本的指令是THROTTLE(油门)、YAW(偏航)、PITCH(俯仰)、ROLL(横滚),对应了左右两个摇杆。其余的可以视为辅助通道。在遥控器可以设置剩余通道对应的拨杆或者旋钮。在Radio配置文件中对应为:
《!DOCTYPE radio SYSTEM “radio.dtd”》
《radio nam data_mi data_ma sync_min sync_max pulse_typ》
《channel ct functio mi neutra ma averag/》
《channel ct functio mi neutra ma averag/》
《channel ct functio mi neutra ma averag/》
《channel ct functio mi neutra ma averag/》
《channel ct functio mi neutra ma averag/》
《channel ct functio mi neutra ma averag/》
《/radio》
此处列举了6通道遥控器,(注意,这里的顺序可能是不对的)。每个通道对应了min、max、neutral参数。如果通道数量不一样,需要做增加或者减少。
图表示了固定翼/多轴在GCS里面的Settings选择ppm输出方法,注意要点击绿色勾选。然后Messages(参阅FAQ:如何打开Messages)里变会多出ppm一项。里面的6个数值分别对应了xml文件里的6个通道数值(xml里面的顺序!)。那么这时候开始操纵摇杆,例如油门,观察第几个数值在改变,例如第2个,那需要把functio那一行移到第2个。继续操纵摇杆把最大值、最小值获取,替换掉xml原有的。这里还需要注意,油门的min与neutral设置相等;PITCH的min、max相反写(可以尝试,因为这样为了和遥控的俯仰摇杆和实际飞行动作做逻辑对应);另外,functio表示用摇杆切换飞行模式,例如固定翼中可以有MANUAL,AUTO1,AUTO2,上面的xml第5行(绿色标识)为模式通道,通过设置遥控器第1个辅助(前面4个为主通道),可以指定哪一个拨杆对应此模式通道(参阅FAQ:如何设置富斯遥控的辅助通道)。模式通道在以后的飞行中将会有很大用处。
2 校准传感器
准备工作:在GCS里面的Settings-》Telemetry下面,选择raw_sensors,并点击右侧绿色小勾!此时Messages(参阅FAQ:如何打开Messages)里面便会多出传感器的原始值。
a.校准加速度计
由于加速度计对外界扰动十分敏感,因此最好将IMU(图中阴影框)固定在一个重物上(例如电池,图中白色框)。校准时要十分小心,操作要规范,否则校准数据会不准确。想象空间有一个立方体,将IMU轮流摆放立方体六个面上,每个轴面放置超过10秒钟,顺序为:
上方-》下方-》前方-》后方-》右侧-》左侧
注意采样数据要均匀稳定,尤其注意手不能抖动。最后关闭程序,运行一下脚本得到加速度计校准数据。
sw/tools/calibration/calibrate.py -s ACCEL var/logs/YY_MM_DD__hh_mm_ss.data
请将阴影部分替换为真实的文件名。
b.校准电子罗盘
第一步,获取当地的磁偏角:
打开网站:http://www.ngdc.noaa.gov/geomag-web/#igrfwmm,输入当地经纬度(南京为例):
点击Calculate之后会弹出结果:
我们需要三个分量:
点击Calculate之后会弹出结果:{32,814.2 nT -3,150.1 nT 37,326.1 nT},我们需要用一个数学工具归一化这个向量,可以用scilab或者Wolfram Alpha,
这里介绍另外一个方法,在matlab里面依次输入:
a=[32814.2, -3150.1, 37326.1]
b=norm(a)
c=a./b
则可以得到最终想要的磁偏角:0.6589 -0.0633 0.7495,我们写入机体配置文件:
《section nam prefi》
《define nam valucolor:#ff0000;“》0.6589”/》
《define nam valucolor:#ff0000;“》-0.0633”/》
《define nam valucolor:#ff0000;“》0.7495”/》
《/section》
举报