Error pos vert variance

Every time I run an Accel Calibration I am getting this error. I have googled it and found nothing. I am using Mission Planner 1.3.31 and ArduPlane v3.3.0. Anyone know what causes this? Thanks, Matt



Every time I run an Accel Calibration I am getting this error. I have googled it and found nothing. I am using Mission Planner 1.3.31 and ArduPlane v3.3.0.

Anyone know what causes this?

Thanks,

Matt


Loading …

DIY Robocars via Twitter

RT @chr1sa: Donkeycar 4.4 released with tons of new features, including path learning (useful with GPS outdoors), better Web and Lidar supp…

DIY Robocars via Twitter

RT @NXP: We are already biting our nails in anticipation of the #NXPCupEMEA challenge! 😉 Did you know there are great cash prizes to be won…

DIY Robocars via Twitter

RT @gclue_akira: レースまであと3日。今回のコースは激ムズかも。あと一歩

#jetracer https://t.co/GKcEjImQ3t

DIY Robocars via Twitter

RT @chr1sa: The next @DIYRobocars autonomous car race at @circuitlaunch will be on Sat, Dec 10.

Thrills, spills and a Brazilian BBQ. Fun…

DIY Robocars via Twitter

RT @arthiak_tc: Donkey car platform … Still training uses behavioral cloning #TCXpo #diyrobocar @OttawaAVGroup https://t.co/PHBYwlFlnE

DIY Robocars via Twitter

RT @emurmur77: Points for style. @donkeycar racing in @diyrobocars at @UCSDJacobs thanks @chr1sa for taking the video. https://t.co/Y2hMyj1…

DIY Robocars via Twitter

RT @SmallpixelCar: Going to @diyrobocars race at @UCSDJacobs https://t.co/Rrf9vDJ8TJ

DIY Robocars via Twitter

RT @SmallpixelCar: Race @diyrobocars at @UCSDJacobs thanks @chr1sa for taking the video. https://t.co/kK686Hb9Ej

DIY Robocars via Twitter

RT @PiWarsRobotics: Presenting: the Hacky Racers Robotic Racing Series in collaboration with #PiWars. Find out more and register your inter…

DIY Robocars via Twitter

RT @Hacky_Racers: There will be three classes at this event: A4, A2, and Hacky Racer! A4 and A2 are based around UK paper sizing and existi…

DIY Robocars via Twitter

RT @NeaveEng: Calling all UK based folks interested in @diyrobocars, @f1tenth, @donkey_car, and similar robot racing competitions! @hacky_r…

DIY Robocars via Twitter

RT @araffin2: 🏎️
After hours of video editing, I’m happy to share a best of my Twitch videos on learning to race with RL.
🏎️
Each part is…

More…


Loading …

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account


Closed

Ahrovan opened this issue

Jun 25, 2017

· 3 comments

Comments

@Ahrovan

I send range finder via MAVLINK. I set below setting:
1)image
2)
image
3) show sonar range Right
image
4) but PreArm error occur and can not arm copter ( sometime say «error pos vert variance» and crush ):

PreArm: check range finder
PreArm: check range finder
PreArm: check range finder
PreArm: check range finder
PreArm: check range finder
PreArm: check range finder
PreArm: check range finder
PreArm: check range finder
PreArm: check range finder
PreArm: check range finder
PreArm: check range finder
PreArm: check range finder
PreArm: check range finder
EKF2 IMU1 is using optical flow
EKF2 IMU0 is using optical flow
PreArm: check range finder
PreArm: Need 3D Fix
EKF2 IMU1 tilt alignment complete
EKF2 IMU0 tilt alignment complete
EKF2 IMU1 initial yaw alignment complete
EKF2 IMU0 initial yaw alignment complete
Initialising APM
Initialising APM

[Copter-3.5.0-rc8- pixhawk — Mavros 0.19 + KINETIC ROS + «Optical flow Active and work»]

@Ahrovan
Ahrovan

changed the title
distance_sensor Problem

distance_sensor Problem + error pos vert variance

Jun 25, 2017

@Ahrovan

I check this note:

Copter 3.3-rc2/rc3 02-May-2015
Changes from 3.3-rc1
...
2) Optical flow improvements:
    a) Range Finder pre-arm check - lift vehicle between 50cm ~ 2m before arming.  Can be disabled by setting ARMING_CHECK to "Skip Params/Sonar"
    b) Vehicle altitude limited to range finder altitude when optical flow is enabled 

my range finder limit is 5 ~ 1000 cm (after Modify min_range & max_range ). and lift vehicle between 50cm ~ 2m but mission planner say again:

PreArm: check range finder
EKF primary changed:1

EKF primary changed:0

PreArm: check range finder
EKF primary changed:1

EKF primary changed:0

EKF primary changed:1

PreArm: check range finder
EKF primary changed:0

EKF primary changed:1

PreArm: check range finder

image

@Ahrovan

When lift vehicle ~20cm above ground i see this ressult:
image

EKF primary changed:1

EKF primary changed:0

EKF primary changed:1

EKF primary changed:0

EKF primary changed:1

EKF primary changed:0

EKF primary changed:1

EKF primary changed:0

EKF primary changed:1

EKF primary changed:0

EKF primary changed:1

EKF primary changed:0

EKF primary changed:1

EKF primary changed:0

EKF primary changed:1

@OXINARF

This issues list is for feature requests and confirmed bugs. For user support please post in the forum (http://discuss.ardupilot.org).

Check that you are sending MAVLink messages fast enough — you need to have less than 500ms interval.

2 participants

@OXINARF

@Ahrovan

Quote:

Originally Posted by hyper1on

manual tune imho
i try 4 and 6 level for binary 1200 and it was bad as you see on a video.

If you don’t mine trying some tests for me I’d like to work out why autotune is doing badly on your aircraft. I have 3 sets of flights logs showing poor autotune performance, from yourself, rimb05 and Tevellyan.
Looking at your level 6 log (called level6.bin) I can see a 3.5Hz oscillation in roll after the tune. There are two likely causes of this:
— the speed at which your aircraft can respond to aileron commands is below RLL_RATE_SMAX, which leads the autotune not to detect the oscillation
— the filtering settings that I’ve defaulted to for 4.1.0beta are too low, leading to phase lag in the control response
I suspect it is the filter settings being too low. Could I get you to load the parameters from your level6 autotune, which were:

RLL2SRV_RMAX 75
RLL2SRV_TCONST 0.5
RLL_RATE_D 0.012132
RLL_RATE_FF 0.185291
RLL_RATE_FLTD 4.0
RLL_RATE_FLTE 7.0
RLL_RATE_FLTT 3.0
RLL_RATE_I 0.185291
RLL_RATE_IMAX 0.666667
RLL_RATE_P 0.209862
RLL_RATE_SMAX 150

and then try raising the filter frequencies to 10Hz. That is, change:

RLL_RATE_FLTD from 4 to 10
RLL_RATE_FLTE from 7 to 10
RLL_RATE_FLTT from 3 to 10

my theory is that the agressive filtering of the PID elements is causing too much phase lag which is what is leading to the oscillation. The one I think is most likely causing the issue is FLTT, which is the target filter, but please raise all 3 of them to 10Hz. Your aircraft is fairly low noise, so I don’t think it needs these agressive filters anyway (although it may need the D filter, as D is much more prone to noise).

If you find that raising the filter cutoff frequencies helps then it would be great if you could test raising just FLTT to see if that is the key change. I’m considering raising the default value for FLTT from 3 to 10 for the next beta and would like to know if that alone helps.

If that doesn’t help then you could try lowering RLL_RATE_SMAX and tuning again (also at level 6). You’re currently on the default of 75Hz. Try dropping to 50Hz. Please do that as a separate test from the filter changes, as I suspect the filter changes are the key, and lowering the SMAX will result in a softer tune.

Thanks for your help with this. The autotune algorithm is quite new and while it did well for the aircraft that Henry and I tested during it’s development it is not surprising that there are aircraft it does badly for. With a bit of testing I’m hoping we can adjust the filter defaults to make it work well for a lot more aircraft.

Dialect: ArduPilotMega

These messages define the ArduPilot specific message set, which is custom to http://ardupilot.org.

This topic is a human-readable form of the XML definition file: ardupilotmega.xml.

The ArduPilot MAVLink fork of ardupilotmega.xml may contain messages that have not yet been merged into this documentation.

MAVLink 2 messages have an ID > 255 and are marked up using (MAVLink 2) in their description.

MAVLink 2 extension fields that have been added to MAVLink 1 messages are displayed in blue.

MAVLink Include Files: common.xml

MAVLink Include Files: uAvionix.xml

MAVLink Include Files: icarous.xml

MAVLink Include Files: cubepilot.xml

This file has protocol dialect: 2.

MAVLink Type Enumerations

ACCELCAL_VEHICLE_POS

[Enum]

Value Field Name Description
1 ACCELCAL_VEHICLE_POS_LEVEL
2 ACCELCAL_VEHICLE_POS_LEFT
3 ACCELCAL_VEHICLE_POS_RIGHT
4 ACCELCAL_VEHICLE_POS_NOSEDOWN
5 ACCELCAL_VEHICLE_POS_NOSEUP
6 ACCELCAL_VEHICLE_POS_BACK
16777215 ACCELCAL_VEHICLE_POS_SUCCESS
16777216 ACCELCAL_VEHICLE_POS_FAILED

HEADING_TYPE

[Enum]

Value Field Name Description
0 HEADING_TYPE_COURSE_OVER_GROUND
1 HEADING_TYPE_HEADING

SPEED_TYPE

[Enum]

Value Field Name Description
0 SPEED_TYPE_AIRSPEED
1 SPEED_TYPE_GROUNDSPEED

SCRIPTING_CMD

[Enum]

Value Field Name Description
0 SCRIPTING_CMD_REPL_START Start a REPL session.
1 SCRIPTING_CMD_REPL_STOP End a REPL session.
2 SCRIPTING_CMD_STOP Stop execution of scripts.
3 SCRIPTING_CMD_STOP_AND_RESTART Stop execution of scripts and restart.

LIMITS_STATE

[Enum]

Value Field Name Description
0 LIMITS_INIT Pre-initialization.
1 LIMITS_DISABLED Disabled.
2 LIMITS_ENABLED Checking limits.
3 LIMITS_TRIGGERED A limit has been breached.
4 LIMITS_RECOVERING Taking action e.g. Return/RTL.
5 LIMITS_RECOVERED We’re no longer in breach of a limit.

LIMIT_MODULE

[Enum]

Value Field Name Description
1 LIMIT_GPSLOCK Pre-initialization.
2 LIMIT_GEOFENCE Disabled.
4 LIMIT_ALTITUDE Checking limits.

RALLY_FLAGS

[Enum] Flags in RALLY_POINT message.

Value Field Name Description
1 FAVORABLE_WIND Flag set when requiring favorable winds for landing.
2 LAND_IMMEDIATELY Flag set when plane is to immediately descend to break altitude and land without GCS intervention. Flag not set when plane is to loiter at Rally point until commanded to land.

CAMERA_STATUS_TYPES

[Enum]

Value Field Name Description
0 CAMERA_STATUS_TYPE_HEARTBEAT Camera heartbeat, announce camera component ID at 1Hz.
1 CAMERA_STATUS_TYPE_TRIGGER Camera image triggered.
2 CAMERA_STATUS_TYPE_DISCONNECT Camera connection lost.
3 CAMERA_STATUS_TYPE_ERROR Camera unknown error.
4 CAMERA_STATUS_TYPE_LOWBATT Camera battery low. Parameter p1 shows reported voltage.
5 CAMERA_STATUS_TYPE_LOWSTORE Camera storage low. Parameter p1 shows reported shots remaining.
6 CAMERA_STATUS_TYPE_LOWSTOREV Camera storage low. Parameter p1 shows reported video minutes remaining.

CAMERA_FEEDBACK_FLAGS

[Enum]

Value Field Name Description
0 CAMERA_FEEDBACK_PHOTO Shooting photos, not video.
1 CAMERA_FEEDBACK_VIDEO Shooting video, not stills.
2 CAMERA_FEEDBACK_BADEXPOSURE Unable to achieve requested exposure (e.g. shutter speed too low).
3 CAMERA_FEEDBACK_CLOSEDLOOP Closed loop feedback from camera, we know for sure it has successfully taken a picture.
4 CAMERA_FEEDBACK_OPENLOOP Open loop camera, an image trigger has been requested but we can’t know for sure it has successfully taken a picture.

MAV_MODE_GIMBAL

[Enum]

Value Field Name Description
0 MAV_MODE_GIMBAL_UNINITIALIZED Gimbal is powered on but has not started initializing yet.
1 MAV_MODE_GIMBAL_CALIBRATING_PITCH Gimbal is currently running calibration on the pitch axis.
2 MAV_MODE_GIMBAL_CALIBRATING_ROLL Gimbal is currently running calibration on the roll axis.
3 MAV_MODE_GIMBAL_CALIBRATING_YAW Gimbal is currently running calibration on the yaw axis.
4 MAV_MODE_GIMBAL_INITIALIZED Gimbal has finished calibrating and initializing, but is relaxed pending reception of first rate command from copter.
5 MAV_MODE_GIMBAL_ACTIVE Gimbal is actively stabilizing.
6 MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT Gimbal is relaxed because it missed more than 10 expected rate command messages in a row. Gimbal will move back to active mode when it receives a new rate command.

GIMBAL_AXIS

[Enum]

Value Field Name Description
0 GIMBAL_AXIS_YAW Gimbal yaw axis.
1 GIMBAL_AXIS_PITCH Gimbal pitch axis.
2 GIMBAL_AXIS_ROLL Gimbal roll axis.

GIMBAL_AXIS_CALIBRATION_STATUS

[Enum]

Value Field Name Description
0 GIMBAL_AXIS_CALIBRATION_STATUS_IN_PROGRESS Axis calibration is in progress.
1 GIMBAL_AXIS_CALIBRATION_STATUS_SUCCEEDED Axis calibration succeeded.
2 GIMBAL_AXIS_CALIBRATION_STATUS_FAILED Axis calibration failed.

GIMBAL_AXIS_CALIBRATION_REQUIRED

[Enum]

Value Field Name Description
0 GIMBAL_AXIS_CALIBRATION_REQUIRED_UNKNOWN Whether or not this axis requires calibration is unknown at this time.
1 GIMBAL_AXIS_CALIBRATION_REQUIRED_TRUE This axis requires calibration.
2 GIMBAL_AXIS_CALIBRATION_REQUIRED_FALSE This axis does not require calibration.

GOPRO_HEARTBEAT_STATUS

[Enum]

Value Field Name Description
0 GOPRO_HEARTBEAT_STATUS_DISCONNECTED No GoPro connected.
1 GOPRO_HEARTBEAT_STATUS_INCOMPATIBLE The detected GoPro is not HeroBus compatible.
2 GOPRO_HEARTBEAT_STATUS_CONNECTED A HeroBus compatible GoPro is connected.
3 GOPRO_HEARTBEAT_STATUS_ERROR An unrecoverable error was encountered with the connected GoPro, it may require a power cycle.

GOPRO_HEARTBEAT_FLAGS

[Enum]

Value Field Name Description
1 GOPRO_FLAG_RECORDING GoPro is currently recording.

GOPRO_REQUEST_STATUS

[Enum]

Value Field Name Description
0 GOPRO_REQUEST_SUCCESS The write message with ID indicated succeeded.
1 GOPRO_REQUEST_FAILED The write message with ID indicated failed.

GOPRO_COMMAND

[Enum]

Value Field Name Description
0 GOPRO_COMMAND_POWER (Get/Set).
1 GOPRO_COMMAND_CAPTURE_MODE (Get/Set).
2 GOPRO_COMMAND_SHUTTER (___/Set).
3 GOPRO_COMMAND_BATTERY (Get/___).
4 GOPRO_COMMAND_MODEL (Get/___).
5 GOPRO_COMMAND_VIDEO_SETTINGS (Get/Set).
6 GOPRO_COMMAND_LOW_LIGHT (Get/Set).
7 GOPRO_COMMAND_PHOTO_RESOLUTION (Get/Set).
8 GOPRO_COMMAND_PHOTO_BURST_RATE (Get/Set).
9 GOPRO_COMMAND_PROTUNE (Get/Set).
10 GOPRO_COMMAND_PROTUNE_WHITE_BALANCE (Get/Set) Hero 3+ Only.
11 GOPRO_COMMAND_PROTUNE_COLOUR (Get/Set) Hero 3+ Only.
12 GOPRO_COMMAND_PROTUNE_GAIN (Get/Set) Hero 3+ Only.
13 GOPRO_COMMAND_PROTUNE_SHARPNESS (Get/Set) Hero 3+ Only.
14 GOPRO_COMMAND_PROTUNE_EXPOSURE (Get/Set) Hero 3+ Only.
15 GOPRO_COMMAND_TIME (Get/Set).
16 GOPRO_COMMAND_CHARGING (Get/Set).

GOPRO_CAPTURE_MODE

[Enum]

Value Field Name Description
0 GOPRO_CAPTURE_MODE_VIDEO Video mode.
1 GOPRO_CAPTURE_MODE_PHOTO Photo mode.
2 GOPRO_CAPTURE_MODE_BURST Burst mode, Hero 3+ only.
3 GOPRO_CAPTURE_MODE_TIME_LAPSE Time lapse mode, Hero 3+ only.
4 GOPRO_CAPTURE_MODE_MULTI_SHOT Multi shot mode, Hero 4 only.
5 GOPRO_CAPTURE_MODE_PLAYBACK Playback mode, Hero 4 only, silver only except when LCD or HDMI is connected to black.
6 GOPRO_CAPTURE_MODE_SETUP Playback mode, Hero 4 only.
255 GOPRO_CAPTURE_MODE_UNKNOWN Mode not yet known.

GOPRO_RESOLUTION

[Enum]

Value Field Name Description
0 GOPRO_RESOLUTION_480p 848 x 480 (480p).
1 GOPRO_RESOLUTION_720p 1280 x 720 (720p).
2 GOPRO_RESOLUTION_960p 1280 x 960 (960p).
3 GOPRO_RESOLUTION_1080p 1920 x 1080 (1080p).
4 GOPRO_RESOLUTION_1440p 1920 x 1440 (1440p).
5 GOPRO_RESOLUTION_2_7k_17_9 2704 x 1440 (2.7k-17:9).
6 GOPRO_RESOLUTION_2_7k_16_9 2704 x 1524 (2.7k-16:9).
7 GOPRO_RESOLUTION_2_7k_4_3 2704 x 2028 (2.7k-4:3).
8 GOPRO_RESOLUTION_4k_16_9 3840 x 2160 (4k-16:9).
9 GOPRO_RESOLUTION_4k_17_9 4096 x 2160 (4k-17:9).
10 GOPRO_RESOLUTION_720p_SUPERVIEW 1280 x 720 (720p-SuperView).
11 GOPRO_RESOLUTION_1080p_SUPERVIEW 1920 x 1080 (1080p-SuperView).
12 GOPRO_RESOLUTION_2_7k_SUPERVIEW 2704 x 1520 (2.7k-SuperView).
13 GOPRO_RESOLUTION_4k_SUPERVIEW 3840 x 2160 (4k-SuperView).

GOPRO_FRAME_RATE

[Enum]

Value Field Name Description
0 GOPRO_FRAME_RATE_12 12 FPS.
1 GOPRO_FRAME_RATE_15 15 FPS.
2 GOPRO_FRAME_RATE_24 24 FPS.
3 GOPRO_FRAME_RATE_25 25 FPS.
4 GOPRO_FRAME_RATE_30 30 FPS.
5 GOPRO_FRAME_RATE_48 48 FPS.
6 GOPRO_FRAME_RATE_50 50 FPS.
7 GOPRO_FRAME_RATE_60 60 FPS.
8 GOPRO_FRAME_RATE_80 80 FPS.
9 GOPRO_FRAME_RATE_90 90 FPS.
10 GOPRO_FRAME_RATE_100 100 FPS.
11 GOPRO_FRAME_RATE_120 120 FPS.
12 GOPRO_FRAME_RATE_240 240 FPS.
13 GOPRO_FRAME_RATE_12_5 12.5 FPS.

GOPRO_FIELD_OF_VIEW

[Enum]

Value Field Name Description
0 GOPRO_FIELD_OF_VIEW_WIDE 0x00: Wide.
1 GOPRO_FIELD_OF_VIEW_MEDIUM 0x01: Medium.
2 GOPRO_FIELD_OF_VIEW_NARROW 0x02: Narrow.

GOPRO_VIDEO_SETTINGS_FLAGS

[Enum]

Value Field Name Description
1 GOPRO_VIDEO_SETTINGS_TV_MODE 0=NTSC, 1=PAL.

GOPRO_PHOTO_RESOLUTION

[Enum]

Value Field Name Description
0 GOPRO_PHOTO_RESOLUTION_5MP_MEDIUM 5MP Medium.
1 GOPRO_PHOTO_RESOLUTION_7MP_MEDIUM 7MP Medium.
2 GOPRO_PHOTO_RESOLUTION_7MP_WIDE 7MP Wide.
3 GOPRO_PHOTO_RESOLUTION_10MP_WIDE 10MP Wide.
4 GOPRO_PHOTO_RESOLUTION_12MP_WIDE 12MP Wide.

GOPRO_PROTUNE_WHITE_BALANCE

[Enum]

Value Field Name Description
0 GOPRO_PROTUNE_WHITE_BALANCE_AUTO Auto.
1 GOPRO_PROTUNE_WHITE_BALANCE_3000K 3000K.
2 GOPRO_PROTUNE_WHITE_BALANCE_5500K 5500K.
3 GOPRO_PROTUNE_WHITE_BALANCE_6500K 6500K.
4 GOPRO_PROTUNE_WHITE_BALANCE_RAW Camera Raw.

GOPRO_PROTUNE_COLOUR

[Enum]

Value Field Name Description
0 GOPRO_PROTUNE_COLOUR_STANDARD Auto.
1 GOPRO_PROTUNE_COLOUR_NEUTRAL Neutral.

GOPRO_PROTUNE_GAIN

[Enum]

Value Field Name Description
0 GOPRO_PROTUNE_GAIN_400 ISO 400.
1 GOPRO_PROTUNE_GAIN_800 ISO 800 (Only Hero 4).
2 GOPRO_PROTUNE_GAIN_1600 ISO 1600.
3 GOPRO_PROTUNE_GAIN_3200 ISO 3200 (Only Hero 4).
4 GOPRO_PROTUNE_GAIN_6400 ISO 6400.

GOPRO_PROTUNE_SHARPNESS

[Enum]

Value Field Name Description
0 GOPRO_PROTUNE_SHARPNESS_LOW Low Sharpness.
1 GOPRO_PROTUNE_SHARPNESS_MEDIUM Medium Sharpness.
2 GOPRO_PROTUNE_SHARPNESS_HIGH High Sharpness.

GOPRO_PROTUNE_EXPOSURE

[Enum]

Value Field Name Description
0 GOPRO_PROTUNE_EXPOSURE_NEG_5_0 -5.0 EV (Hero 3+ Only).
1 GOPRO_PROTUNE_EXPOSURE_NEG_4_5 -4.5 EV (Hero 3+ Only).
2 GOPRO_PROTUNE_EXPOSURE_NEG_4_0 -4.0 EV (Hero 3+ Only).
3 GOPRO_PROTUNE_EXPOSURE_NEG_3_5 -3.5 EV (Hero 3+ Only).
4 GOPRO_PROTUNE_EXPOSURE_NEG_3_0 -3.0 EV (Hero 3+ Only).
5 GOPRO_PROTUNE_EXPOSURE_NEG_2_5 -2.5 EV (Hero 3+ Only).
6 GOPRO_PROTUNE_EXPOSURE_NEG_2_0 -2.0 EV.
7 GOPRO_PROTUNE_EXPOSURE_NEG_1_5 -1.5 EV.
8 GOPRO_PROTUNE_EXPOSURE_NEG_1_0 -1.0 EV.
9 GOPRO_PROTUNE_EXPOSURE_NEG_0_5 -0.5 EV.
10 GOPRO_PROTUNE_EXPOSURE_ZERO 0.0 EV.
11 GOPRO_PROTUNE_EXPOSURE_POS_0_5 +0.5 EV.
12 GOPRO_PROTUNE_EXPOSURE_POS_1_0 +1.0 EV.
13 GOPRO_PROTUNE_EXPOSURE_POS_1_5 +1.5 EV.
14 GOPRO_PROTUNE_EXPOSURE_POS_2_0 +2.0 EV.
15 GOPRO_PROTUNE_EXPOSURE_POS_2_5 +2.5 EV (Hero 3+ Only).
16 GOPRO_PROTUNE_EXPOSURE_POS_3_0 +3.0 EV (Hero 3+ Only).
17 GOPRO_PROTUNE_EXPOSURE_POS_3_5 +3.5 EV (Hero 3+ Only).
18 GOPRO_PROTUNE_EXPOSURE_POS_4_0 +4.0 EV (Hero 3+ Only).
19 GOPRO_PROTUNE_EXPOSURE_POS_4_5 +4.5 EV (Hero 3+ Only).
20 GOPRO_PROTUNE_EXPOSURE_POS_5_0 +5.0 EV (Hero 3+ Only).

GOPRO_CHARGING

[Enum]

Value Field Name Description
0 GOPRO_CHARGING_DISABLED Charging disabled.
1 GOPRO_CHARGING_ENABLED Charging enabled.

GOPRO_MODEL

[Enum]

Value Field Name Description
0 GOPRO_MODEL_UNKNOWN Unknown gopro model.
1 GOPRO_MODEL_HERO_3_PLUS_SILVER Hero 3+ Silver (HeroBus not supported by GoPro).
2 GOPRO_MODEL_HERO_3_PLUS_BLACK Hero 3+ Black.
3 GOPRO_MODEL_HERO_4_SILVER Hero 4 Silver.
4 GOPRO_MODEL_HERO_4_BLACK Hero 4 Black.

GOPRO_BURST_RATE

[Enum]

Value Field Name Description
0 GOPRO_BURST_RATE_3_IN_1_SECOND 3 Shots / 1 Second.
1 GOPRO_BURST_RATE_5_IN_1_SECOND 5 Shots / 1 Second.
2 GOPRO_BURST_RATE_10_IN_1_SECOND 10 Shots / 1 Second.
3 GOPRO_BURST_RATE_10_IN_2_SECOND 10 Shots / 2 Second.
4 GOPRO_BURST_RATE_10_IN_3_SECOND 10 Shots / 3 Second (Hero 4 Only).
5 GOPRO_BURST_RATE_30_IN_1_SECOND 30 Shots / 1 Second.
6 GOPRO_BURST_RATE_30_IN_2_SECOND 30 Shots / 2 Second.
7 GOPRO_BURST_RATE_30_IN_3_SECOND 30 Shots / 3 Second.
8 GOPRO_BURST_RATE_30_IN_6_SECOND 30 Shots / 6 Second.

MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL

[Enum]

Value Field Name Description
0 MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_LOW Switch Low.
1 MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_MIDDLE Switch Middle.
2 MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_HIGH Switch High.

LED_CONTROL_PATTERN

[Enum]

Value Field Name Description
0 LED_CONTROL_PATTERN_OFF LED patterns off (return control to regular vehicle control).
1 LED_CONTROL_PATTERN_FIRMWAREUPDATE LEDs show pattern during firmware update.
255 LED_CONTROL_PATTERN_CUSTOM Custom Pattern using custom bytes fields.

EKF_STATUS_FLAGS

[Enum] Flags in EKF_STATUS message.

Value Field Name Description
1 EKF_ATTITUDE Set if EKF’s attitude estimate is good.
2 EKF_VELOCITY_HORIZ Set if EKF’s horizontal velocity estimate is good.
4 EKF_VELOCITY_VERT Set if EKF’s vertical velocity estimate is good.
8 EKF_POS_HORIZ_REL Set if EKF’s horizontal position (relative) estimate is good.
16 EKF_POS_HORIZ_ABS Set if EKF’s horizontal position (absolute) estimate is good.
32 EKF_POS_VERT_ABS Set if EKF’s vertical position (absolute) estimate is good.
64 EKF_POS_VERT_AGL Set if EKF’s vertical position (above ground) estimate is good.
128 EKF_CONST_POS_MODE EKF is in constant position mode and does not know it’s absolute or relative position.
256 EKF_PRED_POS_HORIZ_REL Set if EKF’s predicted horizontal position (relative) estimate is good.
512 EKF_PRED_POS_HORIZ_ABS Set if EKF’s predicted horizontal position (absolute) estimate is good.
1024 EKF_UNINITIALIZED Set if EKF has never been healthy.

PID_TUNING_AXIS

[Enum]

Value Field Name Description
1 PID_TUNING_ROLL
2 PID_TUNING_PITCH
3 PID_TUNING_YAW
4 PID_TUNING_ACCZ
5 PID_TUNING_STEER
6 PID_TUNING_LANDING

MAV_REMOTE_LOG_DATA_BLOCK_COMMANDS

[Enum] Special ACK block numbers control activation of dataflash log streaming.

Value Field Name Description
2147483645 MAV_REMOTE_LOG_DATA_BLOCK_STOP UAV to stop sending DataFlash blocks.
2147483646 MAV_REMOTE_LOG_DATA_BLOCK_START UAV to start sending DataFlash blocks.

MAV_REMOTE_LOG_DATA_BLOCK_STATUSES

[Enum] Possible remote log data block statuses.

Value Field Name Description
0 MAV_REMOTE_LOG_DATA_BLOCK_NACK This block has NOT been received.
1 MAV_REMOTE_LOG_DATA_BLOCK_ACK This block has been received.

DEVICE_OP_BUSTYPE

[Enum] Bus types for device operations.

Value Field Name Description
0 DEVICE_OP_BUSTYPE_I2C I2C Device operation.
1 DEVICE_OP_BUSTYPE_SPI SPI Device operation.

DEEPSTALL_STAGE

[Enum] Deepstall flight stage.

Value Field Name Description
0 DEEPSTALL_STAGE_FLY_TO_LANDING Flying to the landing point.
1 DEEPSTALL_STAGE_ESTIMATE_WIND Building an estimate of the wind.
2 DEEPSTALL_STAGE_WAIT_FOR_BREAKOUT Waiting to breakout of the loiter to fly the approach.
3 DEEPSTALL_STAGE_FLY_TO_ARC Flying to the first arc point to turn around to the landing point.
4 DEEPSTALL_STAGE_ARC Turning around back to the deepstall landing point.
5 DEEPSTALL_STAGE_APPROACH Approaching the landing point.
6 DEEPSTALL_STAGE_LAND Stalling and steering towards the land point.

PLANE_MODE

[Enum] A mapping of plane flight modes for custom_mode field of heartbeat.

Value Field Name Description
0 PLANE_MODE_MANUAL
1 PLANE_MODE_CIRCLE
2 PLANE_MODE_STABILIZE
3 PLANE_MODE_TRAINING
4 PLANE_MODE_ACRO
5 PLANE_MODE_FLY_BY_WIRE_A
6 PLANE_MODE_FLY_BY_WIRE_B
7 PLANE_MODE_CRUISE
8 PLANE_MODE_AUTOTUNE
10 PLANE_MODE_AUTO
11 PLANE_MODE_RTL
12 PLANE_MODE_LOITER
13 PLANE_MODE_TAKEOFF
14 PLANE_MODE_AVOID_ADSB
15 PLANE_MODE_GUIDED
16 PLANE_MODE_INITIALIZING
17 PLANE_MODE_QSTABILIZE
18 PLANE_MODE_QHOVER
19 PLANE_MODE_QLOITER
20 PLANE_MODE_QLAND
21 PLANE_MODE_QRTL
22 PLANE_MODE_QAUTOTUNE
23 PLANE_MODE_QACRO
24 PLANE_MODE_THERMAL

COPTER_MODE

[Enum] A mapping of copter flight modes for custom_mode field of heartbeat.

Value Field Name Description
0 COPTER_MODE_STABILIZE
1 COPTER_MODE_ACRO
2 COPTER_MODE_ALT_HOLD
3 COPTER_MODE_AUTO
4 COPTER_MODE_GUIDED
5 COPTER_MODE_LOITER
6 COPTER_MODE_RTL
7 COPTER_MODE_CIRCLE
9 COPTER_MODE_LAND
11 COPTER_MODE_DRIFT
13 COPTER_MODE_SPORT
14 COPTER_MODE_FLIP
15 COPTER_MODE_AUTOTUNE
16 COPTER_MODE_POSHOLD
17 COPTER_MODE_BRAKE
18 COPTER_MODE_THROW
19 COPTER_MODE_AVOID_ADSB
20 COPTER_MODE_GUIDED_NOGPS
21 COPTER_MODE_SMART_RTL
22 COPTER_MODE_FLOWHOLD
23 COPTER_MODE_FOLLOW
24 COPTER_MODE_ZIGZAG
25 COPTER_MODE_SYSTEMID
26 COPTER_MODE_AUTOROTATE
27 COPTER_MODE_AUTO_RTL

SUB_MODE

[Enum] A mapping of sub flight modes for custom_mode field of heartbeat.

Value Field Name Description
0 SUB_MODE_STABILIZE
1 SUB_MODE_ACRO
2 SUB_MODE_ALT_HOLD
3 SUB_MODE_AUTO
4 SUB_MODE_GUIDED
7 SUB_MODE_CIRCLE
9 SUB_MODE_SURFACE
16 SUB_MODE_POSHOLD
19 SUB_MODE_MANUAL

ROVER_MODE

[Enum] A mapping of rover flight modes for custom_mode field of heartbeat.

Value Field Name Description
0 ROVER_MODE_MANUAL
1 ROVER_MODE_ACRO
3 ROVER_MODE_STEERING
4 ROVER_MODE_HOLD
5 ROVER_MODE_LOITER
6 ROVER_MODE_FOLLOW
7 ROVER_MODE_SIMPLE
10 ROVER_MODE_AUTO
11 ROVER_MODE_RTL
12 ROVER_MODE_SMART_RTL
15 ROVER_MODE_GUIDED
16 ROVER_MODE_INITIALIZING

TRACKER_MODE

[Enum] A mapping of antenna tracker flight modes for custom_mode field of heartbeat.

Value Field Name Description
0 TRACKER_MODE_MANUAL
1 TRACKER_MODE_STOP
2 TRACKER_MODE_SCAN
3 TRACKER_MODE_SERVO_TEST
10 TRACKER_MODE_AUTO
16 TRACKER_MODE_INITIALIZING

OSD_PARAM_CONFIG_TYPE

[Enum] The type of parameter for the OSD parameter editor.

Value Field Name Description
0 OSD_PARAM_NONE
1 OSD_PARAM_SERIAL_PROTOCOL
2 OSD_PARAM_SERVO_FUNCTION
3 OSD_PARAM_AUX_FUNCTION
4 OSD_PARAM_FLIGHT_MODE
5 OSD_PARAM_FAILSAFE_ACTION
6 OSD_PARAM_FAILSAFE_ACTION_1
7 OSD_PARAM_FAILSAFE_ACTION_2
8 OSD_PARAM_NUM_TYPES

OSD_PARAM_CONFIG_ERROR

[Enum] The error type for the OSD parameter editor.

Value Field Name Description
0 OSD_PARAM_SUCCESS
1 OSD_PARAM_INVALID_SCREEN
2 OSD_PARAM_INVALID_PARAMETER_INDEX
3 OSD_PARAM_INVALID_PARAMETER

MAVLink Commands (MAV_CMD)

MAVLink commands (MAV_CMD) and messages are different! These commands define the values of up to 7 parameters that are packaged INSIDE specific messages used in the Mission Protocol and Command Protocol. Use commands for actions in missions or if you need acknowledgment and/or retry logic from a request. Otherwise use messages.

MAV_CMD_DO_SET_RESUME_REPEAT_DIST (215 )

[Command] Set the distance to be repeated on mission resume

Param (:Label) Description Units
1: Distance Distance. m
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_DO_SPRAYER (216 )

[Command] Control attached liquid sprayer

Param (:Label) Description Values
1: Sprayer Enable 0: disable sprayer. 1: enable sprayer. min:0 max:1 increment:1
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_DO_SEND_SCRIPT_MESSAGE (217 )

[Command] Pass instructions onto scripting, a script should be checking for a new command

Param (:Label) Description Values
1: ID uint16 ID value to be passed to scripting min:0 max:65535 increment:1
2: param 1 float value to be passed to scripting
3: param 2 float value to be passed to scripting
4: param 3 float value to be passed to scripting
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_DO_AUX_FUNCTION (218 )

[Command] Execute auxiliary function

Param (:Label) Description Values
1: AuxiliaryFunction Auxiliary Function.
2: SwitchPosition Switch Level. MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_NAV_ALTITUDE_WAIT (83 )

[Command] Mission command to wait for an altitude or downwards vertical speed. This is meant for high altitude balloon launches, allowing the aircraft to be idle until either an altitude is reached or a negative vertical speed is reached (indicating early balloon burst). The wiggle time is how often to wiggle the control surfaces to prevent them seizing up.

Param (:Label) Description Units
1: Altitude Altitude. m
2: Descent Speed Descent speed. m/s
3: Wiggle Time How long to wiggle the control surfaces to prevent them seizing up. s
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_POWER_OFF_INITIATED (42000 )

[Command] A system wide power-off event has been initiated.

Param (:Label) Description
1 Empty.
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_SOLO_BTN_FLY_CLICK (42001 )

[Command] FLY button has been clicked.

Param (:Label) Description
1 Empty.
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_SOLO_BTN_FLY_HOLD (42002 )

[Command] FLY button has been held for 1.5 seconds.

Param (:Label) Description Units
1: Takeoff Altitude Takeoff altitude. m
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_SOLO_BTN_PAUSE_CLICK (42003 )

[Command] PAUSE button has been clicked.

Param (:Label) Description Values
1: Shot Mode 1 if Solo is in a shot mode, 0 otherwise. min:0 max:1 increment:1
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_FIXED_MAG_CAL (42004 )

[Command] Magnetometer calibration based on fixed position in earth field given by inclination, declination and intensity.

Param (:Label) Description Units
1: Declination Magnetic declination. deg
2: Inclination Magnetic inclination. deg
3: Intensity Magnetic intensity. mgauss
4: Yaw Yaw. deg
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_FIXED_MAG_CAL_FIELD (42005 )

[Command] Magnetometer calibration based on fixed expected field values.

Param (:Label) Description Units
1: Field X Field strength X. mgauss
2: Field Y Field strength Y. mgauss
3: Field Z Field strength Z. mgauss
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_SET_EKF_SOURCE_SET (42007 )

[Command] Set EKF sensor source set.

Param (:Label) Description Values
1: SourceSetId Source Set Id. min:1 max:3 increment:1
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_DO_START_MAG_CAL (42424 )

[Command] Initiate a magnetometer calibration.

Param (:Label) Description Values Units
1: Magnetometers Bitmask Bitmask of magnetometers to calibrate. Use 0 to calibrate all sensors that can be started (sensors may not start if disabled, unhealthy, etc.). The command will NACK if calibration does not start for a sensor explicitly specified by the bitmask. min:0 max:255 increment:1
2: Retry on Failure Automatically retry on failure (0=no retry, 1=retry). min:0 max:1 increment:1
3: Autosave Save without user input (0=require input, 1=autosave). min:0 max:1 increment:1
4: Delay Delay. s
5: Autoreboot Autoreboot (0=user reboot, 1=autoreboot). min:0 max:1 increment:1
6 Empty.
7 Empty.

MAV_CMD_DO_ACCEPT_MAG_CAL (42425 )

[Command] Accept a magnetometer calibration.

Param (:Label) Description Values
1: Magnetometers Bitmask Bitmask of magnetometers that calibration is accepted (0 means all). min:0 max:255 increment:1
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_DO_CANCEL_MAG_CAL (42426 )

[Command] Cancel a running magnetometer calibration.

Param (:Label) Description Values
1: Magnetometers Bitmask Bitmask of magnetometers to cancel a running calibration (0 means all). min:0 max:255 increment:1
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_ACCELCAL_VEHICLE_POS (42429 )

[Command] Used when doing accelerometer calibration. When sent to the GCS tells it what position to put the vehicle in. When sent to the vehicle says what position the vehicle is in.

Param (:Label) Description Values
1: Position Position. ACCELCAL_VEHICLE_POS
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

[Command] Reply with the version banner.

Param (:Label) Description
1 Empty.
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_SET_FACTORY_TEST_MODE (42427 )

[Command] Command autopilot to get into factory test/diagnostic mode.

Param (:Label) Description Values
1: Test Mode 0: activate test mode, 1: exit test mode. min:0 max:1 increment:1
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_GIMBAL_RESET (42501 )

[Command] Causes the gimbal to reset and boot as if it was just powered on.

Param (:Label) Description
1 Empty.
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_GIMBAL_AXIS_CALIBRATION_STATUS (42502 )

[Command] Reports progress and success or failure of gimbal axis calibration procedure.

Param (:Label) Description Values Units
1: Axis Gimbal axis we’re reporting calibration progress for. GIMBAL_AXIS
2: Progress Current calibration progress for this axis. min:0 max:100 %
3: Status Status of the calibration. GIMBAL_AXIS_CALIBRATION_STATUS
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_GIMBAL_REQUEST_AXIS_CALIBRATION (42503 )

[Command] Starts commutation calibration on the gimbal.

Param (:Label) Description
1 Empty.
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_GIMBAL_FULL_RESET (42505 )

[Command] Erases gimbal application and parameters.

Param (:Label) Description
1 Magic number.
2 Magic number.
3 Magic number.
4 Magic number.
5 Magic number.
6 Magic number.
7 Magic number.

MAV_CMD_FLASH_BOOTLOADER (42650 )

[Command] Update the bootloader

Param (:Label) Description Values
1 Empty
2 Empty
3 Empty
4 Empty
5: Magic Number Magic number — set to 290876 to actually flash increment:1
6 Empty
7 Empty

MAV_CMD_BATTERY_RESET (42651 )

[Command] Reset battery capacity for batteries that accumulate consumed battery via integration.

Param (:Label) Description Values
1: battery mask Bitmask of batteries to reset. Least significant bit is for the first battery.
2: percentage Battery percentage remaining to set. min:0 max:100 increment:1

MAV_CMD_DEBUG_TRAP (42700 )

[Command] Issue a trap signal to the autopilot process, presumably to enter the debugger.

Param (:Label) Description
1 Magic number — set to 32451 to actually trap.
2 Empty.
3 Empty.
4 Empty.
5 Empty.
6 Empty.
7 Empty.

MAV_CMD_SCRIPTING (42701 )

[Command] Control onboard scripting.

Param (:Label) Description Values
1 Scripting command to execute SCRIPTING_CMD

MAV_CMD_NAV_SCRIPT_TIME (42702 )

[Command] Scripting command as NAV command with wait for completion.

Param (:Label) Description Units
1: command integer command number (0 to 255)
2: timeout timeout for operation in seconds. Zero means no timeout (0 to 255) s
3: arg1 argument1.
4: arg2 argument2.
5 Empty
6 Empty
7 Empty

MAV_CMD_NAV_ATTITUDE_TIME (42703 )

[Command] Maintain an attitude for a specified time.

Param (:Label) Description Units
1: time Time to maintain specified attitude and climb rate s
2: roll Roll angle in degrees (positive is lean right, negative is lean left) deg
3: pitch Pitch angle in degrees (positive is lean back, negative is lean forward) deg
4: yaw Yaw angle deg
5: climb_rate Climb rate m/s
6 Empty
7 Empty

MAV_CMD_GUIDED_CHANGE_SPEED (43000 )

[Command] Change flight speed at a given rate. This slews the vehicle at a controllable rate between it’s previous speed and the new one. (affects GUIDED only. Outside GUIDED, aircraft ignores these commands. Designed for onboard companion-computer command-and-control, not normally operator/GCS control.)

Param (:Label) Description Values Units
1: speed type Airspeed or groundspeed. SPEED_TYPE
2: speed target Target Speed m/s
3: speed rate-of-change Acceleration rate, 0 to take effect instantly m/s/s
4 Empty
5 Empty
6 Empty
7 Empty

MAV_CMD_GUIDED_CHANGE_ALTITUDE (43001 )

[Command] Change target altitude at a given rate. This slews the vehicle at a controllable rate between it’s previous altitude and the new one. (affects GUIDED only. Outside GUIDED, aircraft ignores these commands. Designed for onboard companion-computer command-and-control, not normally operator/GCS control.)

Param (:Label) Description Values Units
1 Empty
2 Empty
3: alt rate-of-change Rate of change, toward new altitude. 0 for maximum rate change. Positive numbers only, as negative numbers will not converge on the new target alt. min:0 m/s/s
4 Empty
5 Empty
6 Empty
7: target alt Target Altitude m

MAV_CMD_GUIDED_CHANGE_HEADING (43002 )

[Command] Change to target heading at a given rate, overriding previous heading/s. This slews the vehicle at a controllable rate between it’s previous heading and the new one. (affects GUIDED only. Exiting GUIDED returns aircraft to normal behaviour defined elsewhere. Designed for onboard companion-computer command-and-control, not normally operator/GCS control.)

Param (:Label) Description Values Units
1: heading type course-over-ground or raw vehicle heading. HEADING_TYPE
2: heading target Target heading. min:0 max:359.99 deg
3: heading rate-of-change Maximum centripetal accelearation, ie rate of change, toward new heading. m/s/s
4 Empty
5 Empty
6 Empty
7 Empty

MAVLink Messages

SENSOR_OFFSETS ( #150 )

[Message] Offsets and calibrations values for hardware sensors. This makes it easier to debug the calibration process.

Field Name Type Units Description
mag_ofs_x int16_t Magnetometer X offset.
mag_ofs_y int16_t Magnetometer Y offset.
mag_ofs_z int16_t Magnetometer Z offset.
mag_declination float rad Magnetic declination.
raw_press int32_t Raw pressure from barometer.
raw_temp int32_t Raw temperature from barometer.
gyro_cal_x float Gyro X calibration.
gyro_cal_y float Gyro Y calibration.
gyro_cal_z float Gyro Z calibration.
accel_cal_x float Accel X calibration.
accel_cal_y float Accel Y calibration.
accel_cal_z float Accel Z calibration.

SET_MAG_OFFSETS ( #151 )

DEPRECATED: Replaced by MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS (2014-07).

[Message] Set the magnetometer offsets

Field Name Type Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
mag_ofs_x int16_t Magnetometer X offset.
mag_ofs_y int16_t Magnetometer Y offset.
mag_ofs_z int16_t Magnetometer Z offset.

MEMINFO ( #152 )

[Message] State of autopilot RAM.

Field Name Type Units Description
brkval uint16_t Heap top.
freemem uint16_t bytes Free memory.
freemem32 ** uint32_t bytes Free memory (32 bit).

AP_ADC ( #153 )

[Message] Raw ADC output.

Field Name Type Description
adc1 uint16_t ADC output 1.
adc2 uint16_t ADC output 2.
adc3 uint16_t ADC output 3.
adc4 uint16_t ADC output 4.
adc5 uint16_t ADC output 5.
adc6 uint16_t ADC output 6.

DIGICAM_CONFIGURE ( #154 )

[Message] Configure on-board Camera Control System.

Field Name Type Units Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
mode uint8_t Mode enumeration from 1 to N //P, TV, AV, M, etc. (0 means ignore).
shutter_speed uint16_t Divisor number //e.g. 1000 means 1/1000 (0 means ignore).
aperture uint8_t F stop number x 10 //e.g. 28 means 2.8 (0 means ignore).
iso uint8_t ISO enumeration from 1 to N //e.g. 80, 100, 200, Etc (0 means ignore).
exposure_type uint8_t Exposure type enumeration from 1 to N (0 means ignore).
command_id uint8_t Command Identity (incremental loop: 0 to 255). //A command sent multiple times will be executed or pooled just once.
engine_cut_off uint8_t ds Main engine cut-off time before camera trigger (0 means no cut-off).
extra_param uint8_t Extra parameters enumeration (0 means ignore).
extra_value float Correspondent value to given extra_param.

DIGICAM_CONTROL ( #155 )

[Message] Control on-board Camera Control System to take shots.

Field Name Type Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
session uint8_t 0: stop, 1: start or keep it up //Session control e.g. show/hide lens.
zoom_pos uint8_t 1 to N //Zoom’s absolute position (0 means ignore).
zoom_step int8_t -100 to 100 //Zooming step value to offset zoom from the current position.
focus_lock uint8_t 0: unlock focus or keep unlocked, 1: lock focus or keep locked, 3: re-lock focus.
shot uint8_t 0: ignore, 1: shot or start filming.
command_id uint8_t Command Identity (incremental loop: 0 to 255)//A command sent multiple times will be executed or pooled just once.
extra_param uint8_t Extra parameters enumeration (0 means ignore).
extra_value float Correspondent value to given extra_param.

MOUNT_CONFIGURE ( #156 )

[Message] Message to configure a camera mount, directional antenna, etc.

Field Name Type Values Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
mount_mode uint8_t MAV_MOUNT_MODE Mount operating mode.
stab_roll uint8_t (1 = yes, 0 = no).
stab_pitch uint8_t (1 = yes, 0 = no).
stab_yaw uint8_t (1 = yes, 0 = no).

MOUNT_CONTROL ( #157 )

[Message] Message to control a camera mount, directional antenna, etc.

Field Name Type Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
input_a int32_t Pitch (centi-degrees) or lat (degE7), depending on mount mode.
input_b int32_t Roll (centi-degrees) or lon (degE7) depending on mount mode.
input_c int32_t Yaw (centi-degrees) or alt (cm) depending on mount mode.
save_position uint8_t If «1» it will save current trimmed position on EEPROM (just valid for NEUTRAL and LANDING).

MOUNT_STATUS ( #158 )

[Message] Message with some status from autopilot to GCS about camera or antenna mount.

Field Name Type Units Values Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
pointing_a int32_t cdeg Pitch.
pointing_b int32_t cdeg Roll.
pointing_c int32_t cdeg Yaw.
mount_mode ** uint8_t MAV_MOUNT_MODE Mount operating mode.

FENCE_POINT ( #160 )

[Message] A fence point. Used to set a point when from GCS -> MAV. Also used to return a point from MAV -> GCS.

Field Name Type Units Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
idx uint8_t Point index (first point is 1, 0 is for return point).
count uint8_t Total number of points (for sanity checking).
lat float deg Latitude of point.
lng float deg Longitude of point.

FENCE_FETCH_POINT ( #161 )

[Message] Request a current fence point from MAV.

Field Name Type Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
idx uint8_t Point index (first point is 1, 0 is for return point).

AHRS ( #163 )

[Message] Status of DCM attitude estimator.

Field Name Type Units Description
omegaIx float rad/s X gyro drift estimate.
omegaIy float rad/s Y gyro drift estimate.
omegaIz float rad/s Z gyro drift estimate.
accel_weight float Average accel_weight.
renorm_val float Average renormalisation value.
error_rp float Average error_roll_pitch value.
error_yaw float Average error_yaw value.

SIMSTATE ( #164 )

[Message] Status of simulation environment, if used.

Field Name Type Units Description
roll float rad Roll angle.
pitch float rad Pitch angle.
yaw float rad Yaw angle.
xacc float m/s/s X acceleration.
yacc float m/s/s Y acceleration.
zacc float m/s/s Z acceleration.
xgyro float rad/s Angular speed around X axis.
ygyro float rad/s Angular speed around Y axis.
zgyro float rad/s Angular speed around Z axis.
lat int32_t degE7 Latitude.
lng int32_t degE7 Longitude.

HWSTATUS ( #165 )

[Message] Status of key hardware.

Field Name Type Units Description
Vcc uint16_t mV Board voltage.
I2Cerr uint8_t I2C error count.

RADIO ( #166 )

[Message] Status generated by radio.

Field Name Type Units Description
rssi uint8_t Local signal strength.
remrssi uint8_t Remote signal strength.
txbuf uint8_t % How full the tx buffer is.
noise uint8_t Background noise level.
remnoise uint8_t Remote background noise level.
rxerrors uint16_t Receive errors.
fixed uint16_t Count of error corrected packets.

LIMITS_STATUS ( #167 )

[Message] Status of AP_Limits. Sent in extended status stream when AP_Limits is enabled.

Field Name Type Units Values Description
limits_state uint8_t LIMITS_STATE State of AP_Limits.
last_trigger uint32_t ms Time (since boot) of last breach.
last_action uint32_t ms Time (since boot) of last recovery action.
last_recovery uint32_t ms Time (since boot) of last successful recovery.
last_clear uint32_t ms Time (since boot) of last all-clear.
breach_count uint16_t Number of fence breaches.
mods_enabled uint8_t LIMIT_MODULE AP_Limit_Module bitfield of enabled modules.
mods_required uint8_t LIMIT_MODULE AP_Limit_Module bitfield of required modules.
mods_triggered uint8_t LIMIT_MODULE AP_Limit_Module bitfield of triggered modules.

WIND ( #168 )

[Message] Wind estimation.

Field Name Type Units Description
direction float deg Wind direction (that wind is coming from).
speed float m/s Wind speed in ground plane.
speed_z float m/s Vertical wind speed.

DATA16 ( #169 )

[Message] Data packet, size 16.

Field Name Type Units Description
type uint8_t Data type.
len uint8_t bytes Data length.
data uint8_t[16] Raw data.

DATA32 ( #170 )

[Message] Data packet, size 32.

Field Name Type Units Description
type uint8_t Data type.
len uint8_t bytes Data length.
data uint8_t[32] Raw data.

DATA64 ( #171 )

[Message] Data packet, size 64.

Field Name Type Units Description
type uint8_t Data type.
len uint8_t bytes Data length.
data uint8_t[64] Raw data.

DATA96 ( #172 )

[Message] Data packet, size 96.

Field Name Type Units Description
type uint8_t Data type.
len uint8_t bytes Data length.
data uint8_t[96] Raw data.

RANGEFINDER ( #173 )

[Message] Rangefinder reporting.

Field Name Type Units Description
distance float m Distance.
voltage float V Raw voltage if available, zero otherwise.

AIRSPEED_AUTOCAL ( #174 )

[Message] Airspeed auto-calibration.

Field Name Type Units Description
vx float m/s GPS velocity north.
vy float m/s GPS velocity east.
vz float m/s GPS velocity down.
diff_pressure float Pa Differential pressure.
EAS2TAS float Estimated to true airspeed ratio.
ratio float Airspeed ratio.
state_x float EKF state x.
state_y float EKF state y.
state_z float EKF state z.
Pax float EKF Pax.
Pby float EKF Pby.
Pcz float EKF Pcz.

RALLY_POINT ( #175 )

[Message] A rally point. Used to set a point when from GCS -> MAV. Also used to return a point from MAV -> GCS.

Field Name Type Units Values Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
idx uint8_t Point index (first point is 0).
count uint8_t Total number of points (for sanity checking).
lat int32_t degE7 Latitude of point.
lng int32_t degE7 Longitude of point.
alt int16_t m Transit / loiter altitude relative to home.
break_alt int16_t m Break altitude relative to home.
land_dir uint16_t cdeg Heading to aim for when landing.
flags uint8_t RALLY_FLAGS Configuration flags.

RALLY_FETCH_POINT ( #176 )

[Message] Request a current rally point from MAV. MAV should respond with a RALLY_POINT message. MAV should not respond if the request is invalid.

Field Name Type Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
idx uint8_t Point index (first point is 0).

COMPASSMOT_STATUS ( #177 )

[Message] Status of compassmot calibration.

Field Name Type Units Description
throttle uint16_t d% Throttle.
current float A Current.
interference uint16_t % Interference.
CompensationX float Motor Compensation X.
CompensationY float Motor Compensation Y.
CompensationZ float Motor Compensation Z.

AHRS2 ( #178 )

[Message] Status of secondary AHRS filter if available.

Field Name Type Units Description
roll float rad Roll angle.
pitch float rad Pitch angle.
yaw float rad Yaw angle.
altitude float m Altitude (MSL).
lat int32_t degE7 Latitude.
lng int32_t degE7 Longitude.

CAMERA_STATUS ( #179 )

[Message] Camera Event.

Field Name Type Units Values Description
time_usec uint64_t us Image timestamp (since UNIX epoch, according to camera clock).
target_system uint8_t System ID.
cam_idx uint8_t Camera ID.
img_idx uint16_t Image index.
event_id uint8_t CAMERA_STATUS_TYPES Event type.
p1 float Parameter 1 (meaning depends on event_id, see CAMERA_STATUS_TYPES enum).
p2 float Parameter 2 (meaning depends on event_id, see CAMERA_STATUS_TYPES enum).
p3 float Parameter 3 (meaning depends on event_id, see CAMERA_STATUS_TYPES enum).
p4 float Parameter 4 (meaning depends on event_id, see CAMERA_STATUS_TYPES enum).

CAMERA_FEEDBACK ( #180 )

[Message] Camera Capture Feedback.

Field Name Type Units Values Description
time_usec uint64_t us Image timestamp (since UNIX epoch), as passed in by CAMERA_STATUS message (or autopilot if no CCB).
target_system uint8_t System ID.
cam_idx uint8_t Camera ID.
img_idx uint16_t Image index.
lat int32_t degE7 Latitude.
lng int32_t degE7 Longitude.
alt_msl float m Altitude (MSL).
alt_rel float m Altitude (Relative to HOME location).
roll float deg Camera Roll angle (earth frame, +-180).
pitch float deg Camera Pitch angle (earth frame, +-180).
yaw float deg Camera Yaw (earth frame, 0-360, true).
foc_len float mm Focal Length.
flags uint8_t CAMERA_FEEDBACK_FLAGS Feedback flags.
completed_captures ** uint16_t Completed image captures.

BATTERY2 ( #181 )

DEPRECATED: Replaced by BATTERY_STATUS (2017-04).

[Message] 2nd Battery status

Field Name Type Units Description
voltage uint16_t mV Voltage.
current_battery int16_t cA Battery current, -1: autopilot does not measure the current.

AHRS3 ( #182 )

[Message] Status of third AHRS filter if available. This is for ANU research group (Ali and Sean).

Field Name Type Units Description
roll float rad Roll angle.
pitch float rad Pitch angle.
yaw float rad Yaw angle.
altitude float m Altitude (MSL).
lat int32_t degE7 Latitude.
lng int32_t degE7 Longitude.
v1 float Test variable1.
v2 float Test variable2.
v3 float Test variable3.
v4 float Test variable4.

AUTOPILOT_VERSION_REQUEST ( #183 )

[Message] Request the autopilot version from the system/component.

Field Name Type Description
target_system uint8_t System ID.
target_component uint8_t Component ID.

REMOTE_LOG_DATA_BLOCK ( #184 )

[Message] Send a block of log data to remote location.

Field Name Type Values Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
seqno uint32_t MAV_REMOTE_LOG_DATA_BLOCK_COMMANDS Log data block sequence number.
data uint8_t[200] Log data block.

REMOTE_LOG_BLOCK_STATUS ( #185 )

[Message] Send Status of each log block that autopilot board might have sent.

Field Name Type Values Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
seqno uint32_t Log data block sequence number.
status uint8_t MAV_REMOTE_LOG_DATA_BLOCK_STATUSES Log data block status.

LED_CONTROL ( #186 )

[Message] Control vehicle LEDs.

Field Name Type Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
instance uint8_t Instance (LED instance to control or 255 for all LEDs).
pattern uint8_t Pattern (see LED_PATTERN_ENUM).
custom_len uint8_t Custom Byte Length.
custom_bytes uint8_t[24] Custom Bytes.

MAG_CAL_PROGRESS ( #191 )

[Message] Reports progress of compass calibration.

Field Name Type Units Values Description
compass_id uint8_t Compass being calibrated.
cal_mask uint8_t Bitmask of compasses being calibrated.
cal_status uint8_t MAG_CAL_STATUS Calibration Status.
attempt uint8_t Attempt number.
completion_pct uint8_t % Completion percentage.
completion_mask uint8_t[10] Bitmask of sphere sections (see http://en.wikipedia.org/wiki/Geodesic_grid).
direction_x float Body frame direction vector for display.
direction_y float Body frame direction vector for display.
direction_z float Body frame direction vector for display.

EKF_STATUS_REPORT ( #193 )

[Message] EKF Status message including flags and variances.

Field Name Type Values Description
flags uint16_t EKF_STATUS_FLAGS Flags.
velocity_variance float Velocity variance.
pos_horiz_variance float Horizontal Position variance.
pos_vert_variance float Vertical Position variance.
compass_variance float Compass variance.
terrain_alt_variance float Terrain Altitude variance.
airspeed_variance ** float Airspeed variance.

PID_TUNING ( #194 )

[Message] PID tuning information.

Field Name Type Values Description
axis uint8_t PID_TUNING_AXIS Axis.
desired float Desired rate.
achieved float Achieved rate.
FF float FF component.
P float P component.
I float I component.
D float D component.
SRate ** float Slew rate.
PDmod ** float P/D oscillation modifier.

DEEPSTALL ( #195 )

[Message] Deepstall path planning.

Field Name Type Units Values Description
landing_lat int32_t degE7 Landing latitude.
landing_lon int32_t degE7 Landing longitude.
path_lat int32_t degE7 Final heading start point, latitude.
path_lon int32_t degE7 Final heading start point, longitude.
arc_entry_lat int32_t degE7 Arc entry point, latitude.
arc_entry_lon int32_t degE7 Arc entry point, longitude.
altitude float m Altitude.
expected_travel_distance float m Distance the aircraft expects to travel during the deepstall.
cross_track_error float m Deepstall cross track error (only valid when in DEEPSTALL_STAGE_LAND).
stage uint8_t DEEPSTALL_STAGE Deepstall stage.

GIMBAL_REPORT ( #200 )

[Message] 3 axis gimbal measurements.

Field Name Type Units Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
delta_time float s Time since last update.
delta_angle_x float rad Delta angle X.
delta_angle_y float rad Delta angle Y.
delta_angle_z float rad Delta angle X.
delta_velocity_x float m/s Delta velocity X.
delta_velocity_y float m/s Delta velocity Y.
delta_velocity_z float m/s Delta velocity Z.
joint_roll float rad Joint ROLL.
joint_el float rad Joint EL.
joint_az float rad Joint AZ.

GIMBAL_CONTROL ( #201 )

[Message] Control message for rate gimbal.

Field Name Type Units Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
demanded_rate_x float rad/s Demanded angular rate X.
demanded_rate_y float rad/s Demanded angular rate Y.
demanded_rate_z float rad/s Demanded angular rate Z.

GIMBAL_TORQUE_CMD_REPORT ( #214 )

[Message] 100 Hz gimbal torque command telemetry.

Field Name Type Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
rl_torque_cmd int16_t Roll Torque Command.
el_torque_cmd int16_t Elevation Torque Command.
az_torque_cmd int16_t Azimuth Torque Command.

GOPRO_HEARTBEAT ( #215 )

[Message] Heartbeat from a HeroBus attached GoPro.

Field Name Type Values Description
status uint8_t GOPRO_HEARTBEAT_STATUS Status.
capture_mode uint8_t GOPRO_CAPTURE_MODE Current capture mode.
flags uint8_t GOPRO_HEARTBEAT_FLAGS Additional status bits.

GOPRO_GET_REQUEST ( #216 )

[Message] Request a GOPRO_COMMAND response from the GoPro.

Field Name Type Values Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
cmd_id uint8_t GOPRO_COMMAND Command ID.

GOPRO_GET_RESPONSE ( #217 )

[Message] Response from a GOPRO_COMMAND get request.

Field Name Type Values Description
cmd_id uint8_t GOPRO_COMMAND Command ID.
status uint8_t GOPRO_REQUEST_STATUS Status.
value uint8_t[4] Value.

GOPRO_SET_REQUEST ( #218 )

[Message] Request to set a GOPRO_COMMAND with a desired.

Field Name Type Values Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
cmd_id uint8_t GOPRO_COMMAND Command ID.
value uint8_t[4] Value.

GOPRO_SET_RESPONSE ( #219 )

[Message] Response from a GOPRO_COMMAND set request.

Field Name Type Values Description
cmd_id uint8_t GOPRO_COMMAND Command ID.
status uint8_t GOPRO_REQUEST_STATUS Status.

RPM ( #226 )

[Message] RPM sensor output.

Field Name Type Description
rpm1 float RPM Sensor1.
rpm2 float RPM Sensor2.

DEVICE_OP_READ ( #11000 )

[Message] (MAVLink 2) Read registers for a device.

Field Name Type Values Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
request_id uint32_t Request ID — copied to reply.
bustype uint8_t DEVICE_OP_BUSTYPE The bus type.
bus uint8_t Bus number.
address uint8_t Bus address.
busname char[40] Name of device on bus (for SPI).
regstart uint8_t First register to read.
count uint8_t Count of registers to read.
bank ** uint8_t Bank number.

DEVICE_OP_READ_REPLY ( #11001 )

[Message] (MAVLink 2) Read registers reply.

Field Name Type Description
request_id uint32_t Request ID — copied from request.
result uint8_t 0 for success, anything else is failure code.
regstart uint8_t Starting register.
count uint8_t Count of bytes read.
data uint8_t[128] Reply data.
bank ** uint8_t Bank number.

DEVICE_OP_WRITE ( #11002 )

[Message] (MAVLink 2) Write registers for a device.

Field Name Type Values Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
request_id uint32_t Request ID — copied to reply.
bustype uint8_t DEVICE_OP_BUSTYPE The bus type.
bus uint8_t Bus number.
address uint8_t Bus address.
busname char[40] Name of device on bus (for SPI).
regstart uint8_t First register to write.
count uint8_t Count of registers to write.
data uint8_t[128] Write data.
bank ** uint8_t Bank number.

DEVICE_OP_WRITE_REPLY ( #11003 )

[Message] (MAVLink 2) Write registers reply.

Field Name Type Description
request_id uint32_t Request ID — copied from request.
result uint8_t 0 for success, anything else is failure code.

ADAP_TUNING ( #11010 )

[Message] (MAVLink 2) Adaptive Controller tuning information.

Field Name Type Units Values Description
axis uint8_t PID_TUNING_AXIS Axis.
desired float deg/s Desired rate.
achieved float deg/s Achieved rate.
error float Error between model and vehicle.
theta float Theta estimated state predictor.
omega float Omega estimated state predictor.
sigma float Sigma estimated state predictor.
theta_dot float Theta derivative.
omega_dot float Omega derivative.
sigma_dot float Sigma derivative.
f float Projection operator value.
f_dot float Projection operator derivative.
u float u adaptive controlled output command.

VISION_POSITION_DELTA ( #11011 )

[Message] (MAVLink 2) Camera vision based attitude and position deltas.

Field Name Type Units Description
time_usec uint64_t us Timestamp (synced to UNIX time or since system boot).
time_delta_usec uint64_t us Time since the last reported camera frame.
angle_delta float[3] rad Defines a rotation vector [roll, pitch, yaw] to the current MAV_FRAME_BODY_FRD from the previous MAV_FRAME_BODY_FRD.
position_delta float[3] m Change in position to the current MAV_FRAME_BODY_FRD from the previous FRAME_BODY_FRD rotated to the current MAV_FRAME_BODY_FRD.
confidence float % Normalised confidence value from 0 to 100.

AOA_SSA ( #11020 )

[Message] (MAVLink 2) Angle of Attack and Side Slip Angle.

Field Name Type Units Description
time_usec uint64_t us Timestamp (since boot or Unix epoch).
AOA float deg Angle of Attack.
SSA float deg Side Slip Angle.

ESC_TELEMETRY_1_TO_4 ( #11030 )

[Message] (MAVLink 2) ESC Telemetry Data for ESCs 1 to 4, matching data sent by BLHeli ESCs.

Field Name Type Units Description
temperature uint8_t[4] degC Temperature.
voltage uint16_t[4] cV Voltage.
current uint16_t[4] cA Current.
totalcurrent uint16_t[4] mAh Total current.
rpm uint16_t[4] rpm RPM (eRPM).
count uint16_t[4] count of telemetry packets received (wraps at 65535).

ESC_TELEMETRY_5_TO_8 ( #11031 )

[Message] (MAVLink 2) ESC Telemetry Data for ESCs 5 to 8, matching data sent by BLHeli ESCs.

Field Name Type Units Description
temperature uint8_t[4] degC Temperature.
voltage uint16_t[4] cV Voltage.
current uint16_t[4] cA Current.
totalcurrent uint16_t[4] mAh Total current.
rpm uint16_t[4] rpm RPM (eRPM).
count uint16_t[4] count of telemetry packets received (wraps at 65535).

ESC_TELEMETRY_9_TO_12 ( #11032 )

[Message] (MAVLink 2) ESC Telemetry Data for ESCs 9 to 12, matching data sent by BLHeli ESCs.

Field Name Type Units Description
temperature uint8_t[4] degC Temperature.
voltage uint16_t[4] cV Voltage.
current uint16_t[4] cA Current.
totalcurrent uint16_t[4] mAh Total current.
rpm uint16_t[4] rpm RPM (eRPM).
count uint16_t[4] count of telemetry packets received (wraps at 65535).

OSD_PARAM_CONFIG ( #11033 )

[Message] (MAVLink 2) Configure an OSD parameter slot.

Field Name Type Values Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
request_id uint32_t Request ID — copied to reply.
osd_screen uint8_t OSD parameter screen index.
osd_index uint8_t OSD parameter display index.
param_id char[16] Onboard parameter id, terminated by NULL if the length is less than 16 human-readable chars and WITHOUT null termination (NULL) byte if the length is exactly 16 chars — applications have to provide 16+1 bytes storage if the ID is stored as string
config_type uint8_t OSD_PARAM_CONFIG_TYPE Config type.
min_value float OSD parameter minimum value.
max_value float OSD parameter maximum value.
increment float OSD parameter increment.

OSD_PARAM_CONFIG_REPLY ( #11034 )

[Message] (MAVLink 2) Configure OSD parameter reply.

Field Name Type Values Description
request_id uint32_t Request ID — copied from request.
result uint8_t OSD_PARAM_CONFIG_ERROR Config error type.

OSD_PARAM_SHOW_CONFIG ( #11035 )

[Message] (MAVLink 2) Read a configured an OSD parameter slot.

Field Name Type Description
target_system uint8_t System ID.
target_component uint8_t Component ID.
request_id uint32_t Request ID — copied to reply.
osd_screen uint8_t OSD parameter screen index.
osd_index uint8_t OSD parameter display index.

OSD_PARAM_SHOW_CONFIG_REPLY ( #11036 )

[Message] (MAVLink 2) Read configured OSD parameter reply.

Field Name Type Values Description
request_id uint32_t Request ID — copied from request.
result uint8_t OSD_PARAM_CONFIG_ERROR Config error type.
param_id char[16] Onboard parameter id, terminated by NULL if the length is less than 16 human-readable chars and WITHOUT null termination (NULL) byte if the length is exactly 16 chars — applications have to provide 16+1 bytes storage if the ID is stored as string
config_type uint8_t OSD_PARAM_CONFIG_TYPE Config type.
min_value float OSD parameter minimum value.
max_value float OSD parameter maximum value.
increment float OSD parameter increment.

OBSTACLE_DISTANCE_3D ( #11037 )

WORK IN PROGRESS: Do not use in stable production environments (it may change).

[Message] (MAVLink 2) Obstacle located as a 3D vector.

Field Name Type Units Values Description
time_boot_ms uint32_t ms Timestamp (time since system boot).
sensor_type uint8_t MAV_DISTANCE_SENSOR Class id of the distance sensor type.
frame uint8_t MAV_FRAME Coordinate frame of reference.
obstacle_id uint16_t Unique ID given to each obstacle so that its movement can be tracked. Use UINT16_MAX if object ID is unknown or cannot be determined.
x float m X position of the obstacle.
y float m Y position of the obstacle.
z float m Z position of the obstacle.
min_distance float m Minimum distance the sensor can measure.
max_distance float m Maximum distance the sensor can measure.

WATER_DEPTH ( #11038 )

[Message] (MAVLink 2) Water depth

Field Name Type Units Description
time_boot_ms uint32_t ms Timestamp (time since system boot)
id uint8_t Onboard ID of the sensor
healthy uint8_t Sensor data healthy (0=unhealthy, 1=healthy)
lat int32_t degE7 Latitude
lng int32_t degE7 Longitude
alt float m Altitude (MSL) of vehicle
roll float rad Roll angle
pitch float rad Pitch angle
yaw float rad Yaw angle
distance float m Distance (uncorrected)
temperature float degC Water temperature

MCU_STATUS ( #11039 )

[Message] (MAVLink 2) The MCU status, giving MCU temperature and voltage. The min and max voltages are to allow for detecting power supply instability.

Field Name Type Units Description
id uint8_t MCU instance
MCU_temperature int16_t cdegC MCU Internal temperature
MCU_voltage uint16_t mV MCU voltage
MCU_voltage_min uint16_t mV MCU voltage minimum
MCU_voltage_max uint16_t mV MCU voltage maximum

That might have been the case for @Jee88 , in one of your logs, I see the z position quickly went to the ground after a spike in the accel’s data is observed:

image.png

May I suggest:

  • increasing the camera’s distance to the ground (if you need to have it facing downward)
  • add damping if possible. just test take off and landing to verify whether the vibration is an issue or not.
  • make sure the camera’s FOV is not blocked (or as little as possible) by any part of the quadcopter.
  • test at somewhere with abundant visual features on the ground if you can.

Thanks to @thien94 and everyone.

VISP.PZ data is rising after IMU.Accz data is dropped as shown in the analyzed log. The drone also climbed and found the velocity and position data displayed in red on the mission planner EK.

In my previous row, I checked the same phenomenon as the log when’EKF variance’ and pos horiz / pos vert variance error occurred.

I updated my shared drive.
https://drive.google.com/drive/folders/1HwtgpBd3ZHehethRmmJaOSWYMNERsviW?usp=sharing
I uploaded 2 log and tlog and video at that time.
Sorry it’s not a YouTube video.

Guided and RTL tests were also conducted in this test. Where the pattern is clear, although the reset_counter increases, the ekf data stabilizes. In the RTL test, an error occurred as soon as the RTL command was input, and the drone was vertically raised. (RTL_ALTITUDE is currently set at altitude. The loiter speed, ascent and descent speed were also adjusted.)

I will test again by applying a vibration tape or vibration reduction mount, but do you have any tips to improve the IMU accel.z acceleration range limiting performance by modifying the EKF parameters?

Thank you very much.

but do you have any tips to improve the IMU accel.z acceleration range limiting performance by modifying the EKF parameters?

If you are referring to the T265: it’s a combination of hardware / software limitation from the T265’s internal IMU / librealsense configuration. As far as I know, the acceleration range is not configurable. On that part AP is not related.

If you are referring to the FCU’s internal IMU, you can check out this wiki: https://ardupilot.org/dev/docs/extended-kalman-filter.html

@peterbarker hi i am using SITL to simulate fake gps using the GPS_INPUT Message . i have an old version of the GPS_INPUT Message and there is no field to set the yaw parameter . i would like to know if by extending the message definition on the /ardupilot /modules/mavlink/message_defeinitions/v1.0/common.xml would be enough to feed the yaw to the drone ? thx im forward

Ian McElhenny

@mcelhennyi

@rmackay9 Thanks for the response, I had originally set the EK2_GPS_TYPE to 3 (no GPS), but that didnt seem to stop the warning….then when I did disable to GPS checks it seemed the SITL didnt know how to yaw anymore, but if I enabled back GPS it would yaw. (I would send a setpoint with a yaw delta relative to body to test)

Have you (or anyone) been able to run the sitl without GPS enabled lately? I am on version ArduCopter V4.1.0-dev (77e52362)

Its almost like disabling GPS makes it also disable the compass, so it doesnt know what heading it has? I would think with just gyro it should be able to try and yaw though…

@mcelhennyi yes i run the SITL withoout GPS but with the arducopter version 3.6.8

@rmackay9 A few weeks ago I was testing the T265 on my rover. But after the jump errors, I knew I had to return to the POZYX system. With EK3, it work very well. Question to all… Is there a way to state the position of the POZYX tag relative to the origin like VISO_POS_X?

Ian McElhenny

@mcelhennyi

@joekrom
Maybe this is a 4.x+ issue? I am going to open an issue in the repo I guess…

Oddly, I just tried again with turning off the GPS and GPS checks again, and it seems to work now…I can yaw just fine now.

I had initially setup a test case where I enabled MAV gps and was converting local position ned to a gps point, and was injecting it back in to the AP using the HIL_GPS message…and that also worked…but now the proper way works…odd

@mcelhennyi i am struggling to update the sitl copter version, can you ccheck if the field yaw is available in your GPS_INPUT message definition ?

Ian McElhenny

@mcelhennyi

@joekrom I actually am not using that message, rather the HIL_GPS message

@mcelhennyi which positioning system are you using ?

Ian McElhenny

@mcelhennyi

currently, in the sitl, just the flow sensor. In real life, T265.

ok cool that is nice , i am using pozyx

that means you use the flow sensor to send data to the drone with a gps input ?

Ian McElhenny

@mcelhennyi

no, the arducopter can ingest the flow sensor. I was just trying to get around the gps issue, so I was (hack) injecting the position the drone was outputing back in as a gps input to allow me to do the actual work I am trying to do without gps or yaw issues….but now it seems I dont actually need to do that because the correct way — flow and rangefinder for alt without gps — is actualy working.

@RoboBil Which process are you using to feed pozyx data to the drone ?

@joekrom I’m not sure about the process, but my POZYX/Arduino bundle is mounted .33 meters above and 0.1 meter ahead of the rover C.G. I have the @rmackay9 loiter sketch feeding the Pixhawk through Telem2. It all works really well especially after switching to EK3. But during pivot turns the trace makes a small arc. I’m hoping to reduce that and xtracking by inputting the position of the POZYX antenna.

@RoboBil, thanks for confirming that the pozyx system is still working! You are using Rover-4.1.0-dev? I’m afraid Beacon doesn’t support setting the position of the sensor so I’ve created an issue: ArduPilot/ardupilot#14792. I can’t promise when I (or someone else) will get to it though. It’s not super difficult because we’ve done it for many other sensors.

@rmackay9 Yes I have the latest dev installed. Thanks for creating the 14792. Unless I missed it, one thing you might mention in your POZYX instructions is that your cartesian Y is down rather than up. Your layout had me baffled for months until my programmer daughter told me about the downward Y axis. All is good now in robot-land.

@RoboBil, ok thanks. Is it «Y» that’s downwards or is it «Z»? I’d expect it to be Z actually.. It’s been a while though and it’s possible we made a mistake in the driver or the script

@rmackay9 Could be… and speaking of axis…Another thing I discovered to keep the axis «correct» is the tag should also be mounted vertically on your bot. This per where to place your anchors/tag page

I wonder if we should move this discussion over to a new «VisionProjects» channel in Discord (www.ardupilot.org/discord) . I’m not personally monitoring Gitter anymore except for this particular channel. Do @patrickpoirier51 and others have any opinion on this?

patrickpoirier51

@patrickpoirier51

As they say…we’ve got to go with the flow

Sorry guys… I just didn’t know where to post my question(s). I’m more than happy to switch to wherever you’all wish.

patrickpoirier51

@patrickpoirier51

@rmackay9 Have you created the vision room on discord ?

patrickpoirier51

@patrickpoirier51

Ok created

Bye Bye Gitter, everyone’s welcome to discord

lightpathproject

@lightpathproject

Is there a link?

Vinicius Juvinski

@juvinski

It seems the discord invite is invalid now.

Ian McElhenny

@mcelhennyi

++, new discord link?

Vinicius Juvinski

@juvinski

gauravshukla914

@gauravshukla914

Hi. Even this new link is invalid. Any other links? Can I still post my questions here?

Luis Vale Gonçalves

@lvale

Hi there, more and more discussion is moving to discord so you are all invited to join us over there! https://ardupilot.org/discord

alikarimiyazdi

@alikarimiyazdi

Hi. I have a pixy1, pixymon v1.0.2 software and IR Lock firmware v1.0.3. I tested my pixy I2C and SPI interfaces with arduino and it’s ok. But when I connect it to my pixhawk2 cube and set parameters (In mission Planner : “PLND_ENABLED = 1”,“PLND_TYPE = 2” In Pixymon: “outport =1”,“Restore default parameter values”) Mission planner says “Bad Vision Position”. I tested my pixy with different copter versions like Copter v4.0.3 Hexa frame and Copter v3.6.11 Quadcopter frame. Also I changed PLND_BUS parameter to 1 and -1 in both states. I tested it with three different pixhawk2 cube but in all cases i had “Bad Vision Position” on HUD. :frowning:
What Can I do else? any idea?

Hello.
Is there any way to use the loiter with t256 when entering the indoor shading area after using gps from outside?

Then, I think, next step will be to switch on the base of values that indicate the data from GPS has degraded, from GPS: GPS.HDop, GPA.HAcc, GPA.Vacc and / or from EKF: XKF4.SV, XKF4.SP …
But this is only free thinking i am not an expert.

Fahad1994-coder

@Fahad1994-coder

Hello everyone can someone guide me on how to build Navio2 computer vision system that detect object to deliver payload. pls give guideline in hardware and coding if its possible!

has anyone get numba working on rpi4?

Понравилась статья? Поделить с друзьями:
  • Error populating transaction anaconda is retrying при установке centos
  • Error populating transaction after 10 anaconda retries
  • Error poll or select is needed to compile rabbitmq c
  • Error pointer of type void used in arithmetic
  • Error po7 canon mp250