From c81718c0d94ef4c62b201a9543421d0a69729899 Mon Sep 17 00:00:00 2001 From: Philipp Helios Date: Wed, 25 Sep 2019 14:43:23 +0200 Subject: [PATCH] Updated documentation --- HowToInstall.md | 8 +++-- README.md | 92 ++++++++++++++++++++++++++++++++++++------------- 2 files changed, 73 insertions(+), 27 deletions(-) diff --git a/HowToInstall.md b/HowToInstall.md index db56e8f..e1cda4b 100644 --- a/HowToInstall.md +++ b/HowToInstall.md @@ -1,10 +1,10 @@ # 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 - 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 -- 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 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: `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 -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 - In the Docker Settings GUI select the drive where you want to work on as shared drive, else using volumes won't work. diff --git a/README.md b/README.md index 9e75bd2..f9adc6b 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,69 @@ -Steps to build a component: - -* 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) -* 3.) switch to the target directory (**cd target/**) -* 4.) execute compile.sh (**./compile.sh**) -* 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 -* usually the path is something like "~/carla-ros-bridge/catkin_ws/devel/share/carla_msgs/cmake" -* 6.) after successfull compiling the generated code switch to install/bin directory (**cd install/bin/**) -* 7.) execute Coordinator__ (here it's **./Coordinator_test_bumpBot** or **./Coordinator_test_collisionDetection**) - -## Wie bringe ich das Auto zum Fahren und lese den Kollisionssensor aus? - -Carla Starten -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: -`docker/run.sh` - -Dann in einem neuen Terminal um das Auto fahren zu lassen: -`docker/compile_exec.sh` - -Um den Collision Sensor auszulesen in einem neuen Terminal: -`docker/open_shell.sh` und darin `rostopic echo /carla/ego_vehicle/collision` +## Steps to build a component: + +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** or **settings.json**) +3. Switch to the target directory: + + cd target/ +4. Execute compile.sh: + + ./compile.sh +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 + + usually the path is something like `~/carla-ros-bridge/catkin_ws/devel/share/carla_msgs/cmake`. +6. After successfull compiling the generated code switch to install/bin directory: + + cd install/bin/ +7. Execute Coordinator_\_\. Here it's: + + ./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 -- GitLab