Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add pick-place capability #266

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Cleanup and change name
karolyartur committed May 18, 2021
commit a25d17163973d97f5924c8e0ebd9994bc8725e79
Original file line number Diff line number Diff line change
@@ -53,7 +53,7 @@
#include <moveit/task_constructor/stages/modify_planning_scene.h>
#include <moveit/task_constructor/stages/move_relative.h>
#include <moveit/task_constructor/stages/move_to.h>
#include <moveit/task_constructor/stages/pick.h>
#include <moveit/task_constructor/stages/pick_place.h>

#include <moveit/task_constructor/stages/grasp_provider_base.h>
#include <moveit/task_constructor/stages/place_provider_base.h>
4 changes: 2 additions & 2 deletions core/src/stages/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ add_library(${PROJECT_NAME}_stages
${PROJECT_INCLUDE}/stages/move_relative.h

${PROJECT_INCLUDE}/stages/simple_grasp.h
${PROJECT_INCLUDE}/stages/pick.h
${PROJECT_INCLUDE}/stages/pick_place.h

modify_planning_scene.cpp
fix_collision_objects.cpp
@@ -41,7 +41,7 @@ add_library(${PROJECT_NAME}_stages
move_relative.cpp

simple_grasp.cpp
pick.cpp
pick_place.cpp
)
target_link_libraries(${PROJECT_NAME}_stages ${PROJECT_NAME} ${catkin_LIBRARIES})

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include <moveit/task_constructor/stages/pick.h>
#include <moveit/task_constructor/stages/pick_place.h>

#include <moveit/task_constructor/solvers/cartesian_path.h>
#include <moveit/task_constructor/solvers/pipeline_planner.h>
2 changes: 1 addition & 1 deletion core/test/pick_pr2.cpp
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@
#include <moveit/task_constructor/stages/current_state.h>
#include <moveit/task_constructor/stages/generate_grasp_pose.h>
#include <moveit/task_constructor/stages/simple_grasp.h>
#include <moveit/task_constructor/stages/pick.h>
#include <moveit/task_constructor/stages/pick_place.h>
#include <moveit/task_constructor/stages/connect.h>
#include <moveit/task_constructor/solvers/pipeline_planner.h>

2 changes: 1 addition & 1 deletion core/test/pick_ur5.cpp
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@
#include <moveit/task_constructor/stages/current_state.h>
#include <moveit/task_constructor/stages/generate_grasp_pose.h>
#include <moveit/task_constructor/stages/simple_grasp.h>
#include <moveit/task_constructor/stages/pick.h>
#include <moveit/task_constructor/stages/pick_place.h>
#include <moveit/task_constructor/stages/connect.h>
#include <moveit/task_constructor/solvers/pipeline_planner.h>

23 changes: 14 additions & 9 deletions msgs/action/PlanPickPlace.action
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# By default, the task type is
# By default, the task type is PICK_ONLY
byte PICK_ONLY=0
byte PLACE_ONLY=1
byte PICK_AND_PLACE=2
@@ -9,21 +9,26 @@ string arm_group_name
string hand_group_name

# Robot model and links
string eef_name
string hand_frame
string eef_name # The name of the end effector as in the srdf
string hand_frame # Will be used as the endEffectorFrame

# Object and surfaces
string object_id
# During the pick and place operation, the object is allowed to collide with the support_surfaces
string object_id # ID of the CollisionObject to pick/place
string[] support_surfaces

# Picking
string grasp_provider_plugin_name
moveit_msgs/Grasp[] grasps
geometry_msgs/Pose grasp_frame_transform
# grasp_provider_plugin_name defaults to "moveit_task_constructor/GraspProviderDefault" if only one Grasp is provided in grasps without setting its grasp_pose field
# If the grasp_pose field is set, or there are multiple Grasps provided in grasps, grasp_provider_plugin_name defaults to "moveit_task_constructor/GraspProviderFixedPoses"
string grasp_provider_plugin_name # Name of the Grasp Provider plugin to load
moveit_msgs/Grasp[] grasps # List of Grasps (The approach and retreat movements and hand poses are all used and required for each Grasp)
geometry_msgs/Pose grasp_frame_transform # Additional transformation to apply to the endEffectorFrame when computing the IK

# Placing
string place_provider_plugin_name
moveit_msgs/PlaceLocation[] place_locations
# place_provider_plugin_name defaults to "moveit_task_constructor/PlaceProviderDefault" if only one PlaceLocation is provided in place_locations
# Otherwise place_provider_plugin_name defaults to "moveit_task_constructor/PlaceProviderFixedPoses"
string place_provider_plugin_name # Name of the Place Provider plugin to load
moveit_msgs/PlaceLocation[] place_locations # List of PlaceLocations (The approach and retreat movements and hand poses are all used and required for each PlaceLocation)

---