Sandbox
From Team1370
(Difference between revisions)
Line 24: | Line 24: | ||
==Exponential Output== | ==Exponential Output== | ||
*I reccomend using exponential output for controlling acceleration. In this situation, every joystick value x is given a value of (1/(127X^2)) + 127 to get y (or something similar). This particular equation will make it so that the robot quickly speeds up but accelerates more slowly as x increases. | *I reccomend using exponential output for controlling acceleration. In this situation, every joystick value x is given a value of (1/(127X^2)) + 127 to get y (or something similar). This particular equation will make it so that the robot quickly speeds up but accelerates more slowly as x increases. | ||
+ | |||
+ | |||
+ | |||
+ | ==Math for throttling== | ||
+ | ''Stick stuff here'' | ||
+ | |||
+ | if (Joystick = 255) | ||
+ | Joystick = 254; | ||
+ | if (Throttle = 255) | ||
+ | Throttle = 254; | ||
+ | |||
+ | pwm = ((Joystick - 127) * (Throttle) / 254) + 127; | ||
+ | |||
+ | |||
+ | The (Joystick - 127) means that the joystick value shifted so that it goes from -127 to 127. | ||
+ | |||
+ | The +127 at the end shifts the system back up to the 0 to 254 range. |
Revision as of 00:39, 12 February 2006
A workspace for temporary things
Contents |
Joystick Config
- Control values will range from 0 to 254.
- Each value corresponds to a specific motor speed on the robot. 127 is neutra, <127 is reverse, >127 is forward.
Motion
- Forward and backward motion will be achieved by cycling Joystick 1 and Joystick 2 forwards and backwards at the same time
- Turning will be achieved using a track configuration. Moving Joystick 1 forward at a higher rate than Joystick 2 will result in a left turn, and vice versa for right. Moving left forwards equal to right backwards will result in a 360 degree left turn and vice versa for right.
- The throttle will change the thrust multiplyer and/or additive.
Sensitivity
- Joystick sensitivity is a problem, but there are a few solutions
Linear Output
- We currently operate on linear output, where every joystick value x corresponds to motor value reception y plus or minus throttle setting z.
- Throttle can count as a speed shifter. If we have max and min output value limiting functions, we can shift the throttle to achieve a higher max forward speed and a lower max reverse speed and vice versa if necessary on the fly.
Exponential Output
- I reccomend using exponential output for controlling acceleration. In this situation, every joystick value x is given a value of (1/(127X^2)) + 127 to get y (or something similar). This particular equation will make it so that the robot quickly speeds up but accelerates more slowly as x increases.
Math for throttling
Stick stuff here
if (Joystick = 255)
Joystick = 254;
if (Throttle = 255)
Throttle = 254;
pwm = ((Joystick - 127) * (Throttle) / 254) + 127;
The (Joystick - 127) means that the joystick value shifted so that it goes from -127 to 127.
The +127 at the end shifts the system back up to the 0 to 254 range.