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