r.o.m.p robot orientation mapping project

31
Team Evolution 1 R.O.M.P Robot Orientation Mapping Project Peri Subrahmanya: Lead Designer Michael Lazar: Project Manager Sean Hogan: Lead Designer Joe Hackstadt: Lead Programmer Sean Williams: Documentation & Testing

Upload: kasa

Post on 14-Jan-2016

24 views

Category:

Documents


0 download

DESCRIPTION

R.O.M.P Robot Orientation Mapping Project. Michael Lazar: Project Manager. Sean Hogan: Lead Designer. Peri Subrahmanya: Lead Designer. Joe Hackstadt: Lead Programmer. Sean Williams: Documentation & Testing. Clients. Dr. Jerry Weinberg Associate Professor - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: R.O.M.P Robot Orientation Mapping Project

Team Evolution 1

R.O.M.PRobot Orientation Mapping Project

Peri Subrahmanya:

Lead Designer

Michael Lazar:

Project Manager

Sean Hogan:

Lead Designer

Joe Hackstadt:

Lead Programmer

Sean Williams:

Documentation & Testing

Page 2: R.O.M.P Robot Orientation Mapping Project

Team Evolution 2

Clients

Dr. Jerry Weinberg Associate Professor

Andrew LamonicaInstructional Specialist

Page 3: R.O.M.P Robot Orientation Mapping Project

Team Evolution 3

Equipment

TazMarvin (Test Robot)

Page 4: R.O.M.P Robot Orientation Mapping Project

Team Evolution 4

Problem

• Where is Taz?– Users need to

know where they are!

– Users need to know where they can go!

• Flexibility– More controls to

facilitate better user experience

Page 5: R.O.M.P Robot Orientation Mapping Project

Team Evolution 5

Existing System

Page 6: R.O.M.P Robot Orientation Mapping Project

Team Evolution 6

Solution

• Orientation– Develop a mapping feature to go on the

existing web interface, that allows intuitive orientation of the robot and it’s location within it’s environment

• Flexibility– Develop intuitive camera controls to allow

panning, tilting, and zooming of the robot camera to the existing web interface, while keeping camera bearing and robot heading orientation

Page 7: R.O.M.P Robot Orientation Mapping Project

Team Evolution 7

Users

• School Children– For education and entertainment

• Prospective Students– Show an interesting aspect of computer

science

• School of Engineering– Promote the University, and the School of

Engineering

Page 8: R.O.M.P Robot Orientation Mapping Project

Team Evolution 8

Functional Requirements

• Provide controls to allow the camera pan, tilt, and zoom to the existing web interface

• Provide mapping feature to the existing web interface

• Run on existing framework (Java)

Page 9: R.O.M.P Robot Orientation Mapping Project

Team Evolution 9

Non-Functional Requirements

• Camera Controls– Provide good feedback of control response– Provide good ‘mapping’ of control to function

• Mapping– Provide enough detail to gain orientation– Assist in robot navigation

• Misc.– Develop robust and modular designs– Use efficient coding techniques– Users must have internet connection of 56Kbps+– Support all Java 1.1 capable browsers

Page 10: R.O.M.P Robot Orientation Mapping Project

Team Evolution 10

Prototype

Page 11: R.O.M.P Robot Orientation Mapping Project

Team Evolution 11

Existing ArchitectureUser

Person wanting to control robot

RobotRobot to be controlled

Web Browser

Applet•Generates and updates user interface

Middle Man•Coordinates communication request among all applets and the client•Manages user time slices

Client•Interprets and relays high-level commands from Middle Man to low-level P2OS server•Contains and uses grid map

P2OS•Directly Controls Robot Hardware

Page 12: R.O.M.P Robot Orientation Mapping Project

Team Evolution 12

Mapping Subsystem

- How does Taz navigate?

• Digital map of EB 1st Floor

• Series of nodes and edges

• Laser localization used to identify Taz’s location

Page 13: R.O.M.P Robot Orientation Mapping Project

Team Evolution 13

Mapping Subsystem

+ X- X

- Y

+ Y

Origin (0,0)

- How can we locate Taz?

{ X coor (mm), Y coor (mm), theta ( º ) }

Page 14: R.O.M.P Robot Orientation Mapping Project

Team Evolution 14

Mapping Subsystem• Representing the Map

– Create accurately scaled EB floor plan

– Identify scale (mm/pixel)– Identify the origin on our

map image– Shade permitted area

• Representing the Robot– Arrow shape indicates

direction

Page 15: R.O.M.P Robot Orientation Mapping Project

Team Evolution 15

Mapping Subsystem

Mapping Classes

Map Class• Image mapImage• double scaleFactor• int originOffset• int zoomLevel

• plotRobot(x,y,θ)• zoomMap(+/-)• update(robot)

Robot Class• Image robotImage• float xPos, yPos• float theta

• update(x,y,θ)• getPosition( )

Page 16: R.O.M.P Robot Orientation Mapping Project

Team Evolution 16

Control Applet

ConnectionHandler

Map Canvas

Middle ManServer

Robot Server

Send commandsto middle man

Retrieve position information from robot

Receivecommand from middle man

Plot robot

1. Update Robot Position

RobotObject

If command contains position information 2. Update

Map

Page 17: R.O.M.P Robot Orientation Mapping Project

Team Evolution 17

Camera Control Design

+TiltUp()+TiltDown()

TiltControl

+PanLeft()+PanRight()

PanControl

+ReCenter()

-ReverseAxis : bool

CameraControlClass

+ZoomIn()+ZoomOut()

ZoomControl

MovementControls

+DisplayFeedback()

-Enabled : bool

RobotControl

TurnLeftMoveForward TurnRight

+ZoomIn()+ZoomOut()+Update()

-mapImage-ZoomLevel : int

Map

+UpdatePos(in x : float, in y : float, in Theta : float)

-xPos : float-yPos : float-Theta : float

Robot11 draws

Page 18: R.O.M.P Robot Orientation Mapping Project

Team Evolution 18

AppletGenerates and updates user interface

Middle ManCoordinates communication request among

all applets and the clientManages user time slices

ClientInterprets and relays high-level commands from Middle Man to low-level P2OS server

Contains and uses grid map

P2OSDirectly Controls Robot Hardware

Existing ArchitectureUser

Person wanting to control robot

RobotRobot to be controlled

User | Applet Interface Applet |

Middleman Interface

Middleman | Client Interface

Client | P2OS Interface

Robot | P2OS Interface

Web Browser

Java

C++ / Aria

Page 19: R.O.M.P Robot Orientation Mapping Project

Team Evolution 19

Applet•Generates and updates user interface

Middle Man•Coordinates communication request among all applets and the client•Manages user time slices

Client•Interprets and relays high-level commands from Middle Man to low-level P2OS server•Contains and uses grid map

P2OS•Directly Controls Robot Hardware

Architecture Modifications

Mapping

Camera Control

Control Implementation

Communication (via connHandler)

Implementation of new commands

Validation of new commands

Communication (via connHandler)

Polling for position information

Localization feedback

Page 20: R.O.M.P Robot Orientation Mapping Project

Team Evolution 20

Integration Into Existing System

Movement Controls

ConnectionHandler

MiddlemanServer

ROBT TURN LEFT

CameraControls

Mapping

CAM PAN LEFTX, Y

, The

ta

Robot Control Panel

Prototype 1

Prototype 2

Prototype 3

Page 21: R.O.M.P Robot Orientation Mapping Project

Team Evolution 21

Evolutionary Delivery

Control and Mapping

implementation

Control and Mapping interface

Page 22: R.O.M.P Robot Orientation Mapping Project

Team Evolution 22

Evolutionary Delivery Subprojects

Detailed Design

Coding and Debugging

Subsystem Testing

Detailed Design

Coding and Debugging

Subsystem Testing

Control Subproject

Mapping Subproject

Detailed Design

Coding and Debugging

Subsystem Testing

Middleman Modification Subproject

Integration Testing

Deliver the Version

Customer Feedback

Incorporate Feedback

Develop a version

Final Release

Page 23: R.O.M.P Robot Orientation Mapping Project

Team Evolution 23

Organization Chart

Peri Subrahmanya

Lead Designer/Web Administrator

Sean WilliamsDocumentation/Testing

Mike LazarProject Manager

Joe HackstadtLead Programmer

Sean HoganLead Designer

Andrew Lamonica

Client

Dr. BlytheUpper Management

Dr. WeinbergUpper Management/Client

Page 24: R.O.M.P Robot Orientation Mapping Project

Team Evolution 24

Page 25: R.O.M.P Robot Orientation Mapping Project

Team Evolution 25

Project Risks

Difficult learning curve

Incompatibility with Aria

Poor scheduling

Unforeseen dependencies

Personnel Problems

Risk Probability Impact (weeks)

Risk exposure (weeks)

40%

50%

15%

20%

10%

3

1

1-2

1

0.5

1.2

0.5

0.15 – 0.3

0.2

0.05

Page 26: R.O.M.P Robot Orientation Mapping Project

Team Evolution 26

Risk Management

• Difficult learning curve– Reading Java and graphics books– Reading the existing code– Working with Andrew Lamonica

• Incompatibility with Aria– Working with Andrew Lamonica– Code that works with Saphria

Page 27: R.O.M.P Robot Orientation Mapping Project

Team Evolution 27

Risk Management (contd.)

• Overly optimistic scheduling – Built in buffer time throughout– Buffer time at end

• Unforeseen dependencies– Adequate buffer time scheduled

• Personnel problems– Follow conflict resolution plan

Page 28: R.O.M.P Robot Orientation Mapping Project

Team Evolution 28

Stakeholders

• Team Evolution• CS Department• School of Engineering• Client (Dr. Weinberg)• Upper Management (Dr. Weinberg, Dr Blythe)

Page 29: R.O.M.P Robot Orientation Mapping Project

Team Evolution 29

Development Tools

• Eclipse• Aria• Visual Source Safe• MS Project Professional• MS Word 2002• Macromedia Dreamweaver 2004

Page 30: R.O.M.P Robot Orientation Mapping Project

Team Evolution 30

Project Status

• Camera control design complete

• Mapping design complete

• Documentation complete

• Working Java prototype

Page 31: R.O.M.P Robot Orientation Mapping Project

Team Evolution 31

Questions