Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Player universal driver and the Stage and Gazebo simulators Daniele Calisi.

Similar presentations


Presentation on theme: "The Player universal driver and the Stage and Gazebo simulators Daniele Calisi."— Presentation transcript:

1 The Player universal driver and the Stage and Gazebo simulators Daniele Calisi

2 Player, Stage and Gazebo - OpenRDK Workshop - March 20092 The Player/Stage/Gazebo project Long term project  Started in 2000  Moved to SourceForge in 2001  Gazebo (3D simulator) development started in 2003 The project maintains three piece of software:  Player: a universal driver for robotics  Stage: scalable 2D multiple robot simulator  Gazebo: high-fidelity 3D multiple robot simulator “Player is a collaborative development effort aimed at producing high-quality open source tools for robotics researchers”  7 active core developers (Player + Stage + Gazebo)  17 contributors  Funding by DARPA, NSF, SRI, ONR, JPL  Many organizations provide facilities  Thousand of downloads per month

3 Player, Stage and Gazebo - OpenRDK Workshop - March 20093 What is Player Addresses two problems  There is a huge variety of hardware related to robotics (robot bases, sensors, actuators, etc.), each of which has its own interface, connection (Serial, USB, Ethernet, I 2 C, CAN-bus, etc.) and protocol  In the robotic scientific community, “the wheel gets reinvented over and over again” The goal  Provides a “robotic operating system” that hides hardware details and uses standard interfaces (in the same way an operating system allows the user to interact to the hardware using drivers)  Provides standard basic tools for robotic researchers (e.g. viewers, simulators, etc.)  Support code reuse

4 Player, Stage and Gazebo - OpenRDK Workshop - March 20094 The Player structure Player (server) Controller (client) Controller (client) Controller (client) Controller (client) Player (server) TCP, UDP, Jini, Ice RS232, USB, 1394, TCP, Shared Mem Stage (2D simulation) Gazebo (3D simulation) © Brian Gerkey

5 Player, Stage and Gazebo - OpenRDK Workshop - March 20095 Supported hardware and interfaces Robot bases  ActivMedia, RWI, Erratic, Segway  Evolution, Nomadics... Laser range finders  SICK, Hokuyo Vision  ACTS, CMVision, CMUCam PTZ  Sony, Canon, Amtec, Direct Perceptions IMU  ISense, XSens,... GPS Speech  Festival, Sphinx2

6 Player, Stage and Gazebo - OpenRDK Workshop - March 20096 Player and OpenRDK Different goals  Player is (mostly) an interface to the hardware/simulators  OpenRDK is a framework for higher-level processing and behaviors player2client localizer mapper Player Hardware/SimulatorClients

7 Player, Stage and Gazebo - OpenRDK Workshop - March 20097 How to configure Player Player is run with a configuration file that specifies the devices to be used Example driver ( name "p2os" provides [ "odometry:::position2d:0" "sonar:0" "power:0" "bumper:0" "gripper:::gripper:0" "blobfinder:0" "sound:0" ] port "/dev/ttyS0" ) driver ( name "sicklms200" provides [ "laser:0" ] port "/dev/ttyS2" )

8 Player, Stage and Gazebo - OpenRDK Workshop - March 20098 How to configure the OpenRDK agent (1) Problem  Simulator client modules (and Player2ClientModule as well) often contains all properties for all sensors and actuators simulated  This results in a cluttered configuration file and property tree Solution (coming soon)  Optional properties allow the user to choose which properties will be created  This is one of the possible uses of initInterfaceProperties()

9 Player, Stage and Gazebo - OpenRDK Workshop - March 20099 How to configure the OpenRDK agent (2) Example Automatic loading from Player config file? Properties created in initConfigurationProperties() /robot/params/groundTruthPoseEnabled=Yes /robot/params/laserConfig=laser0 laser1 /robot/params/sonarConfig= /robot/params/gpsConfig= Properties created in initInterfaceProperties() /robot/out/groundTruthPose /robot/out/laser0/laserData /robot/out/laser1/laserData

10 Player, Stage and Gazebo - OpenRDK Workshop - March 200910 Player and its simulators Stage 2D environment model Robot kinematics Light simulation ( O(1) ~ O(n) ) Large population of robots (~100?) Indoor environments Gazebo 3D environment model Robot dynamics Uses ODE (Open Dynamics Engine) More expensive simulation ( O(n) ~ O(n3) ) Small robot teams (~10?) Outdoor environments

11 Player, Stage and Gazebo - OpenRDK Workshop - March 200911 The Gazebo 3D simulator Advantages -ODE for physics -3D modeling Problems -Proprietary XML format for world and robot descriptions -No import facility from 3D modeling software

12 Player, Stage and Gazebo - OpenRDK Workshop - March 200912 The Stage 2D simulator 2D environments and multiple robots Light simulation The world is specified as a text file and a B/W image Fast and easy on-line interaction with the environment Supports all Player sensors, moving objects, a simple vision simulation (BLOB finder), etc.

13 Player, Stage and Gazebo - OpenRDK Workshop - March 200913 A brief analysis of Stage Intermediate simulation Widely used  If you need a 2D simulator, Stage is the choice Simulation  The Stage developer claims that simple simulation can make you create robust algorithms (e.g., discretization, etc.)  For this reason, no noise is added to sensor data or to actions, “noise” is obtained indirectly through discretization Grid world Complex 3D realistic simulator Stage complexity

14 Player, Stage and Gazebo - OpenRDK Workshop - March 200914 Past and current OpenRDK + Stage uses Performance measurements for motion algorithms (MoVeME benchmark database) Multi-agent multi-object tracking Coordination (token- passing technique) experiments

15 Player, Stage and Gazebo - OpenRDK Workshop - March 200915 How to use Player with Stage driver ( name "stage" provides [ "simulation:0" ] plugin "libstageplugin" worldfile " hospital.world" ) driver ( name "stage" provides [ "position2d:0" "laser:0" ] model "robot1" samples 180 fov 180 range_min 0.0 range_max 4.0 ) //... map ( bitmap " hospital.png" size [8 16] name "cave" ) pioneer2dx ( name "robot1" color "red" pose [1 2 0] sick_laser() ) Player configuration file World file

16 Player, Stage and Gazebo - OpenRDK Workshop - March 200916 Thank you for your attention Questions? Official Player/Stage website: http://playerstage.sf.net


Download ppt "The Player universal driver and the Stage and Gazebo simulators Daniele Calisi."

Similar presentations


Ads by Google