The Robo Ninja Warrior module teaches math, physics, and engineering content through fun, hands-on, and customizable challenges. The module includes three challenges that provide scaffolded opportunities to master new theory and apply it to programming a mobile robot to accomplish a task. Robo Ninja Warrior is part of a 12-credit, two course sequence at Olin College called Quantitative Engineering Analysis.
We use a low-cost robotic platform with powerful sensors, including LIDAR, bump detectors, wheel encoders, and an accelerometer. The robot can be put together for $350 and allows students to program it remotely on their own laptops using MATLAB’s ROS toolbox. This structure leads to an easy to manage classroom that can scale to many robots and many students.
Source files for this website and the assignments themselves can be found at https://github.com/qeacourse/RoboNinjaWarrior.
QEA is a highly interdisciplinary, integrated course for teaching technical content.
We chose to customized a Neato Robot vacuum for its low price and powerful sensors.
The module uses 3 robotics challenges to teach math, physics, and engineering content.
The documentation describes both how to connect to the the physical robot or a simulator and how to build your own customized Neato.
We have run this module successfully in a fully online manner. We were able to adapt the physical robot to a Gazebo simulation. Details on how to setup the virtual robot are integrated into the Meeto your Neato page.
Easy setup for students using Docker
Integrates with Amazon Web Services if you are interested in deploying the simulator in the cloud
Easy interface for collecting datasets from the robot (e.g., wheel encoder data) if you want students to analyze the robot’s sensor data.
Integration of lots of fun environments, including the bridge of doom with simulated volcano (see right image), a 3D simulation of Olin’s dining hall, and a low-friction ice rink world.
The opening day of the course includes a number of activities to introduce fundamental concepts in mobile robotics. The work is largely conceptual and lays the groundwork for the quantitative work to come.
The Bridge of Doom challenge involves programming the robot to successfully drive over a harrowing bridge. The bridge is made less harrowing since students have a parametric equation defining its shape. Students learn about robot kinematics, curves and motion, and using distance sensors to correct for errors.
In the Flatland challenge, students program their robot to ascend a virtual mounting using the concept of steepest ascent (in the past we also used a physical mountain). The challenge introduces concepts from numerical optimization and provides some light touch points with differential equations.
Day 4: Optimization
Night 4: Optimization and Gradient Ascent (night 4 with solutions)
Day 5: Flatland Challenge
Depracated Version
In the past we’ve done a version of this challenge where the Neato uses its accelerometer to implement steepest ascent to navigate to the top of a physical mountain.
An image of students watching their robot ascent the mountain
A video of a student’s robot ascending the mountain
The Gauntlet is an obstacle course with four difficulty settings (students can choose which one to complete). The challenge teaches robust optimization techniques, line and curve fitting, frames of reference, potential fields, and basic path planning.
The Robo Ninja Warrior module serves as a point of integration between many of the core areas of QEA (e.g., linear algebra, optimization, vector calculus, kinematics, and motion). The physical embodiment of these often abstract concepts is a strong contributor to the success of the module (as determined by student feedback). Despite the fact that the module 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 Collaboratory@olin.edu to start the conversation.
MORE ABOUT OLIN?