Skip to content

Robot Changelog

Several improvements were made from the previous version.

Hardwarewise

  • Usage of Teensy 4.1 (previous gen: Arduino Mega Pro & ESP32)
  • Weight increment to 1.350 kg (previous gen: 0.900 kg)
  • Usage of BNO085 (previous gen: BNO055)
  • Usage of TSOP4038 receivers (previous gen: TSSP58038)
  • Usage for red ultrabright LEDs for striker (previous gen: white ultrabright LED)
  • Added 3 extra IR receivers
  • Added kicker to defender
  • Added three power switches, one to pass current to the battery, another one to initialize logic, and the last one to initialize motors.

Drafted hardware changes

  • Added dribbler to striker. Removed due to phototransistor space conflict
  • Attempted to replace all LEDs. Removed due to insufficient material

Softwarewise

  • Completely new implementation of Photos and MUX libraries. The method to detect line was formalized, and it can now compare between each and every one photoresistor rather than doing an average.
  • Partial refactoring of sensorControl (formerly named: sensor_control) to include 15 IR receivers. Modified angle retrieval method, it now uses vector components with SMA to act as the kernel in order to get the final angle.
  • Completely new implementation of PID, constructor now allows to set a minimum and maximum PWM with a deadband in order to prevent the motors from getting less PWM than what they need in order to move.
  • Added a robot class in order to initialize all sensors on a single environemnt, not needing to worry for proper library imports in tests.
  • Changed BNO library in order to work with BNO085

Drafted software changes

  • Made binarySerializationData for a more proper form of communication between AtMega & Teensy. Unused due to only returning a single variable
  • Made an IMU library as a temporary measure in order that works similarly to a BNO, with the only difference being that it does not contain a metallic anchor. Unused in favour of using BNO085