R.O.M.PRobot Orientation Mapping Project
Team Evolution
Peri Subrahmanya:
Lead Designer
Michael Lazar:
Project Manager
Sean Hogan:
Lead Designer
Joe Hackstadt:
Lead Programmer
Sean Williams:
Documentation & Testing
Overview
• Main Interfaces of the project• Main Architecture of the project• Functions of Subsystems• Implementation Details• Development Tools• Requirements Met?• Questions Time
Team Evolution
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
P2OS | Robot Interface
Web Browser
Java
C++ / Aria
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
Architecture Modifications
Mapping
Camera Control
Control Implementation
Communication (via connHandler)
Verification of new commands
Implementation of new commands
Control Feedback
Communication (via connHandler)
Localization feedback
Website Organization
• Main page directs user to major areas• Major areas provide information & links• Relevant material on common pages• Links repeated at anticipated locations• Robot schedule always on left side• Frames remain in same locations
Team Evolution
Existing Web InterfaceTeam Evolution
New Web InterfaceTeam Evolution
Subsystems
• Existing– Movement Controls
• Forward, left, right
• New– Movement and Camera Controls
• Pan control• Zoom control• Tilt control
Team Evolution
Subsystems (contd.)
• Tilt Control– Provides Tilt functionality
• Pan Control– Provides Pan functionality
• Zoom Control– Provides zoom functionality
Team Evolution
Team Evolution
Mapping Subsystem
Origin (0,0)
Team Evolution
+ X- X
- Y
+ Y
Map Construction
40 m = 40,000 mm
= 200 pixels
1 Pixel = 200mm
Team Evolution
Load Map
Plot Robot
Request robotposition from
middleman server
Requestcoordinatesfrom robot
Returnrobot positionto middleman
Returncoordinatesand angleto applet
Applet
Middleman
Robot
Mapping Subsystem
• Composed of two classes– Map class– Robot class
Team Evolution
Mapping Subsystem
• Composed of two classes– Map class
• Image of the map• Dimensions • Origin offset• Scalar• drawMap(top, left, height, width)• loadImage(image)• plotRobot(x, y, theta)
Team Evolution
Mapping Subsystem
• Composed of two classes– Robot class
• Image of the robot• X and Y position• Angle pointing• drawRobot(new x, new y, new theta)• loadImage(image)
Team Evolution
Development Tools
• Eclipse
• ARIA
• Sun Java Development Kit
• Visual Source A
• MS Visio
Team Evolution
Have We Met the Requirements?
• Orientation
• Do users know where they can go?
• Can users relate camera direction with robot heading?
• Are camera controls easy to use and understand.
Team Evolution
Team Evolution