BinghamtonRover / BurtOS-2

Base station/rover computer apps and libraries for the Binghamton University Rover Team
3 stars 0 forks source link

Drive Subsystem Module #6

Closed superdan-t closed 2 years ago

superdan-t commented 2 years ago

Main Objective

Create the software module responsible for processing drive commands and writing motor speed to the ODrives. This task does not include interfacing with the ODrives (yet) since another member is currently developing our ODrive and CAN bus controller.

Design Info

Requirements

Future Considerations

Levi-Lesches commented 2 years ago
  • We want to support "in-place" turns where one side drives forward and the other in reverse. We have not worked out how this will actually work from a controller perspective. Suggestions are welcome

From what I know about controllers:

superdan-t commented 2 years ago
  • We want to support "in-place" turns where one side drives forward and the other in reverse. We have not worked out how this will actually work from a controller perspective. Suggestions are welcome

From what I know about controllers:

  • diagonal stick => forward/backward + turn => one side goes half-speed, the other goes full-speed
  • horizontal stick => turn in-place => one side doesn't move, the other goes full-speed

    • it could also be that one side goes backwards, the other side goes forwards. I think that's it

Thinking about this makes me realize that in-place turn will probably require a separate interface in this drive module (where we can set the left and right target speeds separately).

We'll have to experiment with the controller to see what we like most. Ideally, we will be able to reconfigure the bindings at runtime using our GUI once the product is more advanced.

I was thinking the primary drive mode would use right trigger for throttle/forward speed, left trigger for reverse speed, and left joystick for steering. The drive team lead suggested the rover should do an in-place turn if we are turning the joystick but applying no throttle.

superdan-t commented 2 years ago

Just cleaning up the old issues. I should've closed this back with #15