|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||||
|
|||||
|
Re: Robot too sensitive. How do I fix this?
For a moment I thought you were going to say that you kept hurting the robot's feelings and that it couldn't take a joke.
For taking the robot out in public you can limit the maximum value that is sent to a PWM (and thus the maximum power to a motor) but that probably won't completely solve your problem of "human robot interaction", and will definitely make the robot appear slow and sluggish. What we do is build a "robot corral", out of 10' long 2x8 bolted together at the ends. If people stay out of the corral, then the robot (usually) won't hit them. If you build it out of 12' long 2x10, then the corral can double as the walls for a low-cost VEX/FTC playing field. See here for a photo. The spinning in circles issue could be many things. Here are a few questions to help come up with a diagnosis: 1) Can you make the robot go straight ahead and straight backwards if you are very careful with the joystick? (if not, then it may be an electrical or mechanical problem on the robot) 2) Did the robot once go straight? If so, what have you done to it since then? Did you put new code in to the robot? If so, what code did you put in... are you using EasyC pro? 3) Have you tried a couple of different joysticks? It is possible that the joystick you are using is damaged or worn. For that matter, what joystick are you using... the beige ones that come in the KoP? If so, have you been able to get an improved performance by adjusting the trim? Finally, you may be interested in searching for the term "deadband". You'll find threads like this one http://www.chiefdelphi.com/forums/sh...light=deadband that might help solve your problems. Jason |
|
#2
|
|||||
|
|||||
|
Re: Robot too sensitive. How do I fix this?
Create a step function. Also, create a wide base of 127. You could either do this
if (drive_left >127 || drive_left<150) drive left = 127; or create a funtion in which it takes the pwm value, splits it into 14 or 17 sections. Then it will return a number and that number could stand for a wide base of numbers: ex: (pwm01/17) = 14. 14 would stand for the value 236. If the answer came out to be 14.2, C and C++ cuts numbers so that equals 14. This is pretty much a step function used in math. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| This is how our robot vacations..... | Vince | General Forum | 12 | 11-07-2008 12:12 |
| Ball leak/How to fix | mindman13 | General Forum | 18 | 17-02-2008 17:57 |
| pic: This is how you know I love our robot. | bigboi146 | Extra Discussion | 9 | 28-02-2007 13:47 |
| So how would you fix this year's game? | AnonymousMan | General Forum | 6 | 09-01-2005 09:36 |
| Very BIG bug...Brandon, please fix this one ASAP! | IMDWalrus | CD Forum Support | 1 | 11-02-2004 22:42 |