Commit c81718c0 authored by Philipp Helios's avatar Philipp Helios

Updated documentation

parent 0089cee6
Pipeline #187240 failed with stage
in 3 minutes and 29 seconds
<!-- (c) https://github.com/MontiCore/monticore --> <!-- (c) https://github.com/MontiCore/monticore -->
# How to install everything # How to install everything
- Download Carla (We are using the precompiled version 0.9.5, because this version is currently supported by the ros-bridge) from `https://github.com/carla-simulator/carla/releases/tag/0.9.5` - Download Carla (We are using the precompiled version 0.9.5, because this is the latest version that was supported by the ros-bridge at the time) from `https://github.com/carla-simulator/carla/releases/tag/0.9.5`
- Extract it - Extract it
- If the file carla-0.9.5-py2.7-linux-x86_64.egg is not present inside the PythonAPI folder copy it there from PythonAPI/carla/dist - If the file carla-0.9.5-py2.7-linux-x86_64.egg is not present inside the PythonAPI folder copy it there from PythonAPI/carla/dist
- Install Docker - Install Docker
- If you want to build the CarlaRosBridge Docker Container yourself you can use the scripts in docker/carla-ros-bridge - If you want to build the CarlaRosBridge Docker Container yourself you can use the scripts in docker/carla-ros-bridge; note that we use the tag 0.9.5.1 of the carla-ros-bridge as the latest version is not compatible with Carla 0.9.5 anymore
# How to run it on Linux # How to run it on Linux
## How to execute the code for the bumper bot and read the collision sensor? ## How to execute the code for the bumper bot and read the collision sensor?
...@@ -21,7 +21,9 @@ If you want to read additional messages from a rostopic you can execute: ...@@ -21,7 +21,9 @@ If you want to read additional messages from a rostopic you can execute:
`docker/bumpbot/open_shell.sh` and inside the container read the topic with e.g. `rostopic echo /carla/ego_vehicle/collision` `docker/bumpbot/open_shell.sh` and inside the container read the topic with e.g. `rostopic echo /carla/ego_vehicle/collision`
# Running with docker on Windows # Running with docker on Windows
I tested this code in a Command Prompt/Power Shell. For the use of other consoles the commands might need to be adjusted for example with winpty I tested this code in a Command Prompt/Power Shell. For the use of other consoles the commands might need to be adjusted for example with winpty.
Similarly to how you run it on Linux, there are the win_run.sh, win_compile_shell.sh and win_open_shell.sh scripts. Depending on your system, these might need to be edited.
## Running the code ## Running the code
- In the Docker Settings GUI select the drive where you want to work on as shared drive, else using volumes won't work. - In the Docker Settings GUI select the drive where you want to work on as shared drive, else using volumes won't work.
......
<!-- (c) https://github.com/MontiCore/monticore --> <!-- (c) https://github.com/MontiCore/monticore -->
Steps to build a component: ## Steps to build a component:
* 1.) move **mw-generator.jar** to the directory of the component you wish to build. 1. Move **mw-generator.jar** to the directory of the component you wish to build.
* 2.) open shell, cd to the directory of the component and execute: **java -jar mw-generator.jar project.json** (in this case it's called **valid.json** for both components) 2. Open shell, cd to the directory of the component and execute:
* 3.) switch to the target directory (**cd target/**)
* 4.) execute compile.sh (**./compile.sh**) java -jar mw-generator.jar project.json
* 5.) if the generator can't find carla_msgs message type: execute the following command and retry step 4
* export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:/path/to/rosbridge/catkin_ws/devel/share/carla_msgs/cmake (in this case it's called **valid.json** or **settings.json**)
* usually the path is something like "~/carla-ros-bridge/catkin_ws/devel/share/carla_msgs/cmake" 3. Switch to the target directory:
* 6.) after successfull compiling the generated code switch to install/bin directory (**cd install/bin/**)
* 7.) execute Coordinator_<model-package>_<component-name> (here it's **./Coordinator_test_bumpBot** or **./Coordinator_test_collisionDetection**) cd target/
4. Execute compile.sh:
## Wie bringe ich das Auto zum Fahren und lese den Kollisionssensor aus?
./compile.sh
Carla Starten 5. If the generator can't find carla_msgs message type: execute the following command and retry step 4:
Unter PythonAPI/examples: `python manual_control.py --rolename=ego_vehicle`
Zum Starten des Containers in den Ordner des Projektes (hier ein ausgechecktes Verzeichnis BumbBot_test) gehen: export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:/path/to/rosbridge/catkin_ws/devel/share/carla_msgs/cmake
`docker/run.sh`
usually the path is something like `~/carla-ros-bridge/catkin_ws/devel/share/carla_msgs/cmake`.
Dann in einem neuen Terminal um das Auto fahren zu lassen: 6. After successfull compiling the generated code switch to install/bin directory:
`docker/compile_exec.sh`
cd install/bin/
Um den Collision Sensor auszulesen in einem neuen Terminal: 7. Execute Coordinator_\<model-package\>_\<component-name\>. Here it's:
`docker/open_shell.sh` und darin `rostopic echo /carla/ego_vehicle/collision`
./Coordinator_test_bumpBot
or
./Coordinator_test_collisionDetection
## How to move the Car by using ROS and reading information from the collision Sensor:
1. Start the Carla-Simulator.
2. Run the following command within the PythonAPI/examples directory:
python manual_control.py --rolename=ego_vehicle
3. To start the (docker-) container go to the project containing directory and run:
docker/run.sh
4. To move the vehicle by using ROS, open a new terminal and run:
docker/compile_exec.sh
5. You can now read information from the collision sensor by running:
docker/open_shell.sh
and within the shell:
rostopic echo /carla/ego_vehicle/collision
## Correlation with other projects:
This project can be compiled as follows:
1. with the EMAM2Middleware project directly as shown above
2. using the maven-streamtest plugin that also uses the EMAM2Middleware generator.
- run `mvn clean install -s settings.xml`
EMAM2Middleware is build on top of EmbeddedMontiArc
## Sample projects:
[EMAM2Carla](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/tree/master/EMAM2Carla) is a project where a bumperbot controls a car in the carla-simulator.
[Autopilot](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/tree/autopilot-wrapper_experiments) contains code to reuse an autopilot for steering a car in carla.
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment