-
Notifications
You must be signed in to change notification settings - Fork 130
689 add raytracerview config #699
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?
Conversation
PhRosenberger
left a comment
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.
osi_sensorview.proto
Outdated
|
|
||
| // Raytracer-specific View(s). | ||
| // | ||
| repeated RaytracerView raytarcer_view = 1005; |
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.
typo. Should be raytracer_view
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 more as I think about it, I even assume repeated RayTracerView ray_tracer_view would be correct.
And if this is correct, this would mean to write ray tracing and ray tracer separated all over the file, not?
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.
Absolutely right. Changes done in osi_sensorviewconfiguration and osi_sensorview
osi_sensorview.proto
Outdated
| // The raw raytracer data in the memory layout and order specified by the | ||
| // raytracer input configuration. | ||
| // | ||
| optional bytes raytarcer_data = 2; |
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.
typo. This should be raytracer_data
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 written in the comment above, we should clarify whether ray tracing should be written separately or not.
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.
Corrected and changed to ray_tracer_data
PhRosenberger
left a comment
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.
thomassedlmayer
left a comment
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...
| // \brief The radar antenna diagram. | ||
| // emitter_power must be considered together with tx_antenna_diagram for absolute power calculation. | ||
| // | ||
| // \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
osi_sensorviewconfiguration.proto
Outdated
| // Unit: rad | ||
| // | ||
| 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?
osi_sensorviewconfiguration.proto
Outdated
| // Pose of the receiver unit in the sensor coordinate system. | ||
| // | ||
| 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.
osi_sensorview.proto
Outdated
| // | ||
| // 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? |
LudwigFriedmann
left a comment
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.
0c65e35 to
70d4dea
Compare
|
I've refactored to only contain the raytracerview-specific content. Likely the device-type enum should move to the configuration to take part in auto-negotiation. This can be handled via further commits going forward - spell-check-changes etc. will also go in later commits. |
SandroReith
left a comment
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 is a good and short description of the format and the expected data.
|
OSI CCB meeting 25.09.2025: further discussions and feedback needed. |
osi_sensorview.proto
Outdated
| // | ||
| optional DeviceType device_type = 3; | ||
|
|
||
| // Enum consits of different predefined device types. |
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.
| // Enum consits of different predefined device types. | |
| // Enum consists of different predefined device types. |
pmai
left a comment
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.
Also raytracer terms need to be added to spellcheck dictionary, to make this build.
I think ray tracing is two words in English. |
Signed-off-by: @lukas.elster <lukas.elster@tu-darmstadt.de>
Reformatted to utilize the ray tracing approach. Offers a generic description, independent of tool provider or sensor technology Signed-off-by: SandroReith <40294694+SandroReith@users.noreply.github.com>
updated enum for RAYTRACER_FORMAT_SBR 3 -> 2 Signed-off-by: SandroReith <40294694+SandroReith@users.noreply.github.com>
Signed-off-by: Thomas Sedlmayer <tsedlmayer@pmsfit.de>
Signed-off-by: Thomas Sedlmayer <tsedlmayer@pmsfit.de>
Signed-off-by: Thomas Sedlmayer <tsedlmayer@pmsfit.de>
06a9d52 to
d88aaaa
Compare
Signed-off-by: Thomas Sedlmayer <tsedlmayer@pmsfit.de>
Signed-off-by: Thomas Sedlmayer <tsedlmayer@pmsfit.de>
Signed-off-by: Thomas Sedlmayer <tsedlmayer@pmsfit.de>
Signed-off-by: Thomas Sedlmayer <tsedlmayer@pmsfit.de>
e0aa59b to
920568a
Compare
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!