Robotics Research Group Politecnico di Torino
The Robot Operating System (ROS)
Introduction, Concepts and Examples Stefano Rosa, 8/5/2015
The Robot Operating System (ROS) Introduction, Concepts and - - PowerPoint PPT Presentation
Robotics Research Group Politecnico di Torino The Robot Operating System (ROS) Introduction, Concepts and Examples Stefano Rosa, 8/5/2015 Mobile robotics Robotics Service robotics Service robotics Industrial robotics Exploration robotics
Robotics Research Group Politecnico di Torino
Introduction, Concepts and Examples Stefano Rosa, 8/5/2015
Mobile robotics
Robotics Service robotics Professional Personal Industrial robotics Exploration robotics Service robotics Professional Personal
Localization Mapping Path planning … Mobile robotics Autonomous navigation Human-robot interaction
Localization Mapping Path planning … Mobile robotics Autonomous navigation Human-robot interaction
robot pose in a given map using
measurements
noise, error accumulates over time (drift)
robot based on past controls and measurements
the uncertainty with a probability density (belief)
Deterministic Probabilistic
belief
resampling)
( )
( )
[ ] [ ] 1
ˆ
n i i t t t t i
bel p p p
=
≈ −
∑ω δ
[ ] 1
1
n i t i=
! " = # $ % &
∑ω
Localization Mapping Path planning … Mobile robotics Autonomous navigation Human-robot interaction
pose and the map
Localization Mapping Path planning … Mobile robotics Autonomous navigation Human-robot interaction
defines the problem of finding and following a feasible trajectory
Robots Using ROS And lots more…
service
Big community of developers (universities, industries…)
registration and lookup)
(it’s the actual code). Nodes can communicate between each
nodes (useful for tuning your algorithms)
roslaunch command
using an XML description:
<launch> <group ns="turtlesim1"> <node pkg="turtlesim" name="sim" type="turtlesim_node"/> </group> <group ns="turtlesim2"> <node pkg="turtlesim" name="sim" type="turtlesim_node"/> </group> <node pkg="turtlesim" name="mimic" type="mimic"> <remap from="input" to="turtlesim1/turtle1"/> <remap from="output" to="turtlesim2/turtle1"/> </node> </launch>
# this is a very useful comment! float64 myDouble string myString float64[] myArrayOfDouble
service
result
installation)
real robots
without modifications
library)
compatibility)
Robotics Research Group Politecnico di Torino
particle filters
based on particle filters
base_link_laser)
reaching a “goal” inside the map
map
base_footprint base_link base_laser_link
Pioneer P3DX robot equipped with an Hokuyo laser scanner:
base_link laser 100
equipped with an Hokuyo laser scanner:
laser 100
rosrun gmapping slam_gmapping
ROS
without prior assumptions about it
information or sensor readings at any time
have to be known in advance