Week 9

GSOC Coding Week 9 Progress Report

Week 9: Updating PCL Filters and Custom Messages in ROS2

This week turned out to be the trickiest so far. The original exercise heavily relied on a ROS1-based pcl_filter_server.cpp and custom message definitions, but many of those libraries and message structures are not directly supported in ROS2. My main task was to bring these components into the new environment and ensure they integrate smoothly with the Python interface.

What I Did This Week

  1. Gained a deeper understanding of how the old exercise worked — especially how the Python interface communicated with the PCL filter server.
  2. Started updating and testing the pcl_filter_server.cpp file and the custom message package in ROS2.
  3. Ran several tests in the new environment to evaluate stability and functionality.

Problems I Encountered

  • Color filter accumulation: when filtering sequentially (e.g., first red, then blue), the system would keep both results active instead of resetting, causing multiple colors to appear simultaneously.

img

  • Color detection issues: yellow was particularly unreliable in this exercise, often failing to register correctly no matter how the thresholds were tuned.

img

  • Shape filter instability: sometimes the filter misclassified a sphere as a cylinder.

Solutions Implemented

  • Reset function fix: I updated the reset function from the old exercise so the filter state is properly cleared before applying the next one.

img

  • Color adjustment: since yellow was nearly impossible to detect reliably, I replaced it with purple, which performs much better in the current setup.

img

  • Pending fix: the shape filter misclassification remains unresolved. I plan to address this in Week 10.

Why This Matters

Updating the PCL filter server and message definitions is a critical step in making the vision pipeline functional in ROS2. Without this migration, the perception system cannot reliably provide object positions to the manipulator. Solving these issues brings us closer to fully restoring the exercise’s perception-to-action loop.

Next Steps

For Week 10, I plan to:

  • Fix the stability issues in the shape filter
  • Finalize testing of the updated perception pipeline
  • Begin connecting perception outputs to motion planning for pick-and-place execution

📍 Posted from Barcelona, Spain
🧠 Project: Migration and Enhancement of Machine Vision Exercise to ROS2 + MoveIt2