-
Notifications
You must be signed in to change notification settings - Fork 127
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
689 add raytracerview config #699
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: @lukas.elster <[email protected]>
Signed-off-by: @lukas.elster <[email protected]>
Signed-off-by: @lukas.elster <[email protected]>
Signed-off-by: @lukas.elster <[email protected]>
Signed-off-by: @lukas.elster <[email protected]>
Signed-off-by: @lukas.elster <[email protected]>
…pen-simulation-interface into 689-add_raytracerview_config
…perate physical interface and rendering based interface Signed-off-by: @lukas.elster <[email protected]>
Signed-off-by: @lukas.elster <[email protected]>
Signed-off-by: @lukas.elster <[email protected]>
Signed-off-by: @lukas.elster <[email protected]>
Signed-off-by: @lukas.elster <[email protected]>
Signed-off-by: @lukas.elster <[email protected]>
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 would not merge before clarifying if we write "ray tracer" or "raytracer" and we should correct the other small typos.
Additionally, I raised some additional questions to be answered before merging.
Signed-off-by: @lukas.elster <[email protected]>
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.
No, I guess, it's fine.
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.
We should probably rewrite the section between line 34 to 46 in osi_sensorviewconfiguration.proto as the number of rays is not included in any of the configurations anymore? Were these number_of_rays fields removed on purpose? In the current OSI version they are marked as raytracer specific characteristic, so I was just wondering where they went...
// | ||
// \note Rotation is defined analog Spherical3d |
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.
This note on the rotation got lost in the new SpatialSignalGain message which replaces the AntennaDiagramEntry message. Maybe we should add it again just to be clear?
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.
Then we should add this note it in the osi_common, where the message is defined. What is not completly clear is the note itself, because we dont have the type Spherical3d here and one dimension less. Therefore the rotation can't be analog to Spherical3d. What do you think, @thomassedlmayer ?
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, it should be added in osi_common. I just added the note to the removed line.
You're right, we have one dimension less. But we should still determine the direction of the angles, right? E.g. right hand rule
// | ||
optional uint32 max_number_of_interactions = 8; | ||
optional double beam_divergence_horizontal = 7; |
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 also rename the field of view-fields in RadarSensorViewConfiguration/Ultrasonic to beam divergence then? Does this make sense there too?
Also, the note that the rotation is as defined in Spherical3d is missing again.
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.
beam_divergence is typically a parameter in the datasheet of the lidar sensor. In the case of radar the continious character of the electromagnetic wave together with the antenna diagramm characteristics define the beam_divergence. Therefore this field should not be added to radar. In case of ultrasonic I'm not shure. Can you help @PhRosenberger?
// | ||
repeated Vector3d directions = 11; | ||
optional MountingPosition receiver_pose = 10; |
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.
We could maybe be consistent with the naming. In RayTracerSensorViewConfig these fields are called receiver_position/transmitter_position. Maybe also move these position fields up to the mounting position if we already move fields around anyway?
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.
Good suggestion. I also added als explanation in transmitter_position // In case of lidar sensors this could be e.g. a mirror position.
and for receiver_position // In case of lidar sensors this could be e.g. a photodiode.
// | ||
// The signal can be received from a different angle than it has been emitted to. | ||
// | ||
// \note Data is in sensor coordinate system. |
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.
Specify that it is the physical sensor coordinate system and not the virtual sensor coordinate system
The corresponding issue #689 is assigned to milestone 3.6.0. This will not work as this PR breaks backwards compatibility. Can the PR be split into a compatible part for 3.6.0 and an incompatible part for 4.0? |
|
||
// Different predefined ray tracer formats | ||
// | ||
enum RayTracerFormat |
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 do not agree to have a raytracer format for every project. What's next? GaiaX format, Pegasus format? We need to come to an agreement 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.
I fully agree. Wouldn't it be possible to merge the four different raytracer types?
“unknown” and “other” have no attributes anyway. Usage of those types will incorporate ambiguities and doesn't contribute to harmonization.
The approaches of DIVP and Vivaldi largely overlap:
- distance (which should be further elaborated) may coincide or be calculated form intersection_path_length + hitpoints
- relative_speed is included in both approaches
- polarized_attenuation can be calculated (afaik) from the Jones Vector
- independent (optional?) parameters incorporate angles of incidence/reflection as well as first/last hit points...
Shouldn't it be possible to reach an agreement 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.
As commented, I'd suggest to merge the four proposed RayTracerFormats.
|
||
// Different predefined ray tracer formats | ||
// | ||
enum RayTracerFormat |
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 fully agree. Wouldn't it be possible to merge the four different raytracer types?
“unknown” and “other” have no attributes anyway. Usage of those types will incorporate ambiguities and doesn't contribute to harmonization.
The approaches of DIVP and Vivaldi largely overlap:
- distance (which should be further elaborated) may coincide or be calculated form intersection_path_length + hitpoints
- relative_speed is included in both approaches
- polarized_attenuation can be calculated (afaik) from the Jones Vector
- independent (optional?) parameters incorporate angles of incidence/reflection as well as first/last hit points...
Shouldn't it be possible to reach an agreement here?
Reference to a related issue in the repository
#689
Add a description
PR adds RaytracerViewConfig to SensorView fpr raytracinf interfaces and changes Lidar/RadarSensorView in interfaces without rendering techniques related fields. Changes in Lidar and RadarSensorView are not backward compatible.
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!