Implementing and benchmarking the RRT family of path-planning algorithms on a Universal Robots UR3e collaborative arm using ROS2 Jazzy and MoveIt2.
Collaborative robotic arms must navigate complex 3D joint spaces to reach target configurations without collisions. This project establishes a complete ROS2-to-hardware pipeline for a UR3e manipulator, then implements and benchmarks three generations of sampling-based path planners.
The focus is on RRT*FN — a Fixed-Node variant that achieves near-optimal path quality while capping memory usage. On a robot that plans thousands of paths over its operational lifetime, bounded memory is not optional.
USB-to-Ethernet adapter with static IP. URCap External Control plugin synchronised to host IP.
Planned trajectories dispatched via joint_trajectory_controller and executed on real hardware.
Full pipeline validated on physical UR3e. Simulation parity confirmed in Gazebo beforehand.
Rapidly-exploring Random Tree. Samples the configuration space and grows a tree toward each sample. Fast but sub-optimal — it takes the first path it finds and stops.
FastestAdds a rewiring step that continuously improves path quality. Provably asymptotically optimal — but the tree grows without limit, consuming unbounded memory.
Optimal PathsFixed-Node variant. Caps the tree at a maximum node count by evicting the least useful nodes. Near-optimal quality with bounded, predictable memory usage.
Best of BothThe ROS2 / MoveIt2 system was successfully configured and the UR3e was controlled via planned trajectories from RViz. The full communication pipeline was validated on real hardware — not just simulation — including live trajectory execution.
RRT*FN maintains bounded memory while producing near-optimal paths comparable to RRT*. RRT was fastest but least optimal. This demonstrates a complete open-source pipeline for further advanced path planning research.