CPS607: Autonomous Mobile Robotics - Build Your Own Robot! Fall 2010


Instructor: Mark Fiala
Ongoing picture gallery from CPS607 Fall'10 (please email me some pictures)



Example Robots built in CPS607 Fall'09

Two robots from fall'09 (left=Rasikh's robot following a line of black tape, right = Alex's robot).

NEWS:

  • Course over! Great job and congrats on the hard work. Working with electronics, mechanics, and microcontrollers is not easy, especially in a short course for those without much experience in this before.
  • For those considering grad studies, check out Computer and Robot Vision (CRV 2011) .
  • Robot line following contest at beginning of Wed Nov 30 class (last class) before the second round of presentations.
  • CMF changed.
  • There will be NO extensions for Lab 6!! (course will be ending).
    Course Management Form
  • CPS607 Fall 2010 CFM Rev B

  • Those in this course may be interested in our Ryerson CS Robotics Club .
    Lectures Time/Place
    Mon 9:00AM - 10:00AM Lab ENG211 - only on some weeks!
    Tue 10:00AM - 11:00AM Lecture KHS134 Lecture delivered in this period
    Wed 1:00PM - 3:00PM Lecture ILC102 Lecture delivered in this period

    note... location will change to KHS134 for some weeks, please check below

    TA/GA help
    Our TA's are:
  • Alex Ufkes (aufkes@ryerson.ca ). He will be available for help after class 11-12 on Tuesday in the NCART lab.
  • Jimmy Tran (q2tran@scs.ryerson.ca ).
    Lab Usage
    ENG211 (where we hold our labs) is available for you to work. Please check the ENG211 schedule for times when it is free.
    Lab Group Work
    You have the option of going alone or in groups of maximum 2 people.
    Labs
  • Lab 1 Single behaviour (stay on table) - "analog brain".
  • Lab 2 part A , Lab 2 part B IR circuit design
  • Lab 3 Multiple behaviours - "analog brain".
  • Lab 4 Micro-processor Introduction. Use these c files .
  • Lab 5 Micro-controller Based Robot.
  • Lab 6 Robot Odometry.
  • Lab 7 Optional bonus marks: Maze finding / fire fighting challenge final lab.
  • Roomba Bonus Lab Control Roomba Vacuum robot from Atmega board. Roomba serial interface info found at http://www.robotshop.ca/PDF/docs_roombasci.pdf . Demo program for windows (default COM1, command line argument for different COM port).

    For Lab4+ download AVR Studio for Windows , also download the WinAVR GCC component. Follow these instructions for the lab computers to connect the GCC component if you cannot compile a C/C++ program on a lab computer (only needs to be done once for your account). Look under datasheets below for the IC's and boards. Information on the USB/serial adapter .


    Lectures
  • Sept 7 (KHS134) - Introduction, overview.
  • Sept 8 (ILC102) - Watched CPS607 2009 video summary , motivational/history talk by course creator Dr. Ferworn. Discussion and demos of toys as possible platforms. Discussion and demo of physical plant (mechanical platform), demonstration of soldering, heat shrink tubing.

  • Sept 13 (ENG211) - No lab, don't come!
  • Sept 14 (KHS134) - Electrical energy. Batteries: serial and parallel configurations, breadboards , relays and wiring. Demonstration wiring up a motor and battery holder to a relay and breadboard. View battery, motor parts of battery, relay class notes . Adding transistor arrays ( ULN2001a data sheet ). First look at motor control and time delay class notes . Demonstration of transistor array and RC time constant with a breadboard and motor. schematic of suggested circuit.
  • Sept 15 (ILC102) - Field trip to two component stores: Creatron (255 College St, near Spadina map) and Active Surplus (347 Queen St, between Spadina and University map). Meet at the classroom at ILC102 at 1pm sharp. If late proceed to Creatron.
  • Homework: read Ferworn's Tutbot notes for advice on Lab1 (courtesy A. Ferworn).
  • Sept 20 (ENG211) - No lab, don't come!
  • Sept 21 (KHS134) Review battery, motor, RC time delays. Review battery, relay class notes , motor control and time delay class notes , and suggested circuit schematic . Discussion of Lab1 marking, view video of 2009 Lab 1 12MB WMV , 40MB WMV . Time permitting show slides CPS 607 Intro , CPS607 motivation (courtesy A. Ferworn) .
  • Sept 22 (ENG211 -not ILC102!) Discussion of Lab1 marking. Work period - bring all your parts, tools, and mostly completed robot. Get help getting your robot working!
  • Sept 27 9am!! (ENG211)-(not KHS134) - Lab 1 (stay on table test - analog brain) first try of all robots
  • Sept 28 (ENG211) not KHS134! - Lab 1 second try.
  • Sept 29 (ILC102) - Light sensors, electronics, sensor notes . Discussion of Lab 2.
  • Oct 4 (ENG211) - Lab 2 (IR electronics)
  • Oct 5 (KHS134) (changed from earlier ENG211)! - Lab 2 second try.
  • Oct 6 (ILC102) - Controlling motors and relays from IR electronics, sensor notes . DC motor theory class notes . Energy, power, batteries, battery types ( notes courtesy Jimmy Tran).

  • Oct 11 (ENG211) - Holiday, plus no lab, don't come!
  • Oct 12 (KHS134) - Constructing behaviour from several simple behaviors ( behaviour class notes ). Demo windows program( Tank Wars ) with gui controlled behaviours. Ferworn's slides on intelligence vs behaviours and reacting to an edge . Discussion of Lab 3. Ferworn's sensor slides (time permitting).
  • Oct 13 (ENG211 -not ILC102!) Work period - bring all your parts, tools, and mostly completed robot. Get help getting your robot working!
  • Homework: read Ferworn's mobility slides , Ferworn's robot hard-wired behaviour slides (crossed, un-crossed, excitory, inhibitory), Ferworn's behaviour in nature slides , Ferworn's more animal behaviour slides , and Ferworn's Complex Adaptive Behavior notes .

  • Oct 18 (ENG211) - Lab 3 (stay on the table, avoid obstacles -analog brain) first try of all robots
  • Oct 19 (KHS134) - Lab 3 second try.
  • Oct 20 (ILC102) - Introduction to AVR programming, download AVR Studio for Windows , look at the Atmega 8535 lab board , here is the board's datasheet , and here is information on the USB/serial adapter .

  • Oct 25 (ENG211) - Lab 4 (AVR programming)
  • Oct 26 KHS134 - Lab 4 .
  • Oct 27 (ILC102) -Servo demo ( c file . Stepper motors (time permitting). Midterm preparation notes .
  • Nov 1 (ENG211) - No lab, don't come!
  • Nov 2 (KHS134) - Ferworn's robot history slides , Ferworn's walking robot slides
  • Nov 3 (ILC102) - Review of energy, electronics, motor theory. mid-term exam -bring pencil for scantron sheet!
  • midterm marks (posted by last 4 digits of your ID number).
  • Nov 8 (ENG211) - Lab 5 practice -not mandatory but highly recommended. TA will be present
  • Nov 9 (KHS134) - Lab 5 > (table, obstacles, line, light - digital brain) .
  • Nov 10 (ENG211) not ILC102! -Lab 5 . Discussion of odometry.
  • Nov 15 (ENG211) - Lab 5 (table, obstacles, line, light - digital brain) .
  • Nov 16 (KHS134) - Lab 5 (table, obstacles, line, light - digital brain) .
  • Nov 17 (ENG211) not ILC102! -Lab 5 (table, obstacles, line, light - digital brain) .
  • -must be working by beginning of class period. Deadline proposal for presentation topic

  • Nov 22 (ENG211) - Lab 6 practice -not mandatory but highly recommended. TA will be present
  • Nov 23 (KHS134) - Lab 6 (odometry) .
  • Nov 24 (ENG211) not ILC102! - Lab 6 (odometry) .
  • Nov 29 (ENG211) - No lab, don't come!
  • Nov 30 (KHS134) - Presentations - first 1/3 of class.
  • Dec 1 (ENG211) not ILC102! -Presentations - remaining 2/3 of class.
  • Note: Slides titled 'ferworn_...' are courtesy Dr. Alex Ferworn who taught CPS607 for many years.


    Final Presentations
    As part of the course, each student must prepare a presentation on some aspect of their robot, or robotics in general. Below, in order of appearance, are the presentations from fall 2010.

    Work in progress! I have some of the talks and videos up there, but not all. Please check back later. Please email and point out errors if you see them.

  • 2010 - Mohamed Mostafa - Omni Tracks slides , Youtube presentation video .
  • 2010 - Radu Trambitas and Nick Korostelev- subject slides , Youtube presentation video .
  • 2010 - Geoffrey Aliling and Michael Maggio- subject slides , Youtube presentation video .
  • 2010 - Robert Mazzatto and Aaron Peter- Rise and Fall of Battle Bots slides , Youtube presentation video .
  • 2010 - Amina Khalique and Luka Lucic - Robot Development at Boston Dynamics. Youtube presentation video .
  • 2010 - Edwin Chan and Austen Joe - UAV's slides , Youtube presentation video .
  • 2010 - Chris Harmata and Alireza Khodadad- Robotic Fish slides , Youtube presentation video .
  • 2010 - Matthew Hristovski and Michael Di Nicola- Humanoid Robots slides , Youtube presentation video .
  • 2010 - Patrick Woo and Andrew Law - Humanoid Robotics slides , Youtube presentation video .
  • 2010 - Xui Yang and B. Khan- Making PCB's slides , Youtube presentation video part 1/3 , part 2/3 . part 2/3 ,.
  • 2010 - Johnny Ngo and Kiet Tuan Vuong - Robotics Competitions slides , Youtube presentation video .
  • 2010 - Sara Vossoughi- Stepper Motors slides , Youtube presentation video .
  • 2010 - Joel La Croix - Wearable Robots slides , Youtube presentation video part 1/2 , part 2/2 .
  • 2010 - Adam Blake - Computer Vision slides , Youtube presentation video part 1/2 , part 2/2 .
  • 2010 - Jay Wong - Evolution of Androids slides .
  • 2010 - Matthew Ho - Canadarm slides .

  • Presentation Ideas
    Here are some ideas, use them for feel free to pick your own.
  • Stepper motor controller - Hyperterminal serial control of stepper motor position
  • sonar range finder circuit
  • implement colour blob detection with USB or wireless camera -provide distance output to AVR
  • behaviour simulator - 2D GUI simulator of different behaviours with stimuli input (Java?)
  • physics investigation into SUMO robots (friction, force, etc)
  • List and description of robot competitions - Robocup, etc
  • Math for omniwheels

  • Data Sheets:
  • We will use AVR microcontrollers with boards using either theAtmega168 or Atmega8535. Atmega 168 data sheet , Atmega 8535 data sheet . The Atmega 8535 is on the lab board , here is the board's datasheet .
  • Here is a webpage on the USB/serial adapter .
  • ULN2001a data sheet
  • sn754410 TTL controlled h-bridges
  • LM339 datasheet (quad diff-amp).

  • Robot Parts:
    Robot Parts:
    Here are a list of some places to buy parts. Remember, no robot kits allowed in CPS 607!
  • Active Surplus Annex . On Queen Street between Univ. and Spadina, past City TV on the south side, second floor
  • http://www.creatroninc.com/ near College and Spadina
  • Above All Electronics
  • http://robotshop.ca/
  • http://www.robotcraft.ca/webshop/
  • http://robotsinsearch.com/
  • CustoBots International
  • More stores listed in this store list webpage courtesy Richard Lee.