Skip to content

Add MuJoCo formation-flying scenario with OE feedback#1267

Open
juan-g-bonilla wants to merge 5 commits intodevelopfrom
feature/1195-scenarioFormationFlyingWithDrag
Open

Add MuJoCo formation-flying scenario with OE feedback#1267
juan-g-bonilla wants to merge 5 commits intodevelopfrom
feature/1195-scenarioFormationFlyingWithDrag

Conversation

@juan-g-bonilla
Copy link
Contributor

Description

This branch adds a MuJoCo-based formation-flying scenario and the supporting modules needed to command deputy control forces from orbital-element feedback.

Commits are organized by feature:

  • 8dce47d adds CmdForceInertialToForceAtSite (module, SWIG, unit test, docs).
  • 47ad1cb adds orbElemOffset (module, SWIG, unit test, docs).
  • 2f609d8 adds OrbitalElementControl as a LinearTimeInvariantSystem subclass (module, SWIG update, unit test, docs).
  • b65cf2a adds examples/mujoco/scenarioFormationFlyingWithDrag.py and indexes it in examples/_default.rst.
  • ec94c1e updates docs/source/Support/bskReleaseNotes.rst with the new modules/scenario.

Verification

Validation artifacts included in this branch:

  • Added unit test: src/simulation/mujocoDynamics/cmdForceInertialToForceAtSite/_UnitTest/test_cmdForceInertialToForceAtSite.py
  • Added unit test: src/fswAlgorithms/orbitControl/orbElemOffset/_UnitTest/test_orbElemOffset.py
  • Added unit test: src/simulation/mujocoDynamics/linearTimeInvariantSystem/_UnitTest/test_orbitalElementControl.py
  • test_scenarioMujoco.py runs the new scenario.

Test intent:

  • cmdForceInertialToForceAtSite: verifies inertial-to-site force rotation and source-priority behavior (NavAtt over fallback SCStates).
  • orbElemOffset: verifies element-wise offset mode and mean-anomaly-offset mode.
  • orbitalElementControl: verifies force output consistency against meanOEFeedback (near-zero J2) for proportional and integral configurations.
  • Assert test runs and produces figures for documentation.

Documentation

Documentation updated for all added components:

  • src/simulation/mujocoDynamics/cmdForceInertialToForceAtSite/cmdForceInertialToForceAtSite.rst
  • src/fswAlgorithms/orbitControl/orbElemOffset/orbElemOffset.rst
  • src/simulation/mujocoDynamics/linearTimeInvariantSystem/orbitalElementControl.rst
  • examples/mujoco/scenarioFormationFlyingWithDrag.py (scenario narrative and figures in docstring)
  • examples/_default.rst (scenario indexing)
  • docs/source/Support/bskReleaseNotes.rst (release-note entries)

@juan-g-bonilla juan-g-bonilla self-assigned this Feb 15, 2026
@juan-g-bonilla juan-g-bonilla requested a review from a team as a code owner February 15, 2026 02:32
@juan-g-bonilla juan-g-bonilla added documentation Improvements or additions to documentation enhancement New feature or request labels Feb 15, 2026
@juan-g-bonilla juan-g-bonilla changed the title Feature/1195 scenario formation flying with drag Add MuJoCo formation-flying scenario with OE feedback Feb 15, 2026
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ec94c1e045

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@juan-g-bonilla juan-g-bonilla force-pushed the feature/1195-scenarioFormationFlyingWithDrag branch 3 times, most recently from d4598c3 to 8744b1d Compare February 15, 2026 19:45
@juan-g-bonilla juan-g-bonilla moved this to 👀 In review in Basilisk Feb 16, 2026
@juan-g-bonilla juan-g-bonilla force-pushed the feature/1195-scenarioFormationFlyingWithDrag branch 2 times, most recently from 4881452 to 246c685 Compare February 16, 2026 17:55
Copy link
Contributor

@schaubh schaubh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mostly small stuff, nice PR!

@juan-g-bonilla juan-g-bonilla force-pushed the feature/1195-scenarioFormationFlyingWithDrag branch from 246c685 to 988011b Compare February 17, 2026 03:03
Copy link
Contributor

@schaubh schaubh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left one comment to consider. The RigidBodyKinematics.c/h library has the wrapToPi() method that is more general than your angleWarp method. Want to just use it? I'll leave it up to you.

@juan-g-bonilla juan-g-bonilla force-pushed the feature/1195-scenarioFormationFlyingWithDrag branch from 988011b to dabd86b Compare February 17, 2026 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

Add scenario demonstrating formation flying with drag with MuJoCo

2 participants