The Olin College course “A Computational Introduction to Robotics” (CompRobo) serves as a tour through some of the most important ideas at the heart of modern robotics. The course utilizes a project-based learning pedagogy that allows students to build mastery of key concepts while also allowing for a great deal of student choice and autonomy. The major focal points of the course are state estimation, localization, computer vision, decision-making, and societal implications of embodied systems.
Robot Details and Documentation
The documentation describes both how to connect to the the physical robot or a simulator and how to build your own customized Neato.
Student Facing Documentation
- Setting up Your Computer, Using the Neatos, and Using the Turtlebot 4
- Useful Resources and Sample Code
Teaching Team Documentation
RoboBehaviors and Finite State Machines Project
The first project, RoboBehaviors and FSMs (finite state machines) provides a scaffolded assignment for students to get up to speed with important concepts in ROS through implementing compelling behaviors on a robot. The project emphasizes the establishment of good practices such as debugging techniques and visualization.
Supporting Documents
Robot Localization Project
The Robot localization project is a scaffolded assignment for students to learn about the particle filter algorithm. Along the way they will learn some basics of Bayesian inference and some new ROS tools and workflows.
Supporting Documents
The Broader Impacts of Robots
By virtue of being embodied, robots can literally change the world. Daily in-class activities and a 3-part assignment examine the impacts and implications of robotic systems and algorithmic choices made in their design.
Supporting Documents
Machine Vision Project
The machine vision project is an open-ended project on using computer vision in the context of robotics.
Supporting Documents
Final Project
The final project is an open-ended project that lets students explore a robotics topic and algorithms in depth.
Supporting Documents
In-class Activities
Note: see Site-wide TOC for an easy to navigate outline of each day’s activities Note: Subject to change as the semester unfolds!
RoboBehaviors and Finite State Machines (+ Broader Impacts of Robots Discussions)
- Day 1: Welcome!
- Day 2: The Landscape of Modern Robotics // Basic ROS Concepts + Teleoperation
- Day 3: What are Broader Impacts? // Writing Sensory-Motor Loops in ROS2
- Day 4: Coordinate Frames, Debugging, Proportional Control, and ROS Parameters + Wall-Following
- Day 5: Finite State Machines // Studio Day
State Estimation and Localization (+ Robot Application Contexts Discussions)
- Day 6: Intro to Search and Rescue // A 1D Particle Filter
- Day 7: Searching for What? // The Particle Filter for Robot Localization
- Day 8: Search and Rescue Algorithms I // Robot State Estimation and Bayes
- Day 9: Intended Use // Computing Relative Motion
- Day 10: Search and Rescue Algorithms II // Computing Motion and Likelihoods
- Day 11: Applied SAR Robotics // Debugging Strategies, Extensions, and Studio
- Day 12: Search and Rescue Debrief // Studio Day + Introduction to Machine Vision Project
Machine Vision (+ Influences on Robotics Development Discussions)
- Day 13: Sustainability Vectors // Machine Vision Project Ideation
- Day 14: Waste Sorting with Robots // Neato Soccer + Discuss Project Proposals
- Day 15: Broader Impacts Discussion Session 1 // Keypoint Matching and Descriptors
- Day 16: Broader Impacts Discussion Session 2 // Camera Calibration
- Day 17: Broader Impacts Discussion Session 3 // Image Segmentation
- Day 18: CA Lecture: Visual Odometry and SLAM // Studio Time
- Day 19: Machine Vision Showcase + Final Project Kickoff
Final Project (+ Implications of Robots Discussions)
- Day 20: Project Proposal Generation
- Day 21: Automated Labor Landscape // Project Work Time
- Day 22: Economics of Automation // Project Work Time
- Day 23: Autonomy vs Intelligence // Project Work Time
- Day 24: Sociotechnical Systems // Project Work Time
- Day 25: Labor and Automation Debrief // Project Work Time
- Day 26: Project Work Time
- Day 27: Final Project Showcase and Semester Reflection
Bonus Materials (e.g., Recitations)
- Recitation Example Code
- On Kalman Filtering
- On Computing Tools for Machine Vision
- On Simple Image Handling with OpenCV
- Resources for an Introduction to Factor Graphs
- An A* and RRT* Crash Course
- Basics of Manipulation
Conclusion and Learning More
CompRobo serves as a fun, hands-on introduction to key ideas in robotics algorithms and toolsets. Despite the fact that the course is successful at Olin, we realize that everyone’s institutional context is different. To connect with folks at Olin College to learn more about this module or determine how you might build off of this at your own institution, e-mail Olin’s External Programs and Partnerships to start the conversation.