RoboCupRescue 2009 - Robot League Team Cuerbot (Mexico)
Jose J. Lopez, Gerardo M. Mendez, Israel Lopez, Dolores Martinez, Axel Candanosa
Instituto Tecnologico de Nuevo Leon, Av. Eloy Cavazos 2001, Tolteca Guadalupe, NL MX 67170; Universidad TecMilenio, Las Torres Lazaro Cardenas 2610, Del Paseo Residencial Monterrey, NL, MX 64909
Abstract This project is developed based into 6 wheels with gravity center fixed mobile robot for rescue operations in Mexico, our principal effort is to develop a type-2 fuzzy logic algorithm to evaluate victim state and position; in this project use an embedded topology to apply our control algorithms and manage data acquisition and actuator enveloped. Robotic design includes an innovative technique to evaluate route measurement with dual sensor style.
Introduction
For this project we are working in a real situation of support for rescue teams of Nuevo Leon State, our topography is special for tracking vehicles and for this reason work with this type locomotion system. Taking as reference RoboCup rules [1], we consider CO2, body temperature, sound and video processing; additional variables to consider are proximity detection and level position. To link all these variables we use I$^2$C network in this case, every node in this network have either two elements: microcontroller and level conversion circuit. This microcontroller has a simple responsibility, manage a Universal Algorithm to Read/Write our Environment (UARWE), this algorithm includes protocol algorithm. All this nodes are controlled by an embedded card that uses C++ as platform to develop mapping and robot control. Some previous works was presented by [2,4,5,6]
For control algorithm we use two programs: one based in fuzzy logic type II with two options to evaluate, both are developed in embedded card with C program, this program consider CO2, body temperature (IR sensor), displacement and voice as inputs to evaluate, as output victim detection and, second Finite State Machine FSM algorithm is developed for single robot´s displacement. It´s very important take a consideration always manual control of robot movement is present and control algorithm helps to give a guide to operator to drive this robot.
For a communication we use two links to make contact with operator and robot, WiFi type N net is used for PC-PC communication, with regular configuration defined for parameters of TCP/IP protocol. In this case one computer (master) controls robot and another computer is a slave of the other, using software to remote control. The frequency managed is 2.4 GHz, and all characteristics enveloped in WiFi Consortium.
For video management we use two cameras: fix and mobile respectively. Fix camera uses WiFi link this camera generate a high quality image to process with control algorithm, but previous experience the use of this type of cameras generate noises by robot movement, to minimize we use a analog modulation (FM) wireless camera and send your signal to receiver, for this case, carrier signal is located at 2.4 GHz.
Additional hand radios are used to communicate with victim, one in vox mode located inside of robot and other in Operator Station as half duplex mode, this radios are using amateur frequency 146 MHz in FM mode. To give exact position of robot we consider two sensors to evaluate this date, gyroscope MEMS sensors that evaluate three axis position and acceleration and two encoders to make a measure of two axis positions, both variables are connected to microcontrollers commented lines up. Around robot structure we fit six proximity sensors to detect wall and free space, all processing is realized in control algorithm.
As mechanical references we use three mass elements to move this robot, one is main structure where caterpillar and mechanisms are linked to produce X, Y movement, another two structures are helping to climb and move down the main structure, every structure has a similar bonds with tracking system, maintaining or trying to, fit always our center of gravity.
For all this work we made some research over projects presented in lasted RoboCup competitions and as reference our participation in 3rd Latin America Open RoboCup in Rescue Robot League, we try to evaluate our preliminary results and obviously our actual participation will be reflected in a potential product to introduce to national market free of providers of rescue robots.
1. Team Members and Their Contributions
Dolores Martinez-Villarreal Controller development and sensors DAQ design
Israel Lopez-Escobedo Mechanical design and actuator design
Axel Candanosa-Salazar Electronic systems design
Maximiliano Mendez Operator and controller development Jesus Lopez-Villalobos Advisor and Communications design
2 Operator Station Set-up and Break-Down (10 minutes)
The operator system is packed in one middle Cuerbot suitcase, and the robot is also packed in one large size Cuerbot traveling box.. Suitcase weight will not exceed 10 kg. and our robot is previously fully ensembles, to large travel it can be dismounting an re ensemble again. Our Operator Station is formed by Computer (laptop) dedicated as interface of embedded card located in robot, all programs are located there; another accessory is one video and receiver of fix camera and the last element is a hand radio to receive environment sound from robot. All are fixed ergonomically with suit case. A regular power supply is added to manage 110 VCA, but it is prepared for emergency energy plant or 12Vcd batteries. The setup is quickly is just plug and play and for break down in similar way.
3 Communications
The method of communication between the user and the robot will be by means of one laptop that have control over other embedded computer managed remotely, communicated a network Wi-Fi type N. Internal communication will be handled directly with I$^2$C network that will connect to microcontrollers with net bus [15], who will be in charge to receive and to carry out the orders that the mother-board requires Another links are used for FM video transmitter with 2.4 GHz frequency; for voice link uses a regular hand radios in the VHF amateur band (144-148 MHz).
Table 1. Frequencies table used for this robot.
| Frequency | Channel/Band | Power (mW) |
|---|---|---|
| 2.4 GHz - 802.11n | 3 | 500 |
| 2.4 GHz - Other | FM | 500 |
| 147 MHz | 147.5 MHz | 1000 |
4 Control Method and Human-Robot Interface
In the control method, already detected the variables of the victim by means of the sensors they are analyzed by means of fuzzy logic type I methodology. For the process of fuzzyfication the operators used are Min-Max method, this give us an implication of variables becomes taking minimum from the exit variables, they are added considering its maximum values of each one of the same exits of the activated rules, and the method of desfuzzification is the centroid in the diffuse algorithm obtained a total of 8 evaluated rules and at the moment it is continued valuing the exact specification of the model for the detection of victims; as reference, comparing with old model reduce 30 % of computational process. For future hardware mapping decision, consider two steps for fuzzy control, first victim's found subsystem and second voice analyze subsystem; for linguistic description variables Gaussian shapes are preferred, but in some cases trapezoidal graphs are used too. Some preliminary results, give us some differences about victim age; and it's expressed by different desfuzzification phase outputs with similar form but variable highly dependent of age. The last results give opportunity to use type-II fuzzy logic as methodology to found better refined desfuzzification victim variable [8]. All environments are developed in C++ platform to take access to interfaces and be compatible with OS. This part is been currently developed, but this manages motion control and victim detection indication in robot teach box, we are trying to connect a mechanical displacement accessory (joystick), using info packet over TCP/IP. Some references were in [3,6].
4.1 Type-2 fuzzy logic systems
It is possible to assign an amplitude distribution to all of those points. This amplitude is named a secondary grade of general type-2 fuzzy set. When the values of secondary grade are the same and equal to 1, there is the case of an interval type-2 membership function. In human detection, the inputs of the IT2 FLS model are the victim's body temperature, CO2 composition, and the voice frequency.
The architecture of the IT2 FLS is established in that way those parameters are continuously optimized. The number of rule-antecedents are fixed to three; one for the body temperature (divided into three IT2 fuzzy sets), one for the CO2 consumptions (divided into five IT2 fuzzy sets), and one for the voice frequency (divided into five IT2 fuzzy sets), resulting (3 * 5 * 5 = 75) twenty five rules. Gaussian primary membership functions of uncertain means are chosen for the antecedents and consequents.
The resulting interval type-2 TSK FLS uses type-1 singleton fuzzification, join under maximum t-conorm, meet under product t-norm and product implication.
The training mechanims used is the back-propagation (BP) method.
The IT2 CTC model has three four inputs $x_1 \in X_1$, $x_2 \in X_2$, and $x_3 \in X_3$ and one output $y \in Y$, and a rule base of size M = 75 of the form:
$$\widetilde{R}^I: \text{IF } x_1 \text{ is } \widetilde{A}_1^I \text{ and } x_2 \text{ is } \widetilde{A}_2^I \text{ and } x_3 \text{ is } \widetilde{A}_3^I \text{, THEN } y \text{ is } \widetilde{G}^I$$
where l=1, 2, ... 75. These rules represent a fuzzy relations between the input space $X_1 \times X_2 \times X_3$ and the output space Y, and are complete, consistent and continuous.
The primary membership function $\widetilde{A}_1^l$, $\widetilde{A}2^l$ and $\widetilde{A}3^l$ of each consequent is a gaussian function with uncertain means, see Fig. 1. Since the center-of-sets type-reducer replaces each consequent set $C{\widetilde{G}l}$ by its centroid then $v{i,l}^l$ and $v{i,l}^l$ are the consequent parameters
centroid, then $y_l^l$ and $y_r^l$ are the consequent parameters. Initially, only the input-output data training pairs $(x^{(l)}:y^{(l)})$, $(x^{(2)}:y^{(2)})$, ..., $(x^{(N)}:y^{(N)})$ are available and the initial values for the centroid parameters $y_l^l$ and $y_r^l$ may be determined according to the linguistic rules from human experts, as is the case of this application.
In this moment, we are defining our expected results based into knowledge base of Operator experience in rescue operations and 6 possibilities are been evaluated in this moment according human age [9-13]. For basic movement of robot an Finite State Machine FSM algorithm is currently designed for manual control, the simple way to represent this control is following joystick over user indicated displacement, i.e., moving left indicates to motor their current flow and as speed regulation based into two PWM duty cycles previously fixed ( k= 0.45 and 0.8).
Both control algorithms are initially implemented in embedded card that support our software tools to develop this control software, the JRex – PM card fit all our expectative to develop our controller, some specifications and card picture are depicted above. As mass data store and booting we use 8 GB USB memory, [12, 13].
5 Map generation/ printing
For mapping generation we are designing a program to detect obstacles and give telemetry info about position of robot and victim detection. We are integrating in embedded card a control protocol program that obtains info of encoders, gyroscope and accelerometers, all of them are processed for this program. An develop XÝ map tool is currently developed to show and print robot position, in this moment only simple detection of trajectory is created, for victim detection fuzzy algorithm helps to main program to establish the possibility of victim presence. For measurement proposes, we are using metric units. This program is making developed in Visual Basic linked with C++ programs.
6 Sensors for navigation and localization
For this purpose we use old sensor scheme used in previous prototype, remembering it consider two element to make it, two absolute encoders located into robot structure an they give us 360$^o$ for X-Y Axis motion, their mechanical mounting will be specified in the next sections. In this case electrical parameters are compatible with TTL level managed by microcontrollers used in this robot, all information is driving with control PC program into embedded card. The resolution of this sensor is 4 revolutions by one track band revolution considering 0.000694 lineal meters reflected in X- Axis and for Y-Axis consider angular displacement 1440 pulses by revolution.
Another innovator element included is a gyroscope based in MEMS technology to give us either two parameters: level and acceleration measurement, digital output in serial format is used to communicate with your corresponding microcontroller. This smart sensor has a resolution of 0.004$^o$ by axis and considers 3D level detection and, in similar manner is treated acceleration measurement.
Both displacement sensors used are evaluated to prevent false measurement by wheels sliding and another characteristic is to evaluate level for mapping purposes.
As proximity wall and space detection we use six optical sensors symmetrically hosted in robot structure to give to control program information about tracking and obstacles detected for these sensors, they are directly coupled to microcontrollers because they have fixed distance detection and obviously use discrete signals.
7 Sensors for Victim Identification
This type of sensors is the senses of our robot since by means of it will obtain the data required for the detection of victims.
The types of sensors to use are:
- CO2 sensorial gas: It contributes to the perception and identification of the gas emitted by the called man CO2 is not necessary its calibration, can detect from 0 to 100,000ppm is necessary with that sensor is necessary to be located to a 50.000 distance of 5cm. This sensor is one of but the important ones since. This type of sensor will be used table 3.
- Two encoders absolute: Located one in each gear of the flank of the robot, it will show to the number of returns or revolutions to us that each gives to the band that crosses a certain position.
IR sensorial: this type of sensor will be used to locate at a distance to victim from its broadcast temperature and it detected it at the moment and this information soon was sent to give alert of victim located. Their output voltage is easy to link to microcontrollers because is 0 to 5 volts range.
7.1 Pan and tilt camera
Pan and tilt Camera with a horizontal movement 180º and a heave 60º with the aid of software of obtains the image in the controller of the robot, [9]. This camera is connected directly to embedded card using USB link.
7.2 Analog FM wireless camera
By the distortion of the noise of the digital camera was necessary to use an analogous wireless camera, some additional info may be founded in [8]. This camera uses FM to manage audio and video continuously from camera transmitter to receiver in the operator station.
8 Robot Locomotion
Our robot is composed by two rigid bodies and auxiliary bounds mechanism that support all mobile parts over displacement structure, this design is based into VolksBot XT model depicted in [25], but some specific mechanics was adapted for our necessities. Obviously, electronically is quite different because our control programs and hardware is designed for us, to evaluate different strategies and necessities for rescue operations. Total size of robot's world is 24 x 30 inches.
Transmission
Our Robot get move through a transmission whit 5 Gear and tow Pulleys It is show in the Figure 8.2, all the Gears have a relation of 1:1. Thus when the motor gives a turn, all the Gears gives a Turn
The model is ideal for hard environment to move, we only modify the structure internal of the robot.
In the figure 8.3, we can see the movement of the wheels, the wheel C is fixed while the wheel A and B can UP and Down respectively
The follow table shows how the movement about wheels A and B. is
Table 1. Symmetrical movement of 4 bounds mechanism.
| A | B |
|---|---|
| UP | Down |
| Down | UP |
Encoder
The robot counts on 2 motors CD (12V) used to send traction in the bands of the Tires.
When we want Turn Right, the motor A run Forward and the motor B run backward but if we want turn left the motor B run Backward and the motor A run Forward
These motors will transmit his torque wings rims by means of a system of gears with a relation:
- 1:1 Rim Motor-gears
- 1:1 Gear-rim band
For the location of the robot we counted with two to encoder fig 8.6 located to the flanks of the robot having a relation with the band of 4:1.
Right now, our efforts are focused into finite element analysis for stress forces applied for structural model, to evaluate possible environment conditions where robot will be working in arenas and rescue operations. These results will be presented in our poster session during contest.
9 Other Mechanisms
The robot counts with pan /tilt integrated camera, mounted over main structure, over it IR temperature sensor, CO$_2$ sensor and sound microphone. This disposal was for scanning procedure to try to find victims based into space-area delimitation applied into control algorithm to specify state and status victim.
10 Team Training for Operation (Human Factors)
In order to operate the system of the Cuerbot in the movement aspect, it is necessary to know where one is its point of balance and its different movements, as well as its length, speed and the distance of turn in the direction. In addition to its different functions as they are, the form to elevate the dynamic camera, and as is its length of elevation; the form to interpret the values of the different sensors, like: infrared, sensorial sensor of CO2, sensor of temperature, in addition to the proximity sensors that are located in the flanks, to the front and in the back part of the Cuerbot. Essential robot drive teaching is be developed either State Rescue Team and our Team.
11 Possibility for practical application to Real Disaster Site
We are currently working with INVITE program, that consider new projects with new technology and developing, the main goal is to give us tools to put this robot into market, and another thing is that we are working together with Emergency State Services to share training and provides of one robot for community service. Remember our objective is to try to solve a local problem we don't have any rescue equipment similar here.
12 System Cost
System cost breakdown as shown in the table below.
System cost total
| Concept (model) | Cost per piece |
|---|---|
| TOTAL COST APROX | $5,359 usd |
13 Lessons Learned
This is a new experience over develop a small, light and transportable robot because for a real application needs a robot with these facilities. Another important thing is our artificial intelligence application improvement based into embedded technologies, all experiences are good goals for new knowledge for this research group and give us an opportunity to support our bachelor and master degrees related (human resources and specific project related with companies). We will aggregate more info about our experiences when we will be participating in this RoboCup 2009 at Austria.
References
- Adam Jacoff, Elena Messina, Brian A. Weiss, Satoshi Tadokoro, and Yuki Nakagawa, Test Arenas and Performance Metrics for Urban Search and Rescue Robots, Proceedings of the 2003 IEEE/RSJ Int. Conference on Intelligent Robots and Systems Las Vegas, Nevada, October 2003, 3396-3403.
- Hiroaki Kitano, Satoshi Tadokoro, Koichi Osuka4, RoboCup Rescue Project: Challenges and Benchmark, Proceedings of the 2000 IEEE/RSJ International Conference on Intelligent Robots and Systems, 1886-1993.
- Ashraf Aboshosha, Adaptation of Rescue Robot Behaviour in Unknown Terrains Based on Stochastic and Fuzzy Logic Approaches, Proceedings of the 2003 IEEE/RSJ Int. Conference on Intelligent Robots and Systems Las Vegas, Nevada, October 2003, 2859-2864.
- Bryan M. Hudock, On the Development of a Novel Urban Search and Rescue Robot, United States Naval Academy, 451-455.
- A. Carbone, A. Finzi, A. Orlandini, F.Pirri, G. Ugazio, Situation Aware Rescue Robots, Proceedings of the 2005 IEEE International Workshop on Safety, Security and Rescue Robotics Kobe, Japan, June 2005, 182-188.
- H. N. Pishkenari, S. H. Mahboobi, and A. Meghdari, On the Optimum Design of Fuzzy Logic Controller for Trajectory Tracking Using Evolutionary Algorithms, Proceedings of the 2004 IEEE Conference on Cybernetics and Intelligent Systems, Singapore, 1-3 December, 2004, 660-665.
- Fumitoshi MATSUNO, Satoshi TADOKORO, Rescue Robots and Systems in Japan, Proceedings of the 2004 IEEE International Conference on Robotics and Biomimetics August 22-26, 2004, Shenyang, China, 12-20.
- Karnik NILESH, Mendel JERRY, Introduction to Type-2 Fuzzy Logic Systems, IEEE Proceedings of Fuzzy Systems, 1998, USA, 915-920.
- Bin-Da Liu, Chun-Yueh Huang, Design and Implementation of the Tree-Based Fuzzy Logic Controller, IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, VOL. 27, NO. 3, JUNE 1997, USA, 475-487
- Chuen LEE, Fuzzy Logic in Control Systems: Fuzzy Logic Controller-Part I, IEEE Transactions on Systems, Man, and Cybernetics, Vol. 20, no. 2 March/April 1990, USA, 404-418
- Chuen LEE, Fuzzy Logic in Control Systems: Fuzzy Logic Controller-Part II, IEEE Transactions on Systems, Man, and Cybernetics, Vol. 20, no. 2 March/April 1990, USA, 419-435
- Brox M., Gersnoviez A., Sánchez-Solano S., Baturone I., Controlador difuso para problemas de navegación en presencia de obstáculos fijos Proc. XIII Congreso Español de Tecnologías y Lógica Fuzzy, pp. 29-34, Ciudad Real, Sep. 22-29, 2006.
- Cabrera A., Sánchez-Solano A., Barriga, Brox P., Moreno-Velo F.J., Baturone I. Plataforma para el Desarrollo de Controladores Difusos como Sistemas Empotrados Proc. XII Congreso Español de Tecnologías y Lógica Fuzzy, pp. 177-182, Jaén, Sep. 15-17, 2004.
- http://www.logitech.com/index.cfm/webcam_communications/webcams/devices/3480&cl=us,en, web site at March 2008.
- http://www.infokrause.com/camara_vivotek_FD7131_dual_codec_poe_ik.htm, web site at March 2008.
- http://www.pc-adictos.com.ar/hardware/de/tc-320.html, web site at March 2008.
- https://www.sealevel.com/uploads/manuals/3544.pdf, web site at March 2008.
- http://www.pc104.org/cgi-bin/detail_pc104.cgi, web site at March 2008.
- http://us.kontron.com/downloads/manual/BQBAM113.pdf, web site at March 2008.
- http://www.analog.com, web site at October 2008.
- http://www.maxim-ic.com, web site at October 2008.
- http://www.imse.cnm.es/Xfuzzy/, web site at November 2008.
- http://www.ohloh.net/p/SimForge, web site at January 2009.
- http://www.ida.liu.se/labs/pelab/modelica/OpenModelica.html, web site at January 2009.
- http://www.volksbot.de/robots.php, web site at January 2009.