EmbeddedMontiArc issueshttps://git.rwth-aachen.de/groups/monticore/EmbeddedMontiArc/-/issues2020-11-17T17:08:54+01:00https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/simulation/-/issues/20Scenario/Tasks/Objectives2020-11-17T17:08:54+01:00Jean MeuriceScenario/Tasks/Objectives## Goal
Design and implement the internal objects for describing simulation and vehicle goals.
## Ideas
- A scenario contains **Tasks** for every Vehicle.
- The Tasks are embedded in the VehicleConfig and initiated by the **VehicleBuilde...## Goal
Design and implement the internal objects for describing simulation and vehicle goals.
## Ideas
- A scenario contains **Tasks** for every Vehicle.
- The Tasks are embedded in the VehicleConfig and initiated by the **VehicleBuilder**.
- The simulator keeps a reference list to "TaskRunners" (Vehicle would implement that interface) to check their completion status (or failure).
- The simulator calls "Status checks" on all the registered task runners after every simulation step.
- The Simulator.finished() method checks whether tasks are still pending or the maximum simulation duration is elapsed.Evgeny KusmenkoHengwen Zhanghengwen.zhang@rwth-aachen.deJean MeuriceEvgeny Kusmenkohttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/-/issues/32Autotraining EMADL2CPP2019-05-15T11:33:43+02:00Nicola GattoAutotraining EMADL2CPPThe new version of EMADL2CPP supports the option to start the training of a CNN component automatically. For each CNN component, the training outputs two files: the symbol.json and the parameter file of the neural network. In order to us...The new version of EMADL2CPP supports the option to start the training of a CNN component automatically. For each CNN component, the training outputs two files: the symbol.json and the parameter file of the neural network. In order to use the autotraining function of EMADL2CPP in EMAM2Middleware generator, a cli option is needed to activate it. Furthermore, the compiled executable expects the two output files to be at the relative path "model/name.of.cnnarch.component/". This means, the generated compile.sh should ensure that these files are moved to the correct place.Evgeny KusmenkoEvgeny Kusmenkohttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/simulation/-/issues/21Docu TODO2021-10-24T17:07:31+02:00Hengwen Zhanghengwen.zhang@rwth-aachen.deDocu TODO## User-docs
- [ ] "Autopilot configuration": What to specify ? Quick overview of compiling/running EMA-based autopilots ?
- [ ] SimLang/CarLang/MontiCore links in "Introduction to MontiSim"
- [ ] basic-sim "link to maven tutorial"
## ...## User-docs
- [ ] "Autopilot configuration": What to specify ? Quick overview of compiling/running EMA-based autopilots ?
- [ ] SimLang/CarLang/MontiCore links in "Introduction to MontiSim"
- [ ] basic-sim "link to maven tutorial"
## Dev-docs
- Intro
- [ ] "Intro" text?
- [ ] Overview of next sections & pages
- Simulation
- [ ] Properties: registering the classes (+link to JSON system?)
- [ ] Simulation Methods -> TODOs in wiki page
- [ ] Simulator class and simulation data
- EE-System
- [ ] EE System -> TODOs in wiki page
- [ ] Various EEComponents: explanation of their inner workings
- [ ] EEComponents Development: "How to create an EEComponent sub-class"
- [ ] EE Message reference: which component sends which message and with what type
- World & Geometry
- [ ] OSM loading
- Vehicles
- [ ] Vehicles overview
- [ ] Tasks
- [ ] PhysicalValues
- [ ] PowerTrain
- [ ] Collision: Vehicle objects and hitboxes somewhere?
- [ ] Rigidbody physics
- Visualizations
- [ ] basic-simulator
- [ ] debug-viewer classes (Viewer2D, PhysicsDebug, ...)
- General/Commons
- [ ] Commons Overview
- [ ] Describe "polygon-convexer" ?
- [ ] JSON-Serializer
## Other
- [ ] Move & update documentation in 'hardware_emulator/readme.md'
- [ ] In the `simulation.wiki` repository, there are a bunch of old documentation files under `TO_SORT`. These have to be integrated in the new documentation (or simply deleted).
- [ ] Add in Code: Link to relevant docu pageshttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/1Add basic Maven project structure2019-05-24T13:42:24+02:00Alexander David HellwigAdd basic Maven project structureReference https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html Compare to https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/pom.xmlReference https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html Compare to https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/pom.xmlGeorg VinogradovGeorg Vinogradovhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/2Add basic CI2019-05-24T13:42:30+02:00Alexander David HellwigAdd basic CIReference https://docs.gitlab.com/ee/ci/quick_start/ Compare with https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/.gitlab-ci.ymlReference https://docs.gitlab.com/ee/ci/quick_start/ Compare with https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/.gitlab-ci.ymlGeorg VinogradovGeorg Vinogradovhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/simulation/-/issues/22Improve the "Running"-Part for the basic simulator2021-02-26T16:24:51+01:00Ahmed DiabImprove the "Running"-Part for the basic simulator- For people who are not familiar with the term "compiling", it will be difficult to realize that the `install.sh` file in the root directory is meant by it.
- Also, you will have to double-check that the contents of this file is for co...- For people who are not familiar with the term "compiling", it will be difficult to realize that the `install.sh` file in the root directory is meant by it.
- Also, you will have to double-check that the contents of this file is for compiling, since the term `install.sh` is not mentioned in the wiki.
see -> [The basic simulator](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/simulation/-/wikis/user-docs/The-basic_simulator#running)
I would prefer to mention for the compiling file with the term `install.sh` or `install.bat`Evgeny KusmenkoEvgeny Kusmenkohttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/3Install MQTT(Linux)2019-05-24T13:42:35+02:00Alexander David HellwigInstall MQTT(Linux)Install MQTT on a Linux System(e.g. Ubuntu 16.04) and add documentation to README.md(or link to existing)Install MQTT on a Linux System(e.g. Ubuntu 16.04) and add documentation to README.md(or link to existing)Georg VinogradovGeorg Vinogradovhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/basic-simulator/-/issues/1Laggy simulation2021-10-20T17:46:55+02:00TamfaetLaggy simulationIt seems, that the simulator needs to wait internally for things. When I run it, my CPU utilization is at maximum at 15 %. Still the Simulator is not able to reach 30 FPS.
Maybe some parallelization could help there.It seems, that the simulator needs to wait internally for things. When I run it, my CPU utilization is at maximum at 15 %. Still the Simulator is not able to reach 30 FPS.
Maybe some parallelization could help there.https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/4Create a Docker image2019-05-24T13:42:39+02:00Alexander David HellwigCreate a Docker imageCreate a docker image with mqtt + compiler installed and upload it to this projects Registery. Use it to compile the example project.Create a docker image with mqtt + compiler installed and upload it to this projects Registery. Use it to compile the example project.Georg VinogradovGeorg Vinogradovhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/basic-simulator/-/issues/2Feature Request: Scenario folders2021-10-20T17:57:37+02:00TamfaetFeature Request: Scenario foldersIt would be really convenient to provide a path to other scenario files. Thus project files can be contained in their corresponding projects and no need for copy-pasting would be needed.It would be really convenient to provide a path to other scenario files. Thus project files can be contained in their corresponding projects and no need for copy-pasting would be needed.https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/5[Optional]Install MQTT(Windows)2019-05-24T13:42:44+02:00Alexander David Hellwig[Optional]Install MQTT(Windows)Install MQTT on a Windows 10 x64 System and add documentation to README.md(or link to existing)Install MQTT on a Windows 10 x64 System and add documentation to README.md(or link to existing)Georg VinogradovGeorg Vinogradovhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/basic-simulator/-/issues/3Async Simulation and Visualization + Data-Export system2021-10-20T17:40:34+02:00Jean MeuriceAsync Simulation and Visualization + Data-Export systemIdea: Run the simulations in another thread.
Advantages:
- Some performance improvement since one thread can run the simulation full speed, the other render the visualization.
- (Re-)develop the simulation data exporting. The relevant s...Idea: Run the simulations in another thread.
Advantages:
- Some performance improvement since one thread can run the simulation full speed, the other render the visualization.
- (Re-)develop the simulation data exporting. The relevant simulation data-points are saved per frame (can be a different rate then the simulation rate). The simulation "client" would register which data-points should be exported (to save bandwidth).
- The basic-sim can store the frames for a simulation. This allows to watch a simulation as it is simulated, but also to watch back/navigate the simulation using a timeline.
- This simplifies the time control logic between visualization and simulation.
- The data-export system can also directly be used to save simulation results.
- The data-export system could also be used to watch simulations remotely (would update the *visualization* project)
- A solid data-export system would make exporting any data (also inspection data for plotting, ...) cleaner and more generic.https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/simulation/-/issues/31Async Simulation and Visualization + Data-Export system2021-10-20T17:46:50+02:00Jean MeuriceAsync Simulation and Visualization + Data-Export systemIdea: Run the simulations in another thread.
Advantages:
- Some performance improvement since one thread can run the simulation full speed, the other render the visualization.
- (Re-)develop the simulation data exporting. The relevant s...Idea: Run the simulations in another thread.
Advantages:
- Some performance improvement since one thread can run the simulation full speed, the other render the visualization.
- (Re-)develop the simulation data exporting. The relevant simulation data-points are saved per frame (can be a different rate then the simulation rate). The simulation "client" would register which data-points should be exported (to save bandwidth).
- The basic-sim can store the frames for a simulation. This allows to watch a simulation as it is simulated, but also to watch back/navigate the simulation using a timeline.
- This simplifies the time control logic between visualization and simulation.
- The data-export system can also directly be used to save simulation results.
- The data-export system could also be used to watch simulations remotely (would update the *visualization* project)
- A solid data-export system would make exporting any data (also inspection data for plotting, ...) cleaner and more generic.https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/6Create a simple example2019-06-03T15:21:54+02:00Alexander David HellwigCreate a simple exampleCreate a example where a Subscriber sends a double to a Publisher which prints it to stdout. Compile and run it.You dont need to use EmbeddeMontiArcMath for this.Create a example where a Subscriber sends a double to a Publisher which prints it to stdout. Compile and run it.You dont need to use EmbeddeMontiArcMath for this.Georg VinogradovGeorg Vinogradovhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/simulation/-/issues/23Async Simulation and Visualization + Data-Export system2021-10-20T17:43:40+02:00Jean MeuriceAsync Simulation and Visualization + Data-Export systemSee [basic-sim issue](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/basic-simulator/-/issues/3)See [basic-sim issue](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/basic-simulator/-/issues/3)https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/7Compile the example with CMake2019-06-03T15:35:21+02:00Alexander David HellwigCompile the example with CMakeReference https://cliutils.gitlab.io/modern-cmake/ Compare to https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/test/resources/results/echoCMake/CMakeLists.txt You will need to replace/delete th...Reference https://cliutils.gitlab.io/modern-cmake/ Compare to https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/test/resources/results/echoCMake/CMakeLists.txt You will need to replace/delete the find_package and list instructions as well as the (file)names. You might need to write/search a FindMQTT.cmakeGeorg VinogradovGeorg Vinogradovhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/commons/-/issues/2JSON extensions2021-10-20T17:32:39+02:00Jean MeuriceJSON extensionsImprove the usability of the JSON system for the configuration and scenarios.
Ideas:
- Support hex & binary
- Allow comments
- Units
- Duration: alternative representations (with units)
- Reference to other files: A special tag could be...Improve the usability of the JSON system for the configuration and scenarios.
Ideas:
- Support hex & binary
- Allow comments
- Units
- Duration: alternative representations (with units)
- Reference to other files: A special tag could be used to refer to a file relative to the current one. It would then be substituted. This mechanism could also be used as "template". The referred file would be loaded first, but the 'calling' file could still specify fields that would override the loaded file.https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/simulation/-/issues/28JSON extensions2021-10-20T18:50:53+02:00Jean MeuriceJSON extensionsImprove the usability of the JSON system for the configuration and scenarios.
Ideas:
- Support hex & binary
- Allow comments
- Units
- Duration: alternative representations (support various min/sec/... units)
- Reference to other files:...Improve the usability of the JSON system for the configuration and scenarios.
Ideas:
- Support hex & binary
- Allow comments
- Units
- Duration: alternative representations (support various min/sec/... units)
- Reference to other files: A special tag could be used to refer to a file relative to the current one. It would then be substituted. This mechanism could also be used as "template". The referred file would be loaded first, but the 'calling' file could still specify fields that would override the loaded file.
**Note**: The extensions should be correct JSON. So for example the Duration "units" extension would be specified in a JSON String. The parsing code must check the different cases and parse appropriately.https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/8Handwrite a MQTT-Adapter2019-06-05T17:31:43+02:00Alexander David HellwigHandwrite a MQTT-AdapterCompare to https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/tree/master/src/test/resources/results/echoCMake You can mock tests_a_compA and remove/ignore IAdapter_tests_a_compA.h. Keep the signature of the ini...Compare to https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/tree/master/src/test/resources/results/echoCMake You can mock tests_a_compA and remove/ignore IAdapter_tests_a_compA.h. Keep the signature of the init as well as tick methods.Georg VinogradovJannis Joachim TölleMike GrüneGeorg Vinogradovhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/simulation/-/issues/24Proper Error/Exception handling2021-10-20T17:43:13+02:00Jean MeuriceProper Error/Exception handlingThe entire simulator could use a proper error handling concept that would be used throughout all simulator projects.
Goals:
- Describe a concept for designing exceptions and how they are propagated through the simulator.
- It has to sup...The entire simulator could use a proper error handling concept that would be used throughout all simulator projects.
Goals:
- Describe a concept for designing exceptions and how they are propagated through the simulator.
- It has to support exceptions occurring remotely (autopilot, remote server) as well as in other languages (ex: c++ for the hardware_emulator)
- Ideally a comprehensible stack trace would show additional contextual information at different points in the call/catch stack.
- List all the *errors* (that are relevant to a *user*) and define a system to properly notify them.
- Define a system to properly notify *exceptions* (bugs/missing features).