Abstract
This work addresses a new technique of motion planning and navigation for differential-drive robots in dynamic environments. Static and dynamic objects are represented directly on the control space of the robot, where decisions on the best motion are made. A new model representing the dynamism and the prediction of the future behavior of the environment is defined, the dynamic object velocity space (DOVS). A formal definition of this model is provided, establishing the properties for its characterization. An analysis of its complexity, compared with other methods, is performed. The model contains information about the future behavior of obstacles, mapped on the robot control space. It allows planning of near-time-optimal safe motions within the visibility space horizon, not only for the current sampling period. Navigation strategies are developed based on the identification of situations in the model. The planned strategy is applied and updated for each sampling time, adapting to changes occurring in the scenario. The technique is evaluated in randomly generated simulated scenarios, based on metrics defined using safety and time-to-goal criteria. An evaluation in real-world experiments is also presented.
1. Introduction
Applications of autonomous robotic systems are a recognized research priority (e.g. in contexts relating rescue, surveillance, households, guidance, museums, and factories). Robots in these contexts have to coexist or cooperate with humans or other moving vehicles in constantly changing scenarios. Planners for static scenarios and purely reactive avoidance techniques are no longer valid. Motion planning in dynamic scenarios requires being able to predict the future evolution of obstacles, to plan and execute the safest and quickest feasible movements for the robot. Furthermore, kinodynamic constraints must be taken into account to obtain feasible trajectories. In this work we develop a robocentric planning and navigation technique for such environments, which considers safety, manoeuvrability, and constraints on the robot and the environment. The paper offers two main contributions: a new dynamic environment model for non-holonomic robots, which maps the environment on the velocity space of the robot; and a set of planning and navigation strategies, based on the model and on safety and time-to-goal criteria.
In Section 2 the state of the art is presented. In Section 3 the contributions are highlighted and explained. Section 4 establishes the problem to be solved. Section 5 formally defines the dynamic environment model, the dynamic object velocity space (DOVS), and its properties. In Section 6, the decision making, planning and navigation strategies are developed. Section 7 evaluates the method, based on metrics by means of simulations and in real-world experiments. In Section 8 some conclusions and future work are presented.
2. Related work
Motion planning and reactive navigation in static and dynamic environments have been addressed extensively in the literature. Reactive approaches combined with global planning techniques lead to so-called iterative motion planners (e.g. Brock and Khatib, 2000; Fraichard, 1998; Frazzoli et al., 2001; Hsu et al., 2002; Minguez and Montano, 2005; Stachniss and Burgard, 2002). These techniques calculate several steps ahead depending on the time available. The planner evaluates different branches in a tree within a horizon and works out a partial trajectory. This process may be interrupted at any time or is time-bounded to maintain the robot’s reactivity.
Modeling the dynamic environment is a major problem to solve that requires representing the dynamics of the robotic system and the motion evolution of the moving obstacles. Two of the most commonly used and referenced models are the velocity obstacle (VO) (Fiorini and Shiller, 1998), expanded in Shiller et al. (2001), and the inevitable collision states (ICS) introduced by Fraichard and Asama (2003). In VO the set of velocities from the current state that would provoke a collision between a holonomic robot and an obstacle at a time in the future is computed. ICS is directly related to safety.
The non-linear velocity obstacle (NLVO), which is the VO concept applied to obstacles moving along arbitrary trajectories, is used in Large et al. (2002) to compute a risk function from the time to collision to select the best velocity for the robot. An evolved technique that employs the 3D information obtained by the NLVO is presented in Large et al. (2005). The authors developed an iterative approach based on the A* algorithm to incrementally build a solution towards the goal, where real-time issues are also considered. Recently, Kim and Oh (2016) presented a new VO-based approach (OVVO), which improves the velocity selection compared with the VO approach. The method defines a cost function which weighs the similarity to a desired velocity and the level of obstacle avoidance (to move around obstacles to a greater or lesser extent) to decide on the best velocity for the robot in crowded or less-dense scenarios. However, the results are very dependent on weight heuristic parameters.
Regarding safety, LaValle and Kuffner (2001) introduced the concept of region of inevitable collision to identify the states in which there is no control input the robot can apply to avoid a collision. Frazzoli et al. (2001) formulated the concept of
Fraichard (2007) introduced three safety criteria that a robotic system should consider to compute its future motion, and ICS is presented as a suitable framework to deal with motion safety for motion planning and navigation. Petti and Fraichard (2005), Kalisiak and van de Panne (2007), Chan et al. (2008), and Bekris and Kavraki (2007) exploited an approximation of ICS in different ways. They perform a tree-based search and check for inevitable collision states to provide safety for a time horizon. Martinez-Gomez and Fraichard (2009) presented ICS-Avoid, a reactive navigation approach that selects controls for the robot to move through ICS-free states. Probabilistic versions of ICS were defined in Althoff et al. (2010) and Bautin et al. (2010) to capture the uncertainty about the future behavior of moving objects in real-world situations. Althoff et al. (2012) considered interactions among objects in terms of collision avoidance, reasoning beyond the planning horizon. Bouraine et al. (2012) defined Braking-ICS, a version of ICS that guarantees that if a collision takes place, the robot will be at rest. It was later applied to the development of a partial motion planner by Bouraine et al. (2014).
Shiller et al. (2010) addressed the motion safety issue in the VO framework using the ICS concept for holonomic robots. Calculating the proper time horizon as the minimum time for the robot velocity to exit the velocity obstacle yields a representation of the environment that ensures robot safety as long as the robot velocity does not lie in the velocity obstacle. Seder and Petrovic (2007) adapted the DWA approach (Fox et al., 1997) to consider moving obstacles, which are represented as moving cells in a grid map. Safety is thus considered by computing intersection points between simulated obstacle and robot trajectories in the short term. The cells resulting in collision are marked as forbidden, and a command optimizing a weighted navigation criterion is selected for every sampling time.
Pallottino et al. (2007), Van den Berg and Overmars (2008), Bekris et al. (2009), and Bareiss and Van den Berg (2013), addressed multi-robot systems in which all the agents are capable of making avoidance decisions. They developed coordination schemes to distribute the avoidance actions among the robots. Bareiss and Van den Berg (2015) extended this work, generalizing the reciprocal collision avoidance for robots with different kinematic constraints.
The computation of time-optimal trajectories formulated as a problem of computing time-optimal motions has been explored by several works. Reister and Pin (1994) addressed this problem for a non-holonomic robot with bounded acceleration, in an obstacle-free environment. The authors demonstrated that time-optimal motions are obtained from bang–bang controls (maximum acceleration or deceleration), and parametrize the set of time-optimal trajectories using the switching times. Renaud and Fourquet (1997) computed sequences of extremal controls for acceleration-driven robots to reach time-optimal trajectories in free-space. Balkcom and Mason (2002) focused on differential drive and car-like robots with bounded linear and angular velocities but without acceleration limitations. Shiller et al. (2013) presented an on-line motion planner, where robot dynamics and actuator constraints were considered. A near-time-optimal trajectory that avoids stationary obstacles one at a time is incrementally computed, obtaining comparable results with respect to the global optimal solution. Park et al. (2009) dealt with one moving obstacle, and solved an optimization problem with inequality constraints for a holonomic robot with infinite acceleration. Mercy et al. (2016) formulated the optimization problem in a scenario with moving and static obstacles for a holonomic robot with fixed orientation. Real-time optimization was achieved by a B-spline parametrization of the trajectory and exploiting B-splines properties to limit the set of constraints. A different approach to obtain near-time-optimal trajectories was developed in Gal et al. (2009) and Shiller et al. (2010), which adapt time-optimal solutions based on extremal controls for static or free space environments.
In this paper we develop and evaluate a robot motion planner based on a model which represents the dynamism of the environment. This work extends and formalizes the model of a preliminary work (Owen and Montano, 2005). That work presented the dynamic object velocity (DOV) to model the moving obstacles in the environment, reasoning on it for robot navigation. The DOVS space herein developed explicitly takes into account the future evolution of the obstacles and the dynamics of the robot to compute a set of velocities leading to collision in the future. DOVS is defined upon the concepts of estimated arriving time of the obstacles, used to compute the times to potential collision or escape, and on the maximum and minimum velocities for the robot not to collide. As a consequence, a set of safe and feasible robot velocities is obtained for further planning.
The DOVS model exhibits several differences with respect to the discussed previous works. ICS calculates the states of inevitable collision for a set of escaping manoeuvres, but it does not explicitly compute motion controls for planning motions among the obstacles towards the goals. In addition, the computational cost for several manoeuvres and several objects is high. The VO technique computes states for the next sampling period, including velocity, for which there are collisions with the obstacles; but the planning of collision-free trajectories using this model requires looking ahead, simulating several steps forward. Instead, DOVS explicitly computes safe linear and angular robot velocities (control variables for the robot) which can be applied without collision in a given but not temporally limited horizon, for instance the field of view of the navigation sensors, without requiring several steps of lookahead simulation. In such a way, building DOVS entails an implicit computation of safe velocities (trajectories) without collision within the space horizon established. Moreover, as discussed in Section 5.6, DOVS is not affected by some complexity issues that do apply to those previous techniques.
3. Contributions
The DOVS model implicitly computes a set of collision-free commands for long-term planning within the sensor’s field of view, providing information about collision-free trajectories. A precomputed set of trajectories in the configuration space is represented as sequences of velocity commands in the control space of the robot, which will contain free and forbidden velocities leading to collision, within the space horizon available. Having this greater visibility horizon at the current instant allows the decision process to select the best next motion command from an improved informed search, without needing to simulate the motion several steps ahead. However, only one of these velocity commands is applied for the next sampling period, and a new plan is computed to adapt to new situations in case hypotheses are no longer satisfied.
The contributions are related to two main issues.
Environment modeling mapped on the robot velocity space. The DOVS model is formally defined for different kinds of obstacle trajectories and static obstacles, and its properties regarding safety are established. A complexity analysis of the model and a comparison with respect to other well-known techniques in this field is carried out.
Planning navigation strategies. Using the DOVS model, a strategies-based approach to compute safe motion commands (velocities) for the robot is developed. Navigation decisions are made based on identifying a situation among a discrete set, evaluating the decision variables computed from the model of the environment.
The method is assessed by means of simulations and experiments in real-world scenarios. Randomly selected scenarios and dynamic conditions are used for evaluation. The properties of the model are verified, and metrics for performance evaluation of the navigation strategies are provided.
4. Problem statement
The DOVS model for dynamic environments exploits the concept of estimated arriving time of an object by computing the times of future potential collisions. Then the set of collision-free and collision-causing commands are represented explicitly in the control space of the robot. In such a way, any motion planner based on this model that selects collision-free commands will generate trajectories without collision. To compute the free control space, circular robot trajectories for non-holonomic robots have been selected for the long-term planning. Recomputing the plan every sampling time yields clothoid and anti-clothoid trajectories as the robot moves towards the goal, providing continuous curvature trajectories.
The motion planner applies different strategies of movement depending on the situation of the robot with respect to its environment. The situations are identified from the DOVS model. The decision variables are defined and valued so that a situation is identified and thus a navigation command is computed for that situation.
Robot and obstacle states
We consider a non-holonomic robot
The state of the robot is defined by its location and velocity at instant
From these states and the motion model we describe the DOVS environment model in the next section.
5. Modeling the environment
The model is constructed by mapping the information from the workspace to the control space of the robot, denominated velocity space (
The basic concept to build the model is the time of collision between robot and obstacle trajectories. The intersection points are computed from a robocentric representation, resulting in associated information in
One of the advantages of this technique is that the model maps the safe robot velocities for a space horizon only limited by the field of view of the onboard sensors. This allows motions to be planned at every instant for the whole time horizon corresponding to the space horizon and not only for the next sampling period in a purely reactive way. Hence, this approach does not need to simulate future trajectories (states) to obtain a long-term plan, as most of the techniques previously referenced do. In addition, owing to computational burden or to practical navigation issues, this space horizon could be artificially limited, enabling reasoning about the behavior of only the closest obstacles, which are those that will impose the immediate manoeuvring decisions.
5.1. The DOVS
In this section the DOVS is defined and its properties described. Appendix B contains the equations for computing the model for linear and circular obstacle trajectories together with a more detailed explanation of the computation process. Next, a brief description is provided.
The model results from computing the times of collision between different feasible robot trajectories and obstacle trajectories in a robocentric reference. Figure 1(a)–(c) demonstrate this idea. In Figure 1a the workspace at a specific instant is depicted. The information in the workspace is mapped to a robocentric representation (Figure 1(b)) to

(a) Workspace; (b) collision band swept by object

(a) Velocity–time space DOVTS and velocity–time obstacle DOVT; (b) projection of DOVTS on the plane
In Figure 1(b) the
Let
where
These calculations are extended to the whole set

(a) Robocentric representation of an obstacle circular trajectory (blue) and a set of circular trajectories for the robot (green). (b) The corresponding model in DOVS.
As a first approach, to simplify the model management, we propose to use the projection of the 3D space
We now formally define the space for the robot and its characteristic variables.
Accordingly, we define
Velocities belonging to DOV are unsafe, leading to collision at some future time. Any velocity inside
Given that the navigation method presented in this paper focuses on projection DOVS, the definitions which follow are provided only with respect to DOVS. However, they are straightforwardly applicable to
Note that
From these definitions we can obtain some important properties that must be used by any planner based on this model to select safe robot commands ensuring collision avoidance in a dynamic environment.
Proof. By the definition of
Proof. By the definition of
Proof. If
Proof. If
Summarizing the properties, when a velocity command is chosen out of
5.2. Dealing with multiple objects in DOVS
Figure 4 shows a situation with two objects in

(a) A situation with two moving objects near to each other in
5.3. Static objects in DOVS
Static obstacles can also be represented in DOVS. Let

(a) Mapping a corridor into DOVS. The red points correspond to scan laser points for example and the green points are the points after extending the walls with the robot radius. (b) The corridor mapped into DOVS showing the maximum velocity reachable for the robot on each circular path considered.
5.4. The kinodynamic constraints in the model
The maximum linear and angular velocity constraints are explicitly represented in DOVS by the external square (omnidirectional robot) or the external rhombus (differential drive robot) in Figure 6. So far, it has been assumed that any

Kinodynamic constraints in DOVS : (a) holonomic robot,
Figure 6(a) shows that
5.5. Trajectories in DOVS
Different kinds of trajectories can be selected to execute the motion plan and manoeuvre the robot. In this work we consider bounded velocity and acceleration for real robots, and apply extremal actions (maximum acceleration or deceleration) motivated by results presented in Reister and Pin (1994), introduced in Section 2. As described in previous work by Owen and Montano(2005), this type of control action yields rectilinear, clothoid (only angular acceleration), and anti-clothoid (only linear acceleration) paths, allowing a curvature continuity. Moreover, as shown in Section 5.1, circular and linear trajectories are also used for motion planning and execution.
These mentioned trajectories are directly mapped on DOVS (see Figure 6b). Linear trajectories in the workspace appear as a straight line in the
5.6. Complexity of modeling and planning algorithms
A comparison is performed to analyze the complexity of the algorithms presented for modeling the dynamic environment and its use for planning in other techniques proposed in the literature, specifically those based on VO and ICS, with respect to our proposal.
Computing the set of ICS of a robot for different control trajectories and several obstacles involves a complexity of
The VO approach concerns mainly three operations: computing each individual
In our technique, the complexity of modeling each moving object in its
6. Decision making for planning and navigation
This section explains the decision-making process for a robot when dealing with moving obstacles. The problem is similar to a situation in which a pedestrian intends to cross a road while cars are passing. The pedestrian must decide how to do this safely. In such a situation, the main decision the robot must take is whether to pass before or after the obstacle.
Most of the proposed techniques for navigation in dynamic environments limit the number of possible robot trajectories or manoeuvres, or simply slow down or stop the robot to avoid a collision by allowing the moving obstacle to pass first. The method presented in this work enables lighter computation of long-term safe command sequences in the free-velocity space, and thus the corresponding trajectories to the goal. These planned trajectories are not time-optimal, but are used as a first seed to guide the robot towards the goal in the free space. In the following steps, the recomputed extremal control commands will lead the robot to move in near time-optimal trajectories to the goal.
The design is based on the paradigm of situated activity (Arkin, 1998). The robot decides the motion plan within a set of finite but general situations identified from the perception system. Each situation has an associated motion strategy, which exploits the information provided by the model of the environment. Two main criteria are considered to define the strategy: (i) the trajectories generated have to be safe; (ii) near-time-optimal trajectories to the goal have to be generated. The first is ensured by selecting velocity commands inside the free velocity
Figure 7 reflects this idea. Essentially, there are two main planning decisions: passing before the object (

Trajectory in green when the robot passes before the moving obstacle and in red when the robot passes after the moving obstacle.
6.1. Decision variables
Table 1 summarizes the decision variables, some in the workspace
Decision variables in WS and DOVS.

Decision variables in DOVS. (a) Situation in which there are
6.2. Optimization based on decision variables
The decision-making process described above is implemented by means of navigation strategies, which use the defined decision variables. The objective of the strategies is to navigate towards the goals in dynamic scenarios, executing near-time-optimal trajectories whilst ensuring safety (no collisions). Unlike in static environments, in dynamic environments where obstacle motion is uncertain or it might unexpectedly change, computing global time-optimal trajectories is not feasible.
To apply the decision-making strategies based on DOVS model, the direction to the goal is projected in DOVS as the decision variable

(a) Clothoid and (b) anti-clothoid trajectories for different initial values of
The time-to-goal for a clothoid,
6.3. Situation-based navigation
The planner reasons in the DOVS space described in Section 5, which maps the environment dynamism of obstacles. In a scenario with obstacles, the trajectories introduced before do not lead to time-optimal trajectories because they may result in collisions. However, it is possible to find near-time-optimal and safe trajectories computed in the free velocity space
The strategies are associated to situations detected. Figure 10 shows the situation tree, where the leaves correspond to all the situations that can be identified. Each of the situations has an associated action; the sequence of actions applied to reach the goal constitutes a strategy, which implements the general decision making process described in Section 6. The robocentric planner executes cyclically, performing the strategies and so adapting to the changing environment in real-time. The planner establishes a long-term plan within the horizon defined by the field of view of the sensors and not only for the next sampling period. In this sense, this local planner is not purely reactive. It computes a safe trajectory for that space horizon. The plan is re-computed for each sampling period, so only the immediate action of the strategy required by the current situation is applied at each sampling time.

Situation tree. Leaves represent all the situations that can be identified, each of which has an associated navigation strategy.
Table 2 shows the actions associated with each situation. Roughly speaking, the method consists in applying a sequence of maximum angular and linear accelerations to reach the maximum linear velocity in the free velocity space (
Actions for the situations. Here
Algorithm 2 represents the basic motion to be applied in all situations, as shown in Table 2. The only difference between situations is the election of a new

Evolution of the

Evolution of the

Evolution in the

Evolution of the

Evolution in the
7. Experimental evaluation and metrics
7.1. Simulation results
In this section we evaluate the proposed technique qualitatively and quantitatively. Simulations where the robot traverses the scenario to reach different goals are shown in Extension 1. 1
In these scenarios only moving objects appear around the robot. We have considered obstacle occupancies of

Scenarios with different densities of occupancy: (a)
Mean of forbidden velocity area in DOVS during simulations for different obstacle velocity ranges. The values of
We have tested navigation for three different types of scenario during simulation: linear, non-linear, both for moving obstacles, and complete, having static and moving obstacles. A total of
We have evaluated the technique in scenarios where the density of obstacles remains the same, so static bounds were established to define the workspace and simulate the movement of the obstacles cyclically, once the random movement has been generated. Table 4 reflects the collisions produced during simulation, as explained later. Column Bounded (
Percentage of collisions during simulations. Note that in the highest-occupancy situations and with the scenario bounds acting as static obstacles, many trapping situations can appear so some inevitable collisions occur.
Figure 17 illustrates several iterations of a simulation of the linear scenarios. The robot manoeuvres around the obstacles while maintaining safety, selecting high velocities in the free velocity sub-space

Simulation in a linear scenario for
Figures 18 and 19 show several metrics evaluated during navigation for the overall simulations in linear scenarios, for each of the occupancy densities considered and for each set of velocities. As expected, in a scenario where fewer obstacles appear, the robot can move at higher velocities (Figures 18(a) and 19(a)). Safety is evaluated from the distance measured between the robot and each of the obstacles (Figures 18(b) and 19(b)). Figures 18(c) and 19(c) illustrate the time-to-goal with respect to the optimal value for each goal, computed for free space. Longer trajectories are produced when there are more obstacles in the environment. Figures 18(d) and 19(d) describe the strategies selected during navigation. AvoidingObject and AvoidingCollision are the most frequently applied strategies. PassingBefore strategy occurs more frequently than SlowingDown, which means that the robot tries to search for free spaces to pass before objects at high velocity, rather than slowing down to give way to objects. It can be seen that for

Metrics for

Metrics for
Regarding simulations for non-linear scenarios, Figure 20 plots the same metrics as for the linear scenarios. Similar results are obtained, so the technique adapts well to different kinds of obstacle trajectories.

Metrics for simulations for
Moreover, the technique developed is conservative in the sense that any velocity in free velocity space
Finally, in the complete scenario shown in Figure 21 there are static and moving obstacles (following linear and non-linear trajectories) to illustrate a general situation in which a robot has to move from one room to another, navigating among several objects and four subgoals (waypoints). Figure 22 represents the metrics. In this scenario, where many static objects are present and appear in DOVS, the ObstacleFree situation is not encountered, so there are not many velocities free to manoeuver.

Complete scenario with static (black), linear, and non-linear obstacles describing their trajectory (blue), and the trajectory performed by the robot (red) to achieve the different goals.

Metrics for simulation of the complete scenario. Most of the time the robot moves at maximum velocity, slowing down when it becomes considerably disorientated from the goal (bigger changes observed for angular velocity). Strategy PassingBefore is applied many times, that is the robot moves many times at high velocities to pass before the obstacles, and no CertainCollision situation appears.
7.2. Comparison with a one-step approach
We show here through simulation how our lookahead planner obtains a better behavior and lower time-to-goal than a method that considers only the next-period candidate velocities. This local planning approach is denominated one-step approach, and it is the decision process used in Gal et al. (2009) and Shiller et al. (2010) to develop a near-time-optimal motion planner. The basic idea is that the planner chooses collision-free velocities from the velocity window (
The evaluation carried out is performed in randomly generated scenarios, where the robot has to reach four different goals, during a set of

Comparison of the mean of the time-to-goal for our lookahead planner and the one-step local method, for the velocity range considered.
Figure 24(a) and (b) plot a scenario for one of the simulations designed, where the robot behavior using both methods to move around the obstacles is also shown. As can be seen, our method makes the robot to pass between both obstacles, whereas the one-step approach computes a longer trajectory due to the implicit reactivity of the local planning. As a consequence, the time-to-goal and the trajectory length are reduced (Figure 24(c) and (d)).

Trajectories followed by the robot reasoning within DOVS visibility (a) and one-step visibility (b). Profiles of linear (c) and angular (d) velocities during navigation. Looking further ahead at a single instant (DOVS) provides shorter and lower time-to-goal trajectories than using the theoretical time-optimal control to the goal at every sampling time (one-step approach).
Figure 25 describes several steps of the simulation for both methods. DOVS lookahead plans long-term manoeuvres in the velocity free space, which permits to find safe commands when re-planning every sampling time to move between both obstacles, unlike one-step planner that only re-plans locally to follow a theoretical time-optimal trajectory towards the goal in the free space.

(a)–(e) One-step local planner: the velocity which would drive the robot to the goal applying time-optimal commands from the current position–velocity in free space (mapped
7.3. Real-world experiments
The first scenario corresponds to the kind of scenarios shown in the simulations with obstacles moving randomly in all directions. The second is a more structured scenario, an overtaking manoeuvre. Extension 2 contains a video of the experiments.
7.3.1. Experimental setup
The navigation strategies have been tested on three Pioneer robots. These are differential-drive robots equipped with a 2D laser rangefinder Sick LMS-200 and on-board Intel Centrino duo at
The work presented in Prassler et al. (2001) developed a navigation system on a wheelchair equipped with sensors. The authors represent the space occupied at instant
7.3.2. Experiment 1
Figure 26(a) depicts the hall-like scenario, with robot and object trajectories, not previously known. Figure 26(b)–(d) shows the velocity profiles and the strategies. ObstacleFree, AvoidingObject, and PassingBefore are the most frequent situations, allowing to maintain the maximum linear velocity. Figure 27 illustrates several steps of the experiment.

Hall scenario: (a) trajectory of the robot (green) and environment perceived in experiment 1, with static and moving objects; (b) linear velocity profile; (c) angular velocity profile; (d) situations.

Experiment 1 in the hall (
7.3.3. Experiment 2
Figures 28(a) and 29 show an overtaking manoeuvre in a narrow corridor. Before overtaking obstacle 1, the robot slows down until obstacle 2 passes. When the manoeuvre is initiated, the maximum velocity is maintained until the end (Figure 28(b)). ObstacleFree, AvoidingObject, and SlowingDown are the situations that occur the most. The latter makes the robot reduce the velocity before starting the overtaking manoeuvre.

Overtaking scenario: (a) trajectory of the robot (green) and environment perceived in experiment 2, (b) linear velocity profile, (c) angular velocity profile, and (d) situations.

Experiment 2 in the Overtaking scenario. The robot has to slow down before overtaking obstacle
8. Conclusions
A robocentric technique for planning and navigation in dynamic environments has been developed. The DOVS model defined for mapping the dynamics of the environment allows the planning of safe motions within a space horizon, for instance the range of visibility of the onboard sensors. Several situations depending on the decision variables are identified applying specific actions associated to them, which implement the
From the lessons learned, some improvements are being considered for future work. Using directly the DOV obstacles without merging them would make the processing more complex but enlarge the set of free and safe velocities to be selected to manoeuvre. Blocking situations appearing in closed scenarios or with many static obstacles could be reduced achieving a different treatment for those static obstacles, by prioritizing free and safe velocities that move the robot away from them. In the context of a multi-agent scenario in which several mobile robots can make decisions, a future work will be focused on the extension of the model and development of planning techniques to share the decision-making process among several robots to obtain mutually optimized plans.
Footnotes
Appendix A: Index to multimedia extensions
Archives of IJRR multimedia extensions published prior to 2014 can be found at http://www.ijrr.org, after 2014 all videos are available on the IJRR YouTube channel at http://www.youtube.com/user/ijrrmultimedia
Simulations to show the navigation performance of the robot in several scenarios and conditions.
Real experiments in two scenarios: a hall-like scenario, and an overtaking-like manoeuvre.
Appendix B: Computation of the robotcollision velocities
Appendix C: Computation of time to goal from the current robot location
Trajectories are composed of combinations of straight lines, circular, clothoid, and anti-clothoid curves. The time-to-goal functions (
The switching time for starting angular deceleration is computed when
(a) Time for angular acceleration (
Velocity
These are non integrable equations, so they are solved numerically.
(b) Time at constant angular velocity (
Both the angular and linear velocities
(c) Time at maximum linear acceleration and constant angular velocity (
This stage finishes when the angular position with respect to the goal direction (
(d) Time at maximum linear acceleration (
The stage starts when the robot is aligned (
(e) Time at maximum linear velocity (
With
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was partially supported by project DPI2016-76676-R and project DGA T04-FSE.
