finds.dev← search

// the find

lihuang3/ur5_ROS-Gazebo

★ 509 · Python · updated Nov 2021

Universal Robot (UR5) Pick and Place Simulation in ROS-Gazebo with a USB Cam and Vacuum Grippers

A ROS Kinetic + Gazebo simulation of a UR5 arm doing pick-and-place on a moving conveyor belt, using OpenCV color detection and MoveIt for motion planning. Aimed at robotics students who want a concrete example connecting vision, planning, and simulation before touching real hardware. The companion UR3 hardware repo shows it does translate to physical arms.

The vision-to-motion pipeline is complete end-to-end: camera detection publishes position, motion planner subscribes and plans Cartesian paths, gripper node handles actuation — three separate, readable Python files rather than one monolithic script. The custom URDF modifications (vacuum grippers, USB cam attachment) are included with the exact xacro changes needed, which saves a painful hour of debugging. There's a matching hardware video on real UR3 hardware, so this isn't purely a simulation toy. File layout is honest about its history — the `old code/` directory shows the iteration path, which is useful for understanding design decisions.

Pinned to ROS Kinetic and Ubuntu 16.04, both end-of-life since 2021; getting this running on anything modern (ROS2, Noetic, even) requires significant porting work that isn't documented. The README has a large 'still under construction' warning mid-document and was last touched in 2018 — issues in the tracker are unanswered and the setup requires manually overwriting files from the official universal_robot package, which is fragile and will break silently on package updates. Color-blob detection with hardcoded HSV thresholds for a red box is the weakest link in the pipeline: it breaks under different lighting and won't transfer to any real-world variation without rework. No tests, no CI, and the motion planning is explicitly noted as non-realtime, producing visibly jerky end-effector motion.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →