Running CAMS in simulation mode (Tutorial) » History » Version 20
Rafael Bailon-Ruiz, 2020-10-12 16:48
1 | 14 | Rafael Bailon-Ruiz | h1. Running CAMS in simulation mode (Tutorial) |
---|---|---|---|
2 | 3 | Rafael Bailon-Ruiz | |
3 | This tutorial will teach you how to run the CAMS GUI with a simple scenario in simulation mode. |
||
4 | |||
5 | {{toc}} |
||
6 | |||
7 | First of all, *make sure you successfully completed the [[Installation#Developer installation process|Installation (Developer)]] tutorial*. Then, open a terminal and change the current directory to the folder where the core packages are installed. |
||
8 | |||
9 | 6 | Rafael Bailon-Ruiz | <pre><code class="shell"> |
10 | cd /path/to/nephelae_workspace |
||
11 | </code></pre> |
||
12 | |||
13 | 10 | Rafael Bailon-Ruiz | h2. Access the simulated cloud environment files |
14 | 3 | Rafael Bailon-Ruiz | |
15 | 7 | Rafael Bailon-Ruiz | In order to run CAMS in fully simulated mode first yout need a mesoNH file describing a synthetic atmospheric environment. MesoNH files are databases in "NetCDF _(.nc)_ format":https://en.wikipedia.org/wiki/NetCDF. |
16 | 3 | Rafael Bailon-Ruiz | |
17 | 5 | Rafael Bailon-Ruiz | The computer @girofle@ at LAAS contains a mesoNH file that can be used with CAMS. You can use the command below to mount the folder the remote folder as a local directory: |
18 | 3 | Rafael Bailon-Ruiz | |
19 | <pre><code class="shell"> |
||
20 | sshfs girofle.laas.fr:/media/Nephelae-Data/data/Nephelae/ mesonh_girofle_mount/ |
||
21 | </code></pre> |
||
22 | |||
23 | 7 | Rafael Bailon-Ruiz | The recommended file for this tutorial is: |
24 | 1 | Rafael Bailon-Ruiz | |
25 | 7 | Rafael Bailon-Ruiz | <pre> |
26 | REFHR.1.ARMCu.4D.nc |
||
27 | </pre> |
||
28 | 3 | Rafael Bailon-Ruiz | |
29 | 7 | Rafael Bailon-Ruiz | Despite its huge size (~72 GB), the best way to work with this particular file is to download it to your computer. If you are at LAAS connected with an Ethernet cable, you have a high-bandwith and low-lattency link. Therefore you can read the files in the remote folder directly, but beware of errors that can occur if the quality of the connection degrades. |
30 | 1 | Rafael Bailon-Ruiz | |
31 | h2. Scenario setup |
||
32 | |||
33 | 9 | Rafael Bailon-Ruiz | A valid configuration file is required to run the graphical interface server. Scenario configuration files describe the atmospheric environment and the UAVs so CAMS can use the appropriate algorithms and models to manage them. For this tutorial a simple configuration file is provided describing a scenario built upon a simulated atmosphere with cumulus clouds and two UAVs. |
34 | 3 | Rafael Bailon-Ruiz | |
35 | 10 | Rafael Bailon-Ruiz | 1. Download the configuration file for this tutorial: attachment:tutorial_simulation_mesonh_2uav.yaml |
36 | 3 | Rafael Bailon-Ruiz | |
37 | 10 | Rafael Bailon-Ruiz | 2. You need adapt the following configuration values to match with the path of your CAMS workspace. Replace @/PATH/TO/@ with the actual path. |
38 | 1 | Rafael Bailon-Ruiz | |
39 | |||
40 | <pre> |
||
41 | 10 | Rafael Bailon-Ruiz | database: filepath: '/PATH/TO/database01.neph' # CAMS database file. It stores the atmospheric and UAV information generated during the run |
42 | mesonh_files: &mesonh_files '/PATH/TO/REFHR.1.ARMCu.4D.nc' # MesoNH simulation file. |
||
43 | aircrafts: 200: plugins: Missions: backup_file: '/PATH/TO/backup_200.bin' # |
||
44 | aircrafts: 201: plugins: Missions: backup_file: '/PATH/TO/backup_201.bin' # |
||
45 | 8 | Rafael Bailon-Ruiz | </pre> |
46 | 1 | Rafael Bailon-Ruiz | |
47 | 20 | Rafael Bailon-Ruiz | There are many other options that can be set in this configuration file to adapt CAMS to your needs. For more information, there is a [[scenario configuration reference guide]] in the wiki but for now you should stay with the default setup. |
48 | 8 | Rafael Bailon-Ruiz | |
49 | 10 | Rafael Bailon-Ruiz | TODO: Introduce & explain the main parameter groups in the configuration file to give an overview of the situation the user will be managing. |
50 | 8 | Rafael Bailon-Ruiz | |
51 | 10 | Rafael Bailon-Ruiz | h2. Launch the UAV simulation with paparazzi |
52 | 8 | Rafael Bailon-Ruiz | |
53 | 11 | Rafael Bailon-Ruiz | h3. Configure the UAVs |
54 | |||
55 | 10 | Rafael Bailon-Ruiz | Open a new terminal, change the current directory to the paparazzi installation folder and open the _Paparazzi center_ : |
56 | 8 | Rafael Bailon-Ruiz | |
57 | 10 | Rafael Bailon-Ruiz | <pre><code class="shell"> |
58 | cd /PATH/TO/paparazzi |
||
59 | ./paparazzi |
||
60 | 8 | Rafael Bailon-Ruiz | </code></pre> |
61 | 1 | Rafael Bailon-Ruiz | |
62 | 11 | Rafael Bailon-Ruiz | 1. Select the aircraft *Lisa_Neph_0* from the A/C list |
63 | |||
64 | 1 | Rafael Bailon-Ruiz | 2. Click build |
65 | |||
66 | 11 | Rafael Bailon-Ruiz | 3. Repeat the same procedure with the *Lisa_Neph_1* aircraft |
67 | |||
68 | 16 | Rafael Bailon-Ruiz | {{thumbnail(paparazzi_center_instructions.png, size=600, title=Paparazzi center)}} |
69 | 1 | Rafael Bailon-Ruiz | |
70 | 19 | Rafael Bailon-Ruiz | _You only need to do this operation once, unless you modify the UAVs or change computers!_ |
71 | 11 | Rafael Bailon-Ruiz | |
72 | h3. Start the simulation |
||
73 | |||
74 | Open two new terminal windows and run respectively to start the simulation of both UAVs: |
||
75 | |||
76 | <pre><code class="shell"> |
||
77 | cd nephelae_paparazzi/tests/sim_launchers && python3 sim_launcher.py Lisa_Neph_0 |
||
78 | </code></pre> |
||
79 | |||
80 | <pre><code class="shell"> |
||
81 | cd nephelae_paparazzi/tests/sim_launchers && python3 sim_launcher.py Lisa_Neph_1 |
||
82 | </code></pre> |
||
83 | |||
84 | Four new windows will appear _(You can close the duplicated GCS)_ |
||
85 | |||
86 | | !server_lisa_neph_0.png! | !server_lisa_neph_1.png! | |
||
87 | 1 | Rafael Bailon-Ruiz | |
88 | {{thumbnail(paparazzi_gcs_2_UAV_simulation_tutorial.png, size=600, title=Paparazzi GCS)}} |
||
89 | |||
90 | 19 | Rafael Bailon-Ruiz | Wait a couple of seconds for the simulation to warm up and then click on the *launch button* !gcs_launch_button.png! followed by the *takeoff button* !gcs_takeoff_button.png! on *Lisa_Neph_0* and *Lisa_Neph_1* |
91 | 13 | Rafael Bailon-Ruiz | |
92 | h2. Run the CAMS GUI |
||
93 | |||
94 | Go to the installation folder of nephelae_gui and in a terminal, run: |
||
95 | |||
96 | <pre><code class="shell"> |
||
97 | export NEPHELAE_CONFIG="/PATH/TO/tutorial_simulation_mesonh_2uav.yaml" |
||
98 | make runserver |
||
99 | </code></pre> |
||
100 | |||
101 | Replacing @/PATH/TO/@ with the actual path. |
||
102 | |||
103 | h2. Create a mission for a UAV |
||
104 | |||
105 | 15 | Rafael Bailon-Ruiz | Open the CAMS GUI on the _Mapping_ tab. Go http://0.0.0.0:8000/map/ |
106 | |||
107 | 16 | Rafael Bailon-Ruiz | {{thumbnail(CAMS gui mapping web.png, size=600, title=CAMS GUI mapping tab)}} |
108 | 15 | Rafael Bailon-Ruiz | |
109 | Click somewhere over the map —preferably over the center of a cloud indicated by green shades— and select _New mission_. The _create mission_ window for the aircraft 200 (Lisa_Neph_0) will appear. Click on _Create_ . |
||
110 | |||
111 | 16 | Rafael Bailon-Ruiz | {{thumbnail(CAMS gui create mission modal.png, size=300, title=CAMS GUI create mission dialog)}} |
112 | 15 | Rafael Bailon-Ruiz | |
113 | Go to the _Mission Validation_ tab and _Authorize_ the request to send the new mission to the paparazzi GCS. |
||
114 | |||
115 | 18 | Rafael Bailon-Ruiz | {{thumbnail(CAMS gui mission validation.png, size=600, title=CAMS GUI mission validation)}} |
116 | 15 | Rafael Bailon-Ruiz | |
117 | Switch to the paparazzi GCS window and click on the _Mission_ button !gcs_mission_button.png! corresponding to the Lisa_Neph_0 UAV. This will tell the drone to start the mission. |
||
118 | |||
119 | 16 | Rafael Bailon-Ruiz | Now you can follow the adaptive cloud mapping mission in the _Mapping_ tab of the CAMS GUI and monitor live raw data in the _Sensor data_ tab |
120 | 15 | Rafael Bailon-Ruiz | |
121 | 17 | Rafael Bailon-Ruiz | | {{thumbnail(CAMS gui adaptive mapping.png, size=400, title=CAMS GUI mapping)}} | {{thumbnail(CAMS GUI raw data.png, size=400, title=CAMS GUI raw data)}} | |
122 | 15 | Rafael Bailon-Ruiz | |
123 | !cloud_mapping_video.gif! |