SlideShare a Scribd company logo
1 of 24
Download to read offline
Robotics and ROS
Khan Saad Bin Hasan
khansaadbinhasan.github.io
khansaadbinhasan@gmail.com
October 19, 2019
Khan Saad Bin Hasan ROS October 19, 2019 1 / 22
Contents
1 Robotics and ROS
General Outline of a Robotic System
Sensors and Actuators
Logic- Reasoning, Planning and Control
Collaboration among different parts
The Frameworks
2 What is ROS?
Definition
The Operating System
3 The Building Blocks
Packages
Workspaces
Communication
Tools
4 How to get started
Khan Saad Bin Hasan ROS October 19, 2019 2 / 22
General Outline of a Robotic System
Khan Saad Bin Hasan ROS October 19, 2019 3 / 22
Sensors and Actuators
Sensors can never be perfect.
Built up of a number of modules, Hence multiple points of failures
e.g, LIDARs have a rotating top, a laser sender, a receiver and a PCB.
Coordination between all the modules may never be perfect.
The better a sensor is, the costlier it gets. e.g, IMUs, Cameras etc.
Khan Saad Bin Hasan ROS October 19, 2019 4 / 22
Sensors and Actuators
Even if a sensor is perfect, the state of the environment may depend
on an extremely large number of variables.
If we take all these variables into consideration, the computation may
be infeasible.
Actuators may make the sensors unreliable. e.g, not having a still
camera while the camera assumes that it is at rest.
Similar arguments may apply for actuators.
Khan Saad Bin Hasan ROS October 19, 2019 5 / 22
Logic- Reasoning, Planning and Control
Since, we don’t get perfect data from sensors, We cannot have
absolute algorithms i.e, algorithms that can determine the absolute
state of the environment.
We make use of probabilistic techniques for state estimation of Robot.
These techniques do not guarantee correct solution.
They provide a range of correct solutions, or a domain of possibilities
while indicating the most likely solution.
These include techniques like robot localization, SLAM, particle
filtering etc.
Khan Saad Bin Hasan ROS October 19, 2019 6 / 22
Collaboration among different parts
A robot may consists of dozens of sensors and actuators and a
number of computers.
e.g, Humanoid robots may have dozens of servo motors in their hands
and feet, many cameras for vision, IMUs for localization, Infrared and
ultrasonic sensors for emergency safety etc.
These sensors need some way to access the computational resources
and actuators need to get commands from the decision process run
on the computers. The computers may also need to communicate
within themselves.
Khan Saad Bin Hasan ROS October 19, 2019 7 / 22
Collaboration among different parts
We cannot have these communications haphazardly, hence we need to
have some guidelines and preferably some implemented protocols,
packages etc. to handle these for us.
Also, there are many algorithms such as Kalman Filter, PID Control,
AMCL etc. which are often needed. Hence, it would make production
faster if they were already implemented and in a uniform way i.e,
following certain practices.
We may also need to share code between different teams, it would be
better if they follow the same conventions to easily share code.
Khan Saad Bin Hasan ROS October 19, 2019 8 / 22
The Frameworks
To address the above problems, a number of frameworks had been
developed.[1]
These frameworks were made for particular projects and could not be
reused by others and the good ones were proprietary.
Hence, there was a need of a middleware(or framework) that will act
as the standard.
ROS, which was also started to solve specific problems came up as
the solution due to its open and flexible nature.
Khan Saad Bin Hasan ROS October 19, 2019 9 / 22
What is ROS?
Khan Saad Bin Hasan ROS October 19, 2019 10 / 22
Definition
ROS Definition
ROS, an open-source robot operating system. ROS is not an operating
system in the traditional sense of process management and scheduling;
rather, it provides a structured communications layer above the host
operating systems of a heterogeneous compute cluster.[2]
ROS is a middleware, a meta-operating system.
A meta operating system works in close proximity with the operating
system but does not provide all the functionality to be classified as
operating system.
Khan Saad Bin Hasan ROS October 19, 2019 11 / 22
The Operating System
ROS can be run on any OS with hacks, but it runs better with linux
operating system especially Debian based operating systems.
The most convenient and stable configuration perhaps, in my opinion
is ROS kinetic with Ubuntu 16.04
A good knowledge of Linux is needed in order to work with ROS. e.g,
how package management works in linux, the make system in linux,
shell scripts etc.
Khan Saad Bin Hasan ROS October 19, 2019 12 / 22
The Building Blocks
Khan Saad Bin Hasan ROS October 19, 2019 13 / 22
Packages
Packages
Software in ROS is organized in packages. A package might contain ROS
nodes, a ROS-independent library, a dataset, configuration files, a
third-party piece of software, or anything else that logically constitutes a
useful module. The goal of these packages is to provide this useful
functionality in an easy-to-consume manner so that software can be easily
reused. In general, ROS packages follow a ”Goldilocks” principle: enough
functionality to be useful, but not too much that the package is
heavyweight and difficult to use from other software.[3]
Khan Saad Bin Hasan ROS October 19, 2019 14 / 22
Packages
Some of the important files/directories inside Packages are:
Nodes: A node is a process that performs computation.
CMakeLists.txt: It is the input to the CMake build system for building
software packages.
Package.xml : It defines properties about the package such as the
package name, version numbers, authors, maintainers, and
dependencies on other catkin packages.
.yaml files: To run a rosnode you may require a lot of parameters e.g,
Kp,Ki,Kd parameters in PID control. We can configure these using
YAML files.
launch files: To run multiple nodes at once in ROS we use launch files.
Khan Saad Bin Hasan ROS October 19, 2019 15 / 22
Workspaces
Catkin Workspaces
A catkin workspace is a folder where you modify, build, and install catkin
packages. It can contain up to four different spaces which each serve a
different role in the software development process.[4]
The source space contains the source code of catkin packages. This is
where you can extract/checkout/clone source code for the packages
you want to build. Each folder within the source space contains one
or more catkin packages.
Khan Saad Bin Hasan ROS October 19, 2019 16 / 22
Workspaces
The build space is where CMake is invoked to build the catkin
packages in the source space. CMake and catkin keep their cache
information and other intermediate files here.
The development space (or devel space) is where built targets are
placed prior to being installed. The way targets are organized in the
devel space is the same as their layout when they are installed. This
provides a useful testing and development environment which does
not require invoking the installation step.
Once targets are built, they can be installed into the install space by
invoking the install target, usually with make install.
Khan Saad Bin Hasan ROS October 19, 2019 17 / 22
Communication
ROS Master
The ROS Master provides naming and registration services to the rest of
the nodes in the ROS system. It tracks publishers and subscribers to
topics as well as services. The role of the Master is to enable individual
ROS nodes to locate one another. Once these nodes have located each
other they communicate with each other peer-to-peer.[5]
Khan Saad Bin Hasan ROS October 19, 2019 18 / 22
Communication
Topics and Services
Topics are named buses over which nodes exchange messages. Topics have
anonymous publish/subscribe semantics, which decouples the production
of information from its consumption. In general, nodes are not aware of
who they are communicating with. Instead, nodes that are interested in
data subscribe to the relevant topic; nodes that generate data publish to
the relevant topic. There can be multiple publishers and subscribers to a
topic.[6]
Actionlib
The actionlib package provides tools to create servers that execute
long-running goals that can be preempted. It also provides a client
interface in order to send requests to the server.[7]
Khan Saad Bin Hasan ROS October 19, 2019 19 / 22
Tools
Robot Development requires a large amount of tools for debugging
and to visualize the state of sensors and actuators.
Simulations are also required in order to apply reinforcement learning
and for faster, cheaper and safer testing.
ROS provides a wide range of such tools and allow customization and
to build your own tools.
Examples include Gazebo for simulation, Rviz for sensor and actuator
visualization, rqt tools for visualization of data etc.
Khan Saad Bin Hasan ROS October 19, 2019 20 / 22
How to get started
ROS maybe overwhelming for beginners to start.
A good knowledge of computer engineering basics and hands on
experience with linux operating system and atleast one popular
programming language is helpful.
Book recommendations- A Gentle Introduction To ROS[8],
Programming Robots with Ros: A Practical Introduction To The
Robot Operating System[9], ROS Robotics By Example[10]
Please read the documentation at: wiki.ros.org and for queries visit:
answers.ros.org .
Khan Saad Bin Hasan ROS October 19, 2019 21 / 22
Thank you
Khan Saad Bin Hasan ROS October 19, 2019 22 / 22
James Kramer and Matthias Scheutz.
Development environments for autonomous mobile robots: A survey.
Autonomous Robots, 22(2):101–132, 2007.
Morgan Quigley, Ken Conley, Brian Gerkey, Josh Faust, Tully Foote,
Jeremy Leibs, Rob Wheeler, and Andrew Y Ng.
Ros: an open-source robot operating system.
In ICRA workshop on open source software, volume 3, page 5. Kobe,
Japan, 2009.
ROS Admin.
Packages, 2019 (accessed October 19, 2019).
http://wiki.ros.org/Packages.
ROS Admin.
Workspaces, 2019 (accessed October 19, 2019).
http://wiki.ros.org/catkin/workspaces#Catkin_Workspaces.
ROS Admin.
Master, 2019 (accessed October 19, 2019).
http://wiki.ros.org/Master.
Khan Saad Bin Hasan ROS October 19, 2019 22 / 22
ROS Admin.
Topics, 2019 (accessed October 19, 2019).
http://wiki.ros.org/Topics.
ROS Admin.
Actionlib, 2019 (accessed October 19, 2019).
http://wiki.ros.org/actionlib.
Jason M O’Kane.
A gentle introduction to ros.
2014.
Morgan Quigley, Brian Gerkey, and William D Smart.
Programming Robots with ROS: a practical introduction to the Robot
Operating System.
” O’Reilly Media, Inc.”, 2015.
Carol Fairchild and Thomas L Harman.
ROS robotics by example.
Packt Publishing Ltd, 2016.
Khan Saad Bin Hasan ROS October 19, 2019 22 / 22

More Related Content

What's hot

An Introduction to ROS-Industrial
An Introduction to ROS-IndustrialAn Introduction to ROS-Industrial
An Introduction to ROS-IndustrialClay Flannigan
 
Lab-1-ROS-Intro.pdf
Lab-1-ROS-Intro.pdfLab-1-ROS-Intro.pdf
Lab-1-ROS-Intro.pdfcQuach1
 
Robotics and Automation_Case Studies
Robotics and Automation_Case StudiesRobotics and Automation_Case Studies
Robotics and Automation_Case StudiesJAIGANESH SEKAR
 
ROS - An open source platform for robotics software developers (lecture).pdf
ROS - An open source platform for robotics software developers (lecture).pdfROS - An open source platform for robotics software developers (lecture).pdf
ROS - An open source platform for robotics software developers (lecture).pdfAmine Bendahmane
 
ROBOTICS & DESIGN (Introduction of Robots) EEN-429
ROBOTICS & DESIGN (Introduction of Robots) EEN-429ROBOTICS & DESIGN (Introduction of Robots) EEN-429
ROBOTICS & DESIGN (Introduction of Robots) EEN-429foyez ahammad
 
Robot classification working and spesific uitilities of robot
Robot classification working and spesific uitilities of robotRobot classification working and spesific uitilities of robot
Robot classification working and spesific uitilities of robotpsc2015
 
Industrial Robotics Chap 01 Fundamentals
Industrial  Robotics  Chap 01  FundamentalsIndustrial  Robotics  Chap 01  Fundamentals
Industrial Robotics Chap 01 FundamentalsKevin Carvalho
 
Kinematic models and constraints.ppt
Kinematic models and constraints.pptKinematic models and constraints.ppt
Kinematic models and constraints.pptssuser8698eb
 
Robotics and Automation basic concepts
Robotics and Automation   basic conceptsRobotics and Automation   basic concepts
Robotics and Automation basic conceptsJAIGANESH SEKAR
 
Seminar Report Robotics
Seminar Report Robotics Seminar Report Robotics
Seminar Report Robotics Vivek Yadav
 
Robotics seminar ppt
Robotics seminar pptRobotics seminar ppt
Robotics seminar pptvss gowtham
 
An introduction to robotics classification, kinematics and hardware
An introduction to robotics classification, kinematics and hardwareAn introduction to robotics classification, kinematics and hardware
An introduction to robotics classification, kinematics and hardwareNikhil Shrivas
 
Pick and place robot ppt
Pick and place robot pptPick and place robot ppt
Pick and place robot pptsvsanthoshkumar
 
MARK ROBOTIC ARM.ppt
MARK ROBOTIC ARM.pptMARK ROBOTIC ARM.ppt
MARK ROBOTIC ARM.pptAfstddrrdv
 
Space robotics
Space roboticsSpace robotics
Space roboticsMU
 

What's hot (20)

An Introduction to ROS-Industrial
An Introduction to ROS-IndustrialAn Introduction to ROS-Industrial
An Introduction to ROS-Industrial
 
Mapping mobile robotics
Mapping mobile roboticsMapping mobile robotics
Mapping mobile robotics
 
Lab-1-ROS-Intro.pdf
Lab-1-ROS-Intro.pdfLab-1-ROS-Intro.pdf
Lab-1-ROS-Intro.pdf
 
Simulating TUM Drone 2.0 by ROS
Simulating TUM Drone 2.0  by ROSSimulating TUM Drone 2.0  by ROS
Simulating TUM Drone 2.0 by ROS
 
Robotics and Automation_Case Studies
Robotics and Automation_Case StudiesRobotics and Automation_Case Studies
Robotics and Automation_Case Studies
 
ROS - An open source platform for robotics software developers (lecture).pdf
ROS - An open source platform for robotics software developers (lecture).pdfROS - An open source platform for robotics software developers (lecture).pdf
ROS - An open source platform for robotics software developers (lecture).pdf
 
My ROS Experience
My ROS ExperienceMy ROS Experience
My ROS Experience
 
ROBOTIC ARM
ROBOTIC ARMROBOTIC ARM
ROBOTIC ARM
 
ROBOTICS & DESIGN (Introduction of Robots) EEN-429
ROBOTICS & DESIGN (Introduction of Robots) EEN-429ROBOTICS & DESIGN (Introduction of Robots) EEN-429
ROBOTICS & DESIGN (Introduction of Robots) EEN-429
 
Robot classification working and spesific uitilities of robot
Robot classification working and spesific uitilities of robotRobot classification working and spesific uitilities of robot
Robot classification working and spesific uitilities of robot
 
Industrial Robotics Chap 01 Fundamentals
Industrial  Robotics  Chap 01  FundamentalsIndustrial  Robotics  Chap 01  Fundamentals
Industrial Robotics Chap 01 Fundamentals
 
Robots in automotive industry
Robots in automotive industryRobots in automotive industry
Robots in automotive industry
 
Kinematic models and constraints.ppt
Kinematic models and constraints.pptKinematic models and constraints.ppt
Kinematic models and constraints.ppt
 
Robotics and Automation basic concepts
Robotics and Automation   basic conceptsRobotics and Automation   basic concepts
Robotics and Automation basic concepts
 
Seminar Report Robotics
Seminar Report Robotics Seminar Report Robotics
Seminar Report Robotics
 
Robotics seminar ppt
Robotics seminar pptRobotics seminar ppt
Robotics seminar ppt
 
An introduction to robotics classification, kinematics and hardware
An introduction to robotics classification, kinematics and hardwareAn introduction to robotics classification, kinematics and hardware
An introduction to robotics classification, kinematics and hardware
 
Pick and place robot ppt
Pick and place robot pptPick and place robot ppt
Pick and place robot ppt
 
MARK ROBOTIC ARM.ppt
MARK ROBOTIC ARM.pptMARK ROBOTIC ARM.ppt
MARK ROBOTIC ARM.ppt
 
Space robotics
Space roboticsSpace robotics
Space robotics
 

Similar to Robotics and ROS

Future of Open Source in a Cloudy World
Future of Open Source in a Cloudy WorldFuture of Open Source in a Cloudy World
Future of Open Source in a Cloudy WorldBret Piatt
 
A RAPID DEPLOYMENT BIG DATA COMPUTING PLATFORM FOR CLOUD ROBOTICS
A RAPID DEPLOYMENT BIG DATA COMPUTING PLATFORM FOR CLOUD ROBOTICSA RAPID DEPLOYMENT BIG DATA COMPUTING PLATFORM FOR CLOUD ROBOTICS
A RAPID DEPLOYMENT BIG DATA COMPUTING PLATFORM FOR CLOUD ROBOTICSIJCNCJournal
 
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET Journal
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayDivya Watson
 
Refreshing Domain Driven Design
Refreshing Domain Driven DesignRefreshing Domain Driven Design
Refreshing Domain Driven DesignAndré Borgonovo
 
Big Data Management Analytics And Management Essay
Big Data Management Analytics And Management EssayBig Data Management Analytics And Management Essay
Big Data Management Analytics And Management EssayAmy Alexander
 
PeerToPeerComputing (1)
PeerToPeerComputing (1)PeerToPeerComputing (1)
PeerToPeerComputing (1)MurtazaB
 
Open AR Cloud One Year Since the Launch
Open AR Cloud One Year Since the LaunchOpen AR Cloud One Year Since the Launch
Open AR Cloud One Year Since the LaunchOpen AR Cloud
 
Common Missteps in Cross-Platform Development.pdf
Common Missteps in Cross-Platform Development.pdfCommon Missteps in Cross-Platform Development.pdf
Common Missteps in Cross-Platform Development.pdfPridesys IT Ltd.
 
A Comparative Study of Location Based Services Simulators
A Comparative Study of Location Based Services SimulatorsA Comparative Study of Location Based Services Simulators
A Comparative Study of Location Based Services SimulatorsRida Qayyum
 
An Integrated Prototyping Environment For Programmable Automation
An Integrated Prototyping Environment For Programmable AutomationAn Integrated Prototyping Environment For Programmable Automation
An Integrated Prototyping Environment For Programmable AutomationMeshDynamics
 
Generating SBOMS FROM FOSS (Detecting OSS licences)
Generating SBOMS FROM FOSS (Detecting OSS licences)Generating SBOMS FROM FOSS (Detecting OSS licences)
Generating SBOMS FROM FOSS (Detecting OSS licences)Thierry Gayet
 
HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...
HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...
HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...Dana Gardner
 

Similar to Robotics and ROS (20)

ROS (Robot Operating System) Comparison
ROS (Robot Operating System) ComparisonROS (Robot Operating System) Comparison
ROS (Robot Operating System) Comparison
 
Future of Open Source in a Cloudy World
Future of Open Source in a Cloudy WorldFuture of Open Source in a Cloudy World
Future of Open Source in a Cloudy World
 
A RAPID DEPLOYMENT BIG DATA COMPUTING PLATFORM FOR CLOUD ROBOTICS
A RAPID DEPLOYMENT BIG DATA COMPUTING PLATFORM FOR CLOUD ROBOTICSA RAPID DEPLOYMENT BIG DATA COMPUTING PLATFORM FOR CLOUD ROBOTICS
A RAPID DEPLOYMENT BIG DATA COMPUTING PLATFORM FOR CLOUD ROBOTICS
 
Prasoon
PrasoonPrasoon
Prasoon
 
robocity2013-jderobot
robocity2013-jderobotrobocity2013-jderobot
robocity2013-jderobot
 
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
 
UNiT 5.pdf
UNiT 5.pdfUNiT 5.pdf
UNiT 5.pdf
 
Refreshing Domain Driven Design
Refreshing Domain Driven DesignRefreshing Domain Driven Design
Refreshing Domain Driven Design
 
Big Data Management Analytics And Management Essay
Big Data Management Analytics And Management EssayBig Data Management Analytics And Management Essay
Big Data Management Analytics And Management Essay
 
PeerToPeerComputing (1)
PeerToPeerComputing (1)PeerToPeerComputing (1)
PeerToPeerComputing (1)
 
Ros Kd
Ros KdRos Kd
Ros Kd
 
Open AR Cloud One Year Since the Launch
Open AR Cloud One Year Since the LaunchOpen AR Cloud One Year Since the Launch
Open AR Cloud One Year Since the Launch
 
Common Missteps in Cross-Platform Development.pdf
Common Missteps in Cross-Platform Development.pdfCommon Missteps in Cross-Platform Development.pdf
Common Missteps in Cross-Platform Development.pdf
 
Mdb dn 2016_11_ops_mgr
Mdb dn 2016_11_ops_mgrMdb dn 2016_11_ops_mgr
Mdb dn 2016_11_ops_mgr
 
A Comparative Study of Location Based Services Simulators
A Comparative Study of Location Based Services SimulatorsA Comparative Study of Location Based Services Simulators
A Comparative Study of Location Based Services Simulators
 
Cloud to Edge
Cloud to EdgeCloud to Edge
Cloud to Edge
 
An Integrated Prototyping Environment For Programmable Automation
An Integrated Prototyping Environment For Programmable AutomationAn Integrated Prototyping Environment For Programmable Automation
An Integrated Prototyping Environment For Programmable Automation
 
Generating SBOMS FROM FOSS (Detecting OSS licences)
Generating SBOMS FROM FOSS (Detecting OSS licences)Generating SBOMS FROM FOSS (Detecting OSS licences)
Generating SBOMS FROM FOSS (Detecting OSS licences)
 
HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...
HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...
HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...
 

Recently uploaded

Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoordharasingh5698
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfRagavanV2
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01KreezheaRecto
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...tanu pandey
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfrs7054576148
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 

Recently uploaded (20)

Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 

Robotics and ROS

  • 1. Robotics and ROS Khan Saad Bin Hasan khansaadbinhasan.github.io khansaadbinhasan@gmail.com October 19, 2019 Khan Saad Bin Hasan ROS October 19, 2019 1 / 22
  • 2. Contents 1 Robotics and ROS General Outline of a Robotic System Sensors and Actuators Logic- Reasoning, Planning and Control Collaboration among different parts The Frameworks 2 What is ROS? Definition The Operating System 3 The Building Blocks Packages Workspaces Communication Tools 4 How to get started Khan Saad Bin Hasan ROS October 19, 2019 2 / 22
  • 3. General Outline of a Robotic System Khan Saad Bin Hasan ROS October 19, 2019 3 / 22
  • 4. Sensors and Actuators Sensors can never be perfect. Built up of a number of modules, Hence multiple points of failures e.g, LIDARs have a rotating top, a laser sender, a receiver and a PCB. Coordination between all the modules may never be perfect. The better a sensor is, the costlier it gets. e.g, IMUs, Cameras etc. Khan Saad Bin Hasan ROS October 19, 2019 4 / 22
  • 5. Sensors and Actuators Even if a sensor is perfect, the state of the environment may depend on an extremely large number of variables. If we take all these variables into consideration, the computation may be infeasible. Actuators may make the sensors unreliable. e.g, not having a still camera while the camera assumes that it is at rest. Similar arguments may apply for actuators. Khan Saad Bin Hasan ROS October 19, 2019 5 / 22
  • 6. Logic- Reasoning, Planning and Control Since, we don’t get perfect data from sensors, We cannot have absolute algorithms i.e, algorithms that can determine the absolute state of the environment. We make use of probabilistic techniques for state estimation of Robot. These techniques do not guarantee correct solution. They provide a range of correct solutions, or a domain of possibilities while indicating the most likely solution. These include techniques like robot localization, SLAM, particle filtering etc. Khan Saad Bin Hasan ROS October 19, 2019 6 / 22
  • 7. Collaboration among different parts A robot may consists of dozens of sensors and actuators and a number of computers. e.g, Humanoid robots may have dozens of servo motors in their hands and feet, many cameras for vision, IMUs for localization, Infrared and ultrasonic sensors for emergency safety etc. These sensors need some way to access the computational resources and actuators need to get commands from the decision process run on the computers. The computers may also need to communicate within themselves. Khan Saad Bin Hasan ROS October 19, 2019 7 / 22
  • 8. Collaboration among different parts We cannot have these communications haphazardly, hence we need to have some guidelines and preferably some implemented protocols, packages etc. to handle these for us. Also, there are many algorithms such as Kalman Filter, PID Control, AMCL etc. which are often needed. Hence, it would make production faster if they were already implemented and in a uniform way i.e, following certain practices. We may also need to share code between different teams, it would be better if they follow the same conventions to easily share code. Khan Saad Bin Hasan ROS October 19, 2019 8 / 22
  • 9. The Frameworks To address the above problems, a number of frameworks had been developed.[1] These frameworks were made for particular projects and could not be reused by others and the good ones were proprietary. Hence, there was a need of a middleware(or framework) that will act as the standard. ROS, which was also started to solve specific problems came up as the solution due to its open and flexible nature. Khan Saad Bin Hasan ROS October 19, 2019 9 / 22
  • 10. What is ROS? Khan Saad Bin Hasan ROS October 19, 2019 10 / 22
  • 11. Definition ROS Definition ROS, an open-source robot operating system. ROS is not an operating system in the traditional sense of process management and scheduling; rather, it provides a structured communications layer above the host operating systems of a heterogeneous compute cluster.[2] ROS is a middleware, a meta-operating system. A meta operating system works in close proximity with the operating system but does not provide all the functionality to be classified as operating system. Khan Saad Bin Hasan ROS October 19, 2019 11 / 22
  • 12. The Operating System ROS can be run on any OS with hacks, but it runs better with linux operating system especially Debian based operating systems. The most convenient and stable configuration perhaps, in my opinion is ROS kinetic with Ubuntu 16.04 A good knowledge of Linux is needed in order to work with ROS. e.g, how package management works in linux, the make system in linux, shell scripts etc. Khan Saad Bin Hasan ROS October 19, 2019 12 / 22
  • 13. The Building Blocks Khan Saad Bin Hasan ROS October 19, 2019 13 / 22
  • 14. Packages Packages Software in ROS is organized in packages. A package might contain ROS nodes, a ROS-independent library, a dataset, configuration files, a third-party piece of software, or anything else that logically constitutes a useful module. The goal of these packages is to provide this useful functionality in an easy-to-consume manner so that software can be easily reused. In general, ROS packages follow a ”Goldilocks” principle: enough functionality to be useful, but not too much that the package is heavyweight and difficult to use from other software.[3] Khan Saad Bin Hasan ROS October 19, 2019 14 / 22
  • 15. Packages Some of the important files/directories inside Packages are: Nodes: A node is a process that performs computation. CMakeLists.txt: It is the input to the CMake build system for building software packages. Package.xml : It defines properties about the package such as the package name, version numbers, authors, maintainers, and dependencies on other catkin packages. .yaml files: To run a rosnode you may require a lot of parameters e.g, Kp,Ki,Kd parameters in PID control. We can configure these using YAML files. launch files: To run multiple nodes at once in ROS we use launch files. Khan Saad Bin Hasan ROS October 19, 2019 15 / 22
  • 16. Workspaces Catkin Workspaces A catkin workspace is a folder where you modify, build, and install catkin packages. It can contain up to four different spaces which each serve a different role in the software development process.[4] The source space contains the source code of catkin packages. This is where you can extract/checkout/clone source code for the packages you want to build. Each folder within the source space contains one or more catkin packages. Khan Saad Bin Hasan ROS October 19, 2019 16 / 22
  • 17. Workspaces The build space is where CMake is invoked to build the catkin packages in the source space. CMake and catkin keep their cache information and other intermediate files here. The development space (or devel space) is where built targets are placed prior to being installed. The way targets are organized in the devel space is the same as their layout when they are installed. This provides a useful testing and development environment which does not require invoking the installation step. Once targets are built, they can be installed into the install space by invoking the install target, usually with make install. Khan Saad Bin Hasan ROS October 19, 2019 17 / 22
  • 18. Communication ROS Master The ROS Master provides naming and registration services to the rest of the nodes in the ROS system. It tracks publishers and subscribers to topics as well as services. The role of the Master is to enable individual ROS nodes to locate one another. Once these nodes have located each other they communicate with each other peer-to-peer.[5] Khan Saad Bin Hasan ROS October 19, 2019 18 / 22
  • 19. Communication Topics and Services Topics are named buses over which nodes exchange messages. Topics have anonymous publish/subscribe semantics, which decouples the production of information from its consumption. In general, nodes are not aware of who they are communicating with. Instead, nodes that are interested in data subscribe to the relevant topic; nodes that generate data publish to the relevant topic. There can be multiple publishers and subscribers to a topic.[6] Actionlib The actionlib package provides tools to create servers that execute long-running goals that can be preempted. It also provides a client interface in order to send requests to the server.[7] Khan Saad Bin Hasan ROS October 19, 2019 19 / 22
  • 20. Tools Robot Development requires a large amount of tools for debugging and to visualize the state of sensors and actuators. Simulations are also required in order to apply reinforcement learning and for faster, cheaper and safer testing. ROS provides a wide range of such tools and allow customization and to build your own tools. Examples include Gazebo for simulation, Rviz for sensor and actuator visualization, rqt tools for visualization of data etc. Khan Saad Bin Hasan ROS October 19, 2019 20 / 22
  • 21. How to get started ROS maybe overwhelming for beginners to start. A good knowledge of computer engineering basics and hands on experience with linux operating system and atleast one popular programming language is helpful. Book recommendations- A Gentle Introduction To ROS[8], Programming Robots with Ros: A Practical Introduction To The Robot Operating System[9], ROS Robotics By Example[10] Please read the documentation at: wiki.ros.org and for queries visit: answers.ros.org . Khan Saad Bin Hasan ROS October 19, 2019 21 / 22
  • 22. Thank you Khan Saad Bin Hasan ROS October 19, 2019 22 / 22
  • 23. James Kramer and Matthias Scheutz. Development environments for autonomous mobile robots: A survey. Autonomous Robots, 22(2):101–132, 2007. Morgan Quigley, Ken Conley, Brian Gerkey, Josh Faust, Tully Foote, Jeremy Leibs, Rob Wheeler, and Andrew Y Ng. Ros: an open-source robot operating system. In ICRA workshop on open source software, volume 3, page 5. Kobe, Japan, 2009. ROS Admin. Packages, 2019 (accessed October 19, 2019). http://wiki.ros.org/Packages. ROS Admin. Workspaces, 2019 (accessed October 19, 2019). http://wiki.ros.org/catkin/workspaces#Catkin_Workspaces. ROS Admin. Master, 2019 (accessed October 19, 2019). http://wiki.ros.org/Master. Khan Saad Bin Hasan ROS October 19, 2019 22 / 22
  • 24. ROS Admin. Topics, 2019 (accessed October 19, 2019). http://wiki.ros.org/Topics. ROS Admin. Actionlib, 2019 (accessed October 19, 2019). http://wiki.ros.org/actionlib. Jason M O’Kane. A gentle introduction to ros. 2014. Morgan Quigley, Brian Gerkey, and William D Smart. Programming Robots with ROS: a practical introduction to the Robot Operating System. ” O’Reilly Media, Inc.”, 2015. Carol Fairchild and Thomas L Harman. ROS robotics by example. Packt Publishing Ltd, 2016. Khan Saad Bin Hasan ROS October 19, 2019 22 / 22