RoboCamp - We Teach Kids to Build and Program Robots!
This RoboCamp had some very keen students, who were all new to Robot Obedience School. Two levels were offered:
- Beginner on 4-5 July
- Design Challenges 6-7 July
Most students only signed up only for the 2 day beginners course, but almost all of them were so excited about RoboCamp that they decided to come back for the Design Challenges as well!
The beginners course ran over two days on Monday and Tuesday.
The form of the beginners course is now very well established, as we have found a recipe which works. It keeps the students interested, and gets them to think about new programming concepts as they advance through the two day course. During the early stages, they are guided through the solutions, but later stages re-use knowledge from the earlier stages, and the students are encouraged to apply that knowledge themselves to solve new challenges.
When the students arrive, they are issued with a standard mobile robot with a few inter-changeable sensors. We introduce the students to the Lego Mindstorms EV3 "EV3-G" programming environment, and quickly show them how to make their robot move around on the floor. Then we asked them to precisely control how their robot moves on the floor, asking them to make the robot move precisely 1m, and turn precisely 90 degrees. This keeps the students busy as they figure out how to do it! The older ones who understand algebra and geometry can be challenged to solve the problem mathematically, but we normally let the students proceed empirically (that is, working it out by trial an error). At this RoboCamp, all the students did it empirically.
As the students conquer each exercise, we move on to the next, sometimes changing sensors. Following lines on the floor, staying inside a circle, driving to a gentle stop in front of the wall, following a wall, following other robots while following a line on the floor, solving a maze. These exercises keep the students challenged and excited for two days!
It is always interesting to see the students grow in their confidence and independence as they progress through the beginners course. They start out very timid, asking for lots of help. By the second day, they are much more confident, and are usually able to work on new problems by themselves for longer and longer periods!
Note that the robots stay at Robot Obedience School at all times. Proud parents arrive a little early with their video cameras to document their children's achievements before going home with their excited children, who are inspired to program more robots!
The Design Challenges were new at this RoboCamp. We worked on Design Challenges on Wednesday and Thursday. Each day, the students were issued with a kit of parts instead of a robot! The students had to build their own robot to solve the Design Challenge issued each day.
Robot Obedience School would like to thank the Australian Electoral Commission for generously providing the tables used to support our challenges (held shortly after the election on 2nd July).
Crossing the Beam
On the Wednesday, the students were greeted by a set of vertical beams crossing between two tables. The students were each given a Lego robot kit and access to spare wheels. The challenge was issued: build a robot that starts on one side of the gap, and finishes on the other, using only the parts in your kit and perhaps some extra wheels!
Students were encouraged to try their ideas out quickly. This allows bad ideas to be eliminated quickly. Hopefully lessons would also be learned quickly, so that a successful design can be found sooner rather than later. Most students tried several designs during the day, and some students scrapped their work and started again from scratch once or twice. Designs were continuously refined, improved and tested.
Early on, the students had a lot of questions. The instructor at Robot Obedience School doesn't always give straight answers, preferring to encourage the children to think for themselves. This is usually accomplished by the instructor asking the student a question. As the students worked on their robots, they became more confident, and were more and more able to identify their own problems and solutions. Late in the afternoon, the instructor had enough time to work on his own robot to cross the beam.
At the end of the day, all of the robots were gathered together to be judged. The students had to overcome several problems to successfully traverse the beam, and in the process they learned a lot about building with technical Lego! The judging took into account several factors, including the tidiness of the robot, how stable it was, and how the robot stopped at the other side (perhaps using a sensor). The builder judged to have the best robot was awarded a prize!
Crossing the Chasm
On the Thursday, the students were all fired up from their experience the day before. This time, the two tables were still provided, but there was no beam to cross! The students were again issued with a robot kit of parts to use to build their robot.
To start with, the tables were separated by 15cm. Each time a robot crossed the chasm, it was increased by another 5cm. The maximum chasm crossed by any student was 25cm.
Some of the students formed teams, to pool their ideas. All of them started with very different designs from what they finished with.
Very late in the day, the instructor got a chance to build his own robot to cross the chasm. With the benefit of many years of building Lego devices, the instructor built a robot that could cross a chasm of 55cm! When we attempted 60cm, the robot crossed to the other side, but then fell backwards into the chasm. Next time...
At the end of the day, all of the robots were gathered together to be judged. The judging process took a considerable amount of time, due to the necessity to test what chasm each robot could cross!
Parents have been very enthusiastic about this RoboCamp, telling me that their children got the Mindstorms kit out of the cupboard where it had laid untouched for a year, and were excitedly designing their own robots and programming them!