8. Interface to Move it - fkie/fkie_behavior_trees GitHub Wiki
This page describes briefly how to integrate MoveIt with BTs using the action server provided by move_group
in package moveit_ros_move_group
. All BT actions are available in the package fkie_bt_moveit_actions.
There are currently three BTs actions available for this integration:
MoveitMoveToFixConfiguration
The action is defined in MoveitMoveToFixConfiguration.hpp and provide the following input port:
BT::InputPort<std::string>("goal_name")};
Here goal_name
corresponds to the name of a fixed configuration arm defined in MoveIt SDF file. For instance, in our robot we have Zero, pre_packed_position and unpacked_position.
MoveitMoveToPose
The action is defined on MoveitMoveToPose.hpp and provide the following input port:
BT::InputPort<geometry_msgs::PoseStamped>("target_pose_3d")};
Where target_pose_3d
correspond to the geometry_msgs::PoseStamped
we want to reach with the robot arm.
MoveitExecuteWaypoints
The action is defined in MoveitExecuteWaypoints.hpp.
This action generate fixed way-points around the robot and move the arm to them. It is a useful example for creating new integrations with MoveIt
.
MoveitPlanToPose
This action computes a plan for reaching a given pose (similar to MoveitMoveToPose
), but it does not execute it on the robot arm. It is useful for visualizing and checking a plan before execution.
MoveitExecutePlan
This action executes a previously compute plan on the robot arm. It complements the action MoveitPlanToPose