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.

teodor_arm_bt

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