R.O.M.P Robot 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
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 Existing Architecture User Person wanting to control robot Robot Robot to be controlled User | Applet Interface Applet | Middleman Interface Middleman | Client Interface Client | P2OS Interface P2OS | Robot Interface Web Browser Java C++ / Aria
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) 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 Interface Team Evolution
New Web Interface Team 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
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 robot position from middleman server Request coordinates from robot Return robot position to middleman Return coordinates and angle to 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