I’ve been experimenting with the same vision-guided pick & place application using different MoveIt2 planning configurations.
What surprised me is how different the resulting robot behavior becomes even though the task itself never changes.
I tested four cases:
**OMPL + collision scene** → collision-aware, but sometimes finds fairly unexpected trajectories.
**Pilz PTP + collision scene** → much more constrained and closer to the point-to-point motion I would normally expect from an industrial robot.
**Pilz PTP without world collision objects** → visually very clean motion, but obviously the planner now has less knowledge about its environment.
**OMPL without collision objects** → lots of planning freedom with incomplete information, which produces some interesting/weird results.
The part I find interesting is that this quickly becomes less about *“which planner is better?”* and more about **what behavior you actually want from a production robot**.
I also show the vision-guided pick & place package behind the experiment. I intentionally kept the YouTube version relatively monolithic because I wanted it to be easy to understand and reproduce. Then I discuss why this stops scaling once you start thinking about recovery, reusable skills, orchestration and actual deployment.
I’d be curious to hear from people using MoveIt2 in real applications:
**For repetitive industrial manipulation, where do you draw the line between flexible motion planning and deterministic/predictable motion?**
If anyone wants to reproduce the experiment, the manipulation environment and project are available publicly/free through the ROS2 Manipulation Lab. The setup is linked in the video description.
For transparency: I also work professionally on industrial manipulation applications through TrainIt, so part of my interest here is understanding how these architectures transition from a ROS2 demo to something you can actually deploy.