Ros Workshop Itr
Ros Workshop Itr
Workshop
ME 639 : Introduction to Robotics
What is ROS?
Mapping and
Motion planning
localization
Navigation Perception
Coordinate frame
Simulation
representation
ROS Workspace
ROS Workspace
1. The first step in ROS development is the creation of the ROS
workspace, which is where ROS packages are kept. We can create
new packages, install existing packages, build and create new
executables.
2. A workspace is simply a set of directories in which a related set of
ROS code lives.
ROS Workspace
• The src folder is the • The catkin tool creates • All the executable
place where you can some build files and files results from
create, or clone, intermediate cache building the
new packages from CMake files inside the packages is stored
repositories. build folder. inside the devel
• These cache files help folder, which has
NOTE: ROS packages only prevent from rebuilding shell script files to
build and create an all the packages when add the current
executable when it is in the
src folder
running the catkin_make workspace to the
command. ROS workspace
path.
Here’s A typical workspace layout
Create a folder for your workspace ( give your folder a
Create name representable of your application )
So How to Create Create another folder inside the first name and give it
the name "src"
create a ROS
Workspace?!
Initialize the workspace using the command
Initialize catkin_init_workspce
$ cd ~/<workspace_name>/src
$ catkin_init_workspace
$ cd ..
$ catkin_make
$ source ~/<workspace_name>/devel/setup.bash
ROS Filesystem
ROS filesystem
Package
Manifests:
Message (msg)
Metapackages: Packages:
types:
Service (srv)
types:
ROS filesystem
Note make sure you are at the source file when you creating your packages
So what is the purpose of these files?!
ROS Nodes
Many nodes can A node is useful
run on the same only if it can
computer, or communicate
nodes may be with other nodes
distributed and ultimately
across a network with sensors and
of computers. actuators.
• • ROS topics are Named buses in which ROS nodes
ROS Topics can send a message. A node can publish or subscribe
any number of topics.
ROS MASTER NODES PARAMETER MESSAGES
Computation LEVEL
Graph Level
The ROS Computation Graph is
the peer-to-peer network of the
ROS process that TOPICS SERVICES BAGS
processes data together.
The following are the basic
concepts of ROS CGL: Communication Tools
ROS Client Libraries
The ROS client libraries are a collection of
code with functions to implement ROS
concepts. We can simply include these library
functions in our code to make it a ROS node.