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
PhotosandMUXlibraries. 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