Autonomous Navigation System for Planetary Exploration Rover ...

1 downloads 0 Views 4MB Size Report
vehicles will be sent to Mars and new efforts will be done in the autonomous explo- ration. There are different ... compute the manoeuvres to stay on that path.
Autonomous Navigation System for Planetary Exploration Rover based on Artificial Potential Fields Mauro Massari, Giovanni Giardini and Franco Bernelli-Zazzera Politecnico di Milano, Dipartimento di Ingegneria Aerospaziale, Italy

Abstract In this paper a navigation system for an autonomous planetary exploration rover, based on artificial potential fields, is presented. The rover moves to a predefined final position avoiding the obstacles detected by an artificial vision system developed for that purpose. Every obstacle is associated with a repulsive field, while the target point is associated with an attractive field. All these potential fields are combined to determine the total field at the rover position and its gradient, from which the direction of the next step of the rover is defined. Numerical and experimental tests of the algorithm are reported.

Introduction During the last years, interest in planetary exploration increased, and different space missions were realized to bring exploration rovers on other planets’ surfaces [1]. In these cases one of the major problem to be faced is the delay in communication due to the distance from the target planet and to the discontinuities in communication windows. To face that, it was necessary to provide the rovers with some level of autonomy which gives them the opportunity to operate without a direct intervention from Earth. Many efforts in realizing that kind of autonomous exploration rovers were made and the principal field of investigation was centered on the ability of rovers to move in an unknown environment without any help from Earth [2]. Up to now, different planetary exploration missions have brought autonomous vehicles to the surface of Mars. The first vehicle was the Sojourner, of the Mars Pathfinder mission, followed by Spirit and Opportunity of the MER missions. In the future new vehicles will be sent to Mars and new efforts will be done in the autonomous exploration. There are different kind of exploration rovers. A first difference is related to the locomotion system adopted for the rover’s mobility. There is a great number of possible solutions, from legged to wheeled rover. In this paper an autonomous navigation algorithm based on artificial potential fields theory is presented and it is applied to a wheeled rover. This system will allow the rover to move from a starting point to a predefined final position, avoiding the obstacles detected on the path by an artificial vision system developed for that purpose. The principal feature of the navigation system is that it allows to compute each single step of the rover without any information on the complete trajectory from the starting

to the final point. In this way, the system is much more versatile and faster than a system in which a full path is computed as there is no need of a control system to compute the manoeuvres to stay on that path. Every obstacle detected is associated with a repulsive gaussian potential field, while the target point is associated with an attractive potential fields, which is a sum of a gaussian and a linear field. Other different models of fields are added automatically by the algorithm to improve the navigation performances and to solve critical issues that can arise. All these potential fields are added to determine the total field at the rover position and its gradient, from which the direction of the next step of the rover is defined. In this way the rover slides to the final point following the total field’s gradient. The artificial vision system allows the detection of obstacles in a small portion of the surroundings, so it is necessary to define a shadow zone, corresponding to the unexplored environment, and a known zone, corresponding to the explored environment. The navigation algorithm is stopped when the rover enters in the shadow zone and the obstacle detection algorithm is called. First, the navigation algorithm is described in more detail, then the different models of potential fields used are presented. Finally, some numerical and experimental results are reported.

Navigation algorithms The navigation algorithm is realized considering the following hypothesis: the rover moves over a 2-dimensional map, the obstacles are located on this map and therefore the information on their height is lost. Every navigation algorithm requires three different informations as inputs: the initial rover position, the obstacles’ positions and the location of the target point. The initial rover position represents the starting navigation point and it is usually known. The rover used for the experimental tests has an artificial vision system composed only by two stereoscopic cameras which can be used for obstacles detection. Because of this, the knowledge of the environment is limited by the range of the cameras, and many obstacles can be detected only during the navigation, when they enter the area covered by both cameras. In this way, there is a progressive discovering of the environment between the starting point and the target. In the development of the navigation algorithm, the obstacles’ positions have been considered as given by this artificial vision system and so only the limitation on the knowledge of the surrounding has been taken into account. The final point has been considered predefined as it can be established by the operator on Earth or by the rover itself in the case of an higher level of autonomy which can give it the ability to choose an interesting target. With these three inputs, the navigation system must be able to drive the rover to the final point avoiding all the obstacles that would be found moving in the unknown environment.

At the beginning, the environment around the rover is completely unknown and using the artificial vision system it is possible to learn step by step what is present in the site in which the rover moves. This aspect of the problem is very important and has driven the realization of the navigation algorithm. All the navigation algorithms can be divided in two different classes, the first one in which the rover moves from the starting point to the final point following an optimized path computed at the beginning and the second one in which the rover does not follow a predefined trajectory but computes the path step by step considering only its current position and the position of the target. In the first class of navigation algorithms, the system analyzes the map and computes an optimized path that connects the starting point with the final point avoiding known obstacles [3]. This trajectory is obtained by an optimization algorithm and it represents the best way in which a vehicle can reach the predefined target in a well known environment. Obviously in this class of algorithms it is needed to add an hazard avoidance system to modify the path to avoid newly detected obstacles, and each time this happens a new optimization must be carried on. The second class of navigation algorithms allows to navigate in an unknown environment as a complete knowledge of the surroundings is not needed. In the beginning no trajectories are computed and, when the algorithm starts, the obstacles locations in the surroundings are searched and finally the best step is computed. At the end of this first step the system evaluates a new step, considering its current position as a new starting point and retrieving from the previous step only the information on obstacles location. In this way, the final target is reached step by step following a path which is computed on the fly during the navigation. In an unknown environment the first class of navigation algorithms can be less robust and requires more computational time then the second class, especially when the sensors used to locate obstacles have a limited range as in the case of the rover used for the experimental tests. In order to avoid this fact, it has been decided to realize a navigation algorithm which belongs to the second class. In these algorithms the rover moves step by step and at the end of every step the navigation system computes the next one. In this way in the case a new obstacle is detected the step is modified accordingly and the final resulting path is near to the optimal path computed with a series of optimizations carried on considering an increased level of knowledge of the environment. The navigation algorithm presented in this paper is based on artificial potential fields theory which is described in the following section.

Artificial potential fields The navigation system presented is based on the artificial potential fields theory [4]. The idea behind this methods is the imitation of conservative natural force fields which can be derived as the gradient of a potential function that depends only on the

position. Following this analogy, the navigation algorithm which has been developed defines a potential field in each position of the map. Every obstacle detected by the vision system is considered as a source for the potential while the final point is considered as a sink for the potential. Sources and sinks of the potential are associated with a particular field which is described in the following and which modifies locally the global potential field. These single fields represent how the rover feels the different objects in the environment: it is repulsed by the obstacles and attracted by the target. The global field that the rover feels is defined as the sum of all the single fields, and the gradient of this artificial potential field defines the direction along which the rover moves. Model of source and sink There are different ways to model sources and sinks of the artificial potential fields. The simplest field function which is possible to define is the triangular one, which corresponds to a linear decreasing of potential with constant gradient. This function presents an important feature that could be a problem: the effect of the field is confined in a well defined area around the source. In this way the rover feels the repulsive or the attractive field only when it enters this region near the object. To avoid this problem, an exponential function could be preferred, because its effect is extended to all the navigation map. However, this solution origins a field that has a gradient that becomes infinite at the position of the object. The best solution is therefore a function which combines the benefits of those other two. The gauss function has all the interesting features and is the one which has been considered in the algorithm designed. In Figure 1 the different functions considered for representing the artificial potential fields are shown. The artificial potential fields chosen are based on the following gauss equation: y = βe(−0.5γkx

2 k)

where: β = K1 Ro

and

γ=

(1) K2 Ro

(2)

are two coefficients that depend on the obstacles dimensions. A detected obstacle is represented in the bi-dimensional map with a circular shape so the two parameters depend only on the radius Ro of that circle and on two weights K1 and K2 which in this work have been considered respectively 25 and 0.05. The potential field associated with sources is represented by a repulsive one, and is characterized by a gradient that decreases with the distance from the center of the obstacle but never becomes zero. This feature is a property of the gauss function and it is very important for the performances of the algorithm designed. In this way, the rover feels the presence of a known obstacle at whatever distance from it and during the entire navigation. This feature could be very important for a safe navigation because the rover can choose the next step considering the entire explored map and

the computed step takes into account the influences of all the obstacles detected, even distant ones. The potential field associated with a sink is attractive and is assigned to the final point. It is a combination of two basic fields, the first one is the gauss field, while the second one is a conic potential field. This choice has been made because the rover must feel the attractive field in all the map with a consistent strength. When the distance between the rover and the target point is sufficiently high and only an attractive gauss field is associated with the target, the rover is influenced principally by the repulsive fields of the obstacles in the neighborhood, which completely remove the attractive effects of the target. In this case the rover may never reach the target point because it could remain trapped between the repulsive fields of two obstacles. The conic field has a constant attractive gradient which is the same in all the environment. So even if the rover is very distant from the final point, it feels a strong attractive field everywhere and it is always able to move towards the final target. Figure 2 shows the potential fields associated with sources and sinks. Corrective artificial potential fields With only the repulsive and the attractive fields previously described, the global artificial potential field can present features which cause problems to the navigation algorithm. The first problem is due to the possible symmetry that could characterize the final field, while a second problem is related to the presence of local stationary points

100

100

80

80

60

60

40

40

20

20

0 −4

−2

0

2

4

0 −4

(a) Linear model

100

100

80

80

60

60

40

40

20

20

0 −4

−2

0

−2

0

2

4

(b) Exponential model

2

(c) Gaussian model

4

0 −4

−2

0

(d) Comparison

Figure 1: Possible potential field funtions

2

4

8000 8000

7000 6000

6000

5000 4000

4000

3000 2000

2000

1000 0

0 70

−2000

60 50

−4000 0

40

10

30

20 30

20

40

10 0 0

10

20

30

40

50

(a) Source field (Repulsive)

60

70

50 60 70

0

10

20

30

40

50

60

70

(b) Sink field (Attractive)

Figure 2: Source and sink fields where the gradient is zero. During the navigation, the rover could fall in a local stable stationary point and this would bring to a failure of the navigation system which is not able to reach the target. In the case of a symmetry of the global field the rover could move along the symmetry axis of the field and if it encounters an unstable local stationary point (typically in correspondence of an obstacle aligned with the target) it could start oscillating around that point without deviating from the symmetry axis. Another problem concerns the necessity to keep the rover away from narrow passages between two obstacles. In these cases the corrective field is represented by a wall field that is added between two adjacent obstacles to remove the possibility to access that space. There is another problem which is related to the necessity to find a path which is sufficiently smooth to avoid unnecessary manoeuvers. There are different cases in which the rover is able to move from the starting point to the goal point only using the attractive and the repulsive field. However, during the movement, the rover can start oscillating in the neighbors of obstacles, avoiding them only after a great number of manoeuvres. To avoid these kind of problems, new potential fields have been considered in addition to the basic fields. These new artificial potential fields are added only if it is necessary and the decision is taken autonomously by the navigation algorithm. This choice is based on an analysis of the environment which is done before starting the movement: the system analyzes the obstacles location and evaluates if there are stationary points, if the global field is symmetric or if two obstacles are adjacent, and adds the appropriate corrective field. Therefore, these fields do not represent physical objects in the environment, like the repulsive potential fields, but they are a way to solve a large number of problems. In this analysis two corrective artificial potential fields have been considered: the linear potential field and the wall field. In order to have a good navigation in a symmetric potential field, or to avoid all oscillating paths, a linear field is added. The field direction is perpendicular to the field’s line of symmetry if the problem to solve

is related to the symmetry of the global field or it is perpendicular to the line that connects the starting point to the final point if the problem to solve regards a possible oscillating navigation. The gradient direction of the new field is chosen considering the positions of the known obstacles: the new field adds a gradient which helps the rover to move in a part of the map with less obstacles. The linear field is added autonomously by the navigation system in the case the rover, the obstacle and the final point are aligned. A less stringent solution is to add this field even if there is not a perfect alignment. In this case, the rover, the obstacle and the final point must be in a belt of thickness related to the rover dimensions. The second corrective field is the wall potential field. Like the linear field, this field is added autonomously by the navigation system only if it is necessary. This field does not represent a real wall in the environment, or a real obstacle (every object is always characterized by a repulsive field), but it is added to forbid the rover to move in too narrow spaces. If two obstacles are near, the rover must avoid moving between them because it could finish in a restricted place in which every corrective manoeuvre could become very difficult. So, when two or more obstacles are too near, the artificial wall potential field is added between them. This field is modelled using the gauss function with the same coefficients of the repulsive basic potential fields, but considering a line extension instead of a point. Figure 3 shows the corrective potential fields.

1500

1000

2000

500 1500

0 1000

−500 500

−1000 0 80

−1500 0

60

20

40

40 60 80

70

60

50

40

30

20

10

0

(a) Linear field

20 0

0

10

20

30

40

50

60

70

(b) Wall field

Figure 3: Corrective fields

Shadow zone As described above, the navigation algorithm has been designed considering the limitations which arise from the use of an artificial vision system for the obstacles detection. In particular the environment can not be seen entirely by the cameras, so, during the navigation, the rover must be able to establish when it is better to stop and to

analyze the environment to detect new obstacles. In the beginning the vision system acquires two images from the left and right cameras to evaluate if there are obstacles in the range of the cameras. If there are obstacles, their positions are placed on the map and the artificial potential field described above allows to avoid them. When the rover moves, the navigation system is not programmed to detect new obstacles. In this way, if the rover goes out from the analyzed map, it can crash against something which has not been detected yet. Therefore, it is necessary to define a criteria which stops the vehicle and allows the rover to detect new possible obstacles. To do so, two zones are defined, a known zone and a shadow zone. The shadow zone is the part of the map which the rover does not know because it has not been seen by the cameras. With this definition also the part of the map behind the obstacles can be considered unknown. On the contrary, the known zone is the part of the map that the rover knows. The geometry of the zone which can be seen by the artificial vision system can be represented by a circular sector which is limited by the field of view of the cameras and by a safety distance. When the rover moves toward a shadow zone, the navigation system decides to stop the vehicle and activates the artificial vision system to detect a new part of the map only. The new detected environment is merged with the previous map and the rover can continue moving towards the target.

Tests In this section the results of the tests of the navigation algorithm are presented. First the algorithm has been tested numerically and then on the real rover [5]. The real rover is 70 cm long and 55 cm wide and in both numerical and real tests it has been considered as a rectangle moving over a bidimensional map. The vehicle can move in the environment combining two kind of manoeuvres: a rotation around its symmetry axis and a forward motion. The forward motion is obtained by a sequece of finite steps of 5 cm, while the rotational manoeuvres are composed by rotations of 1 or 2 degrees. Also in the numerical tests these limitations on the rover movements have been considered and the final path is obtained by a sequence of appropriate steps. The navigation system has been tested with different obstacles configurations and in each situation the rover was able to reach the final point. Two tests with different obstacles configurations are reported in the following, the first considering only one obstacle and the second considering two obstacles. In Figure 4, the results obtained with the numerical simulation are shown. The rover is represented by a rectangle, the obstacles are the circles and the zone covered by cameras at each step is the area delimited by the circular sector in front of the rover. In Figure 5, the results obtained in real tests using the same obstacles configuration as for numerical simulation are shown. Even if the obstacle configuration is the same as

−500

0

500

1000

1500

2000

2500

3000

3500

4000

0

1000

(a) One obstacle

2000

3000

4000

5000

6000

(b) Two obstacles

Figure 4: Numerical simulations for the numerical simulation, on the maps of Figure 5 the obstacles are not reported as a single circle, but split into several circles. This is due to the artificial vision system which considers a single extended obstacle as composed by a set of objects at different distances.

−500

0

500

1000

1500

2000

2500

3000

3500

4000

0

(a) One obstacle

1000

2000

3000

4000

5000

(b) Two obstacles

Figure 5: Real tests The final trajectory obtained in the real test with one obstacle is similar to the one obtained during the numerical simulation, while in the case of two obstacles, the real trajectory is quite different from the one obtained by the simulation. This is due to the fact that during the simulation the rover knows all the environment in advance (in this case the obstacles positions), while during the real tests it discovers the presence of obstacles step by step. In the real case, when the rover detects the first obstacle, the artificial potential field is computed without knowing that there is another obstacle in the environment, so it is completely different from the one of the numerical simulation and this fact explains the difference between the trajectories obtained by the numerical simulation and the real test. Another important feature regards the wall field. After the rover detects the first

obstacle, it starts moving only feeling the repulsive field of this first obstacle and the attractive field of the target. When the rover detects the second obstacle, a wall field between them is added. It is only at that moment that the rover feels four different fields (the two obstacles repulsive fields, the target attractive one and the wall one).

Conclusions The artificial potential field theory represents a good and affordable way to navigate a rover in an unknown environment. The method presented requires a low computational cost. Therefore the system is very fast and can be applied in real time applications. This navigation algorithm allows the rover to move in an environment with any obstacle configuration. The rover finds the path to reach the final point avoiding obstacles in a step by step process, therefore the final trajectory could not be the optimal one. If during the navigation there are some obstacles that stop the rover, it is possible to return back and try another path. Obviously, the final trajectory could be longer than an optimized trajectory, but when the rover starts moving, the environment is completely unknown and so it cannot establish an a priori optimal trajectory. The artificial potential field algorithm presents some problems, which must be solved. The algorithm tries to solve problems related to the field symmetry or to local minima adding corrective fields. These corrective fields have been studied to solve only a well defined number of problems that have been detected during the simulations. The additive fields are created knowing the problems to solve, but if some new different problem arises, the system can fail. Therefore, it could be interesting to realize an autonomous system which is able to create the corrective field after the analysis of the particular problem, without using a predefined fields library.

References [1] E. T. Baumgartner. In-situ exploration of mars using rover systems. In Proceedings of the AIAA Space 2000 Conference, Long Beach, CA, September 2000. [2] S. Hayati, R. Volpe, and et al. The rocky 7 rover: A mars sciencecraft prototype. In IEEE International Conference on Robotics and Automation, Albuquerque, 1997. [3] S. M. LaValle. Planning Algorithms. http://msl.cs.uiuc.edu/planning/.

[Online], 1999-2004.

Available at

[4] B. H. Krogh. A generalized potential field approach to obstacle avoidance control. In Proceedings of SME Conference on Robotics Research, August 1984. [5] F. Bernelli-Zazzera, I. Ferrario, M.Massari, and M. Vasile. Autonomous navigation with stereo vision system for planetary exploration. In IAF 2001, Toulouse, France, October 2001.