Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
5 changes: 5 additions & 0 deletions .github/upstream.repos
Original file line number Diff line number Diff line change
Expand Up @@ -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
22 changes: 16 additions & 6 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -49,15 +59,15 @@ 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
key: target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}-${{ github.run_id }}
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 }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -59,7 +59,7 @@ jobs:
container:
image: ${{ matrix.container }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Install Python dependencies
shell: bash
Expand Down Expand Up @@ -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

Expand Down
19 changes: 11 additions & 8 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
15 changes: 7 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ project(moveit2_tutorials)

# Common cmake code applied to all moveit packages
find_package(moveit_common REQUIRED)
find_package(OpenSSL REQUIRED)

moveit_package()

set(THIS_PACKAGE_INCLUDE_DIRS
Expand All @@ -20,14 +22,14 @@ set(THIS_PACKAGE_INCLUDE_DEPENDS
moveit_ros_planning
moveit_ros_planning_interface
moveit_ros_trajectory_cache
moveit_servo
moveit_task_constructor_core
moveit_visual_tools
# moveit_servo
# moveit_task_constructor_core
# moveit_visual_tools
pluginlib
rclcpp
rclcpp_action
rviz_visual_tools
tf2_geometry_msgs
# rviz_visual_tools
# tf2_geometry_msgs
tf2_geometry_msgs
tf2_ros
warehouse_ros_sqlite
Expand Down Expand Up @@ -77,9 +79,6 @@ add_subdirectory(doc/tutorials/pick_and_place_with_moveit_task_constructor)
add_subdirectory(doc/tutorials/quickstart_in_rviz)
add_subdirectory(doc/how_to_guides/pick_ik)

ament_export_dependencies(
${THIS_PACKAGE_INCLUDE_DEPENDS}
)

ament_export_include_directories(include)

Expand Down
6 changes: 0 additions & 6 deletions doc/examples/bullet_collision_checker/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,4 @@ add_executable(bullet_collision_checker_tutorial
target_link_libraries(bullet_collision_checker_tutorial
${interactive_markers_LIBRARIES}
interactivity_utils
${catkin_LIBRARIES}
${Boost_LIBRARIES})

install(TARGETS bullet_collision_checker_tutorial
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
4 changes: 2 additions & 2 deletions doc/examples/collision_environments/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@

add_executable(collision_scene_example
src/collision_scene_example.cpp)
target_include_directories(collision_scene_example
PUBLIC include)
ament_target_dependencies(collision_scene_example
${THIS_PACKAGE_INCLUDE_DEPENDS} Boost)
target_link_libraries(collision_scene_example PUBLIC rclcpp::rclcpp moveit_ros_planning_interface::moveit_move_group_interface)

install(TARGETS collision_scene_example
ARCHIVE DESTINATION lib
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
include_directories(include)
include_directories(
SYSTEM
${catkin_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
)

add_executable(lerp_example src/lerp_example.cpp)
target_link_libraries(lerp_example
${catkin_LIBRARIES}
${Boost_LIBRARIES}
)

Expand All @@ -17,39 +15,8 @@ add_library(moveit_lerp_planner_plugin
src/lerp_interface.cpp
src/lerp_planning_context.cpp)
set_target_properties(moveit_lerp_planner_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}")
target_link_libraries(moveit_lerp_planner_plugin ${catkin_LIBRARIES} ${Boost_LIBRARIES})
target_link_libraries(moveit_lerp_planner_plugin ${Boost_LIBRARIES})

#############
## Install ##
#############

# Mark executables and/or libraries for installation
install(
TARGETS
moveit_lerp_planner_plugin
ARCHIVE DESTINATION
${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION
${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION
${CATKIN_PACKAGE_BIN_DESTINATION}
)

# Mark cpp header files for installation
install(
DIRECTORY
include
DESTINATION
${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)

# Mark roslaunch files for installation
install(
DIRECTORY
launch
DESTINATION
${CATKIN_PACKAGE_SHARE_DESTINATION}
)
#catkin_lint ignore uninstalled_plugin
install(FILES lerp_interface_plugin_description.xml
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/doc/creating_moveit_plugins/lerp_motion_planner/)
2 changes: 1 addition & 1 deletion doc/examples/examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <http://moveit.ros.org/robots/>`_). 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 <https://moveit.ai/robots/>`_). Otherwise, follow the tutorials in this section to integrate your robot with MoveIt.

.. toctree::
:maxdepth: 1
Expand Down
19 changes: 0 additions & 19 deletions doc/examples/interactivity/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,6 @@ add_library(${INTERACTIVITY_LIB_NAME}
src/pose_string.cpp
)

# add_executable(interactivity_tutorial
# src/interactivity_tutorial.cpp
# src/interactive_robot.cpp
# src/imarker.cpp
# src/pose_string.cpp
# )
# target_link_libraries(interactivity_tutorial
# ${catkin_LIBRARIES}
# ${Boost_LIBRARIES}
# ${interactive_markers_LIBRARIES}
# )
#
# add_executable(attached_body_tutorial
# src/attached_body_tutorial.cpp
# src/interactive_robot.cpp
# src/imarker.cpp
# src/pose_string.cpp
# )

target_link_libraries(
${INTERACTIVITY_LIB_NAME}
${catkin_LIBRARIES}
Expand Down
12 changes: 10 additions & 2 deletions doc/examples/motion_planning_api/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
find_package(graph_msgs REQUIRED)
find_package(moveit_msgs REQUIRED)
find_package(moveit_ros_planning REQUIRED)
find_package(moveit_visual_tools REQUIRED)
find_package(rviz_visual_tools REQUIRED)
add_executable(motion_planning_api_tutorial
src/motion_planning_api_tutorial.cpp)
target_include_directories(motion_planning_api_tutorial
PUBLIC include)
ament_target_dependencies(motion_planning_api_tutorial
${THIS_PACKAGE_INCLUDE_DEPENDS} Boost)
target_link_libraries(motion_planning_api_tutorial PUBLIC
${graph_msgs_TARGETS}
pluginlib::pluginlib moveit_ros_planning::moveit_robot_model_loader moveit_visual_tools::moveit_visual_tools
moveit_ros_planning_interface::moveit_move_group_interface
)

install(TARGETS motion_planning_api_tutorial
DESTINATION lib/${PROJECT_NAME}
Expand Down
17 changes: 15 additions & 2 deletions doc/examples/motion_planning_pipeline/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
find_package(graph_msgs REQUIRED)
find_package(moveit_ros_planning REQUIRED)
find_package(moveit_visual_tools REQUIRED)
find_package(rviz_visual_tools REQUIRED)

add_executable(motion_planning_pipeline_tutorial
src/motion_planning_pipeline_tutorial.cpp)
target_include_directories(motion_planning_pipeline_tutorial
PUBLIC include)
ament_target_dependencies(motion_planning_pipeline_tutorial
${THIS_PACKAGE_INCLUDE_DEPENDS})
target_link_libraries(motion_planning_pipeline_tutorial PUBLIC
${graph_msgs_TARGETS}
rclcpp::rclcpp
pluginlib::pluginlib
moveit_ros_planning::moveit_robot_model_loader
moveit_ros_planning::moveit_planning_pipeline
moveit_ros_planning::moveit_planning_scene_monitor
moveit_visual_tools::moveit_visual_tools
rviz_visual_tools::rviz_visual_tools
)

install(TARGETS motion_planning_pipeline_tutorial
DESTINATION lib/${PROJECT_NAME}
Expand Down
4 changes: 4 additions & 0 deletions doc/examples/motion_planning_python_api/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
find_package(graph_msgs REQUIRED)
find_package(moveit_visual_tools REQUIRED)
find_package(rviz_visual_tools REQUIRED)

install(PROGRAMS
scripts/motion_planning_python_api_tutorial.py
scripts/motion_planning_python_api_planning_scene.py
Expand Down
8 changes: 6 additions & 2 deletions doc/examples/move_group_interface/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
find_package(graph_msgs REQUIRED)
find_package(moveit_visual_tools REQUIRED)
find_package(rviz_visual_tools REQUIRED)

add_executable(move_group_interface_tutorial
src/move_group_interface_tutorial.cpp)
target_include_directories(move_group_interface_tutorial
PUBLIC include)
ament_target_dependencies(move_group_interface_tutorial
${THIS_PACKAGE_INCLUDE_DEPENDS} Boost)
target_link_libraries(move_group_interface_tutorial PUBLIC moveit_ros_move_group::moveit_move_group_capabilities_base
moveit_ros_planning_interface::moveit_move_group_interface moveit_visual_tools::moveit_visual_tools)

install(TARGETS move_group_interface_tutorial
DESTINATION lib/${PROJECT_NAME}
Expand Down
6 changes: 5 additions & 1 deletion doc/examples/moveit_cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
find_package(graph_msgs REQUIRED)
find_package(moveit_visual_tools REQUIRED)
find_package(rviz_visual_tools REQUIRED)

add_executable(moveit_cpp_tutorial src/moveit_cpp_tutorial.cpp)
target_include_directories(moveit_cpp_tutorial PUBLIC include)
ament_target_dependencies(moveit_cpp_tutorial ${THIS_PACKAGE_INCLUDE_DEPENDS} Boost)
target_link_libraries(moveit_cpp_tutorial PUBLIC rclcpp::rclcpp moveit_ros_planning::moveit_cpp moveit_visual_tools::moveit_visual_tools)

install(TARGETS moveit_cpp_tutorial
DESTINATION lib/${PROJECT_NAME}
Expand Down
2 changes: 1 addition & 1 deletion doc/examples/ompl_interface/ompl_interface_tutorial.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <http://moveit.ros.org/moveit!/ros/2018/10/25/gsoc-motion-planning-support.html>`_.
Besides the internal OMPL smoothers, recent efforts have been made to do post-proccessing with STOMP/CHOMP. See `this blog post <https://moveit.picknik.ai/main/doc/concepts/motion_planning.html#>`_.

Persistent Roadmaps
-------------------
Expand Down
Loading
Loading