There are many ways an operator can operate a robot, whether it be a joystick, multiple joysticks, some kind of gaming console remote, a keyboard or a mouse.
What do you think is the most comfortable, and intuitive driving setup out there, and why?
Currently we came to the conclusion that two joysticks is the best way at it: One controls the forwards/backwards robot movement, conveniently using the up and down joystick movement. Then, the second joystick would be used for turning, of course with left/right movement of the joystick itself.
For driving the drivetrain, I’d say this comes down to user preference. Most cases, there are so few controls that this driver really needs that you can drive with pretty much any* control setup. I prefer either two stick tank(each stick controls one side of the drivetrain) on two joysticks or one Logitech gamepad.
However, driving manipulators and other systems is a different question. Some teams prefer to use commercially available controls. The KOP joysticks or the Logitech Dual Action gamepads are very popular as controls. Some other teams prefer to create custom controls for the operator(buttons, knobs, or evenscale models ofthe system being controlled). Some teams(Us included) try a mix of both of those options. The operator controls are best tailored to the system being controlled.
My $.02,
Jeremy
*Under the 2011 control system, driving with a mouse or keyboard is not as easy to set up as joysticks or other controls. I’d say it isn’t worth the effort to get something like this working for robot control.
Our team has always used 2 joysticks to control our drive base. One joystick controls the right half of the robot. The other joystick controls the left half of the robot. I like this setup because (for me), it is easiest to understand. However, it is really up to the driver. Whatever feels most comfortable to them will probably yield the best performance in the end.
We use 1 logitech USB gaming controller for the driver, the the 2 duel action gamepads are used for our operators. Generally, the opps have more to control than the driver, and the driver can do a few extra things if they need to with said controller, though they usually should be focusing on the wheels.
That being said, I’ve seen almost any kind of mix match setup available, and I think that all of them work great with a little practice and hard work.
We have always used 2 joysticks as we feel it gives the most control. While the xbox controller is great for video games, it was designed for comfort and play for more than 2 hours at a time. For robotics we can use our entire arms while standing because the matches are only 2 minutes. As far as what the joysticks controll, we like to make each joystick control their respective sides when we are using 6 wheel drop or other tankdrive chassis. For Omnidirectional drive, we have the non-dominant hand control rotation and the other translation.
As far as I know, there is no universal ‘best’ robot operating setup.
A robot’s IO should be dictated by robot function and driver preference. Personally, I prefer two stick tank drive because it’s what I’m most familiar with and what I can drive the best with - but I noticed that some students struggle to drive with two stick tank. My suggestion is to try an array of different control arrangements until you find one that your drive team likes.
I haven’t spent much time with anything but 2 joysticks, but I’m planning on trying to use an Xbox controller. I thought about PS3, but we don’t have one on hand to play with, I’m not familiar with it like I am with an Xbox controller, and they have the worst triggers.
Since its such a small motion to go from full forward to full reverse on a gamepad vs 2 joysticks, it’ll take some getting used to for nice, fluid motion. Might try some tricks in code to help with that as well.
The best one I could think of would be a hologram in front of the driver with real-time tracking of where everything on the field is so that the driver can look at it at many angles and also be able to see things like the robot’s “target” where it is going. It would also have a display of things like how fast all the robots are moving and it would track the opponent drivers’ eyes to see where they are thinking of going next.
The second driver would have a similar display, except theirs would also have information available about each subcomponent of the robot and what part is likely to break next (this information would also be broadcast out to the pit crew).
And, of course, each of the these displays would be controlled by the drivers’ minds.
I definitely recommend using a pistol-grip RC controller for any skid-steer type robot. We originally went with it because we knew that the 2008 game would require a lot of driving, so naturally we felt an RC car type system would be best. As driver that year, it turned out to be far easier to learn and master than your standard 2 joystick system. I had plenty of experience with the latter system but as soon as I used the RC controller for a few minutes, I was completely sold on it. Pretty much every member on our team found it preferable to the traditional 2 joysticks.
For those wondering how the robot was controlled, the trigger determines the speed and direction of the robot while the wheel steers. In order to spin in place, one simply has to twist the wheel in the appropriate direction without pulling the trigger. It’s an incredibly intuitive system and well worth it if you have somebody who can modify the controller appropriately. Plus, walking up to the driver station with everything in that one small metal case makes you feel like some sort of secret agent!
So far we’re mostly using joystick driving and an Xbox/button set for operating. As coach though, I try not to limit the creativity of our very creative and zealous programmers. (Touch screens and Wiimotes anyone?) But I try to discuss these rules of thumb with them whenever a new idea comes up. It should:
Be done in time to practice to perfection.
Be what the driver works with best.
See 2.
See 1.
Be trivial to alter.
Stop when I let go.
Do the same thing when I do the same thing.
Have minimal DOFs per manual articulation (e.g. wrist, finger, etc) and per hand overall.
Map as large as is necessary. (For instance, fine control over a large scale is probably better on a joystick and an Xbox controller–but see Rule #2-3.)
The dual joystick method has worked better than the Xbox for our recent swerve drivers. (I attribute this to Rule #8 and 9). I’d like to pay a little more attention to implementing Rule #5 for Rule #2-3 this season, though.
I drove using a single stick for tank steered robots. I always thought it was a fine way to get the job done.
This past season the students found they preferred using a stick with rudder twist to control turn rate, and the Y axis for speed. I still can’t drive it that way, but thankfully the coaches don’t have to drive.
For off season driving we crammed all the functions onto a Xboxish controller. It’s allowed us to do a lot of interesting things, and it’s not nearly as terrible as I had anticipated. While I still have reservations about the thumb sticks vs a full size stick, I’m open to considering it.
There is something objective to be said about rudder twist, and that is that it does not matter which way the robot is facing, clockwise is always clockwise… so it is almost as if they need not factor in orientation using the twist. Students have a difficult time driving when the robot is facing them on account of the controls being backwards.
I’d want to pursue a way to solve this, but I’d need a way to reliably know the current orientation to the driver… some kind of sensor for that. Rudder twist helps!
We use a joystick for driver control(twist, single or dual depending on the game/drivetrain), and the operator gets a custom panel of arcade buttons and switches. Operator panel has been wired either to a cannibalized joystick or an eStop CCI. Not offered as best, but it works well with our team.