I'd like to add support for the rover using reverse in auto mode, so if it can get somewhere faster by going backwards it will. So I'm looking at how reverse is setup in the ArduRover code, and wondering what the best way to handle it is from a user point of view.
On my rover the motor goes in reverse with a PWM below 1500, and forward above 1500. So I setup RC3_MIN=1000, RC3_MAX=2000 and RC3_TRIM=1500. I then setup my transmitter to have a "reverse" switch that changes the throttle from going between 1500->2000 and 1500->1000. That seems to work quite well for manual driving.
The question is how to handle it from a setup point of view with the parameters. I think we'll need a REVERSE_SUPPORT parameter, which you would need to enable for the auto navigation to try to use reverse. If enabled then auto would have the option of driving backwards by setting a negative throttle, which would give a value below the RC3_TRIM value.
Does that seem like a good approach? Any other suggestions for supporting reverse?
Cheers, Tridge
Replies
On my rover I have throttle setup as follows in the esc :
When going forward and then taking throttle down below neutral = brake (proportionally with negative throttle). Going back to neutral (without giving positive throttle) and going again negative makes the rover backup (at limited speed).
@Rud,
Any bigger pictures? Just saw the little one of your Avatar.
So you run a pair of the 18V15 boards? USB interace? Must make it harder to sync. OK, I see 4 interfaces available. But you'd still need a pair of interfaces?
Alan
Yes, the Pololu motor drivers are useful. Which one(s) are you using? What are the voltage/current ratings of your motors? Probably similar to my RoboClaws. I think these may be better then using an ESC.
Thomas seems to be on top off all of these drivers and ESCs!
Alan
It sounds like you might want to have user selectable options for reverse since how the esc or motor controller handles it seems to vary greatly. We could select the number of seconds or delay, etc...
I am not familiar with the electronics generally being used for rovers amongst this group so I don't mean to misstep here.
I am using robotics controllers from Pololu - Simple Motor Controller. They have RC input for control - along with analog and USB serial input. All of those inputs automatically handle forward and reverse. For RC input that is short pulse full reverse and long pulse full forward. The parameters can be tuned and adjusted for the RC TX & RX being used. It also can be setup to handle differential steering directly or through mixing two RC channels. I would think following the model of these controllers would be a good design.
The controllers also handle the full forward to full reverse problem by braking and acceleration / deceleration rate options. That helps keep the controllers from burning up, also.
Rud K5RUD
Your rover looks really good. Very similar to DPA, but still distinctive.
Regards,
TCIII
Another View
Alan
@Thomas,
So it would be easy to use the MINDS-i setup, as you have. I have a 5A Roboclaw running in a little table top sized 'bot, but I haven't ran it for a while. Worked OK. Complaints about the 30A frying, I know the author. I've got my fingers crossed for the 15A.
DPA seems to like using all sensors (odometry included) on his 'bots. I'll use a Blackfin Camera after I get within the waypoint circle.
But I've got a bigger problem now. I got my 'bot loaded up to take some pictures this morning, and the shocks aren't supporting all the weight (even without the ITX). I know they adjust, I'm trying to find a comment DPA might have made on the shocks/springs a while back.
Alan
Hi,
Just some thoughts on reversing.
Recording an accurate 'Snail Trail' on a complicated competition course or in free running is as important on the ground as in flight. Being able to 'reverse' along that trail is probably more important with the UGV rather than a return to base flight option.
Is being able to reverse the 'Snail Trail' a possibility with the setting up of the REVERSE_SUPPORT parameter?
Kind Regards,
Derek