View Single Post
  #5   Spotlight this post!  
Unread 23-12-2010, 07:59
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,040
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: paper: joystick sensitivity (gain) adjustment

Quote:
Originally Posted by Roger View Post
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
Correct. The X and Y are general variables. You can use this approach for any signal, not just the inputs from a joystick. For a 3-axis joystick, if you wanted to independently adjust the sensitivity for each axis, it would look like this:

X' = a1*X^3 + (1-a1)*X

Y' = a2*Y^3 + (1-a2)*Y

Z' = a3*Z^3 + (1-a3)*Z


Quote:
...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.
Yes, at higher values of the "a" parameter, you may not need to add deadband.


Quote:
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.
Higher gain near zero, lower gain at higher commands. Not recommended under normal circumstances. See the added purple lines in the attached graph*. Also, you'd have to add logic to constrain the output to the range -1/+1.


Quote:
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.
Yes, that's the idea.


*for some reason this thread does not allow me to attach the graph


Last edited by Ether : 23-12-2010 at 08:43. Reason: could not attach graph
Reply With Quote