Why MaterBot - MDHSRobotics/TeamWiki GitHub Wiki

Home / References

Why MaterBot?

Purpose

WPILib provides a base robot framework, however this framework is very basic. The purpose of this project is to built upon the foundation provided by WPILib and add additional features that can be used from season to season.

Typically, the Robot class is derived from the IterativeRobot class. Using Java's inheritance and encapsulation capabilities, MDRobotBase interjects a class in the middle of the hierarchy to add new features and improve other features.

MDRobotBase Class Hierarchy

Features

  • Improved Configuration which facilicates the composition and configration of a robot and includes the use of the Preferences Framework to persist setting changes
  • MDConsole Support which enables the use of MD console to configure robot settings and observe robot events, sensor readings, and log messages
  • Improved Logging which faclilitates debugging and supports the ability to send log messages to the MDConsole
  • Core Subsystem which provides the ability to set certain core robot settings via the configruation framework
  • WebSockets Subsystem which provides the ability to stream data to the MDConsole
  • Diagnostics Subsystem which periodically scans sensor readings and sends them to the console for display or recording
  • Drive Sybsystem with the ability to select tank, mecanum, or 4 wheel drive via configuration settings and the ability to tune drive settings via the console
  • ADIS16448_IMU Gyro Implementation so that this gyro can easily be added on any robot
  • I2C Arduino Extension which allows us to add Artuino devices, sensors and actuators as extensions to our RoboRio robot