A.R.Drone Developer Guide
Contents
SDK documentation
Introduction
AR.Drone 2.0 Overview
Introduction to quadrotor UAV
Indoor and outdoor design configurations
Engines
LiPo batteries
Motion sensors
Assisted control of basic manoeuvres
Advanced manoeuvres using host tilt sensors
Video streaming, tags and roundel detection
Wifi network and connection
Communication services between the AR.Drone 2.0 and a client device
Differences between AR.Drone 2.0 and AR.Drone 1.0
AR.Drone 2.0 SDK Overview
Layered architecture
The AR.Drone 2.0 Library
The AR.Drone 2.0 Tool
The AR.Drone Engine - only for Apple iOS devices
ARDroneLIB and ARDroneTool functions
Drone control functions
ardrone_tool_set_ui_pad_start
ardrone_tool_set_ui_pad_select
ardrone_at_set_progress_cmd
ardrone_at_set_progress_cmd_with_magneto
Creating an application with ARDroneTool
Quick steps to create a custom AR.Drone 2.0 application
Customizing the client initialization
Using navigation data
Command line parsing for a particular application
Thread management in the application
Managing the video stream
AT Commands
AT Commands syntax
Commands sequencing
Floating-point parameters
AT Commands summary
Commands description
AT*REF
AT*PCMD / AT*PCMD_MAG
AT*FTRIM
AT*CALIB
AT*CONFIG
AT*CONFIG_IDS
AT*COMWDG
Incoming data streams
Navigation data
Navigation data stream
Initiating the reception of Navigation data
Augmented reality data stream
The AR.Drone 1.0 video stream
Image structure
UVLC codec overview
P264 codec overview
Specific block entropy-encoding
Transport layer
End of sequence (EOS) (22 bits)
Intiating the video stream
The AR.Drone 2.0 video stream
Video codecs
Video encapsulation on network
Network transmission of video stream
Latency reduction mecanism
Video record stream
Drone Configuration
Reading the drone configuration
With ARDroneTool
Without ARDroneTool
Setting the drone configuration
With ARDroneTool
From the Control Engine for iPhone
Without ARDroneTool
Multiconfiguration
With ARDroneTool
Multiconfiguration with Control Engine (iPhone only)
Without ARDroneTool
Common category (CAT_COMMON)
Application category (CAT_APPLI)
User category (CAT_USER) – also called "Profile" category
Session category (CAT_SESSION)
Technical details on id generation and descriptions
General configuration
GENERAL:num_version_config
GENERAL:num_version_mb
GENERAL:num_version_soft
GENERAL:drone_serial
GENERAL:soft_build_date
GENERAL:motor1_soft
GENERAL:motor1_hard
GENERAL:motor1_supplier
GENERAL:ardrone_name
GENERAL:flying_time
GENERAL:navdata_demo
GENERAL:navdata_options
GENERAL:com_watchdog
GENERAL:video_enable
GENERAL:vision_enable
GENERAL:vbat_min
Control configuration
CONTROL:accs_offset
CONTROL:accs_gains
CONTROL:gyros_offset
CONTROL:gyros_gains
CONTROL:gyros110_offset
CONTROL:gyros110_gains
CONTROL:magneto_offset
CONTROL:magneto_radius
CONTROL:gyro_offset_thr_x
CONTROL:pwm_ref_gyros
CONTROL:osctun_value
CONTROL:osctun_test
CONTROL:control_level
CONTROL:euler_angle_max
CONTROL:altitude_max
CONTROL:altitude_min
CONTROL:control_iphone_tilt
CONTROL:control_vz_max
CONTROL:control_yaw
CONTROL:outdoor
CONTROL:flight_without_shell
CONTROL:autonomous_flight
CONTROL:manual_trim
CONTROL:indoor_euler_angle_max
CONTROL:indoor_control_vz_max
CONTROL:indoor_control_yaw
CONTROL:outdoor_euler_angle_max
CONTROL:outdoor_control_vz_max
CONTROL:outdoor_control_yaw
CONTROL:flying_mode
CONTROL:hovering_range
CONTROL:flight_anim
Network configuration
NETWORK:ssid_single_player
NETWORK:ssid_multi_player
NETWORK:wifi_mode
NETWORK:wifi_rate
NETWORK:owner_mac
Nav-board configuration
PIC:ultrasound_freq
PIC:ultrasound_watchdog
PIC:pic_version
Video configuration
VIDEO:camif_fps
VIDEO:codec_fps
VIDEO:camif_buffers
VIDEO:num_trackers
VIDEO:video_codec
VIDEO:video_slices
VIDEO:video_live_socket
VIDEO:video_storage_space
VIDEO:bitrate
VIDEO:max_bitrate
VIDEO:bitrate_control_mode
VIDEO:bitrate_storage
VIDEO:videol_channel
VIDEO:video_on_usb
VIDEO:video_file_index
Leds configuration
LEDS:leds_anim
Detection configuration
DETECT:enemy_colors
DETECT:groundstripe_colors
DETECT:enemy_without_shell
DETECT:detect_type
DETECT:detections_select_h
DETECT:detections_select_v_hsync
DETECT:detections_select_v
SYSLOG section
USERBOX section
USERBOX:userbox_cmd
GPS section
GPS:latitude
GPS:longitude
GPS:altitude
CUSTOM section - Multiconfig support
CUSTOM:application_id
CUSTOM:application_desc
CUSTOM:profile_id
CUSTOM:profile_desc
CUSTOM:session_id
CUSTOM:session_desc
Tutorials
Building the iOS Example
Building the Linux Examples
Set up your development environment
Compile linux examples
Run the SDK Demo program
Run the Navigation program
Building the android example