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 Simulator
- 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 // ROS2 Concepts
- Day 3: Writing Sensory-Motor Loops in ROS2
- Day 4: What are Broader Impacts? // Threads and Driving in a Square
- Day 5: Debugging, Finite State Machines, and Wall-Following
State Estimation and Localization (+ Robot Application Contexts Discussions)
- Day 6: RoboBehaviors Debrief // Intro to State Estimation
- Day 7: Discussion Frameworks // The Particle Filter for Robot Localization
- Day 8: AI and Robotics I // Conceptual Particle Filter
- Day 9: Broader Impacts Discussions I // Conceptual Particle Filter
- Day 10: AI and Robotics II // Re-Sampling and Pose Estimation
- Day 11: Debugging Strategies and Extensions // Bayesian Fundamentals
- Day 12: Beyond Particle Filtering: Kalman Filters
Machine Vision (+ Influences on Robotics Development Discussions)
- Day 13: Localization Debrief // Machine Vision Project Ideation
- Day 14: Human-Robot Interaction I // Neato Soccer + Discuss Project Proposals
- Day 15: Camera Calibration // Keypoints and Descriptors
- Day 16: Human-Robot Interaction II // CA Lecture: Light Fields
- Day 17: Broader Impacts Discussions II // Image Segmentation
- Day 18: Studio Time
- Day 19: Machine Vision Showcase + Final Project Kickoff
Final Project (+ Implications of Robots Discussions)
- Day 20: Project Proposal Generation
- Day 21: Applications IV // Project Work Time
- Day 22: CA Lecture: Launch Files // Project Work Time
- Day 23: Applications V // Project Work Time
- Day 24: Mini-Lectures // Project Work Time
- Day 25: Applications VI // 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.