Repository navigation
Conversation
This branch has not been deployed
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.
Description
Add
scenarioMovingCamera.pyto demonstrate two independently commanded instrument-camera platforms on a spacecraft with a fixed prescribed attitude. Native rotation and translation profilers read command messages, including new commands at 15 seconds. Platform configuration messages supply inertial poses tovizInterface; each camera is attached to its own named platform.The example uses massless kinematic platforms and zero platform center-of-mass offsets so the logged pose and camera parent-frame origin coincide. It demonstrates independent camera pose commands, not closed-loop target tracking, actuator dynamics, or a new input port on the image-corruption module. The camera documentation explains how to use the existing platform subscriptions with
cameraConfigOutMsg. No native implementation or public API changes.Verification
Local validation used macOS arm64, Python 3.12, NumPy 2.3.5 and the official Basilisk 2.12.0 native wheel. A wider
vizInterfaceregression collection could not run because that wheel lacks the generatedBasilisk.utilities.vizProtobuffer.vizMessage_pb2decoder. New tests validate actual native visualization buffers without that decoder. Rendering in Vizard, a native build of current develop, the full project suite and upstream CI remain unverified; this PR stays draft pending review and that validation.Documentation
Adds the example to
examples/_default.rst, a moving-platform section to the camera module guide, an honest workaround entry in known issues, and a release-note snippet. The example explains frame conventions, task ordering, massless-platform limitations and optional Vizard replay export.Future work
Confirm rendered camera views in Vizard and the maintainer's preferred resolution of #1309 before closing the issue. Closed-loop target tracking and physical actuator dynamics remain separate work.