4.5.2 Pick & Place: Part 1
Course subject(s)
Module 4. Manipulation
In this lecture, we will compose a simple pick and place pipeline with different MoveGroup APIs. Furthermore, the purpose and function of different APIs will be explained.
MoveGroup Interface APIs
set_named_target(<“robot joint configuration”>)plan()– plans a motion to the goalget_current_pose()– get pose of the end effector and joint configurationcompute_cartesian_path(<waypoints>, <resolution>, <jump_threshold>, <collision_checking=True>)
Navigate to the week 4 ROS package
$ source $HOME/hrwros_ws/devel/setup.bash
$ roscd hrwros_week4
Let’s go through the simple_pick_place.py script. The required specific required modules are:
- moveit_commander – tell python we work with MoveIt!
- moveit_msgs.msg
- actionlib – for the movement with
actionlib.SimpleActionClient() - geometry_msgs – for planning lineair or carthesian spaced motions
Further in the script:
- The initialisation of
moveit_commanderand ROS nodesimple_pick_place - Create groups for the robots
- Instantiate the two action clients for
execute_trajectoryaction server - APIs
-
set_named_target– set a goal configurationplan()– plans a motion to the goal.send_goal()– send the goal to the action server
-
As it is nonblocking we can already plan the next motion.

Hello (Real) World with ROS - Robot Operating System by TU Delft OpenCourseWare is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://online-learning.tudelft.nl/courses/hello-real-world-with-ros-robot-operating-systems//.



