Drivetrain
Requirements
...
...
- Wireless
...
Base Station:
- Show log of joint torques (current logging and speed logging)
- Show log of joint speeds
- Just a regular laptop
Controller:
- Able to read off of 6 encoders (live speed readings)
- Potentially need to read 6 current sensors (2 pins each)
- Open loop
- Arduino Mega?
- Raspberry Pi?
- FRC Controller?
- STM32?
- Conclusion: Arduino Mega → simple to code, simpler to debug
Motor Driver:
- Cytrons? → need to buy enough to supply both arm and drivetrain systems
Motors:
- TBD
Encoders:
- TBD
Misc.
- Emergency stop (maybe physical?)
- Control 6 motors → lump each side into one control signal
- Implement current sensors
- Controlled using Xbox
Control system
- Controller → Base station
- Base station interfaces with the Xbox controller code
- Base station → Pi Web Server
- Pi Web Server interprets the controller's commands and broadcasts it to the Python's wifi
- Pi Web Server → Control thread → Motors
- Python executes the commands to control the motors
To do - Drivetrain
- Develop wiring plan for drivetrain and arm control systems→ Mathieu
- Create microcontroller code
- Create x-box controller code
- Create base station GUI
- Verify open-loop communication between encoders and base station
- Develop Bluetooth communication
- Set-up communication between microcontroller → computer → x-box
...
- base station code (Python) → Sahil
- Create Pi Web Server code → Emily
- Create control thread code to run the motors → Mathieu
...
Arm
Requirements
- Implement current sensors
- Control 6 motors independently
- Controlled using Xbox
Control system
- Controller → Base station
- Base station interfaces with the Xbox controller code
- Base station → Arduino MEGA → Motors
- Arduino MEGA interprets the controller commands and executes them to run the motors