MathWorks participated in the Robot Zoo held on April 21st 2014. The Robot Zoo which is a part of the Cambridge Science Festival is an annual event where robotics enthusiasts, universities and companies gather to talk about robots, learn from each other and display their creations. I was lucky enough to be a part of the team representing MathWorks for the event, and in this post, I will introduce you to the robots powered by MATLAB and Simulink that we have spent hours playing with.
The first one on the list is the LEGO MINDSTORMS NXT programmed using Simulink, Stateflow and the LEGO MINDSTORMS NXT Support Package for Simulink. Using the control algorithms developed in Simulink and Stateflow, the robot is able to follow black lines, go back and forth over a see-saw, and maintain fixed distance from an object in front of it. If all this does not sound impressive enough, it can do all this while balancing itself on two wheels. In the photo above, you can see the LEGO MINDSTORMS NXT robot enthralling the audience with tricks over the see-saw.
The next robot in our line up is the CardboardBot (it’s alter ego is named CardboardZilla!) which was donated to MathWorks by the Cowtown BEST Hub in Fort Worth, Texas. The robot is built entirely from low cost components such as cardboard and PVC pipes by middle and high school students as a part of the BEST Robotics Competition. The robot is powered by a VEX Cortex Microcontroller and uses a VEX gamepad to for inputs. Students used Simulink and Stateflow to design the logic for maneuvering the robot and controlling its claw. The code was then downloaded onto the microcontroller using the VEX Cortex Microcontroller support package. In the picture above, we have the CardboardBot trying to pick up a tennis ball using its cardboard claws.
Next up was the Parrot AR Drone 2.0 which was programmed using Simulink and Stateflow with help from this File Exchange submission. The AR Drone 2.0 is a quadrotor and has one front facing HD camera and an additional camera which faces the ground. The quadrotor can transmit video data to other devices such as smartphones, tablets and computers via wi-fi and similarly receive control signals from the devices as well for navigation. For the Robot Zoo, we were running a Simulink model on a laptop which would receive video data from the quadrotor. The model would then try to detect the presence of a green ball in the video. Once a green ball was detected, the model would transmit signals to the quadrotor to follow the green ball using algorithms designed in Stateflow and Simulink. We also had a MATLAB script which leverage d the Computer Vision Systems Toolbox to detect faces in the video stream.
The last set of robots in our line up included three line following Zumo robots. We have talked about the line following Zumo robot in a previous post. The robots were programmed using Simulink and the Arduino Support Package from Simulink. One big advantage of the Zumo robots is that they are quite robust. This fact was used extensively by young enthusiasts to make them crash into each other repeatedly on a track specially designed to ensure collisions. After a collision, an audience member could simply pick up one of the robots and place it anywhere else to let it start following lines all over again.
The line following Zumo robots were quite popular with the younger audience who would pick them up and place them anywhere on the track, and observe how easily the robots would find a line and then follow it. True to their name, the robots zoomed about the track the entire day constantly crashing into each other, much to the amusement of the audience.
One thing that truly amazed me was the universal appeal robotics had for all age groups in this event. As you can see in this picture, participants young and and not so young had shown up in large numbers on a beautiful Saturday afternoon to talk about robotics. It felt great to be part of such an event, and am looking forward to attending it next year, hopefully with more robots.