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:

  1. Beginner on 4-5 July
  2. 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!

Beginners

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!

Design Challenges

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!

Feedback

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!

The following write-up was provided by Viviana Capote at her web site http://vivianacapote.com/robot-obedience-school/.

Viviana volunteered as a helper at the January 2016 Robot Obedience School from 18-22 Jan 2016 at Toongabbie West Public School.

Viviana Capote

 Programming a Robot

Between  the 20th – 22nd of January this year I had the wonderful opportunity to be an assistant at Ben Stanley’s Robot Obedience School.

The holiday school program is aimed at teaching children between the ages of 8-16 basic programming skills using the Lego Mindstorm EV3 Robotics Kit. The Lego Mindstorm robots use a graphical programming language that allows them to drag and drop special ‘puzzle’ pieces that each make the robot perform certain actions. By combining these puzzle pieces along with data provided by sensors mounted on the robot, the children were challenged to complete the following projects:

  • Make their robots play sounds and display graphics on screen.
  • Use a light sensor to detect the difference between two colours and use this information to follow a coloured line!
  • Use a pressure sensor to detect when the robot has bumped into something.
  • Use a sonic sensor to detect proximity from a wall and use this information autonomously follow alongside it (similar to the line follower).
  • Combine what they had learned about the pressure sensor and the sonic wall follower to make a robot that can traverse a maze by itself!
  • Combine what they had learned about line following and the sonic sensor to make their robots platoon together! (see video below for example)

By the time I arrived for the second half of the week, the children had already mastered the basics and were experimenting and attempting solutions to the problems all by themselves. It was awesome to see that in the first challenge I assisted in (wall following using a sonic sensor ) – two of the youngest attendees were able to find a solution within the first 15 minutes of the task. They had been clever enough to make a connection between the logic of their line follower program completed earlier in the week and what was needed to have the robot follow the wall instead.

Using their new found confidence, each child was challenged to make a robot that could traverse a maze on it’s own. It was interesting to see how they each approached the problem – and they were all able to eventually get their robot out of the maze!

Robot solving a maze!

On Thursdays challenge was to make their robots follow along a line together, slowing and starting based on the speed/distance of the robot in front of them:

Finally, on Friday they were given the chance to ‘freeplay’ and use written guides from their robot kits to pull apart and build whatever type of robot they wanted. The projects attempted included a robot arm, a colour sorter, and – most challenging of all – a rubik’s cube solver!

Unfortunately, a single day session was not enough for the majority of the children to finish their freeplay robots – however, lessons were learned about how much thought and effort goes into the design of these robots and how it takes a lot of skill and effort, not just to design them – but even to build them from instructions!

In addition to the Lego Mindstorm projects, when finishing a task early (or in the case of our sole female attendee – the focus of her Friday freeplay), the children were able to try and adapt their logic skills using another graphical programming language developed by MIT specifically for children – Scratch!

One of the challenges I set (and only two of the children attempted!) was to try and recreate a Flappy Bird clone game such as the one I have created here.

Scratch, like Mindstorm, also uses the concept of puzzle pieces to teach children how to combine different types of logic blocks in order to create interactive games and animations. Even though it’s target demographic is aimed at children, it does a great job of teaching fundamental programming skills and is even used in the first week of Harvard’s Intro to Computer Science course.

Scratch is completely free and can be used online in any compatible browser. I recommend it to any parent looking to get their child interested in a free, fun, and deceptively productive past time.

Overall, the three days I spent volunteering were fun, exciting and promising – I was never exposed to programming concepts before entering university and I firmly believe that, in today’s technological age, these types of skills should be considered a fundamental part of education. Ben Stanley has done an excellent job at gathering the required resources to be able to make this type of holiday session possible, and I hope he can continue to provide this type of opportunity for the children in his local area.

TWPS Newsletter

These write-ups appeared in the Toongabbie West Public School Newsletter Term 3 Week 1 on the 14 July 2015.

Principal, Mr Firth

I would like to give a large thank you to Mr Stanley who gave his time and energy to provide the opportunity to give students the chance to learn more about robots, how they work and how we can make them move. Mr Stanley had to purchase the kits he used and the course costs went to pay for these. Thankyou Mr Stanley for providing the opportunity for our students to get involved.

Librarian, Mrs Sant

During the first week of the recent school holiday, a number of robots attended a robot obedience school which was held in the Toongabbie West Public School Hall. Each robot followed a set of instructions which was given to it by trainee computer programmers. The trainee computer programmers used Lego Mindstorms graphical software to train their robots. Robot programming was taught from scratch over four 3 hour lessons. The students used computers to program a Lego Mindstorms EV3 Robot.

The group of trainee computer programmers was made up of students from our school and other local schools. All the boys were thrilled and would like to thank Dr Stanley for delivering the program. Dr Stanley kindly conducted the course during the holiday from his own workplace. Mrs Sant was disappointed that she was the only girl there and hopes that if Dr Stanley runs the program again more girls will attend.

RoboCamp - We Teach Kids to Build and Program Robots!

This RoboCamp was the largest so far. Several levels were offered:

  1. Beginner
  2. Building (from instructions)
  3. Mechanical Design (from imagination)
  4. FIRST Lego League missions (not attempted)

Unlike previous RoboCamps, higher level classes were offered concurrently with the beginner class. Unfortunately, this didn't work out so well. Some of the beginners were distracted by the more imaginative free building going on in the more advanced classes. It was also very difficult for the instructor to try to keep the more advanced classes on topic, as the beginners are always so demanding. We learn lessons at every RoboCamp, and make improvements for next time.

Beginners

The beginners course was run twice: Mon-Tue and Thu-Fri.

We started off just getting our robots moving around the floor. How hard can it be to get a robot to move exactly 1m forwards along the floor? Harder than the students thought! And as for getting your robot to turn 90 degrees exactly, thats tricky too! Put together 4 sets of those, and the robot drives in a square. Except there are always errors that prevent your robot from returning exactly to where it started from.

Moving on, we attempted BumperBot. This program drives the robot forwards until it bumps into something. Then the program backs up, turns around, and barges off somewhere else. BumperBot is always a good opportunity to introduce reacting to a sensor, in this case, the bumper switch. The students also enjoy making their robot make sounds when it hits something - this part of the lesson gets noisy as the students experiment with the pre-recorded sounds and even learn to record their own sounds.

Line following comes next. A colour sensor is attached to the front of the robot, and we look at what it reads on black and white surfaces. The students learn about making decisions based on the reading of the colour sensor, so that their robot can follow a line. You can see plenty of this going on in the video. At RoboCamp, the students program their robots to follow the line. There are no remote controls, except for remotely downloading a program that the student wrote! Then the robot behaves autonomously, that is, by itself.

The line following exercise has plenty to keep the students busy. They have to cope with various curve radii, and tune their program so that it doesn't drop off the line on sharp corners! (See the video.) We always try to get the students to have a race to see who is the fastest, but that seems to be hard.

The colour sensors are also important for keeping the robot in the sumo circle, so we get out the sumo circles and get the students to make their robots bump off the black edge of the circle. Its a bit like BumperBot, but with a different sensor.

On the second day, we fit ultrasonic sensors to our robots to measure the distance to walls. The first exercise is to try to drive parallel to the wall by following it. This is a little bit like line following, but must be coded differently. The program must do some computations on the distance before it can decide whether to turn to the left or to the right.

The maze requires that the students bring together various skills that they have already mastered. The beginners have become more confident by this stage, and the maze problem is set in fairly loose terms, without providing examples. The students review their past work and start to draw together elements from previous programs to guide their robot through the maze and out the other side.

The second batch of beginners were very disciplined about staying to the course, and got up to solving the maze with time to spare on Friday afternoon. This led to the sumo match, which is described below.

Building

The building students worked on a few projects. The first one was a robot arm, built from the instructions. This arm was programmed to grip a wheel hub, from a particular location, to pick it up and move it to another location. You can see it in action in the video below.

After that, a more open-ended building project was attempted. The problem was set to create several modules forming a Great Ball Contraption (GBC). A GBC passes balls around in a loop, from one module to another, in the most over-complicated way possible. The instructor provided one module as an example. A couple of students worked on this problem, and created two modules based on the track pieces. Unfortunately the modules didn't loop around to connect the output back to the input, and reliability was an issue. This building project will be attempted again another time. This is harder than it looks!

Sumo Match!

With about 2 hours to go on Friday afternoon, and having completed the beginners material, I set all of the students to creating sumo robots and programming them. What do you get with 2 hours work? Very simple sumo robots. The programs can't find the other robot; they stumble across them accidentally. A search and destroy program is more complex and takes more time. However, the whole group worked enthusiastically, and some very original ideas were displayed.

Video