diff --git a/conf/airframes/tudelft/bebop_course_orangeavoid.xml b/conf/airframes/tudelft/bebop_course_orangeavoid.xml index 6992816a24..6ec08a8daf 100644 --- a/conf/airframes/tudelft/bebop_course_orangeavoid.xml +++ b/conf/airframes/tudelft/bebop_course_orangeavoid.xml @@ -33,7 +33,7 @@ - + @@ -44,7 +44,7 @@ - + @@ -81,7 +81,7 @@ - + @@ -227,7 +227,7 @@ - + diff --git a/conf/control_panel_example.xml b/conf/control_panel_example.xml index f8e485840c..8b456683f7 100644 --- a/conf/control_panel_example.xml +++ b/conf/control_panel_example.xml @@ -17,7 +17,7 @@ - + diff --git a/conf/flight_plans/tudelft/course_orangeavoid_cyberzoo.xml b/conf/flight_plans/tudelft/course_orangeavoid_cyberzoo.xml index ade6c19142..1f76af7c8a 100644 --- a/conf/flight_plans/tudelft/course_orangeavoid_cyberzoo.xml +++ b/conf/flight_plans/tudelft/course_orangeavoid_cyberzoo.xml @@ -1,20 +1,25 @@ + +
#include "modules/datalink/datalink.h" #include "modules/energy/electrical.h" #include "modules/radio_control/radio_control.h" #include "modules/ahrs/ahrs.h" #define NPS_GAZEBO_WORLD "cyberzoo_orange_poles.world" -
+ + + - + + @@ -24,13 +29,18 @@ + + + + + @@ -38,6 +48,8 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -125,9 +165,16 @@ + + + + + + +
diff --git a/conf/flight_plans/tudelft/course_orangeavoid_cyberzoo_guided.xml b/conf/flight_plans/tudelft/course_orangeavoid_cyberzoo_guided.xml index 349d084fb1..8f70d971e3 100644 --- a/conf/flight_plans/tudelft/course_orangeavoid_cyberzoo_guided.xml +++ b/conf/flight_plans/tudelft/course_orangeavoid_cyberzoo_guided.xml @@ -1,6 +1,7 @@ + - +
#include "modules/datalink/datalink.h" #include "modules/energy/electrical.h" @@ -21,25 +22,30 @@ inline void setGuided(void){ - + - - - - + + + + + + + + + @@ -47,6 +53,8 @@ inline void setGuided(void){ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -126,10 +161,13 @@ inline void setGuided(void){ + + + @@ -137,9 +175,16 @@ inline void setGuided(void){ + + + + + + + diff --git a/conf/modules/orange_avoider.xml b/conf/modules/orange_avoider.xml index 8c5d213cef..b323c5f25b 100644 --- a/conf/modules/orange_avoider.xml +++ b/conf/modules/orange_avoider.xml @@ -11,7 +11,7 @@ The avoidance strategy is to simply count the total number of orange pixels. Whe The color filter settings are set using the cv_detect_color_object. This module can run multiple filters simultaneously so you have to define which filter to use with the ORANGE_AVOIDER_VISUAL_DETECTION_ID setting. - + diff --git a/conf/userconf/tudelft/course_conf.xml b/conf/userconf/tudelft/course_conf.xml index 5881e3c682..a5cc89c2da 100644 --- a/conf/userconf/tudelft/course_conf.xml +++ b/conf/userconf/tudelft/course_conf.xml @@ -7,7 +7,7 @@ telemetry="telemetry/default_rotorcraft.xml" flight_plan="flight_plans/tudelft/course_orangeavoid_cyberzoo.xml" settings="settings/rotorcraft_basic.xml" - settings_modules="modules/ahrs_int_cmpl_quat.xml modules/bebop_cam.xml modules/cv_detect_color_object.xml modules/electrical.xml modules/gps.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_extended.xml modules/nav_rotorcraft.xml modules/orange_avoider.xml modules/stabilization_indi_simple.xml modules/video_capture.xml modules/video_rtp_stream.xml" + settings_modules="modules/ahrs_float_mlkf.xml modules/bebop_cam.xml modules/cv_detect_color_object.xml modules/electrical.xml modules/gps.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_extended.xml modules/nav_rotorcraft.xml modules/orange_avoider.xml modules/stabilization_indi_simple.xml modules/video_capture.xml modules/video_rtp_stream.xml" gui_color="white" /> - - - - - - - - + + @@ -41,8 +35,8 @@ - - + + diff --git a/sw/tools/install.py b/sw/tools/install.py index 08020f0785..6788188068 100755 --- a/sw/tools/install.py +++ b/sw/tools/install.py @@ -46,9 +46,12 @@ class InstallWindow(QWidget): def cmd_dev(self): self.execute('sudo -E apt-get -f -y install paparazzi-dev') + self.execute('sudo -E apt-get -f -y install python-is-python3') # Missing if distro_version <= 20.04: self.execute('sudo -E apt-get install -y python3-lxml python3-numpy') + elif distro_version >= 24.04: + self.execute('sudo -E apt-get install -y liblablgtk2-ocaml-dev') def cmd_arm(self): self.execute('sudo -E apt-get -f -y install paparazzi-dev') @@ -71,11 +74,24 @@ class InstallWindow(QWidget): self.execute('sudo -E apt-get -f -y install dfu-util') self.execute('sudo -E cp conf/system/udev/rules/*.rules /etc/udev/rules.d/ && sudo -E udevadm control --reload-rules') + def cmd_gazebo_classic(self): + if distro_version <= 22.04: + self.execute('sudo -E apt-get update') + self.execute('sudo -E apt-get -f -y install lsb-release wget gnupg') + self.execute('sudo sh -c \'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list\'') + self.execute('wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -') + self.execute('sudo apt update') + self.execute('sudo -E apt-get -f -y install gazebo11 libgazebo11-dev') + self.execute('git submodule init && git submodule sync && git submodule update ./sw/ext/tudelft_gazebo_models') + def cmd_gazebo(self): - if distro_version > 20.04: - self.execute('sudo -E apt-get -f -y install gazebo libgazebo-dev') - else: - self.execute('sudo -E apt-get -f -y install gazebo9 libgazebo9-dev') + if distro_version >= 22.04: + self.execute('sudo -E apt-get update') + self.execute('sudo -E apt-get -f -y install curl lsb-release gnupg') + self.execute('sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg') + self.execute('echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] https://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null') + self.execute('sudo apt update') + self.execute('sudo -E apt-get -f -y install gz-harmonic') self.execute('git submodule init && git submodule sync && git submodule update ./sw/ext/tudelft_gazebo_models') @@ -152,13 +168,19 @@ class InstallWindow(QWidget): button6.clicked.connect(self.cmd_mcu) btn_layout.addWidget(button6) - if distro_version <= 20.04: - button7 = QPushButton('7) Gazebo9') - else: - button7 = QPushButton('7) Gazebo11') - button7.clicked.connect(self.cmd_gazebo) + button7 = QPushButton('7a) Gazebo11 Classic') + if distro_version > 22.04: + button7.setDisabled(True) + button7.clicked.connect(self.cmd_gazebo_classic) btn_layout.addWidget(button7) + button7b = QPushButton('7b) Gazebo Harmonic') + if distro_version >= 22.04: + button7b.clicked.connect(self.cmd_gazebo) + else: + button7b.setDisabled(True) + btn_layout.addWidget(button7b) + button8 = QPushButton('8) Bebop Opencv') button8.clicked.connect(self.cmd_bebopcv) if distro_version > 20.04: