diff --git a/doc/source/advanced_topics/simulator/world_osi.rst b/doc/source/advanced_topics/simulator/world_osi.rst
index 66db091acc4da37855b207ef25b4842ceb9bad89..7f08cd42de1a0f8edb04ab54233d5e56b318dda5 100644
--- a/doc/source/advanced_topics/simulator/world_osi.rst
+++ b/doc/source/advanced_topics/simulator/world_osi.rst
@@ -106,7 +106,7 @@ For each touched lane, the minimum and maximum s coordinate, and the minimum and
In addition, if the reference point (i.e. the middle of the rear axle) or the mainLaneLocator (i.e. the middle of the agent front) are located within a LaneGeometryElement, s/t/yaw is calculated of each point, respectively.
Further aggregation is done with respect to each road by calculating the minimum and maximum s for each road the agent intersects with.
For the current route of an agent, the following information is stored: s/t/yaw of the reference point and mainLaneLocator on the route (roads along a route are not allowed to intersect), distance from the lane boundary to the left and right for the road(s) along the route, and OpenDRIVE Ids of the lanes on the route that the agent touches.
-The results also holds information wether both the reference point and the mainLaneLocator lay on the route.
+The results also holds information whether both the reference point and the mainLaneLocator lay on the route.
In the currently implementation, these points must be located - otherwise the agent is despawened, as the agent cannot execute distance queries without a relation to its current route.
diff --git a/sim/contrib/examples/Common/systemConfigBlueprint.xml b/sim/contrib/examples/Common/systemConfigBlueprint.xml
index 4aa2fa466af99dc38e867d420a4db83dfa1a5715..4bb56b74d56b72dc99e2ecbbff78b374484189fd 100755
--- a/sim/contrib/examples/Common/systemConfigBlueprint.xml
+++ b/sim/contrib/examples/Common/systemConfigBlueprint.xml
@@ -25,6 +25,17 @@
Sensor_Driver
+
+ SenderCar2X
+
+ 399
+ 0
+ 100
+ 0
+
+ AlgorithmCar2XSender
+
+
SensorObjectDetector
diff --git a/sim/contrib/examples/Configurations/ADAS_Car2X/ProfilesCatalog.xml b/sim/contrib/examples/Configurations/ADAS_Car2X/ProfilesCatalog.xml
new file mode 100644
index 0000000000000000000000000000000000000000..30ec5cdfe67eb9438f81eb8e4e3d8c23cd0ab014
--- /dev/null
+++ b/sim/contrib/examples/Configurations/ADAS_Car2X/ProfilesCatalog.xml
@@ -0,0 +1,248 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sim/contrib/examples/Configurations/ADAS_Car2X/simulationConfig.xml b/sim/contrib/examples/Configurations/ADAS_Car2X/simulationConfig.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9178734b24e8d074a03aca744278436ac1412dd3
--- /dev/null
+++ b/sim/contrib/examples/Configurations/ADAS_Car2X/simulationConfig.xml
@@ -0,0 +1,65 @@
+
+ ProfilesCatalog.xml
+
+ 123
+ 5
+ 532725206
+
+ World_OSI
+
+
+
+ Scenario.xosc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Germany
+
+
+
+ Observation_Log
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SpawnerScenario
+ PreRun
+ 1
+
+
+ SpawnerPreRunCommon
+ PreRun
+ 0
+ DefaultPreRunCommon
+
+
+ SpawnerRuntimeCommon
+ Runtime
+ 0
+ DefaultRuntimeCommon
+
+
+
diff --git a/sim/include/radioInterface.h b/sim/include/radioInterface.h
index e2ebec14230b78ce2324232065f663d3721c40d3..631f4f5b3a5526a9c3936d26799fc3bb08cd3238 100644
--- a/sim/include/radioInterface.h
+++ b/sim/include/radioInterface.h
@@ -18,7 +18,7 @@
#pragma once
#include
-#include "common/DetectedObject.h"
+#include "common/sensorDataSignal.h"
class RadioInterface
{
@@ -36,7 +36,7 @@ public:
//! @param[in] positionY y-position of the sender
//! @param[in] signalStrength signal strength of the antenna
//! @param[in] objectInformation information to broadcast
- virtual void Send(double positionX, double postionY, double signalStrength, DetectedObject objectInformation) = 0;
+ virtual void Send(double positionX, double postionY, double signalStrength, osi3::MovingObject objectInformation) = 0;
//! Call the cloud to return all the information available at a position
//!
@@ -44,7 +44,7 @@ public:
//! @param[in] positionY y-position of the receiver
//! @param[in] sensitivity how strong the signal needs to be for the receiver to read the signal
//! @return list of all the information which can be received at this position
- virtual std::vector Receive(double positionX, double positionY, double sensitivity) = 0;
+ virtual std::vector Receive(double positionX, double positionY, double sensitivity) = 0;
//! For each new timestep this function clears all signal of the previous timestep
virtual void Reset() = 0;
diff --git a/sim/include/worldInterface.h b/sim/include/worldInterface.h
index 16026a4b70dab26bd60d862cdfb2cc77e4e9653a..3bb22d34284e22811cca3e81092a0c78d9f7cfcf 100644
--- a/sim/include/worldInterface.h
+++ b/sim/include/worldInterface.h
@@ -29,11 +29,11 @@
#include "common/vector2d.h"
#include "common/worldDefinitions.h"
#include "include/streamInterface.h"
-#include "include/radioInterface.h"
class AgentInterface;
class AgentBlueprintInterface;
class ParameterInterface;
+class RadioInterface;
class SceneryInterface;
class SceneryDynamicsInterface;
class TrafficObjectInterface;
@@ -623,7 +623,7 @@ public:
virtual RouteQueryResult GetRelativeRoads(const RoadGraph& roadGraph, RoadGraphVertex startNode, double startDistance, double range) const = 0;
//! Returns information about all lanes on the route in range. These info are the relative distances (start and end),
- //! the laneId relative to the ego lane, the successors and predecessors if existing and the information wether the intended
+ //! the laneId relative to the ego lane, the successors and predecessors if existing and the information whether the intended
//! driving direction of the lane is the same as the direction of the route. If the ego lane prematurely ends, then
//! the further lane ids are relative to the middle of the road.
//!
diff --git a/sim/src/common/DetectedObject.cpp b/sim/src/common/DetectedObject.cpp
index 0ccb2fa0e0190ae65a0056562575522d27af5364..a471095495025e67193b771302c616e17a7109af 100644
--- a/sim/src/common/DetectedObject.cpp
+++ b/sim/src/common/DetectedObject.cpp
@@ -16,16 +16,6 @@ const WorldObjectInterface* DetectedObject::GetWorldObject() const
return worldObject;
}
-double DetectedObject::GetSensorInformation(SensorInformationType informationType) const
-{
- return sensorInformation.at(informationType);
-}
-
-void DetectedObject::SetSensorInformation(SensorInformationType informationType, double value)
-{
- sensorInformation.insert({informationType, value});
-}
-
void DetectedObject::SetSensorMetadata(std::string typeOfSensor, int Id)
{
sensorType = typeOfSensor;
@@ -52,16 +42,5 @@ bool operator==(const DetectedObject &dObj1, const DetectedObject &dObj2)
dObj1.sensorId == dObj2.sensorId))
return false;
- //compare map "sensorInformation"
- if(dObj1.sensorInformation.size() != dObj2.sensorInformation.size())
- return false;
-
- typename std::map::const_iterator i, j;
- for(i = dObj1.sensorInformation.begin(), j = dObj2.sensorInformation.begin(); i != dObj1.sensorInformation.end(); ++i, ++j)
- {
- if(i->first != j->first) return false;
- if(i->second != j->second) return false;
- }
-
return true;
}
diff --git a/sim/src/common/DetectedObject.h b/sim/src/common/DetectedObject.h
index d28ffe71e9f5b1d3a8ef0f3b42a4c46b9d82f935..a0400ea7cda955dbeaef640602e19e27715ff4dd 100644
--- a/sim/src/common/DetectedObject.h
+++ b/sim/src/common/DetectedObject.h
@@ -16,17 +16,6 @@
#include "include/worldObjectInterface.h"
#include