diff --git a/.github/workflows/ci-ros2.yml b/.github/workflows/ci-ros2.yml
index 315d94ba1..713b75dd9 100644
--- a/.github/workflows/ci-ros2.yml
+++ b/.github/workflows/ci-ros2.yml
@@ -16,6 +16,7 @@ jobs:
ros_distribution:
- humble
- iron
+ - jazzy
# Define the Docker image(s) associated with each ROS distribution.
include:
@@ -29,6 +30,11 @@ jobs:
ros_distribution: iron
ros_version: 2
+ # Jazzy Jalisco (May 2024 - May 2029)
+ - docker_image: ubuntu:noble
+ ros_distribution: jazzy
+ ros_version: 2
+
container:
image: ${{ matrix.docker_image }}
steps:
@@ -40,12 +46,16 @@ jobs:
- name: install dependencies
run: |
sudo apt update
- sudo apt install -y libusb-1.0-0-dev
+ sudo apt install -y libboost-program-options-dev libusb-1.0-0-dev
- name: install pip dependencies
# TODO: would be better to follow https://answers.ros.org/question/370666/how-to-declare-an-external-python-dependency-in-ros2/
# but this requires some upstream changes
+
+ # colcon still does not seem to properly support venv, so we use a workaround to install
+ # a python package globally by disabling the externally managed flag that is default on Ubuntu 24.04
run: |
+ sudo rm -f /usr/lib/python3.12/EXTERNALLY-MANAGED
pip install rowan
- uses: actions/checkout@v2
diff --git a/crazyflie/deps/crazyflie_tools b/crazyflie/deps/crazyflie_tools
index 5f6b39cc5..a2d74b41f 160000
--- a/crazyflie/deps/crazyflie_tools
+++ b/crazyflie/deps/crazyflie_tools
@@ -1 +1 @@
-Subproject commit 5f6b39cc50a7e6432435e0a807b7c07dbe5f5da6
+Subproject commit a2d74b41f9a3675851697b9d4999d1cfe033d30b
diff --git a/crazyflie_py/crazyflie_py/crazyflie.py b/crazyflie_py/crazyflie_py/crazyflie.py
index 30cf4028e..44583123c 100644
--- a/crazyflie_py/crazyflie_py/crazyflie.py
+++ b/crazyflie_py/crazyflie_py/crazyflie.py
@@ -15,7 +15,7 @@
from crazyflie_interfaces.msg import FullState, Position, Status, TrajectoryPolynomialPiece
-from crazyflie_interfaces.srv import Arm, GoTo, Land,\
+from crazyflie_interfaces.srv import Arm, GoTo, Land, \
NotifySetpointsStop, StartTrajectory, Takeoff, UploadTrajectory
from geometry_msgs.msg import Point
import numpy as np
@@ -160,7 +160,7 @@ def __init__(self, node, cfname, paramTypeDict):
elif response.values[0].type == ParameterType.PARAMETER_DOUBLE_ARRAY:
self.initialPosition = np.array(response.values[0].double_array_value)
else:
- assert(False)
+ assert False
# extract uri
self.uri = response.values[1].string_value
diff --git a/docs2/installation.rst b/docs2/installation.rst
index 8071fb117..aa18e7020 100644
--- a/docs2/installation.rst
+++ b/docs2/installation.rst
@@ -9,6 +9,8 @@ Crazyswarm2 runs on **Ubuntu Linux** in one of the following configurations:
Ubuntu Python ROS 2
------ -------- ------------
22.04 3.10 Humble, Iron
+------ -------- ------------
+24.04 3.12 Jazzy
====== ======== ============
.. warning::
@@ -21,7 +23,7 @@ Ubuntu Python ROS 2
First Installation
------------------
-1. If needed, install ROS 2 using the instructions at https://docs.ros.org/en/galactic/Installation.html or https://docs.ros.org/en/humble/Installation.html.
+1. If needed, install ROS 2 using the instructions at https://docs.ros.org/en/jazzy/Installation.html.
2. Install dependencies
@@ -30,7 +32,7 @@ First Installation
sudo apt install libboost-program-options-dev libusb-1.0-0-dev
pip3 install rowan nicegui
- Then install the motion capture ROS 2 package (replace DISTRO with your version of ROS, namely humble or iron):
+ Then install the motion capture ROS 2 package (replace DISTRO with your version of ROS, namely humble, iron, or jazzy):
.. code-block:: bash
diff --git a/docs2/tutorials.rst b/docs2/tutorials.rst
index 48abc34ec..b09cf7586 100644
--- a/docs2/tutorials.rst
+++ b/docs2/tutorials.rst
@@ -19,7 +19,7 @@ We have an example of the telop_twist_keyboard package working together with the
First, make sure that the crazyflies.yaml has the right URI and if you are using the `Flow deck `_ or `any other position system available `_ to the crazyflie.
set the controller to 1 (PID).
-And if you have not already, install the teleop package for the keyboard. (replace DISTRO with humble or iron):
+And if you have not already, install the teleop package for the keyboard. (replace DISTRO with humble, iron, or jazzy):
.. code-block:: bash