Team description paper of CFZ Team
Seyed Behzad Tabibian, Shiva Shahrokhi, Seyed Alireza Khatamian Oskooei, Soroush Mortezapur
Chabahar Free trade-industrial Zone Organization (CFZ), Robotic Association Labs
Abstract This paper is a review of the software developed by CFZ Rescue team for participating in RoboCup 2009 Virtual Robot Competitions. The software is developed on the basis of STEEL team developed software. Several features are being added to the original software, and some other features have been altered.
1. Introduction
CFZRESCUE team initiated its work in late 2007 in the field of Virtual Rescue. It participated in two competitions (Iran Open 2008 & China RoboCup 2008) under the name of IUST and under the affiliation of Iran University of Science and Technology. The team's goal was to design a set of virtual robots which could work heterogeneously with a human operator in accordance with Virtual Rescue goals in for a high fidelity environment developed and supported by National Institute OF Standards and Technology named USARSim[6].
Returning from China, IUST team members decided to work under the affiliation of International University of Chabahar (IUC) and participated in the International IRAN Open 2009 Robotic Competitions. Continuing the process team was formed as Chabahar Free Trade-industrial Zone Organization (CFZO) and formed CFZ Virtual Rescue team.
Our software, developed for participating in 2008 competitions, suffered from an important shortcoming. This shortcoming was due to failures of modules trying to work together. Our consideration on other architectures led us to use an architecture based on Steel Code [1] and Machinneta [2] implementation. We have decided to use such architecture to test and develop other modules accurately. In addition, other platforms are being considered such as Microsoft Robotic Studio.
2. Localization and Mapping
The method used in previous work was based on implementations of SLAM (Simultaneous Localization and Mapping) algorithm, called DP Slam [3]; however, like other SLAM algorithms; this method has also severe computational cost which prevents the agent working smoothly. Therefore, team decided to consider other approaches to solve the mapping challenge in this field.
Another well-known approach used to solve this problem is the Scan Matching based algorithms. There is a wide variety of implementations for Scan-Matching algorithms, mainly based on matching geometry features extracted from a reference scan with new features extracted from the new scan. This is the implementation used in STEEL code. There is a major criticism to this approach inherited from any kind of feature based algorithms. There are situations where not enough features can be extracted from the environment (i.e. outdoor environment). In these cases the algorithms' accuracy decreases drastically.
There is another way of implementation which is based on point to point matching of two scans. This algorithm is also used widely but has got its own disadvantages as well. The main disadvantage is the accuracy of this algorithm which is less than a feature based algorithm when enough features may be extracted from the environment.
In order to overcome the disadvantages of both approaches, we decided to utilize both algorithms and use the appropriate one in according to the situation, using the former at indoor scenarios and the latter at outdoor environments.
3. Navigation
This section covers path planning and obstacle avoidance.
1. Path Planning
After our successful experience on obstacle avoidance controller we decided to implement a path planning algorithm in order to move more efficiently and also decrease the possibility of situations where a normal path follower cannot perform correctly.
The algorithm which is being integrated into our Navigation system is D* algorithm [4]. This algorithm is an improved version of well known A* algorithm. It is designed for dynamic environment with dynamic elements and also situations where we do not have a complete and accurate map of environment. This algorithm changes the cost of different paths reaching the goal point as it discovers new areas and objects on its map.
2. Obstacle Avoidance
One of the most challenging problems in Urban Search and Rescue scenarios is to avoid obstacles in robots trajectory. Our initial approach to solve this problem was to use a VFH based algorithm. Even though this algorithm works properly, there are situations which cannot be addressed using this algorithm.
Our next approach is to implement a modified version of Potential Field algorithm [3]. Even though this algorithm can be used as a Path planner algorithm; we decided to use it only as an obstacle avoidance controller since a more professional algorithm is being used for path planning.
4. Communication
Communication between agents and operator is one of the most important parts of the code. Without having a good implementation for this part, information cannot be collected from the agents, and therefore goals cannot be achieved. According to the implementation in STEEL code, the use of Machinetta makes this part robust and in many aspects fault tolerant, so a decision was made to use this part as it is.
5. Victim Detection
Although victim detection is one of the most important sectors, no serious work has been done in this field yet. So it is decided to concentrate on this subject.
Our victim detection structure consists of 2 main parts; VictSensor and image processing. Since VictSensor is an abstract simulation of an image processing algorithm, we used it as a helper sensor for the operator and our own implemented algorithm.
The algorithm we use for determining victims in an environment is based on an algorithm called SIFT [5] Scale-invariant feature transform. There are several advantages for this algorithm. This algorithm is invariant to image scale and rotation and is also robust to changes in noise and minor changes in view point. We are still considering other possible methods to utilize in this field.
6. Future Work
The most important goal of robotic research community is to achieve the best and most efficient algorithms, theories and methods. On this basis, our future work is as listed below:
- Image Processing: Image processing can be used for recognition of other objects that exist in the environment, so, we will try to use image processing for recognition of special objects such as tables, chairs and machines.
- Air Robot: using air robot for communication among other robots as a relay; is another solution for communicating among robots. The other usage of Air Robot is to collect information about victims. By this information, there can be a better justification about location of victims.
- Localization and Mapping: according to previous work done in this field, several tasks are planned to be done in future. These tasks include improvement in Scan-Matching algorithms and approaches to build a 3 dimensional map which can be achieved by multi dimensional SLAM algorithms.
- Fully Autonomous Navigation: One important goal of robotic research community is the capability of moving a robot autonomously without any external control by operators. In future, there will be an attempt to make a robot with this capability in addition to manual movement.
- Considering other software architectures used for developing robots programs, such as Microsoft Robotic Studio.
References
- Prasanna Velagapudi1, Jun-young Kwak1, Paul Scerri1, Michael Lewis2, and Katia Sycara1, MrCS - The Multirobot Control System, Robocup TDP 2008.
- Scerri, P., Pynadath, D., Schurr, N., Farinelli, A., Gandhe, S. and Tambe, M., Team Oriented Programming and Proxy Agents: The Next Generation, In Proceedings of 1st international workshop on Programming Multiagent Systems, Springer, LNAI 3067, 2004.
- Roland Siegwart,Illah R. Nourbakhsh, Introduction to Autonomous Mobile Robots, MIT Press.
- Anthony Stentz, Optimal and Efficient Path Planning for Partially-Known Environments, In Proceedings IEEE International Conference on Robotics and Automation, May 1994.
- David G. Lowe,Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, 2004.
- USARSim V3.1.1 A Game-based Simulation of mobile robots, Prepared by Jijun Wang Edited by Stephen Balakirsky Roland Siegwart, Illah R.Nourbakhsh, "Introduction to Autonomous Mobile Robots," Massachusetts Institute of Technology, Prentice-Hall . 2004.