Install Mission Planner using instructions here.
On PC tgs005, connect to the pixhawk via USB using COM 3 with baud rate 57600.
Mission Planner Installation Record.
Load the Arduplane firmware into the pixhawk using instructions here.
Arduplane Firmware Installation Record.
For reference to changes between Auduplane versions 3.7 and 3.8 refer here.
- For servo and elevon set up, refer here.
- Manual control of the control surfaces were checked and confirmed OK.
- Control surface movement in FBWA mode was checked and confirmed to be OK.
- After changing to v3.8, the analog airspeed sensor ARSPD_TYPE is confirmed as 2.
- THR_MAX confirmed to still be 100%.
Refer here for description of how I have set up the Taranis radio.
Mission Planner version 1.3.58 is used in the descriptions below.
On the Taranis radio, select Manual Mode using the 6 position switch.
In Manual Mode, the Taranis channels go straight to the aircraft outputs. In the Taranis radio on the Outputs screen, set normal or reverse for each channel so the throttle, ailerons and rudder/steering move correctly. On the Taranis Outputs screen, I set the channels as follow.
Channel 1 (Throttle) : Normal
Channel 2 (Left Elevon) : Reversed.
Channel 3 (Right elevon) : Normal.
Channel 4 (Rudder/Steering) : Reversed.
The modes programmed into the Taranis radio above must now be set up in the APM. The modes are summarized in this table.
Assigning modes to the mode numbers is done in Mission Planner on the ‘Config/Tuning’ page under ‘Flight Modes’. For each flight mode, select the mode name from the pull down menu. Press ‘Complete’ to write the modes into the APM.
Check that the mode switch selects the correct mode on the ‘Flight Data’ screen. Select each of the 6 switch positions and check the display on the artificial horizon displays the correct mode.
(Refer here for Arduplane documentation on radio calibration.)
Channel Range Calibration
The radio calibration procedure tells the Pixhawk what the PWM ranges for each channel are that are sent from the transmitter.
Red range limits lines are displayed on each channel display.
Ensure each of the following channels is moved to their maximum and minimum ranges.
Radio Channel 5 is not used.
Radio Channel 6 : switch SC (Geofence reset).
Radio Channel 7 : switch SC (Geofence enable).
Radio Channel 8 : switch S3 (Mode).
The following message is displayed.
The status shows Completed, the results are saved and the following window shows the channel ranges.
Stabilisation Control Check
In Mission Planner, connect to the Pixhawk. On the Initial Setup Screen select Mandatory Hardware – Radio Calibration.
On the Taranis radio, select Fly By Wire A (FBWA) Mode using the 6 position switch. In FBWA mode, the Pixhawk controls the outputs.
On the Radio Calibration screen, tick the Elevons box.
Roll the aircraft. Set the reversing of each elevon so they respond to hold the aircraft level.
Pitch the aircraft. Check that the elevens also respond to hold the aircraft level.
My aircraft is set as follows.
(Refer here for Arduplane documentation on ESC Calibration)
Perform the accelerometer calibration using instructions here.
After each position, click ‘Click When Done’ until ‘Calibration successful’ is displayed.
1. Place the Pixhawk on a level surface.
2. Place the Pixhawk on its left side.
3. Place the Pixhawk on its right side.
4. Place the Pixhawk nose down.
5. Place the Pixhawk nose up.
6, Place the Pixhawk on its back.
(Refer here for Arduplane documentation on compass calibration.)
On the Initial Setup screen, select Mandatory Hardware then Compass.
First, Pixhawk/PX4 was selected.
The ‘Enable compasses’ box is checked.
The ‘Obtain declination automatically’ box is checked.
The Compass calibration screen is shown here.
I have chosen the externally mounted compass as compass #1. It is orientated to point towards the front of the aircraft, so its offset is ‘None’.
Onboard Mag Calibration
Onboard Calibration procedure.
Hold the aircraft so that each side (front, back, left, right, top, bottom) is pointing down to the ground for a few seconds in turn.
During this process, the green bars for each enabled compass progress. Keep turning until the bars reach 100%.
On completion, a pop up window displays ‘Please reboot the autopilot’ as shown below and the offsets are displayed in each compass box (in green).
(Refer here for Arduplane documentation on plane failsafe.)
I have set the failsafe parameters as described in the following table.
Note that FS_LONG_ACTN has been changed from the default to RTL (Return To Launch).
In stabilisation modes (AUTO, GUIDED or LOITER), if a failsafe event is present for >1.5 seconds, CIRCLE mode is entered.
If the failsafe event is removed, then the previous stabilisation mode is resumed.
If the failsafe event continues for > 5 seconds, then RTL mode is entered.
The target altitude used by the ‘RTL’ command is the parameter ALT_HOLD_RTL. Its units are centimetres and its value is 10,000. (100m)
Failsafe Trigger Summary
Failsafe states can be entered by the following trigger events.
Failsafe Trigger Event – Transmitter Signal Loss (Throttle)
Transmitter Signal Loss Failsafe is called Throttle Failsafe.
Enable it by setting THR_FAILSAFE = 1. (0=Disabled, 1=Enabled)
Set the Receiver Throttle Failsafe PWM
The receiver must be set up so that when it loses signal, the throttle output PWM is less than the THR_FS_VALUE of 950uS. The following procedure sets the FrSky X8R receiver throttle failsafe PWM as required.
Check Transmitter Signal Loss
Turn on the Transmitter and the aircraft. Connect the GCS and monitor the mode.
With the mode in LOITER, turn off the transmitter. Check the APM mode changes to CIRCLE for 5 seconds, then to RTL.
If the Pixhawk stops receiving MAVLink heartbeat messages for more than the FS_SHORT_TIMEOUT and/or the FS_LONG_TIMEOUT, then the FS_SHORT_ACTN and/or the FS_LONG_ACTN action(s) are triggered.
The GCS failsafe is enabled using the FS_GCS_ENABLE parameter. (0 = disabled, 1 = enabled)
I have set FS_GCS_ENABLE = 0 to disable it.
If the GPS signal is lost for more than 20 seconds, then Dead Reckoning mode is used until the GPS signal is restored.
If the battery voltage drops below FS_BATT_VOLTAGE, then the APM mode changes to RTL.
If FS_BATT_VOLTAGE = 0, battery voltage failsafe is disabled.
I have set FS_BATT_VOLTAGE = 0 to disable it. (I use a FrSky FLVSS battery monitor with alarms in the Taranis instead.)
If the battery capacity remaining is less than FS_BATT_MAH, then the APM mode changes to RTL.
If FS_BATT_MAH = 0, battery charge failsafe is disabled.
I have set FS_BATT_MAH = 0 to disable it.
Advanced Failsafe Configuration
(Refer here for Arduplane documentation on advanced failsafe.)
The advanced failsafe system allows complex series of action when a failsafe event occurs.
The advanced failsafe system is disabled.
Configure the elevon control using instructions here.
To fly the plane manually before the pixhawk was installed, the elevon mix was done in the transmitter. When the pixhawk was installed and the old style of elevon mixing was used, in the manual modes the elevon channels were passed straight through to the elevon servos. However, to make use of the new style elevon mixing in the pixhawk, the Taranis must deliver one channel for aileron and one for elevator with no mixing.
Set up the transmitter with no elevon mixing, aileron on channel one and elevator on channel two. (Throttle is channel three.)
I set my pixhawk parameters as follows.
In the Taranis transmitter on the Outputs screen, channel directions were set as follows.
In the pixhawk, the trim parameters are set as follows.
The servo throw parameters were changed as follows.
The mixing parameters in the pixhawk are set as follows.
With all the settings above, the aileron and elevator work correctly in manual mode.
Also, in FBWA mode, the elevons work correctly to correct aircraft roll and pitch.
The default tuning parameters are shown here.
These values were used for initial flight testing.
Refer here for Arduplane documentation on Autotune
In Autotune mode, the PID parameters of roll and pitch are set automatically when rapid full manual roll and pitch movements are made. At least 20 movements are required because each parameter is only changed by up to 5% after each movements. Changes are saved every 10 seconds.
AUTOTUNE_LEVEL controls how aggressive the tuning is to be. Default value = 6.
The air speed during autotune must be greater than ARSPD_FBW_MIN, currently set to 9 m/S.(32.4 kph)
NAVL1_PERIOD controls how sharply the aircraft turns in automatic (AUTO, LOITER, RTL) modes.
Automatic Tuning Procedure
1. Start with NAVL1_PERIOD = 25.
2. From the GCS or the transmitter, select AUTOTUNE mode before taking off or during flight.
3. Roll the plane to the left and right with at least 80% rapid stick movement at least 20 times with about 2 second delay between movements.
4. Pitch the plane up and down with at least 80% rapid stick movement at least 20 times with about 2 second delay between movements.
5. Every 10 seconds, the autotune parameters are saved.
6. Set NAVL1_PERIOD = 18.
7. In AUTO mode, fly a rectangular mission and reduce NAVL1_PERIOD by 1 at a time until the turning rate is optimum.
The PTCH2SRV_RLL parameter determines how much up elevator is added in turns to keep the nose level.
PTCH2SRV_RLL default value is 1.0.
PTCH2SRV_RLL Tuning Procedure
1. In FBWA mode, fly in a tight circle with aileron stick hard over and centred elevator.
2. If the plane gains altitude, reduce PTCH2SRV_RLL by .05 at a time to a minimum of 0.7.
3. If the plane loses altitude, increase PTCH2SRV_RLL by .05 at a time to a maximum of 1.5.
I set PTCH2SRV_RLL = 1.0.
After Autotune Flight
During the autotune flight I made 24 rapid roll movements and 24 rapid pitch movements. I could feel the response improving after about six or seven movements. Here is how the parameters changed.
P is proportional gain, I is integral gain, D is differential gain.
Yaw parameters did not change because there is no rudder on this plane.
(Refer here for Arduplane documentation on arming.)
After power up, all servo values and throttle are kept at minimum values until the safety button is pushed.
I have set arming parameters as follows.
All checks are required for the aircraft to be armed. Battery level check is used only if configured.
I have chosen not to arm/disarm with rudder. Instead I have chosen to arm & disarm using a transmitter switch controlling channel 5.
Arming is allowed only in Manual mode and is requested in two ways.
1. Switch SF setting channel 5 to +100%.
2. Press Arm on the GCS (Ground Control Station).
Disarming is allowed only in Manual mode and is requested in two ways.
1. Switch SF setting channel 5 to -100%.
2. Press Disarm on the GCS (Ground Control Station).
(Refer here for Arduplane documentation on sensor testing.)
On Mission Planner select the Flight Data screen.
On the Mission Planner Flight Data screen, any of the data items in the APM can be displayed on graphs in real time.
To display a list of all possible sensor data, double click the left mouse button anywhere on the graph. Tick the boxes of the data to be displayed on the graph.
The following table is a check list of the sensors.
Magnetic field strength graph of compasses 1 & 2.
Moving a magnet close to the remote compass increases magfield from 500 to over 2000.
Moving a magnet close to the onboard compass increases magfield2 from 560 to over 4000.
In Mission Planner on the Config / Tuning screen, under Parameter List or Parameter Tree then BATT, set the battery capacity.
I use a 3000mAh 4S battery.
These are the default throttle parameters. These values are not changed.
The throttle setting for normal flight TRIM_THROTTLE is set to 55%. This throttle setting is used when there is no airspeed sensor.
(Refer here for Arduplane documentation on Terrain Following.)
The default terrain parameters are shown here.
TERRAIN_ENABLE is changed to 0 i.e. saving terrain data is disabled.
(Refer here for Arduplane documentation on the Power Module configuration.)
Battery Voltage Calibration
Battery voltage was measured using a digital multimeter on the battery charge lead pins. Measured value 16.76V.
The sensor type was set to ‘Other’ and the 16.76 was entered in the ‘Measured battery voltage’ in the Calibration box. This recalculated the ‘Voltage divider (Calced)’ parameter to be 11.1819. The ‘Battery voltage (Calced)’ then showed 16.7V with small fluctuations.
Using a current meter, the motor was run at 3.53 Amps. While it was running, the measured current was entered. This adjusted the ‘Ampers per volt’ to 91.35743 and the ‘Current (Calced)’ then displayed about 3.50A .. close enough allowing for small fluctuations.
After voltage and current calibration, the power module parameters are shown here.
Mission Planner Alert on Low Battery
The ‘MP Alert on low Battery’ checkbox was checked with the following parameters.
(Refer here for Arduplane documentation on Telemetry Radio Configuration.)
In Mission Planner, the baud rate was set to 57600 and COM6 was selected. ‘Connect’ was clicked, the link established and the ‘Flight Data’ page showed the current status. Select ’Initial Setup’, then ‘Optional Hardware’, then ‘Sik Radio’.
In the top right corner, disconnect the MAVLink, the click ‘Load Settings’.
The ‘Sik Radio’ set up screen is shown as follows with the default settings.
For advanced Configuration, refer here.
(Refer here for Arduplane documentation on Airspeed Sensor Configuration.)
In Mission Planner, tick the ‘Use Airspeed’ box.
The default airspeed parameters are shown here.
These default values are not changed.
Airspeed Sensor Tuning
Parameter ARSPD_AUTOCAL is set to 1 temporarily during the first flight to calibrate the airspeed sensor.
The default value of ARSPD_OFFSET is 2058.929 and the default value of ARSPD_RATIO is 1.9936.
A couple of ten minute flights in manual mode were then made.
After auto calibration, the new value of ARSPD_OFFSET became 2083.669 and the new value of ARSPD_RATIO became 2.100493.
The value of ARSPD_AUTOCAL was then set back to 0.
(Refer here for Arduplane documentation on Airspeed Sensor Configuration.)
The gimbal was also made from aluminium and mounted on the platform.
On Mission Planner, the gimbal was configured as shown here.
Important Gimbal Design Notes
To prevent unwanted vibration and gear wear, follow these guidelines.
These features minimise secondary vibrations arising in the assembly.
Field Of View
If the camera is horizontal, the horizon is across the middle of the picture and the top half is sky. I set the tilt angle to about 24° so that the camera’s field of view had the horizon just below the top of the frame and the rest of the frame is filled with the ground in front of the aircraft.
A video showing the gimbal operation is here.
(Refer here for Arduplane documentation on steering control.)
Once configured, automatic ground steering is enabled in stabilised modes (like FBWA and Auto) whenever the rudder and aileron sticks are centred and the aircraft is below GROUND_STEER_ALT (set here to 5m). Auto steering relies on a compass heading to determine direction. The compass heading is set when the rudder and aileron sticks are centred. Moving the rudder overrides the auto steering. Alignment of the nose wheel is critical to a straight take off.
Before an auto take off, in manual or FBWA mode taxi to align the aircraft to the take off direction. With the rudder and aileron sticks centred, select Auto mode. The current compass heading is used to steer the aircraft when it throttles up and starts moving until it reaches an altitude of 5m. Be ready to take manual control using the rudder stick if the aircraft veers off course!
Channel 4 is used to control the rudder and steering.
Steering Control is enabled by setting the parameter GROUND_STEER_ALT to a non zero value. Below this altitude, the nose wheel is used for steering. Above this altitude, steering changes from the nose wheel to the rudder. GROUND_STEER_ALT is set to 5m.
The steering servo is connected to output channel RC7. To set the parameters for RC7, in Mission Planner on the Initial Setup screen, under Mandatory Hardware then Servo Output. From the pull down menu, select ‘GroundSteering’.
Once this is set, the steering servo should be controlled by the transmitter rudder stick.
The steering parameters are shown here. All the values are default or those suggested by the Arduplane documentation except STEER2SRV_P which is set to the turning circle diameter, measured to be 4.3m.
On the Taranis, select Manual Mode. Check that the rudder stick turns the nose wheel in the correct direction. If not, reverse channel 4 on the Taranis Outputs screen.
Taxi the aircraft along the ground and adjust the mechanical alignment of the nose wheel so that the aircraft goes in a straight line when the rudder stick is centred. Adjust the rudder trim in the transmitter to perform fine adjustment.
STEER2SRV_DRTSPD is set to 0. Steering control is not derated as speed increases. It is disabled.
Tune the ground steering in FBWA mode before trying an auto take off. Follow the tuning procedure described here.
(Refer here for Arduplane documentation on Sonar Range Finder)
I use the Maxbotix analogue range finder MB1040 LV-MaxSonar-EZ4 Maxbotix Ultrasonic Sensor sourced from here.
The sonar range finder is used for better altitude control during landing. Refer here.
Assign the following parameter values according to the Ardupilot notes.
RNGFND_PIN = 14 (Pixhawk ADC 3.3V socket)
RNGFND_MAX = 700 (7m max range)
RNGFND_SCALE = 2.04 m/V (see calibration below)
RNGFND_TYPE = 1 (Analog)
For the range finder to be used during a landing, then
RNG_FND_LANDING = 1
In Mission Planner on the initial setup screen under Optional Hardware, select RangeFinder. The distance and voltage are displayed.
I calibrated the range finder by holding the aircraft so that the sensor was 87cm above the ground. (Note that the bottom of the wheels are 16.0 cm lower than the sensor.)
I then modified RNGFND_SCALE so that the distance showed 87cm. The new value of RNGFND_SCALE became 2.65 m/V.
A full list of the range finder parameters is here.
The throttle parameters are set as follows.
The Auto mode target speed TRIM_ARSPD_CM is 12 m/S. (43.2 k/h)
(Refer here for Arduplane documentation on Automatic Take Off)
The maximum throttle value during takeoff is set to the same as THR_MAX.
The maximum throttle slew rate during takeoff is set to the same as THR_SLEWRATE.
The TKOFF_ROTATE_SPD parameter is set to 0 m/s so it will rotate as soon as the air speed allows it.
Here is a full list of the Take Off parameters.
The Fly By Wire altitude change rate FBWB_CLIMB_RATE default value is used in Auto mode. It is 2.0 m/S.
(Refer here for Arduplane documentation on Automatic Landing.)
When the autopilot executes a LAND instruction, it sets the throttle to zero and glides to the target coordinates and altitude. The target altitude is usually zero. Note that for a rangefinder to be used for landing, RNG_FND_LANDING must be enabled. Refer here.
Determining Stall Speed
The stall speed of the FX-61 is incomplete.
Landing Air Speed
TECS_LAND_ARSPD controls the landing airspeed when an airspeed sensor is fitted.
TECS_LAND_ARSPD must be greater than the aircraft stall speed.
The glide slope is set by the ratio of the distance from the last waypoint to the landing point and the height difference between the last waypoint and the landing point. A recommended glide slope is a maximum of 10%.
TECS_LAND_SPDWGT controls the balance between airspeed and height control over range from 0 to 2.
Lower values prioritise height control for better target location accuracy. Higher values prioritise air speed to avoid flying too slow and stalling.
A value of 1 has an even balance between airspeed and height control.
During the flare, the descent rate is controlled by TECS_LAND_SINK. The default value of 0.25 is used.
The minimum pitch angle is controlled by LAND_PITCH_CD. The recommended value of 3 degrees is used.
The autopilot continues to navigate along a line through the target coordinates.
If the plane has stopped moving for LAND_DISARMDELAY, the motor is disarmed. The default value of 20 seconds is used.
Auto Abort Landing
Auto abort landing, if enabled, allows the auto landing to be aborted when the throttle is set > 90%.
Automatic aborting landing is not enabled so LAND_ABORT_THR = 0.
Aborting a landing is still possible by changing mode and taking manual control.
(Refer here for Arduplane documentation on ESC Calibration)
The ESC I use is a Turnigy Plush 40A
To calibrate the ESC, I connected the ESC throttle signal cable directly into the receiver channel 3, temporarily bypassing the pixhawk.
I then turned on the transmitter, set the throttle stick to maximum and connected power to the ESC. The ESC beeped once every couple of seconds, indicating it had recorded throttle maximum.
I then set the throttle stick to minimum. The ESC beeped with four short beeps to indicate the number of cells of the battery, then one long one to indicate the throttle minimum had been recorded.
I checked the throttle range by increasing the throttle stick up to maximum and confirming the motor speed increased to maximum.