Player/Stage: A Unifying Paradigm to Improve Robotics Education Delivery Monica Anderson, Laurence Thaete, Nathan Wiegand The University of Alabama.

Slides:



Advertisements
Similar presentations
COURSE: COMPUTER PLATFORMS
Advertisements

Using Real-time Awareness to Manage Performance of Java Clients on Mobile Robots Andrew McKenzie, Shameka Dawson, Quinton Alexander, and Dr. Monica Anderson.
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)
How to program robot hardware Sascha Lange Why care about?
1 Player Tutorial Boyoon Jung Robotic Embedded Systems Lab Robotics Research Lab Center for Robotics and Embedded Systems.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
IARP/EURON Workshop on Robotics for Risky Interventions and Environmental Surveillance Mobile robot simulators and their application to hazardous and.
Understanding Networks. Objectives Compare client and network operating systems Learn about local area network technologies, including Ethernet, Token.
Introducing Computer Science in the Classroom
Scalable Server Load Balancing Inside Data Centers Dana Butnariu Princeton University Computer Science Department July – September 2010 Joint work with.
What is it? A mobile robotics system controls a manned or partially manned vehicle-car, submarine, space vehicle | Website for Students.
Sensor Network Simulation Simulators and Testbeds Jaehoon Kim Jeeyoung Kim Sungwook Moon.
Mobile Robot Programming for Education Jean-François Lalonde, Christopher Bartley, and Illah Nourbakhsh The Robotics Institute Carnegie Mellon University.
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
PROGRAMMING LANGUAGES The Study of Programming Languages.
Multiple Autonomous Ground/Air Robot Coordination Exploration of AI techniques for implementing incremental learning. Development of a robot controller.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
Low-Cost Localization for Educational Robotic Platforms via an External Fixed-Position Camera Drew Housten Dr. William Regli
Software Framework for Teleoperated Vehicles Team Eye-Create ECE 4007 L01 Karishma Jiva Ali Benquassmi Safayet Ahmed Armaghan Mahmud Khin Lay Nwe.
Bryn Mawr College IPRE Kickoff Meeting Bryn Mawr College Doug Blank Software Development.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Software Engineering Management Lecture 1 The Software Process.
A Bluetooth enabled mobile robot Rory McGrath Final Year Presentation.
MediaGrid Processing Framework 2009 February 19 Jason Danielson.
Establishing communication with Envirobat using TCP/IP Presented by Apourva Parthasarathy Date : 18/06/13.
Welcome to Robotics! Spring 2007 Sarah Lawrence College Professor Jim Marshall.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_b Protocol Layering Instructor: Dr. Li-Chuan Chen Date: 09/15/2003 Based in part upon slides of Prof.
NETWORK COMPONENTS Assignment #3. Hub A hub is used in a wired network to connect Ethernet cables from a number of devices together. The hub allows each.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
I'll give you time to fill out evals at the end – please wait until I'm out of the room! Goodbye, world!
CS351, Programming III: C++ 9:30am-10:20am TR, Biology 202 Two Credit Hours and Xiaoyan Hong SEC Office hours: 10:30.
THE PLAYER/STAGE PROJECT: TOOLS FOR MULTI-ROBOT AND DISTRIBUTED SENSOR SYSTEMS Proceedings of the International Conference on Advanced Robotics (ICAR 2003)
City College of New York 1 Player Stage Gazebo Rex Wong CCNY Robotic Lab A robotic research and development environment.
Autonomous Soil Investigator. What Is the ASI? Designed to complete the 2013 IEEE student robotics challenge Collects "soil" samples from a simulated.
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
Architectural Engineering Department. AE151  Teaching the students all about the drawing methods and techniques using CAD programs in 2D Architectural.
Introduction & Overview Prepared by: TGK First Prepared on: Last Modified on: Quality checked by: Copyright 2009 Asia Pacific Institute of Information.
Lecture 18: Object-Oriented Design
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
By: Jennifer Liem.  Hardware ◦ Head : Philip Blackman  Danny  Tony  Mune  Software ◦ Head: Stephan Fabel  Xi Hang  Jennifer.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
Introduction Chapter 1. Business Applications of Networks A network with two clients and one server. Client-Server Model.
Virtualization One computer can do the job of multiple computers, by sharing the resources of a single computer across multiple environments. Turning hardware.
University of Pennsylvania 1 GRASP Cooperative Control and Coordination of Multiple Robots Vijay Kumar GRASP Laboratory University of Pennsylvania
Auto-Park for Social Robots By Team Daedalus. Requirements for FVE Functional Receive commands from user via smartphone app Share data with other cars.
Lynton Dicks Supervisor: Karen Bradshaw CO-OPERATIVE MAPPING AND LOCALIZATION OF AUTONOMOUS ROBOTS.
Layers Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
CS 1 with Robots CS1301 – Where it Fits Institute for Personal Robots in Education (IPRE)‏
 This work confers an application which makes possible to use a Bluetooth enabled mobile phone to remote control home appliances such electric fan, LEDs.
Hallucinating Robots A Mixed Real / Virtual Environment
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Space Plug-and-Play Architecture (SPA) and SSM
Software Engineering Management
The Create robot, by iRobot
R
Hierarchical Architecture
Creating Robotic Platforms
Enhance Students’ Hands-On Experience With Robotics
Section 1: Introduction to Simics
CSE 332 Overview and Structure
Software Defined Networking (SDN)
PRPv1 Discussion topics
Jamie Snape University of North Carolina at Chapel Hill
Advanced Java Programming
Monica Anderson, Laurence Thaete, Nathan Wiegand
Chapter 8, Design Patterns Introduction
Week 05 Node.js Week 05
from Lutz Dietrich and Hans Kluge
Presentation transcript:

Player/Stage: A Unifying Paradigm to Improve Robotics Education Delivery Monica Anderson, Laurence Thaete, Nathan Wiegand The University of Alabama

Learning to program robots Novice student issues –Long learning curve –Hardware access –“Murphy’s law” Research student issues –Porting simulations to hardware –Different hardware programming paradigms

Opportunity Use simulation to teach concepts Leverage layering to create a client API that is viable in both simulation and on actual hardware Use lower cost platforms to increase accessibility

Our Approach Provide abstraction and simulation via Player/Stage Use multiple platforms with different strengths Introduce concepts in a controlled manner

Player/Stage Robot control and simulation software [Gerkey01] Open source (easily modified and extended) Supports –iCreate roombas –Pioneers –Khepera –Others…

Player Robot.move() Abstracts specific hardware into general control by interpreting client requests into hardware specific commands TCPIP (6665) Client program C++, Java, Python, etc Player with Stage Simulator Player interpreting Koala commands C,10,10 Player interpreting Roomba commands

Stage/Gazebo Simulation component for algorithm testing Clients ported to hardware with some “tweaking”

Research Platform K-Team Koala –x86 500Mhz controller –Proximity sensor ring –High fidelity odometry – networking for off-board control and peer communications

Low-cost Education Platform iRobot iCreate (roomba) - (approx $500) –Interfaced with Gumstix SBC –Lower fidelity odometry and sensors – networking for off-board control and communications

Logistics Player/Stage available on virtual Linux machine Simulation assignments completed individually Teams of three students on hardware assignments Hardware included 5 Koala robots and 10 roomba robots

Curriculum Introduce motor control and sensors iteratively in increasing detail over semester Use simulation with and without error coefficients Include self-paced hardware workshops during class time (Students are encouraged to help each other) Move to hardware-based assignments at about 8 weeks

Student Projects Student designed projects to foster creativity –PenBot - robotic logo interpreter –Topological navigation –Life sized Pong “Man vs vision-based player”

Summary/Future Work Only 2 students dropped (18%) for personal reasons Students reported more confidence with hardware after the class Students created player clients for roombas (not included in lectures or class assignments) More advanced class is being planned that incorporates higher level behaviors such as path planning and mapping

Questions