LEGO Mindstorms, one of the best robotics kits, is about to get even better!
Earlier this month LEGO unveiled the new LEGO Mindstorms EV3 at the Consumer Electronics Show (CES), in Las Vegas. As technology becomes more a part of us, LEGO Mindstorms is evolving to provide us greater connectivity to our creations.
LEGO Mindstorms EV3 Robot Snake
Like its predecessors, LEGO Mindstorms EV3 will four motors and five sensors including a new infrared sensor that will enable the robot to track a remote control. The expanded brick employs an ARM 9 central processor that can access 64 MB of RAM and 16 MB of Flash. This results in more room for stored programs. The brick also comes equipped with an SD-slot that allows one to expand the memory further. With a new secure Bluetooth chip, the LEGO brick can now connect to the Android and iOS operating systems so that one can use a smart phone, an iPhone or an iPad to control the robot! There will also be a USB port that will allow connectivity via WiFi. This increase in connectivity will open up a world of new possibilities.
Hackers will be happy to hear that the operating system is a version of Linux for which LEGO will release detailed documentation as well as an SDK.
LEGO will release the Mindstorms EV3 to the public this summer.
At present we are focused on two research projects. The first, which is funded by a NASA SBIR grant, aims to develop Bayesian vision-based navigation systems for future NASA missions. The second, which has been funded by NASA in the past, is focused on developing intelligent instrumentation in the forms of science platforms that can autonomously decide on and perform their own experiments. Both projects, which are focused mainly machine learning software, rely on robotic platforms that we construct out of LEGOs. LEGO bricks are prefabricated plastic parts that can be assembled and disassembled in a matter of hours. We have found them to be quite versatile and capable, as well as being inexpensive.
On Wednesday Sept. 12, 2012, the Knuth Cyberphysics Lab at the University at Albany was visited by a television crew from NHK
World Network (Japan Broadcasting Corp.). They were working on a piece focused on the Mars Curiosity rover and were interested how NASA missions fostered creativity in robotics. In our lab, they were specifically interested in the fact that we used LEGO robots to test software for funded NASA projects. The program aired in Japan on Sept 15, 2012.
Here is the photo caption from the website:
The Bing translation is:
Incorporating a unique way for free thinkers NASA challenge space development. How is block have become toys. Share the anticipated blueprint image team studies the next-generation spacecraft, while using the block and identify the problem. Easily can be recreated many times, easy and free thinking-is an advantage of the block. Using the block curiosity Inc. developed and went on. Research and development professionals “using blocks, a good idea? so readily detect if it isn’t policy change even faster” and speak.
The LEGO Exploration Rover has two laptop bays built into the box-like frame in which it can carry two Asus Eee Laptops for onboard processing. The wheels are controlled by two LEGO NXT bricks, which can communicate with the laptops via Bluetooth. The rocker-bogie suspension and low speed allows it to handle relatively rugged terrain and steep grades.
The white frame mounted on top of the rover is the Bayesian Vision-Based Navigation System being developed by Autonomous Exploration Inc. for NASA.
Check back, as we will be posting videos of its operation and discussing some of the important design features.
NOTE: WE ARE NOT RESPONSIBLE FOR ANY DAMAGE YOU MAY DO TO YOUR NXT BRICK.
THIS EXERCISE PRESUMES SOME WORKING KNOWLEDGE OF ELECTRONICS.
In this exercise, I will walk you through interfacing a potentiometer (variable resistor) to the NXT brick.
You will need:
- A stripped NXT cable
- A potentiometer with a maximum resistance no more than
- A small piece of wire
- An NXT Brick
This exercise is derived and expanded from a chapter in Extreme NXT by Gasperi, Hurbain and Hurbain.
The NXT monitors the potential difference between the black and white wires with an Analog-to-Digital (A/D) converter. The A/D converter converts this potential difference to a RAW value between 0 and 1023 (10 bits accuracy). This RAW value is given by the ratio
where is the maximum RAW value of 1023, is the voltage used by the NXT A/D Converter, and is the voltage drop between the black and white wires.
The circuit diagram looks like this:
I have a little potentiometer that can turn over a range of about to . Below is a diagram. The resistance between the leftmost and rightmost pins is the maximum resistance of . We will focus on the resistance between the leftmost and center pins, which varies based on the angle through which the potentiometer has been rotated. To keep things safe, we wire the center pin and rightmost pin together. This doesn’t affect the potential difference between the leftmost and center pins.
I will assume that it is a linear potentiometer (a pretty good assumption), which means that the resistance at any given angle is given by
where is the maximum angle of the potentiometer and is the maximum resistance.
Equation (2) says that if the angle then the resistance of the potentiometer , and if the angle then the resistance of the potentiometer is maximum .
Looking at the circuit diagram for the A/D converter, the potential drop across our potentiometer (represented by resistor ) is given by the typical voltage divider relation
We can now substitute (2) into (3) so that the voltage between the black and white wires is determined by the angle of the potentiometer rather than its resistance. Then we can substitute the result into (1) to get an equation for the RAW value
with my particular values, this is
This formula will let us predict the NXT RAW value based on the angle of the potentiometer.
For my potentiometer, I find that a maximum angle of gives me a maximum value of 93. This is less than 7 bits of information, and each RAW value corresponds to . If you want a nice angle detector, you will probably need a potentiometer!
1. Before beginning, you need to cut and strip one of the NXT cables so that you can interface with the wires directly. I have placed a layer of solder on mine, so they can be inserted into a breadboard for easy connecting.
2. Next connect the center and right pins of the potentiometer together with a wire
3. Plug the other end of the NXT cable into the NXT brick.
I wrote a simple NXT-G program to read the sensor and display the RAW value. Notice that the Touch Sensor actually reads the resistance between the wires. So we are just replacing the Touch Sensor with a potentiometer. We will use the raw number output of the Touch Sensor Block, which is represented by the 1010 0101 symbol. We then need to convert it to text so it can be displayed on the NXT LCD panel.
When I try my potentiometer, I find that the RAW value goes from 0 to 95, pretty close to my predicted range of 0 to 93. So it works! Not bad considering I guessed that the potentiometer sweeps through and angle of .
Determining the Angle of the Potentiometer
Now, let’s convert this RAW value to an angle.
In Extreme NXT, the authors worry about the fact that the resulting relationship is nonlinear with respect to the RAW value. As far as I can see, this isn’t a problem. We simply solve (4) above for the angle in terms of RAW. We can output the angle if we wish, but here I’ll take it a step further and demonstrate the resulting equation by controlling a motor so that it maintains an angle equal to the angle through which I have rotated the potentiometer.
I will leave out the algebra. Try it yourself. Solve (4) for angle A:
for my potentiometer, this is simply
which is easy to code in NXT-G.
You can download my code here: Potentio-03.rbt
The motor control is a bit crude, but it works well enough for the demonstration.
Check out the YouTube video to see it in action!
The University at Albany (SUNY) has highlighted Knuth’s research in a recent news piece.
UAlbany Professor Kevin Knuth with a robot built from LEGOs. (Photo Mark Schmidt)
Kevin Knuth has a laboratory in the physics department of the University at Albany that is filled with LEGOs. The bricks are relatively cheap and can be used to rapidly prototype a robot’s body. Knuth’s robots are being programmed to solve such problems as mapping complex terrain.
At UAlbany Day on Saturday, Oct. 25, he will give a demonstration on Robotics and Robotic Exploration in Life Sciences Room 143 at 10:45 a.m.
Building instructions for the robot shown in the UAlbany article can be found on Brickengineer.com