Professional Documents
Culture Documents
09 Chapter 1
09 Chapter 1
INTRODUCTION
representation provided to the user enables the decision making through the analysis
of the current situation of working area and strategy setting of further missions such
as victim identification, thread analysis and entry/exit responders. In this thesis one
manly describes and further analyzes data collection and application of mapping
techniques on the robot..
The sensors used in robotics have also been adapted to be used with ROS.
ROS provides standard operating system facilities such as hardware abstraction, low-
level device control, implementation of commonly used functionalities, message
passing between processes, and package management. It is based on graph
architecture with a centralized topology where processing takes place in nodes that
may receive or post data in the form of standard message formats, such as multiplex
sensor, control , state, planning, actuator, and so on. Many of the capabilities
frequently associated with ROS are the libraries which gives a powerful set of tools to
work with ROS easily. Of these, navigation library, g-mapping library, Rviz
visualizer, simulators, and debugging tools are the most important ones.
Robot Operating System (ROS) is robotics middleware (i.e. collection of
software frameworks for robot software development). Although ROS is not an
operating system, it provides services designed for a heterogeneous computer cluster
such as hardware abstraction, low-level device control, implementation of commonly
used functionality, message-passing between processes, and package management.
Running sets of ROS-based processes are represented in a graph architecture where
processing takes place in nodes that may receive, post and multiplex sensor data,
control, state, planning, actuator, and other messages. Despite the importance of
reactivity and low latency in robot control, ROS itself is not a real-time OS (RTOS).
It is possible, however, to integrate ROS with real-time code. The lack of support for
real-time systems has been addressed in the creation of ROS 2.0, a major revision of
the ROS API which will take advantage of modern libraries and technologies for core
ROS functionality and add support for real-time code and embedded hardware.
Software in the ROS Ecosystem can be separated into three groups:
language-and platform-independent tools used for building and distributing
ROS-based software;
ROS client library implementations such as roscpp, rospy, and roslisp;
Packages containing application-related code which uses one or more ROS
client libraries.
3
Both the language-independent tools and the main client libraries (C++,
Python, and Lisp) are released under the terms of the BSD license, and as such are
open source software and free for both commercial and research use. The majority of
other packages are licensed under a variety of open source licenses. These other
packages implement commonly used functionality and applications such as hardware
drivers, robot models, data types, planning, perception, simultaneous localization and
mapping, simulation tools, and other algorithms.
The main ROS client libraries are geared toward a Unix-like system, primarily
because of their dependence on large collections of open-source software
dependencies. For these client libraries, Ubuntu Linux is listed as "Supported" while
other variants such as Fedora Linux, macOS, and Microsoft Windows are designated
"experimental" and are supported by the community. The native Java ROS client
library, rosjava, however, does not share these limitations and has enabled ROS-based
software to be written for the Android OS. Rosjava has also enabled ROS to be
integrated into an officially supported MATLAB toolbox which can be used on
Linux, macOS, and Microsoft Windows. A JavaScript client library, roslibjs has also
been developed which enables integration of software into a ROS system via any
standards-compliant web browser.
PID Control
System
DC Motor
(5) Using this customized mobile robot, the environment will be surveyed through
a wandering navigation mode. The robot will move in three random directions
while distances from the robot to the adjacent obstacles are being captured
repetitively. These captured distances are sent to the computer, where they are
stored and drawn in a 2-dimensional map. The parts regarding to the movement of
the robot and the information acquiring have been developed in Arduino language.
The parts that regard to the communication and map drawing have been
implemented in C++ language using the framework ROS.
(6) Comparison of sensors and equipment necessary for mapping
(7) Application of solutions available with Robot Operating System
(8) Evaluation of various mapping methods for mobile research robot
(9) Description of further application of map, such as path planning
implementation into the research. Chapter-5 includes test and result and final output
result. Finally, the result, analysis discussion, the conclusion of the thesis and future
work that can be done to improve this thesis will be on the chapter 6.