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: Writing Sensory-Motor Loops in ROS2
- Day 4: What are Broader Impacts? // Threading, Params, Propostional Control, and Wall-Following
- Day 5: Debugging, Coordinate Frames, and Finite State Machines
State Estimation and Localization (+ Robot Application Contexts Discussions)
- Day 6: RoboBehaviors Debrief // Intro to State Estimation
- Day 7: Broader Impacts Discussions I // The Particle Filter for Robot Localization
- Day 8: Applications I // Conceptual Particle Filter
- Day 9: Broader Impacts Part 1 // Conceptual Particle Filter
- Day 10: Applications II // Bayesian Estimation
- Day 11: Debugging Strategies and Extensions // Studio Day
- Day 12: Beyond Particle Filtering and Studio Time
Machine Vision (+ Influences on Robotics Development Discussions)
- Day 13: Localiztion Debrief // Machine Vision Project Ideation
- Day 14: Applications III // Neato Soccer + Discuss Project Proposals
- Day 15: Keypoints // Studio Time
- Day 16: CA Lecture: Light Fields // Camera Calibration // Studio Time
- 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.