The challenge in Unified Robotics II was to coordinate 3 robots to solve a maze that has a variety of obstacles and variations. The primary obstacle of the challenge is finding and opening a gate to the goal. The location of the gate is randomized, but is given by an april tag that must be scanned by a camera. In order to find what IR signal must be emitted to open the gate, one romi must find the location of the IR button. The Romi robots must communicate using an MQTT broker in order to coordinate and solve the maze.
All of the robots were programmed using state machine methodology. The IR homing Romi robot's state machine is shown to the right. The state machine methodology provided sufficient flexibility to adapt to the many potential randomizations within the maze.
HC-SR04 was used for wall following due to its overall reliability. Echo must be on an interrupt pin for good readings. Sharp IR was chosen for wall detection, worked well as mechanical solutions could account for its range issues. The IR Receiver was wired to pin 14 as an interrupt because remote signals can be very important for emergency stops. The IR Beacon was wired into I2C for ease of access and data capabilities. ESP32 was wired in UART because of it’s data capabilities and ease of access. Note the diagram to the left is for the Romi that searches for the IR button. The other Romi's have either an OpenMV camera to read an april tag, or a IR emitter to emit a signal.