Robot motion planning? Is not motion planning complicated!? Not necessarily. If you ever have used a GPS, you can easily understand motion planning with offline programming.
Motion planning is not the brand-new topic but not by a long mile. Since the very beginning of modern robotics, engineers and researchers have been looking for ways to improve the trajectory outlining of their robots.
A lot of progress has been made. Slowly and surely, the algorithms have developed. Robots have gradually become able to plan their own routes without bumping into things automatically.
But, recently there has been a lot of activity in the technology of motion planning. Specifically, there are several new technologies that help to achieve real-time motion planning, unlike with the previous software advancements. These new planners use devoted hardware that is specifically designed for motion planning.
We have been thinking a lot about motion planning recently because we added a motion planner to the latest version of Robot. However, these all-new hardware technologies approach the problem from the whole new prospect.
Motion Planning for Humanoid Robots
Humanoid robotics hardware and control techniques have the forward fast during the past five years. Shortly, several companies have declared the commercial availability of several humanoid robo prototypes. In order to increase the autonomy and overall functionality of these robots, safety mechanisms, reliable sensors, and tools, general integrated software, and techniques are needed. We believe that the development of practical motion planning algo and obstacle avoidance software for humanoid robots represents an essential enabling technology. This paper gives an overview of some of our recent efforts to develop motion planning methods for humanoid robots for application tasks involving navigation, footstep placement, object grasping and manipulation, and dynamically-stable full-body motions. We show experimental results obtained by implementations running within a simulation environment as well as on actual humanoid robot hardware.
How Does a Motion Planner Work?
There are a whole host of different motion planning algorithms, and each one works in a slightly different way. However, there are similarities between them.
Here are three aspects that are common among all motion planners:
The configuration space describes all the locations and orientations that the Robot could possibly locate itself within the environment. Before the algorithm can plan a route, it needs to know what are all the possible points along that route. Let's go back to our smartphone GPS example. The configuration space is all of the streets that have been mapped in the entire world (yes, it is absolutely possible to plot a route between your house to the pizza restaurant that takes a detour through a neighboring country). However, the world is vast, so the planning algorithm probably restricts the configuration space to all streets in a radius between the start and end locations.
It is essential that your configuration space accurately represents the environment. Here is why:
Imagine that you know a shortcut to Belluccio's pizza restaurant which involves jumping over the fence in your back yard and walking down an alley. The algorithm will never use this shortcut, even if it is the best route because the configuration space does not include the driveway or the path over your garden fence.
There will be some spaces in the Robot's workspace which the Robot can not move, e.g., because there are obstacles in them. The algorithm will remove all obstructed locations from the configuration space.
This leaves it with the “free space” which contains all the locations which are really available for motion planning.
The configuration space is fixed. However, the free space can change when new objects enter and leave the environment.
Finally, the motion planning algorithm plots the best route within the free space. This is where the different approaches to motion planning part company.
Some algorithms (known as combinatorial planning algorithms) are called "complete," which means that they will always find the solution if one exists or report failure otherwise. Others (known as sampling-based planning) are more efficient but may fail to find answers in some situations.
In industrial robotics, the more efficient option is actually better even though it might miss a solution in some cases. It is more useful to get an answer quickly than to have to wait hours for the motion planning algorithm to test all of the possible routes. This is why sampling-based planning algorithms like Probabilistic Roadmaps (PRM) are often preferred over the alternatives.
The Future of Real-Time Motion Planning
Recently, the heavy computation required for motion planning is usually uploaded "to the cloud." This proposition can sometimes do a real-time performance, but only if your Robot has a flawless internet connection, and it does not require sending too much data. However, this is not a viable solution in the long term.
Hardware motion planners could undoubtedly be the answer. For applications where real-time motion planning is critical such as with autonomous vehicles, this type of purpose-built hardware is the great option.