// the find
JuoTungChen/ROS2_pick_and_place_UR5
This repository contains ROS2 packages for controlling a UR5 robot with a Robotiq gripper, facilitating precise pick and place operations using MoveIt and providing a comprehensive toolkit for ROS2-based UR5 manipulation.
ROS2 Galactic packages for UR5 + Robotiq 2F-85 pick-and-place using MoveIt2, structured as a layered stack: URDF descriptions, a MoveIt service interface, and an action-based pick-and-place orchestrator. Aimed at robotics students or researchers who have the specific hardware and want a starting point rather than building from scratch.
- Clean separation of concerns across packages: description, msgs, MoveIt interface, and PNP action server are all distinct packages with clear responsibilities, making it easy to swap or extend individual layers.
- Both sim and real hardware launch paths are provided, so you can prototype without the physical robot before connecting to actual hardware.
- Action-based PNP design with feedback (progress float, status string) is the right abstraction here — it lets callers monitor long-running motions without polling.
- Well-structured README with concrete CLI examples for both the service and action interfaces, which saves meaningful time during initial setup.
- Hard-locked to ROS2 Galactic, which reached EOL in late 2022. Anyone trying to use this on a current distro (Humble, Iron, Jazzy) will hit API breakage in both the UR driver and MoveIt2 without non-trivial porting work.
- No perception layer whatsoever — pick and place poses must be hardcoded or provided externally. The repo name implies a general pick-and-place system, but it's really just motion execution with manually specified poses.
- Error handling is thin: the PlanRequest service returns a string 'result' with no defined error codes, and the action feedback progress value appears to be manually set rather than derived from actual trajectory execution progress, so it's not reliable for real monitoring.
- The gripper integration depends on an external driver (sequenceplanner/robotiq_2f) that itself has known ROS2 compatibility gaps, and the setup instructions just link to another repo's README rather than documenting what actually needs to happen.