|
Re: paper: joystick sensitivity (gain) adjustment
I had fiddled with this off and on years before, but never really worked it out properly or had the time (or a spare robot) during build season. It's nice to see it formalized and posted here.
Just to make it clear (or correct me if I'm wrong), the X and Y are not the actual joystick numbers from the X and Y axis (eg, in y = x^3, axis x number doesn't produce axis y number), but the input and output from each direction, so really you should have two formulas:
AxisX_output = AxisX_input ^ 3
AxisY_output = AxisY_input ^ 3
The deadzone or band would be a separate calculation (at least programming-wise); a simple "if input is between -0.2 and +0.2 then Y= 0". Whilst doing it all at once would be elegant, it would be a nightmare to debug. Though looking at the graph for f(x)=x^3, in all practicallity the robot motors might not overcome robot weight at all under +/-0.3.
I wonder what the effect would be if a<0? That is, more power near zero (to overcome the robot weight) and leveling off at higher speeds.
In practice this would have to be adjusted to each individual robot; even similar robots (a prototype and competition robot for example) would have different results. Also adjust to the driver, as different drivers like different reactions. If the driver doesn't notice it, then it works!
|