Go to Post That statement makes far too much sense for me to understand it. - Aignam [more]
Home
Go Back   Chief Delphi > Technical > Technical Discussion
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
  #1   Spotlight this post!  
Unread 18-01-2003, 23:51
Ralph Lambert Ralph Lambert is offline
Mentor - Team 1094
None #1094 (Channel Cats)
Team Role: Mentor
 
Join Date: Dec 2002
Rookie Year: 2002
Location: O'Fallon, MO
Posts: 37
Ralph Lambert will become famous soon enoughRalph Lambert will become famous soon enough
Stick Saturation

I noticed that our stick outputs max out at 0 and 254 long before the stick reach their mechanical stops. It appears that their is a mismatch between the actual stick output and the a/d scale factor. Is this normal? Is there anything that can be done to get variable stick output over the full range of the stick movement?
  #2   Spotlight this post!  
Unread 19-01-2003, 14:54
Andrew Rudolph's Avatar
Andrew Rudolph Andrew Rudolph is offline
Git 'em!
no team (Robot in 3 Days)
Team Role: Mentor
 
Join Date: May 2001
Rookie Year: 2000
Location: Orlando, FL
Posts: 921
Andrew Rudolph has a reputation beyond reputeAndrew Rudolph has a reputation beyond reputeAndrew Rudolph has a reputation beyond reputeAndrew Rudolph has a reputation beyond reputeAndrew Rudolph has a reputation beyond reputeAndrew Rudolph has a reputation beyond reputeAndrew Rudolph has a reputation beyond reputeAndrew Rudolph has a reputation beyond reputeAndrew Rudolph has a reputation beyond reputeAndrew Rudolph has a reputation beyond reputeAndrew Rudolph has a reputation beyond repute
Send a message via AIM to Andrew Rudolph
Make sure your victors are calibrated correctly that might be the problem.
__________________
iR3 Creative Engineering
Robot in 3 Days

FTC 6323 The Pink TeamMentor
FTC 8996 Pink Fluffy BunniesMentor
FRC 233 The Pink Team Mentor
FRC 1902 Exploding Bacon Mentor
  #3   Spotlight this post!  
Unread 19-01-2003, 15:20
Ian W. Ian W. is offline
College? What?
no team (Gompei and the Herd)
Team Role: College Student
 
Join Date: Jan 2002
Rookie Year: 2002
Location: Worcester, MA | Smithtown, NY
Posts: 1,464
Ian W. is a name known to allIan W. is a name known to allIan W. is a name known to allIan W. is a name known to allIan W. is a name known to allIan W. is a name known to all
Send a message via AIM to Ian W.
i noticed the same problem with one of our new joysticks. my solution, rip the ones off of last year's controls and use those. of course, that doesn't work if you're a rookie team. in that case, i would suggest finding an old joystick that has a gameport hookup, and using that. we tried that also today, worked fine. but yeah, the joysticks have some sort of defect this year, and as you cannot alter them in anyway, well, leaves you with one choice, which is to buy new ones
__________________
AIM --> Woloi
Email --> ian@woloschin.com
  #4   Spotlight this post!  
Unread 19-01-2003, 23:21
virusmirusne virusmirusne is offline
Registered User
#1083 (The Crew)
 
Join Date: Jan 2003
Location: Orlando, Florida
Posts: 23
virusmirusne is an unknown quantity at this point
Send a message via AIM to virusmirusne
Here's what I was thinking today in relation to the whole problem of maxing out too quickly on the diagonal throws-

The points outside the unit circle don’t appear to mean anything. All of the acceleration is done within the radius of the circle in any direction. When the joystick reaches the outside barrier of the circle, one of the motors is going to be going at full. The purpose of the MIN and MAX in the code is to ensure the PWMs are not fed false data. They accept input from 0-254… but the distance traveled to the corner of the joystick box is going to be longer than the distance of the throw straight up or straight back. If this were any different, the acceleration would be inconsistent. It seems to me that this unit circle idea must be central to any code written dealing with the acceleration of the motors. Basically the PWM has accelerated to its full speed after it travels a distance of 127. This happens at (x,y) = (sqrt(2)/2, sqrt(2)/2), (on 45 degree angles off the 127-axis) because the joystick is traveling in the diagonal motion... it has gone the equivalent of the distance between (127, 127) (127, 254) before it reaches the upper-right-hand corner (254, 254). The same goes for any of the extremes.
  #5   Spotlight this post!  
Unread 20-01-2003, 07:49
Ralph Lambert Ralph Lambert is offline
Mentor - Team 1094
None #1094 (Channel Cats)
Team Role: Mentor
 
Join Date: Dec 2002
Rookie Year: 2002
Location: O'Fallon, MO
Posts: 37
Ralph Lambert will become famous soon enoughRalph Lambert will become famous soon enough
Yes, I see what you are trying to do but the fact remains that if you think of the top of the stick operating in a square or a unit circle, the physical movement of the top of the stick is about + or - 3 inches in the x and y directions and the a/d appears to be saturating when the stick is outside of a box that is about + or - 1.5 inches. All the stick motion outside this smaller square does not change the value of the stick position as seen by the program. That does not make for a very controllable situation.
  #6   Spotlight this post!  
Unread 20-01-2003, 08:42
Lloyd Burns Lloyd Burns is offline
Registered User
FRC #1246 (Agincourt Robotics)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1997
Location: Toronto
Posts: 292
Lloyd Burns is an unknown quantity at this point
The Flightsticks are a very good joystick, but reaching 254 before reaching the UL corner of the rectangle means that they can get to 254 at all. All potentiometers have a conductive portion from the ends of the high-resistance element to the connecting lugs. In the joysticks, the conductive (or low resistance) portion is longer, so that if the joystick goes 75 degrees, the high-resistance portion corresponds to, say 60 degrees.

Without having say, 5 degrees of "no change" at the extremes of rotation, after the trimwheel has been adjusted for the connected circuit's idea of neutral, the stick might have to go farther than the "box" to reach 0 or 254.

It makes little difference in most applications, but if you are worried, you might make your own joystick like the one I made for my Apple ][+. Use a geared-up regular pot with a handle. You'd need gearing to compensate for the disparity between the approx 90 degree travel of a joystick, compared with the approx 270 degree rotation of the pot, or you'd lose range.
  #7   Spotlight this post!  
Unread 20-01-2003, 09:16
virusmirusne virusmirusne is offline
Registered User
#1083 (The Crew)
 
Join Date: Jan 2003
Location: Orlando, Florida
Posts: 23
virusmirusne is an unknown quantity at this point
Send a message via AIM to virusmirusne
But here's the thing... On a diagonal, the joystick will have traveled the distance between neutral and full forward at the point (217,217)... What if you were to work out a drive-system equation based on the distance of the stick from neutral? I was thinking about it... the computer operates based on powers of two... it seems like you could make the FIRST controller calculate square roots and things fairly quickly.
Attached Thumbnails
Click image for larger version

Name:	acceleration circles.jpg
Views:	99
Size:	38.3 KB
ID:	934  
  #8   Spotlight this post!  
Unread 20-01-2003, 09:24
virusmirusne virusmirusne is offline
Registered User
#1083 (The Crew)
 
Join Date: Jan 2003
Location: Orlando, Florida
Posts: 23
virusmirusne is an unknown quantity at this point
Send a message via AIM to virusmirusne
In regards to the flightstick... have you guys noticed your joysticks behaving backwards?

PWM1 = (((2000 + p1_y - p1_x + 127) Min 2000 Max 2254) - 2000)
PWM2 = (((2000 + p1_y + p1_x - 127) Min 2000 Max 2254) - 2000)

The thing is, though... that formula won't work when calculating with theoretical values... But when plugged into the program it works like a charm... We did one of these:

relay1_fwd = off
if p1_x< 200 then dumb
relay1_fwd = on
dumb:

relay1_rev = off
if p1_x> 100 then dumber
relay1_rev = on
dumber:


And sure enough, the joystick reads for values less than 100 when you push to the right and greater than 200 when you push to the left.
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
1 stick drive to 2 stick drive wayne 05 Programming 18 01-04-2004 16:41
one stick drive Hendrix Programming 3 14-02-2003 20:53
SHU measuring stick sanddrag Rules/Strategy 13 08-01-2003 21:23
Flight Stick Clarification archiver 2001 2 23-06-2002 23:52
A stick is to rock as a bat is to a.... archiver 2001 2 23-06-2002 22:34


All times are GMT -5. The time now is 00:33.

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