David Foster


ARCAMS (Autonomous Robot Control and Monitoring System) is a graphical program for collecting data from, monitoring, controlling, and programming the US FIRST robot of the Gear Grinders robotics team. This project has about 6,200 lines of code.


One of the most impressive parts of this program is a custom graph widget that I wrote which can display one or more scatterplots at the same time. Displayed scatterplots need not have the same X and Y axes. For example you could display graphs of (1) the PWM signal being sent to the wheel versus time and (2) the main battery voltage versus time simultaneously. In that example there would be two Y axes (PWM and Volts) and one X axis (seconds).

Another useful feature of this program is its unit conversion system. This allows commands (e.g., move body forward 3 feet) to be specified in whatever units the user feels most comfortable with. Quantities are automatically converted to use the robot's native units (e.g., wheel encoder ticks).


The ARCAM graph widget
Custom graph widget that is capable of display multiple scatterplots at the same time. The widget supports displaying multiple X and Y axes as needed, depending on which channels are selected.