Our project for the 2017 National Museum of Math Hackathon. 1st Place Winner in the Open Math Exploration Category.
Alternatives To Momathhackathon
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Self Driving Car23
3 years agogpl-3.0Rust
A bot that loses at Rocket League
Introduction Docs13
3 years agoCSS
Traffic Simulation Cluj Napoca6
5 years agoJavaScript
Prototyping a traffic simulator for Cluj-Napoca using html5 canvas and a lot of maths and basic AI.
Rl Environnement For Autonomous Car4
4 years agoPython
In this repo, I used some math and image manipulation skills to create my own reinforcement learning environnement for autonomous car
Traffic Simulation3
4 years ago5apache-2.0Java
Some cars may crash, but never shall our project.
Phaser3 Road3
4 years agomitJavaScript
a pseudo 3D racing game similar to outrun built in phaser 3
6 years agomitHTML
Our project for the 2017 National Museum of Math Hackathon. 1st Place Winner in the Open Math Exploration Category.
Alternatives To Momathhackathon
Select To Compare

Alternative Project Comparisons

MoMath Hackathon 2017: Control Theory, the Math of Self-Driving Cars

  • Math Exploration: Other Stack - 1st Place Winner
  • Henry Williams and Benjamin Church

The Math

Our project explores control theory and feedback from a visual and intuitive perspective. Specifically, we interactively guide the viewer through constructing a proportional-integral-derivative (PID) controller, one of the simplest and most powerful general control systems. The purpose is to alter the behavior of a dynamical system under some constraints on our control over the dynamics. Phrased another way, a controller is a map from an input signal driving our dynmaical system to an output signal which we hope satisfies some property, generally minimising some measure of error.

Although highly important to and inspired by engineering, control theory and the larger theory of dynamical systems is highly important in pure and applied mathematics for it forms of the foundation of studies of chaotic and ergodic systems. PID controllers in particular serve as an intuitive representation of the applications of calculus, and thusly blend learning about the underlying mathematical concepts with learning their uses.

The implementation we built shows the behavior of a second-order differential system under various simple control schemes. The project uses numerical integration to calculate the paths with our error measure being the minimum distance to the target path. These functions representing these paths are shown symbolically and the paths are represented visually on a dynamic web-app.

The Submission

Our submission comes in the form of a library of Python functions for graphical representations of PID systems and a web-application with a full interactive tour of PID controllers. The mathematical point of our submission is to provide users and museum guests an introduction to the power of control theory through the lens of PID and self-driving cars.

We illustrate our core mathematical concepts with highly visual and engaging interactive demonstrations of how the different terms in a PID controller add to the whole and accomplish the purpose of autonomous pathfinding. In addition, we endeavour to keep math jargon to an absolute minimum, and to guide our viewers to the important mathematical intuitions of PID controllers though guided questions rather than spelling the answers out.

Research has shown intuitive introductions to the topics of calculus is often more engaging to young children than algebra and arithmetic. We envision a broad audience, especially with a potential theme of competing self-driving RC cars with PIDs designed by our users. Even so, we'd hope to include more advanced resources with the exhibit for those interested to pursue.

Additional Notes


We have provided two methods of interfacing with our web app:

  1. A hosted web-service on the free Heroku hosting platform: webapp
    • Since this is a free hosting service, this version is extremely slow and cannot handle many users at a time, it is purely for demonstration purposes
  2. A Python Flask server to be run on either a users computer or a computer hosting an exhibit

To host the server locally:

git clone [this repo]
cd [project folder]
pip install -r requirements.txt

The local server IP will be provided by Flask.

Potential Exhibit

In creating our digital platform and visualizations, we hope to lay the groundwork for a potential full exhibit exploring these same concepts. In a full exhibit, the museum could feature real RC cars and allow visitors of all ages to tweak the parameters of their control systems, demostrating how the fundamental concepts of integration and derivation apply to the real world.

The Team

Benjamin Church is a rising Columbia junior and Henry is a rising high school senior. We attended high school together and competed on the same VEX robotics team, where we learned the fascinating mathematics, engineering, and computer science behind building competition robots. In addition, we competed together on a finalist team in MIT's Battlecode AI Competition.

Popular Mathematics Projects
Popular Car Projects
Popular Mathematics Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Control Systems