The main goal of this repo is to provide a robust and lightweight simulation environment to test controls algorithms.
This is being developed by Wisconsin Autonomous, a student organization at the University of Wisconsin - Madison.
I have written detailed installation guides for this repository. Please follow the guide that is relevant to the operating system you're using.
Windows: Setup Guide
Unix (Mac and Linux): Setup Guide
These demos are to demonstrate the use case of the control_utilities package.
Demonstrates basic usage for the Path and RandomPathGenerator objects.
Prerequisites: demo_path.py
Demonstrates basic usage for the Track and RandomTrack objects.
Leverages the ProjectChrono software and control_utilities. Uses a very simple PID steering controller and throttle controller to pilot a vehicle around a random course. When run, it can be visualized using irrlicht and/or matplotlib. Matplotlib shows an entire track, however, just the centerline is used.
In progress...
General purpose PID controller that can be imported as a module and used as an object. Protection for common PID control issues including integral windup and derivative kick. Run as file for demo.
see pid-control
MPC controller and demo simulator for various obstacle representations.
see mpc-nus
Stay up to date with our technical info by following our blog.




