Region with velocity constraints: map information and its usage for safe motion planning of a mobile robot in a public environment

Recently, various autonomous mobile robots have been developed for practical use. To support the coexistence of robots and humans in real environments, we propose a concept named ‘Region with Velocity Constraints (RVC),’ which is set around hazardous areas. RVCs are regions where the velocities of the robot are constrained to predefined values. Inside the RVCs, the robot has to reduce its translational velocity to avoid predicted hazards such as collisions with obstacles, and to reduce its rotational velocity to prevent undesirable motions such as sharp turns. We also propose a motion planning method for navigating the mobile robot in an environment with RVCs based on the Navigation Function and Global Dynamic Window Approach. Our method generates a trajectory satisfying both translational and rotational velocity constraints to be compatible with the surroundings. Moreover, to demonstrate the validity of our method, we performed numerical simulations and experiments.


Introduction
Autonomous mobile robots have been developed for a number of applications such as automated cleaning [1] and automated order fulfillments. [2] Several other studies have also tried to address more fundamental functions such as simultaneous localization and mapping, [3][4][5] motion planning [6][7][8] and obstacle avoidance. [9][10][11] Compared with indoor environments, which have been the focus of research for decades (e.g. [12,13]), robots in real-life outdoor environments have to operate in the presence of unattended surroundings and obstacles such as humans, bicycles, and cars. A key issue pertinent to such environments is to realize the coexistence of robots and their surroundings. Research addressing motion strategies for robots facing real-life environments can be found under the name Human-Robot Interaction (HRI). [14,15] For example, [14] tried to realize social interaction between humans and robots, and [15] aimed to use robots to communicate with people and guide interaction with them. Furthermore, from the viewpoint of motion planning, collision avoidance methods taking into account personal space [16] have been proposed to handle psychological interactions with humans. [17][18][19][20] Despite extensive research into the applications of autonomous mobile robots in real environments, there persist several unsolved problems such as environmental CONTACT  constraints and the impact on humans. This study focuses on two of these problems: (i) avoiding collisions and (ii) predicted mobility, which is quite natural and does not cause inconvenience to surrounding humans. The first problem arises because of the potential presence of various hazardous regions in the real environment such as steps, ponds, slopes, narrow roads, and rough roads. Moreover, because the real environment is dynamic and can have many unpredictable obstacles such as humans and bicycles, the risk of collisions with such obstacles is high. Hence, it is difficult to judge from the equipped sensory data in the real environment whether the robot is safe to move at a certain speed or whether it needs to decelerate. Therefore, autonomous mobile robots should constrain their translational velocity for the safe avoidance of collisions.
The second problem is related to the presence of humans in real environments. Humans can walk and move around autonomous robots, and their walking is by various factors that exist around them. [21] They also have a sense of personal space and feel discomfort when their space is infringed by unknown other people. [22] Hence, an autonomous mobile robot should not impede walking humans or invade their personal space through unpredictable movements such as taking a sharp turn.
To solve the above-mentioned problems, we propose a concept named Region with Velocity Constraint (RVC) that imposes constraints on both translational and rotational velocity. The RVC is a region where the translational and rotational velocities of robots are forced to satisfy pre-determined admissible values. RVCs are set around hazardous regions where the robot has a high probability of a movement with a sharp turn or a collision with obstacles. Moreover, RVCs can also be set as regions where the robot cannot pass through. If the robot plans trajectories according to the registered translational velocity of the RVCs, the risk of collision within RVCs can be reduced. In addition, through the registered rotational velocity constraint of RVCs, the generated trajectories can eliminate sharp turns while inside the RVCs.
We also propose a motion planning method to navigate a mobile robot in an environment including RVCs, in which both the translational and rotational velocity constraints are clearly satisfied. Note that the concept of RVC was originally proposed in our previous work. [23] This study generalizes the concept so that the rotational velocity constraints are also considered to prevent undesirable motions such as sharp turns. Furthermore, we evaluate the method through numerical simulation and validate the result experimentally.
The paper is organized as follows: Section 2 reviews the related work and highlights the contribution of this paper. Section 3 describes in brief the concept of RVC and clarifies the control problem of navigating a robot in real environment. Sections 4 and 5 delineate the motion generation method. Section 6 shows numerical examples to validate the proposed method. After implementing the method on our mobile robot, we present the results in Section 7. Section 8, the final section, contains the conclusion and lays out the direction of our future research.

Related work and contribution
In this section, we provide an overview and compare related work, and clarify the contribution of this study.

Related work
The concept of velocity constraints, similar to RVC, that improves the safety of an autonomous robot, can be found in the literature. [24,25] Karumanchi and Iagnemma [24,25] proposed a method that constrains the robot velocity based on the classification of the environment to deal with multiple environments. This method defines hard and soft hazards for the off-road navigation of a mobile robot: Hard hazards are interpreted as problematic obstacles such as ponds, while soft hazards are environmental conditions that impose additional differential constraints to the vehicle beyond the non-holonomic constraints arising from its dynamics. Because soft hazards limit the maximum speed for precise control, the vehicular motion in the soft hazard region becomes safe by satisfying the constraints in a proprioceptive way. However, no explicit motion planning is mentioned.
Several possible candidates exist to realize a motion planner in an environment including RVCs, including those based on the Model Predictive Control (MPC), Rapidly-Exploring Random Tree (RRT), and Global Dynamic Window Approach (GDWA), which are capable of considering state constraints such as velocity constraints. MPC determines the control input on-line by solving a finite horizon open-loop control optimization problem (see e.g. [26,27]). A feature of MPC-based approaches is that they can take into account various inequality constraints in the optimal control problems. Indeed, there are several studies that take into account constraints such as dynamic constraints in the area of the trajectory generation problem of a vehicular robot, including velocity constraints on the vehicle, [28,29] the obstacle avoidance problem, [30,31] and the collision avoidance problem. [32,33] Unlike the velocity constraint of the vehicle itself, to handle the velocity constraints in RVCs, which change according to the robot position, constraints switching is needed. It might be possible to handle such switching constraints by formulating them as Mixed Integer Programming, which represents the switching of the velocity constraints as an inequality constraint including binary variables. [34] Another possible way is to solve the nonlinear optimization problem [35] directly. Either way, it is difficult to apply the MPC scheme to our problem because of its heavy computational load.
Conversely, RRT and GDWA are well-known samplingbased motion planning methods. RRT is a famous path planner in higher dimensional space with lower cost. [36] It builds trees of nodes and edges that correspond to states and small amplitude motions, respectively, and is capable of incorporating kinodynamic constraints. There are several variants of RRT (e.g. [37][38][39][40]). For example, Environments-Guided RRT [37] increases the efficiency of path search, especially in the presence of narrow passages. RRT * [38][39][40] ensures asymptotic optimality and guarantees almost-sure convergence to a globally optimal solution without sacrificing computational efficiency. Karaman [39] adapts an optimization of the non-holonomic system with RRT * , and RRT X [40] improves RRT * to accommodate the dynamic environment and obstacles. GDWA [41] is a real-time trajectory planning method based on a Navigation Function (NF) [42] and a Dynamic Window approach. [43] It is derived directly from the dynamics of the robot, and is specially designed to deal with the constraints imposed by the limited velocities and accelerations of the robot. It consists of two main components, first generating a valid search space, and second selecting an optimal solution in the search space. The search space is restricted to safe trajectories that can be reached within a short-time interval and are free from collisions. The trajectories are evaluated through NF, which is a local-minima free potential function, and an optimal trajectory is selected. Moreover, it guarantees obstacle avoidance and convergence to the target state. [44] If we apply the above-mentioned sampling-based motion planning methods to an environment including RVCs, the following two problems arise: path search inefficiency and constraint violation during region transition. Because the maximum velocity of the robot varies in environments that include RVCs, path search inefficiency occurs. Moreover, because the velocity constraint changes according to the robot position, constraint switching is needed as mentioned above. This might cause constraint violation during region transition. To accommodate these problems, we decided to apply GDWA to our problem, because its NF is able to handle RVCs in the path planning step. Furthermore, we modified the trajectory generation step to ensure the satisfaction of both translational and rotational velocity constraints, even when the region transitions, by considering the posture of the robot.

Contribution
To summarize, the main contribution of this work is that it proposes a motion planning method that consists of: • a NF taking into account the slow-downs required in RVCs, • a trajectory generation mechanism adapted to RVCs. Apart from the above, this research partially contributes to the following two points as well: • Because our proposed method plans trajectories in real-time considering the posture of the robot, it does not slow down conservatively around RVCs.
(The motion planning of [23] is particularly conservative around obstacles.) • The concept of RVC is generalized so that it can handle the translational and rotational velocity constraints independently.

Problem formulation
In this section, we define a RVC in Section 3.1. Then, we formulate the navigation problem in an environment with RVCs in Section 3.2.

Definition of RVC
As mentioned in Section 1, an RVC is a region where the translational and rotational velocities are constrained to predefined velocities considering safety and the impact of people, and are set around hazardous regions.
Definitions of the RVC are described as follows: • Definition 1: An RVC is a region where the maximum translational and rotational velocities of a robot are restricted to predefined admissible values. In Definitions 1 and 2, the RVC's translational velocity constraint is set to avoid collisions or to stop easily, and the RVC's rotational velocity constraint is set to eliminate sharp turns. In Definition 3, the time-varying velocity constraints are acceptable if the derivatives of the velocity constraints satisfy the acceleration constraints. For the sake of simplicity, time-varying RVCs are not considered in this paper. Moreover, to demonstrate the validity of the proposed method, information about RVCs is given in advance.
For examples, as depicted in Figure 1, the steps and of the area near the pond, where the robot is not allowed to enter, are set as RVCs. Rough roads and slopes are also set as RVCs to prevent risks caused by high-speed movements. Furthermore, crossroads, crowded streets, narrow streets, and the area around a gateway are set as RVCs, considering of the impact of people and collision avoidance. Finally, there are many factors to determine appropriate constrained velocities of RVC. For example, the appropriate constrained velocities of a crowded region will be designed considering a space to transit, or a collision probability with predicted trajectories and obstacles. However, since how to determine the constrained velocities is not our target, this paper does not mention about that.

Navigation problems in an environment with RVCs
We considered a skid-steering wheeled mobile robot as the control target whose kinodynamic model is described asẋ  where are the translational and rotational velocities of the robot respectively, and z(t) := (x(t), y(t)) and θ(t) denote the measurable coordinates with respect to the global frame. F and are the force in the movement direction and the moment relating the point-mass robot to the global frame, and m and J are the mass and moment of inertia of the robot, respectively. The maximum value of the translational velocity, rotational velocity, translational acceleration, and rotational acceleration of the robot are defined by v max > 0, ω max > 0, a v max > 0, and a ω max > 0, respectively. Although the above-mentioned concept of RVC can be applied to both holonomic and non-holonomic mobile robots, we only focus on a non-holonomic mobile robot for simplicity of exposition.
In this study, we address the control problem of navigating the robot from the start position to the goal position in an environment including RVCs as depicted in Figure 1. We assume that N rvc RVCs exist in the environment, and define the jth RVC as R vc j (j = 1, 2, . . . , N rvc ). , and the right one illustrates the kth obstacle (Oad k ). The regions surrounded by L j max on the xy plane shows the jth AD region (Rvc j ) and the kth obstacle (Oad k ). Because the obstacles are also represented as the RVCs with the velocity constraints 0 (m/s) and 0 (rad/s), the AD regions of the obstacles become much larger than those of the RVCs (v j max > 0, ω j max > 0). The shaded areas of all objects show the AD regions defined in (6), and indicate that the constrained velocity will be violated, even though the robot decelerates with maximum deceleration. Let and ω j max (ω j max ≤ ω max ) be the admissible translational and rotational velocity of the jth RVC, respectively. Specifically, we define obstacles and no trespassing areas such as the steps and around the pond, where v k max = 0 and ω k max = 0 should be imposed, as the kth obstacle region, and define as O bs k (k = 1, 2, . . . , N obs ≤ N rvc ).
To summarize, the control objective is to achieve Equation (2) while satisfying the constraints in (3).
In this paper, we propose a new motion planning method that achieves the above control objectives. The proposed motion planning method can be divided into two steps: the first step is the path planning method presented in Section 4; and the second step is the trajectory generation method presented in Section 5.

Path planning in an environment with RVCs
The path planning is based on NF, [42] which is a gridbased local minima-free artificial potential function computed using a wave-propagation technique starting at the reference position.
The outline to generate the NF is as follows. First, construct the grid map, representing free-space as '0' and obstacles as '1' (e.g. from Figure 2(a) to (b)). We define a cell as (i, j) based on its row and column indices, and define the goal cell including the reference position as (i g , j g ). Next, calculate the distance between the centroid of the cell z ij := (x i , y j ) and the centroid of the goal cell z i g j g := (x i g , y j g ). This distance is stored in each cell (i, j). In general, the distance between the cells is calculated by the Manhattan Distance M ij as follows: where a cell (i , j ) denotes one of the four neighboring is an obstacle cell, a value much larger than the possible values of M ij is stored. The map with the distance in (4) is called the NF (e.g. Figure 2(c)). The shortest path to the reference position can be obtained by only moving toward a cell that has a smaller value. However, it is not reasonable to use the standard NF for a navigation problem including RVCs, because only the distances between cells are used to evaluate the path. To handle the velocity constraint of each RVC in the path planning, we modify the NF so that the stored value in each cell represents the time required to move (i.e. the information based on the admissible velocity). That is, we change the criteria M ij for evaluating paths to N ij , the time required to move from cell (i, j) to cell (i g , j g ).
Similarly, we outline how to generate the proposed NF as follows. First, store the information about the velocity constraints of the corresponding RVC to each cell. We define the stored translational velocity constraint in cell (i, j) as v ij max , and in cell (i , j ) as v i j max . As depicted in the left side of Figure 2(d), we define the time required to move from z ij to z i j , in the case that both cell If either cell is an RVC, the required time to move is calculated by 1 For example, as shown the right side of Figure 2(d), if both cells are an RVC of the same translational velocity constraint of v ij max = 0.5v max , the required time to move in each cell is 1 2 v max v ijmax = 1. Therefore, the total required time of two RVC cells is N ij = 2. In the same manner, the total required time between a free-cell and an RVC cell is v ij max = 0.5v max is N ij = 1.5. Finally, the shortest path to the goal can be obtained by moving toward a smaller value. To summarize, the time N ij required to move between cell (i, j) and cell (i g , j g ) can be written as follows: : otherwise: (5) As described in the Equation (5), the path planning takes into account only translational velocity constraints for simplicity. Figure 3 shows an example of path planning. Compared with the path planned by the standard method and the proposed method, we see that the path in Figure 3(b) goes through Region 2, whereas the one in Figure 3(a) goes through Region 1. Therefore, RVCs are correctly taken into account during path planning. Note that the proposed method can plan a path converging to the reference position without getting stuck in local minima because the procedure is the same as the standard one.

Trajectory generation in an environment with RVCs
The trajectory generation is based on the method called the GDWA, which is a trajectory generation method for obstacle avoidance. [41,44] First, we briefly introduce GDWA in Section 5.1, then propose the trajectory generation method in Section 5.2.

Outline of the standard Dynamic Window Approach
The GDWA uses the NF in (4) to avoid local minima. The outline of the standard GDWA can be summarized as follows. First, make k tuples (a v , a ω ) of translational acceleration |a v | ≤ a v max and rotational acceleration |a ω | ≤ a ω max discretely. Then, select one of the tuples, and predict the translational velocity v(t + t) and rotational velocity ω(t + t) at t + t (s) based on the selected tuple (a v , a ω ). The future position z(t + t) and posture θ(t + t) of the robot is then predicted based on the kinodynamics in (1). By iterating the above procedure for each tuple, the GDWA predicts the trajectories over the evaluation time T(s)( ≥ t). The predicted velocities may violate the constraints, v ∈ [0, v max ] and ω ∈ [−ω max , ω max ], because a v and a ω are fixed over the time interval T(s). If this is the case, change the acceleration in tuple (a v , a ω ) to 0 m/s 2 or 0 rad/s 2 so that the predicted velocity satisfies the above constraint, and predict the trajectory again using the modified tuple. The predicted trajectories are evaluated based on the cost function .
Predict a position z(t + i t) using the kinodynamic model (1) with the predicted velocities. 8: : end for 10: Evaluate the predicted trajectory using a cost function .

11: end for
12: end for 13: Determine candidates of suboptimal trajectory based on each cost. 14: Update the time as t = t + T.

15: end while
Finally, one of the trajectories maximizing is selected as an optimal one. Note that because a trajectory of only a short-time interval T(s) is generated, the GDWA obtains a trajectory from the initial point to the goal point by iterating the above procedure until it converges to the reference position.

Trajectory generation considering RVCs
Next, we propose a trajectory generation method considering RVCs. In contrast to the standard GDWA, it is necessary to consider the velocity constraints of each RVC to generate a trajectory in an environment with RVCs. To handle velocity constraints, we extended the standard GDWA as is summarized in Algorithm 1. The contribution of this study is found in line 8 (i.e. Algorithm 2) of Algorithm 1, while the other lines are almost the same as those in the standard GDWA. Let Acceleration/Deceleration(AD) region be a region where Algorithm 2 Consider_RVC (Predicted positions z(τ ),z(τ + t) and velocities (v(τ + t), ω(τ + t)) ) 1: Set a tuple of admissible velocities (v, ω) ← (v max , ω max ) and calculate (7). 2: for j = 1 to N rvc do 3: if z(τ + t) ∈ R vc j then
13: end if 14: return altered position z(τ + t) and velocities (v(τ + t), ω(τ + t)) the robot has to decelerate enough outside of the RVCs so as to satisfy the velocity constraints. [23] Algorithm 2 comprises the following three steps.
Step 1: Preliminary check for constraint violations with an RVC and an AD region.
Step 2: Derive admissible velocities for an AD region.
Step 3: Determine minimum admissible velocities and plan new admissible trajectories, if velocity constraints are violated.
In the following, we explain the proposed method according to the above three steps, and then explain the details of the algorithm.

Step 1: Preliminary check for constraint violations
In Step 1, if the predicted position is inside the RVC, it is obvious that the predicted position has to satisfy the velocity constraints of the RVC. However, if the predicted position is outside the RVC, we introduce an AD region so as to satisfy the velocity constraints. As depicted in Figure 4, the jth AD region (R ad j ) is designed with a translational velocity constraint by considering the relative distance, and is the area surrounding the jth RVC by Specifically, L j max := L j (v max ) denotes the minimum distance at v = v max , and the region surrounded by L j max is defined as the jth AD region (Rad j ). The AD region indicates the maximum region where it is possible for a predicted trajectory to violate the velocity constraints. Thus, if the trajectory is outside of the AD region, then the trajectory never violates the velocity constraints. However, since L j max is the sufficient condition, it is impossible to check for a constraint violation inside the AD region. Therefore, we derive the exact admissible velocities depending on the relative distance between the robot and the RVC to check whether or not the trajectory will violate the velocity constraints.

Step 2: Admissible velocities for an AD region
To derive the exact admissible velocities, first we define the relative distance between the robot and the RVC by introducing the curve generated using predicted velocities. More precisely, if ω(τ + t) = 0 as shown in Figure  5, a curve line generated by extending along the predicted trajectory under the assumption that the robot keeps the predicted velocities v(τ + t) and ω(τ + t) within the jth RVC. The path length along the curve is defined as j (τ + t), and is used as the minimum distance to the jth RVC. The curvature radius r(τ + t) of the trajectory and the curvature center O c := (x c (τ + t), y c (τ + t)), which are used to extend along the predicted trajectory, are defined as follows: where z(τ + t) := (x(τ + t), y(τ + t)) and θ(τ + t) are the predicted position and posture, and v(τ + t) and  + t), ω(τ + t)), are calculated using the parameter tuples(a v , a ω ) after t (s). The robot calculates admissible velocities using the path length j from point C to point B, which is the predicted point after t (s).
Here, point C is the intersection of the extended path and the border line of the jth RVC with a curvature radius r(τ + t) relating the translational and rotational velocities. If either of the predicted velocities violates either admissible velocity, the robot recalculates the states maintaining the curvature radius r(τ + t) which a center is O c . Point D indicates the altered position in where the admissible velocity constraints are clearly satisfied. ω(τ + t) are the predicted translational and rotational velocities.
In the case of ω(τ + t) = 0, the path length can be derived according to the procedure depicted in Figure 5. Suppose the robot predicts a trajectory at point A at t = τ , and point B is a predicted point with the predicted velocities at t = τ + t (s). Further, suppose that point B is inside the AD region of the jth RVC, and the robot calculates the path length j (τ + t). In this case, the path length is calculated by the Equation (7) and the intersection C on the boundary line of the RVC. According to the derived path length, a tuple of admissible velocities can be derived as + t)) := W( j (τ + t))r(τ + t) (8) where V ( j (τ + t)), W( j (τ + t)) are the admissible translational and rotational velocities, and r j := v j max / | ω j max | is the reference curvature radius calculated by the maximum velocities of the jth RVC.  (8), it is possible to judge whether a trajectory requires deceleration, even inside the AD region. Note that if the jth RVC is an obstacle, then r j := v max / | ω max |.
The above procedure can be derived for the case where v = 0 and ω = 0 in the same manner. In the case of v = 0, since the motion of the robot becomes a pivot turn, V ( j (τ + t)) = v max and W( j (τ + t)) = ω max are available. Similarly, in the case of ω = 0, since a trajectory extended along velocities becomes a line, the path length is the straight-line distance from the robot to the RVC. With a straight-line distance, the admissible velocities of these cases are V ( j (τ + t)). The judgment condition of these cases is the translational velocity V ( j (τ + t)) of Case I in (8).

Step 3: Replanning of minimum admissible velocities and trajectories
The admissible velocity for the predicted position with each RVC and AD region can be derived according to Step 1 and Step 2. By repeating Step 1 and Step 2 for every RVC and AD region and choosing the minimum velocities, the minimum admissible velocities (v, ω) are calculated. Comparing (v, ω) with the predicted velocities (v(τ + t), ω(τ + t)), if either constraint is violated, then the robot calculates a new acceleration and new predicted velocities defined as 9) where sgn(ω) is a signum function. As defined in Equation (9), the admissible velocities are used to obtain new accelerations and velocities while maintaining the curvature radius. Then, the admissible predicted trajectory is also recomputed. In the case depicted in Figure 5: if the robot is at point D, then the path length will become longer than the path length at point B. As a result, the robot can enter the RVC while clearly satisfying its velocity constraints.

Overall algorithm
Finally, we explain the details of the proposed method according to Algorithm 2. A tuple of the minimum admissible velocities (v, ω) is set to the maximum velocities, and the curvature radius is calculates via Equation (7) (line 1). Then, the predicted position is judged in terms of whether it belongs to either an RVC or an AD region. If the predicted position is in an RVC, the tuple of the minimum admissible velocities is updated according to Algorithm 3 (line 5). However, if the predicted position is inside an AD region, a path length j (τ + t) is computed. After that, a tuple of admissible velocities for the AD region is also computed using Equation (8)  (line 7). Then, the minimum admissible velocities are updated according to Algorithm 3 (line 8). The above procedure is repeated for every RVC and AD region, and the minimum admissible velocities are derived (line 2-10). If the predicted velocities violate any of the velocities in the tuple of the minimum admissible velocities, a new acceleration is computed through Equation (9). After this, the predicted velocities and position are recomputed (line 12). Finally, the altered position z(τ + t) and velocities (v(τ + t), ω(τ + t)) are returned (line 14). Note that the objective function in our method is := NF, which is a function that indicates how much motion is expected to reduce the value of NF during the next sampling time.

Numerical examples
To evaluate the effectiveness of the proposed method, we carried out some numerical simulations. First, we carried out simulations to demonstrate the basic properties of our method with the illustrative examples in Section 6.1. Then, we also carried out simulations with randomly generated maps to demonstrate the feasibility and time cost of the proposed method in Section 6.2. Note that values for the parameters used in all numerical examples are listed in Table 1, and the tuples (a v , a ω ) are made from equably discretized accelerations. The algorithm was implemented using Matlab R2012b on a personal computer (Windows 7 64 bit, CPU: Core i7 2.8 GHz and RAM 16 GB).   Case v 1 max m/s ω 1 max rad/s v 2 max m/s ω 2 max rad/s

Numerical examples with the illustrative map
First, we show four numerical examples with different RVC configurations as described in Table 2. The map used in the simulations has a size of 2.5 m × 4.5 m (i.e. 5 cell × 9 cell) including two known obstacles and two RVCs as shown in Figure 6(a). Throughout the simulations, we found that the obtained trajectory converges to the reference position even when taking into account the RVCs and when the velocity constraints are satisfied. We can also see that the obtained trajectories are different from each other because of the velocity constraints of the RVCs. Furthermore, since the proposed method considers the posture of the robot, the generated trajectory passes near obstacles without collision, as can be seen from Figures 6-9.
Comparing cases 1 and 2, which have RVCs with constraints only on the translational velocity, we see that the time required to reach the goal position in case 2 is shorter than that in case 1. It is obvious from the settings that the translational velocities of the 2nd RVC of case 1 and case 2 are constrained to 50% and 80% of each maximum value, respectively. However, as can be seen from Figure  6, a sharp turn motion occurs in the 1st RVC between 2 and 4 s. Although sharp turn motions should be prevented, motion planning without a rotational velocity  constraint might still cause a trajectory with a sharp turn in the RVCs. Moreover, comparing cases 3 and 4, which have two RVCs with both translational velocity and rotational velocity constraints, the selected trajectories in Figures 8 and 9 have no sharp turns, whereas those in

Numerical examples with randomly generated maps
To demonstrate the feasibility and computational time of the proposed method from a statistical perspective, simulations were performed consisting of 200 maps, each having a different configuration of 100 obstacles and 100 RVCs. The start position was located at the left bottom side of the map and the goal position was located at the top right side. The translational and rotational velocity constraints of each RVC were each set as 50% of the maximum values. Figure 10 shows examples of the simulation results using the proposed method. As a result, trajectories could reach the reference position without getting trapped into local minima in all cases. Moreover, the velocity constraints are also satisfied clearly, but we omit the details of these owing to space limitations. In the case of conventional motion planning methods in related work, which select a distant path from the obstacle region for optimal and safe motion planning, the generated trajectory tends to be longer and with a short radius of curvature. In contrast to such methods, the trajectory using the proposed method is smooth, as shown in Figure 10. In other words, because the proposed motion planning method generates trajectories considering the posture of the robot to enter the RVC, the method selects a trajectory without changing the curvature radius as much as possible. Furthermore, the computation time during one evaluation time T was about 0.01 s, and the total computation time was about 220 s.

Experiments
Experiments were conducted to demonstrate the effectiveness of the proposed motion planning method. Figure 11 is a photo of the developed autonomous mobile robot. This robot was developed based on RMP200 (Segway inc.) and is equipped with a GPS, a fiber optic gyro sensor, encoders, and three laser range scanners. In the experiments, only one laser range scanner (UTM-30LX, HOKUYO AUTOMATIC CO., LTD.) located at the bottom was used for obstacle avoidance, and GPS was not available because of the satellite conditions. The robot is capable of traveling about 500 m according to gyroodometry [45] using the installed fiber optic gyro sensor (HOFG-OLC, HITACHI Cable Ltd.) with a position error of less than 2 m (accurate enough for the experiments in this study). [46] To apply the proposed motion planning method, we extended the algorithm so as to allow unknown obstacle avoidance to be solved in real-time (Appendix 1). Values of the parameters used in all experiments are listed in Table 3, and the algorithm described in Appendix 1 was implemented with OpenRTM-aist [47] on a personal computer (Ubuntu 12.10, CPU: Core i7 2.4GHz and RAM 8GB).

Experiments in the indoor environment
To evaluate the proposed method with an extension for real-time operation and unknown obstacle avoidance, we carried out three kinds of experiments including one RVC with different configurations as in Table 4 and two unknown obstacles. The experimental environment was a straight line hallway whose length was almost 20 m from the start point to the goal point. One RVC was set in the middle of the environment as shown in Figure 12(a) and two unknown obstacles were located in the RVC as in Figure 12(b). Figure 13 shows the experimental results of cases 1, 2, and 3. As can be seen from Figure 13, the robot avoided collisions with the two unknown obstacles in all cases, and could reach the goal. Furthermore, the translational and rotational velocity constraints were satisfied in all cases.
Focusing on case 2, the robot tried to avoid the obstacle by making a short curve around 11-13 m. In other words, the robot had no choice but to turn sharply for collision avoidance because of the constraints on the translational velocity in case 2. However, in cases 1 and 3, the robot prevents sharp turns during motion planning, and the trajectories became a similar pattern. Therefore, as mentioned in Section 6, if the translational velocity is constrained, then the rotational velocity should also be constrained at the same time to eliminate the predicted trajectory of the sharp turn.

Experiments in the outdoor environment
The experiments were carried out around the C3 building in Kyoto University as shown in Figure 14. Figure 14(a) shows the satellite photo of the experimental environment and the red arrows show the reference path of the robot (almost 500 m). We set three RVCs in the environment as shown in Figure 14(b), because the first and third RVCs were the crossroads, and the second one was the corner where the robot might collide with unknown obstacles appearing suddenly. The translational and rotational velocity constraints in each RVC were set as 50% of the maximum values. The start and goal points were set at (x start , y start ) = (0 m, 0 m) and (x goal , y goal ) = (52 m, 7 m), respectively.
The experiments were performed seven times, and Figures 15 and 16 show the experimental results. Figure  15 shows the trajectory estimated by gyroodometry, and Figure 16 shows the time response of the translational and rotational velocities. In Figure 15, the solid line shows the trajectory of the robot estimated by gyroodometry, the x marks indicate waypoints, the three colored squares are the RVCs, and the square of the final waypoint is the goal region. In Figure 16, the solid lines show the selected velocities, and the dashed lines shows the admissible velocities. From Figure 15, we see that the trajectory was along whole waypoints, and reached the final goal. Despite some unknown obstacles existing in the environment during the experiments, the resulting trajectory was not affected. In all the experiments, the translational and rotational velocity constraints were satisfied as shown in Figure 16.

Conclusions
We have proposed the concept of named regions with velocity constraints, which aims to realize safe autonomous locomotion in a public environment, including in the presence of people. The proposed RVC constrains the translational and rotational velocities of a robot; the translational velocity constraint is to achieve safe and reliable collision avoidance, and the rotational velocity constraint is to eliminate sharp turns, considering the impact of humans.
We have also proposed a motion planning method for a robot in an environment with RVCs, in which the translational and rotational velocities of the robot are constrained to predefined values while inside RVCs. One of the advantages of the proposed method is that it reduces the sharp turn motions that affect humans around the robot by introducing a curvature condition. We have also verified the proposed method via some numerical examples. Furthermore, we applied the algorithm with extensions for unknown obstacle avoidance and realtime operation to a real mobile robot, and showed the effectiveness of our method in experiments. From the results, we confirmed that our method works well even with unknown obstacles.
In future work, we would like to derive appropriate constraints depending on the environment automatically. Furthermore, we would like to realize the motion planner based on RRT * , [48] which introduces gradientbased optimization to increase the global optimality, and increase computational efficiency.

Disclosure statement
No potential conflict of interest was reported by the authors.