opSimulation merge requestshttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests2023-09-22T08:34:28Zhttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/150feat(Build): Add CMake option to install configuration examples2023-09-22T08:34:28ZReinhard Biegelfeat(Build): Add CMake option to install configuration examples- [x] Build result of the MR has to be checked if it really contains the `examples` folder.
@nmraghu Please +1 if you are ok with the change.
Closes #222- [x] Build result of the MR has to be checked if it really contains the `examples` folder.
@nmraghu Please +1 if you are ok with the change.
Closes #222Release v1.0.0Reinhard BiegelReinhard Biegelhttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/138Update openScenarioEngine dependency2023-10-19T07:36:37ZRaghunandan Netrapalli MadhusudhanUpdate openScenarioEngine dependencyrefac(Core): Update vector methods with unitsrefac(Core): Update vector methods with unitshttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/176Possible fix to bug in PCM use case2024-03-06T15:58:11ZPaul RomahnPossible fix to bug in PCM use caseWe were investigating a bug in the [PCM use case](https://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/tree/main/sim/contrib/examples/Configurations/PCM?ref_type=heads), in which the agents drive towards each other on a parking lot...We were investigating a bug in the [PCM use case](https://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/tree/main/sim/contrib/examples/Configurations/PCM?ref_type=heads), in which the agents drive towards each other on a parking lot and don't collide but drive through each other.
In our investigations we noticed, that at the moment of the collision, the velocities and accelerations jumped for a cycleTime unit, but then reset to the values before the crash and agents passed through each other without influencing each other. For that we reviewed the crash calculation component, `DynamicsCollisionPCM`, and debugged the calculation of the crash. The collision impulse (modified velocity vector) for the moment of the `COLLISIONIMPULS` was calculated and written directly to the corresponding agent.
When investigated the motion-model (`Dynamics_MotionModel`) we checked whether the modifications to the velocity vector influenced the motion-model and found out that it did not. As far as we could tell in `Dynamics_MotionModel_Implementation`, the velocity and acceleration of an agent are read only once during initialization of the motion-model and from then on only updated without reading them first. This causes the issue in the parking lot scenario, as the modifications made by the `DynamicsCollisionPCM` component are never read but overwritten by the `Dynamics_MotionModel` component.
A simple fix for this bug that caused expected behaviour of the agents in the parking lot scenario was, to read the current velocity and acceleration of the agent before the logic of the motion-model translates and rotates it each cycle. We implemented this by calling `ReadPreviousState()` in the `Dynamics_MotionModel_Implementation::Trigger` method before the motion-model logic to force an update of the local variables.
We have tested the modifications only for the PCM use case and are aware that our solution might cause side effects in other scenarios.
Furthermore, we still have the following open questions:
1. In component `DynamicsCollisionPCM` in method `Dynamics_Collision_Implementation::Trigger`, variables `accelerationImpact` and `yawAccel` are created, initialized with 0 mps² and written to the agent. For us, it seemed like some additional logic was missing to calculate the modifications to the acceleration that we would expect during an collision.
1. In other components signals are used to return modifications of an agent. Why do `DynamicsCollisionPCM` and `Dynamics_MotionModel` modify the agents directly (e.g. `GetAgent()->SetVelocityVector({x, y, z})` call in `DynamicsCollisionPCM`) and not with signals?
Paul Romahn, on behalf of Mercedes-Benz Tech Innovation GmbH, [Provider Information](https://github.com/mercedes-benz/foss/blob/master/PROVIDER_INFORMATION.md)https://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/174fix for collision detection, if the polygons do not collide at T=0, but short...2024-02-01T08:41:04ZBenjamin Hohlfix for collision detection, if the polygons do not collide at T=0, but shortly afterwardsWe had some trouble with the collision detection: under some particular edge cases,
- `CollisionDetector::CalculateCrash()` would be called, because a collision had been detected between the bounding boxes of two cars
- however, subseque...We had some trouble with the collision detection: under some particular edge cases,
- `CollisionDetector::CalculateCrash()` would be called, because a collision had been detected between the bounding boxes of two cars
- however, subsequently `CollisionDetectionPostCrash::GetFirstContact()` could not determine the first contact between the two polygons
- subsequently, `CollisionDetectionPostCrash::CreatePostCrashDynamics()` could not fill in the correct values (speed, etc.) for the collision.
This is probably related to https://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/issues/247 - at least that is where we encountered the bug.
The reason for this bug appears to be: sometimes `CalculateCrash()` is called for a time T that is a few milliseconds before the actual collision of the polygons.
This fix extends the logic in `GetFirstContact()`
The old logic was:
- starting with T1=0, search backwards in 100ms steps, until a time T2 where both shapes do not collide
- then search for the exact time of first contact between T1 and T2
The new behaviour adds another step before that:
- if the polygons do not collide at T=0, search forwards and backwards to find a time T1 where both shapes do collide
- then, as before, starting with T1, search backwards in 100ms steps, until a time T2 where both shapes do not collide
- then, as before search for the exact time of first contact between T1 and T2
This fix also includes some log warnings and errors when the collision detection fails, and some debug log messages in the normal case.
To allow logging, `FrameworkModuleContainer `now passes the `CallbackInterface `to the `CollisionDetector`.
Benjamin Hohl, on behalf of Mercedes-Benz Tech Innovation GmbH, [Provider Information](https://github.com/mercedes-benz/foss/blob/master/PROVIDER_INFORMATION.md)https://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/164fix(Sensor_OSI): Restore lost code for static AEB configuration2023-10-20T08:32:42ZReinhard Biegelfix(Sensor_OSI): Restore lost code for static AEB configuration* restores lost code from commit cfc39bf02e78032a0c11ad56a97b0a3d66d7972b
* allows numbered parameters for Algorithm_AgentFollowingDriverModel, while still falling back to default values if a parameter is unspecified* restores lost code from commit cfc39bf02e78032a0c11ad56a97b0a3d66d7972b
* allows numbered parameters for Algorithm_AgentFollowingDriverModel, while still falling back to default values if a parameter is unspecifiedRelease v1.0.0Reinhard BiegelReinhard Biegelhttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/163Update Vehicle Dynamics Model2023-11-10T08:39:34ZEnno MaschkeUpdate Vehicle Dynamics ModelAdd new two track model & remove old dynamics two track modelsAdd new two track model & remove old dynamics two track modelshttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/162Add static system config algorithm aeb2023-11-10T08:28:09ZEnno MaschkeAdd static system config algorithm aebMerge Request for issue #90Merge Request for issue #90https://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/161refactor: Unify line endings2023-10-11T10:24:51ZReinhard Biegelrefactor: Unify line endingsImplements git EOL settings discussed in #80
- Added .gitattributes for unified EOL format
- Applied `git add --renormalize .`
- Fixed conanfile.txt parsing for thirdParty compilation
- Secured by CI check
~~still missing:~~
- ~~IDE se...Implements git EOL settings discussed in #80
- Added .gitattributes for unified EOL format
- Applied `git add --renormalize .`
- Fixed conanfile.txt parsing for thirdParty compilation
- Secured by CI check
~~still missing:~~
- ~~IDE settings for newline at end of file, trimming of empty lines, trailing whitespace, tabs vs. spaces~~Release v1.0.0Reinhard BiegelRené Parisrene.paris@in-tech.comReinhard Biegelhttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/159Update documentation with GUI removal2023-10-09T10:28:05ZSimon ZipfelUpdate documentation with GUI removalCloses #116, #224, #225 and #152. #183 can be closed, too (covered by docu on `CollisioDetection`)
Simon Zipfel, on behalf of Mercedes-Benz Tech Innovation GmbH, [Provider Information](https://github.com/mercedes-benz/foss/blob/master/P...Closes #116, #224, #225 and #152. #183 can be closed, too (covered by docu on `CollisioDetection`)
Simon Zipfel, on behalf of Mercedes-Benz Tech Innovation GmbH, [Provider Information](https://github.com/mercedes-benz/foss/blob/master/PROVIDER_INFORMATION.md)https://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/157Remove outdated files for v1.02023-10-05T06:19:35ZSimon ZipfelRemove outdated files for v1.0This merge request resolves the issues #116 #225 #224
Simon Zipfel, on behalf of Mercedes-Benz Tech Innovation GmbH, [Provider Information](https://github.com/mercedes-benz/foss/blob/master/PROVIDER_INFORMATION.md)This merge request resolves the issues #116 #225 #224
Simon Zipfel, on behalf of Mercedes-Benz Tech Innovation GmbH, [Provider Information](https://github.com/mercedes-benz/foss/blob/master/PROVIDER_INFORMATION.md)https://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/156Fix XPosition for PCM E2E test and enable it2023-10-04T14:59:24ZNaida GoroFix XPosition for PCM E2E test and enable itCloses #71Closes #71https://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/155Remove disabled components and modules2023-10-04T05:15:17ZNaida GoroRemove disabled components and modulesCloses #225Closes #225Jan DobbersteinJan Dobbersteinhttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/154Remove dos2unix command from the prerequisites and in the instruction to buil...2023-10-04T05:34:29ZRaghunandan Netrapalli MadhusudhanRemove dos2unix command from the prerequisites and in the instruction to build FMILibraryhttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/151update documentation2023-09-26T13:40:26ZRaghunandan Netrapalli Madhusudhanupdate documentation- Mismatch in the versions of the external dependencies is corrected
- Structure of the "building with conan" section in the documentation is corrected
- Steps to build the openpass with msys when other unix like systems like cygwin are ...- Mismatch in the versions of the external dependencies is corrected
- Structure of the "building with conan" section in the documentation is corrected
- Steps to build the openpass with msys when other unix like systems like cygwin are installed on windows is updatedhttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/146Update documentation2023-09-18T16:14:13ZNaida GoroUpdate documentationhttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/139Update documentation on conan2023-09-11T07:45:10ZRaghunandan Netrapalli MadhusudhanUpdate documentation on conanhttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/137Update Dockerfile2023-09-18T11:04:55ZRaghunandan Netrapalli MadhusudhanUpdate Dockerfile#217 Dockerfile is now updated and the docker image built through this is similiar to that of used in CI#217 Dockerfile is now updated and the docker image built through this is similiar to that of used in CIhttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/134mod(doc): Update information on clang-format2023-09-15T14:03:32ZRaghunandan Netrapalli Madhusudhanmod(doc): Update information on clang-formatUpdate recommendation on linux environment
Add information about the currently followed clang-format in the documentation
authored by: Raghunandan Netrapalli MadhusudhanUpdate recommendation on linux environment
Add information about the currently followed clang-format in the documentation
authored by: Raghunandan Netrapalli Madhusudhanhttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/108#181 - PCM calculation box center & position based not correct2023-05-02T06:54:34ZVictor Hexad#181 - PCM calculation box center & position based not correcthttps://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/merge_requests/106#179 - PCM Configs Generator doesn’t create the ProfilesCatalog( ver 0.4.8)2023-04-28T13:27:06ZVictor Hexad#179 - PCM Configs Generator doesn’t create the ProfilesCatalog( ver 0.4.8)