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
Team Evolution 2
Clients
Dr. Jerry Weinberg Associate Professor
Andrew LamonicaInstructional Specialist
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
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
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
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)
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
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
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
Team Evolution 13
Mapping Subsystem
+ X- X
- Y
+ Y
Origin (0,0)
- How can we locate Taz?
{ X coor (mm), Y coor (mm), theta ( º ) }
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
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( )
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
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
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
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
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
Team Evolution 21
Evolutionary Delivery
Control and Mapping
implementation
Control and Mapping interface
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
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
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
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
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
Team Evolution 28
Stakeholders
• Team Evolution• CS Department• School of Engineering• Client (Dr. Weinberg)• Upper Management (Dr. Weinberg, Dr Blythe)
Team Evolution 29
Development Tools
• Eclipse• Aria• Visual Source Safe• MS Project Professional• MS Word 2002• Macromedia Dreamweaver 2004
Team Evolution 30
Project Status
• Camera control design complete
• Mapping design complete
• Documentation complete
• Working Java prototype
Top Related