第一部分 地面站

Paparazzi (简称PPZ)UAV项目起始于2003年,由法国民航大学发起的一套软硬件开源无人机项目,它提供了一整套完整的无人机软硬件解决方案。

PPZ 地面站软件运行在Linux Ubuntu操作系统(12/14/16.04 LTS版本均可测试通过)上,是集参数配置、编译、上传、仿真、实飞等功能的一体化平台。

安装方法:在Ubuntu 操作系统上调出命令行(Ctrl+Alt+T),输入:

sudo add-apt-repository -y ppa:paparazzi-uav/ppa && sudo add-apt-repository -y ppa:team-gcc-arm-embedded/ppa && sudo apt-get update && sudo apt-get -f -y install paparazzi-dev paparazzi-jsbsim gcc-arm-embedded && cd ~ && git clone --origin upstream https://github.com/paparazzi/paparazzi.git && cd ~/paparazzi && git remote update -p && git checkout -b v5.14 upstream/v5.14 && sudo cp conf/system/udev/rules/*.rules /etc/udev/rules.d/ && sudo udevadm control --reload-rules && make && ./paparazzi

漫长的等待之后安装完成。注意的是make过程之中会访问google地图,出现卡死现象,因此建议至少把上述命令分解两部分,绿色和红色部分,在绿色部分运行完毕之后,修改Paparazzi文件夹根目录下的Makefile文件,找到这么一行,将其删除:

update_google_version:
-$(MAKE) -C data/maps

然后运行红色部分,安装完成后即可使用PPZ Center。如果是root用户直接切入paparazzi根目录./paparazzi启动,如果是普通用户则需要sudo ./paparazzi,因为在一些环节需要权限(譬如调用USB驱动程序从数传读数据)

PPZ Center的左侧是配置文件位置,A/C就是aircraft,载机,例如选择Microjet_LisaM,就是Lisa M的固定翼机型。id代表飞机的编号,Target 选择编译方式,如果没有硬件可以仿真(sim),如果有Lisa飞控板则可以选择ap,然后build,编译飞控代码。upload上传代码到主板;Session 仿真或者USB-57600(根据实际情况选择),Execute后开始运行地面站。

关于谷歌地图被墙,需要更改为Bing地图,激活GCS对话框,勾选菜单栏的Maps -> Map Sources -> Bing,然后点击GCS上方那个地球的图标(WGS84左侧那个),则黑色背景会缓慢被下载的Bing地图替换。默认的坐标是国外的一个地方。可以在飞行计划里修改为你当地的具体位置。

第二部分 硬件概况

主板:

• STM32F105RCT6 微控制器,带 256kB FLASH 以及 64kB RAM
• 7 x
模拟输入通道
• 3 x 通用数字输入输出
• 2 x 3.3V/5V TTL UART
• 8 x Servo PPM outputs (only 6 if second I2C (I2C1) bus in use)
• 1 x CAN
总线
• 1 x SPI 总线
• 1 x I2C 总线(在使用前 6 个伺服输出情况下可扩展为 2 x)
• 1 x Micro USB
接口
• 5 x LED 状态指示灯
• 10.8 (安装 Aspirin IMU)
• 9.9
(不安装 Aspirin IMU )
• ~34mm x ~60mm x ~10mm
• 4
PCB 设计

与该主板配套的 Aspirin IMU 包含如下传感器:

• 3 轴陀螺仪
• 3 轴加速度计

• 3 轴磁力计
• MS5611 气压计

第三部分 接线方法

板正面包含所有对外接口、 LED 指示灯、 5.0V 3.3V 电源稳压模块、12MHz晶振等。板背面包含 MCU IMU 焊盘、 CAN 芯片、双向电平芯片等。8 路伺服输出的 3PIN 排针从上往下依次表示信号、电源、地 通过 Micro USB 接口可以方便地更新飞控程序。插上数据线后, LED1~5依次跑马灯闪烁。在 PPZ Center 内成功编译代码后,点击 Upload(上传),应出现进度条信息。完成程序更新后跑马灯消失。 LED1 系统时钟, 1Hz 频率闪烁; LED2 在完成 ARHS 算法初始化后常亮; LED3 表示 GPS 指示灯,成功连接后闪烁; LED4 为遥控的接收机指示灯,成功连接后常亮 LED5 保留未使用,用户可以配置他用。

第四部分 装机示例

单马达、双舵机(如天行者 X5

  1. 电池与电调相连接,电调包含 3PIN 信号线自带的 5V 输出连接到主板伺服 1 为主板供电,同时电调的另一端输出为电机供电。电池电压可以通过将电池的正极引出一根线至主板的 V_BAT接口。
  2. 数传电台 XBee 接入主板的 UART2,也可以用更为廉价的 3DR 数传代替。
  3. GPS 模块接入 UART3,支持 UBX 协议、 NEMA 协议的 GPS。
  4. 遥控器接收机与 UART1/5 相连,也可以用含有 PPM 编码的接收机通过伺服 6 与主板相连。
  5. 主板的伺服 2、 3 分别连接舵机。两个舵机采用混控方式, PPZ Center 中该主板默认的配置文件即为此种机型。

单马达、四舵机(如冲浪者)

四舵机(副翼、 升降舵、方向舵)固定翼。

  1. 电池与电调相连接,电调包含 3PIN 信号线自带的 5V 输出连接到主板伺服 1 为主板供电,同时电调的另一端输出为电机供电。电池电压可以通过将电池的正极引出一根线至主板的 V_BAT接口。
  2. 数传电台 XBee 接入主板的 UART2,也可以用更为廉价的 3DR 数传代替。
  3. GPS 模块接入 UART3,支持 UBX 协议、 NEMA 协议的 GPS。
  4. 遥控器接收机与 UART1/5 相连,也可以用含有 PPM 编码的接收机通过伺服 6 与主板相连。
  5. 主板的伺服 2、 3、 4、 5 分别连接舵机,分别是左右副翼、升降舵、方向舵。 注意: 实际中我们常用 Y 舵机分线连接副翼,也就是副翼只用 1 个伺服端口。

四轴

  1. 电池与经过四路分别于四个电调相连接,电调包含 3PIN 信号线自带的 5V 输出连接到主板伺服 1、 2、 3、 4 为主板供电,同时电调的另一端输出为电机供电。电池电压可以通过将电池的
  2. 正极引出一根线至主板的 V_BAT 接口。
  3. 数传电台 XBee 接入主板的 UART2,也可以用更为廉价的 3DR 数传代替。
  4. GPS 模块接入 UART3,支持 UBX 协议、 NEMA 协议的 GPS。
  5. 遥控器接收机与 UART1/5 相连,也可以用含有 PPM 编码的接收机通过伺服 6 与主板相连。

第五部分 外部设备

1 电机与电调

首次使用,需要校准电调(注意遥控器设置为pwm模式,也即关闭ppm(参阅FAQ:如何设置富斯遥控的PPM模式)

1.将电调的3PIN线连接到遥控接收机的油门通道(通常为通道3

2.打开发射机,然后将油门摇杆置于最大(全满)

3.连接电池

4.你会听到一段音乐声而后有两个“哔”音。在两个“哔”音之后,将油门摇杆放低至最低。然后你会听到几声“哔”音(每一声代表你所使用的电池的一芯),随后一个长“哔”声表示终点已被设定而且电调已校准

5.断开电池。在所有电调上重复这些步骤

最好使用飞控连接状态下校准电调:

  1. 拔了电池,使用USB线烧录程序,之后飞控执行程序,各个伺服输出有信号
  2. 把遥控器油门推到最大
  3. 接入想要校准的通道的电调与电机
  4. 同上面的第四步

2 无线数传电台

无线数传电台的协议选择透明传输(所收即所发),在机体配置文件中表示为:

<subsystem name="telemetry" type="transparent"/>

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 name="radio_control" type="spektrum">

<define name="RADIO_MODE" value="RADIO_AUX1"/>

<configure name="USE_SECONDARY_SPEKTRUM_RECEIVER" value="1"/>

</subsystem>

若从节约成本角度考虑,选择ppm编码输出的接收机(参阅FAQ:如何设置富斯遥控的PPM模式)也可以满足需求。ppm输出与主板的伺服6端口相连。此时机体配置文件修改如下:

<subsystem name="radio_control" type="ppm"/>

4 GPS模块

GPS的协议选择透ubx(全球著名ublox厂商私家协议标准),在机体配置文件中表示为:

<subsystem name="gps"           type="ublox"/>

选择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 name="ap" board="lisa_m_2.0">
<configure name="LISA_M_BARO" value="BARO_BOARD_BMP085"/>
</target>

使用板载气压计 BMP085,如果 IMU 选择的是 Aspirin v2.2,那么换为 MS5611 气压计。
<configure name="USE_MAGNETOMETER" value="TRUE"/>
使用电子罗盘, 如果设置为 FLASE 则用的是 GPS 作为方向判断
<subsystem name="radio_control" type="ppm"/>
使用 ppm 编码的接收机
<subsystem name="telemetry" type="transparent"/>
无线数传为透明传输模式
<subsystem name="imu" type="aspirin_v2.1"/>
使用 aspirin_v2.1 版本的 IMU,据实可改为使用 aspirin_v2.2 版本的 IMU
<subsystem name="gps" type="ublox"/>
使用 ubx 协议的 GPS
<subsystem name="stabilization" type="int_quat"/>
使用定点型四元数稳定性算法表达方式
<subsystem name="ahrs" type="int_cmpl_quat"/>
使用定点型四元数互补滤波的 AHRS 算法

两舵机配置(例如天行者 X5):

<servos>

<servo name="MOTOR" no="0" min="1290" neutral="1290" max="1810"/>

<servo name="AILEVON_LEFT" no="1" min="2000" neutral="1510" max="1000"/>

<servo name="AILEVON_RIGHT" no="3" min="1000" neutral="1535" max="2000"/>

</servos>

端口定义, 第一个端口接电机,第二个端口接左副翼,第四个端口接右副翼。

<rc_commands>

<set command="THROTTLE" value="@THROTTLE"/><!-- 油门指令 -->

<set command="ROLL" value="@ROLL"/><!-- 翻滚指令(副翼) -->

<set command="PITCH" value="@PITCH"/>< !-- 升降指令(升降舵) -->

</rc_commands>

遥控指令关联

<section name="MIXER">

<define name="AILEVON_AILERON_RATE" value="0.75"/>

<define name="AILEVON_ELEVATOR_RATE" value="0.75"/>

</section>

左右副翼混控

<command_laws>

<let var="aileron" value="@ROLL * AILEVON_AILERON_RATE"/>

<let var="elevator" value="@PITCH * AILEVON_ELEVATOR_RATE"/>

<set servo="MOTOR" value="@THROTTLE"/>

<set servo="AILEVON_LEFT" value="$elevator - $aileron"/>

<set servo="AILEVON_RIGHT" value="$elevator + $aileron"/>

</command_laws>

遥控指令与各个舵机输出关系

<!-- replace this with your own mag calibration -->

<define name="MAG_X_NEUTRAL" value="-45"/>

<define name="MAG_Y_NEUTRAL" value="334"/>

<define name="MAG_Z_NEUTRAL" value="7"/>

<define name="MAG_X_SENS" value="4.47647816128" integer="16"/>

<define name="MAG_Y_SENS" value="4.71085671542" integer="16"/>

<define name="MAG_Z_SENS" value="4.41585354498" integer="16"/>

磁力计相关参数,使用传感器校准替代以上数据。

<define name="BODY_TO_IMU_PHI" value="0." unit="deg"/>

<define name="BODY_TO_IMU_THETA" value="0." unit="deg"/>

<define name="BODY_TO_IMU_PSI" value="0." unit="deg"/>

设置主板摆放方向(可改变陀螺仪的逻辑关系)

<!--enter your own values-->

<section name="AHRS" prefix="AHRS_">

<define name="H_X" value="0.5169001"/>

<define name="H_Y" value="-0.0596905"/>

<define name="H_Z" value="0.8539621"/>

</section>

电子罗盘的磁偏角,世界各地不一样。

<section name="BAT">

<define name="MILLIAMP_AT_FULL_THROTTLE" value="2000"/>

<define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>

<define name="CRITIC_BAT_LEVEL" value="9.6" unit="V"/>

<define name="LOW_BAT_LEVEL" value="9.7" unit="V"/>

<define name="MAX_BAT_LEVEL" value="12.4" unit="V"/>

</section>

电池电压参数,默认为 3S 配置。

四舵机配置(例如冲浪者 X8)

<servos>

<servo name="THROTTLE" no="0" min="1000" neutral="1000" max="2000"/>

<servo name="AILERON" no="1" min="1948" neutral="1536" max="1108"/>

<servo name="ELEVATOR" no="2" min="1940" neutral="1520" max="1074"/>

<servo name="RUDDER" no="3" min="1844" neutral="1428" max="1004"/>

</servos>

端口定义, 第一个端口接电机,第二个端口接副翼,第三个端口接升降舵、第四个端口接方向舵。

<rc_commands>

<set command="THROTTLE" value="@THROTTLE"/> <!-- 油门指令 -->

<set command="ROLL" value="@ROLL"/> <!-- 翻滚指令(副翼) -->

<set command="PITCH" value="@PITCH"/> <!-- 升降指令(升降舵) -->

<set command="YAW" value="@YAW"/> < !-- 偏航指令(方向舵) -->

</rc_commands>

遥控指令关联

<command_laws> < !-- 端口与指令关联 -->

<set servo="THROTTLE" value="@THROTTLE"/>

<set servo="RUDDER" value="@YAW"/>

<set servo="ELEVATOR" value="@PITCH"/>

<set servo="AILERON" value="@ROLL"/>

</command_laws>

遥控指令与各个舵机输出关系

四轴+ 配置:
<servos driver="pwm">
<servo name="FRONT" no="0" min="1000" neutral="1100" max="1900"/>
<servo name="BACK" no="1" min="1000" neutral="1100" max="1900"/>
<servo name="RIGHT" no="2" min="1000" neutral="1100" max="1900"/>

<servo name="LEFT" no="3" min="1000" neutral="1100" max="1900"/>
</servos>

端口定义, 1~4 端口分别接前后左右电机。

<section name="MIXING" prefix="MOTOR_MIXING_">

<define name="TRIM_ROLL" value="0"/>

<define name="TRIM_PITCH" value="0"/>

<define name="TRIM_YAW" value="0"/>

<define name="NB_MOTOR" value="4"/>

<define name="SCALE" value="256"/>

<!-- front/back turning CW, right/left CCW -->

<define name="ROLL_COEF" value="{ 0, 0, -256, 256 }"/>

<define name="PITCH_COEF" value="{ 256, -256, 0, 0 }"/>

<define name="YAW_COEF" value="{ -256, -256, 256, 256 }"/>

<define name="THRUST_COEF" value="{ 256, 256, 256, 256 }"/>

</section>

端口混控关系,翻滚、俯仰、偏航、油门指令对应的舵机输出系数。

<command_laws>

<call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>

<set servo="FRONT" value="motor_mixing.commands[0]"/>

<set servo="BACK" value="motor_mixing.commands[1]"/>

<set servo="RIGHT" value="motor_mixing.commands[2]"/>

<set servo="LEFT" value="motor_mixing.commands[3]"/>

</command_laws>

遥控指令与各个舵机输出关系

第七部分 参数校准

1 配置遥控器

每个遥控器四个最基本的指令是THROTTLE(油门)、YAW(偏航)、PITCH(俯仰)、ROLL(横滚),对应了左右两个摇杆。其余的可以视为辅助通道。在遥控器可以设置剩余通道对应的拨杆或者旋钮。在Radio配置文件中对应为:

<!DOCTYPE radio SYSTEM "radio.dtd">

<radio name="cockpitSX (easy)" data_min="900" data_max="2100" sync_min ="5000" sync_max ="15000" pulse_type="POSITIVE">

<channel ctl="A" function="ROLL"        min="1000" neutral="1500" max="2000" average="0"/>

<channel ctl="B" function="PITCH"       min="2000" neutral="1500" max="1000" average="0"/>

<channel ctl="C" function="THROTTLE"   min="1010" neutral="1010" max="2000" average="0"/>

<channel ctl="D" function="YAW"         min="1010" neutral="1500" max="1990" average="0"/>

<channel ctl="E" function="MODE"        min="1000" neutral="1500" max="2000" average="1"/>

<channel ctl="F" function="UNUSED"      min="2050" neutral="1500" max="950"  average="1"/>

</radio>

此处列举了6通道遥控器,(注意,这里的顺序可能是不对的)。每个通道对应了minmaxneutral参数。如果通道数量不一样,需要做增加或者减少。

图表示了固定翼/多轴在GCS里面的Settings选择ppm输出方法,注意要点击绿色勾选。然后Messages(参阅FAQ:如何打开Messages)里变会多出ppm一项。里面的6个数值分别对应了xml文件里的6个通道数值(xml里面的顺序!。那么这时候开始操纵摇杆,例如油门,观察第几个数值在改变,例如第2个,那需要把function="THROTTLE"那一行移到第2个。继续操纵摇杆把最大值、最小值获取,替换掉xml原有的。这里还需要注意,油门的minneutral设置相等;PITCHminmax相反写(可以尝试,因为这样为了和遥控的俯仰摇杆和实际飞行动作做逻辑对应);另外,function="MODE"表示用摇杆切换飞行模式,例如固定翼中可以有MANUAL,AUTO1AUTO2,上面的xml5行(绿色标识)为模式通道,通过设置遥控器第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 name="AHRS" prefix="AHRS_">

<define name="H_X" value="0.6589"/>

<define name="H_Y" value="-0.0633"/>

<define name="H_Z" value="0.7495"/>

</section>

第二步,校正罗盘的正确指向:

完成本节开头准备工作,之后将飞机绕着所有轴缓慢旋转,保证磁力计已经在整个球面(如图所示)获取到了采样测量值。

最后运行脚本:

sw/tools/calibration/calibrate.py -s MAG var/logs/YY_MM_DD__hh_mm_ss.data

请将阴影部分替换为真实的文件名。

获取最终的下面数值,写入机体配置文件。

<!-- replace this with your own mag calibration -->

<define name="MAG_X_NEUTRAL" value="-45"/>

<define name="MAG_Y_NEUTRAL" value="334"/>

<define name="MAG_Z_NEUTRAL" value="7"/>

<define name="MAG_X_SENS" value="4.47647816128" integer="16"/>

<define name="MAG_Y_SENS" value="4.71085671542" integer="16"/>

<define name="MAG_Z_SENS" value="4.41585354498" integer="16"/>

第三步,校正罗盘电流干扰:

电子罗盘测量的是地磁,而飞机上的电气连线难免会有变化的电流产生的磁场,而因此干扰电子罗盘的正常工作。

1. 在机体配置文件里定义 MILLIAMP_AT_FULL_THROTTLE

2. 勾选mag_current_calibration(如图所示),并打开Messages

3. 固定好飞机,缓慢推油门,至满,然后关闭

4. 关闭地面站

接下来,运行以下脚本:

sw/tools/calibration/calibrate_mag_current.py var/logs/YY_MM_DD__hh_mm_ss.data

请将阴影部分替换为真实的文件名。

最后把获取到的数值写入机体配置文件即可:

<section name="IMU" prefix="IMU_">

...

<define name= "MAG_X_CURRENT_COEF" value="0.0591913538739"/>

<define name= "MAG_Y_CURRENT_COEF" value="-0.132912120794"/>

<define name= "MAG_Z_CURRENT_COEF" value="-0.0724604582039"/>

...

</section>

3 校准PID

更多信息请百度/优酷搜索如何调节PID,调节PID技巧等关键字

4 校准姿态

由于飞控安装到载机上不可能严格保证其处于水平位置,换句话说,安装完好的载机放置在地面上,通过地面站观察到的陀螺仪不能严格保证水平。带来的后果是飞机起飞后姿态漂移。校准方法是在Paparazzi CeneterSettings添加body_to_imu.xml,然后编译、上传、并打开地面站,此时在地面站的Settings模块会多出body2imu的选项,打开messages,找到水平分量thetaphi(图中以四轴为例)。此时通过调整b2i phib2i theta,使得messages中的phitheta0即可,记录下此时的参数,写入机体配置文件。

  

小提示:默认是修正步进较大(0.5),可以通过修改body_to_imu.xml修改,变小。另外一点,由于飞机放置地面本身就无法保证其处于水平位置,因此上天后可能这些参数可能不为0,还需要进一步调试归0才行。

5 上传程序方法

拔掉航模电池,用MicroUSB连接线(一般智能手机都有)连接Lisa M/v2.0主板,可以看到LEDVIN常亮,LED1~LED5以跑马灯闪烁。调出Linux命令行运行lsusb,应当看到多出主板设备,代表PC已经识别了该主板。

打开Paparazzi Center(需要root权限,否则普通用户无法对设备进行读写),选择配置文件:固定翼选择Microject_LisaM,四旋翼选择Quad_LisaM_2Target选择ap; 编译选择“Build”,Flash mode USB DFU(stm32_mem)选择默认也行,因为在lisa_m_2.0.makefile有默认配置:

# default flash mode is via usb dfu bootloader (luftboot)
# other possibilities: DFU-UTIL, JTAG, SWD, STLINK, SERIAL
FLASH_MODE ?= DFU

最后Upload,等待进度条完成即可。

至此完成代码更新。跑马灯熄灭。LED11Hz频率闪烁,LED2闪烁后常亮,姿态解算完成。最后选择右上角的Session, 具体请结合无线数传电台参数选择,例如USB接口57600波特率;最后点击右上角的Execute执行地面站。

第八部分 飞行计划

<flight_plan alt="260" ground_alt="185" lat0="43.46223" lon0="1.27289" max_dist_from_home="1500" name="Basic" security_height="25">

  1. alt:预设飞机飞行海拔(对海平面而言)
  2. ground_alt:飞行场地海拔(对海平面而言)
  3. lat0,lon0HOME点经纬度
  4. max_dist_from_home:围绕HOME点最大飞行半径
  5. security_height:安全高度

接下来航点设置,以HOME点位WGS84坐标系O点,设置航点的位置。

<waypoints>

<waypoint name="HOME" x="0" y="0"/>

<waypoint name="STDBY" x="49.5" y="100.1"/>

<waypoint name="1" x="10.1" y="189.9"/>

<waypoint name="2" x="132.3" y="139.1"/>

<waypoint name="MOB" x="137.0" y="-11.6"/>

<waypoint name="S1" x="-119.2" y="69.6"/>

<waypoint name="S2" x="274.4" y="209.5"/>

<waypoint alt="215.0" name="AF" x="177.4" y="45.1"/>

<waypoint alt="185.0" name="TD" x="28.8" y="57.0"/>

<waypoint name="_BASELEG" x="168.8" y="-13.8"/>

<waypoint name="CLIMB" x="-114.5" y="162.3"/>

</waypoints>

注意,HOME为开始这是的经纬度,设置为{0,0},第二,航点也可以设置高度,如果不设置,默认为round_alt,但是在AF->TD降落航线一般要重新指定,也就是起降海拔、降落目标海拔。

更多信息参阅QQ群文件:Flight Plans.pdf

第九部分 常见问题

如何打开菜单栏

Ubuntu操作系统的菜单栏统一在桌面最顶部,而且隐藏起来,需要激活应用程序的对话框,然后鼠标移动到桌面顶部(偏左),便会出现该应用程序的菜单栏。

如何打开消息(Messages

请激活Paparazzi Center对话框,然后在菜单栏(参阅FAQ,如何打开菜单栏)的在Tools里面下拉选择Messages,消息便会出现。

如何打开实时示波器(Real-time Plotter

请激活Paparazzi Center对话框,然后在菜单栏(参阅FAQ,如何打开菜单栏)的在Tools里面下拉选择Real-time Plotter,实时示波器便会出现。把Messages里面的数值拖拽到示波器里可以观察数据的实时变化曲线。

四轴+x型配置的电机转向是什么

四轴+型配置与飞控如何对应安装

飞控伺服14分别接入四轴的前、后、右、左的电调

四轴如何解锁

前提是,已经正确设置了遥控器摇杆的行程!

如何设置富斯遥控的PPM模式

如何设置富斯遥控的辅助通道

 

注意长按CANCEL键生效!

数传为何连接不上地面站

  1. 确认飞控指示灯,LED1常量,LED2闪烁;
  2. 检查数传指示灯,绿灯常量(代表配对成功),红灯闪烁(代表有数据传输)
  3. 通过命令行lsusb查看Ubuntu系统的USB设备列表,看看系统是否已经识别了数传硬件;
  4. 确认是以root权限打开的paparazzi center

群文件有串口调试助手,可以在windows下接收数据。

欢迎加入QQ 交流群: 34528825 (Paparazzi UAV 技术交流)

Paparazzi UAV Lisa/M2飞控使用说明书相关推荐

  1. 搭建 paparazzi uav 调试环境 ppz

    关键字:paparazzi gdb eclipse jlink lisa-m 环境:win7 + ubuntu10(虚拟机) 时隔一年,从mwc转到paparazzi,要crack代码,搭建个方便的调 ...

  2. 无人机——开源飞控简介

    注:本文转载自   ExBot易科机器实验室 --开源飞控知多少      http://blog.exbot.net/archives/2154 在纷繁复杂的无人机产品中,四旋翼飞行器以其结构简单. ...

  3. GitHub 上有哪些机器人、无人机、自动控制等方面的有趣项目

    /*************************************************************************************************** ...

  4. 四大开源无人机项目,极客要Get了

    转载地址:http://www.linuxdiyf.com/viewarticle.php?id=563737 在过去的几年间,人们对民用和商用无人机的兴趣迅速增长,无人机硬件在许多人的节假日愿望清单 ...

  5. 无人机开源项目_8个开源无人机项目

    无人机开源项目 编者注:本文最初发表于2016年12月,现已更新以包含其他信息. 在过去的几年中,对民用,军事和商用无人机的兴趣Swift增长,这也带动了制造商社区对开源无人机项目的兴趣. 符合无人机 ...

  6. 飞控手机地面站调试_H飞控地面站以及数传板使用说明书v1.1

    如图:数传板左上方,可以连接 8 路遥控接收机或者 8 路电位器(可以用来 diy 摇杆) 左下方,电源( 2s 或者 3s )或者遥控的模拟输入(模拟输入和遥控接收只要接其中之一 即可,遥控的模拟口 ...

  7. 转载:开源飞控的前世今生

    原文 http://bbs.5imx.com/bbs/portal.php?mod=view&aid=202 李大伟 北京航空航天大学无人驾驶飞行器设计研究所 副教授 杨炯  北京航空航天大学 ...

  8. 技术贴:开源飞控那些事

    原文 http://bbs.5imx.com/bbs/portal.php?mod=view&aid=202 李大伟 北京航空航天大学无人驾驶飞行器设计研究所 副教授 杨炯  北京航空航天大学 ...

  9. [AC]技术贴:开源飞控那些事

    原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:https://blog.csdn.net/humanking7/article/details/85335364 文章目录 1 如何定义开 ...

  10. 【UAV】从单个螺旋桨到四旋翼无人机运动学分析

    文章目录 1 单个螺旋桨受力分析 2 坐标变化 3 四个螺旋桨对无人机的影响 3.1 旋翼对位置的影响 3.2 旋翼对姿态角影响 4 机体坐标下的输出量 5 位置变量转换到世界坐标系 6 简化分析 1 ...

最新文章

  1. 熬夜与不熬夜,10年后差距到底有多大?
  2. How good software makes us stupid?
  3. Spring boot表单重复提交
  4. 剑指offer-3(替换空格)
  5. idea gblfy常用快捷键
  6. Oracle数据库日常管理之数据备份,恢复及迁移 (第五讲 )
  7. 电脑音箱常见故障排查技巧
  8. MYSQL的递归查询
  9. 你踩过dataguard的哪些坑?
  10. 短视频如何制作?前期、拍摄和后期,三个步骤很重要
  11. Vue高频面试问题(含答案),面试官直呼好家伙~
  12. 【字符编码转换】使用iconv
  13. UVA 12307 Smallest Enclosing Rectangle(旋转卡壳)
  14. 学习Oneindex的搭建[国际Onedrive]
  15. <Halcon>基于形状和轮廓的模板匹配
  16. Python挑战游戏( PythonChallenge)闯关之路Level- 3
  17. SSM在线学习网站的设计与实现毕业设计源码011451
  18. 第十二届蓝桥杯第二期模拟赛(java) python解法
  19. 西数服务器硬盘区别,桌面硬盘和移动硬盘的区别
  20. WebService技术实现方案(转)

热门文章

  1. ffmpeg入门到实战-ffmpeg是怎么转码的?
  2. 沙盘模拟软件_赛事动态 | 第十六届全国职业院校沙盘模拟经营大赛全国总决赛圆满举办...
  3. Keil 安装 配置
  4. ArcGIS在三调,农村土地确权,国情普查项目中常用的编辑工具
  5. Eclipse下载及汉化(官方最新)
  6. Matlab求矩阵均值
  7. 【TSP问题】基于狼群算法求解旅行商问题含Matlab源码
  8. 移动端 html 模板,移动端web页面代码模板
  9. java 游戏编程 (一)
  10. 从阿里外包月薪5K到转岗正式员工月薪15K,这100多天的心酸只有自己知道...