ROS Based Service Robot PDF
ROS Based Service Robot PDF
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
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.
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.
57
all the peer-to-peer communication of all the ROS
processes that are processing data together [23].
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