the huntrods zone - teaching

Embedded/Robotic Prgramming - Introduction to Robotics

This page is a companion page to COMP444, Embedded / Robotic Programming, written and offered through Athabasca University (AU) starting in 2013. The course is an introduction to robotics and robotic programming, including programming of embedded microprocessors. The course is offered as a third year option in the Bachellor's of Computing and Information Systems degree at Athabasca University and is 3 credits.

The course is offered as an unpaced delivery (no fixed timetable) with year-round registration. Unpaced delivery is the standard for AU undergraduate courses. Students enroll and enter into a 6 month learning contract with the option to purchase up to two (2) three month extensions. Materials including study guide, conference discussion boards and assignment submission are all available on-line via the internet using Moodle. Tutor contact is usually by email.

Learning Outcomes: Upon successful completion of the course, students will be able to

  • discuss robots in general, including the history and features of robots.
  • describe robotic features including affectors, actuators, and control processes.
  • discuss robotic control mechanisms including feedback, architectures, deliberative, reactive, hybrid, behaviour-based, and coordination.
  • discuss emergent behaviour and distinguish this from normal robotic behaviour.
  • discuss robot learning in the context of current robots.
  • design and create robots to perform tasks from simple movement to complex interactions with the world.
  • explore robotic concepts with hands-on experiments using the Arduino.
  • articulate design decisions and create a diary describing learning experiences that form a portfolio of competence.

Text: The Robotics Primer, Maja J. Mataric. MIT Press, 2007. (included in course registration)

Hardware Discussion

This course requires hardware to be effective. Students will receive a kit of hardware in addition to the text upon which to conduct experiments, explore the study guide and complete the course assignments. The final decision on which kit to supply was a rather long and arduous one, as outlined below.

LEGO Mindstorms NXT 2.0 Retail Set - Unboxing

When I first decided to create the course "Embedded / Robotic Programming", I was already well familiar with the LEGO Mindstorms NXT kits, having purchased my first kit in early 2000. Over the years, the kit has evolved and changed until we have the latest "Retail LEGO NXT 2.0" kits.

I have used all of the various LEGO Mindstorms kits since 1.0, and have experience firsthand the changes and improvements since 2000. My most recent work with Mindstorms has been working with my friend Wayne at Athabasca University on the Lego "Summer Camp" workshops sponsored by the Faculty of Science at Athabasca University and offered to grade 6 students in Athabasca, AB during the summer. This camp has been offered for two years now, and I have been involved since the beginning with Wayne.

Since the kits have changed over the years, it was necessary to purchase the latest "NXT 2.0" kit as all my kits were older ones. The pictures below show the unboxing of the latest NXT 2.0 kit, which has been on the market now for several years. This kit seems to be the standard kit at this time, with no mention of any upgrade or newer kit in the near future.

One thing that has not changed about Mindstorms over the years is the price. The retail NXT kit has always been $350 CDN, no matter where purchased. It does not go on sale and is not discounted. This makes the kit a very expensive addition to the course, but I was certain some way would be found to reduce the price for mulitple kits. One thought was "Educational Lego", which offers NXT kits for K-12 classrooms throughout North America. I was sure that some way would be found to obtain kits at a reasonable price. I was quite wrong. The NXT retail kit ($350) is in fact the cheapest kit available. Educational Lego is not sold in the identical kit; rather you must purchase an "EDU-LEGO" base kit, then an expansion kit if you want all the pieces of the retail kit, then pay an additional per-student license fee for the software. In the end, EDU-LEGO was significantly more expensive than the standard retail NXT 2.0 kit.

LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing LEGO NXT 2.0 Retail Unboxing
Now What?

With the high price of the LEGO NXT kits (minimum $350), it was clear that this cost was far greater than could reasonably absorbed into the standard AU course cost. While some courses do have lab kits with a separate lab fee, it was determined that the cost of the LEGO kit would require a significant lab fee. I was not comfortable with adding a significant lab fee to the course, so that meant I would need to find another hardware platform for the course.

When I first envisioned the course, LEGO was the "gold standard" in robotic platform for eductation, and the only game in town if you didn't want either a bare board platform, or a course which would involve soldering and component level building. These were not skills embodied in the learning outcomes of a Embedded/Robotic programming course, and so rendered exising platforms unworkable. However, since that time, the landscape has changed. Numerous small, inexpensive hardware platforms have become availble, from the Raspberry Pi to the Arduino, PIC platforms and many others.

Examining the new platforms, many still required soldering and other 'lower level' hardware skills to create a useful programming platform. Many were also very specific in language / programming requirements and not good for an entry level course. However, one platform has risen to become one of the most exciting and frequently chosen platform for embedded and robotic use in the past year. That is the Arduino. Created in Italy, the Arduino is a totally open-source, open hardware platform that has taken the robotic community by storm. The basic Arduino is also inexpensive, with a complete system costing just $30. In just a year, the Arduino now offers hundreds of kits, robots, add-ons and other capabilities that now render it the default platform of choice for a course such as this.

Because the Arduino is inexpensive and so very well supported by the on-line community, I have chosend it as the hardware platform for my course.

Arduino kits 1 - Sparkfun Inventor's Kit

Having chosen the Arduino for the course hardware platform, the last question is "which package?". The first choice is to choose an Arduino starter kit, which contains the Arduino, breadboard, hardware components and on-line tutorials (and printed manual). The course would then use this platform and the various experiments to allow the students to explore the course topics "hands on". While the students would not actually build a robot during the course, the knowledge, skills and experience gained in the course would easily be translated to actual robot building once the course was completed.

Of all the kits, the "Sparkfun Inventor's Kit" is easily the top of the line kit. Costing $100, it features all the necessary components for numerous experiments, all the materials and a very nice box to store everything. A superior kit in my opinion.

Sparkfun Arduino Kit Sparkfun Arduino Kit
Arduino kits 2 - BOEBot Robot Kit

The second choice is to select an actual robot kit. With a robot kit, the student will build an actual robot during the course, which can then be used to perform the labs and assignments. The benefit of this choice is the student has a robot when the course is complete. The downside is that all robot kits are more expensive, and none contain the wealth of extra parts in a starter kit. So, you get a robot but can't do as many experiments with it.

Of the various robotic kits examined, the "Board of Education BOEBOT" kit from Parallax is a superior robotic kit. Featuring aluminum construction and very good servo motors as well as a perfboard (to do experiments) and some supplemental components, it is the superior robot kit. It is more expensive than the starter kits however, coming in at $150 once you purchase the necessary Arduino (it's not included). Still, a very good choice.

Parallax Arduino Robot Kit Parallax Arduino Robot Kit Parallax Arduino Robot Kit

copyright © Richard S. Huntrods
all rights reserved

last updated: