open source robotics with ros - robot operating …...what is ros? robot operating system / robot...

23
Open Source Robotics with ROS Mrinal Kalakrishnan @ Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 1 / 14

Upload: others

Post on 23-Jun-2020

47 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

Open Source Robotics with ROS

Mrinal Kalakrishnan

@

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 1 / 14

Page 2: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

What is ROS?

Robot Operating System / Robot Open Source

A “meta-operating system”

“The Linux of robotics”

Goal: Improve robotics researchLeverage the work of othersReplication of results - good science!Time to productivity:

vs

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 2 / 14

Page 3: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

What is ROS?

Robot Operating System / Robot Open Source

A “meta-operating system”

“The Linux of robotics”

Goal: Improve robotics researchLeverage the work of othersReplication of results - good science!Time to productivity:

vs

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 2 / 14

Page 4: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

What can ROS do?

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 3 / 14

Page 5: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

What features does ROS have?

Core Functionality (ros):Message-passing InfrastructurePackage ManagementBuild System, Logging, Testing

Everything else (ros-pkg):Hardware AbstractionLow-level Device ControlSimulators/VisualizersMath/Geometry LibrariesRobotics!

Originally developed at Stanford,currently maintained by WillowGarage

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 4 / 14

Page 6: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

What features does ROS have?

Core Functionality (ros):Message-passing InfrastructurePackage ManagementBuild System, Logging, Testing

Everything else (ros-pkg):Hardware AbstractionLow-level Device ControlSimulators/VisualizersMath/Geometry LibrariesRobotics!

Originally developed at Stanford,currently maintained by WillowGarage

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 4 / 14

Page 7: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

What features does ROS have?

Core Functionality (ros):Message-passing InfrastructurePackage ManagementBuild System, Logging, Testing

Everything else (ros-pkg):Hardware AbstractionLow-level Device ControlSimulators/VisualizersMath/Geometry LibrariesRobotics!

Originally developed at Stanford,currently maintained by WillowGarage

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 4 / 14

Page 8: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

ROS: Distributed Development

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 5 / 14

Page 9: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

We don’t reinvent the wheel. . .

OpenCV - Computer Vision

Eigen - Matrix Algebra

ODE+Gazebo - Robot Simulator

KDL - Kinematics and Dynamics

TREX - High Level Planning

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 6 / 14

Page 10: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

Distributed Processes

Move computation around the network

Loose coupling between “nodes”

Modularity

License boundaries

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 7 / 14

Page 11: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

Messages, Topics, Services

Message Language-independent data structure

Topic A “channel” on which nodes publish and subscribe to messages

Service Request/reply style communication

Client Librariesroscpp, rospy, rosoct, roslisp, rosjava

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 8 / 14

Page 12: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

Messages, Topics, Services

Message Language-independent data structure

Topic A “channel” on which nodes publish and subscribe to messages

Service Request/reply style communication

Client Librariesroscpp, rospy, rosoct, roslisp, rosjava

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 8 / 14

Page 13: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

Messages, Topics, Services

Message Language-independent data structure

Topic A “channel” on which nodes publish and subscribe to messages

Service Request/reply style communication

Client Librariesroscpp, rospy, rosoct, roslisp, rosjava

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 8 / 14

Page 14: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

Messages, Topics, Services

Message Language-independent data structure

Topic A “channel” on which nodes publish and subscribe to messages

Service Request/reply style communication

Client Librariesroscpp, rospy, rosoct, roslisp, rosjava

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 8 / 14

Page 15: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

Visualizer

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 9 / 14

Page 16: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

General Robot Description

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 10 / 14

Page 17: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

General Robot Description

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 10 / 14

Page 18: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

General Robot Description

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 10 / 14

Page 19: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

Let’s Hack!

<Demo featuring a Nokia N900 phone accelerometer controlling a simulatedPR2 in gazebo>

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 11 / 14

Page 20: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

Willow Garage Intern Challenge

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 12 / 14

Page 21: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

Conclusions

Open Source, yet commercial-friendly

Federated development model

Growing community

Documentation, code, wiki, mailing lists are athttp://www.ros.org/

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 13 / 14

Page 22: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

Acknowledgements

Steve Cousins, Brian Gerkey - ideas for slides

Sunil Thaha (Nokia), Aneesh Muralidharan (VCreate Logic) - N900 demo

Willow Garage - travel funding

Thank you!

Questions?Contact: [email protected]

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 14 / 14

Page 23: Open Source Robotics with ROS - Robot Operating …...What is ROS? Robot Operating System / Robot Open Source A “meta-operating system” “The Linux of robotics” Goal: Improve

Acknowledgements

Steve Cousins, Brian Gerkey - ideas for slides

Sunil Thaha (Nokia), Aneesh Muralidharan (VCreate Logic) - N900 demo

Willow Garage - travel funding

Thank you!

Questions?Contact: [email protected]

Mrinal Kalakrishnan (USC) Open Source Robotics with ROS FOSS.IN/2009 14 / 14