21
ROS: introduction, concepts and examples edric Pradalier October 16 th , 2013

ROS: introduction, concepts and examplesjnrr2013.webconf.inrialpes.fr/wp-content/uploads/sites/4/2013/10/JN… · ROS: yet another middlewareUse-casesConclusion ROS, the robotics

  • Upload
    others

  • View
    44

  • Download
    1

Embed Size (px)

Citation preview

ROS: introduction, concepts and examples

Cedric Pradalier

October 16th, 2013

ROS: yet another middleware Use-cases Conclusion

Objectives of this talk

ROS and middleware

I Quick presentation

I Quick comparison

Use case

I For teaching

I For research

2/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

Outline

ROS: yet another middleware

Use-cases

Conclusion

3/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

Why a middleware?

I Robotics development for the soft real-time people...

Sensors/Data

Actuators/Action

A-prioriinformation

Learning /Optimisation

Reasoning /Processing

4/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

Why a middleware?

I Robotics development for the soft real-time people...

Camera

Pan-Tilt Base

Optimised FaceDetector (Haar Wavelets)

Face DetectionAdaBoost / OpenCV

Camera capture

Pan-Tilt Interface

Face Tracker

Control Parameters

/camera/image

/face/position

/pantilt/command

/tracker/P, /tracker/I, /tracker/D ...

/camera/calibration

5/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

Why a middleware?

I Robotics development for the soft real-time people...

Motor Control

SampleAnalyser

Sampling Controller

Weather Station

Phy-ChemProbe

Sampling Selector

Data Storage

ProfileAcquisition

Phy-ChemData

Temp, Wind

Velocity commandPosition output

Position commandPosition output

Analysis Request

Sample DataSamplingPositionvector

Profile +selectedsample data, depth, ...

ProfileSampleDatavector

6/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

Examples of middleware for robotics

Limited to the one I used personnally:

I Genom – LAAS

I DDX – CSIRO, maintainer

I Carmen

I IPC

I Yarp

I Moos

I Corba

I RTI – commercial

I ADTF – commercial

I ROS – core contributions

7/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

ROS

I Stands for Robot Operating System, but runs on top of existing OSlike (mostly) Linux

I Originates from SAIL/Willow Garage, now moved to OSRF

I Combines several features into a consistent project:I A software distribution with a dependency mechanismI An integrated build systemI A communication middlewareI Helper tools: visualization, record/replay, etc.

I Provides client libraries for C++, Python, lisp; experimental ones forJava, Lua

8/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

ROS, the distribution platform

Software packages, organized in stacks/packages, that cover many areasof robotics:

I perception

I state estimation

I mapping

I navigation

I planning

I object detection

I grasping

I etc.

9/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

ROS, the robotics middleware

I Components (nodes) that may run on different computers

I Data exchanged through topics (event-based) and services (RPC),wrapper generated from descriptions

I TCP and UDP transport layers

I Standardized messages (images, laser scans, point clouds, IMU,GPS, joystick)

I Parameter server

I Visualization of data (rviz)

I Record and replay (bags)

10/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

ROS, status and future – from 2012

I Work force: currently 60 full-time positions at Willow Garage +many contributors from academia.

I Being a meeting point, ROS has lead to dramatic improvements inthe standardization of robotics software.

I Challenges: maintenance of core, integration of third-partycontributions, further standardization, application to industry.

11/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

ROS, why do I use it?

Software

I Excellent documentation and tutorials

I Reliable software tools for data management

I Standardization of most message type (image, geometry, ...)

I Reliable communication system.

I Availability of most functionality I need to build an application.

I Link with OpenCV and PCL.

Education

I Excellent documentation and tutorials

I Lot of resources to let students focus on the important stuff.

12/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

ROS, what I don’t like

Software

I Heavy: design for big machines, lot of RAM, lot of hard-drive.

I Not super high-performance communication system.

I Low-performance of communication system in python.

I New build system (catkin)

Management

I Very hard to do core contributions

I Uncertainty on future management

13/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

Outline

ROS: yet another middleware

Use-cases

Conclusion

14/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

Autonomous Shore Inspection

15/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

A ROS system

System

I Delivered as a ROS system by Clearpath Robotics

I Mix of Python and C++ sensor/actuator interfaces: open-source,changed/improved most of them since delivery.

I Standard message for commands and most data.

ROS advantage

I Simplification of development

I Simplification of data monitoring and logging from ground station.

16/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

Robotic classes with V-REP

17/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

A ROS system

System

I Integration of ROS as a plugin in V-REP.

I Simple use by students, simple scene creation.

I Standard message for commands and most data.

I Simplification of data monitoring .

Why not Gazebo?

I Not reliable enough when starting designing the classes.

18/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

Outline

ROS: yet another middleware

Use-cases

Conclusion

19/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

Conclusion

ROS

I Core set of tools in all my developments.

I Fits most needs by combining communications, build-systems andreach software ecosystem.

I Enabler for most research needs.

I Enabler for robotic education.

The final middleware?

I Space for improvement.

I (Hopefully) open enough to let the community take charge evenwithout Willow Garage.

I Better support for other OS?

20/21 — Cedric Pradalier — ROS: introduction, concepts and examples

ROS: yet another middleware Use-cases Conclusion

Thank you for your attention

21/21 — Cedric Pradalier — ROS: introduction, concepts and examples