Abstract
In this paper, we address a new method for the collision-free motion planning of a mobile robot in dynamic environments. The motion planner is based on the concept of a conventional collision map (CCM), represented on the L(travel length)-T(time) plane. We extend the CCM with dynamic information about obstacles, such as linear acceleration and angular velocity, providing useful information for estimating variation in the collision map. We first analyse the effect of the dynamic motion of an obstacle in the collision region. We then define the measure of collision dispersion (MOCD). The dynamic collision map (DCM) is generated by drawing the MOCD on the CCM. To evaluate a collision-free motion planner using the DCM, we extend the DCM with MOCD, then draw the unreachable region and deadlocked regions. Finally, we construct a collision-free motion planner using the information from the extended DCM.
1. Introduction
The motion planning for the autonomous navigation of indoor-wheeled mobile robots has been a centre of attention for the scientific community over the last decade. Motion planning has applications in fields such as office cleaning, guiding visually impaired or geriatric patients [1] and fire detection. Researchers have developed various methods by which robots can complete their tasks without colliding with obstacles. In particular, methods using the potential field, dynamic window, velocity obstacle, vector field histogram, vector polar histogram, probabilistic roadmap and collision map have given diverse and useful results in known and unknown environments [2,3].
The potential field method and its extension for use in dynamic environments have been studied extensively in recent decades. The basic idea of this method is to fill the robot's workspace with an artificial potential field in which the robot is attracted to its target position and is repulsed by obstacles. This method is particularly attractive because of its mathematical simplicity. However, the potential field method has inherent shortcomings in its design, such as being stuck in local minima and the robot's oscillation in narrow passages [4–5]. Another area of motion planning, probabilistic roadmap (PRM) motion planning method, creates a graph of randomly generated collision-free configurations, which are then connected using a simple and fast local planning method. Actual global planning is carried out on this graph [6]. To minimize the time wasted constructing the unused portion of the roadmap, researchers proposed variant PRMs such as the Lazy PRM, Fuzzy PRM and Customizable PRM, which postpone some roadmap construction operations until the query time [7–11].
The VFH [12–15] algorithm with sonar sensors and the VPH [16–17] algorithm with laser scanners have been studied to obtain feasible bearing angles for obstacle avoidance and for reaching the target point.
Collision map-based motion planners consider only the collision time without tackling how to avoid collisions. Therefore, CCM-based motion planning is suitable for painting robots or rail-guided robots, which are forced to follow a given track. The CCM is a plane consisting of the travel length and the possible collision time. The CCM concept is clear and has been applied in many papers. [18–22] However, a motion planner using only the CCM deals with the linear velocity of one or more obstacles without considering the obstacle's angular velocity.
Among these methods, we focus on CCM-based motion planning. We expand the concept of CCM to the consideration of dynamic terms. To use CCM in dynamic environments, we denote the direction of motion of the collision region as a vector in the collision map. We term the measure of collision dispersion (MOCD) as the magnitude of the vector, i.e., the predicted movement of the collision region in the L-T plane. We term the newly constructed map a dynamic collision map (DCM).
The singularity of MOCD arises when the collision angle becomes zero. To avoid this singularity, we propose a path regeneration algorithm that considers the collision angle. By using the DCM and the velocity constraints, we first generate a collision-free trajectory. We then construct a singularity-free and collision-free motion planner.
The dynamic environment is represented as a set of obstacles that have a state (xo yo, θo, vo, ωo). In addition, the concept of motion planning is represented as: “when given the initial state (xs, ys, θs, vs, ωs) and the final state (xe, ye, θe, ve, ωe) of a robot, plan the trajectory of v and ω required to reach the final state from the initial state as fast as possible.” The basic assumptions are as follows.
The mobile robot is treated as a circle or sphere to simplify the problem; a sphere model is rotationally invariant and is completely defined by its radius and the coordinates of its centre; thus, the complexity of the detection of collisions can be reduced.
If the radius of the obstacle is R1 and the radius of the robot is R2, then we replace the radius of the obstacle R1 with R1+R2 and the radius of the robot R2 with zero, i.e., the robot with radius R1 is replaced with a point robot.
The mobile robot has linear and angular velocity constraints, with the inequality functions as follows.
The mobile robot and obstacles move in a flat plane.
The remainder of this paper is organized as follows. In section 2, we review the concept of the CCM. In section 3, we derive the equations of variables related to the CCM. We then define the MOCD and DCM-based on the effect of dynamic obstacles on the collision map. In section 4, we design the motion planner and describe the generation procedure for obtaining a continuous and smooth trajectory. In section 5, we present the simulated results. Finally, we give our concluding remarks in section 6.
2. Review of conventional collision map
Let us consider the case where a robot moves along the path from

Variables defined in a collision map
Table 1 shows the related symbols needed to derive the CCM and DCM.
Symbols used for derivation of CCM and DCM
If the moving path is larger than the obstacle size and the path is smooth in the neighbourhood of collision point
Suppose that the moving obstacle is a circle and the moving path of a robot in the neighbourhood of the collision point is a tangential line. Let the length from
Next, we will show that the crossing points of the robot with the obstacle path become an ellipse in the L-T plane with centre (lc, tc), where the L-T plane consists of the robot's travel path and time. We assume that all positions and orientation angles are represented by the coordinates of the moving robot. Then, consider that the moving path is given by a function, y=f(x). To determine
From the collision point (xc, yc),
Let us define the following constants to obtain the rotational angle of the generated ellipse.
Then, the rotational angle can be given by
We subsequently define the following constants to determine the principal axis and rotational angle:
Among
Figures 2 and 3 show the collision region in the X–Y and L–T planes, respectively.

Collision region in X–Y plane

Collision region in L–T plane
Until now, researchers [2–5] have approximated a collision region as a collision box. They have not considered the exact shape of the collision region. However, this approximation method is not practical in two aspects, the first of which is as follows. Note that the shape of the collision region is determined by the obstacle velocity
3. Definition of MOCD and dynamic collision map
The collision region in Figure 3 does not include the dynamic information of an obstacle, such as acceleration or angular velocity. We thus need to analyse its effect on a collision region based on the dynamic motion of an obstacle. Figure 4 shows the variation of L when the angular velocity is changed.

Variation of L when angular velocity is changed

Dynamic collision map (DCM) on L–T plane
If an angular velocity
We define D1 as the dispersion length on the L axis, which means that the movement of a collision region changes along the L axis by the angular velocity
We denote
The MOCD includes the physical implication of dispersion for the collision point and collision time. To estimate the exact collision point and collision time, minimizing the MOCD value is necessary. The MOCD is proportional to the angular velocity and linear velocity. From eq. (11), the singularity is generated if the collision angle θc or
We want to set a new collision region that considers the MOCD after constructing the DCM in the L-T plane. To generate a collision-free motion planner with the DCM, the question that arises is how to use the information from the MOCD. In this paper, we define a new collision region using a set of ellipsoids, referred to as a collision ellipsoid set (CES). Figure 6 shows the concept of CES. If a CES is obtained, four straight lines can be generated which are tangential to the CES and their values are the maximum and minimum of

Regeneration of collision region considering MOCD and dynamic constraints
Deadlocked (inescapable) and unreachable areas are generated from the two crossing points of straight lines and from the four crossing points of the tangential lines of the CES, respectively. The deadlocked (inescapable) area is the region that a robot can enter but if it wants to exit, the velocity must exceed the maximum value. Therefore, if we plot the trajectory of x to the deadlocked area, then we cannot generate a feasible solution satisfying the entire range of x. The unreachable area is the region that a robot cannot enter because of the limitation of maximum or minimum velocity. For convenience of computation, we included the two regions in the CES.
4. Singularity-free motion planning
The MOCD has singularity when the collision angle becomes zero. In this section, we propose a path-generating algorithm that considers the collision angle.
Unlike the CCM method, which generates the trajectory using an offline method for a given path, we propose a real-time path planner to avoid singularity. The planner is generated by considering the dynamic variables of an obstacle.
Note that the path should be specified in advance to generate
For two given position constraints and two direction constraints, let us assign the path satisfying the constraints as the third-order polynomial y=a0x3+a1x2+a2x1+a3. Then, the coefficients can be obtained as follows:
In the above equation, the determinant of the matrix is -(xs−xe)4; therefore, the coefficients are unique except for in the case that xs = xe. Let the state of an obstacle be (xo,yo,θo,vo,wo). Then, the moving path of the obstacle is represented by a straight line, as in the following equation:
From eqs. (12) and (13), the intersection point of x between the third-order polynomial and the straight line is the solution of the collision point xc. If the straight line in eq. (13) intersects the x-axis in the interval from 0 to xe, functions that pass 0 and xe have more than one intersection point with the straight line. Thus, even if we change function f(x) to any function g(x), we cannot completely eliminate the possibility of collision. As mentioned above, as the collision angle approaches zero, singularity occurs in the length of the moving vector in the collision region. Therefore, the path must be generated such that the collision angle is maintained at 90°, which is the core principle of our path planner. This approach matches human behaviour patterns for avoiding moving obstacles; a human typically takes a line perpendicular to the line of a moving obstacle to avoid a collision. If the collision angle is zero, then the collision vector infinitely increases in the MOCD. Therefore, the singularity avoidance algorithm is needed in order to prevent uncertainty in the path of moving obstacles.
The path-generating algorithm to maintain a collision angle of 90° is as follows:
Find the third-order polynomial that passes through the start and stop points. The directional angles in the start and stop points must match the angles of tangential lines at their points respectively.
Generate the first-order line from the state of the moving obstacle.
Search for the crossing point between the generated line and the third-order polynomial.
Define the angle for making the collision angle 90° at the crossing points.
Find the third-order polynomial g(x) connecting the start point and the collision point, which are both satisfied by tangential values at their points.
Find the third-order polynomials h(x) connecting the collision and stop points, which are satisfied by tangential values at their points.
Construct a new path connecting g(x) and h(x).

Comparison of conventional path planning and singularity-free path planning
In conclusion, the generated paths satisfy the collision angle of 90° at the collision point, pass through the start and stop points, and match the pre-set steering angles at the start and stop points.
5. Simulation results and discussion
We compared the performance of the suggested DCM-based collisio1n avoidance algorithm with the VFH+ algorithm by using Matlab Simulink. To determine the steering angle with the VFH+ algorithm, it is first necessary to create a local map using 2D laser scanner data. Then, from the local map, we obtain an obstacle vector, a Primary Polar Histogram, a Binary Polar Histogram and a Masked Polar Histogram, in that order. [1] The steering angle is calculated based on the final Masked Polar Histogram. The desired steering angle is simply determined by the sum of the steering angle and the desired angle, and the steering angle error value is calculated by the difference between the desired angle and the current angle. In this simulation, we set the robot size to 0.5 m. As the real-time obstacle position is known, we performed simulations using the simulated 2D laser scanner data generated by the position data and robot size. For the DCM-based collision avoidance algorithm, we first draw DCM in the L-t plane, before moving the DCM to the x-t plane. If we suppose that the robot performs point-to-point navigation following a straight line, the x-t plane becomes the same as the L-t plane, i.e., the x-direction is the same as the robot direction. The DCM-based algorithm calculates the desired velocity and heading. However, if we control the robot's velocity, then the comparison to the VFH+ algorithm becomes meaningless because the VFH+ algorithm gives us only the desired heading. Thus, in the simulation test, we forcibly assigned a constant value to the robot's speed. Then, we compared the performance of the heading control of the DCM-based algorithm with the VFH+ algorithm. If the robot's velocity is constant and the value dx/dt is changed, then the heading value should change. With the heading variation, we can create a new via point. We assign this point to the desired point in the position control loop. Figure 8 shows the method used to calculate the via point using the heading variation. If there is no obstacle, the heading direction will be the same as the target point. Thus, the robot can arrive at the target point using this method.

Method for setting a via point when the robot heading is varied
We used a quadcopter as a simulation model. The quadcopter has been studied by many researchers in recent decades. The quadcopter is a good research model to assume the shape of a circle. The DCM suggested in this paper is based on the collision avoidance of the two-dimensional space. However, various flight controllers divide the control structure with a height controller and a position controller on the horizontal plane. Therefore, we can apply our DCM algorithm to the quadcopter position controller without extension of the DCM to three-dimensional space.
We supposed that two robots (quadcopters) are flying on one horizontal plane. One quadcopter is considered as a moving obstacle and the other quadcopter as an autonomous mobile robot carrying out a given mission. In this simulation, we assume the moving obstacle moves along a given path and that the autonomous mobile robot performs a mission requiring point-to-point navigation. The two robots move on the same plane at a height of 4 m. One quadcopter follows a ‘figure-of-eight’ track, the other quadcopter moves along given positions. We assigned the target points by considering points that potentially collide with the ‘figure-of-eight’ track. Figure 9 shows the desired points and the path of the moving obstacle.

Target points of robot and moving obstacle for performing a mission
We assumed that the autonomous mobile robot can acquire the obstacle's status, e.g., position, heading value, and robot size in real time. This assumption has been a traditionally significant barrier for realizing a practical motion planner. However, the market for small-sized communication equipment, such as Zigbee and Bluetooth, has recently shown rapid growth. Therefore, this assumption has become reasonable.
We designed the quadcopter dynamic model and PID controller using Matlab 2011b Simulink. Figure 10 shows the Simulink block diagram for the suggested simulation.

Block diagram of the motion planner proposed in this paper
The motion planner regenerates the robot trajectory based on the input of obstacles status, robot status and waypoints at every sampling time. The output of the motion planner is the desired position, height and heading for tracking. We then compare the simulation of the VFH+ algorithm with the DCM. Figure 11 shows the tracking points of a moving obstacle and mission-performing robot when the collision avoidance algorithm is not applied.

Tracks when no collision avoidance algorithm is applied
Figures 12 and 13 show the tracking points of the moving obstacle and mission-performing robot using the VFH+ and DCM-based algorithm, respectively. The definite difference of the two algorithms is whether they use the obstacle's velocity or not. The desired heading in simulation of Figure 12 was calculated by using the obstacle and target positions without considering the obstacle velocity. In contrast, the desired heading in simulation of Figure 13 was calculated by considering obstacle's velocity. After desired heading is fixed, the desired via point is calculated as shown in Figure 8.

Tracks when VFH+-based collision avoidance algorithm is applied

Tracks when DCM-based collision avoidance algorithm is applied
We can see the difference of shape in two tracks. The measure of performance is how well the robot follows a given track; the best algorithm minimizes the breakaway from the track. We find that the performance of collision avoidance is excellent in the two algorithms. However, the measure of breakaway is somewhat different, as the DCM-based algorithm displays less breakaway from the track.
In fact, the DCM algorithm is also more powerful in terms of velocity control. The VFH+ algorithm gives the best results for searching for the heading in a static environment. However, the algorithm does not have a similar estimation power when the obstacles are moving with changes in linear or angular velocity. In contrast, the motion planner with the DCM-based algorithm gives both the desired heading and velocity. Furthermore, the algorithm provides improved estimated results when obstacles are moving. These improvements allow the robot to change the velocity and the angle at the same time to avoid collision. As such, we can conclude that the DCM-based algorithm is more powerful than the VFH+ algorithm. However, further study is required to expand this simulation into 3D space, and to expand the simulation to include full autonomous control of velocity and heading.
6. Conclusions
In this paper, we presented a new method for collision-free motion planning of a mobile robot in dynamic environments. The main contribution of this paper is to propose a new concept for a dynamic collision map, which extends the concept of the CCM using the dynamic information of a moving obstacle. We then analysed the effect of this dynamic motion on the collision region. From this extension, we newly defined the MOCD and the DCM. We first generated a singularity-free motion planner, and subsequently verified the performance of the suggested DCM-based motion planner using Matlab Simulink simulations.
The method for grouping CESs to escape a deadlocked area will be the focus of future research, in addition to experimental tests for the suggested motion planner.
Footnotes
7. Acknowledgments
This research work was supported by the Echo Innovation Project under the Development of a Real-Time Landfill Process and Volume Measurement Technology programmes from the Korea Environmental Industry & Technology Institute (KEITI).
