|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools |
Rating:
|
Display Modes |
|
|
|
#1
|
||||
|
||||
|
Re: Broken 360 controller needs a dead zone
360 controllers are notoriously bad when it comes to center-positions.
I've been on 3 teams the past 3 years, and with each team I've had to expend a lot of energy convincing students that XBOX controllers simply aren't as good as the Logitech Dual Action or F310 alternatives for FRC purposes. The values that XBOX controllers put out don't reliably return to center. You could add code to increase your deadband, but it takes away your useable resolution on your joystick. Most of your joystick movement in the middle will become useless. And if you compensate for it, you will ramp up from 0 to max over a very small distance, without much resolution. Driving an FRC robot is not like *most* video games: you don't jam your controls to full-blast in every direction if you actually expect to drive at a world class level. The difference between pushing a joystick forward 13% vs 14% is the difference between scoring/dropping a tube. Consider this when you take away all values between 0-30%, or increment by 5% because you are managing a huge deadband on your controller. I'd highly recommend one of the Logitech controllers mentioned. They tend to give nice clean numbers, and even recalibrate/center each time you plug/unplug them (which is why you should never touch the sticks while plugging them in!) The only drawback to the Logitech gamepads is that the stick motion has a circular profile. Great for drivers, because they feel really smooth whipping around the extents. But programmers need to compensate for the fact that they will never hit the "corners" of the XY-Cartesian plane. You may never hit full speed/power if you don't account for this. Or you could just tell your driver to drive tank-drive. That's a pretty good 5:00am solution to a joystick that uncontrollably drifts to the right. |
|
#2
|
||||
|
||||
|
Re: Broken 360 controller needs a dead zone
Actually, the stick profile on the logitech dual actions is square... or so the new ones are. they are very nice...
what I have tried and like is modding old original xbox controllers. they run on usb, so all one must do is chop the plug, and follow standard usb colors (ignoring the yellow wire) to add a usb plug/pigtail. FYI irt is one of the many examples of how an original xbox is really a PC with a different case. anyway, I personally solder and tape my cable slices for this... as long as one keeps the cable length well under 16' (no more than 14') and does a good job of soldering, they are generally pretty reliable. there are 3rd party drivers to run these; linux has it by default, redcl0ud has the windows driver (XBCD), and the xbox HID project covers mac. What i like about the old xbox controllers: 1. 2 analog triggers. good for racing games and fine control stuff 2. technically analog buttons... they are pressure sensitive from what the xbcd utility showed me. 3. cheap. my favorite one i did was a $3 used intec micro unit i found at a thrift store... it works great and really works well. they do center properly... another reason to keep modding the old kind i guess. I have driven robots with the modded xbox controllers... they drive nice. For driving holomonic systems (kiwi, killough, mecanum, crap, etc.), i prefer the dual action layout. links: XBCD windows driver: http://www.redcl0ud.com/xbcd.html Xbox HID for Mac: http://xhd.sourceforge.net/ Last edited by ratdude747 : 26-05-2011 at 07:12. |
|
#3
|
||||
|
||||
|
Re: Broken 360 controller needs a dead zone
Quote:
Quote:
|
|
#4
|
||||
|
||||
|
Re: Broken 360 controller needs a dead zone
i was comparing the old xbox controllers to the logitech controllers as a way to get both auto center of the logitech and the button features of the 360.
the analog buttons are used to adjust sensitivity... they are read in windows as boolean buttons but xbcd can adjust the sesitivity. |
|
#5
|
||||
|
||||
|
Re: Broken 360 controller needs a dead zone
I have also noticed that the xbox controllers that we used (knockoffs from best buy), auto-center themselves when initialized. We experienced this at competition when we turned turned on the driver station with the controller wire wrapped around the controller, holding one of the sticks off center. Then when tele-op started, the robot drove in a perpetual circle, really irritating as it turns out. I don't know if this solves any problems, but just some extra information.
|
|
#6
|
|||
|
|||
|
Re: Broken 360 controller needs a dead zone
As far as I can tell, HID joysticks in general, tend to use an initial value as the "zero" offset. Initial value is defined as when the HID device is opened. In the future, if there is time, you should unplug and replug the joystick with the correct center. If the match has already started, it may also be useful to hit F1, as this will force a joystick enumeration even though the robot is enabled.
Greg McKaskle |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|