The Robot Operating System ecosystem and Python
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,697
On Slideshare
1,680
From Embeds
1,017
Number of Embeds
4

Actions

Shares
Downloads
28
Comments
0
Likes
4

Embeds 1,017

http://pybcn.org 965
http://127.0.0.1 41
http://lanyrd.com 9
https://twitter.com 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim The Robot Operating System ecosystem and Python Esteve Fernandez Open Source Robotics Foundation esteve@apache.org esteve@osrfoundation.org PyBCN, Barcelona, January 16th, 2014 Questions
  • 2. Introduction ROS Gazebo DARPA Urban Challenge Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim Questions DARPA Robotics Challenge CloudSim Questions
  • 3. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge Introduction How it all started CloudSim Questions
  • 4. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge Willow Garage CloudSim Questions
  • 5. Introduction ROS Gazebo DARPA Urban Challenge PR2 DARPA Robotics Challenge CloudSim Questions
  • 6. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge PR2: features • Two arms with 7 degrees of freedom • 5 megapixel camera • Laser range finder • Inertial measurement unit • Two 8-cores processors • 48 Gb of RAM • Free software • Pricetag: $400,000 CloudSim Questions
  • 7. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim Questions
  • 8. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge ROS: robots CloudSim Questions
  • 9. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim Questions ROS: features • ROS (Robot Operating System) • BSD license • Service-oriented components middleware • Multiple language support: Python, C++, Java, Ruby and many others • Support for a wide range of drivers and robots • Originally developed by Willow Garage • Open Source Robotics Foundation now leads the development of ROS
  • 10. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge ROS: example (I) 1 import roslib; roslib.load_manifest(’rospy_tutorials’) 2 3 4 import rospy from std_msgs.msg import String 5 6 7 8 9 10 11 12 13 14 def talker(): pub = rospy.Publisher(’chatter’, String) rospy.init_node(’talker’, anonymous=True) r = rospy.Rate(10) # 10hz while not rospy.is_shutdown(): str = "hello world %s"%rospy.get_time() rospy.loginfo(str) pub.publish(str) r.sleep() 15 16 17 18 19 if __name__ == ’__main__’: try: talker() except rospy.ROSInterruptException: pass CloudSim Questions
  • 11. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim ROS: example (II) 1 import roslib; roslib.load_manifest(’rospy_tutorials’) 2 3 4 import rospy from std_msgs.msg import String 5 6 7 def callback(data): rospy.loginfo(rospy.get_caller_id()+"I heard %s",data.data) 8 9 10 def listener(): rospy.init_node(’listener’, anonymous=True) 11 12 rospy.Subscriber("chatter", String, callback) 13 14 rospy.spin() 15 16 17 if __name__ == ’__main__’: listener() Questions
  • 12. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim Questions ROS: example (III) 1 #!/usr/bin/env python 2 3 4 from beginner_tutorials.srv import * import rospy 5 6 7 8 def handle_add_two_ints(req): print "Returning [%s + %s = %s]"%(req.a, req.b, (req.a + req.b)) return AddTwoIntsResponse(req.a + req.b) 9 10 11 12 13 14 def add_two_ints_server(): rospy.init_node(’add_two_ints_server’) s = rospy.Service(’add_two_ints’, AddTwoInts, handle_add_two_ints) print "Ready to add two ints." rospy.spin() 15 16 17 if __name__ == "__main__": add_two_ints_server()
  • 13. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim Questions ROS: example (and IV) 1 2 3 4 5 #!/usr/bin/env python import roslib; roslib.load_manifest(’beginner_tutorials’) import sys import rospy from beginner_tutorials.srv import * 6 7 8 9 10 11 12 13 14 def add_two_ints_client(x, y): rospy.wait_for_service(’add_two_ints’) try: add_two_ints = rospy.ServiceProxy(’add_two_ints’, AddTwoInts) resp1 = add_two_ints(x, y) return resp1.sum except rospy.ServiceException, e: print "Service call failed: %s"%e 15 16 17 18 19 20 if __name__ == "__main__": x = int(sys.argv[1]) y = int(sys.argv[2]) print "Requesting %s+%s"%(x, y) print "%s + %s = %s"%(x, y, add_two_ints_client(x, y))
  • 14. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge ROS: future • ROS 2.0 will support more use cases • Easier multi-robot architecture • Learn from previous decisions • Unification of the ROS master and nodes protocols • Reduce code maintenance • Better integration with other robotics frameworks • Improve support for embedded devices CloudSim Questions
  • 15. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim Questions
  • 16. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim Questions
  • 17. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim Questions Gazebo: features • Apache 2.0 license • Multi-robot simulator • Included models: PR2, Turtlebot, iRobot Create, etc. • Support for several types of sensors • Pluggable and extendable to add more components and robot models: REEM, Robonaut, etc. • Client-server model • Originally developed by USC and Willow Garage • Open Source Robotics Foundation now leads the development of Gazebo
  • 18. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge Gazebo: current state • Gazebo 2.0 just released (current version 2.1) • Better integration with ROS • Included improvements made for the DRC CloudSim Questions
  • 19. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge DARPA Urban Challenge • Competitions in 2004, 2005 and 2007 • Goal: build a self-driving car • Teams built their own car and the software • Winner received $2M CloudSim Questions
  • 20. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim DARPA Robotics Challenge • Goal: advance in the development of rescue robots (fires, earthquakes, floods, etc.) • Teams from all over the world can use a model provided by DARPA (Atlas) or build their own • First phase (Virtual Robotics Challenge, June 2013) completely simulated, 26 qualified for the VRC • The 7 best VRC competitors received a real Atlas robot and additional funding from DARPA • Second phase in Miami (December 2013), with real robots • Winner will receive $2M (December 2014) Questions
  • 21. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim DARPA Robotics Challenge: tasks • Drive a utility vehicle at the site • Travel dismounted across rubble • Remove debris blocking an entryway • Open a door and enter a building • Climb an industrial ladder and traverse an industrial walkway • Use a tool to break through a concrete panel • Locate and close a valve near a leaking pipe • Connect a fire hose to a standpipe and turn on a valve Questions
  • 22. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim Questions
  • 23. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim CloudSim: features • Web application to manage robot simulations in the cloud • Written in Python and Javascript • Apache 2.0 license • Support for several clouds: Amazon Web Services, Softlayer and Openstack • Integrated with ROS and Gazebo • Supports deploying several constellations (simulator + monitor, simulator, etc.) • Developed by Open Source Robotics Foundation Questions
  • 24. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim: use cases • Educational robotics • Simulator in the browser • Robotics competitions CloudSim Questions
  • 25. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge CloudSim More information • ROS http://ros.org • Gazebo http://gazebosim.org • CloudSim http://gazebosim.org/wiki/CloudSim • DARPA Robotics Challenge http://theroboticschallenge.org • Boston Dynamics http://bostondynamics.com • Open Source Robotics Foundation http://osrfoundation.org • Willow Garage http://willowgarage.com Questions
  • 26. Introduction ROS Gazebo DARPA Urban Challenge DARPA Robotics Challenge Questions Thanks for your attention esteve@osrfoundation.org esteve@apache.org Twitter: @esteve CloudSim Questions