Introduction to Robot Operating System

Introduction to Robot Operating System

Introduction to Robot Operating System Kirill Tumanov [email protected] 2017 Outline General motivation ROS Basics Examples How to proceed? 2 General motivation What is it all about? 3 General motivation What is ROS? • An open-source full stack OS for robotic development • Extendable environment for robot control 4 General motivation Why ROS? • It is free • It is fast • It is well-structured • It is scalable • It has a lot of things built-in • A vast community 5 General motivation If not ROS, then what? Open-source suites: • URBI • CARMEN Toolkit (Carnegie Mellon) • Player Project • Mobile Robot Programming Toolkit (MRPT) • … Suites with license restrictions: • Webots (commercial) • Microsoft Robotics Developer Studio (MRDS) • … Software and hardware limitations: • LEGO Mindstorms NXT • NAO Choreographe • … 6 ROS Basics ROS: Stack Courtesy: Daniel Claes, 2013 7 ROS Basics ROS: Organization Master PC Core Node_1 Node_2 Topics Robot_1 • Map • Location • Heading Node_3 Node_4 Robot_2 8 ROS Basics ROS: Nodes • Node Process • Node is a module of a (complex) robot controller which eases maintenance • Nodes run in parallel in a possibly distributed robotic environment • Nodes know about each other and communicate through a roscore running on a master PC Node Node Node Master PC Node Core Node Node Node Node 9 ROS Basics ROS: Topics • Topic Named Message Log • Topic allows sending information in a robotic environment • Falls under the client-server or publisher-subscriber relationship • Information dropped by publisher on a topic is picked-up by (multiple) subscribers Core Subscriber 1 Topic Publisher Map Subscriber 2 Subscriber 3 10 ROS Basics ROS: Messages • Message Filled data structure • Sending messages allows to pass information in an organized fashion • Message fields are well-documented so you know what you will receive Map: header: seq: 123987 stamp: 1441980732 frame_id: 1 info: time: 1441983633 height: 120 width: 230 resolution: 0.05 origin: point: (0,0,0) orientation: (0,0,0,0) data: [0 1 0 0 100 0 0 100 …] 11 ROS Basics ROS: Overview • Runs of Linux (Ubuntu), Windows, MacOS, Android • Supports C++, Python, Lisp, Java, Lua • Plug-and-Play Install and Develop • Everything can be made custom, but … • … usually there is already more than one solution of what you want to do • Compatible with leading toolkits: Gazebo, Player/Stage, Orocos, … • Switching from simulation to real-life is made as easy as possible – really • Scale your solutions without (much) pain 12 Examples ROS use example 13 Examples Another ROS use example … 14 Examples More ROS examples • See Swarmlab videos: https://www.youtube.com/user/SwarmLabMaastricht/videos • Search others online 15 How to proceed? What to start with? • Check out ROS website: ros.org • Check Swarmlab page containing instructions on ROS installation: http://swarmlab.unimaas.nl/autonomous-systems/installation/ 16 How to proceed? What will you do with ROS? ROS-based assignments: • Assignment #1 (Random walk) is not submitted, but you are encouraged to do it • Assignment #2 (Bayes Filter) is submitted in 2 weeks time • Assignment #3 (Particle Filter) is submitted in 1 week • Assignment #4 (Navigation) is not submitted, but you are encouraged to do it Follow the guidelines in the assignment, and upload working code on Student Portal. If in doubt of have any questions see FAQ: http://swarmlab.unimaas.nl/autonomous-systems/faq/ 17 Questions? Kirill Tumanov | [email protected] .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us