Skip to content

Commit

Permalink
Merge pull request moveit#52 from AcutronicRobotics/move_action_capab…
Browse files Browse the repository at this point in the history
…ility

Port move_action_capability to ROS2
  • Loading branch information
ahcorde committed Apr 17, 2019
2 parents 27005bd + 03df282 commit 688c034
Show file tree
Hide file tree
Showing 8 changed files with 219 additions and 147 deletions.
118 changes: 64 additions & 54 deletions moveit_ros/move_group/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,88 +1,98 @@
cmake_minimum_required(VERSION 3.10.2)
project(moveit_ros_move_group)

add_compile_options(-std=c++14)
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
endif()

if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()

find_package(Boost REQUIRED system filesystem date_time program_options thread)
find_package(catkin REQUIRED COMPONENTS
moveit_core
moveit_ros_planning
actionlib
roscpp
pluginlib
std_srvs
tf2
tf2_geometry_msgs
tf2_ros
)

catkin_package(
LIBRARIES
moveit_move_group_capabilities_base
INCLUDE_DIRS
include
CATKIN_DEPENDS
moveit_core
moveit_ros_planning
tf2_geometry_msgs
)
find_package(Boost REQUIRED)
find_package(ament_cmake REQUIRED)
find_package(moveit_core REQUIRED)
find_package(moveit_ros_planning REQUIRED)
find_package(rclcpp REQUIRED)
find_package(std_srvs REQUIRED)
find_package(tf2 REQUIRED)
find_package(tf2_geometry_msgs REQUIRED)
find_package(tf2_ros REQUIRED)


include_directories(include)
include_directories(${catkin_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS})
include_directories(${rclcpp_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
${moveit_core_INCLUDE_DIRS})

add_library(moveit_move_group_capabilities_base
src/move_group_context.cpp
# src/move_group_context.cpp
src/move_group_capability.cpp
)
set_target_properties(moveit_move_group_capabilities_base PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}")
add_dependencies(moveit_move_group_capabilities_base ${catkin_EXPORTED_TARGETS}) # wait until all *_msgs packages are finished being built

add_executable(move_group src/move_group.cpp)
# add_executable(move_group src/move_group.cpp)

add_executable(list_move_group_capabilities src/list_capabilities.cpp)
# add_executable(list_move_group_capabilities src/list_capabilities.cpp)

add_library(moveit_move_group_default_capabilities
src/default_capabilities/move_action_capability.cpp
src/default_capabilities/plan_service_capability.cpp
src/default_capabilities/execute_trajectory_action_capability.cpp
src/default_capabilities/query_planners_service_capability.cpp
src/default_capabilities/kinematics_service_capability.cpp
src/default_capabilities/state_validation_service_capability.cpp
src/default_capabilities/cartesian_path_service_capability.cpp
src/default_capabilities/get_planning_scene_service_capability.cpp
src/default_capabilities/apply_planning_scene_service_capability.cpp
src/default_capabilities/clear_octomap_service_capability.cpp
# src/default_capabilities/plan_service_capability.cpp
# src/default_capabilities/execute_trajectory_action_capability.cpp
# src/default_capabilities/query_planners_service_capability.cpp
# src/default_capabilities/kinematics_service_capability.cpp
# src/default_capabilities/state_validation_service_capability.cpp
# src/default_capabilities/cartesian_path_service_capability.cpp
# src/default_capabilities/get_planning_scene_service_capability.cpp
# src/default_capabilities/apply_planning_scene_service_capability.cpp
# src/default_capabilities/clear_octomap_service_capability.cpp
)
set_target_properties(moveit_move_group_default_capabilities PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}")
add_dependencies(moveit_move_group_default_capabilities ${catkin_EXPORTED_TARGETS})
# set_target_properties(moveit_move_group_default_capabilities PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}")

target_link_libraries(moveit_move_group_capabilities_base ${catkin_LIBRARIES} ${Boost_LIBRARIES})
target_link_libraries(move_group moveit_move_group_capabilities_base ${catkin_LIBRARIES} ${Boost_LIBRARIES})
target_link_libraries(moveit_move_group_default_capabilities moveit_move_group_capabilities_base ${catkin_LIBRARIES} ${Boost_LIBRARIES})
target_link_libraries(list_move_group_capabilities ${catkin_LIBRARIES} ${Boost_LIBRARIES})
ament_target_dependencies(moveit_move_group_capabilities_base
rclcpp
Boost
moveit_core)
# target_link_libraries(move_group moveit_move_group_capabilities_base ${rclcpp_LIBRARIES} ${Boost_LIBRARIES})
ament_target_dependencies(moveit_move_group_default_capabilities moveit_move_group_capabilities_base
rclcpp
Boost)
# target_link_libraries(list_move_group_capabilities ${rclcpp_LIBRARIES} ${Boost_LIBRARIES})

install(TARGETS move_group list_move_group_capabilities moveit_move_group_capabilities_base moveit_move_group_default_capabilities
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})
# install(TARGETS move_group list_move_group_capabilities moveit_move_group_capabilities_base moveit_move_group_default_capabilities
# ARCHIVE DESTINATION lib
# LIBRARY DESTINATION lib
# RUNTIME DESTINATION bin)
#TODO (anasarrak): Rever back for the install that is above
install(TARGETS moveit_move_group_capabilities_base
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin)

install(DIRECTORY include/ DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION})
install(DIRECTORY include/ DESTINATION include)

install(PROGRAMS
scripts/load_map scripts/save_map DESTINATION
${CATKIN_PACKAGE_BIN_DESTINATION})
lib/${PROJECT_NAME})

install(FILES
default_capabilities_plugin_description.xml
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
DESTINATION share/${PROJECT_NAME})

if(CATKIN_ENABLE_TESTING)
find_package(rostest REQUIRED)
#TODO (anasarrak): Update the testing once everything is ported to ros2
if(BUILD_TESTING)
# find_package(rostest REQUIRED)
# this test is flaky
# add_rostest(test/test_cancel_before_plan_execution.test)
find_package(ament_cmake_xmllint REQUIRED)
find_package(ament_cmake_lint_cmake REQUIRED)
ament_lint_cmake()
endif()

ament_export_include_directories(include)
ament_export_libraries(moveit_move_group_capabilities_base)
ament_export_dependencies(moveit_core)
ament_export_dependencies(moveit_ros_planning)
ament_export_dependencies(tf2_geometry_msgs)

ament_package()
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ MOVEIT_CLASS_FORWARD(MoveGroupCapability);
class MoveGroupCapability
{
public:
MoveGroupCapability(const std::string& capability_name) : node_handle_("~"), capability_name_(capability_name)
MoveGroupCapability(const std::string& capability_name) : /*node_("~"),*/ capability_name_(capability_name)
{
}

Expand Down Expand Up @@ -91,10 +91,9 @@ class MoveGroupCapability
planning_interface::MotionPlanRequest
clearRequestStartState(const planning_interface::MotionPlanRequest& request) const;
moveit_msgs::msg::PlanningScene clearSceneRobotState(const moveit_msgs::msg::PlanningScene& scene) const;
bool performTransform(geometry_msgs::PoseStamped& pose_msg, const std::string& target_frame) const;
bool performTransform(geometry_msgs::msg::PoseStamped& pose_msg, const std::string& target_frame) const;

ros::NodeHandle root_node_handle_;
ros::NodeHandle node_handle_;
std::shared_ptr<rclcpp::Node> node_;
std::string capability_name_;
MoveGroupContextPtr context_;
};
Expand Down
10 changes: 5 additions & 5 deletions moveit_ros/move_group/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,28 @@
<maintainer email="mferguson@fetchrobotics.com">Michael Ferguson</maintainer>
<maintainer email="me@v4hn.de">Michael Görner</maintainer>
<maintainer email="moveit_releasers@googlegroups.com">MoveIt! Release Team</maintainer>
<maintainer email="anasarrak@erlerobotics.com">Anas M'chichou</maintainer>

<license>BSD</license>

<url type="website">http://moveit.ros.org</url>
<url type="bugtracker">https://github.com/ros-planning/moveit/issues</url>
<url type="repository">https://github.com/ros-planning/moveit</url>

<buildtool_depend>catkin</buildtool_depend>
<buildtool_depend>ament_cmake</buildtool_depend>

<depend>actionlib</depend>
<depend>moveit_core</depend>
<depend>moveit_ros_planning</depend>
<depend>roscpp</depend>
<depend>rclcpp</depend>
<depend>tf2</depend>
<depend>tf2_geometry_msgs</depend>
<depend>tf2_ros</depend>
<depend version_gte="1.11.2">pluginlib</depend>
<depend>std_srvs</depend>

<exec_depend>moveit_kinematics</exec_depend>
<!-- <exec_depend>moveit_kinematics</exec_depend> TODO(anasarrak) Add again once is ported-->

<test_depend>rostest</test_depend>
<!-- <test_depend>rostest</test_depend> TODO(anasarrak): Add again once is ported to ROS2-->
<test_depend>moveit_resources</test_depend>

<export>
Expand Down
Loading

0 comments on commit 688c034

Please sign in to comment.