On Google Scholar there are a lot of papers which explain the advantages of motion primitive: instead of searching inside the state-space (configuration space of a robot) the solver has to search inside the plan space of motion primitives. Sometimes this concept is called lattice graph.

Even if all papers are convinced about motion primitive in general, there is room for speculation about how exactly this idea should be implemented. Two different school of thought are out there:

  1. Machine Learning for generate motion primitive. This is based on q-learning, neural networks and motion capture. The projekt "poeticon" (Yiannis Aloimonos) is a good example.
  2. Handcoded motion primtive. This concept is based an manual coded Finite States-Machines (FSM) which can only solve a concrete example like "pushing the box". Additional functionality has to be implemented by hand.

The question is, which concept is better on real life examples?

  • 1
    $\begingroup$ Asking for the better solution usually doesn't pan out. There's no such thing because every method has unique properties which make it more applicable to some situations and less so to others. I suggest you change your question to asking for the differences and when to apply which method. $\endgroup$ Sep 8, 2016 at 9:37
  • $\begingroup$ You could also include links to a few of the papers that you are referencing. $\endgroup$
    – JSycamore
    Sep 10, 2016 at 17:14

1 Answer 1


There is probably no fixed answer to which apporach works best, it all depends on the application, not to mention who you ask.

Sometimes you have a pretty good idea of what some of the motion primitives should be. Perhaps you have some experience from remote control of the robot, or there are some constraints that limit the available motion primitives such that the solution is pretty obvious. In such cases, handcrafted motion primitives will probably work quite well. Furthermore, handcrafted motion primitives better enable theoretical analysis than ones found using machine learning. You can perhaps find some general properties of the primitives, saying that under certain assumptions you can make guarantees.

In other cases, you don't really have that amount of domain knowledge or constraints, or perhaps you want to explore different options not previously thought of. In such cases, machine learning techniques are great, and they offer a low cost of implementation as long as you have good simulation and experimentation possibilities available.

Personally, I think the best thing is to combine the two. Some motion primitives can be handcrafted, some can be machine learned, and some a little bit of both: perhaps create a draft primitive by hand, and use machine learning to refine and make it more robust.

  • $\begingroup$ Your answer would benefit from more detail and evidence to support your claims. In particular, your suggestion to combine handcrafted and learned primitives may have been explored, a brief literature review might yield a good example of this approach being employed. $\endgroup$
    – JSycamore
    Sep 10, 2016 at 17:23

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.