Jan 25, 2009

NXT Dial Remote Control



By now you know that I like remote control... So, I set out to design an NXT-to-NXT Bluetooth remote control for my Forklift project, for people with two NXTs, and this Dial Remote Control is what I came up with. My goals for the remote were:

1. Simple and sturdy, low part count

2. High "on-center" stability (whenever you take your hands off the remote, the robot should stop, no need to find a center position)

3. The motor power is always applied very progressively (no jerking on or off) with easy fine-control for accurate small movements, but you can still get full power.


For these, I was willing to give up the ability to drive forward and steer at the same time (only straight and pivot turns are available), or drive and operate the 3rd motor at the same time.


The mechanics is very simple, basically just a single motor attached to the NXT. You choose one of four functions to control by pressing one of the 3 NXT buttons (or no button), then use the motor (dial) to apply power/value to that motor/function. The key is that it is the speed of the dial, not it's absolute position, that determines the power applied to the motor. This gives you a nice progressive feel, kind of like an iPod wheel, and the hands-off stability in any position.


The remote can control many different types of robots/machines, many with no modifications to the program (typical 2-motor vehicles with optional 3rd motor), and I also included a wired remote variation for those with only one NXT. All programs and instructions are included. The building is very simple, the programs are not so simple...


Here is a video of the remote in action:


5 comments:

buyinfo said...
This comment has been removed by a blog administrator.
Mike1 said...

Won't using the NXT buttons to control the robot direction and using the motor to control the height of the arm be better than just to use the motor to control directly?

Brian Davis said...

There's another way to do this as well - force-feedback in the remote control unit. You can have the control sticks not only read a position, but "push back" based on how far away from the zero point they are. Now to drive faster, you need to literally push "harder"... and if the you let go, the control sticks/wheels/paddles/joystick is programmatically driven back to the null position.

Actually, that's only have the fun - since the communication is two-way, the robot can literally "wrestle control" from the human operator when needed. It's a lot of fun to watch an inexperienced human have this happen, BTW :).

Dave Parker said...

Mike1, if I understand what you are suggesting, that would be intuitive, but it wouldn't meet my goals of progressive (and user-controlled) power delivery to the motors. If you used the NXT buttons by themselves to drive the robot (which I do in my 3-button Remote Control project, for example), you would be wrestling with either jerking on/off, or if you made it ramp up, too slow of an initial ramp or too sudden of acceleration in some cases. A good analogy is adjusting the time on a digital clock with just (+) and (-) buttons, which we all know is really annoying. Contrast this with using a dial or an iPod wheel to adjust. Also, the dial allows you to back up to reverse the motion you have in place to make corrections and zeroing in simple and intuitive.

Brian, I would be interested to hear more of your ideas on force feedback. I tried something like that with my "Wind up Ballerina" project, where the user pretends to wind up a spring, which is an NXT motor fighting back at you with force, and I discovered that this is actually hard to achieve because of the way the NXT does its motor power/speed control. Unlike the old RCX motors, even at a very small "power" level, the NXT interprets this as a desired speed and does whatever it can to achieve that speed, so even at say 5% power, it will fight you with 100% of its torque to achieve that. Thus I was not able to get the feel of a light or progressive push back. I guess the solution would involve constantly changing the target degrees to trick the NXT into following your motion. Do you have any projects that do this?

lnh said...

The left handed people of the world appreciate your design because it would be so simple to reconfigure for those of us who use the other hand. Good going!

Related Posts Plugin for WordPress, Blogger...