So I couldn't wait any longer and decided to build the primary model next - Ev3rstorm. This is the main model shown on the box images and I guess you could call it the "mascot" for the EV3 set.
This is part three of an unknown number of reviews of the LEGO 31313 Mindstorms EV3 robotics set.
The Ev3rstorm is a bad-ass looking robot, despite the chicken head. Of the five main robots it's the biggest and uses the most parts. The build used all the sensors and all the motors, and yet there was a surprising number of technic elements left over. I'm not sure how this compares with the previous Mindstorms generations, but it seems that LEGO have thrown in a good mixture of parts with this set.
While all the sensors are used in this model, the touch and color sensors are not used to their full potential. They are mounted one on each arm pointing up and are used in the missions simply as on/off switches for various functionality. Still, it at least demonstrates how to use them for your own robots.
Unfortunately, the gears in the arms are not connected to any motors. The worm gear can be manually rotated to move the arms up and down, but they're there mainly for show. Similarly with the right hand claw, it only opens/closes manually. The addition of one more medium motor to fill up the fourth output port would have been awesome and could then be used to drive the arms. But I assume that would have increased this already expensive set too much :(
There are six missions for Ev3rstorm:
- Mission 1 - Driving and Turning. This is basically just a test mission to make sure you have built the main body and legs correctly.
- Mission 2 - Activate. A simple mission that introduces you to using the touch sensor to toggle the state of the robot from awake to asleep.
- Mission 3 - Stay Out of the Dark. This mission sees the robot in a continuous loop as it moves around. It uses the color sensor to detect when the robot has entered somewhere too dark and then it turns around.
- Mission 4 - Attack on Sight. The main robot is fully built by now, and this mission uses the IR sensor in the head to detect close objects. It uses the Spinning TriBlade on its arm to attack then moves away.
- Mission 5 - Command and Blast. Using another accessory weapon (Blasting Bazooka), you remote control the movements of the robot and manually use the touch/color sensors to shoot the weapon. An obvious improvement you can make here is to use the remote control to shoot.
- Mission 6 - Search and Destroy. A mini-robot is built from the IR remote control/beacon, and Ev3rstorm searches for it. When it thinks the beacon is the right distance and direction it will fire the bazooka. Sounds great, but I found it very slow to "lock-on" to the target and then it would usually miss anyway! I put that down to the bad lighting conditions I've been using.
The missions that use the Color sensor's ambient light setting are highly sensitive to the lighting conditions you use it in (obviously, really). I found that the settings used in the suggested code were not suitable for me. The ambient light mode provides a value as a % of light falling on the sensor, so valid values are 0 to 100. The programmable brick has a great on-screen feature that lets you examine the real-time value from any of the input sensors, or even the positions of the servo motors. Using this I could determine the appropriate threshold value to use in the code.
There are three separate LEDs in the color sensor. A specific colored light is used when each of the different modes are activated.
- Ambient = Blue. For measuring the ambient light, there's no need for it to display the blue light but I guess it's just there as an indicator to help you know what mode it's in.
- Reflected = Red. The amount of red light reflected back into the sensor tells it what value to return. This is similar to using the IR receiver in proximity mode, except this uses red visible light instead of infra-red so it is more reliable outside where the heat from the Sun can interfere with things. Assuming you don't live in the UK of course.
- Color Detection = Red + Green + Blue. Different colored materials absorb different colored light more than others. So the relative amounts from each light reflected back into the sensor tells it what color the reflecting object is.
I haven't mentioned it before, but the Mindstorms software comes with some good help documentation. Hitting F1 will bring up a locally run website with easy to navigate pages. The help guides give you all the specifications you need to understand the range of possible input/output values from each sensor/motor, and even provide small sample programs for using the different modes.
The final program has some neat logic to search for the beacon. It's encapsulated in a custom block called "IR Target". It uses some simple maths to calculate how much power to give each leg motor, based on how far away it is from the beacon and in which direction it needs to turn. I was half expecting to see some nasty control systems engineering maths in there, but simple works just fine in this case (take that Prof Vlacic!).
However, the diagrams get a bit hard to follow at times with all the logic paths drawn overlapping each other. It would be nice if you could click on a link and have all it's connections highlighted. Also, the step-by-step instructions tell you to add the custom block, but I think it would have been better to instruct you in creating the block yourself. It's easy enough to figure out, but the instructions are there to guide beginners through it.
In summary, the Ev3rstorm model gives you a good feel for all the different sensors and most of the programming methods. However, because it tries to include a bit of everything, it's not really an awe-inspiring robot. The other ones tend to focus on a specific feature and do that well. So, on to the next one I go :)
See all photos at Bricksafe.