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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions