首页    期刊浏览 2024年11月25日 星期一
登录注册

文章基本信息

  • 标题:Neuro-fuzzy control for Khepera III mobile robot.
  • 作者:Popescu, Cristina ; Bucur, Gabriela ; Popescu, Catalin
  • 期刊名称:Annals of DAAAM & Proceedings
  • 印刷版ISSN:1726-9679
  • 出版年度:2008
  • 期号:January
  • 语种:English
  • 出版社:DAAAM International Vienna
  • 摘要:Since 1985, many researchers investigated the application of fuzzy controllers in mobile robotics. Mostly, the results are obtained by simulation.
  • 关键词:Robotics

Neuro-fuzzy control for Khepera III mobile robot.


Popescu, Cristina ; Bucur, Gabriela ; Popescu, Catalin 等


1. INTRODUCTION

Since 1985, many researchers investigated the application of fuzzy controllers in mobile robotics. Mostly, the results are obtained by simulation.

In this paper we will describe experiments with the Khepera III mobile robot, developed in 2007 in the Microcomputing Laboratory at the Swiss Federal Institute of technology. The earliest versions of the Khepera robot were available since 1992.

This problem was similarly studied for Khepera II robot (Godjevac, 1997), but for this robot the sensorial system was change, so we adapted the control structure. We also developed Matlab functions to communicate with the robot, via bluetooth, using a Windows platform.

2. THE KHEPERA III MOBILE ROBOT

Our work is based on the experiments with a robot named Khepera III. It is cylindrical in shape, measuring 130 mm in diameter and 70 mm in height and its weight is 690 g.

The basic configuration of Khepera is composed of DsPIC 30F5011 at 60 MHz processor, system and user memory, extension busses and a serial link. The microcontroller includes all the features needed for interfacing with memories, with I/O ports and with external interruptions.

The sensory/motor board includes two DC motors with incremental encoders, 9 infrared proximity and ambient light sensors with up to 25 cm range, 2 infrared ground proximity sensors for line following applications and 5 ultrasonic sensors with range 20 cm to 4 meters.

3. NEURO-FUZZY CONTROLLER FOR OBSTACLE AVOIDANCE

Our experiment is controller design for obstacle avoidance of the Khepera III with a minimal number of linguistic rules. The robot has 9 infrared proximity sensors and 2 motors. The inputs are the linguistic variables: distances between the robot and the obstacle and the outputs are the linguistic variables: motor speeds. We work with four input linguistic variables: distance to the left [D.sub.s], to the front [D.sub.f], to the right [D.sub.d] and on the back [D.sub.sp], like in figure 1. If we note with [S.sub.1], ..., [S.sub.11] the sensor values normalised within [0,1], then the input variables are calculated in the following way (Godjevac&Steele, 2001):

[D.sub.s] = [S.sub.7] (1)

[D.sub.f] = ([S.sub.4] + [S.sub.5])/2 (2)

[D.sub.d] = [S.sub.2] (3)

[D.sub.sp] = [S.sub.9] (4)

[FIGURE 1 OMITTED]

For each input linguistic variable, we define 3 linguistic values: small, medium, big , and for each output we define 7 linguistic values: backward fast, backward medium, backward slow, stop, forward slow, forward medium, forward fast (Popescu, 2006).

The first step is up to set the initial base of the rules and the parameters of the controller. We set 16 rules, which constitute the initial base rules, to implement the obstacles avoidance behaviour. The second step is to implement the controller. The Takagi Sugeno controller's parameters will be adapt by a supervised learning method based on gradient descent, which consists of modifying parameters in order to obtain the desired output in response to given inputs (Sugeno & Murakami, 1985). We choose an on-line identification method because it uses less computational time and less memory space than an off-line algorithm (Popescu, 2007). After learning, linguistic rules are extracted from the system parameters. They may be different than the initial rules. The parameters of membership functions are initialised to uniformly cover the input space. Each membership function for input variables are Gaussian functions and for output variables are singleton functions, like in figure 2.

The initial base rules describing obstacle avoidance behaviour are presented in the table 1.

[FIGURE 2 OMITTED]

The particularity of the Takagi and Sugeno's controller is that the consequent parts of linguistic rules are expressed as functions of linguistic variables, and in this case we will consider only the special type of Takagi and Sugeno's controller were these functions are constants.

The Takagi and Sugeno's fuzzy controller has three types of parameters to adapt: centre values a = [([a.sub.11], ..., [a.sub.nm], ..., [a.sub.NM]).sup.T], width values b = [([b.sub.11], ..., [b.sub.nm], ..., [b.sub.NM]).sup.T] and consequent values c = [([c.sub.11], ..., [c.sub.nk], ..., [c.sub.NK]).sup.T], where M is the number of input, K is the number of outputs and N is the number of linguistic rules.

For Gaussian membership functions, the equation for the adaptation of the parameter a b and c is like following:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (5)

During the learning process the rules base was changed and we observed that there are no contradictions--two rules with the same antecedent parts and different consequent parts. For inference process we used Min-Max method and Centre of Gravity method for defuzzification.

[FIGURE 3 OMITTED]

[FIGURE 4 OMITTED]

The membership functions are modified after learning process like in figure 3. It is observed that after 200 iterations Khepera learned the desired behaviour and the evolution of the error is very good, as presented in figure 4.

When implementing this controller in the real robot Khepera, we observe that with 16 rules the robot avoid obstacle with success and if we change the rule base, we can implement another behaviour, like wall following or reached a target.

4. CONCLUSION

In this paper we studied the design and the implementation of neuro-fuzzy controller on a mobile robot. Godjevac (1997) was first studied the principle, method and algorithm and we adapt them for the new Khepera III robot. The neuro-fuzzy controller was first validated in simulation, then applied to control a real mobile robot.

The first step is to build an initial set of linguistic rules, which is set up to run its assigned task. For adjust the parameters of the fuzzy controller we used an adaptive algorithm similar to a neural network learning. The learned knowledge can be represented in the form of linguistic rules, which can be extracted from the adapted parameters of the fuzzy controller and this is considered as the biggest advantage of a neuro-fuzzy network compared to a neural network.

For the future, we want to resolve the "dead cycle" problem that can appear on navigation of mobile robot and we want to implement another behaviour for the Khepera, like reach a target.

5. REFERENCES

Godjevac, J. (1997). Neuro-Fuzzy Controllers Design and Application, Presses Polytechniques et Universitaires Romandes, ISBN 2-88074-355-9, Lausanne.

Godjevac, J. & Steele, N. (2001). Neuro-Fuzzy Control for Basic Mobile Robot Behaviours, In: Fuzzy Logic Techniques for Autonomous Vehicle Navigation, Driankov, D. & Saffiotti, A. (Ed.), pp. 97-117, Physica-Verlag Heidelberg, ISBN 1434-9922, Heidelberg.

Popescu C. (2006). Mobile Robot Navigation Using Fuzzy Logic For Obstacle Avoidance, Bulletin of "Petroleum-Gas" University of Ploiesti, 5th International Symposium on Process Control SPC 2006, Ploiesti, ISSN 1224-8495.

Popescu C. (2007). Neural Network Techniques For Mobile Robot Navigation, Annals of the University of the Petrosani, Electrical Engineering, vol 9, pp. 332-338, ISSN 1454-8518.

Sugeno, M. & Murakami, K. (1985). An Experimental Study on Fuzzy Parking Control Using a Model Car, In: Industrial Applications of Fuzzy Control, Sugeno M. (Ed.), pp.125-138, North-Holland.
Tab. 1. The initial base rules of the controller.

Rule [D.sub.s] [D.sub.f] [D.sub.d] [D.sub.sp]

R1 Small Small Small Small
R2 Small Small Small Big
R3 Small Small Big Small
R4 Small Small Big Big
R5 Small Big Small Small
R6 Small Big Small Big
R7 Small Big Big Small
R8 Small Big Big Big
R9 Big Small Small Small
R10 Big Small Small Big
R11 Big Small Big Small
R12 Big Small Big Big
R13 Big Big Small Small
R14 Big Big Small Big
R15 Big Big Big Small
R16 Big Big Big Big

Rule vs

R1 Stop Stop
R2 Backward fast Backward slow
R3 Backward slow Forward fast
R4 Forward medium Backward medium
R5 Backward fast Backward fast
R6 Forward medium Stop
R7 Backward slow Stop
R8 Forward medium Forward medium
R9 Backward fast Forward fast
R10 Forward medium Forward fast
R11 Forward slow Backward medium
R12 Backward slow Backward slow
R13 Backward slow Forward medium
R14 Backward medium Backward slow
R15 Stop Backward slow
R16 Backward medium Forward medium
联系我们|关于我们|网站声明
国家哲学社会科学文献中心版权所有