YILDIZ Team Description Paper for Virtual Robots Competition 2016

Sırma Yavuz, M. Fatih Amasyalı, Muhammet Balcılar, Erkan Uslu, Furkan C¸ akmak, Nihal Altunta¸s, Salih Marangoz

Yıldız Technical University, Computer Engineering Department, Istanbul, Turkey

http://www.robotics.yildiz.edu.tr · https://staff.fnwi.uva.nl/a.visser/activities/FutureOfRescue/index.php · https://github.com/YildizTeam/SkidSteeringNoiseModel · https://github.com/YildizTeam/Multi-Robot-Mapping


Abstract This paper is a short review of technologies developed by YILDIZ team for participating in RoboCup 2016 Virtual Robot Competitions. This year our focus is on improving our multi-robot SLAM abilities, and also adapting competition environment changes.

Keywords: ROS, Gazebo, Multi-robot, Mapping, SLAM, Simulation

1 Introduction

Probabilistic Robotics Group of Yıldız Technical University, which consists of a team of students and academicians, has been working on autonomous robots since its establishment in 2007. Autonomous robots can perform desired tasks without continuous human guidance which is necessary for Urban Search and Rescue area [1, 2]. RoboCup 2014 world championship was the fourth experience of our team on RoboCup. We took second place at Mexico RoboCup, Netherlands RoboCup and Brazilian RoboCup competitions. We have learned a lot of lessons over years as following:

  • Our user interface is very useful.
  • Our message routing protocol is very useful.
  • Our autonomous navigation algorithm by obstacle avoidance is very useful.
  • Our image enhancement algorithm is very useful.
  • Our SLAM algorithm is very useful. But its distributed version should be developed.
  • We should improve our air-robot localization algorithm.
  • We should improve our automatic victim detection algorithm.
  • We should improve our autonomous exploration algorithm especially for the communication limited areas.

This year, competition environment has changed from USARSim to Gazebo/ ROS [3, 4], as discussed in The future of robot rescue simulation Workshop [5]. So our main effort was for adopting to the new environment. We mainly focused on multi-robot mapping in Gazebo environment. And also we proposed a noise model for P3AT's odometry data (in Gazebo skid steering plugin) [6].

2 YILDIZ TDP 2016

The team members and their contributions

Table 1. The team members and their contributions

Area Contributors
Control interface Furkan C¸ akmak, Erkan Uslu
Multi-robot SLAM Muhammet Balcılar, Nihal Altunta¸s
Odometry Noise Model Muhammet Balcılar, Erkan Uslu, Furkan C¸ akmak
Exploration Salih Marangoz, Erkan Uslu, Nihal Altunta¸s
Supervising, system design Sırma Yavuz, M. Fatih Amasyalı

2 System Overview

The main software modules are user interface, localization, mapping, navigation and exploration. Robots on their own have all those modules equipped and ready-to-use. As a ground robot we use the Pioneer 3AT model. The sensors to be used are determined as Hokuyo URG04L model laser scanner, RGBD camera and odometry sensors.

3 User Interface

ROS packages such as RVIZ and RQT are used for user interface design. In Figure 1 our basic control interface can be seen. This interface enables user to view built map, RGB video from each robot, depth data from each robot and also steer each robot.

Fig. 1. Basic control interface based on RQT.
Fig. 1. Basic control interface based on RQT.

4 Odometry Noise Model

The position values are generated without noise in the Gazebo plugin for the robots which will be used in RoboCup Rescue Simulation League (RRSL) 2016. This situation does not fit a realistic simulation environment. With this motivation, we implemented odometry noise model [1] for the skid steering Gazebo plugin.

5 Multi-robot SLAM

RRSL tasks mainly focus on multi-robot cooperation. In rescue scenarios, simultaneous localization and mapping (SLAM) is the most desired ability. There are several effective mapping algorithms in Gazebo/ROS environment for a single robot. But, there is no common multi-robot SLAM algorithm. In literature [7, 8], ROS based multi-robot studies focus on map merging. Each robot runs on a different ROS core and generates own map. Then, their maps are merged to enable cooperative search. These studies assume that the robots dont know each others initial poses. However, in RRSL and real rescue tasks, a communication station knows initial poses with a little noise. RRSL competitors should develop their own multi-robot mapping algorithm to make their robot cooperate. With these motivations, we examine multi-robot usage within the Gazebo environment. We also present a multi-robot map building algorithm based on a grid based mapping for the RRSL competitors.

One possible solution of multi-robot map building is to run incremental mapping serially for each robot. However with this method each robot should wait for other robot's mapping steps, this may increases the volume of unprocessed data. When we examined the whole process in detail we figured out that robot position update and optimization steps only read shared memory (map data). But register step writes to a shred memory. With this observation, position update and optimization steps for each robot are parallelized.

Proposed architecture for multi-robot mapping is given with Figure 2. As seen in figure z (laser scans) and u (odometry data) are provided by Gazebo/ROS simulation for each robot. Our architecture consists of parallel optimization steps for robot pose estimation processes and serial registerscan step for map construction.

In our detailed profiling analysis we saw that CPU consumption of Register block is at least 10 times less than whole process for a single robot. In other words our approach parallelizes 90% of each robot processes.

Let A is the number of optimized scans per unit time with the single robot run. If number of robots (N) is not higher than CPU core number, total number of optimized scans is almost N × A, when robots are simultaneously running with our method.

The implementation of the proposed multi-robot mapping algorithm is run on Gazebo (v.5), ROS (indigo), Ubuntu OS (v.14.04) environment. Gazebo is run with a 2012 RRSL preliminary map and spawned 3 P3ATs. TF tree based on this situation is given with Figure 3.

The maps belonging to single robot runs are given together with simultaneous multi-robot mapping results at Figure 4 and Figure 5 respectively [9].

${\bf Fig.\,2.}\ {\bf Simultaneous\ multi-robot\ mapping\ architecture}.$
${\bf Fig.\,2.}\ {\bf Simultaneous\ multi-robot\ mapping\ architecture}.$
Fig. 3. ROS TF graph for simultaneously operated multi-robot Gazebo simulation.
Fig. 3. ROS TF graph for simultaneously operated multi-robot Gazebo simulation.

6 Exploration

Our autonomous exploration strategy is based on finding the frontiers having the most potential. A frontier is defined as an area consists of connected grids having unexplored neighbor grids. The potential of a frontier is calculated according to Eq. 1.

$$p(F,R) = \frac{A(F)}{distA(F,R)}$$ (1)

In Eq. 1 F is the frontier, R is the robot, A (F) is the area of the F, distA (F, R) is the length of the minimum path between F and R. distA (F, R) is calculated with A* algorithm. A frontier having the biggest p (F, R) value is selected as the goal. When we have multi robot, a robot-frontier matching method should be applied. We decided to use the method proposed in [10]. In Figure 5 frontiers can be seen as light gray wavefront like areas.

7 Conclusion

In this paper, we give an overview of what our team developed for this year. We concentrated to the developing of our multi-robot SLAM algorithm, and exploration techniques. Our multi-robot mapping algorithm can be accessed from [9]. Odometry noise model for Gazebo skid steering plugin can be accessed from [6].

Acknowledgments. This research has been supported by Turkish Scientific and Technical Research Council (TUBITAK), EEEAG-113E212 and Yıldız Technical University Scientific Research Projects Coordination Department (Project Numbers: 2015-04-01-GEP01 and 2015-04-01-KAP01).

Fig. 4. Single robot runs using SLAM.
Fig. 4. Single robot runs using SLAM.
Fig. 5. Simultaneous multi-robot mapping result.
Fig. 5. Simultaneous multi-robot mapping result.

References

  1. Thrun, S., Burgard, W., Fox, D.: Probabilistic Robotics (Intelligent Robotics and Autonomous Agents). The MIT Press (2005)
  2. Balaguer, B., Balakirsky, S., Carpin, S., Lewis, M., Scrapper, C.: USARSim: a Validated Simulator for Research in Robotics and Automation. In: IEEE/RSJ IROS 2008 Workshop on Robot Simulators: Available Software, Scientic Applications and Future Trends (2008)
  3. Koenig N., Howard A.: Design and Use Paradigms for Gazebo, an Open-source Multi-robot Simulator. In: Proceedings IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2004), vol.3, pp. 2149-215 (2004).
  4. Quigley, M., Conley, K., Gerkey, B.P., Faust, J., Foote, T., Leibs, J., Wheeler, R., Ng, A.Y.: ROS: an Open-source Robot Operating System. In: ICRA Workshop on Open Source Software (2009)
  5. The Future of Robot Rescue Simulation Workshop, 29 Feb. 4 Mar. 2016, https://staff.fnwi.uva.nl/a.visser/activities/FutureOfRescue/index.php
  6. YildizTeam Gazebo Skid Steering Plugin with Noise Model https://github.com/YildizTeam/SkidSteeringNoiseModel
  7. Martins, J. A. S.: MRSLAM-Multi-Robot Simultaneous Localization and Mapping. University of Coimbra, M.Sc. Thesis, (2013)
  8. Lazaro, M. T., Paz, L. M., Pinies, P., Castellanos, J. A., Grisetti, G.: Multi-Robot SLAM Using Condensed Measurements. 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp 1069–1076, (2013)
  9. YildizTeam Multi-Robot-Mapping https://github.com/YildizTeam/Multi-Robot-Mapping
  10. Visser, A., Bayu A. S.: Including Communication Success in the Estimation of Information Gain for Multi-robot Exploration, IEEE 6th International Symposium on Modeling and Optimization in Mobile, Ad Hoc, and Wireless Networks and Workshop, (2008)