Nate Koenig 15 Sep 2004 Stage and Gazebo The Instant Expert’s Guide.

Slides:



Advertisements
Similar presentations
Implementing Tableau Server in an Enterprise Environment
Advertisements

INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
MICHAEL MARINO CSC 101 Whats New in Office Office Live Workspace 3 new things about Office Live Workspace are: Anywhere Access Store Microsoft.
Using MapuSoft Instead of OS Vendor’s Simulators.
Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management.
1 Dynamic DNS. 2 Module - Dynamic DNS ♦ Overview The domain names and IP addresses of hosts and the devices may change for many reasons. This module focuses.
Player/Stage/Gazebo CS 485/511 Drexel University Chris Cannon Marc Winners
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
LINUX-WINDOWS INTERACTION. One software allowing interaction between Linux and Windows is WINE. Wine allows Linux users to load Windows programs while.
Installing and Using Software from the Player Project Robert N. Lass Drexel University April 1 st, 2010 (no joke) (some slides adapted from Cannon & Winners)
1 Player Tutorial Boyoon Jung Robotic Embedded Systems Lab Robotics Research Lab Center for Robotics and Embedded Systems.
The Player universal driver and the Stage and Gazebo simulators Daniele Calisi.
IARP/EURON Workshop on Robotics for Risky Interventions and Environmental Surveillance Mobile robot simulators and their application to hazardous and.
WSN Simulation Template for OMNeT++
1 Rosetta and Gazebo: Simulating Robots A CE Project Robotics Institute, Carnegie Mellon September 12, 2007.
Computer-Based Animation. ● To animate something – to bring it to life ● Animation covers all changes that have visual effects – Positon (motion dynamic)
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Intelligent Vehicles and Systems Group The Pennsylvania State University 1/9 EDSGN 100 EDSGN 100 Autonomous System Navigation and Driver Augmentation Pramod.
Installing and maintaining clusters of FreeBSD servers using PXE and Rsync Cor Bosman XS4ALL
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
PyCON 2010 Author: Sidnei Budiman.  Your Average Programmer  One of the stereotypical 3 guys in a garage Currently working on building our own company.
Linux Operations and Administration
Fundamentals of Networking Discovery 1, Chapter 2 Operating Systems.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
4 1 Operating System Activities  An operating system is a type of system software that acts as the master controller for all activities that take place.
DELTA TAU Data Systems, Inc. 1 UMAC TurboTurbo PMAC PCIGeo Drive Single Source Machine Control motion logic data Power PMAC Project Management November.
W. Sliwinski – eLTC – 7March08 1 LSA & Safety – Integration of RBAC and MCS in the LHC control system.
ORCA Robot Simulator HY-475 Autonomous Robot Navigation.
October, Scientific Linux INFN/Trieste B.Gobbo – Compass R.Gomezel - T.Macorini - L.Strizzolo INFN - Trieste.
Software Framework for Teleoperated Vehicles Team Eye-Create ECE 4007 L01 Karishma Jiva Ali Benquassmi Safayet Ahmed Armaghan Mahmud Khin Lay Nwe.
Software Engineering in Robotics Packaging and Deployment of Systems Henrik I. Christensen –
Microsoft Robotics Studio Simulation Kyle Johns Software Development Engineer Microsoft Corporation.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Installation and Development Tools National Center for Supercomputing Applications University of Illinois at Urbana-Champaign The SEASR project and its.
QuikTrac 5.5, a validated Motorola Software Solution, allows you to take your Host ERP screens and extend them out to fixed or mobile devices including.
Ling Chen ( From Shanghai University 1.
Graphics in HTML. Graphics  Question: How does a web page include graphics?  Are the graphics included in the HTML file or separate files?
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
ALICE, ATLAS, CMS & LHCb joint workshop on
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Introduction to Flash Animation CS 318. Topics Introduction to Flash and animation The Flash development environment Creating Flash animations  Layers.
City College of New York 1 Player Stage Gazebo Rex Wong CCNY Robotic Lab A robotic research and development environment.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Linux Operations and Administration
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Linux Operations and Administration Chapter Twelve Configuring a Mail Server.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
EPICS and LabVIEW Tony Vento, National Instruments
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
An EPICS IDE Using Eclipse Kenneth Evans, Jr. Presented at the EPICS Collaboration Meeting June 15, 2006 Argonne National Laboratory, Argonne, IL.
2: Operating Systems Networking for Home & Small Business.
Chapter 4: server services. The Complete Guide to Linux System Administration2 Objectives Configure network interfaces using command- line and graphical.
January 2010 – GEO-ISC KickOff meeting Christian Gräf, AEI 10 m Prototype Team State-of-the-art digital control: Introducing LIGO CDS.
Linux and Coldfusion MX Mid-Michigan Coldfusion User’s Group, Nov
Creation and Visualization of 3D Scenes with the MRPT library January, 2007 Jose Luis Blanco Claraco Dept. of Automation and System Engineering University.
Computer System Structures
Mobile Device Development
Development Environment
Operating System Structures
Operating System Structure
Prof. Leonardo Mostarda University of Camerino
HY-475 Autonomous Robot Navigation
Presentation transcript:

Nate Koenig 15 Sep 2004 Stage and Gazebo The Instant Expert’s Guide

2 Simulators When, why, how, what The right tool: Stage or Gazebo? Stage in depth Installation, usage Examples Gazebo in depth Installation and usage Examples Where to get help Overview

3 What Mimic the real world, to a certain extent When Always!! Why Save time and your sanity Experimentation much less destructive Use hardware you don’t have Create really cool videos How Someone has probably already done it, so use it Working with Simulators

4 Which Simulator? Stage 2D Sensor-based Player interface Kinematic O(1) ~ O(n) Large teams (100’s) Gazebo 3D Sensor-based Player Dynamic O(n) ~ O(n 3 ) Small teams (10’s)

5 The Big Picture Client Player Stage Gazebo Real Hardware Data Cmds TCP/UDP SHM

6 Stage

7 Stage: Environment Simulates mobile robots, sensors and objects on 2-D bitmapped environment

8 Stage: Models Designed for multi-agent autonomous research Each model simple (computationally cheap) Can simulate many such models

9 Stage: Control Control models via Player Simulated hardware appear as their real counterparts Easy transition between simulation and real world Supports a wide range of devices: Pioneers, laser, sonar, camera, pucks, etc.

10 Stage In Depth The result?

11 Stage: Worldfile Stage environment specified in a worldfile Describes the robots, sensors and objects Many examples provided in distribution

12 # the resolution of Stage's raytrace model in meters resolution 0.02 # GUI settings gui ( size [ ] origin [ ] scale # the size of each bitmap pixel in meters ) # load a bitmapped environment from a file bitmap ( file "cave.pnm.gz" resolution 0.02 ) include "pioneer.inc“ # create a robot, set start position and Player port, and equip it with laser scanner position ( port 6665 pose [ ] laser() ) # the resolution of Stage's raytrace model in meters resolution 0.02 # GUI settings gui ( size [ ] origin [ ] scale # the size of each bitmap pixel in meters ) # load a bitmapped environment from a file bitmap ( file "cave.pnm.gz" resolution 0.02 ) include "pioneer.inc“ # create a robot, set start position and Player port, and equip it with laser scanner position ( port 6665 pose [ ] laser() ) Example Stage Worldfile

13 Running Stage To run stage: Note: Stage automatically starts a player server Problem: abstract devices not implemented in Stage are needed. Such as VFH, or AMCL Solution: start another Player server using passthrough devices Passthrough devices send data/cmds between Player servers A secondary server can collect data from Player, and run abstract devices $ stage

14 Working With Stage Player localhost:8000 Controller (client) Controller (client) TCP/UDP Stage position:0 driver passthrough port 7000 laser:0 driver passthrough port 7000 position:0 driver vfh position_index 0 laser_index 0 port 7000 position:0 port 7000 laser:0 TCP/UDP

15 Gazebo

16 Gazebo: In Depth Simulates robots, sensors, and objects in a 3-D dynamic environment Generates realistic sensor feedback and physical interactions between objects

17 Gazebo In Depth Gazebo aims to be a high fidelity simulator Each model is NOT computationally cheap Small robot populations are possible. Dependent on number and type of robots

18 Exception to the rule

19 Gazebo Architecture

20 Gazebo Architecture

21 Gazebo Architecture

22 Gazebo Client Code Client code (your program), can interface to Gazebo in two ways libgazebo Shared Memory, direct interface Fast, but requires more work Player Simulation transparency Get all of Player’s goodies Easier, but with more computational overhead Recommended for most cases

23 Gazebo Architecture

24 Libgazebo Simple C library Treat as a blackbox Client and server must run on same machine Read sensor data and send commands to simulated devices Devices and Interfaces: Devices (Model), represent real world objects Pioneer2AT, SickLMS200 The objects within Gazebo simulation Interfaces are general specifications for entire classes of devices Position, Laser The programmatic hooks to devices

25 Gazebo Architecture

26 The World A world is composed of a model hierarchy Models define simulated devices Models can be nested Specifies how models are physically attached to one another Think of it as “bolting” one model to another robot1 laser robot1 laser Worldfile snippet: Pioneer with a sick laser attached Sick’s relative location to Pioneer

27 Gazebo Architecture

28 Models Each model contains a few key properties: Physical presence (optional): Body: sphere, box, composite shapes Kinematics: joints, velocities Dynamics: mass, friction, forces Appearance: color, texture Interface (optional): Control and feedback interface (libgazebo)

29 Types of Models Static Models: Built into Gazebo; statically linked into server In general such models added by lead developers Plugin Models: Shared objects loaded at runtime. Akin to linux kernel modules Recommended for new, experimental, third- party models Easier to build, faster code/compile/test cycle, source can be maintained in separate repository

30 Available Models Factory GarminGPS GroundPlane LightSource MapExtruder ObserverCam Pioneer2AT Pioneer2DX Pioneer2Gripper Pioneer2Sonars SegwayRMP SickLMS200 SimpleSolid SonyVID30 Terrain TruthWidget MapExtruder

31 Working with Player Steps to creating a simulation: Write Gazebo worldfile Start Gazebo Write corresponding Player configuration file Start Player Start client program Note: Gazebo must be started before Player Player must be re-started whenever Gazebo is restarted

32 Example: Using a single robot Single robot with a scanning laser range finder robot1_position robot1_laser robot1_position robot1_laser driver ( name "gz_position" devices ["position:0"] gz_id "robot1_position" ) driver ( name "gz_laser" devices ["laser:0"] gz_id "robot1_laser" ) driver ( name "gz_position" devices ["position:0"] gz_id "robot1_position" ) driver ( name "gz_laser" devices ["laser:0"] gz_id "robot1_laser" ) Gazebo world Player config

33 Example: Using a single robot Run Gazebo Run Player Now run your code $ gazebo $ player –g default

34 Source distributions from the Player/Stage website: No binary (pre-built) distributions Basic requirements: Posix-like OS (Linux, OS X) GCC Gazebo additional requirements: OpenGL with hardware acceleration Open Dynamics Engine ( Getting Player/Stage/Gazebo

35 To use Gazebo: Download, install: 1. librtk-src gazebo-src player-src-1.4rc1 To use Stage: Download, install 4. librtk-src player-src stage-src Installing Packages

36 Where to get help: Your peers Player/Stage website Player/Stage/Gazebo mailing list archives Player/Stage/Gazebo mailing lists Getting Help

37 Questions?