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
|
|
|
|
|
|
|
# Default to C99
|
|
|
|
if(NOT CMAKE_C_STANDARD)
|
|
|
|
set(CMAKE_C_STANDARD 99)
|
|
|
|
endif()
|
|
|
|
|
2023-04-30 11:46:52 +00:00
|
|
|
# Default to C++17
|
2022-01-31 21:28:39 +04:00
|
|
|
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()
|
|
|
|
|
|
|
|
# find dependencies
|
|
|
|
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-04-30 11:46:52 +00:00
|
|
|
find_package(tinyxml2_vendor REQUIRED)
|
|
|
|
find_package(TinyXML2 REQUIRED)
|
|
|
|
|
2023-05-16 23:10:19 +02:00
|
|
|
# Default to Fortress
|
|
|
|
set(SDF_VER 12)
|
|
|
|
|
|
|
|
# If the user didn't specify a GZ distribution, pick the one matching the ROS distribution according to REP 2000
|
|
|
|
if(NOT DEFINED ENV{GZ_VERSION} AND DEFINED ENV{ROS_DISTRO})
|
|
|
|
if("$ENV{ROS_DISTRO}" STREQUAL "humble")
|
|
|
|
set(ENV{GZ_VERSION} "fortress")
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# Find libsdformat matching the picked GZ distribution
|
|
|
|
if("$ENV{GZ_VERSION}" STREQUAL "fortress")
|
|
|
|
find_package(sdformat12 REQUIRED)
|
|
|
|
set(SDF_VER ${sdformat12_VERSION_MAJOR})
|
|
|
|
message(STATUS "Compiling against Gazebo Fortress (libSDFormat 12)")
|
|
|
|
elseif("$ENV{GZ_VERSION}" STREQUAL "garden")
|
|
|
|
find_package(sdformat13 REQUIRED)
|
|
|
|
set(SDF_VER ${sdformat13_VERSION_MAJOR})
|
|
|
|
message(STATUS "Compiling against Gazebo Garden (libSDFormat 13)")
|
|
|
|
# No GZ distribution specified, find any version of libsdformat we can
|
|
|
|
else()
|
|
|
|
foreach(major RANGE 13 9)
|
|
|
|
find_package(sdformat${major} QUIET)
|
|
|
|
if(sdformat${major}_FOUND)
|
|
|
|
# Next `find_package` call will be a noop
|
|
|
|
set(SDF_VER ${major})
|
|
|
|
message(STATUS "Compiling against libSDFormat ${major}")
|
|
|
|
break()
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
endif()
|
|
|
|
|
2023-04-30 11:46:52 +00:00
|
|
|
include_directories(SYSTEM
|
|
|
|
${TINYXML2_INCLUDE_DIR}
|
|
|
|
)
|
|
|
|
|
|
|
|
link_directories(
|
|
|
|
${TINYXML2_LIBRARY_DIRS}
|
|
|
|
)
|
2022-01-31 21:28:39 +04:00
|
|
|
|
|
|
|
set(deps
|
|
|
|
rclcpp
|
|
|
|
rclcpp_action
|
|
|
|
moveit_core
|
|
|
|
moveit_ros_planning
|
|
|
|
moveit_ros_planning_interface
|
|
|
|
moveit_msgs
|
|
|
|
geometry_msgs
|
|
|
|
tf2_ros
|
|
|
|
rclcpp_components
|
2023-02-03 07:04:12 +00:00
|
|
|
rbs_skill_interfaces
|
2023-04-21 23:28:57 +03:00
|
|
|
tf2_eigen
|
|
|
|
tf2_msgs
|
2023-04-30 11:46:52 +00:00
|
|
|
tinyxml2_vendor
|
2023-05-16 23:10:19 +02:00
|
|
|
geometric_shapes
|
|
|
|
sdformat${SDF_VER}
|
2022-01-31 21:28:39 +04:00
|
|
|
)
|
|
|
|
|
|
|
|
if(BUILD_TESTING)
|
|
|
|
find_package(ament_lint_auto REQUIRED)
|
|
|
|
ament_lint_auto_find_test_dependencies()
|
|
|
|
endif()
|
|
|
|
|
2023-03-31 20:24:56 +00:00
|
|
|
add_library(gripper_action_server SHARED src/gripper_control_action_server.cpp)
|
2023-04-21 23:28:57 +03:00
|
|
|
add_library(pick_place_pose_loader SHARED src/pick_place_pose_loader.cpp)
|
2023-03-31 20:24:56 +00:00
|
|
|
|
|
|
|
target_include_directories(gripper_action_server PRIVATE
|
|
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
|
|
|
$<INSTALL_INTERFACE:include>)
|
|
|
|
|
2023-04-21 23:28:57 +03:00
|
|
|
target_include_directories(pick_place_pose_loader PRIVATE
|
|
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
|
|
|
$<INSTALL_INTERFACE:include>)
|
|
|
|
|
2023-03-31 20:24:56 +00:00
|
|
|
target_compile_definitions(gripper_action_server
|
2023-04-21 23:28:57 +03:00
|
|
|
PRIVATE "GRIPPER_ACTION_SERVER_CPP_BUILDING_DLL")
|
|
|
|
|
|
|
|
target_compile_definitions(pick_place_pose_loader
|
|
|
|
PRIVATE "PICK_PLACE_POSE_LOADER_CPP_BUILDING_DLL")
|
2023-03-31 20:24:56 +00:00
|
|
|
|
|
|
|
ament_target_dependencies(gripper_action_server ${deps})
|
2023-04-21 23:28:57 +03:00
|
|
|
ament_target_dependencies(pick_place_pose_loader ${deps})
|
2023-03-31 20:24:56 +00:00
|
|
|
|
|
|
|
rclcpp_components_register_node(gripper_action_server PLUGIN "rbs_skill_actions::GripperControlActionServer" EXECUTABLE gripper_control_action_server)
|
2023-04-21 23:28:57 +03:00
|
|
|
rclcpp_components_register_node(pick_place_pose_loader PLUGIN "rbs_skill_actions::GetGraspPickPoseServer" EXECUTABLE pick_place_pose_loader_service_server)
|
2023-03-31 20:24:56 +00:00
|
|
|
|
2022-02-10 23:15:37 +04:00
|
|
|
add_executable(move_to_joint_states_action_server src/move_to_joint_states_action_server.cpp)
|
|
|
|
ament_target_dependencies(move_to_joint_states_action_server ${deps})
|
|
|
|
|
2023-04-21 23:28:57 +03:00
|
|
|
#add_executable(pick_place_pose_loader src/get_grasp_pick_pose.cpp)
|
|
|
|
#ament_target_dependencies(pick_place_pose_loader ${deps})
|
2023-03-31 20:24:56 +00:00
|
|
|
|
2022-02-02 21:47:26 +04:00
|
|
|
add_executable(move_topose_action_server src/move_topose_action_server.cpp)
|
|
|
|
ament_target_dependencies(move_topose_action_server ${deps})
|
2022-02-07 18:34:33 +04:00
|
|
|
|
2022-03-16 00:49:48 +04:00
|
|
|
add_executable(move_cartesian_path_action_server src/move_cartesian_path_action_server.cpp)
|
|
|
|
ament_target_dependencies(move_cartesian_path_action_server ${deps})
|
2022-03-08 00:42:34 +04:00
|
|
|
|
2023-03-31 20:24:56 +00:00
|
|
|
add_executable(add_planning_scene_object_service src/add_planning_scene_objects_service.cpp)
|
|
|
|
ament_target_dependencies(add_planning_scene_object_service ${deps})
|
|
|
|
|
2023-04-30 11:46:52 +00:00
|
|
|
add_library(assemble_state_server SHARED src/assemble_state_server.cpp)
|
|
|
|
target_compile_definitions(assemble_state_server
|
|
|
|
PRIVATE "ASSEMBLE_STATE_SERVER_CPP_BUILDING_DLL")
|
|
|
|
ament_target_dependencies(assemble_state_server ${deps})
|
|
|
|
target_link_libraries(assemble_state_server ${TINYXML2_LIBRARY})
|
|
|
|
rclcpp_components_register_node(assemble_state_server PLUGIN "AssembleStateServer" EXECUTABLE assemble_state_service_server)
|
2023-04-21 23:28:57 +03:00
|
|
|
|
2023-05-16 23:10:19 +02:00
|
|
|
add_library(moveit_update_planning_scene_server SHARED src/moveit_update_planning_scene.cpp)
|
|
|
|
target_compile_definitions(moveit_update_planning_scene_server
|
|
|
|
PRIVATE "MOVEIT_UPDATE_PLANNING_SCENE_SERVER_CPP_BUILDING_DLL")
|
|
|
|
ament_target_dependencies(moveit_update_planning_scene_server ${deps})
|
|
|
|
target_link_libraries(moveit_update_planning_scene_server ${TINYXML2_LIBRARY})
|
|
|
|
rclcpp_components_register_node(moveit_update_planning_scene_server PLUGIN "UpdatePlanningSceneServer" EXECUTABLE moveit_update_planning_scene_service_server)
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-21 23:28:57 +03:00
|
|
|
install(
|
|
|
|
DIRECTORY include/
|
|
|
|
DESTINATION include
|
|
|
|
)
|
|
|
|
|
2022-01-31 21:28:39 +04:00
|
|
|
install(
|
2022-02-10 23:15:37 +04:00
|
|
|
TARGETS
|
|
|
|
move_topose_action_server
|
2023-03-31 20:24:56 +00:00
|
|
|
gripper_action_server
|
|
|
|
pick_place_pose_loader
|
2022-02-10 23:15:37 +04:00
|
|
|
move_to_joint_states_action_server
|
2022-03-16 00:49:48 +04:00
|
|
|
move_cartesian_path_action_server
|
2023-03-31 20:24:56 +00:00
|
|
|
add_planning_scene_object_service
|
2023-04-30 11:46:52 +00:00
|
|
|
assemble_state_server
|
2023-05-16 23:10:19 +02:00
|
|
|
moveit_update_planning_scene_server
|
2022-03-08 00:42:34 +04:00
|
|
|
ARCHIVE DESTINATION lib
|
|
|
|
LIBRARY DESTINATION lib
|
|
|
|
RUNTIME DESTINATION lib/${PROJECT_NAME}
|
2022-01-31 21:28:39 +04:00
|
|
|
)
|
|
|
|
|
2023-04-21 23:28:57 +03:00
|
|
|
ament_export_include_directories(
|
|
|
|
include
|
|
|
|
)
|
|
|
|
|
2022-03-08 00:42:34 +04:00
|
|
|
|
2022-01-31 21:28:39 +04:00
|
|
|
ament_package()
|