diff --git a/.docker/Dockerfile b/.docker/Dockerfile
index e1362f930a..81e793544c 100644
--- a/.docker/Dockerfile
+++ b/.docker/Dockerfile
@@ -61,7 +61,7 @@ RUN --mount=type=cache,target=/root/.ccache/ \
# Enable ccache
. "/opt/ros/${ROS_DISTRO}/setup.sh" &&\
. "install/setup.sh" &&\
- sudo apt update && rosdep install -r --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y && \
+ sudo apt update && rosdep update && rosdep install -r --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y && \
colcon build \
--cmake-args -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
diff --git a/.github/upstream.repos b/.github/upstream.repos
index f09982304c..0434120587 100644
--- a/.github/upstream.repos
+++ b/.github/upstream.repos
@@ -30,3 +30,8 @@ repositories:
type: git
url: https://github.com/tylerjw/serial.git
version: ros2
+ # picknik_controllers, which is removed for rolling in https://github.com/moveit/moveit2_tutorials/pull/1104, is a dependency of ros2_kortex. Remove when rolling binaries are available.
+ picknik_controllers:
+ type: git
+ url: https://github.com/PickNikRobotics/picknik_controllers.git
+ version: 0.0.4
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index af0f185e45..cae8250bb7 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -18,28 +18,38 @@ on:
jobs:
default:
strategy:
+ fail-fast: false
matrix:
env:
+ - IMAGE: jazzy-release
+ - IMAGE: main-jazzy-tutorial-source
- IMAGE: rolling-source
+ include:
+ - env:
+ IMAGE: rolling-source
+ continue-on-error: true
+
+ continue-on-error: ${{ matrix.continue-on-error || false }}
env:
DOCKER_IMAGE: moveit/moveit2:${{ matrix.env.IMAGE }}
+ BEFORE_INIT: git config --global --add safe.directory '*'
UPSTREAM_WORKSPACE: .github/upstream.repos
AFTER_SETUP_UPSTREAM_WORKSPACE: vcs pull $BASEDIR/upstream_ws/src
- AFTER_SETUP_UPSTREAM_WORKSPACE_EMBED: set +u && source ~/ws_moveit/install/setup.bash && set - u
+ BEFORE_BUILD_TARGET_WORKSPACE: set +u && if [ -f ~/ws_moveit/install/setup.bash ]; then source ~/ws_moveit/install/setup.bash; fi && set -u
TARGET_CMAKE_ARGS: -DCMAKE_BUILD_TYPE=Release
CCACHE_DIR: ${{ github.workspace }}/.ccache
BASEDIR: ${{ github.workspace }}/.work
CACHE_PREFIX: ${{ matrix.env.IMAGE }}
name: ${{ matrix.env.IMAGE }}
- runs-on: ubuntu-latest
+ runs-on: ubuntu-24.04
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v7
with:
fetch-depth: 0
- name: cache upstream_ws
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
save-always: true
path: ${{ env.BASEDIR }}/upstream_ws
@@ -49,7 +59,7 @@ jobs:
# The target directory cache doesn't include the source directory because
# that comes from the checkout. See "prepare target_ws for cache" task below
- name: cache target_ws
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
save-always: true
path: ${{ env.BASEDIR }}/target_ws
@@ -57,7 +67,7 @@ jobs:
restore-keys: |
target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}
- name: cache ccache
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
save-always: true
path: ${{ env.CCACHE_DIR }}
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 96777f2236..fefd0e1cc3 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -19,7 +19,7 @@ jobs:
container:
image: moveit/moveit2:rolling-source
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v7
- name: Install Python dependencies
shell: bash
@@ -59,7 +59,7 @@ jobs:
container:
image: ${{ matrix.container }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
- name: Install Python dependencies
shell: bash
@@ -94,7 +94,7 @@ jobs:
runs-on: ubuntu-latest
needs: upload_site_artifacts
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v7
with:
fetch-depth: 0
diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml
index ab27e81765..ab8949d2ef 100644
--- a/.github/workflows/format.yml
+++ b/.github/workflows/format.yml
@@ -1,28 +1,31 @@
# This is a format job. Pre-commit has a first-party GitHub action, so we use
# that: https://github.com/pre-commit/action
-name: Format
+name: Formatting (pre-commit)
on:
workflow_dispatch:
pull_request:
+ merge_group:
push:
branches:
- main
- - humble
-
-permissions:
- contents: read # to fetch code (actions/checkout)
jobs:
pre-commit:
name: Format
- runs-on: ubuntu-latest
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-python@v5
+ - uses: actions/checkout@v7
+ - uses: actions/setup-python@v6
with:
python-version: '3.10'
- name: Install clang-format-14
run: sudo apt-get install clang-format-14
- uses: pre-commit/action@v3.0.1
+ id: precommit
+ - name: Upload pre-commit changes
+ if: failure() && steps.precommit.outcome == 'failure'
+ uses: rhaschke/upload-git-patch-action@main
+ with:
+ name: pre-commit
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 566d5c8132..eead74f81c 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -15,7 +15,7 @@
repos:
# Standard hooks
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v5.0.0
+ rev: v6.0.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
diff --git a/doc/examples/examples.rst b/doc/examples/examples.rst
index 7f68fe8b2c..334317cde1 100644
--- a/doc/examples/examples.rst
+++ b/doc/examples/examples.rst
@@ -51,7 +51,7 @@ The MoveIt Python API binds a subset of the C++ API. The Python API is useful fo
Integration with a New Robot
----------------------------
-Before attempting to integrate a new robot with MoveIt 2, check whether your robot has already been set up (see the `list of robots running MoveIt `_). Otherwise, follow the tutorials in this section to integrate your robot with MoveIt.
+Before attempting to integrate a new robot with MoveIt 2, check whether your robot has already been set up (see the `list of robots running MoveIt `_). Otherwise, follow the tutorials in this section to integrate your robot with MoveIt.
.. toctree::
:maxdepth: 1
diff --git a/doc/examples/motion_planning_pipeline/CMakeLists.txt b/doc/examples/motion_planning_pipeline/CMakeLists.txt
index cf944450f6..43b57764ac 100644
--- a/doc/examples/motion_planning_pipeline/CMakeLists.txt
+++ b/doc/examples/motion_planning_pipeline/CMakeLists.txt
@@ -1,3 +1,9 @@
+==== BASE ====
+find_package(graph_msgs REQUIRED)
+find_package(moveit_visual_tools REQUIRED)
+find_package(rviz_visual_tools REQUIRED)
+
+==== BASE ====
add_executable(motion_planning_pipeline_tutorial
src/motion_planning_pipeline_tutorial.cpp)
target_include_directories(motion_planning_pipeline_tutorial
diff --git a/doc/examples/ompl_interface/ompl_interface_tutorial.rst b/doc/examples/ompl_interface/ompl_interface_tutorial.rst
index 0a39044da5..163e049767 100644
--- a/doc/examples/ompl_interface/ompl_interface_tutorial.rst
+++ b/doc/examples/ompl_interface/ompl_interface_tutorial.rst
@@ -133,7 +133,7 @@ You can adjust the amount of time MoveIt spends on smoothing by increasing the p
Although not currently exposed at the top levels of MoveIt (TODO), more smoothing can be accomplished by setting the simplification duration to 0 (unlimited) in ``model_based_planning_context.cpp``. This will enable OMPL's ``simplifyMax()`` function.
-Besides the internal OMPL smoothers, recent efforts have been made to do post-proccessing with STOMP/CHOMP. See `this blog post `_.
+Besides the internal OMPL smoothers, recent efforts have been made to do post-proccessing with STOMP/CHOMP. See `this blog post `_.
Persistent Roadmaps
-------------------
diff --git a/doc/examples/planning_adapters/planning_adapters_tutorial.rst b/doc/examples/planning_adapters/planning_adapters_tutorial.rst
index 6155ba1f6d..084f0e2637 100644
--- a/doc/examples/planning_adapters/planning_adapters_tutorial.rst
+++ b/doc/examples/planning_adapters/planning_adapters_tutorial.rst
@@ -26,7 +26,7 @@ As you add and remove packages from your workspace you will need to clean your w
cd ~/ws_moveit/src
catkin clean
-Now follow the instructions on the MoveIt homepage for `installing MoveIt Melodic from source `_. Note that you can skip the **Prerequisites** section since you should already have a Catkin workspace.
+Now follow the instructions on the MoveIt homepage for `installing MoveIt Humble/jazzy/rolling from source `_. Note that you can skip the **Prerequisites** section since you should already have a Catkin workspace.
Re-source the setup files: ::
diff --git a/index.rst b/index.rst
index 411fe56d98..f9d515c4e6 100644
--- a/index.rst
+++ b/index.rst
@@ -6,7 +6,7 @@ Welcome to the unified MoveIt documentation, which includes tutorials, how-to gu
MoveIt 2 is the robotic manipulation platform for ROS 2 and incorporates the latest advances in motion planning, manipulation, 3D perception, kinematics, control, and navigation. MoveIt 2 was first released in 2019; for ROS 1 documentation, see `MoveIt 1 tutorials `_.
For the commercially supported version see `MoveIt Pro tutorials `_.
-.. image:: http://moveit.ros.org/assets/images/roadmap.png
+.. image:: https://moveit.ai/assets/logo/moveit_logo-white.png
:width: 400px
How-To Use This Website
@@ -42,5 +42,5 @@ Help us improve these docs and we'll be happy to include you here also!
Corporate Sponsorship
---------------------
-* The tutorials had a major update in 2018 during a code sprint sponsored by Franka Emika in collaboration with `PickNik Robotics `_ (`Check out the blog post! `_)
+* The tutorials had a major update in 2018 during a code sprint sponsored by Franka Emika in collaboration with `PickNik Robotics `_ (`Check out the blog post! `_)
* The tutorials had another major update in 2022 during a doc-a-thon sponsored by `PickNik Robotics `_.