I have finally put a Tri-Copter together in an attempt to get Tri's up to the same level of performance as the more common quad, Y6, X8, Hex and Octo. This is what I have put together:
based on these Hobbyking parts:
The tricopter has tuned up reasonably well using autotune and I feel happy with the performance so far. I didn't find the initial setup much more complicated compared to normal quad. I did find the first flight much more nerve racking because of the poor yaw performance during take off. I am interested to see if my confidence in the yaw performance improves now I have a reasonable yaw tune.
I am looking for feedback on what issues Tri-Copter pilots are having with Arducopter. Some of the issues I see are:
1. Dynamics of having the rear motor and propeller CG above the pivot point causes the opposite rotation to the thrust.
2. Roll, pitch, yaw and lift coupling potentially causing issues with auto-tune.
3. The frame type needs a stability patch to prioritize motor output.
4. There is no thrust adjustment on the rear motor based on angle.
5. Yaw auto-tune could be made more efficient by removing any D term or filter frequency tuning and going directly to Rate P tuning.
6. There may be improved motor mixing that does a better job at isolating the 4 control axis.
So let me know what you think I should be looking at that is particularly relevant to Tri-Copters.
Leonardt, please consider the suggestions here, some of them are very simple and can be included in 3.3.1 if not 3.3 final.
1. please move servo to channel 2 output. here is why:
a. It will make setup much cleaner and can improve vibration passing through wires by using only 2 "3pin servo connectors" like so _| (power for servo should be harnessed directly off the BEC so vcc/gnd pins not needed for servos)
b. besides the aesthetics/convenience such setup will work with the inevitably coming 36x36 versions of pixhawk which will have room only for 6 output pins, this is for the racer quads/tries, mini connectors are horrible on those as people are crashing, ESCs go out all the time and it is a huge PITA to change the whole harness (as with mini connectors)
c. one might ask - why not rearrange the whole output to mot1 mot2 mot3 servo4? well this is logical, but can potentially be safety issue as discussed in the RobL's tricopter thread
2. Please allow to change servo output frequency as right not it is hard-coded to 50mhz which is OK for regular servos, but regular servos suck on mini tricopters (~280size) use of better servos (helicopter) will greatly improve yaw performance, however, their optimal pwm frequency varies from 50mhz all the way to 560mhz, I believe necessary for this code exists in heli version of AC.
3. Please make default rate_yaw_filt_hz parameter 20mhz and I max 200. these two are MUST on 3.3 as otherwise yaw is barely controllable.
Leonardt, could you please verify how is mot_sv_yaw_trim is used for the tail control? Is it used at all? In the previous versions I didn't have to adjust ch7 mid parameter. Please advise, thank you!
P.s. in cleanflight one needs to manually dial yaw trim on the first flight, would it be possible to fully disable yaw stabilization while in autotrim this would allow to trim yaw very precisely. Also, there is a cleanflight fork which couples yaw and roll would you think it makes sence to account for yaw affect during roll and vice versa?
Sorry, I couldn't find that variable anywhere. I may have missed something. I will have to look into that and get back to you.
I will have a chat to Randy about some of your other suggestions and but I will keep everything in mind for the next release. However, my first priority is to ensure that tri copters have all the basic functionality they need. So at the moment I will be focussing on the stability patch for tri's, basic controller design for yaw, and servo setup (that will include the update frequency). Polishing stuff like pinout will need to wait unless I see a quick and easy way to do it.
My understanding is that cleanflight uses a rate only controller on the yaw so it has different issues. Our I term takes care of this offset very quickly so it may not be needed at all. I will look at this as I work through the issues.
As for Yaw to roll coupling this is something I may be able to add for Tri's I will look at this as I work forward.
I am really getting confused, and suspect there is something fundamental I am missing. I have both a tricopter and Y6 which have proven impossible to autotune. They both still drift away relatively quickly in alt hold. I tried Auto Trim on the tri, but it didn't make any difference since oddly the drift does not occur in Stabilize! The same is the case on the Y6. Tonight was *extremely* calm here so it was a rare opportunity to really put this to the test.
What would explain significant drift in alt hold, but not in Stabilize?
For the heck of it I did check level on the arms since these are made of wood and G10. The Y6 arms are definitely not level to one another due to the somewhat flawed nature of the FliteTest Electrohub Y6 design. This seems to explain the instability I am finding, but this does not explain (to me) how it could fly fairly OK in Stabilize yet drift so radically in alt hold. What do you think?
There is something else going on here because Alt Hold and Stabilize use exactly the same roll pitch controllers and settings. They are literally identical.
The only difference between Stabilize and Alt Hold is the throttle control. Maybe the increased throttle variation in Alt Hold is causing the problem. This might happen if your CG is not correct and you have coupling between your throttle and your pitch axis for example.
Does your copter drift in a particular direction each time?
I haven't seen any activity on this effort in a while. Is there anything we can do with our tricopters to help with your efforts?
On the tail wag issue I've seen two types on my tricopter - a slow wag which I would very much like to eliminate and a ringing type of oscillation that I've sometimes seen. I wasn't which type of wag is affected by center of gravity on the motor with the servo control.
It would be a pleasure to help you test the upcoming tricopter code changes. I own a small tricopter ( quanum trifecta ) and I´m struggling to have authority over yaw without tail wag side effect.
Autotune on yaw was unable to help me. It ends with DATA_AUTOTUNE_REACHED_LIMIT ev code which I was unable to figure out why/what it means.
With proper settings its gone.
Check ArduPilot Discourse forum I've posted there settings to adjust back a few months ago.
David Jones said:
Hi, hope it's not too late to contribute to this thread, did the 3.4 release improve the yaw wag at all?
I am still on APM 3.2 , I get a small amount of wag, it's hardly noticeable live and I've often thought I fixed it, only to be disappointed by the hd video playback.
However I have seen tricopter video from other people with very similar setup to me with different controllers, and indeed I didn't used to get the problem with kk2 board.
I believe one solution could be to control the acceleration of the servo movement.
It's the sudden shift of the weight of the motor that initially nudges the tricopter the opposite way before the thrust moves it the correct way as many people have already mentioned.
That equal and opposite reaction isn't caused by speed of movement but by the acceleration of the movement.
If the servo acceleration was controlled, so the it 'ramped' up to speed instead of jerking rapidly from once position to another especially when changing direction, it should prevent the problem.
I at first thought doing this might cause servo reactions to be too slow, but thinking about it further we'd only need to reduce acceleration a very small amount to have an effect.
Mine is at the moment is pretty close
it was actually gone in AC3.3
sorry, I forgot which forum was it where I wrote the prams to adjust. I will get home tonight and hopefully will have time to go through the settings on my AC3.4 tri.
basically, the reason for that wag were AC default yaw settings.