Skip to content

Add PersonSkeleton common type and skeleton field for Occupant#899

Draft
jdsika wants to merge 1 commit intomasterfrom
feature/occupant-skeleton
Draft

Add PersonSkeleton common type and skeleton field for Occupant#899
jdsika wants to merge 1 commit intomasterfrom
feature/occupant-skeleton

Conversation

@jdsika
Copy link
Copy Markdown
Contributor

@jdsika jdsika commented Apr 24, 2026

Reference to a related issue in the repository

Extends the Occupant message to support skeleton/posture data for vehicle occupants (e.g. for driver monitoring / DCAS use cases).

Add a description

What is this change?

Adds an \Occupant.Skeleton\ message in \osi_occupant.proto\ that reuses \MovingObject.PedestrianAttributes.Bone\ directly, giving occupants a skeleton representation analogous to what pedestrians already have.

Changes:

  • **\osi_occupant.proto**: New \Occupant.Skeleton\ wrapper message with \�bcenter_to_root\ (offset from vehicle bounding box center) and
    epeated MovingObject.PedestrianAttributes.Bone skeleton_bone. New import of \osi_object.proto.
  • **\osi_object.proto**: Migration note on \PedestrianAttributes\ documenting that \Bone\ is reused by \Occupant::Skeleton\ and that a common skeleton type is planned for OSI 4.
  • **.github/copilot-instructions.md**: New Copilot context file documenting build/test commands, architecture, and conventions.

Does it break any existing functionality?

No. All changes are purely additive. Zero type duplication — \PedestrianAttributes.Bone\ is referenced directly.

How has it been tested?

  • Proto compilation validated with \grpc_tools.protoc\
  • All existing tests pass: \python -m unittest discover tests\ (24 passed, 651 subtests)

Checklist

  • My suggestion follows the style and contributors guidelines.
  • I have taken care about the message documentation and the fields and enums documentation.
  • I have done the DCO signoff.
  • My changes generate no errors when passing CI tests.
  • I have successfully implemented and tested my fix/feature locally.
  • Appropriate reviewer(s) are assigned.

@jdsika jdsika self-assigned this Apr 24, 2026
@pmai
Copy link
Copy Markdown
Contributor

pmai commented Apr 24, 2026

Would it not be easier to just re-use either PersonAttributes or PersonAttributes::Bone directly for now? This should be possible, as we have done so in the past. Maybe cannot be done in osi_common (potential circular includes, I would imagine), but directly in osi_occupant this should be possible...

Add Occupant.Skeleton message in osi_occupant.proto that reuses
MovingObject.PedestrianAttributes.Bone for occupant pose representation.
The skeleton root is anchored via bbcenter_to_root relative to the
vehicle bounding box center.

Add migration notes on PedestrianAttributes documenting the plan to
introduce a common skeleton type in OSI 4.

Add .github/copilot-instructions.md for Copilot context.

Signed-off-by: Carlo van Driesten <carlo.van-driesten@bmw.de>
@jdsika jdsika force-pushed the feature/occupant-skeleton branch from 3e38540 to 1e2335f Compare April 24, 2026 09:54
@jdsika jdsika marked this pull request as draft May 7, 2026 08:40
@ClemensLinnhoff
Copy link
Copy Markdown
Contributor

Looks good to me. As the bone definitions of the pedestrian are harmonized with ASAM OpenMATERIAL 3D, the occupant could potentially also be referenced. Then we would need a model_reference parameter in the Occupant message analog to the model_reference of moving or stationary objects. What do you think @LudwigFriedmann?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I would remove this from the PR as it has nothing to do with the skeleton field.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants