I found that a configuration-space approach is a elegant way to describe problems in motion planning. However, I was not able to find a known general way to construct configuration-spaces. By general I mean: arbitrarily shaped object, arbitrary amount of degrees of freedom.

To give an example: Lets assume I can parameterise an object and a space which includes obstacles. Assuming that this object is rigid we have 6 degress of freedom. (Idealy I would like to also include non-rigid object, i.e. with additional joints). This object now moves in a space which is partially blocked by arbitrary obstacles

Now: How can I construct the configuration space which only includes allowed configurations (not reachable, but allowed)?

For simple problems, one can construct them "by hand". However, I expect there to be a general way how to do this.

My best idea, so far, was to sample all possible (discretised and hence finite) configurations and check whether they are overlapping with any obstacle i.e. with the help of point clouds. However, I feel like there should be a better way.

How is this handled in modern robotics?

Thank you!

  • $\begingroup$ Have you looked at the Minkowski Sum? -> cs.cmu.edu/~motionplanning/lecture/Chap3-Config-Space_howie.pdf Slide 45 presents the piano mover problem $\endgroup$
    – 50k4
    Dec 20, 2019 at 11:05
  • 1
    $\begingroup$ For some reason I discarded the concept of a simple minkowski sum but it seem to solve my problem perfectly. If you are interested in writing your comment into a proper answer I would be glad to mark it as solved $\endgroup$
    – ls.
    Jan 5, 2020 at 16:54

1 Answer 1


The Minkowski sum is used to generate the configuration space in many applications. On Slide 45 of this presentation you can find an example for using the Minkowski sum to generate the configuration space for the piano mover problem.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.