View Single Post
  #30   Spotlight this post!  
Unread 03-02-2004, 20:02
bob1million's Avatar
bob1million bob1million is offline
Registered User
#0825 (Swivvey-gus Maximus)
Team Role: Programmer
 
Join Date: Jan 2004
Location: Pearisburg
Posts: 7
bob1million is an unknown quantity at this point
Re: Desensitizing Joysticks

Quote:
Originally Posted by WillyC
I've got to agree with Ken on this one. This deadband approach will make the joysticks more sensitive, because the motor output is proportional to the joystick deflection. If you ignore the stick input unless it's greater than 135 or less than 119, then as the stick moves out of the deadband and starts the motor moving, the motor's smallest non-zero speed is even faster than without the deadband. The result will be jerkiness as the bot starts moving.

Ken's solution sounds good, and is obviously more efficient than what I'm about to suggest here. I haven't tried my idea on the bot yet, and I'm a little sketchy about putting a lookup table of any size into the user routine because I don't want to slow it down too much. But here's the principle: make a slightly non-linear lookup table to de-emphasize the stick input near neutral, but not near the max/min. I've attached an example of the kind of curve I'm thinking of. Notice that near 127, it "dumbs down" the stick input to drive the motors slower and make the sticks less sensitive, but near the high or low end of the input it looks almost linear to make the driveability at high speeds feel pretty normal.

Try it out and let me know what you think! Like I said, I haven't tried this on the bot yet...

EDIT: I just changed the .xls to a zipped up .xls.
This works great on our bot, everyone from SWVGS Maximus thanks you.
We used a switch statement and it did not slow down anything. It is a big improvement from what we had.
__________________
"Death smiles at us all, all a robot can do is smile back."

Last edited by bob1million : 03-02-2004 at 20:13.