diff --git a/CMakeLists.txt b/CMakeLists.txt index ef001c6..7442b44 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,24 +17,47 @@ option(CHECK_TIDY "Adds clang-tidy tests" OFF) find_package(Eigen3 REQUIRED) find_package(ament_cmake REQUIRED) find_package(rclcpp REQUIRED) +find_package(rclcpp_action REQUIRED) + find_package(moveit REQUIRED) -find_package(moveit_msgs REQUIRED) find_package(moveit_visual_tools REQUIRED) find_package(moveit_ros_planning_interface) +find_package(moveit_task_constructor_core) + +find_package(moveit_msgs REQUIRED) find_package(std_msgs REQUIRED) find_package(geometry_msgs REQUIRED) +find_package(franka_cps_msgs REQUIRED) + find_package(tf2) find_package(tf2_ros) -add_executable(franka_moveit_interface src/moveit_interface.cpp) +add_executable(franka_iml_interface src/moveit_interface.cpp) +add_executable(franka_grasp_interface src/grasp_interface.cpp) ament_target_dependencies( - franka_moveit_interface + franka_iml_interface rclcpp moveit - moveit_msgs moveit_visual_tools moveit_ros_planning_interface + moveit_msgs + std_msgs + geometry_msgs + tf2 + tf2_ros +) + +ament_target_dependencies( + franka_grasp_interface + rclcpp + rclcpp_action + moveit + moveit_visual_tools + moveit_ros_planning_interface + moveit_task_constructor_core + moveit_msgs + franka_cps_msgs std_msgs geometry_msgs tf2 @@ -42,7 +65,8 @@ ament_target_dependencies( ) install( - TARGETS franka_moveit_interface + TARGETS franka_iml_interface + TARGETS franka_grasp_interface DESTINATION lib/${PROJECT_NAME} ) diff --git a/package.xml b/package.xml index c25a049..8096172 100644 --- a/package.xml +++ b/package.xml @@ -10,13 +10,19 @@ ament_cmake rclcpp + moveit - moveit_msgs moveit_visual_tools + moveit_ros_planning_interface + moveit_task_constructor_core + + moveit_msgs std_msgs geometry_msgs - moveit_ros_planning_interface + franka_cps_msgs + eigen + tf2 tf2_ros diff --git a/src/grasp_interface.cpp b/src/grasp_interface.cpp new file mode 100644 index 0000000..563d9f4 --- /dev/null +++ b/src/grasp_interface.cpp @@ -0,0 +1,65 @@ +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#if __has_include() +#include +#else +#include +#endif +#if __has_include() +#include +#else +#include +#endif + +static const rclcpp::Logger LOGGER = rclcpp::get_logger("franka_grasp_interface"); +namespace mtc = moveit::task_constructor; + +class GraspInterfaceNode +{ + public: + GraspInterfaceNode(const rclcpp::NodeOptions& options); + + rclcpp::node_interfaces::NodeBaseInterface::SharedPtr getNodeBaseInterface(); + + void doTask(); + + void setupPlanningScene(); + + rclcpp_action::create_client(this, "grasp_interface/grasp"); + private: + mtc::Task createTask(); + mtc::Task task_; + rclcpp::Node::SharedPtr node_; +} + + +GrapsInterfaceNode::GrapsInterfaceNode(const rclccp::NodeOptions& options) + : node_{ std::make_shared("grasp_interface_node", options)} +{ +} + +rclcpp::node_interfaces::NodeBaseInterface::SharedPtr GraspInterfaceNode::getNodeBaseInterface() +{ + return node_->get_node_base_interface(); +} + +int main(int argc, char** argv) +{ + rclcpp::init(argc, argv); + + rclcpp::shutdown(); + return 0; +} \ No newline at end of file diff --git a/src/grasp_moveit_interface.cpp b/src/grasp_moveit_interface.cpp deleted file mode 100644 index e69de29..0000000