Mobile Robots Motion Planning - New Challenges
Share full text access. Please review our Terms and Conditions of Use and check box below to share full-text version of article. Citing Literature. Filename Description robsupmovies. Related Information. Close Figure Viewer. Browse All Figures Return to Figure. Previous Figure Next Figure. Email or Customer ID.
Forgot password? Old Password. New Password. In this section the agent architecture together with the different modules used for path planning are described in section 2. Meanwhile the core path planning algorithm is presented in section 2. The overall architecture of the autonomous agent to support the proposed planning algorithm is presented in Figure 1. In addition, there are four external modules including Sensor Data Collection, Update, Object Classification , and Movement Management to help the planning algorithm collect information from the surrounding environment and update control.
Figure 1. The Architecture of Autonomous agent. After that the global information of the environment is acquired from the external modules, a 2-D map is generated. The 2-D map is presented as a binary map in which static objects and obstacles are shown as black areas whereas the allowed moving areas are illustrated with white color. While moving to the goal, the agent may deviate from the original path due to obstacle avoidance, or accumulated errors related to velocity and pose estimating. As a result, a static flow field generated in the Static Flow Field Configuration module will drive the agent back to the designed path.
After the static flow field is configured, the agents start moving to reach their individual goals, while checking for collision with other moving objects. The dipole field is calculated in the Collision Avoidance module to avoid collision with the agents. Finally, the motions of the agents are controlled by the superposition of the static flow field, and dynamic dipole field to generate the dipole-flow force. The dipole-flow force is presented by the adjustments of the agents' heading angles. A velocity function is established to help the agent well adapt its moving velocity according to two factors, energy consumption and obstacle avoidance.
If there is no collision, the agent will move with a stable speed along the configured path. Meanwhile, if there is a dynamic obstacle, the agent needs to adjust its moving direction to avoid the obstacle while still maintaining, or at least minimizing, the deviation from the time to goal. The Sensor Data Collection module is designed to continuously collect information of the environment. For instance, the visual data obtained from a camera, together with the data from the other sensors, is used to build the map of the environment and to recognize different objects.
The pose of the robot is collected from the inertial measurement unit IMU. Similarly, the positioning tracking system registers the position of the robot within the map. The Object Classification module receives the data from the Sensor Data Collection module to determine which objects in the environment that are static objects and which ones are moving objects.
In this work, the proposed path planning algorithm deals with two types of moving objects. Firstly, autonomous agents, which share information about their locations, and velocities, with the other agents. Secondly, uncontrolled moving object, e. Especially when the human subjects are present, the agents need to adjust their movement to avoid them.
The Movement Management module plays a central role in managing the location, and moving trajectories of all agents and human s found in the environment. The data from the Movement Management module is sent to the path planning algorithm for velocity estimation. The Update module updates the internal model based on the changes in the environment, and applies the control commands from the Velocity Planning module to move the agents accordingly.
In this section, the dipole flow field is firstly formulated by the combination of the static flow field and the dynamic dipole field. Later, the direction of the dipole flow field at every point is turned into velocity planning to control the linear and angular velocities of agents. Within the neighborhood of the found path, a navigation field parallel to the path segment, is defined, as the static flow field.
Thence, the LOS detection feature is purposed to help decrease the undesired expanding by checking for whether the offspring node and the parent are in a straight line, i. The cost evaluation is conducted from the f -value, i. The estimated cost of the cheapest node through node s is, thus expressed by:. In this work, the heuristic function is simply defined as the Euclidean distance i.
It is assumed that the straight line distance between two nodes would be never longer than any other path connecting them.
The algorithm for LOS function is implemented with a drawing-line algorithm in graphics to optimize processing time and is referred to approach proposed by Nash et al. As mentioned in section 2. However, to avoid searching the path on a dense graph, a grid-based graph is used as visualized in Figure 2B. Figure 2. Binary map for static flow field and derived information, A the original binary map in which the white pixel presents available regions of agents, B the grid-based graph derived from the binary map, and C the corresponding repulsive field in which the amplitude of the field from the lowest to the highest is mapped into colors from blue to red respectively.
Searching for a global path from a start to a goal in a big map is a computationally heavy task, thus it is not desired to re-calculate the path for small updates of the map, or small deviations from the configured path. The static flow field is to draw the agents back to their moving paths in those situations. In the form of force interaction, the static flow field is also easily combined with a dynamic field for obstacle avoidance.
For each path, it is assumed that there are n line segments from the start to the end points. To ensure that the static flow field will draw the agent to its goal, those line segments also include the last line segment with a i is set to the goal and n i to a zero vector. The configuration of the global path and the formulation of the flow force are described in Figure 3. Let F a i p be the attractive force of a point to each line segment and expressed by:.
The influence distance of the force, d 0 , is selected based on the size of agents the diameter of agents to prevent touching the agents to static obstacles. The static flow fields without and with added repulsive forces are presented in Figures 4A,B respectively. Figure 4. The representation of the static flow field unity vectors , A the initial path with the configured static attractive field, B the static flow field with added repulsive force to the obstacles.
The affecting area of the static flow field is determined by the window size W. This means that the static flow field remains influence on the agent if the distance from the agent to the designed path is less than W. To cope with the problem of collision avoidance, the dipole field for each dynamic object is generated. The development of the dipole field is inspired by the way that humans naturally avoid moving obstacles: When facing an obstacle that is approaching, the human may turn, and continue to move, to avoid the obstacle instead of going backwards.
Such a movement shows a moving trajectory similar to that of a dipole magnetic field line. This method is also a more skillful obstacle avoidance strategy than the conventional method of using radial potential field. Munasinghe et al. In the work of Igarashi et al. In this work, to model the moving behavior of agents, instead of developing dipole-like vector field the theory of dipole magnetic field in physics is directly applied.
Each agent can be seen as a source of a magnetic dipole field, in which the magnetic moment is proportional to the velocity vector of the agent. This means that the orientation of the moment is aligned with the moving direction of the agent and the magnitude of the moment is equal to the speed of the agent. The aim of having the moment proportional to the speed is to ensure that among different obstacles having the same distance to the agent, the one with the larger speed will contribute a stronger effect on driving the agent. In physics, the magnetic field M of the dipole moment vector m is expressed by:.
An agent with the magnetic moment m j within the magnetic field M k generated by the other magnetic source m k would be affected by the force:. Hereby, the repulsive force of an agent k on an agent j can be formulated by:.
The magnetic force F dipole m j , m k , d is aligned with the direction of from m k to m j to generate repulsive forces. This means F dipole m j , m k , d will be reversed turn about degrees around the origin at an agent if it has an opposite direction of a vector pointing from an agent k to an agent j. An agent needs to adjust its moving path according to its relative locations and orientations to other agents. Also, the agent concerns the possible collisions with uncontrolled moving objects, i.
Assume that there are a set of N agents, i. All agents are designed using the same architecture to cooperate with each other to plan global movements so that each of them transmits location information to the other agents in A.
- Commodified and Criminalized: New Racism and African Americans in Contemporary Sports (Perspectives on a Multiracial America).
- Swipe to navigate through the chapters of this book!
- Path planning algorithms matlab code.
- The Hidden Origins of Islam: New Research into Its Early History?
- Guide to the Scientific Study of International Processes?
- Values in Education and Education in Values;
- Optimal Robot Motion Planning Workshop | Pracsys Lab!
In this context, the relative location and velocity information about human subjects are estimations from observations over time. The dipole flow field for an agent j is formulated by integration of the static flow field, and the dynamic dipole field as:. Those constants determine the impact of dipole flow forces over static flow forces to control the moving of agents. On the contrary this influence is significantly decreased outside C j k. It is also noted that two agents j and k receive the dipole forces with the same amplitude but with opposite directions.
Only agents are affected by the dipole forces generated by human subjects. Thus, in the model human subjects are not subject to these forces. In this work, an autonomous agent is presented by the kinematics model of a unicycle-type mobile robot Morin and Samson, This model is chosen because despite its unicycle name, it approximates many widely used differential drive robots and can be easily extended to car-like mobile robots with two parallel driven wheels. Those velocities are computed by the following equation:.
From this definition, the linear velocity u t is about k u while an agent is moving on its ways and decays to zero when it is closer to the goal. Therefore, k u is set to the expected speed of agent. Figure 5. Visualization of an agent with kinematic parameters and human from A a real world space in B a 2D mapping space, and C a simplified visualization used in the proposed work. A number of experiments are conducted to validate the effectiveness of the proposed path planning algorithm.
- Disney Songs For Classical Guitar?
- Solutions in LIDAR Profiling of the Atmosphere.
- Supporting Information.
- Introduction and Graph-based Plan Methods!
- Java Concepts: Early Objects (7th Edition).
Different with most of existing approaches which have focused on alternative aspects of local or global path planning for a single agent, this work has developed a new promising framework to address the navigation problems of multiple agents sharing working space with human. Thus, the main aim of this section is to investigate on the characteristics of the proposed approach through various scenarios.
The starting point is an experiment with static flow field. This experiment shows how this field is able to navigate agents to goals within the map of complicated static obstacles. The next experiment exploits the benefit of dipole field to help agents avoid moving obstacles coming from different directions. Finally, a set of experiments are conducted in order to evaluate how well the proposed path planning algorithm with the combination of flow and dipole flow fields, i.
Data showing the agent-agent and human-agent distances in the presence of the dipole-flow field is also shown as part of the last experiment. Different examples of agent movements with static flow field are shown Figure 6. In most situations, like examples given in Figures 6A,B , the agent approaches the goals without the needs of renewing the shortest path to the goal. Figure 6. Agent moves from start to goal with static flow field where the window of static flow field is set as two times as the size of the agent.
Different windows of the static flow field are evaluated. One hundred trials are attempted for each specific value of the window. Each agent is presented by a bounding circle with a radius of 0. The influence distance d 0 is set to 10 pixels or one meter. For each trial, an agent moves from a starting point to a goal using only static flow field with velocity control. Pairs of starting and ending locations are selected randomly in the map. For the following experiments in sections 3.
Table 1. To analyse the behavior of dipole flow field for obstacle avoidance, two simple scenarios, in which two agents are crossing each other are chosen Figure 7. In Scenario 1, one of the agent moves from left to right and the other agent moves in the opposite direction. In Scenario 2, the first agent moves as previously, whereas the other agent starts in a position approximately 90 o to the first agent and moves from the left-hand to the right-hand side similar to the first agent.
The size of the agents is set to a bounding circle with a radius of 0. In both scenarios, the two agents moves at the same speed of 0. However, with the help of repulsive forces generated by dipole field, the two agents are able to avoid the collisions Figure 8. Therefore, for the the non-binary situation, we perform a regular matrix convolution, in which overlapping elements are multiplied and the results are summed up. For the moment, any problems that might arise concerning the range of the indexes in the borders have been ignored.
From a theoretical point of view, we can assume that W and F are padded with zeros in all directions. This prevents a small robot with a pose overlapping an obstacle to have a lower cost than a larger robot with a pose that takes it over rough but traversable terrain. The convolution theorem states that under suitable conditions the Fourier transform of a convolution is the point-wise product of the corresponding Fourier transforms.
Therefore, in our case, we can obtain the cost as:. An obvious advantage of this solution is that the use of the FFT allows us to reduce computation time. This technique produces the same result as a regular convolution while taking much less computation time, especially when dealing with clear maps that have few obstacles, mainly because the computational effort is only required for obstacle cells and not for those that represent free space. Then, it is also represented by a set of points:. The result will represent the occupied cells after the convolution of the map and the robot.
However, as will be discussed later, for dynamic graph planners, a local convolution must be calculated every time the cost of relevant map cells is updated.
The Role of Motion Planning in Robotics
For example, when a new obstacle is detected, the cost of the cells where the obstacle is located should be increased and the planner should plan a new path to avoid a collision with the obstacle. Therefore, it is important to analyze the complexity of the different methods to obtain the cost of the actions in order to determine which of these methods is faster in each particular case. The first point that should be noticed is that the morphology dilation operation, as described here, can only be applied to binary maps. The morphology dilation operation method is found to be the fastest method in environments with very few obstacles.
However, as the map gets cluttered with more obstacles, the complexity of the dilation operation method gets closer to that of the convolution method. Considering a square environment, the complexity is O N 2 l o g N operations. When directly applying the convolution, the complexity is O N 4. It looks like the FFT saves quite some time. However, to be able to compare the complexity of both methods, we need to take into account the following issues:.
That means that as the difference in size between W and A increases, the the FFT method is going to be less advantageous.
Introduction and Graph-based Plan Methods
Figure 3 shows the execution times of the FFT method for different sizes of W and A , while Figure 4 shows the execution times of the direct convolution method for the same configurations. As can be appreciated by comparing the two figures, the FFT method reduces the calculation time for all the cases. For a particular robot size A and varying workspace sizes W , Figure 5 shows that the FFT is always faster and that the difference just gets bigger as the size of the workspace increases.
For very clear environments, it will be even faster that the FFT, while, for very cluttered environments, it will get closer to the pure convolution method. FFT method execution times for different robot and workspace sizes. The robot and workspace are square and the size is the number of cells on each side. Convolution method execution times for different robot and workspace sizes. Once the 3D map has been generated offline, the problem is reduced to a graph search on a three-dimensional space.
Anytime planning algorithms find an initial, usually suboptimal, solution, which is then progressively improved until the optimal path is found or the allocated time expires. This will also happen when using the technique based on the two inflated maps inscribed and circunscribed.
For binary maps, this operation can be performed very fast by using the morphology dilation technique. For regular cost maps, the FFT approach will allow the update to be performed in a reasonable amount of time usually less than ms. We have already provided a study on the execution times for different robot and map sizes in Section 4. In order to guarantee the kinodynamic feasibility of the computed path, a precomputed set of motions is used, along with a lattice-based planner [ 5 ].
By means of this lattice, the motion planning problem is resolved as a graph search and the precomputed motions guarantee that the path is traversable. In this case, as the space is discretized on a 3D map, the lattice is also calculated in three dimensions, with the third dimension representing the orientation of the robot. Thus, a turn in place operation is represented as a vertical connection between equal x and y coordinate cells, with the start of the connection at the original vehicle orientation and the end at the final one.
To achieve kinodynamic feasibility, these precomputed motions need to accomplish the following:. There must not be discontinuities regarding the position jumps , orientation sharp turns or curvature steering wheel jumps. In order to accomplish these restrictions, Euler spirals are used for these motion primitives.
These curves of continuous curvature are calculated offline [ 24 ] using the techniques described in [ 5 ] for achieving a reduced set. These motion primitives are then discretized, both in position and orientation, obtaining the list of 3D cells traversed by each motion, thus speeding up the online graph search. An example of these motion primitives set can be seen in Figure 6.
It should be noted that these precomputed discretizations will produce slightly different values than the ones calculated in real time. In the real-time approximation, a record of discretized occupied cells is precomputed for each exact pose value. In the proposed approach, the pose value is first discretized, and then checked against a precomputed map.
Especially for large and slender robot footprints, this previous orientation discretization leads to a greater position error on the perimeter cells of the robot. This inconvenience for slender robots can be solved by incrementing the number of discretized orientations. In the proposed approach, experimental tests were conducted on a vehicle with a length of 12 m, for which 32 different discretized angles were needed in order to allow the robot to make turns at a distance of less than 0.
We have found that similar results can be obtained with just 16 discretized angle values using the real-time approach. In order to accomplish the aforementioned kinodynamic restrictions while performing the graph search, the motion primitive starting at each traversed cell must have an initial curvature that is similar to the final curvature of the previous motion primitive ending at that same cell.
Note that it is not necessary to check that the orientations are equal at calculation time, since this is already represented by the actual 3D cell itself. In Section 4. There is a great interest in reducing this complexity because the most time-consuming part of global planning is computing the cost of each action a. Some approaches such as [ 7 ] implement some efficient convolution steps offline in order to reduce the convolution time needed to obtain the cost of action a. In that approach, for each action a , they precompute the cells covered by the vehicle when executing action a. Figure 7 left shows the number of cells covered by the robot while executing the short action of moving 1 m straight ahead.
In the example of Figure 7 , we show that in our approach we only have to iterate on the black cells, compared to former approaches where all the green and black cells had to be iterated. On the other side, the cells needed to iterate if we store the convolution are X black cells. When the robot is moving and rotating at the same time, it tends to cover more cells right part of Figure 7 , because it is longer than wider and when it turns, the rotation center is in the middle of the rear wheels.
Cells covered by the robot while moving. On the figure on the left, the robot moves straight ahead. On the figure on the right, the robot turns to the right. For a typical vehicle size of 5. However, if the orientation is discretized and the convolutions are precomputed offline as we propose here, it will only be necessary to iterate over about nine cells.
Motion Planning for Mobile Robots
In the next section, we will discuss the results of both algorithms for two different scenarios. First, some simulated experimental results will be shown to compare the results and computation time of this approach with respect to other approaches found in the literature. Then, we will introduce some applications where the proposed algorithms have been implemented and tested.
Both maps are included with SBPL and 3D occupancy maps are generated for the tests, following the technique described in this paper. Moreover, while the cubicle test is conducted for a robot with a small rectangular footprint of 0. This leads to two very different environments: an easy one, where the robot can occupy most of the positions on practically any possible orientation, and most of the paths pass by cells outside the circumscribed zone; and a hard one, where the robot can traverse most zones only for a reduced set of orientations, and where most of the collision checks need to be performed during planning time, since the robot will be inside the circumscribed radius zone.
The cubicle test Table 1 is conducted in a small environment of We obtain the paths between the start and end points shown in Figure 8 and Figure 9 , for a robot with a small rectangular footprint of 0. Both on the starting and ending positions, the robot is facing to the right. Since this map is very clear, the proposed method presents little advantage with respect to the one used as a reference a time reduction of just As it can be seen, the reduction in the average computation time per node is just 8. A small path cost increase of 0. These errors are also the cause for the 5.
The willow test Table 2 is conducted in a large environment of We obtain the paths between the start and end points shown in Figure 10 and Figure 11 , for a robot with a large rectangular footprint of 0. Both at the starting and ending positions, the robot is facing to the right. Now, the reduction in the average computation time per node is The cost for each path is calculated as the sum of the costs of all the motions conforming that path.
The cost of each single motion is estimated as the time required to traverse it, considering for the conducted tests that the robot is capable of traveling at one meter per second, and these costs are weighted according to the following criteria:.
This approximation minimizes both the distance travelled backwards and the number of turns performed. This generates smoother paths that are easier to follow for a vehicle with slow and complex dynamics. This also reduces the effort and wear applied to the vehicle actuators steering wheel, brake and accelerator. Real world experimental results were obtained with a robotized Kalmar Tugmaster truck Figure 12 and Figure 13 , in the framework of the Autoport project [ 25 ].
Here, the robotized vehicle was autonomouslly driven on a Ro-Ro ship hold, whose map is shown in Figure 14 , as well as on a 9.
Kentaro Ueno, Tetsuo Kinoshita, Kazuyuki Kobayashi, and Kajiro Watanabe
The truck had a width of 2. Robotized Tugmaster truck. Note the laser scanner for localization purposes on the top part of the cabin. Note the laser scanner for obstacles detection under the truck. Occupancy grid maps were constructed with a resolution of 2. This implementation builds a metric map from data recorded by a Sick NAV laser-ranger. For that, it takes into account the distance and also the reflectivity provided by the laser readings.