From the PID graph it looks like the response is all from FF so Iād make these changes:
ATC_STR_RAT_FF 0.5 (was 1.4)
ATC_STR_RAT_P 0.15 (was 0)
ATC_STR_RAT_I 0.15 (was 0)
As Kenny suggested higher up in the discussion if tuning in Auto it would be good to test with longer straight paths. The reason is that the corners add a ton of disturbance so it makes it less clear if the speed and turn rate controllers are working well or not. Normally I recommend tuning the turn rate controller in Acro mode instead of Auto but I suppose using Auto keeps your hands freeā¦ the problem with using Auto though is that youāre only going to be seeing pivot turns so it is a very specific repetitive situation. I think using Acro will allow you to test out different turn rates and see the response and get closer to the ideal tune.
ā¦ anyway, maybe the param settings above will work a bit betterā¦
I have gone to another site where there is more space to see if I can find differences by having the waypoints more separated.
@rmackay9, about the parameters you recommended.
It turns out that any value less than 1 in ATC_STR_RAT_FF causes the vehicle to barely respond to turns or very very slowly. Check out the video. (with this parameter = 1)
I usually do the setup in ACRO but later do a batch of missions in AUTO so that later I can properly compare the graphs obtained.
In ACRO and with ATC_STR_RAT_FF between 0.5 and 1 the vehicle barely responds to turns.
If in acro ATC_STR_RAT_FF <1 the vehicle barely wants to turn on its axis.
I understand that in the graphs, as you indicate, there is a lot of overshoot, but āvisuallyā the vehicle needs almost an ATC_STR_RAT_FF >2.
@ktrussell , indeed with lower values of ATC_ACCEL (or ATC_DECEL) the vehicle seems not to āovershootā the waypoints. They were at 0.4 and now Iāve set them to 0.1
I show you some graphs with the values of the parameters to see if you can advise me on the next step:
I see that MOT_THR_MIN has been set to 20% which is the parameterās maximum recommended value. I guess you followed the instructions on setting Minimum Throttle? I suspect maybe you still couldnāt get the motors to spin at a low throttle percentage and this led you to set it to its maximum of 20. FYI, parameters can be set to values higher or lower than the recommended values from MPās full parameter list or full parameter tree screens.
For skid steering vehicles where pivot turns are important, I think you need to be careful with MOT_THR_MIN. Too high a value will almost certainly prohibit good pivot turns.
Iām wondering if some ATC_STR_RAT_MAX or ATC_STR_ACC_MAX clamping might be of value here? The desired rate jumps quickly followed by a somewhat slow ramp of achieved rate until the achieved rate accelerates and overshoots. Might that be improved by limiting the rate or acceleration in those parameters?
Hi,
Sorry for my late reply. I had my week holiday.
About MOT_THR_MIN ā¦ yes, I followed the instructions on setting Minimum Throttle but I got 20 value to spin all the motors.
I repeted again this and I can get 18.
One question, should spin all the motors or just one of each left and right side?
Anyway, then I thought maybe I had to calibrate ESC but I can not do it.
From Mission Planner I got this error.
I think MOT_THR_MIN should be set to the highest value possible where no motor movement is evident.
For testing purposes, you could try setting it to 0 and compare results.
You can follow the instructions for the ESC to calibrate it without using Mission Planner at all. As long as it powers up in calibration mode (usually by powering the Rover up with the transmitter throttle set to high), you should be able to get it done.
As I have not found a huge improvement I have tried again to improve the PIVOT_TURN.
I set it to ACRO and by simply rotating it on its same axis I try to adjust FF and P and I.
I think that at least in the graph it seems to be more in line with these parameters
Sincerely I begin to think that maybe the misadjustment is somewhere else because although I understand that the tuning process is tedious I never thought it would take so long to obtain a positive result.
Are you sure that I should continue in this line or do you think that maybe the gps+heading is the one that is not working well?
Thank you for your support and I certainly need some light so I donāt start to get desperate.
I think you should stick with the config that gives the best results above (e.g. WP_RADIUS = 1, MOT_THR_MIN=15).
The turn rate control looks pretty good in the picture above although weāre only seeing one turn rate (20deg/sec) and we canāt see the FF, P and I components of the output.
I think it would be good to test with some long segments (at least 10m, hopefully even longer) to see how good the navigation control is.
I think SCurves is coming in the not too distant future. It might still take a monthā¦ but surely not as much as two months.
@comodin, I donāt have much to add to what Randy is suggesting, but I am curious if you tried 0.9, 0.8, etc. for the WP_RADIUS, since 1.0 was pretty good, but a little short of the WP, and 0.5 went long (and a little crazy).
I usually try with values 0.1, 0.5, 1 and 2.
Maybe Iām very wrong but I always thought that if I have a RTK gps itās because I want cms accuracy so something > 0.1 would not be what Iām looking for.
My aim is to get the vehicle between plants that are on a terrain like this.
So wp_radius >0.5 would make it completely unfeasible.
However I see robots on the market that are capable of doing this and they are most likely based on Ardurover, donāt you think?
When I watch your or @Yuri_Rage videos I know that ArduRover is capable of doing this and therefore the reason I donāt do it yet is that Iām too clumsy
You have some more work to do for sure, and Iām not certain we can craft a 100% solution for you by discussion alone - thereās a process of discovery to be done on any new vehicle.
Your assumptions about WP_RADIUS and accuracy are a bit misled. Your rover is not making āpureā pivot turns. Though it may use skid steering, the screen captures show that it has a turn radius greater than 0, meaning that it does not pivot about a central axis between the wheels. If you want the vehicle to stop exactly on a waypoint and pivot to the next waypoint, you must first ensure that itās capable of rotating in place.
If the vehicle is incapable of making a zero-radius pivot turn like that, WP_RADIUS should be set to the turn radius of the vehicle, such that it intercepts the next course on the centerline (as it appears to do when you have a radius of 1m set).
I donāt understand this very well.
If I put the vehicle in MANUAL mode from the transmitter it is capable of rotating in central axis between the wheels.
Do you mean it should make a turn on its own axis in ACRO or AUTO mode?
First of all I must thank people like @Yuri_Rage, @ktrussell and @rmackay9 who make possible that technology is available to everyone including me who does not speak your language and that many times I have to resort to the translator to understand āexactlyā your words because otherwise it is very difficult to move forward.
I understand that I ājust startedā but my intention is to contribute and give back to the community all that you are teaching me so selflessly.
For example, your previous answer that I probably didnāt understand clearly what the WP_RADIUS parameter meant has made me think a lot and evidently you were right.
I ran some other tests this afternoon with much more space and these are the results.
The result was excellent and I was elated.
(However I donāt understand why there are those āspikesā in the graph but I will do a lot of research on how to configure PIDs in order to understand it.)
Then, without changing any parameter, I created a mission but with the nearest waypoints and I was very disappointed.