-
Notifications
You must be signed in to change notification settings - Fork 130
Adopt traffic participant role specification #892
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
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -1250,6 +1250,10 @@ message MovingObject | |||||
| // | ||||||
| enum Role | ||||||
| { | ||||||
| // Allow aliases in enum | ||||||
| // | ||||||
| option allow_alias = true; | ||||||
|
|
||||||
| // Role of vehicle is unknown (must not be used in ground truth). | ||||||
| // | ||||||
| ROLE_UNKNOWN = 0; | ||||||
|
|
@@ -1258,41 +1262,109 @@ message MovingObject | |||||
| // | ||||||
| ROLE_OTHER = 1; | ||||||
|
|
||||||
| // The vehicle role is civil, e.g. a "normal" car. | ||||||
| // Traffic participant that can be perceived as regular civilian and | ||||||
| // does not perceivably indicate any other role. | ||||||
| // | ||||||
| ROLE_CIVIL = 2; | ||||||
|
|
||||||
| // The vehicle role is ambulance. | ||||||
| // Traffic participant that can be perceived as belonging to a | ||||||
| // medical emergency service. | ||||||
| // | ||||||
| ROLE_AMBULANCE = 3; | ||||||
|
|
||||||
| // Traffic participant that can be perceived as belonging to the | ||||||
| // fire brigade. | ||||||
| // | ||||||
| ROLE_FIRE_BRIGADE = 4; | ||||||
|
|
||||||
| // The vehicle role is fire fighting, e.g. fire engine. | ||||||
| // | ||||||
| // \note Deprecated differentiation, use ROLE_FIRE_BRIGADE instead | ||||||
| // | ||||||
| ROLE_FIRE = 4; | ||||||
|
|
||||||
| // The vehicle role is police. | ||||||
| // Traffic participant that can be perceived as belonging to a law | ||||||
| // enforcement agency. | ||||||
| // | ||||||
| ROLE_POLICE = 5; | ||||||
|
|
||||||
| // The vehicle role is public transport, e.g. a school bus. | ||||||
| // Traffic participant that can be perceived as a form of mass | ||||||
| // passenger transportation mode (e.g. public transport bus, rental | ||||||
| // passenger bus, tram) or clearly recognizable passenger | ||||||
| // transportation mode (e.g. taxi). | ||||||
| // | ||||||
| // \note Should not be used for HOV (high-occupancy vehicle) lane | ||||||
| // access: No indication of occupation state. | ||||||
| // | ||||||
| ROLE_PUBLIC_TRANSPORT = 6; | ||||||
|
|
||||||
| // Traffic participant that can be perceived as belonging to a | ||||||
| // roadside/breakdown assistance service, e.g. towing vehicle. | ||||||
| // | ||||||
| ROLE_ROADSIDE_ASSISTANCE = 7; | ||||||
|
|
||||||
| // The vehicle role is roadside assistance, e.g. tow truck. | ||||||
| // | ||||||
| // \note Deprecated differentiation, use ROLE_ROADSIDE_ASSISTANCE | ||||||
| // instead | ||||||
| // | ||||||
| ROLE_ROAD_ASSISTANCE = 7; | ||||||
|
|
||||||
| // The vehicle role is garbage collection, e.g. a garbage truck or sweeper. | ||||||
| // Traffic participant that can be perceived as belonging to a | ||||||
| // garbage collection service. | ||||||
| // | ||||||
| ROLE_GARBAGE_COLLECTION = 8; | ||||||
|
|
||||||
| // The vehicle role is road construction, e.g. a excavator or tipper truck. | ||||||
| // Traffic participant that can be perceived as construction | ||||||
| // vehicle/construction worker (e.g. road construction, rail | ||||||
| // construction). | ||||||
| // | ||||||
| ROLE_CONSTRUCTION = 9; | ||||||
|
|
||||||
| // The vehicle role is road construction, e.g. a excavator or tipper | ||||||
| // truck. | ||||||
| // | ||||||
| // \note Deprecated differentiation, use ROLE_CONSTRUCTION instead | ||||||
| // | ||||||
| ROLE_ROAD_CONSTRUCTION = 9; | ||||||
|
|
||||||
| // The vehicle role is military, e.g. camouflaged truck. | ||||||
| // Traffic participant that can be perceived as belonging to a | ||||||
| // military force. | ||||||
| // | ||||||
| ROLE_MILITARY = 10; | ||||||
|
|
||||||
| // Traffic participant that can be perceived as freight transport, | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See comment below.
Suggested change
|
||||||
| // e.g. freight truck, delivery van, delivery bike, postman. | ||||||
| // | ||||||
| ROLE_FREIGHT_TRANSPORT = 11; | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To me "shipping" seems like a customer oriented logistics term. It sounds more like the process of arranging the transportation of goods from start to end which includes a lot more than just the act of transportation itself. Would a person working in a logistics center be assigned the role "shipping" just because he/she contributes to the process of shipping? I know that the role would have to be perceivable but still for me this adds some ambiguity. I'd still be in favor of using "freight" or maybe "goods" if we want an even less logistics-specific term. In our use case this is more about differentiating the transportation of people vs. the transportation of freight/goods. "Güterverkehr" in German includes the logistics terms "Nahverkehr" (parcel courier) and "Fernverkehr" (long distance transportation). But "Güterverkehr" usually translates to "freight transport" rather than "goods transport". |
||||||
|
|
||||||
| // Traffic participant that can be perceived as part of special | ||||||
| // transport (e.g. heavy or oversized load). | ||||||
| // | ||||||
| // \note The transport vehicle may be accompanied by support | ||||||
| // vehicles which can be assigned to the role Traffic Control. | ||||||
| // | ||||||
| ROLE_SPECIAL_TRANSPORT = 12; | ||||||
|
|
||||||
| // Traffic participant that can be perceived as part of dangerous | ||||||
| // goods/hazardous materials transport. | ||||||
| // | ||||||
| // \note The transport vehicle may be accompanied by support | ||||||
| // vehicles which can be assigned to the role Traffic Control. | ||||||
| // | ||||||
| ROLE_DANGEROUS_GOODS_TRANSPORT = 13; | ||||||
|
|
||||||
| // Traffic participant that can be perceived as agricultural | ||||||
| // machinery. | ||||||
| // | ||||||
| ROLE_AGRICULTURE = 14; | ||||||
|
|
||||||
| // Traffic participant that can be perceived as an obligated traffic | ||||||
| // control unit (e.g. railroad flagman, person responsible for | ||||||
| // traffic control at construction site, support vehicle for | ||||||
| // dangerous goods transport). | ||||||
| // | ||||||
| ROLE_TRAFFIC_CONTROL = 15; | ||||||
| } | ||||||
| } | ||||||
|
|
||||||
|
|
||||||

There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not too familiar with the OSI structure, but in 3.7 I found the roles under "Vehicle Classification", see screenshot below. Is this something we need to change as we address all kinds of moving objects here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we should also think about how to include it generically for all moving objects. But I though, we might want to harmonize the existing enum first.
We could just reference the existing enum definition in MovingObjectClassification or - for a cleaner result - move the role enum definition out of the VehicleClassification to be a generic enum definition (
osi3::Roleinstead ofosi3::MovingObject::VehicleClassification::Role) and then reference it in two places. I believe this should work in a backwards compatible way because we wouldn't change the data representation by moving enum definitions.