CarlaComponents issueshttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues2019-09-30T09:42:00+02:00https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/19Feedback2019-09-30T09:42:00+02:00Alexander David HellwigFeedback- [x] Remove generator jar from project, docu(only if it is not needed, users should build with maven-streamtest if possible)
Models:
- [x] Remove `<enableExecutionLogging>true</enableExecutionLogging>`(or set to false), as it is a debu...- [x] Remove generator jar from project, docu(only if it is not needed, users should build with maven-streamtest if possible)
Models:
- [x] Remove `<enableExecutionLogging>true</enableExecutionLogging>`(or set to false), as it is a debugging tool
- [x] Use latest maven-streamtest version
Bumper Bot
- [x] remove test port
- [x] fix indentation
- [x] write a small stream test
Autopilot Wrapper
- [x] fill example stream test(input ports) with plausible data from the carla ros bridge
Models
- [x] remove test port
- [x] convert port CalculateWrappedValues.tmp_vehicle into local variable(e.g. `29: Ego_Vehicle tmp_vehicle = vehicle_status.control`) (only works with newest streamtest version)
Roscpp:
- [x] Structure SetStructPortInstr for better readability since it is relatively long. Create paragraphs by adding whitespace and/or short comments as headers. You should NOT add a comment to every line.
- [x] Fix/Check array/matrix indexing with the new syntax. EMA uses MatLab convention: 1 references the first element of the array/matrix (instead of C++ where 0 references the first element)
General
- [x] Merge everything into master brancheshttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/18Prepare for hand in2019-09-30T09:42:05+02:00Alexander David HellwigPrepare for hand inThings that should be done before hand in:
* [x] merge all code into the master branch of the original projects
- provide a (lightweight) documentation in the readme files of the projects. It should give other Students an idea on:
* [...Things that should be done before hand in:
* [x] merge all code into the master branch of the original projects
- provide a (lightweight) documentation in the readme files of the projects. It should give other Students an idea on:
* [x] how to install(linux or windows or docker) the project and its dependencies
* [x] how to use your project
* [x] where it is located in relation to other projects
* [x] link 1 or 2 test cases that demonstrate the main features of the project(if available)
- you can always link to external documentation
- keep it briefhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/17Toolchain: improve array handling2019-09-25T12:26:03+02:00Alexander David HellwigToolchain: improve array handling# Adapt the EMAM2RosCpp Project:
For the tag `topic=(/autopilot/trajectory_x, nav_msgs/Path), msgField=poses[:].pose.orientation.x)` something like this sould be generated:
```C++
void _autopilot_trajectory_xCallback(const nav_msgs::Path...# Adapt the EMAM2RosCpp Project:
For the tag `topic=(/autopilot/trajectory_x, nav_msgs/Path), msgField=poses[:].pose.orientation.x)` something like this sould be generated:
```C++
void _autopilot_trajectory_xCallback(const nav_msgs::Path::ConstPtr& msg) {
int counter = 0;
for (int i0 = 0; i0 < 1; i0++) {
for (int i1 = 0; i1 < 100; i1++) {
//START NEW GENERATED CODE
if (msg->poses.size() > counter) {
(component->trajectory_x)(i0, i1) =
msg->poses[counter].pose.orientation.x;
} else {
(component->trajectory_x)(i0, i1) = 0;
}
//END NEW GENERATED CODE
counter++;
}
}
}
```
With this change we will no longer need the python adapter for the autopilot wrapper.https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/16Bumper Bot: use collision information2019-08-12T17:10:51+02:00Alexander David HellwigBumper Bot: use collision informationUse the resulting collision vector to adjust the Bumper Bots position after a collision.
A 90° would probably work.
You might need to safe your calculated new orientation in a static variable, since the rotation to that orientation will...Use the resulting collision vector to adjust the Bumper Bots position after a collision.
A 90° would probably work.
You might need to safe your calculated new orientation in a static variable, since the rotation to that orientation will take longer than the next calculation of the component.https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/15Merge Dockerfile into master2019-07-12T14:16:33+02:00Alexander David HellwigMerge Dockerfile into masterClean up Project(with new subfolder for rosbridge)
or change the Dockerfile to use git clone so we dont have to host the rosbridge code
Merge your Dockerfile into masterClean up Project(with new subfolder for rosbridge)
or change the Dockerfile to use git clone so we dont have to host the rosbridge code
Merge your Dockerfile into masterhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/14Fix/Create BumperBot2019-07-12T14:16:49+02:00Alexander David HellwigFix/Create BumperBothttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/13Create concept to use ros messages with array field without handwritten wrapper2019-08-30T11:44:18+02:00Alexander David HellwigCreate concept to use ros messages with array field without handwritten wrapperCreate one or more concepts to add extra info to RosConnection tags that allows us to directly use array fields in emam.
Ideas: Cut or Pad to the disired lenght, pair of ports(one with lenght one with data), only allow with embeddedmonti...Create one or more concepts to add extra info to RosConnection tags that allows us to directly use array fields in emam.
Ideas: Cut or Pad to the disired lenght, pair of ports(one with lenght one with data), only allow with embeddedmontiarcdynamics: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArcDynamics
You DONT need to implement these yethttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/12Create a wrapper emam component to reuse the autopilot component2019-09-25T15:44:15+02:00Alexander David HellwigCreate a wrapper emam component to reuse the autopilot componentThe model can be found here: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/utilities/EMAStudioBuilder/tree/master/EmbeddedMontiArcStudio/model/autopilot/de/rwth/armin/modeling/autopilot you can copy it into your project.
Main Com...The model can be found here: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/utilities/EMAStudioBuilder/tree/master/EmbeddedMontiArcStudio/model/autopilot/de/rwth/armin/modeling/autopilot you can copy it into your project.
Main Component: Autopilot.emam
First impression:
velocity: estimate from 2 or more datapoints of /carla/<ROLE NAME>/odometry OR use /carla/objects OR find other topic containing the velocity
x,y, compas: /carla/<ROLE NAME>/odometry
currentEngine,currentStearing,currentBrakes:?, possibly calculate/hard set in the wrapper/heurisic
trajectory_lenght,trajectory_x,trajectory_y: Use carla_waypoint_publisher: https://github.com/carla-simulator/ros-bridge/blob/master/carla_waypoint_publisher/README.md
You will need to writte a small python or c++ ros program that converts the nav_msgs.Path Message to the required format and outputs it on 3 new topicsHelge Simon HartlebHelge Simon Hartlebhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/11Check if Collision Data is available in ROS Bridge2019-08-12T17:07:27+02:00Alexander David HellwigCheck if Collision Data is available in ROS BridgeSuggestions:
Add print to https://github.com/carla-simulator/ros-bridge/blob/29003493c569e271801e48214863e3da054eec7d/carla_ros_bridge/src/carla_ros_bridge/collision_sensor.py#L43Suggestions:
Add print to https://github.com/carla-simulator/ros-bridge/blob/29003493c569e271801e48214863e3da054eec7d/carla_ros_bridge/src/carla_ros_bridge/collision_sensor.py#L43Sven0171Philipp HeliosHelge Simon HartlebSven0171https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/10Create a emam component that reads and writes to carla using ROS2019-06-14T14:16:59+02:00Alexander David HellwigCreate a emam component that reads and writes to carla using ROSE.g. Accelerate and stop on collisionE.g. Accelerate and stop on collisionhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/9Create simple emam component that writes to carla using ROS2019-06-11T17:16:25+02:00Alexander David HellwigCreate simple emam component that writes to carla using ROSE.g. accelerates a vehicle References: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware#example-with-ros-middleware https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware#depende...E.g. accelerates a vehicle References: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware#example-with-ros-middleware https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware#dependencies-needed-to-compile-the-generated-projectshttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/8Use ROS to read from carla2019-06-03T13:39:34+02:00Alexander David HellwigUse ROS to read from carlaE.g. use http://wiki.ros.org/rostopic#rostopic_echo to see what data is send by carlaE.g. use http://wiki.ros.org/rostopic#rostopic_echo to see what data is send by carlahttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/7Use ROS to write to carla2019-06-03T13:39:49+02:00Alexander David HellwigUse ROS to write to carlaE.g. use http://wiki.ros.org/rostopic#rostopic_pub to accelerate a vehicleE.g. use http://wiki.ros.org/rostopic#rostopic_pub to accelerate a vehiclehttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/6Add middleware generator project and CI2019-06-07T14:07:39+02:00Alexander David HellwigAdd middleware generator project and CICompare https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/cooperativeintersection .gitlab-ci.yml generate.sh compile.shCompare https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/cooperativeintersection .gitlab-ci.yml generate.sh compile.shhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/5Add simple emam-component2019-06-07T14:05:44+02:00Alexander David HellwigAdd simple emam-componentAdd a simple example emam-component + stream test. https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/emadllib/blob/oldversion/src/main/emam/de/rwth/Plus.emam https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applicat...Add a simple example emam-component + stream test. https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/emadllib/blob/oldversion/src/main/emam/de/rwth/Plus.emam https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/emadllib/blob/oldversion/src/test/emam/de/rwth/PlusStreamtest.stream^https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/4Fix linux CI for stream testing2019-06-07T14:06:23+02:00Alexander David HellwigFix linux CI for stream testingCreate a docker image containing Java 8 Maven CMake Armadillo and ROS. Use it to streamtest in CI similar to the Windows build Job Suggestion: Base on https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/tree/...Create a docker image containing Java 8 Maven CMake Armadillo and ROS. Use it to streamtest in CI similar to the Windows build Job Suggestion: Base on https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/tree/master/src/test/docker/ema-ros-kinetic / registry.git.rwth-aachen.de/monticore/embeddedmontiarc/generators/emam2middleware/ema-ros-kinetic > add Java and Maven > add to the streamtest maven plugin project(Dockerfile and Registery)https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/3Add basic CI for stream testing2019-06-07T14:06:04+02:00Alexander David HellwigAdd basic CI for stream testingReference https://docs.gitlab.com/ee/ci/quick_start/ Compare https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/emadllib/blob/oldversion/.gitlab-ci.ymlReference https://docs.gitlab.com/ee/ci/quick_start/ Compare https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/emadllib/blob/oldversion/.gitlab-ci.ymlhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/2Add basic Maven project structure2019-06-03T13:36:08+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/applications/emadllib/tree/oldversion/pom.xmlReference https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html Compare to https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/emadllib/tree/oldversion/pom.xmlhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/1Install ROS and other dependencies2019-06-03T13:35:45+02:00Alexander David HellwigInstall ROS and other dependencieshttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware#dependencies-needed-to-compile-the-generated-projects Alternative: use the provided docker container registry.git.rwth-aachen.de/monticore/embeddedmontiarc/...https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware#dependencies-needed-to-compile-the-generated-projects Alternative: use the provided docker container registry.git.rwth-aachen.de/monticore/embeddedmontiarc/generators/emam2middleware/ema-ros-kinetic