# What is the difference between path planning and motion planning?

What are the main differences between motion planning and path planning? Imagine that the objective of the algorithm is to find a path between the humanoid soccer playing robot and the ball which should be as short as possible and yet satisfying the specified safety in the path in terms of the distance from the obstacles.

Which is the better terminology? motion planning or path planning?

• Late to the game, but I wanted to cross-link this question Commented Jan 16, 2019 at 17:35

Compare the following two images:

The path planning is somewhat trivial. There's only one path: the rope. The motion planning on the other hand is not that easy.

In a maze the path planning is hard and motion planning is easy:

Of course both planning tasks can be easy or hard at the same time or anything in between.

They are linked to one another in that

• the planned motion should follow the path or follow that path closely
• the current motion can influence the path planning. If driving in one direction at a high speed, a sudden change in velocity might not be the best idea even if that would be necessary to get on the shortest path. Or the starting pose of a nonholonomic robot, which influences the possible path significantly.

They are separate in that

• motion is related to time (change of position over time), but the path itself is not. Even if the motion goes along the path exactly it could have various trajectories for velocity and/or acceleration. Your robot could stop for example to let another robot cross its path, which is a change in motion but not the path itself.
• motion can be influenced by other things, like wind for example

Neither list is exhaustive.

Which the terms is better than ? motion planning or path planning ?

There's no "better" term. It depends on what you are describing.

For anything that involves moving a physical robot, I'd use motion planning. How do I get this thing from here to there? could be a question you are answering.

If the robot itself is abstracted away and you are only planning a path of a point through a maze I'd use path planning. What's the shortest path from point A to B? could be an example question.

But again, both planning tasks are connected. If you ask What's the shortest possible path? then certainly the geometry and motion capabilities of the robot determine what's possible. You do both motion and path planning at the same time. Using either term should be fine here.

This holds true for the other cases as well. Both terms can be used interchangeably because the definition of motion and path aren't very clear. (a path implies that a motion happens along it and a motion necessarily happens along a path). You are usually doing both to some degree anyway.

What's the difference between turn-by-turn GPS and driving a car?

GPS is path planning: high-level commands like, "turn right in 1 mile."

Driving is motion planning, which means following a route established by path planning while at the same time taking care of the minutia: interfacing with the car, staying in lane, watching for pedestrians, obeying traffic law, merging with other vehicles, changing lanes, etc.

There isn't really a difference. "Path planning" might be used more often to simply describe the problem of finding a desired path from one state (or sub-set of states) to another. Whereas "motion planning" might be used to describe the same problem but more specifically the actual commanded motions that the robot uses to track the series of desired states along the path.

For example, path planning would produce a desired trajectory for a rocket, whereas motion planning would produce the series of commands to the engines, fins, etc.

So for the problem you mention, you need to plan a path for the robot to follow. This then needs to be expanded into trajectories for all of the robot's leg and arm joints. Then you have to convert these trajectories into raw commands to the motors (or whatever control input the robot accepts).

Just an extract from my answer to a similar question:

Path planning is the process you use to construct a path from a starting point to an end point given a full, partial or dynamic map. Motion planning is the process by which you define the set of actions you need to execute to follow the path you planned.

I can also add that you can perform navigation with only motion planning, but this requires planning in infinite continuous multidimensional space that has to take into consideration the motion model of the robot (skid-steering, differential, nonholonomic ...) and variation in speed and acceleration.

The most common method in robotics is to solve the navigation problem using path planning (pure geometric planning from A to B), then apply motion planning on top to assess the feasibility of the path.

It's very unlikely that robots follow an exact motion plan due to the uncertainty in actuation (slippage, velocity control errors accumulate, position errors accumulate ...). This is usually solved by an online high-level planner that monitors the progress along the way and adjusts the motion commands accordingly.

The details are much more complex, but I tried to summarise it in a simple way. Hope this helps.

Ref to my old answer: https://stackoverflow.com/a/19749176

When it comes to robots the terms that are most often used are path planning and trajectory planning. While motion is most commonly used in combination not with planning but with control as in motion control.

In most cases by path planning the spatial aspect of planning is considered, while trajectory planning (again, in most cases) includes the velocity and acceleration components also. For industrial robots and CNC machines the waypoints are given be the programmer while the motion controller (robot controller, CNC) plans and executes the trajectories. Based on the dynamics limitations (of the system or coming from the programmer) the motion controller calculates makes a plan how to reach the next waypoint and to arrive there with a desired velocity and acceleration (zero if you want to remain in the next waypoint)

In an order of event one would normally plan a path in the form of waypoints then plan the trajectories (incl. velocities and accelerations) linking those waypoints. Based on the system which you are using this might be done by your motion controller.

Path planning would essentially be setting out a path on a particular terrain for the robot to navigate, primarily automatically, coupled with the shortest route detection avoiding obstacles.

Motion planning could be termed as the the procedure by which you enable your robot to move - which type of sensors to use, what type of wheel to move, automatic or RC, etc.

Path planning could also be termed an inherent software exercise and motion planning a hardware exercise.