Micromouse Software

Micromouse Software
Links to helpful information from each year's robot are below, as well as a description of what worked and what didn't.

Source
The source code used for this year is available on Github

MATLAB/Simulink
The first plan was to use MATLAB/Simulink to program either some part or all of our robot. This was desirable because of the ability to design a control system using Simulink and be able to test it both in simulation and in the real world. In addition, MATLAB could also be used to program more of the logic-based algorithms and was seen as an easier and quicker alternative than C/C++ in the Arduino IDE. The largest problem that came about with using MATLAB/Simulink for our robot was that communication over I2C to our sensors proved very difficult to get working. There were multiple Simulink blocks that were specifically made to create drivers in C/C++ for Arduino, but none of these proved fruitful. Therefore, we rapidly switched to creating only C/C++ code for Arduino.

Arduino
The Arduino IDE and it's C/C++ stack are what we ended up using to program our robot. Using an Arduino as our computing platform had both advantages and disadvantages over other options.

Libraries
DueTimer

Adafruit_VL6180X