ipgm is a complete supervisory system. It uses image processing to read the state of sensors. The supervisor control logic is modeled with IDES, a tool for Discrete-Events Systems.
A compiler, written in python, compiles the IDES output to a C program to be executed in a PIC microcontroller.
The following video shows the system running:
