Skip to content

Add new message for Bounding Box sub-sections #695

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

ndunningbmw
Copy link
Contributor

@ndunningbmw ndunningbmw commented Dec 6, 2022

This PR proposes the addition of bounding box sub-sections to BaseMoving and BaseStationary objects, to help sub-divide and classify different parts of the overall object structure.

Take this checklist as orientation for yourself, if this PR is ready for the Change Control Board:

If you can’t check all of them, please explain why.
If all boxes are checked or commented and you have achieved at least one positive review, you can assign the label ReadyForCCBReview!

Signed-off-by: Nicholas Dunning Nicholas.Dunning@bmw.de

Original PR: #685

@ndunningbmw ndunningbmw changed the title Add BoundingBox section Add new message for Bounding Box sub-sections Dec 6, 2022
@ThomasNaderBMW ThomasNaderBMW added the ReadyForCCBReview Indicates that this MR is ready for a final review and merge by the CCB. label Jan 16, 2023
@ThomasNaderBMW ThomasNaderBMW removed the ReadyForCCBReview Indicates that this MR is ready for a final review and merge by the CCB. label Jan 16, 2023
Copy link
Contributor

@PhRosenberger PhRosenberger left a comment

Choose a reason for hiding this comment

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

Is there a working example or demo? That would be great to see!
Nevertheless, this PR sounds perfectly reasonable to me.

osi_common.proto Outdated
//
optional string model_reference = 5;

// Definition of different types of object contained within the bounding box
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a reference for this list or is it a result of a working-group brainsorming?
If there are sources, I qould like to see them referenced here.

osi_common.proto Outdated
// either that of a \c MovingObject or \c StationaryObject .
//
// The parent frame of the \c BoundingBox is not relative to the parent object
// it is associated to, but in the same parent frame as the parent object.
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't understand this sentence, could it be reworded?

Copy link
Contributor

Choose a reason for hiding this comment

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

What's actually meant is that a sub bounding box is not relative to its parent bounding box but rather to the parent frame of its parent bounding box. It is in the same frame as its parent object. E.g. if the main bounding box is in global coordinates, the sub bounding box is as well.

But I definitely agree, that it is hard to understand. Could also be extended by an example.

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggestion:

The parent frame of a bounding box subsection is identical to the parent frame of its associated/parent object (e.g. MovingObject/BaseMoving).

We could also leave it to the higher level field (bounding_box_section) to define the parent frame and keep anything related to "subsection"/"bounding box section" out of the BoundingBox description. What do you think, @thempen? If we ever wanted to use this BoundingBox message for things other than subsections (e.g. main bounding boxes), we would have to change this again.

osi_common.proto Outdated
Comment on lines 713 to 718
// The bounding box sections can include side mirrors, cargo, etc. for
// vehicles, as well as body-part sections for pedestrians.
//
// \note When one or more \c BoundingBox s are associated to a
// \c BaseMoving , the expectation is that all sections are contained
// within the bounds of the \c #dimension .
Copy link
Contributor

@thomassedlmayer thomassedlmayer Jan 30, 2023

Choose a reason for hiding this comment

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

Saying that bounding box sections can include side mirrors (also cargo) here but then saying they might not be included within the bounding box dimensions in the respective enum description (see line 459) seems kind of ambiguous and confusing to me.
Shouldn't we be clear about if we want them to be included or not? Otherwise some people include side mirrors/cargo, others don't...

I think the main questions are:

  • Would it break backwards compatibility if we include side mirrors in the bounding box?
  • If yes, do we want to change this for 4.0?

Based on that I would rephrase the descriptions to explain why it is as it is and maybe also state the goal for the next major release (if there is any).

@ClemensLinnhoff
Copy link
Contributor

There should also be harmonization with the model structure defined in OpenMaterial @LudwigFriedmann.

@ThomasNaderBMW
Copy link
Contributor

Special Meeting "OSI: Sub-Bounding-Boxes", 15.05.23:

  • PR makes things more detailed
  • PR doesn't change existing definitions like center of bounding box can move
  • Rule if one sub section is sent (e.g. Tree trunk), also the others must be sent (e.g. Chassis).
  • Addition to side mirror sub section may be needed
  • Main bounding box includes all the connected geometry (round ends problem) except the side mirrors (compatibility reasons)

==> Group gives ok. Topic goes on in Other Models.

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

Successfully merging this pull request may close these issues.

6 participants