Go to Post Frank is frank, and I like that. - rsisk [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #46   Spotlight this post!  
Unread 10-02-2004, 21:38
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
Re: Desensitizing Joysticks

Wouldn't a hyperbola work? not the regular kind; try Y=sqrt(R^2+X^2)-R. basically, close to zero, it's a curve, but farther away, it's close to linear. Excel that and try it. But it won't reach maximum value ever. A coefficient would be necesary. R is the value at zero.
  #47   Spotlight this post!  
Unread 10-02-2004, 21:39
Rhs953's Avatar
Rhs953 Rhs953 is offline
Revenge is near...
AKA: Mike
#0953 (Illumanati)
Team Role: Engineer
 
Join Date: Jan 2004
Location: Reno
Posts: 99
Rhs953 has a little shameless behaviour in the past
Send a message via AIM to Rhs953
Re: Desensitizing Joysticks

Take out the set screw in the joystick. It should spin like the wheel on the robobt.



I didn't break it!
  #48   Spotlight this post!  
Unread 10-02-2004, 23:01
deltacoder1020's Avatar
deltacoder1020 deltacoder1020 is offline
Computer Guy
AKA: Dav
#1020 (The Indiana Prank Monkeys)
Team Role: Programmer
 
Join Date: Jan 2004
Location: Muncie, Indiana
Posts: 340
deltacoder1020 has a spectacular aura aboutdeltacoder1020 has a spectacular aura about
Send a message via AIM to deltacoder1020
Re: Desensitizing Joysticks

Quote:
Originally Posted by Astronouth7303
Wouldn't a hyperbola work? not the regular kind; try Y=sqrt(R^2+X^2)-R. basically, close to zero, it's a curve, but farther away, it's close to linear. Excel that and try it. But it won't reach maximum value ever. A coefficient would be necesary. R is the value at zero.
plenty of mathematical forms work, just pick one.
__________________
Team 1020, the Indiana Prank Monkeys (www.team1020.org)
  #49   Spotlight this post!  
Unread 16-11-2004, 16:26
marccenter's Avatar
marccenter marccenter is offline
Registered User
FRC #3548 (RoboRavens2)
Team Role: Coach
 
Join Date: Sep 2004
Rookie Year: 2004
Location: Royal Oak
Posts: 406
marccenter has a spectacular aura aboutmarccenter has a spectacular aura about
Thumbs up Re: Desensitizing Joysticks

Quote:
Originally Posted by Scooter
What we use is a exponenetial function. This simply shifts the power curve out some while still retaining full power at the edges. Instead of it being completely linear, it follows a curve (that looks suspiciously like a cubic function). At 50% joystick travel, you may only have 33% motor output, but at 100% joystick travel, you have 100% motor output.

Another technique that I learned from flying R/C Heli's is to grip the joystick at the bottom with just a few fingers....This helps to make movements less extreme....they only downside is that it is a little tuffer to get to the buttons...The advantage is that the movement comes from the fingers instead of the arm and wrists, and it affords you alot more accuracy.

Bill
I am new to Chief Delphi forum but recommend that you add one more
bit of functionality - a rate limiting function. The exponential curve via
table lookup solves one problem but not the problem of quick changes
in torque. If you use both methods simultaneously, it can help to
solve range/resolution issues associated with Joystick input to pwm0x output,
and torque/speed transitions from positive/negative to negative/positive.
__________________
Marc Center
FIRST FRC Mentor/Coach - Team 3548 Royal Oak RoboRavens#2 - on Sabbatical 2017 season
marc.center@gmail.com
Mobile: 248-255-7377
  #50   Spotlight this post!  
Unread 16-11-2004, 18:57
Gusman1188 Gusman1188 is offline
Registered User
FRC #0870
Team Role: Programmer
 
Join Date: Jan 2003
Rookie Year: 1930
Location: S
Posts: 43
Gusman1188 will become famous soon enoughGusman1188 will become famous soon enough
Re: Desensitizing Joysticks

Quote:
Originally Posted by KenWittlief
I dont understand how putting a deadband around 127 will make the joystick less sensitive

in fact, your bot is going to lurch when the joystick is moved just outside the deadband

dividing the joystick variable by two, and then correcting the zero point by adding 64 - makes the full forward or full right... positions of the joystick equal to half forward, or half right... making the entire motion of the joystick less sensitive

and making it easier to make fine control adjustments to the motion of the machine while driving - ie when you want to manuver to capture a ball, or position the robot precisely on the field.

Looking back on this post, the reason we did this was because our joysticks didn't stay exactly centered and you would have to re-adjust the trim 85 billion times in a match if we used those joysticks.
__________________
Team R.I.C.E. 870

2006 SBPLI Regional Winner
2006 SBPLI Imagery Award
2005 SBPLI Regional Winner
2004 SBPLI Xerox Creativity
2003 SBPLI Regional Winner
2003 CT J&J Sportsmanship
2003 SBPLI KPC&B Entrepenuership
2002 SBPLI Rookie All-Star
  #51   Spotlight this post!  
Unread 16-11-2004, 19:12
M. Hicken's Avatar
M. Hicken M. Hicken is offline
Where am I?
AKA: I AM PACO
#0219 (Team Impact)
Team Role: Driver
 
Join Date: Jan 2004
Rookie Year: 2002
Location: Washington, NJ
Posts: 158
M. Hicken is a jewel in the roughM. Hicken is a jewel in the roughM. Hicken is a jewel in the rough
Send a message via AIM to M. Hicken
Re: Desensitizing Joysticks

im not a fluent programmer. im learning java in class. but our programmer wrote in a zeroing button on the control board after the joysicks being a pain and never going back to zero. big mistake, the joysticks hold a value, i forget what it is, and after a while the values become off due to the mechanics of the stick. The zero button made the robot very hard to drive,if you zero it while its not PERFECT, the handling falls apart.


just sharing an experience
__________________
If duct tape isnt the answer you're looking for, you're asking the wrong question

There is no such thing as a stupid question, there are just a lot of inquisitive idiots
Personal rookie year: 2002
Team Impact 219: 1998
  #52   Spotlight this post!  
Unread 16-11-2004, 19:28
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
Re: Desensitizing Joysticks

Quote:
Originally Posted by marccenter
I am new to Chief Delphi forum but recommend that you add one more
bit of functionality - a rate limiting function. The exponential curve via
table lookup solves one problem but not the problem of quick changes
in torque. If you use both methods simultaneously, it can help to
solve range/resolution issues associated with Joystick input to pwm0x output,
and torque/speed transitions from positive/negative to negative/positive.
In programmer terms? Do you mean a loop to change the speed only so fast?
  #53   Spotlight this post!  
Unread 16-11-2004, 21:15
scitobor 617's Avatar
scitobor 617 scitobor 617 is offline
More nerd than you can handle!
AKA: Alan Meekins
FRC #0617 (HSHS 617 "DUKE")
Team Role: Programmer
 
Join Date: Nov 2003
Rookie Year: 2003
Location: Richmond, VA
Posts: 153
scitobor 617 will become famous soon enoughscitobor 617 will become famous soon enough
Send a message via AIM to scitobor 617
Re: Desensitizing Joysticks

Quote:
Originally Posted by Gusman1188
Looking back on this post, the reason we did this was because our joysticks didn't stay exactly centered and you would have to re-adjust the trim 85 billion times in a match if we used those joysticks.
My team had a similr problem. To correct it I wrote some code that would center the joysticks when a button was pressed. It would consider the current position of the joystick the center. It worked by finding the difference between true center and that position and always adding it to the output for the motors. It worked well on our robot and should not be to hard to edit for your robot.

P.S. If you would like the code PM me. The program was a little rushed so it was a tad buggy, nothing too major, but I'm sure with a little work they can be worked out.
__________________
Beta testers needed!
http://www.nullagent.no-ip.com

Your kidding, there are other operating systems besides Linux?!
  #54   Spotlight this post!  
Unread 17-11-2004, 14:31
Mr. Lim Mr. Lim is offline
Registered User
AKA: Mr. Lim
no team
Team Role: Leadership
 
Join Date: Jan 2004
Rookie Year: 1998
Location: Toronto, Ontario
Posts: 1,125
Mr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond repute
Re: Desensitizing Joysticks

Quote:
Originally Posted by bob1million
My fellow programmers and I have tried many different ways to desensitize our joysticks, but none of ways work very well. Does anyone know a good way to desensitize them?
It seems the problem is big enough to cause some serious thread resurrection.

Here was Team 188's solution to sensitive joysticks for 2004 courtesy Carol, Honson, Tristan and myself:


Code:
temp_p1_long = (signed long)p1_y - 128;
pwm01 = (unsigned char)(((temp_p1_long * temp_p1_long * temp_p1_long)  >> 14) + 128);

temp_p2_long = (signed long)p2_y - 128;
pwm02 = (unsigned char)(((temp_p2_long * temp_p2_long * temp_p2_long)  >> 14) + 128);
make sure you declare temp_p1_long and temp_p2_long as signed long beforehand.

In a nutshell, it's a cubic transfer function that makes the robot accelerate exponentially when you push the joystick. There's a nice wide area to operate slowly, yet full speed is still there when you push it all the way.

We spent a few days testing different transfer functions, and this one worked out the best.

It's pretty CPU intensive (multiplying long integers), and a look-up table would be faster, but try it for a quick and dirty way to get things working smoothly. You can generate a look-up based on the code later on.

Cheers!

-SlimBoJones...
  #55   Spotlight this post!  
Unread 24-11-2004, 18:21
tribotec_ca88's Avatar
tribotec_ca88 tribotec_ca88 is offline
FIRST-a-holic
AKA: Camila Fitzgibbon
FRC #1382 (Tribotec Team)
Team Role: Student
 
Join Date: Jan 2004
Rookie Year: 2004
Location: São José dos Campos, Brazil
Posts: 194
tribotec_ca88 is just really nicetribotec_ca88 is just really nicetribotec_ca88 is just really nicetribotec_ca88 is just really nicetribotec_ca88 is just really nice
Send a message via ICQ to tribotec_ca88 Send a message via MSN to tribotec_ca88 Send a message via Yahoo to tribotec_ca88
Exclamation Re: Desensitizing Joysticks

Absolutely...our team also realized the joysticks provided by FIRST proportionalize poor handling...Don't know if you'd had a look at the white papers on this website yet but team 1382's written one about the advantages of converting the linear curve of the joystick into an exponential one (and includes source code). I guarantee it'll give you some ideas...
Link:
http://www.chiefdelphi.com/forums/pa...le&paperid=280
__________________
1382 Tribotec Team - Brazil
-----------------------------------------------
2005 NJ Regional GM Industrial Design Award
2005 NJ Regional Website Excellence Award
2004 NJ Regional Semifinalists
-----------------------------------------------
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Programming joysticks NoRemorse Programming 29 24-02-2004 20:26
number of joysticks doy Rules/Strategy 5 01-02-2004 00:05
Team 524 has Team 362's spare joysticks from last year. archiver 2001 0 24-06-2002 02:36
Could use some help with joysticks . . . archiver 2001 5 23-06-2002 23:36
Calibrating speed controllers and joysticks thedillybar Technical Discussion 4 11-02-2002 13:24


All times are GMT -5. The time now is 05:21.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi