I’ve been trying to see if there’s a way to improve our team’s driving on the hardware side. We’ve been using an xbox 360/xbone controller for a few years, but looking at the controller inputs, some controllers are limited to a circular range of values while others use the full square.
For example on a joystick if you move the stick to the 45 degree position, because the stick has a circular range of movement, you should get a vertical and horizontal value of √2/2, but some controllers give you 1,1 for the values.
I don’t know if other controllers provide a benefit compared to the 360 controller, so my question is: those of you who have used several different controllers, what have you seen to be the best one and for what reasons?
I was thinking a good kind of controller would be one that has joysticks similar to RC controllers because they have a mechanism to limit the sideways movement of the stick, but I’m not too sure what they’re called so I can’t search it up too well.
we use two flight stick for each side of our tank drive robot. they give a great control range and a high degree of control. we have a secondary driver with an xbone that controls the functions. two sticks might not work for mechanum or swag drive, but you could probably make it work
3 flight sticks (2 Logitech Attack 3 sticks and one Logitech Extreme 3D Pro) and an Arduino powered lightswitch for toggle stuff. (This year, it made our climber go faster)
To answer your question about limiting sideways movement, we don’t have one, but I’ve seen a team use two pieces of plastic bolted to the stationary part of the stick to limit sideways movement.
Our most common is the Logitech joystick. Last year, we used a HOTAS (hand on throttle and stick) for roughly $40, and that worked well. Generally, our operator’s used the Xbox 360 controller, but this year, we built a custom button panel (5 arcade buttons, 2 toggle switches, and 1 big Easy button), which was much easier to use (I was the operator).
I honestly recommend the Logitech joysticks for driving.
We go back and forth between twin Logitech sticks and xbox 360. This year, we actually programmed both, and let the driver pick. Josh drove competition with Logitechs, but we’ll do some tests and demos with the xbox for convenience.
As for limiting the sideways movement, would it be enough to program the joystick so that it clips all values on the horizontal axis to (for example) -0.3,0.3]?
We use 3 “Logitech Attack 3” sticks. We have two joysticks on the right for driver 1 (tank drive) and one on the left for driver 2 (gear pickup and lift functions). All of these are Velcro’d to a drivers station that can be easily carried from the cart to the field.
We have a pretty basic setup compared to some. They can get pretty sofisticated. It really depends on your drive train.
I can put up our actual arcade drive code - we actually utilized this to limit sideways motion. It was interesting, as our joysticks were square, and they needed to be normalized to a diamond of values (just linearly divide to get the point on the edge of the diamond with the same linear/rotational relationship).
We also did use deadbands (0.25) for the turning when going at full speed. When using our 1/3 speed, turning had no deadband. All of this was tuned from constant feedback from our driver, which made it perfect for him to drive. But I’m getting off track…