Skip to content

Add TYPE_TRUCK to vehicle classifications #585

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

Merged
merged 11 commits into from
Mar 2, 2022

Conversation

caspar-ai
Copy link
Contributor

@caspar-ai caspar-ai commented Sep 30, 2021

To align with OpenSCENARIO and OpenLABEL. Also deprecate the use of TYPE_HEAVY_TRUCK and TYPE_SEMITRAILER as ambiguous.

For more details see #583.

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

  • My suggestion follows the style and contributors guidelines.
  • I have taken care about the 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.

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!

@caspar-ai caspar-ai self-assigned this Sep 30, 2021
@caspar-ai caspar-ai added FeatureRequest Proposals which enhance the interface or add additional features. Harmonisation The Group in the ASAM development project working on harmonisation with other standards. labels Sep 30, 2021
@caspar-ai caspar-ai linked an issue Sep 30, 2021 that may be closed by this pull request
@caspar-ai
Copy link
Contributor Author

Not sure who is best placed to review this.

@adrianschultz as you recently added an issue about vehicle classification I'm starting with you :) please feel free to reassign, or add people, if you think they are better placed or would be interested.

Also, I realise I've raised a few harmonisation issues recently, if it would be helpful for me to come along to a harmonisation working group meeting do drop me an invite.

Thanks!

@caspar-ai
Copy link
Contributor Author

@pmai or @kmeids do you know who might be best placed to review this suggestion / discussion?

Or if it would make sense for me to attend a particular WP or architecture meeting to discuss, do drop me an invite.

@caspar-ai caspar-ai marked this pull request as ready for review November 3, 2021 11:59
@caspar-ai
Copy link
Contributor Author

Adding the ReadyForCCBReview as a means for getting some eyes on this and how to progress it forwards.

@caspar-ai caspar-ai added the ReadyForCCBReview Indicates that this MR is ready for a final review and merge by the CCB. label Nov 3, 2021
@stefancyliax
Copy link
Contributor

OSI CCB 10.11.2021:

  • After discussion about classification of trucks and trailers, we would propose another solution.
  • Proposal:
    SemiTrailer -> improve comment, type describes only trailer without truck
    SemiTractor -> new type to clarify pulling part of semi-truck
    AgricaturalVehicle -> new type for farm vehicles
    HeavyTruck -> should be kept, don't add new type TRUCK

Please also add info about mapping to OpenSCENARIO.
Please also evaluate which types would benefit from a example picture. (e.g. Deliveryvan, Semitrailer, Semitractor, HeavyTruck, ...)

@HendrikAmelunxen HendrikAmelunxen removed the ReadyForCCBReview Indicates that this MR is ready for a final review and merge by the CCB. label Nov 16, 2021
@caspar-ai caspar-ai requested review from HendrikAmelunxen and removed request for adrianschultz November 22, 2021 13:48
@caspar-ai
Copy link
Contributor Author

I've done as suggested and added semi-tractor, rather than removing semi-trailer.

I've also tried to write down the mapping for each type to its OSC 1.x and 2.x counterparts. In particular, it is worth noting that OSC 2.x (and also OpenLABEL I believe) while both still being defined, they seem to be going the way of a few broad types rather than more narrower types.

It sounds like consensus is that there is value in OSI have a richer set of vehicle types than OpenScenario / OpenLabel. I would strongly encourage that reasoning to be captured within the OSI definitions as a record for future users and a more permanent record of these discussion. I'm not sure what the reasoning is, so I've left a placeholder for now.

@HendrikAmelunxen is that something you can provide based on the last CCB discussion?

osi_object.proto Outdated
//
TYPE_SEMITRACTOR = 16;

// This vehicle is a trailer unit for an articulated vehicle.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggestion:
This vehicle is a semi-trailer that can be pulled by a semi-tractor.

Definition: A semi-trailer is a trailer without a front axle. The front part of the semi-trailer is mounted on the semi-tractor which leads to a significant overlap of the bounding-boxes of semi-tractor and semi-trailer.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'd have thought most trailers don't have a front axle? A quick google search of "car trailer" suggests most have only rear or mid axles.

Perhaps the distinction is instead weight or size rather than axles or joining mechanism / overlap?

Copy link
Contributor

@HendrikAmelunxen HendrikAmelunxen Nov 23, 2021

Choose a reason for hiding this comment

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

There are different trailer types, e.g., trailers with one axle in the middle or a tandem trailer. These are mainly towed by vehicles or agricultural vehicles.
Trailers towed by trucks mostly have either a front and a rear axle (often referred to as “full-trailer”) or just one or more rear-axle(s) (“semi-trailer”). The semi-trailer is towed by a semi-tractor, which is not able to carry additional loads, but its only purpose is to tow the semi-trailer. “full-trailer” can be towed by trucks or agricultural vehicles. One specialty is a dolly, which is an adapter to couple semi-trailer to trucks or agricultural vehicle or generate road trains consisting of semi-trailers. This dolly variant transforms semi-trailers into full-trailers and should be handled like full-trailers.

I think semi-trailers should be handled with a separate type since they are widely used and have special characteristics due to their coupling mechanism. In that regard, it also makes to have semi-tractors as separate types to describe the pulling part for semi-trailers.

It might be reasonable to introduce the full-trailer as an additional trailer variant. By this we would have:
full-trailer: for big trailers with front and rear axle
Semi-trailer: for semi-tractor + semi-trailer couplings
Trailer: describing the general vehicle trailers

Would that be an approach?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

As discussed in the harmonisation meeting. This is a complex area and trying to define precise boundaries between types is more than we want to take on as part of this PR which is primarily about clarifying semi-trailer / tractor definitions.

As such, I have remove any new attempts at defining boundaries, and I have written a note in the top level enum comment indicating that the imprecise boundaries are deliberate and left to the implementor to decide on in their specific use case.

Does that work for you?

@stmswald
Copy link

Nice work, how about adding additional visual descriptions?
This could help to decide what type of car/truck/etc.

like:
image
ref: DOI: 10.1109/JSEN.2021.3115589

@thempen
Copy link
Contributor

thempen commented Dec 7, 2021

As we have discussed it in the last Harmonization group meeting, two points:

  • The OpenSCENARIO 1.x and 2.x references should be specific versions, like OpenSCENARIO 1.1 and 2.0. We do not know how it will change in the future.
  • We have now multiple points in the whole documentation with references to OSC and ODR. I am not exactly sure how many and to which standards we have mappings. I have concerns in future maintenance with these references, because of the changes in the referencing documents. As we have suggested in Best-Practice Guide #500, we could write Best-Practices guides for, e.g. the usage with OpenSCENARIO or OpenDRIVE to bundle the information about connections. Perhaps it could be some WP for 4.0.

@caspar-ai
Copy link
Contributor Author

Nice work, how about adding additional visual descriptions? This could help to decide what type of car/truck/etc.

like: image ref: DOI: 10.1109/JSEN.2021.3115589

We can do these, but given we already know there are fuzzy boundaries and are saying defining the boundaries is left as an exercise for the user, I don't know if it is correct to try and then add guides which do try and precise the boundaries.

@caspar-ai
Copy link
Contributor Author

As we have discussed it in the last Harmonization group meeting, two points:

  • The OpenSCENARIO 1.x and 2.x references should be specific versions, like OpenSCENARIO 1.1 and 2.0. We do not know how it will change in the future.
  • We have now multiple points in the whole documentation with references to OSC and ODR. I am not exactly sure how many and to which standards we have mappings. I have concerns in future maintenance with these references, because of the changes in the referencing documents. As we have suggested in Best-Practice Guide #500, we could write Best-Practices guides for, e.g. the usage with OpenSCENARIO or OpenDRIVE to bundle the information about connections. Perhaps it could be some WP for 4.0.

Removed all references to OSC.

@stmswald
Copy link

stmswald commented Dec 7, 2021

Nice work, how about adding additional visual descriptions? This could help to decide what type of car/truck/etc.
like: image ref: DOI: 10.1109/JSEN.2021.3115589

We can do these, but given we already know there are fuzzy boundaries and are saying defining the boundaries is left as an exercise for the user, I don't know if it is correct to try and then add guides which do try and precise the boundaries.

DeliveryVan
Heavy Truck
SemiTrailer
SemiTractor

OSI Harmonization Group 12/7/2021 Ideas for Outline shapes

@caspar-ai
Copy link
Contributor Author

@stmswald those outlines look good to me.

@HendrikAmelunxen
Copy link
Contributor

@stmswald I think that helps to distinguish between the different trucks and trailer types. Maybe an additional shape for the trailer makes sense, like
image

@caspar-ai
Copy link
Contributor Author

@stmswald / @HendrikAmelunxen what's the next step here? I'm assuming we need to turn those outlines into .svg files, add them to this PR and reference them from the comments so that they appear in the documentation.

Is one of you looking at doing that?

stmswald pushed a commit that referenced this pull request Feb 15, 2022
Signed-off-by: Markus Waldmann <Markus.Waldmann@stud.hs-kempten.de>
@caspar-ai caspar-ai added the ReadyForCCBReview Indicates that this MR is ready for a final review and merge by the CCB. label Feb 22, 2022
@caspar-ai
Copy link
Contributor Author

After discussing with @stmswald via email we think it would be good to get review from the CCB.

There are two things which we are unsure about with the documentation images that it would be good to get some feedback on from the CCB.

  1. Are the images too big? They are .svg files so can be scaled as needed, but I don't know if doxygen allows scaling hints, so do the uploaded images need to be set with a smaller default size? Or are they OK as-is?
  2. Do the images need to conform to a consistent style? For example, many are done with black and white outline drawings. Are there specific people, or tools, that are used to ensure a consistent style?

@HendrikAmelunxen HendrikAmelunxen removed the ReadyForCCBReview Indicates that this MR is ready for a final review and merge by the CCB. label Feb 22, 2022
@HendrikAmelunxen
Copy link
Contributor

@caspar-ai Currently the images are too big, and I think it would make sense to have them in black and white in order to be more aligned with the other images. I think, a styleguide for images does not exist though.

image

I think it would make sense to scale the images down and make them in black and white. After that it would make sense to contact CCB.

@caspar-ai
Copy link
Contributor Author

Fixed up the images to be both smaller, and black outline drawings. Given no particular style I've gone for the slightly "hand drawn" style using https://excalidraw.com/ hopefully they are OK.

Adding back in the CCB label based on the comment above, but let me know if you think they need tweaking again first.

@caspar-ai caspar-ai added the ReadyForCCBReview Indicates that this MR is ready for a final review and merge by the CCB. label Feb 22, 2022
@kmeids
Copy link

kmeids commented Mar 2, 2022

Output CCB 02.03.2022:

  1. @pmai to merge this.

@kmeids kmeids added ReadyToMerge This PR has been approved to merge and will be merged by a member of the CCB. and removed ReadyForCCBReview Indicates that this MR is ready for a final review and merge by the CCB. labels Mar 2, 2022
caspar-ai and others added 11 commits March 2, 2022 13:07
To align with OpenSCENARIO and OpenLABEL.  Also deprecate the use
of TYPE_HEAVY_TRUCK and TYPE_SEMITRAILER as ambiguous.

Signed-off-by: Caspar de Haes <caspar.dehaes@five.ai>
Specifically removing renaming of heavy-truck -> truck and defining the mapping instead.

Signed-off-by: Caspar de Haes <caspar.dehaes@five.ai>
Signed-off-by: Caspar de Haes <caspar.dehaes@five.ai>
Specifically regarding the mapping from OSC 2.x.

Signed-off-by: Caspar de Haes <caspar.dehaes@five.ai>
Signed-off-by: Caspar de Haes <caspar.dehaes@five.ai>
Don't attempt to provide precise ways of distinguishing between types at this stage.

Signed-off-by: Caspar de Haes <caspar.dehaes@five.ai>
Signed-off-by: Caspar de Haes <caspar.dehaes@five.ai>
Signed-off-by: Caspar de Haes <caspar.dehaes@five.ai>
Signed-off-by: Markus Waldmann <Markus.Waldmann@stud.hs-kempten.de>
Signed-off-by: Caspar de Haes <caspar.dehaes@five.ai>
Signed-off-by: Caspar de Haes <caspar.dehaes@five.ai>
@pmai pmai force-pushed the 583-align-vehicle-classifications branch from a7ec9f6 to 20c4f74 Compare March 2, 2022 12:07
@pmai pmai merged commit c70229e into master Mar 2, 2022
@caspar-ai caspar-ai deleted the 583-align-vehicle-classifications branch March 2, 2022 17:15
adrianschultz pushed a commit to adrianschultz/open-simulation-interface that referenced this pull request May 25, 2022
Signed-off-by: Markus Waldmann <Markus.Waldmann@stud.hs-kempten.de>
Signed-off-by: Adrian Vernickel <adrian.vernickel@hexagon.com>
@ThomasNaderBMW ThomasNaderBMW added this to the V3.5.0 milestone May 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FeatureRequest Proposals which enhance the interface or add additional features. Harmonisation The Group in the ASAM development project working on harmonisation with other standards. ReadyToMerge This PR has been approved to merge and will be merged by a member of the CCB.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Inconsistency and confusion over large vehicle classification
9 participants