首页    期刊浏览 2025年06月12日 星期四
登录注册

文章基本信息

  • 标题:Using fuzzy reasoning to guide a mobile robot on a rough terrain.
  • 作者:Dumitriu, Adrian
  • 期刊名称:Annals of DAAAM & Proceedings
  • 印刷版ISSN:1726-9679
  • 出版年度:2008
  • 期号:January
  • 语种:English
  • 出版社:DAAAM International Vienna
  • 摘要:Navigation problems for autonomous mobile robots are very complex and require a large amount of information from vision and range sensors, to build up a map of environment, and powerful command processors to optimize trajectory. These types of sensors cannot seize robots' inclination angles on rough terrains, in order to make necessary trajectory corrections to avoid turning over. Acceleration sensors seem to be very suitable for this purpose and the main problem this paper tries to solve is to find an efficient tool to integrate data from acceleration sensors with other sensors data, in order to generate an adequate reaction of the robot. Acceleration sensors have been used by (Zhang et al., 2003) for calculating the orientation angles of the modules of a self-reconfigurable mobile PolyBot robot. (Corke et al., 2007) discuss the complementarity of inertial sensors (including acceleration sensors) and vision sensors and describe some fundamental approaches to fusing their outputs and survey the field. Due to its capabilities of interfering and approximate reasoning under uncertainty, Fuzzy Logic seems to be a suitable tool for sensor integration. (Saffiotti, 2001) details the main aspects regarding the use of Fuzzy logic in autonomous navigation for: behaviour design; behaviour coordination; environment modelling; layer integration. (Innocenti et al., 2007) describe a multi-agent architecture with cooperative fuzzy control for a mobile robot, while (Vadakkepat et al., 2007) use a fuzzy behaviour-based architecture to decompose the complicated interactions of multiple mobile robots into modular behaviours at different complexity levels. (Chapman, 1994) presents some very efficient and interesting solutions and C++ routines for implementing fuzzy logic to 8051 8-bit microcontrollers, which have served as a model to do something similar in PBASIC for the 8-bit microcontroller of the BASIC Stamp 2SX board.

Using fuzzy reasoning to guide a mobile robot on a rough terrain.


Dumitriu, Adrian


1. INTRODUCTION

Navigation problems for autonomous mobile robots are very complex and require a large amount of information from vision and range sensors, to build up a map of environment, and powerful command processors to optimize trajectory. These types of sensors cannot seize robots' inclination angles on rough terrains, in order to make necessary trajectory corrections to avoid turning over. Acceleration sensors seem to be very suitable for this purpose and the main problem this paper tries to solve is to find an efficient tool to integrate data from acceleration sensors with other sensors data, in order to generate an adequate reaction of the robot. Acceleration sensors have been used by (Zhang et al., 2003) for calculating the orientation angles of the modules of a self-reconfigurable mobile PolyBot robot. (Corke et al., 2007) discuss the complementarity of inertial sensors (including acceleration sensors) and vision sensors and describe some fundamental approaches to fusing their outputs and survey the field. Due to its capabilities of interfering and approximate reasoning under uncertainty, Fuzzy Logic seems to be a suitable tool for sensor integration. (Saffiotti, 2001) details the main aspects regarding the use of Fuzzy logic in autonomous navigation for: behaviour design; behaviour coordination; environment modelling; layer integration. (Innocenti et al., 2007) describe a multi-agent architecture with cooperative fuzzy control for a mobile robot, while (Vadakkepat et al., 2007) use a fuzzy behaviour-based architecture to decompose the complicated interactions of multiple mobile robots into modular behaviours at different complexity levels. (Chapman, 1994) presents some very efficient and interesting solutions and C++ routines for implementing fuzzy logic to 8051 8-bit microcontrollers, which have served as a model to do something similar in PBASIC for the 8-bit microcontroller of the BASIC Stamp 2SX board.

The paper presents some author's experiments carried out with a very simple mobile robot, controlled by an on-board 8-bit microcontroller and equipped with an infrared range sensor and a 2-axes acceleration sensor. Original contributions are:

* Use of an acceleration sensor to control inclination angles with respect to two axes;

* Integration of data from infrared range and acceleration sensors and control of robot's movements and behaviour using fuzzy reasoning;

* Design of an adequate fuzzy controller and development of PBASIC software routines to implement fuzzy logic to the 8-bit microcontroller.

[FIGURE 1 OMITTED]

2. ROBOT USED FOR EXPERIMENTS

For experiments with acceleration sensors a wheeled robot, named IZEBOT (Inex Innovative Equipment), has been used. The structure of the body plate of the delivered kit allows building up the robot structure presented in Fig. 1.

IZEBOT uses for each of the two wheels a 6/9V and 180 mA DC motor and a ratio of 48:1, with an output torque of 0,4 Nm. DC motors are controlled via PWM outputs and LM 293 power drivers. PBASIC PWM commands allow speed control in 255 steps.

Standard configuration includes two touch sensors, three IR reflector sensors and an IR ranger sensor. Each of the two wheels has 8 oval-shaped holes, used as wheel codes, which during rotation generate impulses counted by adequate incremental sensors.

The control module is build around a BASIC Stamp 2SX (8-bit) microcontroller board and includes:

* Two DC motor drivers with status indicators to show motor direction;

* 8 channel analog ports with a 10-bit A/D converter that can accept up to +5 V;

* 7 channel digital I/O ports (P0/P);

* RS-232 serial port;

* 16 kB memory;

Programs for IZEBOT are developed in PBASIC language and BASIC Stamp environment. Instructions allow access to individual I/O ports, thus, disclosing all the facilities the control module is capable.

This type of robot has been chosen, because integration of the acceleration sensors used, Memsic 2125 from Parallax Inc., is very rapid and simple, both from hardware and software point of view. This sensor, in MEMS technology, contains, internally, a small heater. This heater warms a "bubble" of air within the device. When gravitational forces act on the bubble, it moves and this movement is detected by very sensitive thermopiles (temperature sensors). On-board electronics convert the bubble position (relative to g-forces) into pulse outputs for the X and Y axes.

Main characteristics:

* Measure 0 to [+ or -] 2g on either axis, with less than 1 mg resolution;

* Simple, pulse (PWM) outputs of g-force for X and Y axis, requiring just two I/O pins;

Two sensors, placed in adequate boards, have been mounted on the left and right outsides of the body plate (Fig. 1) using angled joiners and screws and have been connected to 4 available I/O ports, one for each pulse output of g-force for x and y axis of a sensor.

Pulse outputs allow to calculate accelerations with the formula:

A = ((T1 / 10) - 0.5) / 12.5%, (1)

since T2 is calibrated to 10 milliseconds at 25[degrees].

The T1 duration (Memsic output) of each Pin is captured, every 10 ms, in Variable using a "PULSIN Pin, 1, Variable" command for each I/O pin, where the "1" operand indicates that a high-pulse, which begins with a 0--to--1 transition, is measured.

Since BASIC Stamp2SX (8-bit) microcontroller has a pulse-time of 0.8 [micro]s, up to 12.500 pulses can be counted in 10 ms. 6.250 pulses correspond to a 0g acceleration and 6250+1462/6250-1462 pulses to 1g acceleration. in positive or negative direction of the measured axis.

The GP2D120 infrared ranger module can measure a range from 4 to 30 cm, with an output voltage between 0,4 and 2,4 V, when supplied by +5V. A 10 bit ADC converts sensor output in a proportional number as input to the microcontroller.

A lot of experiments have been carried out (Dumitriu, 2008), based on following assumptions and conclusions:

* Axes of the co-ordinate system attached to the robot are selected in accordance to the wheels' configuration and the moving direction of the robot: X axis is the along the median line of the wheels, pointing in the moving direction, Z axis is perpendicular to the base plate, pointing in the upwards direction and Y axis is along the wheel axis.

* Rotations, the robot can be subject to, are restricted: it must lie only on his wheels and rotations with respect to X and Y axes cannot exceed some limits, to avoid overthrow. Due to these facts the vertical acceleration sensor is redundant. The robot can react correctly using only accelerations measured along the X and Y axes.

* Determination of tilt angles is not of interest, because the number of pulses can be used directly, avoiding unnecessary computations. Thresholds for rotation angles are expressed in pulse numbers: 250 for 10[degrees], 500 for 20[degrees], 730 for 30[degrees] etc.

* Robot's behavior was based on following rules: while moving on a flat the robot reacts only to data acquired from other sensors: push-sensors to detect collisions, IR range sensor to avoid obstacles and IR reflector sensors to follow a trajectory. Otherwise the robot reacts to accelerations measured with respect to X and Y axes and, if deviations from the 0g accelerations pulses exceed certain thresholds for one or both of these axes, the robot returns in opposite direction and turns left or right to search for another route.

3. DESIGN OF THE FUZZY CONTROLLER

Since the effect of data evaluation from all types of sensors is the PWM control of the two DC motors in one sense or another, and programs become very complex due to the lot of IF ... THEN statements, used to test different input conditions, the author concluded that fuzzy logic could be a very efficient tool. A fuzzy controller has been designed, including:

* 3 fuzzy input variables: distance expressed in ADC units (mean value of 5 measurements); X-axis and Y-axis accelerations (expressed in pulses divided by 8, since experiments have proved that the sensor drift is in the range of [+ or -] 8 pulses).

[FIGURE 2 OMITTED]

Trapezoidal and triangular membership functions (MF) have been selected for all input variables (fig. 2).

* 2 output fuzzy variables: the PWM outputs for the 2 motors, with values in the range of [+ or -] 255. Each motor is controlled by 2 processor output pins, one, with positive PWM values for moving in forward direction, the other with negative PWM values for the opposite direction. Singleton MFs have been selected for outputs at 0, [+ or -] 64, [+ or -] 128, [+ or -] 192, [+ or -] 255 PWM pulses.

* Rules sets, with different numbers and configurations, based on the same principle: as far as the terrain is flat and no obstacles are detected, the robot moves forward with maximum speed. Otherwise it slows down and turns right or left, or moves backward, to search for another more suitable path.

4. CONCLUSION

Studies and experiments presented have proved that fuzzy logic is an efficient tool for a proper and robust reaction of a mobile robot to his environment, seized with different types of sensors. Future work will be dedicated to optimize the fuzzy controller with respect to the membership functions and rules set and to extend the group of sensors used for a proper robot's behaviour.

5. REFERENCES

Chapman, M. (1994). The Final Word on the 8051, Chapter 11 "Bumpin' Fuzzies with the 8051", pp. 222-255, Available from: www.8051projects.net, Accessed: 2008-04-15.

Corke, P.; Lobo, J. & Dias, J. (2007). An Introduction to Inertial and Visual Sensing, The International Journal of Robotics Research, Vol. 26, No. 6, June 2007, pp. 519-535, SAGE Publications

Dumitriu, A. (2008). Integration of Acceleration Sensors Data in Robot Control Systems, Proceedings of 2008 IEEE International Conference on Automation, Quality and Testing, Robotics AQTR 2008 (THETA 16, Poster Session, pp. 83-87, ISBN 978-973-713-248-2, Cluj-Napoca, Romania, May 2008

Innocenti, B., Lopez, B. & Salvi J. (2007). A multi-agent architecture with cooperative fuzzy control for a mobile robot, Robotics and Autonomous Systems, 55 (2007), pp. 881-891, Elsevier B.V.

Saffiotti, A. (2001). Fuzzy Logic in Autonomous Navigation. In: Fuzzy Logic Techniques for Autonomous Vehicle Navigation, D. Driankov and A. Saffiotii (Ed.), pp. 3-24, Springer-Physica Verlag

Vadakkepat, P., Peng, X., Kiat, Q. B. & Heng, L. T. (2007). Evolution of fuzzy behaviours for multi-robotic systems, Robotics and Autonomous Systems, 55 (2007), pp. 146-161, Elsevier B.V.

Zhang, Y et al (2003). Sensor computations in modular self reconfigurable robots, In: Experimental Robotics VII, B. Siciliano and P. Dario (Ed.), pp. 276-286, papers from Eight International Symposium on Experimental Robotics (ISER 2002), Springer Verlag
联系我们|关于我们|网站声明
国家哲学社会科学文献中心版权所有