Skip to content

Conversation

chfriedrich98
Copy link
Contributor

Solved Problem

Continuation of #24836.

This PR updates the differential module to the following control structure:
rover_refactor6

This is done to prepare the rover modules (and the RoverSpecificSetpoints) for access through API and is achieved through the following steps:

  1. Seperate Actuator Control: This streamlines the Input/Output flow of the rover specific uORB messages.
  2. Update Position Control: So far, in auto and manual position mode, position control directly published RoverVelocitySetpoints.
    Position control now always turns a RoverPositionSetpoint into a RoverVelocitySetpoint which further streamlines the Input/Output flow of the rover specific uORB messages.
  3. Centralize mode management, resets, checks and setpoint generation: This is now all done in RoverDifferential. Based on the control mode, it will generate RoverSetpoints and update the necessary controllers . Further, sanity checks are now only performed on parameter or control mode changes.

Tests

Tested in SITL
Hardware tests:

@chfriedrich98 chfriedrich98 requested a review from sfuhrer May 27, 2025 14:23
@chfriedrich98 chfriedrich98 self-assigned this May 27, 2025
@chfriedrich98 chfriedrich98 moved this to 👀 In Review in PX4 Rover May 27, 2025
@chfriedrich98 chfriedrich98 merged commit 38bcc50 into main May 28, 2025
72 of 75 checks passed
@chfriedrich98 chfriedrich98 deleted the pr-differential_task_manager branch May 28, 2025 07:03
@github-project-automation github-project-automation bot moved this from 👀 In Review to ✅ Done in PX4 Rover May 28, 2025
@Pedro-Roque
Copy link
Member

Pedro-Roque commented Jun 4, 2025

Just wanted to say Great Work @chfriedrich98 ! (on this and the other rover modules)

@chfriedrich98
Copy link
Contributor Author

@Pedro-Roque Thank you, i appreciate that!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

3 participants