Skip to content

Add Dynamic Pose Update Interface to Camera Module via Message Subscription #1309

@sanshimi

Description

@sanshimi

Describe your use case
Currently, the Camera module (src/simulation/sensors/camera/camera.cpp) only supports static configuration of its pose (sigma_CB, cameraPos_B) through direct member variable assignment from Python. This creates significant limitations for multi-camera, multi-target tracking scenarios:

No message-based pose update: Unlike other guidance modules (e.g., locationPointing, opNavPoint), the Camera module cannot subscribe to external attitude/position messages to update its pose dynamically.

We are developing a multi-satellite optical navigation scenario where one satellite (sat1) carries multiple cameras tracking different targets (sat2, sat3, sat4) simultaneously. Each camera needs independent, dynamic pointing while the host satellite maintains a fixed attitude. Currently, this requires hacky Python-side updates instead of clean message-driven architecture.

Describe alternatives solutions you've considered
Add input message ports to the Camera module to enable dynamic pose updates, such as

cam.cameraConfigInMsg.subscribeTo(customCameraConfigMsg

We propose Camera module should similarly accept external pose inputs, enabling it to be a reactive sensor

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions