How to methodically configure and tune any ArduCopter

TLDR; this post moved to ardupilot.github.com

As of Mai 2024 this is the most liked post on this ArduPilot user forum, thanks for the likes :ok_hand:
But it is cumbersome to edit, limited to 64000 characters and the HTML link anchors change every time I add a new HTML anchor (heading or section).

To facilitate collaboration, and support other vehicles than ArduCopter I decided to move the contents to ardupilot.github.com. There I can receive github pull requests from collaborators to improve the guide and keep the software synced with itā€™s HTML anchors.
ArduPilot methodic configurator version 0.9.6 and up already uses the new guide.

The only regressions are:

  1. the new guide no longer tracks the amount of times an HTML link was followed, and
  2. the new guide no longer supports ā€œlikesā€

But you can still like it here :stuck_out_tongue:

This thread will continue here as a way to discuss the method with forum users that do not have a github account and/or do not know what a pull-request is

85 Likes

Like explained above, this post moved to ardupilot.github.io

9 Likes

Credit where credit is due, this is a good guide @amilcarlucas.

If I may offer a suggestion for your step 8, on a performance evaluation flight. If you want to use the PID review tool, it is better to do a flight in Alt hold, with ATC_RAT_FF_ENABLE = 0 (disabled). You do not want to do smooth manoeuvres you actually want to fly the aircraft aggressively moving the RC stick back and forth the box continuously, one axis at a time (roll, pitch, yaw) spending about 30s on each axis. This is the best that we can do to manually inject step responses into the rate controller and will make for a better evaluation of the rate controller.

3 Likes

Thanks for the feedback @IAMMATT, I have changed Step 8 from LOITER to ALTHOLD and added info on disabling the FF, and re-enabling it later.

1 Like

great walkthrough. We probably should link this to the wiki as that is quite complete and easy to follow

4 Likes

This is a great attempt. The complete adjustment path and modular parameter adjustment are groundbreaking and great.

2 Likes

@amilcarlucas Thanks for this post.

3 Likes

I am going to try this on a small quad after Xmasā€¦and add to the wiki upon successful completionā€¦thanks!.. @andypiper any inputs on this from your considerable experience tuning small,fast quads?

3 Likes

Maybe it would be worth including tuning instructions using the example of a larger drone?

The couple of places that you need to take care are already highlighted like the large vehicle mag cal or the large vehicle Accel calibration.

Or do you want example intermediate param files for large vehicles?

1 Like

When it comes to large vehicle mag cal, I have not found an example of using this function anywhere. What would be most helpful for me would be sample parameters of a well-tuned drone the size of a DJI Matrice 600.

Ok, in two weeks I can post a well tuned S900 parameters. Remind me on that in two weeks

2 Likes

This is a great guide and I am trying to follow along. But Iā€™m stuck on step 2.2. Could you provide additional guidance for when the FC doesnā€™t recognize the Rx?

1 Like

Make sure the wiring is correct and that the pairing is correct. Those are usually the problems

1 Like

Thank you from the bottom of my heart Amilcarlucas,what a piece of work,so well written and easy to follow and the use of Peteā€™s tools as well brilliant,ive been away from ardupilot for a while due to health reasons but what a welcome read to come back to.

1 Like

Welcome back @MartyMcFly , thank you for your kind words. Nice to have you back.

If you have any questions just ask, Iā€™m glad to help.

1 Like

I believe the pairing is correct. I have two flight controllers, (a 2.4.8 and a kakute h7), and 3 Rxā€™s, (two happymodel duals and one anyleaf dual). All three of the Rxs work with the 2.4.8 and none of them work with the kakute.

Because the receivers work with the 2.4.8 I know the binding phrases are matched. I can see the green bars on the radio calibration screen moving according to stick inputs on the 2.4.8 with all three Rxā€™s. I swapped the Tx and Rx connections on the 2.4.8 to see what would happen. The green bars on the radio calibration screen still appeared, but did not move with the radio. The ā€œPreArm: RC not foundā€ error did not appear like it does with the kakute.

I tried switching the Tx and Rx pads on the kakute but it did not make any difference - exact same message, ā€œPreArm: RC not found.ā€

Thank you for paying attention to this. You have posted a very well-written guide and your skill and knowledge in this area is obvious. I look forward to building the best quad I ever have thanks to your guidance - after getting over this obstacle. Thank you again.

1 Like

With the kakute h7, if you have the BDSHOT firmware loaded (and you probably should) then RCin and serial ports and functions can be shifted around.

Yes, in the HWDEF for BDSHOT:

# Must use USART6 for RCIN rather than RCINT as timer needed for bi-dir dshot
PC7 USART6_RX USART6 NODMA

define DEFAULT_SERIAL6_PROTOCOL SerialProtocol_RCIN
define DEFAULT_SERIAL6_BAUD 115
define DEFAULT_SERIAL7_PROTOCOL SerialProtocol_ESCTelemetry
define DEFAULT_SERIAL7_BAUD 115

PB0  TIM3_CH3 TIM3 PWM(1) GPIO(50) BIDIR
PB1  TIM3_CH4 TIM3 PWM(2) GPIO(51)
PB3  TIM2_CH2 TIM2 PWM(3) GPIO(52) BIDIR
PB10 TIM2_CH3 TIM2 PWM(4) GPIO(53) BIDIR

All HWDEF files:

1 Like

Good catch @xfacta he is probably using BRD_ALT_CONFIG = 1 for the BDSHoot functionality and that shifts the UART pins around.

The solution is to look at the alt config in the hwdef file.

1 Like

Yes. I definitely am using BRD_ALT_CONFIG = 1. That is an incredibly good catch! Thank you so much!

Just to confirm, I ought to upload the firmware ā€œKakuteH7-bdshotā€ instead of ā€œKakuteH7?ā€
firmware

Which means I should look at hwdef.dat file from this location instead of the hwdef.dat file from [this location].(https://github.com/ArduPilot/ardupilot/tree/master/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7)

I really, really, really appreciate the help. I honestly do. But Iā€™m not going to be able to post results for a while. I need to watch this video first. I had no idea a hwdef file existed before and I havenā€™t any idea how to edit one.

Thank you again!

1 Like