("The article uses the Assassin T1 as an example; for other drones, flight controller parameters should be adjusted according to their specific characteristics.")
1. Basic Settings
When tuning a flying wing, connect the flight controller to the computer using a USB cable. Select the COM port in the top right corner and set the baud rate to 115200, then click the 'Connect' button to establish a connection. This allows you to start the tuning process.
1.1 Flight Controller Calibration
Go to the initial setup, find 'Mandatory Hardware', and click on 'Accelerometer Calibration'.
This calibration is crucial, as it affects whether the aircraft can fly stably.
It is imperative to perform the accelerometer calibration by removing the flight controller and calibrating it separately. After completing each position, click 'Done' once.
After clicking 'Accel Calibration', it will change to 'Click when done'. Below, a prompt will appear on how to position the flight controller for six-sided calibration. After completing each action, click the button above to proceed to the next action's prompt. This process will guide you through the steps to complete the six-sided calibration of the flight controller.
After installing the flight controller and placing the drone flat, click 'Calibrate Level' to perform the calibration.
1.2. Compass Calibration
Click to enter the compass interface. For detailed instructions on GPS and compass installation, please refer to the manual.
After clicking 'Calibrate Compass', a progress bar will appear at the bottom. You will need to rotate the drone along various axes until the progress bar is completely filled.
At this stage, the system will notify that the compass calibration is complete and requires a restart of the flight controller. Click 'REBOOT' to restart and finalize the calibration process. (Note: Compass calibration should be performed outdoors with a minimum of 8 satellites acquired.)
For vertical takeoff flights, it is essential to activate the compass and ensure it is calibrated correctly. Without this, the drone will have poor stability in multi-axis conditions, making it difficult to operate and potentially leading to unnecessary risks.
2. Remote Controller Settings
2.1. Remote Controller Calibration
The remote controller calibration interface requires detailed wiring and settings to be followed as per the instruction manual.
Ensure that the channels on the remote controller align with those on the flight controller and there are no issues with channel inversion:
- Enter the Remote Controller Calibration Interface
-
When the remote controller is rolled to the left, the ROLL value shifts to the left;
-
When the remote controller is rolled to the right, the ROLL value shifts to the right;
-
When the throttle is pushed upwards, the THR value increases;
-
When the throttle is pulled downwards, the THR value decreases;
-
When yawing to the left, the YAW value shifts to the left;
-
When yawing to the right, the YAW value shifts to the right.
Note: In the remote controller's stick operations, the logic of the Pitch (PITCH) channel is opposite to that of the other channels. When the stick is pulled downwards, the PITCH value should increase, and vice versa. If this is not the case, decide whether to select the option to reverse it.
Please ensure that the stick movements of the remote controller and the output values on the calibration interface are consistent with the above text and images.
It is essential to ensure that the movements of the remote controller's sticks and the output values displayed on the calibration interface match the descriptions and images provided above.
It is crucial to ensure that the stick movements on the remote controller and the output values shown on the calibration interface are consistent with the descriptions and images mentioned above.
(The purpose of this step is to ensure that the outputs from the remote controller are consistent with those from the flight controller, to prevent any potential confusion in the flight controller's logic.)
For users of Futaba, WFly, and similar remote controllers, if you encounter issues like throttle channel inversion, handle it in the same manner as described above.
When clicking to calibrate the remote, please ensure to move all the sticks and switches of each channel to their maximum positions, to display the maximum and minimum values of the channel outputs.
After completing the calibration, click 'Click when done'.
3. Vertical Takeoff Settings
3.1 Pre-Tuning for Vertical Takeoff
"Open the Full Parameter List, search for and set Q_ENABLE = 1.
Enable VTOL mode by setting it to 1. The default value is 0, which means it's disabled. Only after setting this will the parameters for vertical takeoff appear.
Then, the Configurator will ask you to reload the parameters. At this point, you need to completely power off and restart the flight controller, reconnect to the Configurator, and continue with the modifications.
QFRAMECLASS=7
This sets the multirotor type to Y3, which is represented by the number 7.
QFRAMETYPE=1
This is for the frame type; setting it to X-type is usually fine, typically represented by 1.
QTILTENABLE=1
This enables tilting. If not enabled (i.e., set to 1), the following MASK and TYPE settings will not be available.
After the Configurator requests a parameter reload, you need to completely power off the flight controller, reboot, reconnect to the ground station, and then continue with the modifications.
QTILTTYPE=2
This activates vector thrust control: 0 is off, 1 for single tilt, and 2 for vector control tilt. Change this to 2.
QTILTMASK=3
This specifies the motors that will tilt, represented by a special binary code. Change this to 3.
After the Configurator requests a parameter reload, you need to completely power off the flight controller, reboot, reconnect to the configurator, and then continue with the modifications.
QTILTTYPE=2
This activates vector thrust control: 0 is off, 1 for single tilt, and 2 for vector control tilt. Change this to 2.
QTILTMASK=3
This specifies the motors that will tilt, represented by a special binary code. Change this to 3.
3.2. Flight Mode Settings
Enter the Flight Mode Settings and select suitable modes from the dropdown menu, setting them according to personal preference. We recommend initially setting the Q_stabilize mode, which is similar to the semi-stabilized mode of a multirotor and the stabilized mode of a fixed-wing drone (FBWA), to facilitate further tuning.
By default, the flight mode settings are on channel 8. If using a three-position switch, set flight modes 1 and 2 to the same mode. Below is a schematic diagram of the mode settings, provided for reference.
After completing the setup, click 'Save Mode' and then 'Complete'.
4. Common Tuning Parameters
When tuning the drone, we often need to change parameters due to different peripherals. For detailed information, you can refer to the manual. All parameters can be searched and modified in the interface shown in the figure below. Different settings vary from person to person, so we won’t go into much detail here. Below, some commonly used parameters will be introduced for your reference.
4.1Remote Controller Channels
In the full parameter list, find 'FLTMODE_CH = X' (where X is any channel) to change the channel used for switching flight modes.
If set to 8 here, it corresponds to the custom channel 8 switch on the remote controller.
4.2 Unlock Self-Check
The Ardupilot firmware has stringent requirements for unlocking the flight controller. By default, it requires dozens of parameters to be self-checked and meet standards before allowing unlocking. Given that our drones might not have so many peripherals and checks installed, we can use this parameter to remove some options that the flight controller cannot self-check.
First, search for 'ARMING'.
Find 'ARMING_CHECK 1'. At this point, a dialog box will pop up. Based on the actual situation, you can disable parameters that cannot pass the check.
For example, if my drone doesn’t have a storage card and cannot pass the self-check, we need to uncheck 'Logging Available' in the dialog box.
Otherwise, the drone will not be able to pass the self-check for takeoff.
Key Points
Regardless of the solution chosen, do not set the ArmingCheck parameter directly to 0. Instead, you can disable invalid fault reports, such as logging failures due to the absence of a MicroSD card or compass warnings (unhealthy compass). You can proceed with takeoff after completing compass calibration and ensuring the message report shows 'EKF3 active'. Do not take off if only 'DCM ACTIVE' is displayed.
This can be seen through the OSD prompts, or by connecting the flight controller via USB and observing it in the information bar of the MP Configurator.
5. Output Settings
Power Configuration for Triple Motor Setup
5.1Channel Configuration
In the 'SERVO OUTPUT' section, we can configure each channel of the flight controller. The AP firmware references the motor definitions of a multirotor Y-3 configuration. It is important to note that the left front motor is MOTOR2, the right front motor is MOTOR1, and the rear motor is MOTOR4. As shown in the diagram below, the steering can be disregarded. Do not set it as MOTO1, MOTOR2, MOTOR3.
Taking the Assassin T1 that I am currently tuning as an example, based on my wiring at the flight controller end
(If the flight controller comes with a BEC, and if the ESC also has a BEC, you need to remove the middle voltage line and ensure it is properly insulated. This prevents it from coming into contact with conductors during flight, which could lead to a short circuit.)
Based on the wiring, select the following channels to control the drone's control surfaces and throttle.
5.2. Servo and Control Surface Inspection
5.2.1 Tilt Servo Inspection
When we are in Q_stabilize mode, the angles of the two tilt servos should be vertical at 90 degrees, as shown in the diagram below.
"In the Configurator OUTPUT interface, as shown in the diagram below, we can see that in Q_stabilize mode, the PWM value of the left tilt servo is at a low position, while the PWM value of the right tilt servo is at a high position.
This should be adjusted according to the actual situation. It's not necessarily the case that in every drone, under multirotor mode, the PWM value of the left tilt servo is always at a low position.
When one servo is vertical at 90° and the other is parallel at 180°, simply check the 'Reverse' option for the corresponding channel of the incorrect servo.
If both tilt servos are standing up but not completely vertical, adjust the verticality by changing the min value of channel 4 and the max value of channel 8.
Example:
When the left tilt servo is not vertical and is less than 90 degrees
We can increase the min value of channel 4 to make it vertical. Conversely, when the left tilt servo is greater than 90 degrees, we need to decrease the min value of channel 4.
Similarly, when the right tilt servo is not vertical, adjust the max value of channel 8 accordingly.
When we are in FBWA mode, both tilt servos should be parallel at 180°, as shown in the diagram below.
In the Configurator OUTPUT display, as shown below, we can see that in FBWA mode, the PWM value of the left tilt servo is at a high position, while the PWM value of the right tilt servo is at a low position.
The adjustment method for tilt servos not being vertical in FBWA mode is consistent with that in Q_stabilize mode. In FBWA mode, the adjustment involves the max value of the left tilt servo on channel 4 and the min value of the right tilt servo on channel 8.
Example:
When the left tilt servo is less than 180°
We need to increase the max value of channel 4 when the left tilt servo is less than 180°. Conversely, if the left tilt servo is greater than 180°, then decrease the max value of channel 4.
Similarly, when the right tilt servo is not vertical, adjust the min value of channel 8 accordingly.
In summary, we can precisely control the position or angle of the servos by adjusting the maximum and minimum duty cycle values of the PWM signal in different modes. This can be done intuitively through the output interface of the MP ground station.
When adjusting the min and maximum values, the Configurator might display a warning about exceeding limits. Simply click to confirm in such cases.
5.2.2 Fixed-Wing Control Surface Inspection
(1) Switch to FBWA mode on the remote control to conduct a control surface check. Operate the pitch, elevation, and direction controls to verify if the drone's control surface response is correct. If the control surfaces respond in the opposite direction, you can find the corresponding channel in the 'SERVO OUTPUT' interface and check the REVERSE option to correct it.
(2) Perform an auxiliary correction check for the control surface direction. Place the drone in various positions to simulate air attitudes. For example, if you tilt the drone forward, observe whether the control surfaces rise to assist the aircraft in lifting its nose and returning to level flight. Similarly, test for roll and yaw movements.
(During this check, ensure that the flight controller's output is consistent with the servo output. If the control surfaces still do not respond correctly, you may need to revisit the '2.1. Remote Controller Calibration' to recheck and also verify the accuracy of the servo connections.)
5.3 ESC Calibration
Power on the drone and enter the Flight Data interface. Locate the Actions tab and click 'Arm'.
a. Switch the remote controller to Q_stabilize mode and push the throttle to the highest position.
b. Click 'Force Arm' to forcibly unlock the system (note: do not install propellers during testing).
c. After the ESC beeps twice, lower the throttle to the minimum.
d. ESC calibration is complete. You can gently push the throttle to check if the motor's rotation direction matches the propeller. (If it does not match, you can reverse the direction by swapping any two of the three motor wires connected to the ESC.)
6. Vertical Takeoff Parameters
6.1 Tilt-Related Parameters
Modify the following parameters according to actual use:
QTILTYAW_ANGLE=10
(Vector angle for multirotor mode, 10=10 degrees) The maximum tilt angle of tilt motors when steering in multirotor mode. Generally, ensure the propellers don't scrape the fuselage.)
QTILTFIX_ANGLE=10
(Vector angle for fixed-wing mode, 10=10 degrees. When enabled, tilt servos participate in vector control when ailerons and elevators are used.)
QTILTFIX_GAIN=0.6
((Vector sensitivity in fixed-wing mode, 0=off, 0.6=60%, 1=100%)
QTILTMAX=70
(Tilt servo angle to wait for airspeed to reach 70 degrees)
QTILTRATE_DN=25
(Angular velocity of tilt servo tilting downwards when transitioning from multirotor to fixed-wing, 25° per second)
QTILTRATE_UP=80
(Angular velocity of tilt servo tilting upwards when transitioning from fixed-wing to multirotor, 80° per second)
Transition Parameters::
QASSISTANGLE=65
(Activates multirotor assist above this angle as a part of stall protection. If the drone's angle is too high, it will automatically switch to multirotor mode.)
QASSISTSPEED=9-10
(Activates multirotor assist below this speed. Set to the minimum airspeed +1. For T-1, generally set to 10. It's a part of stall protection; if the speed is too low, it will automatically switch to multirotor mode.)
QTRANSITIONMS =2000
(Duration of multirotor assist after transitioning to airplane mode, 1k=1 second, or the maximum deceleration time when switching back to multirotor.)
QTRANPIT_MAX= 5
(Maximum allowed pitch movement during transition, in degrees. Smaller settings result in more stable transitions but require higher performance from tilt servos and motors. T-1 can handle this.)
QTRANSDECEL= 3
(Deceleration rate in m/s, to prevent high-speed transitions back to multirotor mode, which could cause aircraft disintegration)
6.2 Multirotor Parameters
Modify the following parameters according to actual use:
QACCELZ =200
(Vertical acceleration, default 250 cm/s. Lower values are better for small drone.)
QVELZMAX=250
(Maximum vertical ascent speed in cm/s)
QANGLEMAX =3500
(Maximum tilt angle in multirotor mode, default 3000=30 degrees. Higher values may be needed for small aircraft to fly against the wind.)
QLOITBRK_DELAY =1
(Delay in stopping after transitioning from fixed-wing to tilt-rotor, in seconds. Shorter times can be alarming, longer times increase the buffer distance.)
QMSPIN_MAX=1
(Maximum throttle in multirotor mode, 1=100%. Higher settings are better for energy-efficient small drones.)
QMSPIN_MIN=0.15
(Idle throttle in multirotor mode, 0.15=15%)
QVFWDGAIN=0.05
(Use tilt servos to accelerate or counter strong winds in multirotor QLoiter mode. Default 0=off. Activate at 0.05.)
QVFWDALT=2
(Disables tilt assist below this altitude. Below this height, the fixed-wing mode cannot be engaged.)
QWPSPEED_DN=150
(Maximum descent rate during missions, in cm/s)
QWPSPEED_UP =200
(Maximum ascent rate during missions, in cm/s)
QMSLEWDNTIME=0
(Limits throttle acceleration speed. Generally, 0. Increase if the power is too aggressive.)
QMSLEWUPTIME=0
(Limits throttle deceleration speed. Generally, 0. Increase if the power is too aggressive.)
INITIAL_MODE =17
(The flight controller powers up in Qstab mode to prevent starting in fixed-wing mode and causing propeller strikes on the ground.)
6.3 Vertical Return-to-Home Parameters
Modify the following parameters according to actual use:
QWPSPEED_DN =150cm/s
(Primary landing speed)
QLANDSPEED=50cm/s
(Secondary landing speed)
QLANDFINAL_ALT=3
(Secondary landing altitude in meters)
QRTLALT =100
(Multirotor return-to-home altitude in meters. Ensure there are no obstructions at the current altitude.)
QRTLMODE=2
(Enables hybrid return-to-home mode.)(=2)
ALTHOLDRTL=-1
(Fixed-wing return-to-home altitude in meters. If set to -1, it maintains the current altitude. If a specific altitude is set, the drone will slowly ascend or descend to that altitude.)
QRTLMODE annotation:
1: If the drone is within the RTL_RADIUS meter range of the return point, RTL will immediately switch to QRTL. Setting to 1 can cause immediate switching to QRTL (multirotor return-to-home) if the altitude is too high, which is dangerous.
2: The drone will follow the ALTHOLDRTL parameter for return-to-home, spiraling down to QRTLalt within a radius of QFWLNDAPRRAD (default 0, if 0 then WPLOITERRAD is used, set to 50M for T-1) and then switch to QRTL for landing. Refer to "Automatic VTOL Landing": https://ardupilot.org/plane/docs/quadplane-auto-mode.html
[For more parameter settings, please search the literature for further understanding.]
7. Vertical Takeoff Testing
7.1 Multirotor Feedback Logic Check
After the flight controller completes its self-check and displays EKF3 active, unlock normally and proceed with testing.
7.1.1 Q_stabilize Mode Remote Controller Output Check
(Slightly push the throttle to ensure all three motors are spinning and give minor stick inputs to the flight controller.)
Push the pitch stick, the tail motor increases speed.
Pull the pitch stick, the left and right front motors increase speed.
Roll left, and the right motor increases speed.
Roll right, the left motor increases speed.
8.1.2 Q_stabilize Mode Self-Stabilization Feedback Check
(Slightly push the throttle to ensure all three motors are spinning and give the drone some attitude changes.)
When the drone pitches up, the tail motor speeds up.
When the drone pitches down, the left and right front motors speed up.
When the drone rolls left, the left front motor speeds up.
When the drone rolls right, the right front motor speeds up.
(If there are anomalies in motor feedback, check if the motor signal lines are connected correctly.)
8.2 Q_ AUTOTUNE
If the flight feel in Qstabilize mode is not good, use Q_AUTOTUNE mode for automatic tuning of the multirotor. Please Search relevant literature for details and testing.
Operation reference:https://ardupilot.org/plane/docs/qautotune-mode.html
Operation reference:https://ardupilot.org/plane/docs/quadplane-vtol-tuning-process.html#quadplane-vtol-tuning-process
8.3 Q_LOITER
If the flight feel is satisfactory and does not require QAUTOTUNE, or after automatic tuning has been completed, you can switch to QLOITER mode. In this mode, the drone can achieve fixed-point and fixed-altitude flight, similar to the full self-stabilization mode of a multirotor, which is very stable. (Note: This requires a compass; without it, a fixed point and fixed altitude cannot be achieved.)
9. Important Considerations
Before takeoff, please check the drone's weight and center of gravity, as well as battery level. After powering on, verify that mode switching is functioning correctly, that the rotor feedback is normal, and that the number of satellites detected is sufficient for safe flight.
Before attempting to switch from vertical takeoff to flight, test the multirotor mode and fixed-wing mode separately. Only after both modes have been successfully tested should you attempt to switch between them.
When the vertical takeoff mode is activated, powering on may trigger an error message, as shown in the diagram. This error indicates that the GPS has not fully stabilized. Wait for the OSD or a message to display 'EKF3 ACTIVE' before taking off normally.
10. Mode Transition Testing
After confirming that both fixed-wing and multirotor modes are functioning correctly, you can proceed to test the mode transitions. During testing, be mindful of taking off and landing into the wind.
The specific process is as follows:
10.1 In Q_stabilize mode, climb to 20m (adjust according to the safe height of the field, leaving some margin for safety).
10.2 Switch to FBWA mode and observe the drone's forward flight. If it cannot maintain a balanced, straight flight, decide whether to use FBWA or Q_stabilize mode to recover the drone. After landing, adjust the relevant parameters.
10.3 Once a certain initial speed is achieved (which can be judged through OSD), switch to FBWA mode and observe whether the aircraft behaves normally. In case of unexpected behavior, use FBWA or Q_stabilize mode for recovery and adjust the parameters after landing.
10.4 When returning home in fixed-wing mode, leave a sufficient distance and maintain a straight course before switching to Q_stabilize mode. If stable landing is not possible, consider re-launching in fixed-wing mode and then landing. Adjust the relevant parameters after landing.
Comments
0 comments
Please sign in to leave a comment.