Update Xbox Controls

Project

Task

Project Manager

Project

Task

Project Manager

 Drivetrain

 Modify Code to implement arcade drive

@Alex Szabo

Task Description

Need for project: Currently, the control for the rover is binary, where the rover can only go one forward, backward, left or right at any given time. This, however, is not the most efficient or intuitive way to control the rover. Instead, the arcade drive allows for a combination of these commands, whereas linear and rotational motion can now be combined to control the motors and offer more flexibility. This is called an arcade drive. In addition to this, speed ramping would be preferred to allow for smoother acceleration and stopping. To do this, PID control should be used.

Goal: Implement an arcade drive on top of the current Xbox controller logic and PID for speed ramping

Requirements:

Arcade drive functions properly with all combinations of quadrants, giving the expected output
PID control allows for smooth yet quick speed ramping.

Supporting Resources:

Arcade Drive - Robotics Simplified

https://github.com/billylin609/DrivetrainController/blob/develop_feature_arcade_contoller/STM/Core/Src/arcade_controller.c
PID Controller — ROS2_Control: Rolling Nov 2024 documentation

Constraints

Constraints

Author

Appended Date

Constraints

Author

Appended Date

N/A

N/A 

N/A 

Subteam Contacts

Subteam

Contact

Description

Subteam

Contact

Description

Software

Alex Szabo:
@Alex Szabo

For ROS2 Questions

Electrical

Yuchen:

@Yuchen Lin

Original Code questions and PID

Assignees

Assignee

Monday Task

Date

Assignee

Monday Task

Date

XX

Jul 21, 2024

Task Progression/Updates

Author: @person: 2024/05/04

UPDATE

  • Bullet points for updates

Communication

Communication must be proactive. The subteam lead will check in with you at least once a week to get a progress report update, but it is very important that when a roadblock occurs, you reach out for help and update Monday with a blocked or stuck status.

 

Blocked: for tasks that have dependencies on other projects that have not been completed yet

Stuck: you are unable to get something working.

 

Documentation

Upon making progression updates, please update the documentation page for this project with any critical information and resources.

Add documentation to this document: Xbox Contoller Input
Documentation Guide: SW/FW Documentation Guideline