Please enable JavaScript.
Coggle requires JavaScript to display documents.
2017-2018 Robot Programming (Needs (Asynchronous, Easy to understand, Easy…
2017-2018 Robot Programming
Needs
Asynchronous
Easy to understand
Easy to program
Have Modules
Layout
Core Robot
Robot "Subsystems"
Contain methods to manipulate certain parts of robot
Reduce duplicate code
if broken or not working, then the function reflects that
Initialize "Subsystems"
Core Autonomous
Modules, that do different tasks with "Subsystems" of the robot
Only dependent on certain "Subsystems"
Reflects what "Subsystems" the module uses
Configuration Object
Module Name
"Subsystems" used
Maximum time to run module (For timeout)
Asynchronous so multiple modules can run at once
Only runs modules at the same time if they don't use the same "Subsystems"
Has timeout for each module
Only continues on to next "Step" if all modules are finished executing
Optional delay before a module starts executing in a step?
Way to select different options for each autonomous program
Team
Delay
Start Position
Core Teleop
Uses Robot to react to user commands
Constants
Stores constant information in a central location
Easy for human to change, and for the program to access
Links
Menu System
Another Example?
Actual Code
RobotBase
Timer
Subsystems
Needs Tick
Autonomous
Module
Start
Tick
Stop
Need to resolve references to the main autonomous code and robot
Init
Modules Array, Hardware Map, Robot
Should have user initialize robot and give that object reference to the system