Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

CHAPTER 1

INTRODUCTION

1.1 Introduction to ROS-Mobile Robot


Mobile robots can move freely and have limitless operational area and can be
"autonomous" which means they are capable of navigating in an uncontrolled
environment. An autonomous robot is a robot that performs its tasks with high degree
of autonomy. A fully autonomous robot will have the ability to obtain information
about its environment, work for an extended period without human intervention and
to avoid situations that are harmful to its environment or to itself. An autonomous
navigation system is an on-board, integrated suite of sensors and technology that
enables perception, path planning and autonomous navigation capabilities. Although
we have seen many robots with autonomous navigation feature after been provided
with a static map created priory using SLAM approach, we haven’t witnessed many
with the feature of mapping the environment autonomously. To develop such a
mobile robot system which does localization, mapping, path planning and navigation
effectively and efficiently in an office like environment, the challenge however in
office like environments is that most of the area (cubicles in the office floor) looks
identical in nature. So we have to create a map which would then help the robot to
locate itself in the map and navigate autonomously. Hence a need is aroused to
develop a robot which could map its environment autonomously avoiding all possible
obstacles in its path. In this proposed work, a mobile robot is used as a test bench to
understand various components and aspects of a mobile robot. The mobile robot
configured as autonomous robot is a differential drive non-homonymic robot. It
consists of various sensors onboard such as the Yaw rate sensor, Wheel Encoder for
odometry etc.
In hazardous environments, where there is a request to perform some kind of
operations, the efficient collection of information is often crucial in order to set the
strategy. The robot designed aims to work in extreme environment, collect variety of
information and construct the hazard map basing on the area scanning. The graphical
2

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.

1.2 Overall System of Whole Project


ROS is a computer based system and it work on Ubuntu 16.04 LTS.ROS run
the program with nodes. When the lidars get map and send it back to the computer.
Computer calculates the path by using slam and drive the motor to get the goal. In this
step computer send a message to arduino how long he drive the motor and the encoder
calculate the total rotation of the motor and send it back to computer to know the
position of the robot. Map can be see with Rviz application and can command appoint
where you want to go is can be command with this application
4

PID Control
System

DC Motor

ARDUINO Motors Driver And


COMPUTER
Microprocessor Encoder

Lidar Laser Gmapping and


AMCL
Scanner

Figure 1.1 Overall Block Diagram of Mobile Robot with ROS

1.3 Aim and Objective


(1) To create a small autonomous mobile robot capable of performing a 2-D map
of the surrounding environment by using affordable and easy to find resources,
(2) To serve as a basis for a new generation of teaching techniques that will allow
learning mobile robotics in a practical and real way, presenting solutions to
complex problems that can be applied to train in any field of this vast discipline:
robotics.
(3) To develop robot has been created using recycled parts from an Arduino-based
kit (the structural part, which includes the plastic structure, the wheels and the
motors), an Arduino Mega board and some affordable commercial sensors,
(4) To provide the possibility of navigating through the environment avoiding
obstacles and to creating a map of its surroundings,
5

(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

1.4 Implementations of Thesis


The implementation program for this research was carried out with the
following procedures;
1. Observing about UBUNTU-LINUX,
2. Studying about ARDUINO and Programmable Language for ARDUINO,
3. Studying about ROS language such as C++, Python and XML
4. Observing the theoretical background for mobile robots,
5. Analyzing the structure for mobile robot and mechanical terms that include
robot weight, upper body dimensions and balancing,
6. Observing Robot Operation System (ROS),
7. Analyzing the control theory such as kinematic control, PID-control,
Fuzzy Logic Control, etc.
8. Analyzing about the SLAM and AMCL of ROS.

1.5 Outlines of Thesis


The thesis contains of six chapters. Chapter 1 introduces about the mobile
robot and ROS system, block diagram of the control system, aim and objectives,
and scope of the system. Chapter 2 provides the concept of the robots, types of mobile
robots controlled by any controller and processor. Chapter 3 discusses about the
program languages use in the Robot Operation System (ROS), include C++, Python
and Extensible Markup Language (XML). Chapter 4 will be discussed about software
6

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.

You might also like