1 / 31

R.O.M.P Robot Orientation Mapping Project

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

kasa
Download Presentation

R.O.M.P Robot Orientation Mapping Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Clients Dr. Jerry Weinberg Associate Professor Andrew Lamonica Instructional Specialist Team Evolution

  3. Equipment Marvin (Test Robot) Taz 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

  5. Existing System 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

  10. Prototype Team Evolution

  11. Existing Architecture Web Browser • Applet • Generates and updates user interface User Person wanting to control robot • 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 Robot Robot to be controlled • 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 - How can we locate Taz? { X coor (mm), Y coor (mm), theta ( º ) } + Y + X - X - Y Origin (0,0) 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 Robot Object Connection Handler 1. Update Robot Position Plot robot If command contains position information 2. Update Map Map Canvas Receivecommand from middle man Send commandsto middle man Middle Man Server Robot Server Retrieve position information from robot Team Evolution

  17. Camera Control Design Team Evolution

  18. Existing Architecture Web Browser Applet | Middleman Interface Java Middleman | Client Interface C++ / Aria Client | P2OS Interface Robot | P2OS Interface User Person wanting to control robot Applet Generates and updates user interface User | Applet 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 Robot Robot to be controlled P2OS Directly Controls Robot Hardware Team Evolution

  19. Architecture Modifications • 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 Camera Control • Control Implementation • Communication (via connHandler) • Implementation of new commands • Validation of new commands Mapping • Communication (via connHandler) • Polling for position information • Localization feedback Team Evolution

  20. Robot Control Panel Prototype 1 Prototype 2 Prototype 3 ROBT TURN LEFT CAM PAN LEFT X, Y, Theta Integration Into Existing System Movement Controls Connection Handler Middleman Server Camera Controls Mapping Team Evolution

  21. Control and Mapping implementation Control and Mapping interface Evolutionary Delivery Team Evolution

  22. Middleman Modification Subproject Control Subproject Mapping Subproject Detailed Design Detailed Design Detailed Design Coding and Debugging Coding and Debugging Coding and Debugging Subsystem Testing Subsystem Testing Subsystem Testing Integration Testing Develop a version Deliver the Version Incorporate Feedback Customer Feedback Final Release Evolutionary Delivery Subprojects Team Evolution

  23. Dr. Weinberg Upper Management/Client Dr. Blythe Upper Management Andrew Lamonica Client Mike Lazar Project Manager Peri Subrahmanya Lead Designer/Web Administrator Sean Hogan Lead Designer Joe Hackstadt Lead Programmer Sean Williams Documentation/Testing Organization Chart Team Evolution

  24. Team Evolution

  25. Project Risks Impact (weeks) Risk exposure (weeks) Risk Probability Difficult learning curve Incompatibility with Aria Poor scheduling Unforeseen dependencies Personnel Problems 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 Team Evolution

  31. Questions Team Evolution

More Related