Updated Dynamics_CollisionPCM to publish modifications via Signals
As mentioned im #248 there are currently three components managing collisions (Dynamics_Collision
, Dynamics_CollisionPCM
and Dynamics_CollisionPostCrash
). In this MR, component Dynamics_CollisionPCM
was updated to publish the modified vehicle data via a DynamicsSignal instead of doing this via method calls on the agent object. The logic for creating and publishing the signal follows the logic of Dynamics_CollisionPCM
.
This updated version of Dynamics_CollisionPCM
can be used in scenarios, in which the other two collision components were used before. However, there are currently the following restrictions:
-
Dynamics_MotionModel
(and therefore the PCM scenario) is not completely compatible with this version of theDynamics_CollisionPCM
component. The reason for that is, that the motion model updates the agent object directly by method calls, while the collision component publishes updates via Signal which change the agent via SignalPrioritizer and AgentUpdater components. In the moment of the impact both writing components, Dynamics_MotionModel and AgentUpdater, try to update the agent object and it is not clear, which update will change the agents driving parameters. - The
DynamicAgentTypeGenerator
had to be updated to require aSensor_Collision
component definition in the blueprint file. With this MR, dynamic agents therefore require such a definition even if they don't use theDynamics_CollisionPCM
.
While testing the updates, I noticed the following in the config files. Even though you probably know this, I'll list it anyway:
- The Sum of
Sensor_Collision
'scycle
andpenetrationTime_ms
parameters should not be smaller thanDynamics_CollisionPCM
'scycle
parameter. - The
cycle
parameter ofDynamics_CollisionPCM
and the motion model should be the same number.
The new Dynamics_CollisionPCM
component was tested successfully on the highway scenario and the scenarios from the examples folder. If it proves successful in other scenarios, it can replace the existing collision components, so that they can be deleted.
Paul Romahn, on behalf of Mercedes-Benz Tech Innovation GmbH, Provider Information