|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Adjusting Sensitivity/Scale of Controls
Last year was the first year for our team. Due to this, we are not completely familiar with the code. Our robot is very sensitive to the joysticks that came with the kit and is hard to control in a productive manner. Very little changes have been made to the default code. We are wondering if anyone would be able to help us solve this sensitiviy problem. Is there a way to do this in the code? Is there a way to change the scale on the joystick so all the way forward isn't something like 255 but instead 100? We have been looking mostly at user_routines.c near lines 224 in the default code for a possible solution. Is this the right place to start or is there a different place? Any help would be appreciated.
Wyoming Aftershock |
|
#2
|
|||||
|
|||||
|
Re: Adjusting Sensitivity/Scale of Controls
I was searching for information on the IFI system over the summer, and I found this link: http://qin.laya.com/first/joystick.html
That code is in PBASIC (as used on the previous generation of controllers), but you probably should be able to rewrite it. (Chalk it up as a learning experience. ) Basically, that link teaches you how to set up the motor to speed up on an exponential curve, instead of linear. Slow when you start, but still full power when you push it all the way up.Hope it helps! |
|
#3
|
|||
|
|||
|
Re: Adjusting Sensitivity/Scale of Controls
Is there any way to adjust the scale also?
|
|
#4
|
|||||
|
|||||
|
Re: Adjusting Sensitivity/Scale of Controls
Quote:
Let us know if you need any help after that ![]() |
|
#5
|
||||
|
||||
|
Re: Adjusting Sensitivity/Scale of Controls
There is a lengthy thread about this in the Programming Forum:
http://www.chiefdelphi.com/forums/sh...722#post301722 The link I've included jumps directly to some code from Team 188 that you can try. Good Luck! |
|
#6
|
|||
|
|||
|
Re: Adjusting Sensitivity/Scale of Controls
Ive been looking at this problem, but rather than a software solution, I would be interested in a hardware solution. Ive been looking at using a potentiometer as a solution.
I would set up a resistor divider to get .5vcc from the OI and send that to pin 1 on the pot, the signal from the joystick would go to pin 3 and pin 2 would go to the input on the OI. That way the driver could adjust the scale quickly, from no scaling to locked at 127 I know the rules prohibit messing around inside joystick, but allow a custom control box, so I would think that a box in the middle would be in a bit of a grey area. Can anyone lend any clarification to this? I just think that why should we devote processor cycles to something that can be done in hardware so simply. Plus I'm more comfortable with electronics than coding, so I'm sure that plays a role in it too. |
|
#7
|
||||
|
||||
|
Re: Adjusting Sensitivity/Scale of Controls
Quote:
The wheel worked as a speed limiter which would scale the total range of the joystick down. Our reason for this was to demo the robot to children, and allow them to drive without fear of breaking things. I believe this code is UNTESTED, so programmer beware. However the concept alone should prove useful: Code:
temp_scale_long = (unsigned long) (p1_wheel * 3) >> 2 + 64; //So what if it's stepwise? (Just say no to floats.) temp_tankx_long = (signed long)p1_x - 128; temp_tankx_char = (unsigned char)(((temp_tankx_long * temp_tankx_long * temp_tankx_long * temp_scale_long) >> 22) + 128); temp_tanky_long = (signed long)p1_y - 128; temp_tanky_char = (unsigned char)(((temp_tanky_long * temp_tanky_long * temp_tanky_long * temp_scale_long) >> 22) + 128); pwm01 = pwm03 = pwm05 = Limit_Mix(2000 + temp_tanky_char + temp_tankx_char - 127); pwm02= pwm04 = pwm06 = Limit_Mix(2000 + temp_tanky_char - temp_tankx_char + 127); Hope this helps! -SlimBoJones... |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Controls for a Crab Drive | Ein | Control System | 22 | 26-01-2005 20:31 |
| 1992 Controls | Venkatesh | Electrical | 6 | 03-10-2004 22:04 |
| [FVG]: Controls Round C1 | Mike Ciance | FIRST-related Organizations | 18 | 29-07-2004 20:44 |
| [FVG]: Controls Round B1 | Mike Ciance | FIRST-related Organizations | 18 | 08-07-2004 09:32 |
| Monkey controls robot with thoughts | Jeff Rodriguez | Math and Science | 7 | 13-10-2003 14:29 |