Partial Center of Area Method Used for Reactive ... - Springer Link

Report 5 Downloads 37 Views
Partial Center of Area Method Used for Reactive Autonomous Robot Navigation ´ Jos´e Ram´on Alvarez-S´ anchez, F´elix de la Paz L´opez, Jos´e Manuel Cuadra Troncoso, and Jos´e Ignacio Rosado S´ anchez Dpto. de Inteligencia Artificial - UNED - Madrid, Spain {jras,delapaz,jmcuadra}@dia.uned.es, [email protected]

Abstract. A new method for reactive autonomous robot navigation using the center of area of detected free space around the robot is described. The proposed method uses only part of detected free space in front of the robot to compute a partial center of area. It is then used to guide the robot in a path suitable for smooth and robust wandering in complex environments. A simple modification in the algorithm can make it useful for obstacle avoidance in reaching a stimulus goal. The proposed method is used in some examples of simulated experiments on map navigation and wandering and it is compared with standard wandering using Aria library from MobileRobots. Also some experiments in obstacle avoidance navigation to reach a stimulus goal are shown in different maps.

1

Introduction

In previous works the center of area of free space around an autonomous robot was used to control the robot movements [1,6,2]. Those methods used the center of area position as attraction or repulsion point alternatively by using different behavior modes in the robot control. The invariance properties of the center of area are very interesting for map navigation, but they require the use of high level control with topographical maps built during movement [5]. The aggregation nature of center of area makes difficult to use it as the only guide for movement through some complex environments. In the present work only a part of the detected free space around the robot is used to compute a partial center of area for space representation. This partial center of area can be used to guide the robot in an efficient wandering inside unknown and complex environments, and also as base for obstacle avoidance in goal attractor stimulus movement, in both cases using only reactive information from the sensors, and including some difficult situations for potential methods [7]. Section 2 describes our proposed method. First, we define the accessible center of area from a partial representation of detected free space and then how it is used to drive the robot in map wandering. In section 3, we show some examples of simulated experiments on reactive map navigation and wandering using our proposed method. It is compared with standard wandering using Aria library J. Mira et al. (Eds.): IWINAC 2009, Part II, LNCS 5602, pp. 408–418, 2009. c Springer-Verlag Berlin Heidelberg 2009 

Partial Center of Area Method

409

from MobileRobots. Also, some experiments in obstacle avoidance navigation to reach a stimulus goal are shown in different maps. The proposed method is naturally well suited for wandering, but with a simple modification in the algorithm, it can be used for obstacle avoidance in reaching a stimulus goal.

2

Method Description

The model of robot used in this work has a set of range sensors distributed radially around the robot in one plane. The angular distribution of sensors does not need to be uniform, but it must cover all directions. This is the usual distribution in real robots like Nomad-200 and Pioneer-3AT. The sensors have a very narrow field of detection. A coordinate system centered in the robot, called local coordinates, is used. The forward advance direction of the robot is considered the X axis of the coordinate system. It is also the direction with angle 0 in polar coordinates. The proposed method have two parts, one finds the accessible partial center of area for the robot and the other compute the required actions to follow that center of area. To represent the detected free space around the robot, we will use a polygon, called Pd , where each vertex correspond to a direct measurement of a range sensor from the robot. In the method we will use other polygons derived from Pd by transforming the vertices with functions that can depend on the distance of the vertex to the robot. The main functions used to transform polygons will be scaling and range limitation. 2.1

Accessible Center of Area

The partial area of free space around the robot will be represented by a subset of contiguous vertices of a polygon, called p-sector. A p-sector is defined by initial and final angles of a circular sector that contains the vertices from a given polygon that form the p-sector. We represent it as, for example, p-sector(Pd , −α/2, α/2) for a frontal symmetric sector of width α from the direct measurements polygon. The vertices from a polygon included in a p-sector are taken from the initial angle proceeding sequentially counter-clockwise to the final angle (it could require angle renormalization). For a given p-sector we can compute its center of area, as it is a part of a polygon we can consider the triangles formed by each pair of consecutive vertices and the origin of coordinates (center of the robot). So for the subset of n ordered vertices with coordinates (xj , yj ) included in a p-sector S = p-sector(P, r, l) from the polygon P between angles r and l, the center of area coordinates are xSCA = ySCA =

1 6A

1 6A

n−1  j=1 n−1  j=1

(xj yj+1 − xj+1 yj ) (xj + xj+1 )f (xj , yj , xj+1 , yj+1 ) (1) (xj yj+1 − xj+1 yj ) (yj + yj+1 )f (xj , yj , xj+1 , yj+1 )

410

´ J.R. Alvarez-S´ anchez et al.

where A =

1 2

n−1 

(xj yj+1 − xj+1 yj )f (xj , yj , xj+1 , yj+1 ) is the area of the p-sector

j=1

and f is the area density function. The area density function can be useful to model the relative importance of free space zones near the robot respect to far ones, but usually its value is 1. The algorithm for robot movement mainly consists in following the center of area of a p-sector in front of the robot while it is accessible. A point c (usually the center of area of a p-sector) is said to be accessible if a corridor of width w between the robot and the point c is contained inside the polygon Pd , where w is the width of the robot plus a security margin. We call Pk to a restricted (shrunken) polygon of free space obtained from Pd by limiting the distance of each vertex to the origin (the robot) to a fraction k ≤ 1 of the maximum sensor range. The restricted polygon, Pk with k < 1, is used only to compute a temporary virtual center of area when the robot is very near to many obstacles for security reasons. 2.2

Advance p-Sector

Normally the p-sector used to compute the center of area to being followed is S = p-sector(Pk , r, l) where k = 1 (not limited), r = −α/2, l = α/2, and usually with α = π. This corresponds to just the frontal half part of Pd that is updated on each sensor reading cycle and is used as the initial advance p-sector. The advance p-sector can be changed during the robot motion depending on accessibility of the corresponding center of area. When the center of area SCA of p-sector S is not accessible, a new restricted p-sector is selected. The direction, ψ, of the center of area SCA is used as a break line to split the p-sector in two parts, R = p-sector(Pk , r, ψ) and L = p-sector(Pk , ψ, l). Then, the center of area of each part is computed with the formula in equation 1, resulting in RCA and LCA . Select a new advance p-sector (by setting k, r and l): – If both RCA and LCA are accessible then select one of them, R or L, randomly or by external preference (for example, a stimulus direction). – In only one of the partial center of areas, RCA or LCA , is accessible then select that part. – If none of RCA nor LCA are accessible then: • if S was a complete unrestricted p-sector (k = 1, r and l have initial values) then select the same p-sector S but restricted by setting k = ka < 1 (limited vertices). • if S was not complete unrestricted (i.e., it was a result of a previous splitting or a restriction), then, as a last resort, select a new temporary p-sector in opposite direction to center of area, p-sector(Pk , π − β/2, −π + β/2), restricted with k = ka < 1 and wait a small amount of time until the robot turns to head to its center of area.

Partial Center of Area Method

411

While a restricted p-sector is selected and its center of area is accessible, the restrictions are gradually relaxed until the normal values are reached again, that is the limiting factor is increased to 1 and the angle difference between r and l is expanded to α. 2.3

Follow a Center of Area

The second part of the proposed method is to follow the computed center of area from the current advance p-sector. Once selected a center of area to follow in each sensors update cycle, the values of distance d and angle ψ for the center of area are used to guide the robot. Two positive parameters, ψmin and ψmax , are used to decide the movement of the robot. If |ψ| ≥ ψmax then the linear speed of the robot must be null and it must turn its heading toward ψ. If |ψ| ≤ ψmin then the robot must advance toward the center of area at high speed, but limited by the distance d. In the middle case, when ψmin < |ψ| < ψmax the robot must start linear advance at a speed inversely proportional to |ψ| and at the same time turn toward ψ. In all cases the linear speed must be limited to allow stopping within the distance d during one sensors update cycle.

3

Application to Obstacle Avoidance in Wandering and also at Reaching a Stimulus Goal

The method described in section 2 was implemented in Cybersim simulator [3] to check its validity. The simulated robot is similar to a Pioneer-3AT with two independent wheels controlled by speed. The range sensors are modeled as in [4,10] and use a narrow beam of sonar, considering static environment (wshort = 0) without ambient noise nor cross-talking (wrand = 0). The model of robot used in these simulations has 36 range sensors distributed evenly spaced around the robot each 10 degrees, to compensate the narrow beam detection. World elements were simulated with two different models: – Ideal sensors: all obstacles in range are always detected independently of the incidence angle (αhit = 90 and αmax = 90). – Realistic sensors: obstacles are detected depending on beam incidence angle for bounce returning to robot (αhit = 30 and αmax = 60, if beam hits with angle less than 30 degrees obstacle is detected, between 30 and 60 degrees the probability of detection go from 1 to 0 linearly, and for angle greater than 60 degrees it is not detected). In both cases a maximum range of 5 meters was used. The error in the distance measurement has a Gaussian distribution with standard deviation σ = 5 mm, taken from data about real sonar sensors [8] and laser sensors (for 5 meters range) [9] in a Pioneer-3AT. That deviation correspond to ±3σ uniform error.

412

3.1

´ J.R. Alvarez-S´ anchez et al.

Comparison with Aria Library Wandering

The simple wandering using advance center of area described in section 2 is compared to Aria library wandering using a Pioneer-3AT robot, with sonar and laser sensors, simulated with MobilSim software. In MobilSim, the class ArActionGroupWander from the Aria1 open source library from MobileRobots is used. The group of actions is composed by two actions, ArActionAvoidFront with the following parameters: avoidFrontDist = 450 mm, avoidVel = 200 mm/s, avoidTurnAmt = 15◦ , priority = 79; and ArActionConstantVelocity with the following parameters: forwardVel = 500 mm/s, priority = 50. These are the default values, except speed that was changed from 400 to 500. Two kind of maps were used for the test. The first map is an office or domestic type distribution of obstacles with right angled walls, doors and some furniture. Figure 1 shows two samples of wandering using the partial center of area method from two different starting points simulated in CyberSim. The dashed arc represent the maximum sensor range of 5 meters at the starting point. The results show that the wanderings cover with smooth trajectories all the reachable regions (rooms) in the map. On the other hand, figure 2 shows the two samples of wandering using the Aria library with MobilSim from the same two starting points as in the previous case. These results show that the wanderings only cover some parts of the reachable regions, depending on the starting point, and that the trajectories have sharp curves. In both cases the experiments ran during 30 minutes.

Fig. 1. Tracks for wanderings using the frontal center of area method recorded in an office or domestic map starting from two different points in the map

1

See web page http://robots.mobilerobots.com/ARIA/.

Partial Center of Area Method

413

Fig. 2. Tracks for wanderings using the Aria library (MobilSim) recorded in an office or domestic map starting from two different points in the map

(a) Frontal center of area method.

(b) Aria library wandering method.

Fig. 3. Comparison of wandering in a closed circuit type map

The other type of map used for the test is a closed circuit with few obstacles. The total length of the circuit is around 81 meters. Figure 3a shows track for wandering using the frontal center area method simulated using CyberSim in the circuit map. In this case the trajectory is smooth and it covers all the alternative paths. On the other hand, figure 3b shows the same test with Aria library using MobilSim with a sharp trajectory always near a wall and that cannot pass through the narrow corridor part. As in previous case the dashed arc in the figures show the 5 meters sensor range at starting point, and also the duration of each experiment was 30 minutes. 3.2

Simple Obstacle Avoidance to Reach a Stimulus Goal

The model of robot used in these simulations has 36 range sensors distributed evenly spaced around the robot each 10 degrees, to compensate the narrow beam

414

´ J.R. Alvarez-S´ anchez et al.

(a)

(b)

(c)

(d)

Fig. 4. Obstacle avoidance with stimulus goal at different distances from a ball object. a) and b) the size of the ball is 4 meters. c) and d) the size of the ball is 2 meters. In all cases the continuous line shows the robot trajectory to the stimulus (cross) and the dashed line is a quasi-optimum trajectory around the obstacle.

(a)

(b)

(c)

(d)

Fig. 5. Obstacle avoidance with stimulus goal at different distances from a concave object. a) and b) C-shaped obstacle, 5.375 m width and 2.058 m depth. c) and d) Ushaped obstacle, 3.7 m width and 4.5 m depth. In all cases the continuous line shows the robot trajectory to the stimulus (cross) and the dashed line is a quasi-optimum trajectory around the obstacle.

detection. The robot receives a (sound) stimulus approximate direction from the goal. It is supposed that the stimulus is not affected by the obstacles due to the emitter/detector arrangement (above obstacles) but it is not perfect, giving only a rough direction of the goal. The direction of stimulus is used in the algorithm, described in section 2, as a preferred orientation to select a part in the p-sector splitting in case of center of area not accessible. Also, to ensure the reaching of the stimulus goal, the algorithm was modified to insert virtual obstacles into polygon Pd whenever the heading of the robot deviates from direction of the stimulus and the p-sector is not restricted, thus forcing a splitting in the p-sector to select a new restricted p-sector towards the stimulus.

Partial Center of Area Method

415

The first set of experiments were run with ball shaped obstacles of different sizes and with stimulus goal at different distances in the opposite side of the obstacle from the starting position of robot. Figure 4 shows four cases of obstacle avoidance around a ball. In all cases the trajectory followed by the robot using the frontal center of area method were very near the quasi-optimal trajectory. The second set of experiments with single obstacle were run with concave obstacles (C-shaped and U-shaped) also of different sizes and with stimulus goal at different distances in the opposite side of the obstacle from the starting position of robot. Figure 5 shows four cases of obstacle avoidance around a concave obstacles. In all cases the trajectory followed by the robot using the frontal center of area method were near the quasi-optimal trajectory. This type of concave obstacles is the usual local minimum trap for reactive obstacle avoidance methods, but as show here the frontal center of area method (only reactive) can avoid the trap. 3.3

Complex Obstacle Avoidance to Reach a Stimulus Goal

Although the proposed method (with the modification explained in previous subsection 3.2) is only a pure reactive method, with no record on the previous path, designed mainly for wandering, we can try using it to reach a stimulus goal in a more complex unstructured environment with multiple paths. In previous experiments there were not much difference using ideal sensors or realistic ones, but in this case we will compare both types of sensor simulation. The experiments were run both with ideal sensors and with realistic sensors for the same stimulus goal position, but with 4 different starting points and 4 orientations (0, 90, 180 and 270 degrees), and also repeated 3 times for each combination of initial position giving a total of 96 experiments. The size of robot is 55 cm and it can reach a maximum speed of 63 cm/s. For each starting point the optimum path length were: 23.527 m, 23.166 m, 21.979 m and 11.897 m respectively. The relation of robot path length to the optimum is used in each case as performance measurement. Same samples of good performance paths and bad ones (from two of the starting points) are shown for ideal sensors in figure 6 and for realistic ones in figure 7, where a dashed arc represents the maximum sensor range from the starting point. In experiments using ideal sensors the statistical performance results were: minimum 1.0299, maximum 1.5619, mean 1.2105, median 1.1721 and sample standard deviation 0.1396. In figure 8a it can be seen that in 83.33% cases the length increasing is less than 30%. Statistical results for mean velocity of each experiment path (see figure 8c) have mean value 26.3016 cm/s and sample standard deviation 4.2338 cm/s. Similarly, in experiments using realistic sensors the statistical performance results were: minimum 1.0241, maximum 1.7254, mean 1.2422, median 1.1758 and sample standard deviation 0.1754. In figure 8b it can be seen that in 83.33% cases the length increasing is less than 40%. Statistical results for mean velocity of each experiment path (see figure 8d) have mean value 22.8285 cm/s and sample standard deviation 3.3839 cm/s.

416

´ J.R. Alvarez-S´ anchez et al.

(a)

(b)

(c)

(d)

Fig. 6. Reaching stimulus goal in complex map with ideal sensors. a) and b) Paths with good performance. c) and d) Paths with bad performance. The continuous line shows the robot trajectory to the stimulus (cross) and the dashed lines are quasi-optimum trajectories.

(a)

(b)

(c)

(d)

Fig. 7. Reaching stimulus goal in complex map with realistic sensors. a) and b) Paths with good performance. c) and d) Paths with bad performance. The continuous line shows the robot trajectory to the stimulus (cross) and the dashed lines are quasioptimum trajectories.

Partial Center of Area Method

18 16 14 12 10 8 6 4 2 0 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8

18 16 14 12 10 8 6 4 2 0 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8

(a)

18 16 14 12 10 8 6 4 2 0

417

18 16 14 12 10 8 6 4 2 0 14 16 18 20 22 24 26 28 30 32 34 36 14 16 18 20 22 24 26 28 30 32 34 36

(b)

(c)

(d)

Fig. 8. Histograms for performance results of robot path length ratio to optimum a) ideal sensors and b) realistic sensors. Histograms for the mean velocity of each experiment path in cm/s c) ideal sensors and d) realistic sensors.

The comparison between ideal sensors and realistic sensors shows that loosing at least 50% of measurements due to bad bounces only affects slightly in the path length and mean speed.

4

Conclusions and Future Work

We have proposed method, using the accessible center of area from a partial representation of detected free space around a robot, to drive the robot in robust and smooth map wandering. This method is naturally well suited for wandering because the good properties of the center of area. Some simulated experiments were done on reactive map navigation and wandering using our proposed method and in comparison with standard wandering using Aria library from MobileRobots. The results shown that the partial center of area method can be used easily in tasks of wandering were it is interesting to cover as much as possible of the accessible areas, such as in patrol and vigilance tasks. Also, some experiments in obstacle avoidance navigation to reach a stimulus goal were done, with a simple modification in the algorithm, in different maps, showing that the proposed method can be easily adapted for other purposes and tasks. The method proposed in this paper is very promising for applications with other layers of deliberative control for keeping record of visited parts in the map and to make use of any a priori knowledge about the environment. Also, the main space representation used here was only 2D with range sensors, but the proposed method have a natural extension into 3D through the use of polyhedra instead of polygons mixing information from sensors and known map properties.

Acknowledgments We would like to acknowledge and gratefully remember Prof. Mira for his inspiration and support to the ideas in this work. This work was partially supported by TIN2004-07661-C02-01 and TIN-200767586-C02-01 projects from the Spanish Ministerio de Ciencia e Innovaci´on.

418

´ J.R. Alvarez-S´ anchez et al.

References ´ 1. Alvarez-S´ anchez, J.R., de la Paz L´ opez, F., Mira, J.M.: On Virtual Sensory Coding: An Analytical Model of Endogenous Representation. In: Mira, J., S´ anchezAndr´es, J.V. (eds.) IWANN 1999. LNCS, vol. 1607, pp. 526–539. Springer, Heidelberg (1999) ´ 2. Alvarez-S´ anchez, J.R., Mira, J.M., de la Paz L´ opez, F., Troncoso, J.M.C.: The centre of area method as a basic mechanism for representation and navigation. Robotics and Autonomous Systems 55(12), 860–869 (2007) 3. Cuadra Troncoso, J.M.: Manual de usuario de CyberSim. Dept. Inteligencia Artificial-UNED (September 2007), http://www.ia.uned.es/personal/ jmcuadra/techreports/CyberSim-manual.pdf 4. Cuadra Troncoso, J.M.: Simulaci´ on realista de sensores de rango: un enfoque probabil´ıstico. Technical Report R-01, Dept. Inteligencia Artificial-UNED (September 2008), http://www.ia.uned.es/personal/jmcuadra/techreports/ simulprobabil-TR-R01.pdf ´ 5. de la Paz L´ opez, F., Alvarez-S´ anchez, J.R.: Topological Maps for Robot’s Navigation: A Conceptual Approach. In: Mira, J., Prieto, A.G. (eds.) IWANN 2001. LNCS, vol. 2085, pp. 459–467. Springer, Heidelberg (2001) ´ Mira, J.M.: An Analytical Method for Decom6. de la Paz L´ opez, F., S´ anchez, J.R.A., posing the External Environment Representation Task for a Robot with Restricted Sensory Information. In: Zhou, C., Maravall, D., Ruan, D. (eds.) Autonomous Robotic Systems Soft Computing and Hard Computing Methodologies and Applications, pp. 189–215. Springer, Heidelberg (2003) 7. Koren, Y., Borenstein, J.: Potential field methods and their inherent limitations for mobile robot navigation. In: Proceedings IEEE International Conference on Robotics and Automation, April 1991, pp. 1398–1404 (1991) 8. SensComp, Inc. 600 Series Intrument Transducer Specifications (2004), http://www.senscomp.com/specs/600%instrument%20spec.pdf 9. SICK AG. Technical Description LMS200/211/221/291 Laser Measurement Systems (2006), http://www.mysick.com/saqqara/get.aspx?id=IM0012759 10. Thrun, S., Burgard, W., Fox, D.: Probabilistic Robotics. MIT Press, Cambridge (2005)