Differential: Control structure update#24923
Merged
chfriedrich98 merged 3 commits intomainfrom May 28, 2025
Merged
Conversation
sfuhrer
approved these changes
May 27, 2025
Member
|
Just wanted to say Great Work @chfriedrich98 ! (on this and the other rover modules) |
Contributor
Author
|
@Pedro-Roque Thank you, i appreciate that! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Solved Problem
Continuation of #24836.
This PR updates the differential module to the following control structure:

This is done to prepare the rover modules (and the RoverSpecificSetpoints) for access through API and is achieved through the following steps:
Position control now always turns a RoverPositionSetpoint into a RoverVelocitySetpoint which further streamlines the Input/Output flow of the rover specific uORB messages.
RoverDifferential. Based on the control mode, it will generateRoverSetpointsand update the necessary controllers . Further, sanity checks are now only performed on parameter or control mode changes.Tests
Tested in SITL
Hardware tests: