I have a problem where I have to position a camera (mounted on a robot manipulator) at an optimal location from a 3D target defined as a (convex) polyhedron. The camera must maintain a minimum distance x from the target, and I can limit my search set to a maximum distance y from the target. The optimality condition is based on a objective function that can be solved quickly for a given camera pose, and is not a concern for this question.

So what I want is to:

  1. Be able to define the 3D region between x to y meters from the target polyhedron. It's similar to an inflation region used in robot obstacle avoidance.
  2. Represent this 3D region as a low resolution voxel grid or sparse points. Each voxel or point can be thought of as a potential camera pose (pointing to the centroid of target), so they can be about ~10cm apart as the camera view would not change much between two nearby points.
  3. Be able to search through this 3D region for the most optimal camera pose. It would be nice to be able to sort all candidate poses based on decreasing order of optimality.

I have been looking into OctoMap and PCL for this functionality, but I feel a bit lost on what the best way to implement this would be.

Do any of you have any suggestions on how to go about with this? Any similar applications already implemented?

Thank you for your time!



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.