Project

General

Profile

Installation » History » Version 19

Rafael Bailon-Ruiz, 2020-12-08 17:29

1 1 Rafael Bailon-Ruiz
h1. Installation
2
3 18 Rafael Bailon-Ruiz
This is a quick tutorial on how to install CAMS on your computer. Instructions are different depending on your needs: *If you are using ubuntu 20.04 proceed with the [[Installation#One-step install|one-step install]]. If you are a developper that wants to control the setup process, follow the [[Installation#Advanced install|Advanced install]] instructions.*
4 1 Rafael Bailon-Ruiz
5 18 Rafael Bailon-Ruiz
In any case, CAMS server requires a PC running a recent GNU/Linux operating system, preferably 20.04. Windows and MacOS are not supported. On the contrary, access to the graphical user interface is possible from any device running a modern web browser.
6 1 Rafael Bailon-Ruiz
7 5 Rafael Bailon-Ruiz
{{toc}}
8 1 Rafael Bailon-Ruiz
9 18 Rafael Bailon-Ruiz
h2. One-step install
10 1 Rafael Bailon-Ruiz
11 18 Rafael Bailon-Ruiz
Open a terminal and run:
12 1 Rafael Bailon-Ruiz
13 19 Rafael Bailon-Ruiz
*<pre>
14
cd ~ && mkdir cams
15
wget https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_utils/revisions/master/raw/cams_user_install.sh
16 18 Rafael Bailon-Ruiz
chmod +x cams_user_install.sh
17
./cams_user_install.sh
18 19 Rafael Bailon-Ruiz
</pre>*
19 2 Rafael Bailon-Ruiz
20 18 Rafael Bailon-Ruiz
h2. Advanced install
21 2 Rafael Bailon-Ruiz
22
h3. System requirements
23 1 Rafael Bailon-Ruiz
24 2 Rafael Bailon-Ruiz
The main programming language is **Python 3.5**. "Official support for Python 2.7 ending by the beginning of 2020":https://pythonclock.org/, no development efforts were made to support Python 2.7.
25
26
Most of development and testing where made on "Ubuntu 16.04 LTS Xenial Xerus":http://releases.ubuntu.com/16.04/ on which Python 3.5 is the default Python version.
27
28
All server side applications should work on a Unix-based system provided it supports Python 3.5 or later. Compatibility with Microsoft Windows has not been tested.
29
30
The client side application is web-based and should work on a modern web browser. (Only tested with Mozilla Firefox and Safari).
31
32 15 Rafael Bailon-Ruiz
p{border: solid 1px #00008B; padding: 1em; margin: 1em; background: #EEF}. %{color:darkblue; font-weight: bold; font-size: large}Note:% *Check https://redmine.laas.fr/my/account to confirm that your ssh key is correctly set up ! *Otherwise you will need to replace all the <code class="shell">git clone ssh://git@redmine.laas.fr/ . . .</code> urls below by <code class="shell">git://redmine.laas.fr/ . . .</code> but you will not be able to make commits*
33
34 1 Rafael Bailon-Ruiz
h3. Paparazzi framework
35
36
Make sure that curl is installed:
37
<pre><code class="shell">
38 6 Rafael Bailon-Ruiz
apt install curl
39 1 Rafael Bailon-Ruiz
</code></pre>
40
41
h4. System dependencies (for Ubuntu 16.04)
42
43
<pre><code class="shell">
44
add-apt-repository ppa:team-gcc-arm-embedded/ppa
45 6 Rafael Bailon-Ruiz
apt update
46
apt install gcc-arm-linux-gnueabi gcc-arm-none-eabi
47 1 Rafael Bailon-Ruiz
</code></pre>
48
49
<pre><code class="shell">
50
add-apt-repository ppa:paparazzi-uav/ppa
51 6 Rafael Bailon-Ruiz
apt update
52
apt install paparazzi-dev paparazzi-jsbsim
53 1 Rafael Bailon-Ruiz
</code></pre>
54
55
h4. System dependencies (for Ubuntu 18.04)
56
57
<pre><code class="shell">
58 6 Rafael Bailon-Ruiz
apt install gcc-arm-none-eabi
59 1 Rafael Bailon-Ruiz
</code></pre>
60
61
<pre><code class="shell">
62 6 Rafael Bailon-Ruiz
add-apt-repository ppa:paparazzi-uav/ppa
63
apt update
64 1 Rafael Bailon-Ruiz
apt install paparazzi-dev paparazzi-jsbsim
65
</code></pre>
66
67
h4. Repository
68 11 Rafael Bailon-Ruiz
<pre><code class="shell">
69 1 Rafael Bailon-Ruiz
git clone -b laas_wip ssh://git@redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/paparazzi.git paparazzi
70
cd paparazzi
71
make
72
</code></pre>
73 2 Rafael Bailon-Ruiz
74 18 Rafael Bailon-Ruiz
CAMS needs the environment variables PAPARAZZI_HOME and PAPARAZZI_SRC to be set to the root paparazzi folder (where you cloned it). Add these lines to your .bashrc, replacing "paparazzi_path" to where you cloned paparazzi repository.
75 1 Rafael Bailon-Ruiz
76
<pre><code class="shell">
77
export PAPARAZZI_HOME="paparazzi_path"
78
export PAPARAZZI_SRC="paparazzi_path"
79
</code></pre>
80 2 Rafael Bailon-Ruiz
81 1 Rafael Bailon-Ruiz
Once Paparazzi installed, launch ./paparazzi. In the paparazzi center, build every aircraft you need to use by selecting an item in the _A/C_ menu and then clicking on the _build_ button.
82 2 Rafael Bailon-Ruiz
83 1 Rafael Bailon-Ruiz
h3. CAMS
84
85
Install pip3 and update it:
86 6 Rafael Bailon-Ruiz
<pre><code class="shell">
87 1 Rafael Bailon-Ruiz
apt install python3-pip
88
pip3 install --user --upgrade pip
89
</code></pre>
90
91
If you want to update it for all users:
92
<pre><code class="shell">
93
pip3 install --upgrade pip
94
</code></pre>
95 12 Rafael Bailon-Ruiz
96 1 Rafael Bailon-Ruiz
Clone and install the core packages (in developer mode with the -e pip3 option):
97
98
"nephelae_base":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_base.
99 14 Rafael Bailon-Ruiz
<pre><code class="shell">
100 1 Rafael Bailon-Ruiz
git clone ssh://git@redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/nephelae_base.git nephelae_base
101
cd nephelae_base
102
pip3 install --user -e .
103
</code></pre>
104
105
"nephelae_mesonh":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_mesonh.
106 14 Rafael Bailon-Ruiz
<pre><code class="shell">
107 1 Rafael Bailon-Ruiz
git clone ssh://git@redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/nephelae_mesonh.git nephelae_mesonh
108
cd nephelae_mesonh
109
pip3 install --user -e .
110
</code></pre>
111
112
"nephelae_paparazzi":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_paparazzi.
113 14 Rafael Bailon-Ruiz
<pre><code class="shell">
114 1 Rafael Bailon-Ruiz
git clone ssh://git@redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/nephelae_paparazzi.git nephelae_paparazzi
115
cd nephelae_paparazzi
116
pip3 install --user -e .
117
</code></pre>
118 10 Rafael Bailon-Ruiz
119
"nephelae_planner":https://redmine.laas.fr/projects/nephelae-planner/repository/nephelae_planner.
120 14 Rafael Bailon-Ruiz
<pre><code class="shell">
121 10 Rafael Bailon-Ruiz
git clone ssh://git@redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/nephelae_planner.git nephelae_planner
122
cd nephelae_planner
123
pip3 install --user -e .
124
</code></pre>
125 1 Rafael Bailon-Ruiz
126
Make sure that redis is installed:
127 6 Rafael Bailon-Ruiz
<pre><code class="shell">
128 1 Rafael Bailon-Ruiz
apt install redis-server
129
</code></pre>
130
131
Clone and install the "nephelae_gui":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_gui package in developer mode:
132 14 Rafael Bailon-Ruiz
<pre><code class="shell">
133 1 Rafael Bailon-Ruiz
git clone ssh://git@redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/nephelae_gui.git nephelae_gui
134 17 Rafael Bailon-Ruiz
cd nephelae_gui
135 1 Rafael Bailon-Ruiz
make install
136
</code></pre>
137
138
To check the installation, launch the server:
139
140
<pre><code class="shell">
141
make demo
142 17 Rafael Bailon-Ruiz
</code></pre>
143
144 1 Rafael Bailon-Ruiz
p{border: solid 1px #FF8C00; padding: 1em; margin: 1em; background: #FEE}. %{color:darkorange; font-weight: bold; font-size: large}Warning:% (16/11/2020) <code class="shell">make demo</code> does not work  !
145
146
This will (hopefully) start the replay of a UAV flight.
147 2 Rafael Bailon-Ruiz
148 1 Rafael Bailon-Ruiz
You should now be able connect to the graphical user interface with your web browser on "http://0.0.0.0:8000/":http://0.0.0.0:8000/.