ardupilot设置指南.docx

上传人:b****7 文档编号:9917648 上传时间:2023-02-07 格式:DOCX 页数:78 大小:7.29MB
下载 相关 举报
ardupilot设置指南.docx_第1页
第1页 / 共78页
ardupilot设置指南.docx_第2页
第2页 / 共78页
ardupilot设置指南.docx_第3页
第3页 / 共78页
ardupilot设置指南.docx_第4页
第4页 / 共78页
ardupilot设置指南.docx_第5页
第5页 / 共78页
点击查看更多>>
下载资源
资源描述

ardupilot设置指南.docx

《ardupilot设置指南.docx》由会员分享,可在线阅读,更多相关《ardupilot设置指南.docx(78页珍藏版)》请在冰豆网上搜索。

ardupilot设置指南.docx

ardupilot设置指南

介绍

需要的部件

∙一块ArduPilotMega板

∙一个带有连接器的ArduPilotMegaIMU板

∙一个MediaTekGPS模块或uBloxGPS模块。

(与适配器一起订购,并为ArduPilot编程).

∙双母头舵机线,数量为ArduPilotMega控制的通道数加1。

基本设置为4通道,但APM可最多控制8个通道。

其中一个通道用来控制ArduPilotMega。

∙用来无线遥测的两个Xbee无线模块和两个适配器。

我们在空中使用这个Xbee,地面使用这个Xbee和这个天线.可以在空中使用这个XtreamBee适配器,并地面使用SparkfunUSB适配器;或者可以使用两个XtreamBee适配器,在地面上的那个使用一条FTDI传输线连到电脑上。

你还需要一个至少5通道的遥控设备,一个烙铁,一条miniUSB线,当然还有一个能飞的东西!

(我们偏爱EasyStar和SkyFun飞翼).

方法

仔细阅读说明书!

某一天自驾仪将成为一个能在沃尔玛买到的即插即用设备,但可惜不是现在。

飞行器各不相同,而作为一个开源项目我们尽可能支持广泛的硬件配置。

这就意味着在飞行之前你必须配置自驾仪。

一旦你配置好,你还需要根据自己的飞机来调整自驾仪。

采用循序渐进的方法,也就是说,首先处理基本问题,每次只改变一到两个设置,然后测试是否合适,在进行下一项调整。

另外重要一点是只有在理解之后再做尝试。

在还没有良好理解和阅读注意事项之前使用使用默认设置。

反复阅读基本章节。

保留以前的版本,这对排除问题是很有用的,或者也可以恢复到以前正常工作的版本。

如果存在疑问,在飞真机之前使用模拟器!

连接到电脑上

APM使用一条miniBUSB数据线。

如下所示插到板子上:

当吧你的APM用USB数据线连到电脑上时,Windows7将识别FTDIUSB转串口芯片并安装正确的驱动。

如果没有识别,或者你使用早期版本的Windows,你需要从这里下载和安装正确的驱动。

安装好之后,重启电脑,再次插上数据线。

电脑将识别芯片,并在Windows设备管理器里面显示,如下所示(你的COM端口可能序号不同,它是Windows根据你连接过多少其他的设备而分配的)。

那就是你用来与APM交互的COM端口。

现在就可以使用APM了!

下面是根据设置遥控设备配置APM的说明:

1连接遥控接收器和舵机

2设置正确的舵机运动方向

遥控设置和飞机设置都各不相同,你经常会发现一个或几个舵机是反向的。

除了编辑配置文件并重新加载程序之外,你还可以使用IMU板上的拨动开关来调整舵机方向。

大多数用户会使用默认设置,即所有开关都朝下。

从左到右(左侧是靠近滑动开关的那一侧)分别是横滚、俯仰、方向和混控模式。

对于横滚、俯仰和方向,往下是正常,往上是反向。

对于混控模式,往下是普通模式,往上是升降副翼/V尾。

当使用升降副翼/V尾时,前三个开关分别是升降副翼反向,升降副翼通道1反向和升降副翼通道2反向。

下面是我的Skyfun三角翼的一个例子:

油门通道反向仍然必须在配置文件中设置——我们不希望某人意外拨动一个开关就导致油门升到最大!

设置舵机方向

正确设置舵机方向的最简单的方法是在开机之后。

当APM处于稳定模式,控制舵面移动的方向应该保持飞机水平直线飞行。

拿住飞机,确保翼面在手动飞行模式下正确移动(如果不正常,在发射器上设置舵机反向)。

然后切换到稳定飞行模式(你可以使用命令行解析器来设置该模式,将在后文中介绍)

当你前后倾斜飞机,升降舵应该相应移动(当机头向下倾斜时,升降舵应该抬起,反之亦然)。

如果舵机运动方向错误,拨动第二个开关,如上表所示。

当你移动发射器摇杆时,舵机在稳定模式下的运动方向应该和手动模式下的方向一致。

对副翼做同样到操作。

首先检查在手动模式下是否正确,然后检查稳定模式。

当你倾斜飞机使它向左倾斜转弯时,右侧副翼应该向上运动,左侧副翼应该向下运动。

如果方向反了,拨动第一个开关。

如果需要反向油门通道,将APM_Config.h文件中的这一行改成"ENABLED":

#defineTHROTTLE_REVERSEDISABLED

APM软件

从APM2.0开始,上传APM固件最简单的方法是使用任务规划器。

可以在这里下载最新的APM任务规划器(叫做APMPlanner(xxx).zip)。

解压文件,运行ArdupilotMegaPlanner.exe。

它将提示你选择代码目录,我们将在以后介绍。

直接单击"OK"按钮。

这将在你屏幕的顶部打开一个菜单条。

如果你插上了APM,将显示它连接的串口。

(如果你有好几个串口,所有都将显示。

如果你不确定哪个是连着APM的,检查Windows设备管理器)。

确保波特率(baudrate)设为115200。

在Action菜单中,选择UploadFirmware,然后单击"UpdateCheck"。

任务规划器将从网上获取最新的固件选项。

通常会列出好几种固件选项:

APM1280或APM2560板子的默认固件,和每种板子用来与在Xplane里模拟的固件版本。

选择需要的一种。

然后选择你的板子类型(APM1280或APM2560),单击"UploadFirmware",固件将上传到APM板子里。

命令行解析器和设置/测试模式

∙设置

遥控设置

飞行控制模式

检查舵机反向设置

∙记录

∙测试

命令行解析器(CommandLineInterpreter,CLI)是你设置和测试APM的主要方式。

它有点类似于传统的DOS提示符。

你必须使用这个解析器来设置APM,然后才能够飞行。

注意在改变滑动开关的位置之后你必须重启板子,它才能够识别设置并加载正确的模式。

(这意味着在使用CLI并将开关切回飞行模式后,必须在飞行前将板子断电并重新上电。

CLI的使用步骤包括以下三步:

1将IMU板的滑动开关拨到靠近舵机插头的位置,如图所示。

(在准备飞行时需要将其拨回靠近拨动开关的位置)

2用USB/FTDI传输线将板子与电脑相连

3如图所示,单击Arduino工具栏上串口监视器(SerialMonitor)按钮,打开串口监视器窗口

(确保串口波特率为115200,行结束符(lineending)选择"CarriageReturns"):

现在你可以在串口监视器上放的输入框内输入命令,然后按回车键。

输入"exit"退出。

这里我输入"help"查看命令列表:

起始命令包括:

∙"logs":

记录回读信号/设置模式。

(在飞行之后使用)

∙"setup":

初始设置模式

∙"test":

测试模式

设置

设置过程根据你的遥控设定和需要的飞行模式配置APM。

输入"setup"然后按回车键进入该模式。

在飞行前必须进行遥控设置和飞行模式设置。

你还应该测试GPS锁定(在测试模式中使用gps命令),这通常需要在空旷的户外进行。

允许的设置命令包括:

∙"reset":

重置APM为默认设置

∙"radio":

设置遥控

∙"modes":

设置触发开关每个位置对应的飞行模式

∙"show":

显示EEPROM中当前所有设置

遥控设置

在这个模式中你必须移动发射器摇杆到它们的极限位置,如下所述:

移动右摇杆到右上角,再到右下角,再到左上角,再到左下角。

对左摇杆重复以上操作。

移动顺序其实不重要,重要的是每个摇杆都碰到了4个角。

这是一张典型的遥控设置过程的截图:

注:

如上图所示,你连接的通道的读数的最小值应该在1000-1300左右,最大值在1900-2000左右。

(如果读数恰好为1000和2000,那就是说通道没有连上。

)如果你的读数都在1500左右,可能有三个原因:

4在测试过程中你没有将摇杆移动到极限位置(4个角落)

5你的接收连接不正确,可能是插反了,或者插错引脚,或者没有连上

6你的APM板子版本较老,需要更新PPM固件。

参阅相关说明

飞行控制模式

下面叙述如何设置飞行模式:

在CLI中,进入设置模式。

输入"modes"并按回车。

现在当你拨动遥控上的开关时,你可以看到窗口中显示对应的飞行模式。

如果你想改变飞行模式,使用发射器上的“方向/副翼”摇杆。

将摇杆左右移动,飞行模式就会变化。

输入回车键保存设置并退出。

参见这个例子:

这里是一个视频教程:

检查舵机反向设置

现在是检查舵机反向设置的好时候。

相关说明在这里。

记住如果你的飞机有升降副翼(飞翼或三角翼),你还要用拨动开关设置混控。

如果你的飞机是普通飞机,但是发现通道1和2有某种关联,那就意味着你不小心设置了升降副翼混控。

将拨动开关拨到下方,切回普通模式。

记录

该模式允许你读取和管理记录在16MB数据记录器中的飞行记录文件。

注:

你必须在使用记录功能之前先执行erase命令。

没有使用erase命令将导致不正确的记录和其他问题。

∙"dump(n)":

读取记录"n"

∙"erase":

清除所有记录

∙"enable(name)orall":

Enablelogging"name"oreverything

∙"disable(name)orall":

Disablelogging"name"oreverything

测试

你可以在交互测试模式中测试你的硬件和设置。

请参阅详细说明。

APM测试套件

APM附有12个测试功能,可以检查所有主要的子系统。

因此你可以一个一个检查它们是否工作正常。

要使用测试功能,在CLI中输入"test",然后输入"help",可以看到所有的测试功能:

可用的测试包括:

∙"radio":

显示每个遥控通道的输入读数

∙"gps":

显示GPS模块的当前数据。

如果GPS没有锁定,那么结果是0

∙"imu":

显示当前的x,y,z轴姿态

∙"gyro":

显示偏航陀螺和加速度计的读数

∙"battery":

显示当前的电池电压(需安装电压监视器)

∙"relay":

测试板上的继电器

∙"waypoints":

显示当前设置的航点

∙"airspeed":

显示差分气压传感器数据(需安装差分气压传感器)

∙"airpressure":

显示板上的绝对气压传感器的数据

∙"compass":

显示地磁计的数据(需安装地磁计)

∙"xbee":

显示从Xbee无线模块读入的数据(需安装Xbee模块)

∙"eedump":

导出板上EEPROM存储器的当前数据

遥控输入

说明:

照此说明连接遥控接收机和APM。

打开发射器,移动摇杆。

输入以脉宽调变(PWM)值的方式显示。

输入则以舵机偏移角度的方式显示。

在串口控制台中输入回车退出本测试。

典型数据:

故障检修:

如果所有的显示值都不随你的遥控输入变化,可能的原因包括:

1你没有配置遥控输入。

参见相关说明。

2遥控连线不正确。

(插反了?

3你拿到的可能是早期有问题的固件。

你可以自行升级固件,请参考本说明。

(译注:

国内版本应该不存在该问题)

GPS输入

说明:

本测试显示GPS模块的输出。

该模块应该插在APM板的GPS端口上。

通常情况下,只有在户外空旷地点测试GPS才有意义。

某些GPS模块在木制建筑内也可以锁定卫星(如果GPS与天空之间没有间隔太多层的话,但是结果不可预料)。

当GPS模块冷启动时(一天以上没有通电),通常需要约15分钟才能锁定卫星。

典型数据:

故障检修:

如果你在户外很长时间(15分钟以上)都无法锁定卫星,可能的原因包括:

∙如果你使用MediaTekGPS模块,需要在上电之后重置APM板,才能正确发送配置字串。

我们未来会修正这个问题,但现在应在测试GPS之前按一下重置按钮。

∙你确定将GPS插到APM板上,而不是IMU板上那个差不多的端口(写着"NOGPS!

")上?

∙传输线有问题(检查连接器的针是否弯曲)

∙GPS固件损坏。

重新加载固件的说明在这里:

uBlox,MediaTek

∙你使用的GPS模块不受支持。

当前仅支持DIYDrones的uBlox和MediaTek模块

IMU输出

说明:

本测试记录板子移动时,DCM算法的输出结果。

当传感器校准时,IMU板上的LED将快速闪烁20-30秒,然后开始显示数据。

偏航(yaw)数据可能略有漂移,因为它只能根据运动时的GPS数据和/或地磁计(如果使用了的话)数据进行校正,而这些数据在室内通常不正确。

旋转板子时的典型数据(roll,pitch,yaw):

故障检修:

如果板子移动时数据不变,可能有电路连接问题,最可能是焊接错误引起的。

检查焊点!

原始传感器输入数据

说明:

本测试显示陀螺仪(左侧三列)和加速度计(右侧三列)的原始数据。

记住陀螺仪显示每个轴向上的旋转速率,而加速度计显示绝对角度。

因此当停止旋转板子时,陀螺仪将回到初始数据。

样例数据:

Battery

UpdatedMar25,2011byhazy...@

说明:

本测试仅在如此说明所述的电压传感器之后有效。

四个数据位是四个分压器的输出值。

如果你照上述说明所述连接电池,这将表示电池每个电芯的电压——3S电池有3个电芯,4S电池有4个。

由于电芯是串联的,因此最后一个电池电压就是电池组的总电压。

在下图所示的例子中,我使用了一个3S11.1v电池(实际上是11.4v)。

第4个分压器没有使用,所以可以忽略那一列数据。

样例数据:

继电器

说明:

注:

这不是beta版代码中的功能,请等待...本测试仅在每5秒时切换继电器的开关状态。

典型数据:

你应当每5秒听到一个微弱的声音。

再次声明,本测试在当前代码中不可用。

Waypoints

UpdatedMar25,2011byhazy...@

说明:

本测试假设你已经使用航点规划器输入了任务命令并已保存到EEPROM中。

此时,将显示EEPROM中的命令。

一共可以有256个命令。

数据显示当前内存中的所有数据的每一字段,每个字段的涵义请参见命令指南。

在航点中,高度数据的单位为厘米(因此100m将显示10000).

样例数据:

AirspeedTest

UpdatedMar25,2011byhazy...@

说明:

本测试假定你已经按照说明安装了空速传感器。

测试传感器时,轻轻地向差分压力传感器的上管中吹气。

样例数据:

Airpressure

UpdatedMar25,2011byhazy...@

说明:

本测试根据当前海拔高度校准气压传感器,并输出相对海拔高度(如果上下移动板子的话)和原始数据。

典型数据:

MagnetometerTest

UpdatedMar25,2011byhazy...@

地磁仪测试

说明:

1.0代码不支持地磁仪。

但如果你有地磁仪的话,可以用\libraries\APM_Compass\examples目录中的APM_Compass_test文件测试。

将该固件传到你的板子上,通过串口终端观察数据。

串口波特率为38,400。

连接地磁仪的说明在这里.

(注:

目前板子的方向标志是错的。

正确的标志请参见该帖。

典型数据:

故障检修:

记住地磁仪只关注方向。

如果方向数据反了,可能是你把板子上下颠倒了(即将地磁仪焊接到板子上那样)。

不用担心——在设置里面可以配置。

Xbee测试

说明:

根据该说明连接Xbee模块。

确保APM通过USB与电脑相连,并且地面Xbee模块也通过USB与电脑相连。

在CLI中,输入"test"进入测试模式,然后输入"xbee"。

在PC上,启动X-CTU工具。

确保X-CTU中的串口设置为连接到地面模块的串口,波特率为57600bps(默认值)或你的APM端口的设置。

(在下图中,我将Xbees和Port3的波特率都设为38400).

样例数据:

在APM端,串口监视器应当显示下面的数据:

在PC端,X-CTU工具应当在终端窗口显示类似下面的数据:

你也可以测试距离。

开始测试,你应该可以看待类似下图的数据:

在CLI中按回车键退出测试。

附注:

如果你想修改Xbee模块的速率,可以在APM_Config.h文件中设置。

在文件中加上这行,并将38400改为你想设置的速率:

#defineSERIAL3_BAUD38400

EEPROM

UpdatedMar25,2011byhazy...@

说明:

本测试显示EEPROM中的所有数据。

这可能对调试问题有帮助。

因此如果某人要你的EEPROM数据,你可以导出、复制并粘贴到其他文件中。

样例数据:

#summary原始GPS数据

本测试显示GPS模块的原始输出数据。

如果你在常规GPS测试中遇到问题,本测试可能对调试有所帮助。

对多数用户不推荐,仅用于底层GPS调试。

如果你希望以ASCII方式显示数据,在Test标签页中修改这行:

Serial.print(incoming,BYTE);//willoutputBytevalues

tothis...

Serial.print(incoming,ASCII);//willoutputASCIIvalues

GPS选择指南

硬件安装说明在这里.

//*解释*

//Diydrones是一个开源站点,不同人使用不同的设备。

//因为可以使用不同的GPS模块,所以需要告知APM你使用哪一种。

//

//*说明*

//查看下面的GPS模块列表,查找你的模块,按一下方式定义

//例子"#defineGPS_PROTOCOLGPS_PROTOCOL_UBLOX"请注意只修改

//"GPS_PROTOCOL_UBLOX"部分,并且你的设置应该完全相同

//

//*可用选项*

//GPS_PROTOCOL_NONE没有安装GPS

//GPS_PROTOCOL_IMUX-Plane接口或ArduPilotIMU.

//GPS_PROTOCOL_MTKMediaTekGPS.

//GPS_PROTOCOL_MTK16MediaTekGPS1.6版固件

//GPS_PROTOCOL_UBLOXUBLOXGPS

//GPS_PROTOCOL_SIRFSiRF-basedGPS,二进制模式.未测试

//GPS_PROTOCOL_NEMANEMA格式,国内MTK模块

//******************

//*SELECTEDOPPTION*

#defineGPS_PROTOCOLGPS_PROTOCOL_UBLOX

//******************

空速传感器指南

硬件安装说明在这里.

//*解释*

//空速传感器帮助APM更精确地计算空速,因此能够更好地处理风和空速计算

//

//*说明*

//因为空速传感器是一个附件,你需要告知APM安上了一个空速传感器

//如果你正确安装了一个空速传感器,则将"#defineAIRSPEED_SENSORDISABLED"

//改为"#defineAIRSPEED_SENSORENABLED"

//*可用选项*

//#defineAIRSPEED_SENSORDISABLED

//#defineAIRSPEED_SENSORENABLED

//*****************

//*SELECTEDOPPTION*

#defineAIRSPEED_SENSORENABLED

//*****************

遥测指南

硬件安装指南在这里。

1)速度选择

//*EXPLAINED*

//TelemetryisinformationthatissentoverawirelesslinkbetweentheUAVandyourlaptop,thisisusedwhenaGCS(GroundControlStation)likeHK*GCSorQGCSis

//usedanditsendsthatinformationthrough"Telemport"onyourAPMthroughaXbeemodule(wirelessmoduleseelinkabove)

//

//*INSTRUCTIONS*

//BecausetelemetryisaadditionaladdonyouneedtotellAPMthatyouareusingone,

//ifyoufollowedtheinstructionsinthelinkaboveexactlythenyouneedtodothefollowing.

//TheXbeemoduleshasdifferentspeedsettings(Baudrates)thedefaultbaudratefortelemetryis57600,ifyoudonothaveenoughknowledgeyetwe

//Suggestyouusethedefaultbaud.simplychangethestatement"#defineSERIAL3_BAUD57600"towhateverspeedyouwouldlikeifyouchosetochangeit.

//

//*AVAILABLESPEEDOPTIONS*NOTE:

WHENCHOSINGABUADSPEEDFORYOURTELEMETRYYOUNEEDTOSETUPYOUR

//#defineSERIAL3_BAUD9600XBEETOTHESAMESPEEDASWELLASYOURGCS(goundcontrolstation)

//#defineSERIAL3_BAUD19200INSTRUCTIONSCANBEFOUNDINLINKABOVE

//#defineSERIAL3_BAUD38400

//#defineSERIAL3_BAUD57600

//#defineSERIAL3_BAUD115200

//******************

//

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1