Simple reactive obstacle avoidance behaviors

9
CENG 585: Fundamentals of Autonomous Robotics - Project 1 Kadir Firat Uyanik KOVAN Research Lab. Dept. of Computer Eng. Middle East Technical Univ. Ankara, Turkey [email protected]

description

CENG 585: Fundamentals of Autonomous Robotics - Project 1Kadir Firat Uyanik KOVAN Research Lab. Dept. of Computer Eng. Middle East Technical Univ. Ankara, Turkey [email protected] Obstacle avoidance is one of the most essential issues in the navigation problem of mobile robots, even in robotic manipulators. This problem is commonly coped by using reactive control paradigm in which actuation outputs are merely a mapping of most recent sensor activities. In this report, several ob

Transcript of Simple reactive obstacle avoidance behaviors

Page 1: Simple reactive obstacle avoidance behaviors

CENG 585: Fundamentals of Autonomous

Robotics - Project 1

Kadir Firat UyanikKOVAN Research Lab.Dept. of Computer Eng.

Middle East Technical Univ.Ankara, Turkey

[email protected]

Page 2: Simple reactive obstacle avoidance behaviors

Abstract

Obstacle avoidance is one of the most essential issues in the navigation problemof mobile robots, even in robotic manipulators. This problem is commonlycoped by using reactive control paradigm in which actuation outputs are merelya mapping of most recent sensor activities. In this report, several obstacleavoidance algorithms/approaches are examined. Some of the algorithms areimplemented on a mobile robot platform, and also evaluated considering severalperformance metrics.

Page 3: Simple reactive obstacle avoidance behaviors

Introduction

Obstacle avoidance paradigm first introduced by Khatib in 1986 [1] merged withartificial potential fields based motion control approach. Obstacle avoidancedecision is to be made very quick in the case where only local sensory informationis available. In other words, there is no information acquired through globalsensors which may provide position of the robot’s itself and possible obstaclesaround the robot. There are several path finding algorithms, such as the A*search[2], the Visibility Graph[3], the Voronoi Diagram[4] which give promisingresults. Nonetheless, they mostly require the global map or bird’s eye view tobe available.

On the other hand, despite it’s well-known drawbacks (e.g. local minima,oscillitory movements), artificial potential fields (apf) has been one of the mostpopular reactive motion control paradigms. Various methods are proposed toovercome the problems that apf and similar methods suffers such as the Vir-tual Force Field [5] Vector Field Histogram[6], VFH+[7], the Dynamic WindowsApproach[8], the Nearness Diagram[9], the Curvature Velocity Method [10], andthe Elastic Band Concept [11].

The methods mentioned above can be divided into two main classes. Theones using sensory information to directly calculate actuator signals -reactivemethods-, and the other ones collecting sensor activity to extract a local map ora more informative world representation. In this work, I spent effort to imple-ment a reactive controller based on Braitenberg’s vehicle 3b[12], another reactivecontroller based on apf[1] which improves the performance of the obstacle avoid-ance behavior upon the former controller, and a motion controller based on [13]which considers all the history of sensory data by summing them up in a timedecaying weighted fashion.

Experimental Setup

The work documented in this report has been implemented on the mobile plat-form called Kobot. Kobot is specifically designed for swarm robotic studies. Therobot has the size of a CD (diameter of 12 cm), a weight of 350 grams, and it isdifferentially driven by two high quality DC motors. It has eight IR sensors forkin and obstacle detection and a digital compass for heading measurement. AnIEEE 802.15.4/ZigBee compliant XBee wireless module with a range of approx-imately 20 m indoors is used for communication between robots and betweenthe robots and a computer console. The robot hosts a 20 MHz PIC18F4620Amicrocontroller, [14].

Implementations

1. A reactive controller

As a control schema to avoid obstacles in the world and wander around, Brait-enberg’s vehicle 3b model is used. According to the experiments robot appearsto have an intention of wandering around but avoid obstacle when one side ofthe robot recognizes a sensor activity. That instant, the sensors on the activatedside inhibits the actuation of the motors on the other side of the robot. Kobot’s

1

Page 4: Simple reactive obstacle avoidance behaviors

Figure 1: Kobot, mobile robotic platform

5 IR range sensors are utilized for the purpose of obstacle detection. They aregrouped three by three, front sensor is overlaping, and crossly connected as mo-tor signals by averaging and normalizing their inhibition factor considering themotors actuation range.

With this controller, Kobot wanders around smoothly but can’t generatemotor-stop signals if there is an obstacle directly in front of it. This is becauseof the way sensor data are handled. In direct obstacle facing case, only thesensor in front fully activated but the sensors on the sides are not. Therefore,for the robot to fully stop motors, the only case is a cylindrical obstacle facing.

Figure 2: Braitenberg’s vehicle and multi sensor configuration used in this work,retrieved from[15]

2. An improved reactive controller

This controller makes use of all the IR range sensors which lets robot to ob-tain better information about the environment. Besides, sensor activations are

2

Page 5: Simple reactive obstacle avoidance behaviors

acquired as if they are repulsive forces caused by obstacles. This controllercombines robot’s intention to wander around, and it’s desire to escape fromthe objects in the direction of resultant repulsive force. This two-stage-lookingaction is genarated via the following sensory-motor mapping function:

left motor velocity =

u(|force angle|)× sign(force theta)× rotation speed+

(1− u(|force angle|))× wandering speed

The mapping function above is less detailed than the actual one for the sakeof simplicity. But it is worth noting that I used some angle tolerance to avoidunnecessary oscillations as if it is an hysterisis loop.

3. Time decaying sensor activation based controller

As opposed to previous controllers, this controller utilizes not only the mostrecent sensor activity but also the whole sensor activity history. To do this,sensor activations are weighted inversely proportional to the time passed afterthey are acquired. The following formula shows how it is done more clearly:

sensort‘

i = (1− exp(−λ)) ∗ sensorti + exp(−λ) ∗ sensor(t−1)‘

i

In this function i represents the sensor index and t represents the time whencorresponding sensor is excited. λ is the decaying factor that effects how muchformer sensor activations are considered. Newly calculated sensor data are usedto generate repulsive force field on the robot and actuation signals are generatedthrough the function given in controller-2.

Time decaying property of this controller makes the avoidance behavior lessoscillitory due to it’s smoothing through time attritube.

4. Time decaying local map generating controller

Local map generation maybe the best way to utilize former sensory information.One approach is modelling obstacles as if they are 2D point clouds, and applyingsame repulsive force field method for all the points acquired. However, due tothe slippage and other physical world problems, reliability of the older pointsdecrease in time. This can be modeled as a confidence function as stated intime decaying sensor activation based controller.

Another approach would be utilization of the compass sensor of the robot tocorrect heading error and corresponding transformation correction of the pointsin the world. By doing so, reliability of the previous sensory information wouldbe increased, however, it is almost impossible to rely on pure encoder measure-ments to locate robot. This can be overcome by using landmark detectors.

However, most problematic part here is the calibration of the IR range sen-sors, and their weakness for dark colored objects and corners. Therefore, thiscontroller would be superior to the other controllers, but still is not a onceand for all solution for other complicated problems rather than just avoidingobstacles.

3

Page 6: Simple reactive obstacle avoidance behaviors

Discussion

In this section, above-mentioned controllers are compared in terms of oscillation,reliability, memory usage, and processesor usage.

‘Braitenberg vehicle 3b’ based controller (controller-1) is the most smooth,the most economic -in terms of resource usage- and least oscillatory one. Yet,it can get stuck when directly faces with an obstacle.

Other controllers make use of force fields. This requires heavy usage oftrigonometric functions, which employs many clock cycles of the microcon-troller. However, force field method lets robot -in a way- flow through all theobstacles in the world. It never gets stuck and continue wandering around theworld successfully. Hence, there is a tradeof between choosing not-getting-stuckand not-using-resources. However, in our problem, force-field-based reactivecontroller(controller-2) works better than controller-1.

Controller-3 and controller-4 use time-decaying property. Due to their reac-tive nature and discreteness of the distribution of the sensors around the robot,controller-1 and controller-2 suffers from oscillatory movements. Controller-3and Controller-4 exhibit less oscillatory behavior since sensor information ac-quired through time is smoothed via the weighted sum of all the history.

Please note that controller-4 has not been totally implemented and testeddue to limitations of the hardware of the robot (e.g. encoder direction problem).However, this problem has been handled in the software layer by assuming thatthe motors are turning in the direction that the motor command being sent.But, this controller is left as a future work.

During experiments, sensor data is sent to a PC via X-Bee modules. It isfound in the log files that incoming sensory information constitutes an abruptpeak value in each appr. 100 acquisition. These noisy inputs can be eliminatedby using an external smoothing filter. Here, controller-3 and controller-4 haveadvantage over controller-1 and controller-2 since they reduce effect of this noiseby multiplying them with (1− exp(−λ)) and adding decayed sensor history topof it.

In this particular experiment setup, I would rank the controllers being im-plemented in the order of controller-4, controller-3, controller-2 and controller-1.

Other Performance Metrics

Performance comparison metrics play a crucial role to decide on the best con-toller for a obstacle avoidance behavior. These metrics are divided into 3 maincategories in[16], such as cost, utility, and reliability. For instance, number ofparameters to tune, reaction time and distance to collision are mentioned underthe cost category, but they can also be interpreted under utility and reliabilitycategories. In this work, I have used only three parameters, such as decayingfactor, force angle alignment hysterisis, sensor inhibation factor. However, Icould add some other parameters like force angle fine alignment or sensor ac-tivation derivative property to eliminate abrupt changes in sensors. All theseparameters enable robot to move more robust and less oscillatory but it employsmore processing and memory resources.

Another important metric would be ability to avoid traps and cyclic behav-ior. In this work, controller-3 can never be trapped if there is a way out of

4

Page 7: Simple reactive obstacle avoidance behaviors

that trap at least in the size of the robot and if the size of the trap is less thanthe range that robot’s sensors can detect. Nevertheless, cyclic behavior mayoccur since controller-3 cannot handle environmental objects effectively but itsmooths their effect in time and obtain less oscillatory action profile. In orderto overcome cyclic behavior problem controller-4 should be implemented andtested. Since it is able map the world as 2d point cloud it can easily get out ofwell-known U-trap or other similar traps.

Conclusion

In this report, several obstacle avoidance methods are represented. Implementa-tions of these controllers are compared by considering some performance metrics.Different methods are combined like reactive response, force fields, and time de-caying sensor fusion. Videos related to these implementations can be found inthe following links; it is highly recommended for the reader so that he or shesee differences between these controllers:

How force alignment works:http://ieee.metu.edu/kadir/forcefield.wmv

Braitenberg vehicle 3b:http://ieee.metu.edu/kadir/braitenberg.wmv

Time decaying sensor activation with force fields:http://ieee.metu.edu/kadir/timedecaying.wmv

5

Page 8: Simple reactive obstacle avoidance behaviors

Bibliography

[1] O. Khatib, Real-time obstacle avoidance for manipulators and mobilerobots. International Journal of Robotic Research In Int. J. Rob. Res.,Vol. 5, No. 1. (1986), pp. 90-98.

[2] Wilson, N. J. “Principles of Artificial Intelligence” Springer Verlag. Berlin(1982)

[3] Nilsson, N. J. “A Mobile Automaton: An Application of Artificial Intel-ligence Tech- niques” Proc. 1st Int. Joint Conf. on Artificial Intelligence,Washington D.C., 509-520 (1969)

[4] Latombe, J. C. “Robot motion planning” Kluwer Academic Publishers,(1991)

[5] Borenstein, J. and Koren, Y. “Real-time Obstacle Avoidance for Fast Mo-bile Robots.” IEEE Transactions on Systems, Man, and Cybernetics, 19(5)(Sept/Oct 1989)

[6] Borenstein, J. and Koren, Y. “The Vector Field Histogram- Fast obstacleavoidance for mobile robots.” IEEE Journal of Robotics and Automation7(3), (June 1991)

[7] Ulrich, I., and Borenstein, J. “VFH+: Reliable Obstacle Avoidance forFast Mobile Ro- bots” IEEE International Conference on Robotics andAutomation, p1572, Leuven, Bel- gium, (1998)

[8] Brock, O., Khatib, O. “High-speed navigation using the global dynamicwindow ap- proach.” In Proc. ICRA, pages 341-346, (1999)

[9] Minguez, J., Montano, L. “Nearness Diagram Navigation (ND): CollisionAvoidance in Troublesome Scenarios”. IEEE Transactions on Robotics andAutomation, (2004)

[10] Simmons R., ”The Curvature Velocity Method for Local Obstacle Avoid-ance,” IEEE Int. Conf. on Robotics and Automation, Minneapolis, USA,(1996)

[11] Quinlan S., Khatib O. ”Elastic Bands: Connecting Path Planning andControl,” IEEE Int. Conf. on Robotics and Automation, Atlanta, USA,(1993)

[12] V. Braitenberg. Vehicles. ”Experiments in Synthetic Psychology”, MITPress, Cambridge, MA, 1984.

6

Page 9: Simple reactive obstacle avoidance behaviors

[13] Arora, S. and Indu, S. ”A Novel Time Decaying Approach to ObstacleAvoidance”, PReMI09, 543-548, 2009

[14] http://www.kovan.ceng.metu.edu.tr/index.php/Robots\Kobot

[15] I. Rano, T. Smithers. Obstacle Avoidance Through Braitenberg’s AgressionBehavior and Motor Fusion. ECMR, 2005

[16] W. Nowak, A. Zakharov, S. Blumenthal, E. Prassler. Benchmarks for Mo-bile Manipulation and Robust Obstacle Avoidance and Navigation, 2010

7