-
Notifications
You must be signed in to change notification settings - Fork 131
osi_vehicle: A deeper description of a vehicle #350
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
Conversation
Maybe merge with osi_vehicle.proto with osi_hostvehicledata.proto. Personally i like the term HostVehicleData. |
move assigned_lane_id into Classification message in MovingObject message (same as for TrafficLights/TrafficSigns) add osi_vehicle.proto to setup.py
// Unit: [m/s^2] | ||
// | ||
optional double acceleration = 8; | ||
|
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.
Isnt that redundant information to mention here accleration and velocity again? See VehicleKinematics --> Base Moving
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.
meant is the targeted velocity and acceleration at the planned point.. but I am not sure here
// Unit: [1/(m*s)] | ||
// | ||
optional double curvature_change = 6; | ||
|
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.
out of doubles 3, 4, 5, and 6 one can formulate a polyline. us same data type here as for lane boundary polyline (still need to commit these changes, though)
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.
maybe it makes sense to use your polyline-definition? Let's discuss this next time.
// Range: [0, 1] | ||
// | ||
optional double steering_override_factor = 3; | ||
|
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.
Maybe pedal (accelerator and/or brake) override here also?
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.
Values I would say on the "waiting-list". Is there a use-case?
// Unit: [rad] | ||
// | ||
optional double camber = 5; | ||
|
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.
Wheel toe for completness?
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.
Is this value in generell important? I think about to delete it.. Otherwise you are right!
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.
at least it is the same like the steering-angle right?
// Warning by the danger of a collision. | ||
// | ||
FUNCTION_NAME_LEVEL_0_FORWARD_COLLISION_WARNING = 14; | ||
} |
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.
Well done, thats a great list. Is it accounted for that some of these funtions can occur in parallel?
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.
localization has some overlap with position and position_rmse in osi_hostvehicledata.proto
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.
Is is wise to change the field ids of an existing message? This will break backward compatibility ...
Gaps in the list of field ids are not a problem.
How will the overlap with MovingObject and HostVehicleData be solved? Duplicate and potentially inconsistent places for data might cause maintenance and compatibility nightmares... |
Since moving the field to the classification is likely to only happen in a major release anyway, the id change is probably immaterial. That said, I think the lane_id stuff should be aligned with ISO 26150 DIS once that is available/forseeable at the same time as the changeover to the classification. |
osi_vehicle.proto
Outdated
{ | ||
// The id of the car in the simulation. | ||
// | ||
optional Identifier id = 1; |
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.
Identifier id is maybe better placed into the root of the VehicleClass message to mirror MovingObject etc..
That it is nested forced me to add some extra code in my framework ...
==> Done. Thanks for the hint.
BTW: what is the reasoning behind the name "VehicleClass" ?
==> VehicleClass is not sent directly, but can be embedded as you can see in the message "Vehicle" or "Traffic"
It is possible to describe a vehicle with more than 4 wheels. Should also be possible with less than 4, but not tested so far.
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.
Is is wise to change the field ids of an existing message? This will break backward compatibility ...
Gaps in the list of field ids are not a problem.
Can you post the hint again in the right PR? The change moved out of this PR. Next time I will tell Thomas, if I remember.
osi_vehicle.proto
Outdated
// | ||
message VehicleWheels | ||
{ | ||
// Contains the physical description of the front-left wheel. |
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 i know, that is sth that will be discussed. I think this format should have the focus on cars and dont become complicated. But its a good point and a decission has to be made (osi_vehicle or osi_car?) thx
// Unit: [rad] | ||
// | ||
optional double camber = 5; | ||
|
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.
Is this value in generell important? I think about to delete it.. Otherwise you are right!
osi_vehicle.proto
Outdated
|
||
// Contains the tirepressure of each tire. | ||
// | ||
// Unit: [Pa] |
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.
Now I think it is not that important. Interesting is just the pressure to show it in the HMI-Screen I would guess..
osi_vehicle.proto
Outdated
|
||
// Contains the tirepressure of each tire. | ||
// | ||
// Unit: [Pa] |
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.
To show there is a flat tire e.g.
Topic is integrated in updating hostVehicleData, see here: |
Reference to a related issue in the repository
This is the continuation of Extension by HMI-, ADAS- and Dynamic-Values (Part II) #309.
Add a description
osi_vehicle is a deeper description of a vehicle.
The logic is, that it categorizes the vehicle through different messages. The categories are:
Vehicle-Basics, Vehicle-Kinematics, Vehicle-Powertrain, Vehicle-SteeringWheel, Vehicle-Wheels, Vehicle-Light-State, Vehicle-Automated-Driving-Functions.
As it is an description of the whole vehicle it can be used as interface for various reasons.
Three proof-of-concepts are still running, they use osi_vehicle as interface to
Some questions to ask:
What is this change?
It is an extension that enables new use-cases for osi and helps to modularize simulation-components.
What does it fix?
Proprietary connections.
Is this a bug fix or a feature? Does it break any existing functionality or force me to update to a new version?
As it is an additionaly .proto-file it hasn't any effect on the rest.
How has it been tested?
In three proof-of-concepts (see above).
Mention a member
@jdsika @pmai @ThomasSchloemicherAVL
and @ALL:
Thanks for the many contributions so far. Go on with that! 👍