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)

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

ONYX RIP Version Technical Training General. Overview General Messaging and What’s New in X10 High Level Print and Cut & Profiling Overviews In Depth.
Player/Stage/Gazebo CS 485/511 Drexel University Chris Cannon Marc Winners
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
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.
Nate Koenig 15 Sep 2004 Stage and Gazebo The Instant Expert’s Guide.
IARP/EURON Workshop on Robotics for Risky Interventions and Environmental Surveillance Mobile robot simulators and their application to hazardous and.
1 Component Description Alice 3d Graphics Software Human Computer Interaction Institute Carnegie Mellon University Prepared by: Randy Pausch,
Online Chess Project 3 Due date: April 17 th. Introduction Third in series of three projects This project focuses on adding online support –2 players.
Maze Running Robots EGR106 Project Spring Project Goal Computer control (through a Matlab program) of a Lego robot to: 1.Explore a maze (start to.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Big Projects  Part of this class is about picking a cool software project and building it 1.
UFCFX5-15-3Mobile Device Development Android Development Environments and Windows.
SET UP COMPUTER ** PLEASE BE AWARE SCREENSHOTS MAY NOT MATCH **
Application Layer. Applications A program or group of programs designed for end users. A program or group of programs designed for end users. Software.
Paul Trani Adobe Certified Instructor/Expert Resources:
Fuzzy control of a mobile robot Implementation using a MATLAB-based rapid prototyping system.
IT 210 The Internet & World Wide Web introduction.
1 The SpaceWire Internet Tunnel and the Advantages It Provides For Spacecraft Integration Stuart Mills, Steve Parkes Space Technology Centre University.
Wave Relay System and General Project Details. Wave Relay System Provides seamless multi-hop connectivity Operates at layer 2 of networking stack Seamless.
Player/Stage: A Unifying Paradigm to Improve Robotics Education Delivery Monica Anderson, Laurence Thaete, Nathan Wiegand The University of Alabama.
VoIP, Asterisk, and Java Michael P. Plezbert Agilis Systems, Inc St. Louis Java Users Group April 13, 2006.
Anees Elhammali Michael Malluck John Parsons Namrata Sopory
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate.
Translate the following message:
Software Framework for Teleoperated Vehicles Team Eye-Create ECE 4007 L01 Karishma Jiva Ali Benquassmi Safayet Ahmed Armaghan Mahmud Khin Lay Nwe.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Robotics Simulation (Skynet) Andrew Townsend Advisor: Professor Grant Braught.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
1 k Jarek Rossignac,  2008 Processing  Install Processing  Learn how to edit, run, save, export, post programs  Understand.
Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng Room C85.
Linux+ Guide to Linux Certification Chapter Ten The X Window System.
CONNECT: Install Webinar for Code-A-Thon April 22nd, 2010.
Microsoft Visual Programming Language Advanced Example.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
Stuff By Zach and Turtle To designate a default printer, choose Start > Control Panel > Printers and Faxes. Right-click the printer, and then.
TANGO TANGO ALTERNATE NETWORK GRAPH ORGANIZER Olof Hellqvist Zak Blacher.
City College of New York 1 Player Stage Gazebo Rex Wong CCNY Robotic Lab A robotic research and development environment.
The Software Development Process
1 © 2005 Cisco Systems, Inc. All rights reserved. 9429_03_2004_c1 Using Cisco Network Simulator.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
One reason for this is that curricular resources for robot mapping are scarce. This work fills the gap between research code, e.g., at openslam.org, and.
1 CS145 Lecture 24 What’s next?. 2  What questions does Computer Science study?  Where is programming and Computer Science headed? –With special emphasis.
How to Start a Software-Based Project. REQUIREMENTS DESIGN DEVELOPMENT TEST DEMONSTRATE PLANNING.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Virtual Machines Module 2. Objectives Define virtual machine Define common terminology Identify advantages and disadvantages Determine what software is.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
In today’s lesson we will be looking at: what we mean by the software development lifecycle the phases in the lifecycle We will focus particularly on testing:
Hallucinating Robots A Mixed Real / Virtual Environment
Why Learn Android? Largest installation base of any operating system Over 20,000 Android devices exist Businesses will likely move more to device-based.
Mobile Device Development
Android Mobile Application Development
<Add team picture or relevant project picture here>
Android Studio, Android System Basics and Git
Implementing Localization
What is ROS? ROS is an open-source robot operating system
CMPE419 Mobile Application Development
Final Project Details Note: To print these slides in grayscale (e.g., on a laser printer), first change the Theme Background to “Style 1” (i.e., dark.
Application Development A Tutorial Driven Course
Monica Anderson, Laurence Thaete, Nathan Wiegand
Level 3 Extended Diploma Unit 13 Computer Systems Architecture
Quick Introduction to ROS
CS 240 – Advanced Programming Concepts
Chapter 11: Printers IT Essentials v6.0 Chapter 11: Printers
Presentation transcript:

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)

Overview Simulation Player, Stage, and Gazebo Installation Configuration Writing Clients Demo

Simulation Approximate of the real-world. Why would we want to do this? – Faster, easier and cheaper to create; – Easier to experiment with and demonstrate; – Experimental repeatability. What are some draw backs of simulations? – Not reality; – Harder to transition to real life (although PS makes it a bit easier).

Software Overwiew Player: – A server, that provides an abstraction layer to robots. Stage: – A simulator; – 2D; – Low fidelity, but can emulate more virtual robots. Gazebo: – Another simulator; – 3D; – High fidelity, but can not emulate as many virtual robots.

The Big Picture Client Player Stage Gazebo Real Hardware Data Cmds TCP/UDP SHM * Slide taken from a lecture by Nate Koenig at USC

What is Player? Hardware abstraction layer for robots. Implements a client/server model. Communication over TCP sockets using the Player protocol. Officially supported client libraries: – C, C++, Python Unofficially supported client libraries: – Java, LISP, Matlab 6Chris Cannon & Marc Winners

Partial List of Supported Robotics Hardware Manufacturer Device(s) Driver – Acroname Garcia Acroname – Botrics Obot d100 Botrics – Evolution Robotics ER1 and ERSDK robots Evolution Robotics – iRobot Roomba vaccuming robot iRobotRoomba vaccuming robot – K-Team Robotics Extension Board (REB) attached to Kameleon 376BC K-TeamREB – K-Team Khephera K-Team – MobileRobots (formerly ActivMedia) PSOS/P2OS/AROS-based robots (e.g., Pioneer, AmigoBot) and integrated accessories, including a CMUcam connected to the AUX port. MobileRobotsPioneerAmigoBotCMUcam – Nomadics NOMAD200 (and possibly related) mobile robots – RWI/iRobot RFLEX-based robots (e.g., B21r, ATRV Jr) and integrated accessories. – Segway Robotic Mobility Platform (RMP), a custom-modified version of the Human Transport (HT) – UPenn GRASP Clodbuster – Videre Design ERRATIC mobile robot platform – White Box Robotics 914 PC-BOT Also supports numerous devices (sensors, actuators), software (e.g.: for speech recognition), algorithms (e.g.: obstacle detection and avoidance), and simulators (which we talk about next). * This list is taken from the Player Project Wiki.

Switch This is where you should switch to the Stage / Gazebo slide 6.

Other Simulator What if Gazebo and Stage are not suitable for your purposes? Write your own!

Installation Instructions on Player website; Ubuntu is recommended; Try running /usr/share/stage/ worlds/simple.cfg should see this image --> Use robot-playerv to play with it.

Installation, continued I am not going to recreate every student’s development environment; I will be testing your assignments on Ubuntu ; – Windows: Ubuntu VM? – Macintosh: Probably works.

Defining a Robot Three things: – Interfaces: A set way for drivers to send / receive data. – Drivers: Piece of code that talks to hardware (laser, camera, transporter). – Devices: A driver, bound to a particular interface so that Player can communicate with it.

Configuration Files For details about any configuration issues, check the Player website, or Google “player stage tutorial” and read the first hit (a PDF by Jennifer Owen) There are three main types of configuration files in Player / Stage: –.inc: Use these files to define objects that can appear in worlds. –.world: This describes everything in the world (robot, objects, their layout, etc) –.cfg: This describes your robot, what drivers it has (which will always be stage in this class), how to interface with each item, etc.

Example: map.inc define map model ( # sombre, sensible, artistic color "black" # most maps will need a bounding box boundary 1 gui_nose 0 gui_grid 1 gui_movemask 0 gui_outline 0 gripper_return 0 )

Example: maze-laser.world # defines Roomba-like robots include "roomba.inc" # defines Roomba-like IR sensor include "sick.inc" # defines 'map' object used for floorplans include "map.inc" # size of the world in meters size [50 50] # set the resolution of the underlying raytrace model in meters resolution 0.02 # update the screen every 10ms (we need fast update for the stest demo) gui_interval 20 # configure the GUI window window ( size [ ] center [ ] scale 0.02 ) # load an environment bitmap map ( bitmap "maze.png" size [50 50] name "maze" ) # create a robot pioneer2dx ( name "robot1" color "red" pose [ ] sick_laser(samples 361 laser_sample_skip 4) )

Example: maze-laser.cfg # load the Stage plugin simulation driver driver ( name "stage" provides ["simulation:0" ] plugin "libstageplugin" # load the named file into the simulator worldfile "maze-laser.world" ) driver ( name "stage" provides ["map:0"] model "maze" ) # Create a Stage driver and attach position2d and laser interfaces # to the model "robot1" driver ( name "stage" provides [ "position2d:0" "laser:0"] model "robot1" )

Map Descriptions Located in the world file; Accepts bitmaps; Black pixels are considered walls, everything else is ignored; Also describes the size of the simulation (the unit is meters).

Client Code After Player / Stage is installed and running, you need to start some client code for it to do something. I recommend using Java. If you plan to use another language, please come see me about it first.

Assignment One I have provided a template. Feel free to ignore it; it’s mainly to help you get started. Please note that the JavaDocs on the website are not current. Either refer to the generated JavaDocs or the code for function names, etc.

Switch to Terminal This is where you should switch to the terminal and show how to use Player / Stage.