Pivoting speed parameter & arming via transmitter

Just summoned a topic in the wrong place, I think that this is the correct place.

Would be nice to have a parameter to control the pivoting speed, as stated in this post by @khancyr Skidsteering more "throw"?

Also for “tank” Rovers is quite problematic to use the arming/disarming via transmitter sticks, as it can result in pivoting, is it possible to implement an transmitter arming switch?

Hello,

Did you have test the lastest beta ? Normally, the control should be better.

Yes indeed! We tested the beta this morning, it’s true that it turns better, but still are having issues when pivot turning, when the rover is with ist payload it results in not beeing able to pivot.
Shall it be a problem to include that parameter in the beta/next release? as we are having problems with pivoting too slow, other people could be having problems pivoting too fast and may want to change that “50% pivot turning speed” into something slower.

please please please

Can you share a picture of your rover or video, and maybe its weight and motor type !

We previously remove the limit on on-spot turn but it was breaking light vehicle, so we revert back. I will see to make a parameter for this.

I’ve moved this to the Rover-3.2 category, 'cuz I think this is the beta testing firmware being used.

By the way, do you have wheel encoders? I think if we added a low level PID controller to ensure the wheels turn at the desired speed this problem would be solved. That’s not the only solution of course but it’s another possible solution.

I will be testing in the field tomorrow morning (Spain +2CEST) and would send vids later.

1 Like

Thanks for moving this to the appropriate place, yes, this is beeing tested with the 3.2 beta. No wheel encoders, and I think those could not be a good solution since the vehicle is designed for arable land, where it can slide a little.

Also, I feel like requesting too much from you guys, I will be very glad to test anything you want with this little big thing.

Low level PID using wheel encoder would be the best solution. With this control loop, the propulsion system would follow the speed commands based on encoder “ticks”, and adjusting the power (pwm) to the motor to compensate for the different load condition : friction, weight, slope, etc

1 Like

I might add that we had this discussion here: https://github.com/ArduPilot/ardupilot/pull/6588

1 Like

I actually agree with @ppoirier, wheel encoders are always a good thing to have. I think there a difference between whether we use them for estimation and/or control. So in cases where there’s a lot of wheel slip using them for position estimation won’t work well but for control, it could help a lot still. Basically it just gives us very fast and accurate info on how fast the wheel is moving.

Anyway, I’ll discuss with @khancyr about what to do about the non-encoder pivot power issue. I have to say that it’s a little tricky to do it well (doing it badly is not hard) 'cuz what we’re doing is increasing the steering gain as the vehicle slows. In our early 3.2-dev version the gain immediately and suddenly doubled when the vehicle was stopped vs moving even just a tiny bit.

Here we are again! finally with some vids! and also the param files.
170904_3_1_Stable.param (8.8 KB)
170904_3_2_Beta.param (11.1 KB)


sorry for the poor editing
In the video are shown the issues that we are facing, the turning “power” is not enough to turn in grass (and that is not an issue when 100% signal is sent to the ESCs without the pixhawk 2 in the middle).
Also we have observed that in the latest beta the pivot turning capacity is lost (may be due to a wrong parameter configuration!).

Hope that this could be implemented as @khancyr coded here , since it looks like the perfect solution for a potential group of rovers. Note that this parameter could also help vehicles that need not a faster turning speed but a slower one.

Also in the title of the topic is another request, about arming via switch, since the arming via stick is dangerous in this kind of vehicles (I shall say that arming via stick should be disabled or at least modified, since it could result in an accident).

Of course I would like to offer myself to make tests with the rover for any of your requests.

Keep rocking!

1 Like

Switch arming is in copter: https://github.com/ArduPilot/ardupilot/pull/5673
Adding that as a ch7_opt in Rover should be doable, but you’d loose waypoint learning and cruise throttle learning if you enabled it.
Have you put a feature request in GitHub (as an Issue)?
That’s the best way to make sure it can be tracked.

Haven’t gone to github yet, will do tomorrow, but I’m quite noob there, and I don’t like to mess around… xD
About the switch, is it possible to change from 7 to other switch? Learn waypoint feature is mandatory…

I think rover only has ch7_opt implemented, but to be honest I haven’t played with rover much.
In copter you have more choice. There’s a lot of effort from Randy and Pierre on Rover at the moment, so I may be behind on what is coming.
I think putting the feature request in GitHub is a good first step.

For the Rover Stable release Skid Steering Rover’s have disarming by the transmitter disabled as it makes no sense. You should not be able to disable a skid steering rover via the transmitter with the stable release. You can however ARM a skid steering rover via the transmitter but as soon as its armed it will skid turn on the spot.

You can arm/disarm from a GCS command.

You can also configure the arming through the 2 parameters.
ARMING_CHECK 1.000000
ARMING_REQUIRE 1.000000
The first one runs the series of checks to confirm whether you should be able to ARM the rover but it just reports it.
The second one takes the report from the first parameter and won’t let you ARM unless that report is all ok.
I see you have both those turned off in your parameter files which isn’t wise.

Thanks, Grant.

I think we should make it so we can disarm from the transmitter while in HOLD mode. That’s should be safe and a pretty simple fix too.

1 Like