Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions doc/architecture/coordinate_systems.adoc

This file was deleted.

10 changes: 0 additions & 10 deletions doc/architecture/reference_points.adoc

This file was deleted.

26 changes: 26 additions & 0 deletions doc/architecture/reference_points_coordinate_systems.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
= Reference points and coordinate systems

With Open Simulation Interface, an object's position coordinates refer to the center of the object's bounding box.
This reference point is not necessarily identical to the origin of the respective coordinate systems.
OSI uses DIN ISO 8855:2013-11 for coordinate systems and transformations between coordinate systems.

OSI uses three coordinate systems:

World coordinates::
Coordinate system for all quantities which are part of ground truth.
The world coordinate system is an inertial x/y/z-coordinate system.

Sensor coordinates::
Coordinate system for all quantities which are part of sensor data.
The origin is the mounting position of the physical sensor or a virtual mounting position, depending on the technology.

Object coordinates::
Coordinate system for local object coordinates, for example, vehicle coordinates.
For vehicles, the origin is the middle of the rear axle.
Other objects may use different origins.

Copy link
Contributor

@clemenshabedank clemenshabedank May 18, 2021

Choose a reason for hiding this comment

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

For all coordinate systems: Would it make sense to say something about the origin? e.g.

  • World coordinates: inertial x/y/z positions

  • Sensor coordinates: mounting position of the physical sensor OR virtual mounting position. I think here it should be differentiated which one is used in (at least) technology specific sensor views, sensor data, feature data, logical detection data

  • Object coordinates: For vehicles it is currently middle rare axle, but there were discussions about maybe changing it to middle bounding box. And of course there would be all the other object coordinate systems...

Copy link

Choose a reason for hiding this comment

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

Output CCB 09.06.2021:

  1. Describe OSI's Coordinate systems in a generic manner.
  2. Describe how to define the position of the coordinate systems in OSI (for example wrt reference points, which may be the center of the bounding box).
  3. Example picture to illustrate the above mentioned points (a picture is already available needs to be updated).

The following images shows an example of the differents coordinate systems.
It also shows that the reference point of the vehicle is located in the center of its bounding box whereas the origin of the vehicle coordinate system is located on the rear axle.
In this example, the virtual mounting position coincides with the origin of the vehicle coordinate system.

image::{imagedir}/osi_coordinate_systems.png[]
Copy link

Choose a reason for hiding this comment

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

We should use a better image for this, one that does not cover the "Z" on the virtual coordinate system and that also shows the virtual coordinate system in a different location from the rear axle to evade confusion with the DIN ISO.

Copy link
Contributor Author

@max-rosin max-rosin Jun 24, 2021

Choose a reason for hiding this comment

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

Simplified the image and moved the example to the topic describing the transformations between coordinate systems. Seemed to me to be the more appropriate place.

I don't really understand why I should remove the z-axis on the virtual coordinate system.

@kmeids : Please check out the modified image and topics.

Binary file added doc/images/osi_coordinate_systems.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 5 additions & 4 deletions doc/open-simulation-interface_user_guide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

:topicdir: topics
:reusedir: reuse
:imagedir: images

// header & footer for html
// html themes
Expand Down Expand Up @@ -52,11 +53,9 @@ include::./architecture/traffic_participant.adoc[leveloffset=+3]

include::./architecture/vehicle_dynamics.adoc[leveloffset=+3]

=== Coordinate systems and reference points
// Coordinate systems and reference points (level 3)

include::./architecture/coordinate_systems.adoc[leveloffset=+3]

include::./architecture/reference_points.adoc[leveloffset=+3]
include::./architecture/reference_points_coordinate_systems.adoc[leveloffset=+2]

=== Layering

Expand Down Expand Up @@ -106,6 +105,8 @@ include::./usecases/benchmark_integration_gpu_radar.adoc[leveloffset=+2]

include::./usecases/generating_osi_traces.adoc[leveloffset=+2]

include::./usecases/transforming_coordinate_systems.adoc[leveloffset=+2]

== Improving performance

TODO: Define topics and issues regarding performance.
Expand Down
22 changes: 22 additions & 0 deletions doc/usecases/transforming_coordinate_systems.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
= Transforming coordinate systems

Transforming coordinates for a specific vehicle or sensor is a common task when running simulations.
OSI uses DIN ISO 8855:2013-11 for coordinate systems and transformations between coordinate systems.

//TODO: Should we add one or more sentences about the mathematical operations involved?

**Corresponding messages**

``GroundTruth::moving_object::base::position``::
Defines the position of the vehicle’s reference point.

``GroundTruth::moving_object::base::orientation``::
Defines the orientation of the vehicle’s reference point.

``GroundTruth::moving_object::vehicle_attributes::bbcenter_to_rear``::
The vector pointing from the vehicle’s reference point to the middle of the rear axle under neutral load conditions in vehicle coordinates.
The middle of the rear axle is

``SensorData::mounting_position``::
Defines the sensor’s position and orientation and thereby the origin of the sensor coordinate system.
The mounting position is defined in sensor coordinates and relative to the origin of the vehicle coordinate system.