Introduction to Robotics
This class will teach the basics of how robots move, how they can sense (perception), and how they can reason about their environment (planning) using Rethink Robotics’ “Baxter”, a two-arm manipulator robot.
Lecture materials are supported by computer exercises using the robot operating system ROS and the simulation software “Gazebo” . Exercises will cover understanding ROS, planning and programming and are geared to prepare the students to implement a project on the “Baxter” robot, leading to a poster demonstration at the end of the class.
The students will work in teams of 2 to 3 and develop controllers putting concepts taught in class into practice.
Prerequisites: programming experience in C/C++ and/or Python, discrete math class, trigonometry and probability theory.
Meetings: Monday 2:00-4:30pm ECCS 1B21, Wednesday 10:00-11:30 ITTL 1B50
|Week 1 – Aug 26||Introduction to the lab||Class Overview|
|Week 2 – Sep 2||Labor Day Holiday||Locomotion and Manipulation|
|Week 3 – Sep 9||Message passing in ROS (Homework 1)||Forward and Inverse Kinematics I: simple arms|
|Week 4 – Sep 16||Transformations in ROS (Homework 2)||Forward and Inverse Kinematics II: mobile robots|
|Week 5- Sep 23||Inverse kinematics of a differential wheel robot (Homework 3)||Forward and Inverse Kinematics III: Denavit-Hartenberg scheme and numerical methodsHomework 1 due|
|Week 6 – Sep 30||Path PlanningHomework 2 due|
|Week 7 – Oct 7||Path planning using MoveIt!(Homework 4)||SensorsHomework 3 due|
|Week 8 – Oct 14||Vision using OpenCV (Homework 5)||Vision|
|Week 9 – Oct 21||Point cloud analysis using PCL||Feature extraction|
|Week 10 – Oct 28||Project||Uncertainty and Error Propagation|
|Week 11 – Nov 4||Project||Grasping|
|Week 12 – Nov 11||Project||How to write a paper|
|Week 13 – Nov 18||Project||Debates|
|Week 14 – Nov 25||FALL BREAK||FALL BREAK|
|Week 15 – Dec 2||Project||Debates|
|Week 16 – Dec 9||Project presentations||Course-wrap-up / Q&A|
The “Introduction class” is offered as CSCI 3302 and ECEE 3303 in Fall 2013. We are meeting twice a week. We meet on Wednesday from 10:00-11:30am in ITLL 1B50 for lecture and on Monday from 2:00pm-4:30pm in ECCS 1B21 for the lab exercise. There will be a lab in the first week of class.
Please visit me in my office ECOT 733 or lab ECCS1B21 or by appointment.
Lab assignments will require access to Ubuntu 12.04 LTS, ROS Groovy or Hydro and Gazebo. A virtualbox containing Ubuntu 12.04 with ROS Groovy is available from here. This is sufficient for the first few labs. You will need to install Oracle’s VirtualBox (available for Windows, Linux or Mac) as well as the extension pack.
Optimally, you install ROS Hydro and Gazebo on your notebook computer, which will allow you to simulate and control Baxter in the lab.
- 45% Homework
- 55% Project / Debates / Class participation
Homework focussing on theory will be available from this website in due course.
Dancing robot: Make Baxter dance based on sensor input from its cameras and sound.
Painting robot: Turn images into motion plans sent to Moveit
Coffee machine: Have Baxter operate our Google coffee machine using vision and motion-planning
Rehabilitation: Learn repetitive motions for rehabilitation by demonstration
with Denver Assistive Technology Partners
Barcode-based manipulation: Use bar-codes to identify and grasp objects
Program robots using Sikuli: extend Sikuli script/slides to not only control GUIs, but robots
with Prof. Tom Yeh
The final deliverable for the project is a demo and 36 x 24 (width x height) poster.
- Robots putting humans out of work is a risk that needs to be mitigated. Group 1 is Yes and Group 2 is No.
- As robots from autonomous lawnmowers to robotic cars are sold as “intelligent systems”, liability for robots should entirely lie by its manufacturer. Group 3 is both Pro and Contra.
- Robots should have the capability to autonomously discharge weapons / drive around in cities (autonomous cars). Group 4 is Yes and Group 5 is No.
- Intelligence is only possible with embodiment. Group 6 is Yes and Group 7 is No.
- Robots do not need to be as cognitive as humans in order to be useful as making the environment intelligent is sufficient.
- Robots need to be made differently than from links, joints, and gears in order to reach the agility of people
Debates will be evaluated in equal parts to the
- quality of the presentation and defense. Note: it is not your personal opinion that counts but to execute a clear Pro or Contra argument.
- quality of the background research. What is the (technical) state of the art in robotics in your debate topic?
- ability to ground arguments in technical facts.
Please refer to the following guidelines on disability, medical conditions, religious observances, behavioral rules, and honor code.