CSE lecturers Christopher Barngrover (near right) and Greg Hoover are looking for more M.S. students to take their CSE 291 three-course sequence, which kicks off this fall with Barngrover's Introduction to Robotics Software course. (It's a graduate-level course, but Barngrover says they have allowed upper-class undergraduates in under special circumstances.) It was launched last fall as part of the UC San Diego Master's Program in CSE. Students who wanted to go on to take the final Robotics Project course were required to have taken either the systems course taught by Hoover or the software course with Barngrover. The first project course was taught in Winter 2016 by both Hoover and Barngrover jointly, and the project teams were formed to reflect the students' relative experience in either hardware and systems or software skills.
"The three courses were designed to teach fundamental hardware and software design skills necessary for building robotic systems," said Barngrover, who is also a research scientist at the Space and Naval Warfare (SPAWAR) Systems Center Pacific working on robotic control and perception in its Unmanned Systems Group. The lecturer is also a CSE alumnus (M.S., Ph.D. '10, '14). "The project course challenged teams of students to complete targeted goals. At each challenge, students had to apply their hardware and software skills as well as their ingenuity to create robotic systems performing specific tasks."
Hoover's systems course teaches hardware/software interface via integration with sensors, peripheral devices, and the iRobot platform. Students can expect to gain hands-on experience with microcontroller architecture, I/O, communication protocols, task management, bare-metal programming in C, embedded Linux, and more. Barngrover's software course provides a foundation in robotic software frameworks with a focus on the Robot Operating System (ROS) on both laptop and embedded environments. Students learned about modeling, simulation, perception, controls, path planning, route execution, and more, and they gained hands-on experience with the framework in an embedded system with active peripherals. (To view student team presentations at end of Fall 2015 quarter, click here.)
Over last winter, the Robotics Project course involved the development, construction and testing of autonomous vehicles (pictured) that would be able to compete in a final competition. Each team was given the same hardware and guidance. The goal: to find, collect and return balls of different colors.
Each team's robot had to pick up and carry each ball back and drop the ball into the team's bucket in order to gain points. To make the task more interesting, the number of points varied according to the color of the retrieved ball (orange balls were worth twice the points of green ones). At the end of the winter course, five teams competed for points, and all of each robot's movements had to be done autonomously (see CSE 291 final competition on YouTube). The only exception to the autonomy rule: each team was allowed a set number of times when a team member could 'reset' the robot back on the course (a flexibility that most of the teams took advantage of during the early part of the final competition). All resets, however, came with a minimum 3-minute penalty to make any repairs and return the robot to the starting line.
All of the teams participating in the winter course came with intriguing titles: Coconuts; SpeedyDug, Double-O-One, Popsicles, and Hand of ROS. "Each team also maintained a wiki on a private bitbucket account where we could see their code and status," noted Barngrover.
Now that the inaugural series of courses is behind them, the lecturers hope to expand the number of graduate students taking the sequence. They also anticipate that expanded enrollment could make it easier to get approval for a new 'concentration' in Robotics and Vision in connection with CSE's M.S. program.
Watch the final competition of the Winter 2016 Robotics Project course on YouTube.
View final projects of the Fall 2016 Introduction to Robotic Systems course.