0% found this document useful (0 votes)
127 views

ROS Based Service Robot PDF

Uploaded by

Gaby Hayek
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
127 views

ROS Based Service Robot PDF

Uploaded by

Gaby Hayek
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

2018 4th International Conference on Control, Automation and Robotics

ROS Based Service Robot Platform

Ruchik Mishra
Arshad Javed
Under Graduate Student, Dept. of Mechanical Engg.
Dept. of Mechanical Engg.
Birla Institute of Technology and Science, Pilani
Birla Institute of Technology and Science, Pilani
Hyderabad, India
Hyderabad, India
e-mail: [email protected]
e-mail: [email protected]

Abstract—The substitution of a human factor by an affordable Localization and Mapping (SLAM) which is the approach
low-cost robotic system has been increasing recently. The used in this paper.
reason being, the robot is expected to do less errors than a The paper is organized in following manner. The
human does and does not have a will of its own. This paper methodology is explained in section two, followed by
proposes a service robot platform that is capable of mapping, results and discussions in section three. Finally the
localizing itself and navigating in an indoor environment and is conclusion is presented in section four.
best suited for structured environment with static obstacles.
The approach used for mapping is a ROS package which is a II. METHODOLOGY
ROS wrapper of Real Time Appearance Based Mapping with
the help of a low cost RGB-D camera, the Microsoft Kinect The methodology followed in this paper is explained
XBOX 360 with a turtlebot robot model for visualization. here in different subtitles. The system requirements are
RTAB-Map takes into account loop closure in real time detailed initially followed by a short discussion on the
constraints with a memory management technique which Robotic Operating System (ROS). The robotic platform
makes the mapping process independent of time and size. Once along with the RGB-D camera used is described in brief.
the mapping is done and the 2D projection of the map is Further the whole mapping, localization and navigation
obtained of our real indoor environment of the lab, the process is explained.
simulation of the autonomous navigation of the robot model to
the desired location is done on Gazebo. For the navigation to A. System Outline
happen successfully, Adaptive Monte Carlo Localization is used A PC is used for the purpose of carrying out the
for localizing the turtlebot model in the map. The simulation simulations and using the Kinect sensor for making the
results were visualized using rviz and were found to be map of the real indoor environment. The version of ROS
satisfactory. used is Indigo Igloo with Ubuntu 14.04 LTS (Trusty Tahr)
as the operating system of the PC.
Keywords-ROS; kinect; indoor navigation; turtlebot; service
robot B. Robotic Operating System
The Robotic Operating System (ROS) is an open source
I. INTRODUCTION Linux based framework for operating robots. It uses peer to
Human robot interaction has become one of the emerging peer communication [10] in which executable programs
field in robotics in the recent years [1-4] and with growing called nodes communicate with each other at runtime.
technology, it is expected that service robots fulfill these These nodes are registered to the ROS master without
requirements appropriately in a multitude of areas where a which the nodes would not know of each other's existence.
human factor can be easily substituted by a minimal error The nodes do not directly communicate with each other.
robotic platform. These areas may include hospitals, Rather, they communicate via publishing or subscribing
warehouses, hotels, or homes. But for this to be possible the messages to topics. So if a node is in need of data it has to
robot must be able to navigate in its operating environment subscribe to the relevant topic and the nodes that produce
autonomously which calls for another prerequisite process of data publish messages to the topic. This is an example of a
map building of these unknown areas and localizing itself, decoupled system which can be used as different parts of
which has been considered a fundamental problem in mobile the robot performing different functions without hampering
robotics [5]. each other. So, even if one of the functions of the robot
Since there is a human interaction involved, there is a crashes, it doesn't stop the entire robot from functioning.
chance of the robot getting damaged unintentionally. For this The other advantage of using ROS is that the code can be
purpose, the sensors on board should not be very costly. reused [11] so that research can be further extended from
Although the use of depth cameras for mapping and already existing code instead of reinventing the wheel.
localization for mobile robots is not a new concept, but the
cost of these camera makes the solution quite expensive. In C. Kinect Sensor
this respect a number of low cost and reliable solutions have For navigating in an indoor environment, the robot has
been developed by the use of low cost RGB-D sensors such to rely on the sensors it has for mapping and localizing
as the Microsoft Kinect [6,7,8,9]. These sensors can be itself in its operating environment. This is where the 3D
effectively used for the purpose of Simultaneous sensors come into picture. But they are often very costly

978-1-5386-6338-7/18/$31.00 ©2018 IEEE 55


and and hence are an expensive solution to go for. The of samples from the probability densities where the
Kinect helps here. It is a low cost 3D RGB-D sensor i.e. it likelihood is high[19]. The efficiency of these particle
provides both the depth data along with the color image. It filters depends on the number of samples taken [19] The
has an IR emitter and an IR depth sensor that makes it particle filter used for Adaptive Monte Carlo Localization
capable of capturing depth information too [12]. The field of is called KLD (Kullback-Leibler divergence) sampling.
view is 43 degrees vertically and 57 degrees horizontally KLD sampling is the reason for the term adaptive that is
with a tilt range of ±27°[12], which makes it suitable for our used in Adaptive Monte Carlo Localization. The KLD
purpose. The kinect can be used to capture 3D point cloud sampling method chooses the number of samples for the
data from the target environment and can be further used for sampling process based on the uncertainty [19]. More the
the purpose of indoor navigation which is the approach used uncertainty, more are the number of samples selected and
in this paper. vice-versa [19].
D. Turtlebot Platform
III. RESULTS AND DISCUSSIONS
In this paper, for the simulation of an indoor navigation
platform, the turtlebot model has been used. It is a low-cost A. Mapping and Localization:
platform with an open source software support available. It The rtabmap_ros package has been used to generate a
was developed in the year 2010 by Melonee Wise and Tully point cloud of the artificially created indoor environment
Foote at Willow Garage[13]. It is equipped with a 3D sensor using an openNI compliant RGB-D sensor, the Microsoft
which makes it suitable for the purpose of indoor navigation Kinect XBOX 360 as shown in the Figure 1.
and hence is used as a robot model in this paper.
E. Simultaneous Mapping and Localization
In order for an autonomous robot to navigate in an
unknown environment, it must have the capability to map
and localize itself in its operating environment. This is where
Simultaneous Localization and Mapping (SLAM) comes into
picture. This paper uses an RGB-D graph based SLAM
approach, called RTAB-Map (Real-Time Appearance Based
Mapping)[14] by using a ROS package called rtabmap_ros.
RTAB-Map provides an online loop closure solution i.e. it
Figure 1(a). Image of actual arena.
recognizes already mapped locations in real time constraints.
This is done through a memory management approach;
keeping recent and frequently mapped locations in the
working memory and keeping others in the long term
memory. [15]. The RGB images obtained are Speeded Up
Robust Features (SURF) that are used for the loop closure
detection by using the bag of words approach [15].
RTAB-Map also allows for multi-session mapping which
can be used to solve the kidnapping problem, which means,
if the robot is picked up and placed elsewhere, a map is
started and whenever a common location with the old map is
found which causes a loop closure, the maps are joined. This
graph based approach for Simultaneous Localization and
Mapping has been used in this paper because it provides a Figure 1(b). 3D point cloud generated for the arena using
rtabmap_ros package.
time and size independent solution for the service robot
platform.
Once the map is generated, it is then converted to a
F. Navigation projection map and save it as .yaml and .pgm formats.
Once the map is created, the task is to navigate the robot These maps will be further helpful in the process of 2D
model autonomously from the current location to the desired navigation. The saving of the map is done by running the
location. But before navigation even starts, the robot must map_server and map_saver nodes, which read and write the
localize itself in its operating environment. For this purpose map respectively [20]. The .yaml file of the above 3D
Adaptive Monte Carlo Localization is used. database generated is shown below,

G. Adaptive Monte Carlo Localization image: map.pgm


It uses pre-existing 2D maps for the purpose of resolution: 0.050000
localization and is based on Bayesian probabilistic origin: [-7.279022, -6.045029, 0.000000]
localization and uses particle filters[16,17,18] which are negate: 0
actually sampling methods[16] . These particle filters are occupied_thresh: 0.65
used because they have the capability to manage free_thresh: 0.196
computational resources efficiently by taking a large number

56
The first line of the .yaml file shows that it points to the estimate of the robot with the particle cloud. Initially the
pgm file. The .pgm file is shown below in Figure 2: particle cloud is large as shown in this Figure 5(a) as the
position of the robot is uncertain.

Figure 4(a). Local cost map.

Figure 2. Map representation in .pgm file.

B. Navigation:
Once the map is created, the simulation of the entire
navigation process can now be carried out. To visualize the
simulation results, we have used a tool called Rviz. Rviz is a
3D visualization tool that can be used for different purposes
with ROS like visualizing 3D robot models, displaying
sensor values, data from camera etc. The projection map has
been shown in the Figure 3 as visualized in Rviz.
The motion of the turtlebot is done by the move_base
package which provides a ROS node called move_base. It Figure 4(b). .Global cost map.
also maintains local and global cost maps for making local
and global plans [21]. The local and global cost maps have Once the robot moves, the particle cloud size becomes
been shown in the Figure 4(a) and Figure 4(b) respectively small as shown in the Figure 5(b).
for the map. The information of the obstacles is stored in the The navigation goal is set in rviz as shown in Figure 6.
cost maps. The global cost map is used for making global Once the navigation goal is set, a path is created taking into
planning which makes plan over the entire operating account the local and global cost maps. The path and the
environment and the local cost map is used for short range local and the global cost maps are shown in Figure 7.
planning and obstacle avoidance. The planner helps the Finally, the robot follows the path and is able to
turtlebot in setting preferences while navigating and successfully reach the goal, as shown in Figure8.
following its global plan [21]. The parameters used are
path_distance_bias, goal_distance_bias and occdist_scale for
cost computing biases.

Figure 5(a). Particle cloud showing pose estimate.

Figure 3. Projection map as seen in Rviz.

As discussed earlier about Adaptive Monte Carlo


Localization and KLD sampling, Figure 5(a) shows the pose Figure 5(b). Particle cloud during navigation.

57
all the peer-to-peer communication of all the ROS
processes that are processing data together [23].

Figure 6. Figure showing the goal with arrow.

Figure 8. Goal attaned by the robot

IV. CONCLUSION
This aim of our work was to simulate a low cost service
robot platform which is capable of mapping an unknown
environment using an inexpensive RGB-D camera, the
Figure 7… Figure showing the path to be followed. Microsoft Kinect XBOX 360. Further, the robot model was
able to localize itself in the map created using Adaptive
The ROS computational graph at the time of navigation Monte Carlo Localization and then was able navigate to the
has been shown in the Appendix that shows all the active goal. The entire process of navigation was visualized using
Nodes/Topics. The rqt_graph package of ROS helps in Rviz and was found to be satisfactory since the robot was
visualizing the ROS computational graph [22], which shows able to reach the goal point successfully.

APPENDIX

Figure A. Visualization of the ROS computational graph (The nomenclature of the nodes and the topics are the same as mentioned in
[20,21]).

58
REFERENS
[1] Willeke T, Kunz C, Nourbakhsh IR. The History of the Mobot [11] Cousins S, Gerkey B, Conley K, Garage W. Sharing software with
Museum Robot Series: An Evolutionary Study. InFLAIRS ros [ros topics]. IEEE Robotics & Automation Magazine. 2010
Conference 2001 May 21 (pp. 514-518). Jun;17(2):12-4.
[2] Goodrich MA, Schultz AC. Human-robot interaction: a survey. [12] Kinect for Windows Sensor Components and Specifications
Foundations and trends in human-computer interaction. 2007 Feb [Internet]. Msdn.microsoft.com. 2017 [cited 29 December 2017].
1;1(3):203-75. Available from: https://msdn.microsoft.com/en-
[3] De Santis A, Siciliano B, De Luca A, Bicchi A. An atlas of us/library/jj131033. aspx
physical human–robot interaction. Mechanism and Machine [13] Robots/TurtleBot - ROS Wiki [Internet]. Wiki.ros.org. 2017 [cited
Theory. 2008 Mar 31;43(3):253-70. 29 December 2017] Available from:
[4] Bruce A, Nourbakhsh I, Simmons R. The role of expressiveness http://wiki.ros.org/action/show/Robots/TurtleBot?action=show&red
and attention in human-robot interaction. InRobotics and ir ect=TurtleBot
Automation, 2002. Proceedings. ICRA'02. IEEE International [14] RTAB-Map [Internet]. RTAB-Map. 2017 [cited 29 December
Conference on 2002 (Vol. 4, pp. 4138-4142). IEEE. 2017].
[5] Cox IJ. Blanche: Position estimation for an autonomous robot Available from: http://introlab.github.io/rtabmap/
vehicle. In Autonomous robot vehicles 1990 (pp. 221-228). [15] Labbe M, Michaud F. Appearance-based loop closure detection for
Springer, New York, NY. online large-scale and long-term operation. IEEE Transactions on
[6] Correa DS, Sciotti DF, Prado MG, Sales DO, Wolf DF, Osorio FS. Robotics. 2013 Jun;29(3):734-45.
Mobile robots navigation in indoor environments using kinect [16] Fox D, Burgard W, Dellaert F, Thrun S. Monte carlo localization:
sensor. InCritical Embedded Systems (CBSEC), 2012 Second Efficient position estimation for mobile robots. AAAI/IAAI. 1999
Brazilian Conference on 2012 May 20 (pp. 36-41). IEEE. Jul 18;1999(343-349):2-.
[7] Izadi S, Kim D, Hilliges O, Molyneaux D, Newcombe R, Kohli P, [17] Pfaff P, Burgard W, Fox D. Robust monte-carlo localization using
Shotton J, Hodges S, Freeman D, Davison A, Fitzgibbon A. adaptive likelihood models. InEuropean robotics symposium 2006
KinectFusion: real-time 3D reconstruction and interaction using a 2006 (pp. 181-194). Springer Berlin/Heidelberg.
moving depth camera. InProceedings of the 24th annual ACM [18] Doucet, Arnaud. "On sequential simulation-based methods for
symposium on User interface software and technology 2011 Oct Bayesian filtering.", 1998.
16 (pp. 559-568). ACM.
[19] Fox D. KLD-sampling: Adaptive particle filters. InAdvances in
[8] Fallon MF, Johannsson H, Leonard JJ. Efficient scene simulation neural information processing systems 2002 (pp. 713-720).
for robust Monte Carlo localization using an RGB-D camera.
InRobotics and Automation (ICRA), 2012 IEEE International [20] map_server - ROS Wiki [Internet]. Wiki.ros.org. 2017 [cited 29
Conference on 2012 May 14 (pp. 1663-1670). IEEE. December 2017]. Available from: http://wiki.ros.org/map_server
[9] Jalobeanu M, Shirakyan G, Parent G, Kikkeri H, Peasley B, [21] turtlebot_navigation/Tutorials/Setup the Navigation Stack for
Feniello TurtleBot - ROS Wiki [Internet]. Wiki.ros.org. 2017 [cited 30
December 2017]. Available from: http://wiki.ros.org/turtlebot_
A. Reliable kinect-based navigation in large indoor navigation/Tutorials/Setup%20the%20Navigation%20Stack%20for%
environments. InRobotics and Automation (ICRA), 2015 IEEE 20TurtleBot
International Conference on 2015 May 26 (pp. 495-502). IEEE.
[10] Quigley M, Conley K, Gerkey B, Faust J, Foote T, Leibs J, [22] rqt_graph - ROS Wiki [Internet]. Wiki.ros.org. 2017 [cited 29
Wheeler R, Ng AY. ROS: an open-source Robot Operating System. December 2017]. Available from: http://wiki.ros.org/rqt_graph
InICRA workshop on open source software 2009 May 12 (Vol. 3, [23] ROS/Concepts - ROS Wiki [Internet]. Wiki.ros.org. 2017 [cited 29
No. 3.2, p. 5). December 2017]. Available from:
http://wiki.ros.org/ROS/Concepts

59

You might also like