2023-02-03 07:04:12 +00:00
|
|
|
cmake_minimum_required(VERSION 3.8)
|
|
|
|
project(rbs_skill_servers)
|
2022-01-31 21:28:39 +04:00
|
|
|
|
refactor(rbs_skill_servers): update action configuration, dependencies, and skills
- Removed `assembly_config_service.py` node from launch configuration.
- Added default `goal.duration` setting to `MoveToPose` and `MoveToPoseArray`.
- Replaced `timeout_seconds` with `duration` in action definitions for `MoveitSendJointStates` and `MoveitSendPose`.
- Removed dependencies on TinyXML2 and Gazebo/SDFormat, adding `controller_manager_msgs` and `control_msgs` to CMake configuration.
- Added new action servers `cartesian_move_to_pose` and `move_to_joint_states`, registering them in CMakeLists file.
- Introduced `SkillBase`, a template class for managing action-based skills, providing essential ROS 2 action server support and functionalities for handling goals, cancels, accepted actions, and controller management.
- Implemented methods to load, configure, and switch required controllers with conflict detection for active controllers, along with parameter checking and asynchronous handling for required parameters.
- Enhanced error handling for missing controllers, parameters, and resource conflicts.
- Updated `skills.launch.py` to utilize `ComposableNodeContainer` for skill nodes, incorporating `MoveToJointStateActionServer` and `CartesianMoveToPose` as composable nodes.
- Changed the executable name in `cartesian_move_to_pose_action_server` node configuration.
- Added `cartesian_move_to_pose.cpp`, implementing the `CartesianMoveToPose` action server, including trajectory interpolation, pose adjustment, and controller management.
- Updated `package.xml` to include `rclcpp_components` dependency.
- Refactored `MoveToJointStateActionServer` to extend `SkillBase`, leveraging `FollowJointTrajectory` for joint trajectory execution, while removing redundant code and dependencies.
- Implemented trajectory generation based on initial and target joint positions with parameterized interpolation for smoother execution, enhancing joint state handling to dynamically align current and target joint values.
2024-10-30 17:49:03 +03:00
|
|
|
# Set default standards
|
2022-01-31 21:28:39 +04:00
|
|
|
if(NOT CMAKE_C_STANDARD)
|
|
|
|
set(CMAKE_C_STANDARD 99)
|
|
|
|
endif()
|
|
|
|
if(NOT CMAKE_CXX_STANDARD)
|
2023-04-30 11:46:52 +00:00
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
2022-01-31 21:28:39 +04:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
|
|
add_compile_options(-Wall -Wextra -Wpedantic)
|
|
|
|
endif()
|
|
|
|
|
refactor(rbs_skill_servers): update action configuration, dependencies, and skills
- Removed `assembly_config_service.py` node from launch configuration.
- Added default `goal.duration` setting to `MoveToPose` and `MoveToPoseArray`.
- Replaced `timeout_seconds` with `duration` in action definitions for `MoveitSendJointStates` and `MoveitSendPose`.
- Removed dependencies on TinyXML2 and Gazebo/SDFormat, adding `controller_manager_msgs` and `control_msgs` to CMake configuration.
- Added new action servers `cartesian_move_to_pose` and `move_to_joint_states`, registering them in CMakeLists file.
- Introduced `SkillBase`, a template class for managing action-based skills, providing essential ROS 2 action server support and functionalities for handling goals, cancels, accepted actions, and controller management.
- Implemented methods to load, configure, and switch required controllers with conflict detection for active controllers, along with parameter checking and asynchronous handling for required parameters.
- Enhanced error handling for missing controllers, parameters, and resource conflicts.
- Updated `skills.launch.py` to utilize `ComposableNodeContainer` for skill nodes, incorporating `MoveToJointStateActionServer` and `CartesianMoveToPose` as composable nodes.
- Changed the executable name in `cartesian_move_to_pose_action_server` node configuration.
- Added `cartesian_move_to_pose.cpp`, implementing the `CartesianMoveToPose` action server, including trajectory interpolation, pose adjustment, and controller management.
- Updated `package.xml` to include `rclcpp_components` dependency.
- Refactored `MoveToJointStateActionServer` to extend `SkillBase`, leveraging `FollowJointTrajectory` for joint trajectory execution, while removing redundant code and dependencies.
- Implemented trajectory generation based on initial and target joint positions with parameterized interpolation for smoother execution, enhancing joint state handling to dynamically align current and target joint values.
2024-10-30 17:49:03 +03:00
|
|
|
set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS TRUE)
|
|
|
|
|
|
|
|
# Find dependencies
|
2022-01-31 21:28:39 +04:00
|
|
|
find_package(ament_cmake REQUIRED)
|
|
|
|
find_package(rclcpp REQUIRED)
|
|
|
|
find_package(rclcpp_components REQUIRED)
|
|
|
|
find_package(rclcpp_action REQUIRED)
|
|
|
|
find_package(moveit_core REQUIRED)
|
|
|
|
find_package(moveit_ros_planning REQUIRED)
|
|
|
|
find_package(moveit_ros_planning_interface REQUIRED)
|
|
|
|
find_package(moveit_msgs REQUIRED)
|
|
|
|
find_package(tf2_ros REQUIRED)
|
|
|
|
find_package(geometry_msgs REQUIRED)
|
2023-02-03 07:04:12 +00:00
|
|
|
find_package(rbs_skill_interfaces REQUIRED)
|
2022-03-08 00:42:34 +04:00
|
|
|
find_package(rmw REQUIRED)
|
2023-04-21 23:28:57 +03:00
|
|
|
find_package(tf2_eigen REQUIRED)
|
|
|
|
find_package(tf2_msgs REQUIRED)
|
2023-12-11 18:31:12 +03:00
|
|
|
find_package(Eigen3 3.3 REQUIRED)
|
|
|
|
find_package(rbs_utils REQUIRED)
|
refactor(rbs_skill_servers): update action configuration, dependencies, and skills
- Removed `assembly_config_service.py` node from launch configuration.
- Added default `goal.duration` setting to `MoveToPose` and `MoveToPoseArray`.
- Replaced `timeout_seconds` with `duration` in action definitions for `MoveitSendJointStates` and `MoveitSendPose`.
- Removed dependencies on TinyXML2 and Gazebo/SDFormat, adding `controller_manager_msgs` and `control_msgs` to CMake configuration.
- Added new action servers `cartesian_move_to_pose` and `move_to_joint_states`, registering them in CMakeLists file.
- Introduced `SkillBase`, a template class for managing action-based skills, providing essential ROS 2 action server support and functionalities for handling goals, cancels, accepted actions, and controller management.
- Implemented methods to load, configure, and switch required controllers with conflict detection for active controllers, along with parameter checking and asynchronous handling for required parameters.
- Enhanced error handling for missing controllers, parameters, and resource conflicts.
- Updated `skills.launch.py` to utilize `ComposableNodeContainer` for skill nodes, incorporating `MoveToJointStateActionServer` and `CartesianMoveToPose` as composable nodes.
- Changed the executable name in `cartesian_move_to_pose_action_server` node configuration.
- Added `cartesian_move_to_pose.cpp`, implementing the `CartesianMoveToPose` action server, including trajectory interpolation, pose adjustment, and controller management.
- Updated `package.xml` to include `rclcpp_components` dependency.
- Refactored `MoveToJointStateActionServer` to extend `SkillBase`, leveraging `FollowJointTrajectory` for joint trajectory execution, while removing redundant code and dependencies.
- Implemented trajectory generation based on initial and target joint positions with parameterized interpolation for smoother execution, enhancing joint state handling to dynamically align current and target joint values.
2024-10-30 17:49:03 +03:00
|
|
|
find_package(controller_manager_msgs REQUIRED)
|
|
|
|
find_package(control_msgs REQUIRED)
|
2022-01-31 21:28:39 +04:00
|
|
|
|
refactor(rbs_skill_servers): update action configuration, dependencies, and skills
- Removed `assembly_config_service.py` node from launch configuration.
- Added default `goal.duration` setting to `MoveToPose` and `MoveToPoseArray`.
- Replaced `timeout_seconds` with `duration` in action definitions for `MoveitSendJointStates` and `MoveitSendPose`.
- Removed dependencies on TinyXML2 and Gazebo/SDFormat, adding `controller_manager_msgs` and `control_msgs` to CMake configuration.
- Added new action servers `cartesian_move_to_pose` and `move_to_joint_states`, registering them in CMakeLists file.
- Introduced `SkillBase`, a template class for managing action-based skills, providing essential ROS 2 action server support and functionalities for handling goals, cancels, accepted actions, and controller management.
- Implemented methods to load, configure, and switch required controllers with conflict detection for active controllers, along with parameter checking and asynchronous handling for required parameters.
- Enhanced error handling for missing controllers, parameters, and resource conflicts.
- Updated `skills.launch.py` to utilize `ComposableNodeContainer` for skill nodes, incorporating `MoveToJointStateActionServer` and `CartesianMoveToPose` as composable nodes.
- Changed the executable name in `cartesian_move_to_pose_action_server` node configuration.
- Added `cartesian_move_to_pose.cpp`, implementing the `CartesianMoveToPose` action server, including trajectory interpolation, pose adjustment, and controller management.
- Updated `package.xml` to include `rclcpp_components` dependency.
- Refactored `MoveToJointStateActionServer` to extend `SkillBase`, leveraging `FollowJointTrajectory` for joint trajectory execution, while removing redundant code and dependencies.
- Implemented trajectory generation based on initial and target joint positions with parameterized interpolation for smoother execution, enhancing joint state handling to dynamically align current and target joint values.
2024-10-30 17:49:03 +03:00
|
|
|
set(DEPS
|
2023-12-30 23:41:03 +03:00
|
|
|
rclcpp
|
|
|
|
rclcpp_action
|
|
|
|
moveit_core
|
|
|
|
moveit_ros_planning
|
|
|
|
moveit_ros_planning_interface
|
refactor(rbs_skill_servers): update action configuration, dependencies, and skills
- Removed `assembly_config_service.py` node from launch configuration.
- Added default `goal.duration` setting to `MoveToPose` and `MoveToPoseArray`.
- Replaced `timeout_seconds` with `duration` in action definitions for `MoveitSendJointStates` and `MoveitSendPose`.
- Removed dependencies on TinyXML2 and Gazebo/SDFormat, adding `controller_manager_msgs` and `control_msgs` to CMake configuration.
- Added new action servers `cartesian_move_to_pose` and `move_to_joint_states`, registering them in CMakeLists file.
- Introduced `SkillBase`, a template class for managing action-based skills, providing essential ROS 2 action server support and functionalities for handling goals, cancels, accepted actions, and controller management.
- Implemented methods to load, configure, and switch required controllers with conflict detection for active controllers, along with parameter checking and asynchronous handling for required parameters.
- Enhanced error handling for missing controllers, parameters, and resource conflicts.
- Updated `skills.launch.py` to utilize `ComposableNodeContainer` for skill nodes, incorporating `MoveToJointStateActionServer` and `CartesianMoveToPose` as composable nodes.
- Changed the executable name in `cartesian_move_to_pose_action_server` node configuration.
- Added `cartesian_move_to_pose.cpp`, implementing the `CartesianMoveToPose` action server, including trajectory interpolation, pose adjustment, and controller management.
- Updated `package.xml` to include `rclcpp_components` dependency.
- Refactored `MoveToJointStateActionServer` to extend `SkillBase`, leveraging `FollowJointTrajectory` for joint trajectory execution, while removing redundant code and dependencies.
- Implemented trajectory generation based on initial and target joint positions with parameterized interpolation for smoother execution, enhancing joint state handling to dynamically align current and target joint values.
2024-10-30 17:49:03 +03:00
|
|
|
control_msgs
|
|
|
|
controller_manager_msgs
|
2023-12-30 23:41:03 +03:00
|
|
|
moveit_msgs
|
|
|
|
geometry_msgs
|
|
|
|
tf2_ros
|
|
|
|
rclcpp_components
|
|
|
|
rbs_skill_interfaces
|
|
|
|
tf2_eigen
|
|
|
|
tf2_msgs
|
|
|
|
geometric_shapes
|
refactor(rbs_skill_servers): update action configuration, dependencies, and skills
- Removed `assembly_config_service.py` node from launch configuration.
- Added default `goal.duration` setting to `MoveToPose` and `MoveToPoseArray`.
- Replaced `timeout_seconds` with `duration` in action definitions for `MoveitSendJointStates` and `MoveitSendPose`.
- Removed dependencies on TinyXML2 and Gazebo/SDFormat, adding `controller_manager_msgs` and `control_msgs` to CMake configuration.
- Added new action servers `cartesian_move_to_pose` and `move_to_joint_states`, registering them in CMakeLists file.
- Introduced `SkillBase`, a template class for managing action-based skills, providing essential ROS 2 action server support and functionalities for handling goals, cancels, accepted actions, and controller management.
- Implemented methods to load, configure, and switch required controllers with conflict detection for active controllers, along with parameter checking and asynchronous handling for required parameters.
- Enhanced error handling for missing controllers, parameters, and resource conflicts.
- Updated `skills.launch.py` to utilize `ComposableNodeContainer` for skill nodes, incorporating `MoveToJointStateActionServer` and `CartesianMoveToPose` as composable nodes.
- Changed the executable name in `cartesian_move_to_pose_action_server` node configuration.
- Added `cartesian_move_to_pose.cpp`, implementing the `CartesianMoveToPose` action server, including trajectory interpolation, pose adjustment, and controller management.
- Updated `package.xml` to include `rclcpp_components` dependency.
- Refactored `MoveToJointStateActionServer` to extend `SkillBase`, leveraging `FollowJointTrajectory` for joint trajectory execution, while removing redundant code and dependencies.
- Implemented trajectory generation based on initial and target joint positions with parameterized interpolation for smoother execution, enhancing joint state handling to dynamically align current and target joint values.
2024-10-30 17:49:03 +03:00
|
|
|
)
|
2022-01-31 21:28:39 +04:00
|
|
|
|
|
|
|
|
refactor(rbs_skill_servers): update action configuration, dependencies, and skills
- Removed `assembly_config_service.py` node from launch configuration.
- Added default `goal.duration` setting to `MoveToPose` and `MoveToPoseArray`.
- Replaced `timeout_seconds` with `duration` in action definitions for `MoveitSendJointStates` and `MoveitSendPose`.
- Removed dependencies on TinyXML2 and Gazebo/SDFormat, adding `controller_manager_msgs` and `control_msgs` to CMake configuration.
- Added new action servers `cartesian_move_to_pose` and `move_to_joint_states`, registering them in CMakeLists file.
- Introduced `SkillBase`, a template class for managing action-based skills, providing essential ROS 2 action server support and functionalities for handling goals, cancels, accepted actions, and controller management.
- Implemented methods to load, configure, and switch required controllers with conflict detection for active controllers, along with parameter checking and asynchronous handling for required parameters.
- Enhanced error handling for missing controllers, parameters, and resource conflicts.
- Updated `skills.launch.py` to utilize `ComposableNodeContainer` for skill nodes, incorporating `MoveToJointStateActionServer` and `CartesianMoveToPose` as composable nodes.
- Changed the executable name in `cartesian_move_to_pose_action_server` node configuration.
- Added `cartesian_move_to_pose.cpp`, implementing the `CartesianMoveToPose` action server, including trajectory interpolation, pose adjustment, and controller management.
- Updated `package.xml` to include `rclcpp_components` dependency.
- Refactored `MoveToJointStateActionServer` to extend `SkillBase`, leveraging `FollowJointTrajectory` for joint trajectory execution, while removing redundant code and dependencies.
- Implemented trajectory generation based on initial and target joint positions with parameterized interpolation for smoother execution, enhancing joint state handling to dynamically align current and target joint values.
2024-10-30 17:49:03 +03:00
|
|
|
macro(add_ros2_component target_name source_file plugin_name executable_name)
|
|
|
|
add_library(${target_name} SHARED ${source_file})
|
|
|
|
target_include_directories(${target_name}
|
|
|
|
PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
|
|
|
$<INSTALL_INTERFACE:include>)
|
|
|
|
target_compile_definitions(${target_name} PRIVATE "${target_name}_BUILDING_DLL")
|
|
|
|
ament_target_dependencies(${target_name} ${DEPS})
|
|
|
|
rclcpp_components_register_node(${target_name} PLUGIN ${plugin_name} EXECUTABLE ${executable_name})
|
|
|
|
endmacro()
|
|
|
|
|
|
|
|
# Add components
|
|
|
|
add_ros2_component(gripper_action_server
|
|
|
|
src/gripper_command.cpp
|
|
|
|
"rbs_skill_actions::GripperControlActionServer"
|
|
|
|
gripper_command)
|
|
|
|
|
|
|
|
add_ros2_component(cartesian_move_to_pose
|
|
|
|
src/mtp_cart.cpp
|
|
|
|
"rbs_skill_actions::CartesianMoveToPose"
|
|
|
|
mtp_cart)
|
|
|
|
|
|
|
|
add_ros2_component(move_to_joint_states
|
|
|
|
src/mtjs_jtc.cpp
|
|
|
|
"rbs_skill_actions::MoveToJointStateActionServer"
|
|
|
|
mtjs_jtc)
|
|
|
|
|
|
|
|
add_ros2_component(move_to_pose
|
|
|
|
src/mtp_jtc.cpp
|
|
|
|
"rbs_skill_actions::MoveToPose"
|
|
|
|
mtp_jtc)
|
|
|
|
|
|
|
|
add_ros2_component(move_to_pose_cartesian
|
|
|
|
src/mtp_jtc_cart.cpp
|
|
|
|
"rbs_skill_actions::MoveToPoseJtcCartesian"
|
|
|
|
mtp_jtc_cart)
|
|
|
|
|
|
|
|
add_ros2_component(move_to_pose_moveit
|
|
|
|
src/mtp_moveit.cpp
|
|
|
|
"rbs_skill_actions::MoveitMtp"
|
|
|
|
mtp_moveit)
|
|
|
|
|
|
|
|
add_ros2_component(move_to_pose_moveit_cartesian
|
|
|
|
src/mtp_moveit_cart.cpp
|
|
|
|
"rbs_skill_actions::MoveitMtpCart"
|
|
|
|
mtp_moveit_cart)
|
|
|
|
|
|
|
|
# Install directories and targets
|
2023-12-30 23:41:03 +03:00
|
|
|
install(DIRECTORY include/ DESTINATION include)
|
|
|
|
install(DIRECTORY launch config DESTINATION share/${PROJECT_NAME})
|
2023-11-30 13:47:33 +03:00
|
|
|
|
2022-01-31 21:28:39 +04:00
|
|
|
install(
|
refactor(rbs_skill_servers): update action configuration, dependencies, and skills
- Removed `assembly_config_service.py` node from launch configuration.
- Added default `goal.duration` setting to `MoveToPose` and `MoveToPoseArray`.
- Replaced `timeout_seconds` with `duration` in action definitions for `MoveitSendJointStates` and `MoveitSendPose`.
- Removed dependencies on TinyXML2 and Gazebo/SDFormat, adding `controller_manager_msgs` and `control_msgs` to CMake configuration.
- Added new action servers `cartesian_move_to_pose` and `move_to_joint_states`, registering them in CMakeLists file.
- Introduced `SkillBase`, a template class for managing action-based skills, providing essential ROS 2 action server support and functionalities for handling goals, cancels, accepted actions, and controller management.
- Implemented methods to load, configure, and switch required controllers with conflict detection for active controllers, along with parameter checking and asynchronous handling for required parameters.
- Enhanced error handling for missing controllers, parameters, and resource conflicts.
- Updated `skills.launch.py` to utilize `ComposableNodeContainer` for skill nodes, incorporating `MoveToJointStateActionServer` and `CartesianMoveToPose` as composable nodes.
- Changed the executable name in `cartesian_move_to_pose_action_server` node configuration.
- Added `cartesian_move_to_pose.cpp`, implementing the `CartesianMoveToPose` action server, including trajectory interpolation, pose adjustment, and controller management.
- Updated `package.xml` to include `rclcpp_components` dependency.
- Refactored `MoveToJointStateActionServer` to extend `SkillBase`, leveraging `FollowJointTrajectory` for joint trajectory execution, while removing redundant code and dependencies.
- Implemented trajectory generation based on initial and target joint positions with parameterized interpolation for smoother execution, enhancing joint state handling to dynamically align current and target joint values.
2024-10-30 17:49:03 +03:00
|
|
|
TARGETS
|
2023-12-30 23:41:03 +03:00
|
|
|
gripper_action_server
|
refactor(rbs_skill_servers): update action configuration, dependencies, and skills
- Removed `assembly_config_service.py` node from launch configuration.
- Added default `goal.duration` setting to `MoveToPose` and `MoveToPoseArray`.
- Replaced `timeout_seconds` with `duration` in action definitions for `MoveitSendJointStates` and `MoveitSendPose`.
- Removed dependencies on TinyXML2 and Gazebo/SDFormat, adding `controller_manager_msgs` and `control_msgs` to CMake configuration.
- Added new action servers `cartesian_move_to_pose` and `move_to_joint_states`, registering them in CMakeLists file.
- Introduced `SkillBase`, a template class for managing action-based skills, providing essential ROS 2 action server support and functionalities for handling goals, cancels, accepted actions, and controller management.
- Implemented methods to load, configure, and switch required controllers with conflict detection for active controllers, along with parameter checking and asynchronous handling for required parameters.
- Enhanced error handling for missing controllers, parameters, and resource conflicts.
- Updated `skills.launch.py` to utilize `ComposableNodeContainer` for skill nodes, incorporating `MoveToJointStateActionServer` and `CartesianMoveToPose` as composable nodes.
- Changed the executable name in `cartesian_move_to_pose_action_server` node configuration.
- Added `cartesian_move_to_pose.cpp`, implementing the `CartesianMoveToPose` action server, including trajectory interpolation, pose adjustment, and controller management.
- Updated `package.xml` to include `rclcpp_components` dependency.
- Refactored `MoveToJointStateActionServer` to extend `SkillBase`, leveraging `FollowJointTrajectory` for joint trajectory execution, while removing redundant code and dependencies.
- Implemented trajectory generation based on initial and target joint positions with parameterized interpolation for smoother execution, enhancing joint state handling to dynamically align current and target joint values.
2024-10-30 17:49:03 +03:00
|
|
|
cartesian_move_to_pose
|
|
|
|
move_to_joint_states
|
|
|
|
move_to_pose
|
|
|
|
move_to_pose_cartesian
|
|
|
|
move_to_pose_moveit_cartesian
|
|
|
|
move_to_pose_moveit
|
2022-03-08 00:42:34 +04:00
|
|
|
ARCHIVE DESTINATION lib
|
|
|
|
LIBRARY DESTINATION lib
|
2023-12-30 23:41:03 +03:00
|
|
|
RUNTIME DESTINATION lib/${PROJECT_NAME})
|
2023-04-21 23:28:57 +03:00
|
|
|
|
2023-12-30 23:41:03 +03:00
|
|
|
ament_export_include_directories(include)
|
2022-03-08 00:42:34 +04:00
|
|
|
|
2024-04-18 13:29:36 +00:00
|
|
|
ament_python_install_package(${PROJECT_NAME})
|
|
|
|
install(PROGRAMS
|
|
|
|
scripts/test_cartesian_controller.py
|
2024-04-22 15:06:46 +03:00
|
|
|
scripts/move_to_pose.py
|
2024-04-18 13:29:36 +00:00
|
|
|
DESTINATION lib/${PROJECT_NAME}
|
|
|
|
)
|
|
|
|
|
2022-01-31 21:28:39 +04:00
|
|
|
ament_package()
|