diff --git a/.github/workflows/ros-ci.yml b/.github/workflows/ros-ci.yml index 2a187c2..a570840 100644 --- a/.github/workflows/ros-ci.yml +++ b/.github/workflows/ros-ci.yml @@ -1,43 +1,66 @@ -name: humble-devel +# The name of the workflow +name: CI -# Controls when the action will run. Triggers the workflow on push or pull request +# Specifies the events that trigger the workflow on: push: - branches: [ humble-devel ] + branches: [ humble, jazzy, main ] pull_request: - branches: [ humble-devel ] + branches: [ humble, jazzy, main ] -# A workflow run is made up of one or more jobs that can run sequentially or in parallel +# Defines a set of jobs to be run as part of the workflow jobs: - ros2-ci: - runs-on: ubuntu-latest + # The name of the job + ROS_CI: + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: ros_distribution: - humble - # - rolling + - jazzy + - rolling include: - # Humble Hawksbill (May 2027) - - docker_image: rostooling/setup-ros-docker:ubuntu-jammy-ros-humble-ros-base-latest + # ROS 2 Humble Hawksbill + - docker_image: ubuntu:jammy ros_distribution: humble ros_version: 2 - # # Rolling - # - docker_image: rostooling/setup-ros-docker:ubuntu-jammy-ros-rolling-ros-base-latest - # ros_distribution: rolling - # ros_version: 2 + # ROS 2 Jazzy Jalisco + - docker_image: ubuntu:noble + ros_distribution: jazzy + ros_version: 2 + # ROS 2 Rolling Ridley + - docker_image: ubuntu:noble + ros_distribution: rolling + ros_version: 2 container: image: ${{ matrix.docker_image }} steps: - - name: Setup directories + - name: Setup workspace run: mkdir -p ros_ws/src - - name: checkout - uses: actions/checkout@v2 + + - name: Checkout code + uses: actions/checkout@v4 with: path: ros_ws/src + + - name: Setup ROS environment + uses: ros-tooling/setup-ros@v0.7 + with: + required-ros-distributions: ${{ matrix.ros_distribution }} + - name: Build and Test - uses: ros-tooling/action-ros-ci@0.2.6 + uses: ros-tooling/action-ros-ci@v0.3 + with: - package-name: turtlebot3_manipulation target-ros2-distro: ${{ matrix.ros_distribution }} vcs-repo-file-url: "" + package-name: | + turtlebot3_manipulation + turtlebot3_manipulation_bringup + turtlebot3_manipulation_cartographer + turtlebot3_manipulation_description + turtlebot3_manipulation_hardware + turtlebot3_manipulation_moveit_config + turtlebot3_manipulation_navigation2 + turtlebot3_manipulation_teleop diff --git a/README.md b/README.md index cd73bba..a3ca962 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,43 @@ -# OpenManipulator with TurtleBot3 - - +# TurtleBot3 with OpenMANIPULATOR + -- Active Branches: noetic, humble, main -- Legacy Branches: *-devel - -## ROBOTIS e-Manual for OpenManipulator with TurtleBot3 -- [ROBOTIS e-Manual for OpenManipulator with TurtleBot3](http://emanual.robotis.com/docs/en/platform/turtlebot3/manipulation/#manipulation) + -## Wiki for open_manipulator_with_tb3 Packages -- http://wiki.ros.org/open_manipulator_with_tb3 (metapackage) -- http://wiki.ros.org/open_manipulator_with_tb3_description -- http://wiki.ros.org/open_manipulator_with_tb3_tools -- http://wiki.ros.org/open_manipulator_with_tb3_waffle_moveit -- http://wiki.ros.org/open_manipulator_with_tb3_waffle_pi_moveit +- Active Branches: noetic, humble, jazzy, main(rolling) +- Legacy Branches: *-devel -## Open Source related to OpenManipulator with TurtleBot3 -- [robotis_manipulator](https://github.com/ROBOTIS-GIT/robotis_manipulator) -- [open_manipulator](https://github.com/ROBOTIS-GIT/open_manipulator) -- [open_manipulator_msgs](https://github.com/ROBOTIS-GIT/open_manipulator_msgs) -- [open_manipulator_simulations](https://github.com/ROBOTIS-GIT/open_manipulator_simulations) -- [open_manipulator_perceptions](https://github.com/ROBOTIS-GIT/open_manipulator_perceptions) -- [open_manipulator_processing](https://github.com/ROBOTIS-GIT/open_manipulator_processing) -- [open_manipulator_friends](https://github.com/ROBOTIS-GIT/open_manipulator_friends) -- [open_manipulator_with_tb3](https://github.com/ROBOTIS-GIT/open_manipulator_with_tb3) -- [open_manipulator_with_tb3_msgs](https://github.com/ROBOTIS-GIT/open_manipulator_with_tb3_msgs) -- [open_manipulator_with_tb3_simulations](https://github.com/ROBOTIS-GIT/open_manipulator_with_tb3_simulations) +## Open Source Projects Related to TurtleBot3 and OpenMANIPULATOR - [turtlebot3](https://github.com/ROBOTIS-GIT/turtlebot3) - [turtlebot3_msgs](https://github.com/ROBOTIS-GIT/turtlebot3_msgs) - [turtlebot3_simulations](https://github.com/ROBOTIS-GIT/turtlebot3_simulations) +- [turtlebot3_manipulation](https://github.com/ROBOTIS-GIT/turtlebot3_manipulation) +- [turtlebot3_manipulation_simulations](https://github.com/ROBOTIS-GIT/turtlebot3_manipulation_simulations) - [turtlebot3_applications](https://github.com/ROBOTIS-GIT/turtlebot3_applications) - [turtlebot3_applications_msgs](https://github.com/ROBOTIS-GIT/turtlebot3_applications_msgs) +- [turtlebot3_machine_learning](https://github.com/ROBOTIS-GIT/turtlebot3_machine_learning) - [turtlebot3_autorace](https://github.com/ROBOTIS-GIT/turtlebot3_autorace) -- [turtlebot3_deliver](https://github.com/ROBOTIS-GIT/turtlebot3_deliver) +- [turtlebot3_home_service_challenge](https://github.com/ROBOTIS-GIT/turtlebot3_home_service_challenge) - [hls_lfcd_lds_driver](https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver) -- [manipulator_h](https://github.com/ROBOTIS-GIT/ROBOTIS-MANIPULATOR-H) +- [ld08_driver](https://github.com/ROBOTIS-GIT/ld08_driver) +- [open_manipulator](https://github.com/ROBOTIS-GIT/open_manipulator) - [dynamixel_sdk](https://github.com/ROBOTIS-GIT/DynamixelSDK) -- [dynamixel_workbench](https://github.com/ROBOTIS-GIT/dynamixel-workbench) - [OpenCR-Hardware](https://github.com/ROBOTIS-GIT/OpenCR-Hardware) - [OpenCR](https://github.com/ROBOTIS-GIT/OpenCR) -## Documents and Videos related to OpenManipulator with TurtleBot3 -- [ROBOTIS e-Manual for OpenManipulator](http://emanual.robotis.com/docs/en/platform/openmanipulator/) -- [ROBOTIS e-Manual for TurtleBot3](http://turtlebot3.robotis.com/) -- [ROBOTIS e-Manual for Dynamixel SDK](http://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_sdk/overview/) -- [ROBOTIS e-Manual for Dynamixel Workbench](http://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_workbench/) -- [e-Book for TurtleBot3 and OpenManipulator](https://community.robotsource.org/t/download-the-ros-robot-programming-book-for-free/51/) -- [Videos for OpenManipulator](https://www.youtube.com/playlist?list=PLRG6WP3c31_WpEsB6_Rdt3KhiopXQlUkb) -- [Videos for TurtleBot3 and OpenManipulator](https://www.youtube.com/playlist?list=PLRG6WP3c31_XI3wlvHlx2Mp8BYqgqDURU) +## Documentation, Videos, and Community + +### Official Documentation +- ⚙️ **[ROBOTIS DYNAMIXEL](https://dynamixel.com/)** +- 📚 **[ROBOTIS e-Manual for Dynamixel SDK](http://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_sdk/overview/)** +- 📚 **[ROBOTIS e-Manual for TurtleBot3](http://turtlebot3.robotis.com/)** +- 📚 **[ROBOTIS e-Manual for OpenMANIPULATOR-X](https://emanual.robotis.com/docs/en/platform/openmanipulator_x/overview/)** + +### Learning Resources +- 🎥 **[ROBOTIS YouTube Channel](https://www.youtube.com/@ROBOTISCHANNEL)** +- 🎥 **[ROBOTIS Open Source YouTube Channel](https://www.youtube.com/@ROBOTISOpenSourceTeam)** +- 🎥 **[ROBOTIS TurtleBot3 YouTube Playlist](https://www.youtube.com/playlist?list=PLRG6WP3c31_XI3wlvHlx2Mp8BYqgqDURU)** +- 🎥 **[ROBOTIS OpenMANIPULATOR YouTube Playlist](https://www.youtube.com/playlist?list=PLRG6WP3c31_WpEsB6_Rdt3KhiopXQlUkb)** + +### Community & Support +- 💬 **[ROBOTIS Community Forum](https://forum.robotis.com/)** +- 💬 **[TurtleBot category from ROS Community](https://discourse.ros.org/c/turtlebot/)** diff --git a/turtlebot3_manipulation/CHANGELOG.rst b/turtlebot3_manipulation/CHANGELOG.rst index 5fbc20f..c9ad652 100644 --- a/turtlebot3_manipulation/CHANGELOG.rst +++ b/turtlebot3_manipulation/CHANGELOG.rst @@ -2,7 +2,7 @@ Changelog for package turtlebot3_manipulation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.2.0 (2024-12-02) +2.2.0 (2025-04-01) ------------------ * Added gripper control in teleoperation. * Resolved the issue where teleoperation was not functioning on the actual robot. @@ -12,7 +12,7 @@ Changelog for package turtlebot3_manipulation 2.1.1 (2022-10-14) ------------------ -* Support ROS2 Humble +* Support ROS 2 Humble * MoveIt environment configured * use ros2_control framework instead of ROBOTIS custom library * removed dependency to `turtlebot3_*`` and `open_manipulator` packages diff --git a/turtlebot3_manipulation_bringup/CHANGELOG.rst b/turtlebot3_manipulation_bringup/CHANGELOG.rst index 117892c..28851ce 100644 --- a/turtlebot3_manipulation_bringup/CHANGELOG.rst +++ b/turtlebot3_manipulation_bringup/CHANGELOG.rst @@ -2,14 +2,14 @@ Changelog for package turtlebot3_manipulation_bringup ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.2.0 (2024-12-02) +2.2.0 (2025-04-01) ------------------ * Updated maintainer information * Contributors: Sungho Woo 2.1.1 (2022-10-14) ------------------ -* Support ROS2 Humble +* Support ROS 2 Humble * MoveIt environment configured * use ros2_control framework instead of ROBOTIS custom library * removed dependency to `turtlebot3_*`` and `open_manipulator` packages diff --git a/turtlebot3_manipulation_bringup/CMakeLists.txt b/turtlebot3_manipulation_bringup/CMakeLists.txt index 6c5e7cd..4554833 100644 --- a/turtlebot3_manipulation_bringup/CMakeLists.txt +++ b/turtlebot3_manipulation_bringup/CMakeLists.txt @@ -17,7 +17,6 @@ install( DESTINATION share/${PROJECT_NAME} ) -ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/env-hooks/${PROJECT_NAME}.dsv.in") ################################################################################ # Macro for ament package ################################################################################ diff --git a/turtlebot3_manipulation_bringup/env-hooks/turtlebot3_manipulation_bringup.dsv.in b/turtlebot3_manipulation_bringup/env-hooks/turtlebot3_manipulation_bringup.dsv.in deleted file mode 100644 index 147af65..0000000 --- a/turtlebot3_manipulation_bringup/env-hooks/turtlebot3_manipulation_bringup.dsv.in +++ /dev/null @@ -1 +0,0 @@ -prepend-non-duplicate;GAZEBO_MODEL_PATH;share/turtlebot3_manipulation_bringup/worlds diff --git a/turtlebot3_manipulation_cartographer/CHANGELOG.rst b/turtlebot3_manipulation_cartographer/CHANGELOG.rst index dcc5d2c..0568785 100644 --- a/turtlebot3_manipulation_cartographer/CHANGELOG.rst +++ b/turtlebot3_manipulation_cartographer/CHANGELOG.rst @@ -2,14 +2,14 @@ Changelog for package turtlebot3_manipulation_cartographer ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.2.0 (2024-12-02) +2.2.0 (2025-04-01) ------------------ * Updated maintainer information * Contributors: Sungho Woo 2.1.1 (2022-10-14) ------------------ -* Support ROS2 Humble +* Support ROS 2 Humble * MoveIt environment configured * use ros2_control framework instead of ROBOTIS custom library * removed dependency to `turtlebot3_*`` and `open_manipulator` packages diff --git a/turtlebot3_manipulation_description/CHANGELOG.rst b/turtlebot3_manipulation_description/CHANGELOG.rst index 05489f9..fe1f580 100644 --- a/turtlebot3_manipulation_description/CHANGELOG.rst +++ b/turtlebot3_manipulation_description/CHANGELOG.rst @@ -2,7 +2,7 @@ Changelog for package turtlebot3_manipulation_description ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.2.0 (2024-12-02) +2.2.0 (2025-04-01) ------------------ * Fixed the intermittent issue of Gazebo not launching * Fixed the error log related to the mimic joint. @@ -10,7 +10,7 @@ Changelog for package turtlebot3_manipulation_description 2.1.1 (2022-10-14) ------------------ -* Support ROS2 Humble +* Support ROS 2 Humble * MoveIt environment configured * use ros2_control framework instead of ROBOTIS custom library * removed dependency to `turtlebot3_*`` and `open_manipulator` packages diff --git a/turtlebot3_manipulation_description/CMakeLists.txt b/turtlebot3_manipulation_description/CMakeLists.txt index 1c660ef..903f0f4 100644 --- a/turtlebot3_manipulation_description/CMakeLists.txt +++ b/turtlebot3_manipulation_description/CMakeLists.txt @@ -16,7 +16,6 @@ install(DIRECTORY launch rviz urdf gazebo meshes ros2_control DESTINATION share/${PROJECT_NAME} ) -ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/env-hooks/${PROJECT_NAME}.dsv.in") ################################################################################ # Macro for ament package ################################################################################ diff --git a/turtlebot3_manipulation_description/env-hooks/turtlebot3_manipulation_description.dsv.in b/turtlebot3_manipulation_description/env-hooks/turtlebot3_manipulation_description.dsv.in deleted file mode 100644 index c9db325..0000000 --- a/turtlebot3_manipulation_description/env-hooks/turtlebot3_manipulation_description.dsv.in +++ /dev/null @@ -1 +0,0 @@ -prepend-non-duplicate;GAZEBO_MODEL_PATH;share diff --git a/turtlebot3_manipulation_hardware/CHANGELOG.rst b/turtlebot3_manipulation_hardware/CHANGELOG.rst index a02d626..711ccbc 100644 --- a/turtlebot3_manipulation_hardware/CHANGELOG.rst +++ b/turtlebot3_manipulation_hardware/CHANGELOG.rst @@ -2,14 +2,14 @@ Changelog for package turtlebot3_manipulation_hardware ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.2.0 (2024-12-02) +2.2.0 (2025-04-01) ------------------ * Resolved the issue where teleoperation was not functioning on the actual robot * Contributors: Sungho Woo 2.1.1 (2022-10-14) ------------------ -* Support ROS2 Humble +* Support ROS 2 Humble * MoveIt environment configured * use ros2_control framework instead of ROBOTIS custom library * removed dependency to `turtlebot3_*`` and `open_manipulator` packages diff --git a/turtlebot3_manipulation_moveit_config/CHANGELOG.rst b/turtlebot3_manipulation_moveit_config/CHANGELOG.rst index b3ed566..6661025 100644 --- a/turtlebot3_manipulation_moveit_config/CHANGELOG.rst +++ b/turtlebot3_manipulation_moveit_config/CHANGELOG.rst @@ -2,7 +2,7 @@ Changelog for package turtlebot3_manipulation_moveit_config ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.2.0 (2024-12-02) +2.2.0 (2025-04-01) ------------------ * Resolved the issue where teleoperation was not functioning on the actual robot * Contributors: Sungho Woo diff --git a/turtlebot3_manipulation_moveit_config/CMakeLists.txt b/turtlebot3_manipulation_moveit_config/CMakeLists.txt index f4545a5..ed86f85 100644 --- a/turtlebot3_manipulation_moveit_config/CMakeLists.txt +++ b/turtlebot3_manipulation_moveit_config/CMakeLists.txt @@ -1,11 +1,23 @@ -cmake_minimum_required(VERSION 3.10.2) +################################################################################ +# Set minimum required version of cmake, project name and compile options +################################################################################ +cmake_minimum_required(VERSION 3.5) project(turtlebot3_manipulation_moveit_config) +################################################################################ +# Find and load build settings from external packages +################################################################################ find_package(ament_cmake REQUIRED) -ament_package() - +################################################################################ +# Install +################################################################################ install(DIRECTORY launch DESTINATION share/${PROJECT_NAME} PATTERN "setup_assistant.launch" EXCLUDE) install(DIRECTORY config DESTINATION share/${PROJECT_NAME}) install(FILES .setup_assistant DESTINATION share/${PROJECT_NAME}) + +################################################################################ +# Macro for ament package +################################################################################ +ament_package() diff --git a/turtlebot3_manipulation_moveit_config/package.xml b/turtlebot3_manipulation_moveit_config/package.xml index 72ae8f0..f647622 100644 --- a/turtlebot3_manipulation_moveit_config/package.xml +++ b/turtlebot3_manipulation_moveit_config/package.xml @@ -7,14 +7,13 @@ An automatically generated package with all the configuration and launch files for using the turtlebot3_manipulation with the MoveIt Motion Planning Framework Pyo - BSD - http://moveit.ros.org/ - https://github.com/ros-planning/moveit2/issues - https://github.com/ros-planning/moveit2 + Apache 2.0 + https://emanual.robotis.com/docs/en/platform/turtlebot3/manipulation/ + https://github.com/ROBOTIS-GIT/turtlebot3_manipulation + https://github.com/ROBOTIS-GIT/turtlebot3_manipulation/issues Hye-jong KIM Sungho Woo ament_cmake - moveit_ros_move_group moveit_kinematics moveit_planners @@ -22,8 +21,6 @@ joint_state_publisher joint_state_publisher_gui tf2_ros - moveit_ros_move_group moveit_ros_visualization moveit_ros_warehouse @@ -36,9 +33,7 @@ warehouse_ros_mongo srdfdom xacro - - - ament_cmake + ament_cmake diff --git a/turtlebot3_manipulation_navigation2/CHANGELOG.rst b/turtlebot3_manipulation_navigation2/CHANGELOG.rst index d67a019..255774a 100644 --- a/turtlebot3_manipulation_navigation2/CHANGELOG.rst +++ b/turtlebot3_manipulation_navigation2/CHANGELOG.rst @@ -2,14 +2,14 @@ Changelog for package turtlebot3_manipulation_navigation2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.2.0 (2024-12-02) +2.2.0 (2025-04-01) ------------------ * Updated maintainer information * Contributors: Sungho Woo 2.1.1 (2022-10-14) ------------------ -* Support ROS2 Humble +* Support ROS 2 Humble * MoveIt environment configured * use ros2_control framework instead of ROBOTIS custom library * removed dependency to `turtlebot3_*`` and `open_manipulator` packages diff --git a/turtlebot3_manipulation_teleop/CHANGELOG.rst b/turtlebot3_manipulation_teleop/CHANGELOG.rst index 6d02b2b..70cb82b 100644 --- a/turtlebot3_manipulation_teleop/CHANGELOG.rst +++ b/turtlebot3_manipulation_teleop/CHANGELOG.rst @@ -2,14 +2,14 @@ Changelog for package turtlebot3_manipulation_teleop ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.2.0 (2024-12-02) +2.2.0 (2025-04-01) ------------------ * Added gripper control in teleoperation * Contributors: Sungho Woo 2.1.1 (2022-10-14) ------------------ -* Support ROS2 Humble +* Support ROS 2 Humble * MoveIt environment configured * use ros2_control framework instead of ROBOTIS custom library * removed dependency to `turtlebot3_*`` and `open_manipulator` packages diff --git a/turtlebot3_manipulation_teleop/CMakeLists.txt b/turtlebot3_manipulation_teleop/CMakeLists.txt index d49ac4d..9533932 100644 --- a/turtlebot3_manipulation_teleop/CMakeLists.txt +++ b/turtlebot3_manipulation_teleop/CMakeLists.txt @@ -1,3 +1,6 @@ +################################################################################ +# Set minimum required version of cmake, project name and compile options +################################################################################ cmake_minimum_required(VERSION 3.5) project(turtlebot3_manipulation_teleop) @@ -10,7 +13,9 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic) endif() -# find dependencies +################################################################################ +# Find ament packages and libraries for ament and system dependencies +################################################################################ find_package(ament_cmake REQUIRED) find_package(rclcpp REQUIRED) find_package(turtlebot3_manipulation_bringup REQUIRED) @@ -41,12 +46,13 @@ ament_target_dependencies( "rclcpp_action" ) +################################################################################ +# Install +################################################################################ install(TARGETS turtlebot3_manipulation_teleop DESTINATION lib/${PROJECT_NAME}) -if(BUILD_TESTING) - find_package(ament_lint_auto REQUIRED) - ament_lint_auto_find_test_dependencies() -endif() - +################################################################################ +# Macro for ament package +################################################################################ ament_package() diff --git a/turtlebot3_manipulation_teleop/package.xml b/turtlebot3_manipulation_teleop/package.xml index e14a3fd..eb7bda8 100644 --- a/turtlebot3_manipulation_teleop/package.xml +++ b/turtlebot3_manipulation_teleop/package.xml @@ -11,9 +11,7 @@ https://github.com/ROBOTIS-GIT/turtlebot3_manipulation/issues Hye-jong KIM Sungho Woo - ament_cmake - rclcpp turtlebot3_manipulation_bringup turtlebot3_manipulation_moveit_config @@ -22,10 +20,6 @@ nav_msgs control_msgs sensor_msgs - - ament_lint_auto - ament_lint_common - ament_cmake