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_commander
and ROS nodesimple_pick_place
- Create groups for the robots
- Instantiate the two action clients for
execute_trajectory
action 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//.