1(13) Group no. 1 Course CD5360, Software Engineering Date 20/3/2007 Proj. mgr. Vasilis Odontidis E-mail Vos06001@student.mdh.se Project Description Project R2D2 DISTRIBUTION Steering group: Frank Lüders Aneta Vulgarakis Farhang Nemati Project group: Vasilis Odontidis VO Thomas Sörensen TS Jesper Söderlund JSD Sreedhar Danturthi SD Ricky Stanley D’Cruze RD Quang Tien Le QL Jesper Simos JS CONTENTS 1. Background and Objectives ................................................................................ 2 2. Organization ......................................................................................................... 3 2.1 Project Manager .......................................................................................... 3 2.2 Project Group .............................................................................................. 3 2.3 Areas of responsibility ................................................................................ 4 2.4 Steering Group ............................................................................................ 4 2.5 Customer ..................................................................................................... 5 3. Assumptions and Constraints ............................................................................. 5 3.1 Technological ............................................................................................. 5 3.2 Environmental............................................................................................. 5 3.3 Work distribution ........................................................................................ 5 3.4 Time ............................................................................................................ 5 4. Deliverables. ......................................................................................................... 5 5. Inputs .................................................................................................................... 6 6. Communication .................................................................................................... 6 6.1 Within the group ......................................................................................... 6 6.2 With Steering group .................................................................................... 6 6.3 With Customer ............................................................................................ 6 2(13) Course CD5360, Software Engineering Group no. Date 1 3/6/2016 7. Reporting Worked Hours .................................................................................... 6 8. Quality Assurance ................................................................................................ 6 9. Configuration Management ................................................................................ 7 9.1 Reference Documents ................................................................................. 7 9.2 Responsibility ............................................................................................. 7 9.3 Resources .................................................................................................... 7 9.4 Components, Tools and Products Used in the Project ................................ 7 9.5 SCM Structures ........................................................................................... 8 10. Project Plan .......................................................................................................... 9 10.1 Time Schedule ............................................................................................ 9 10.2 Activity Plan ............................................................................................. 10 10.3 Resource Plan ........................................................................................... 11 10.4 Project risks .............................................................................................. 12 10.5 Financial Plan ........................................................................................... 12 1. Background and Objectives This document provides information about project Sensor Fusion, which is also known as R2D2. The goal of the group is to implement software that will control and fuse the data provided by sensors embedded in robots. These robots are designed in the Robotics Laboratory (Robolab) in Mälardalen University with the purpose of participating in football matches and competing against other robot football teams. In addition, the group should provide appropriate tests for the software that are going to be used in further implementations of the robots. The software will be written in ADA under real-time Linux. In order to provide clear view of the group’s work below we will provide a short list with the description of the sensors that are embedded in the robot. 1. Ball Sensor: A sensor that can identify if the ball is in front of the robot and activates some mechanisms to control it. 2. Ultrasonic Sensors: Four sensors that send sounds and identify objects in radius of 3m. That is done by sending low frequencies that return back to the sensor if they hit an object. They are placed on a rotary disc. 3. Dead reckoning: These sensors to indicate the position of the robot in the field. They are very important for orientation of the robot in the field. If the robot fails to recognize its position on the field then any strategy that it follows is useless and has to use the system to reestablish its position on the field. 4. Compass: A compass inside the robot that can identify the north and give a basic orientation to the robot. This data compared with data received from other sensors can effectively orientate the robot in the field. 3(13) Group no. Course CD5360, Software Engineering Date 1 3/6/2016 5. 2 Camera disk: Two cameras are placed in a rotating disc and help the robot see the environment around it. The tasks of the cameras are to find the ball, the goal and the lines of the field. 6. 4 Camera disk: Four cameras are placed in a rotating disc and are constantly looking for the lines of the field so that the robot can be helped to find its position according to these readings. It should be mentioned here that in the first version of the document, the sensors provided were a little bit different, meaning that there were Line sensors in the bottom of the robot while the implementation of the 4 Camera disc was not certain. Probably line sensors will be included in future development of the robot. A brief description of their functionality follows. Line Sensors: These are lens sensors put in the bottom part on the robot and they send a ray to the field. The ray is absorbed if it hits on the field but it returns back when it hits the white line. In this way the robot can identify if it is in the area of the field or not. The group should deliver software that includes collecting data and provide correct results from the sensors and take control of the robot in case it can’t orientate in the field. The rest of the four groups depend in various ways in this project. Goalkeeper and attacker strategy groups should get valid data from the robot so that the robots react properly and the command center group needs correct information to have a clear view of what is happening during the match. Finally, Sensor Fusion group is heavily depending on Robolab for deliverables concerning robots software and hardware. The main activities of the project are to provide a satisfying project plan, specify requirements, design the software, implement and deliver it. Those main activities are also the major milestones of the project. Therefore these are requirements specification, design specification, implementation, test delivery, prototype and final product delivery. No. of requirements at project start: 2. 2.1 Organization Project Manager Vasilis Odontidis 2.2 Project Group 9 4(13) Group no. Course CD5360, Software Engineering Date Name Vasilis Odontidis Thomas Sörensen Jesper Söderlund Sreedhar Danturthi Ricky Stanley D’Cruze Quang Tien Le Jesper Simos 2.3 2.4 Period 2007-04-01 – 2007-06-01 2007-04-01 – 2007-06-01 2007-04-01 – 2007-06-01 2007-04-01 – 2007-06-01 2007-04-01 – 2007-06-01 Availability 50% 50% 50% 50% 50% 2007-04-01 – 2007-06-01 2007-04-01 – 2007-06-01 50% 50% Areas of responsibility Responsibility Name Project Management Interface SVN VO Web Page Knowing Kalman Filter Project Description Requirements Document Design Description Complete Design Design Data Handler Design Kalman Filter Design Worldview Design Interface Complete Implementation Implementation Data Handler Implementation Kalman Filter Implementation Worldview Implementation Interface Complete Testing Testing Kalman Filter Testing Data Handler Testing Worldview Testing Interface RD Steering Group Frank Lüders Aneta Vulgarakis Farhang Nemati 1 3/6/2016 QL, VO JSD VO, SD VO, TS, JSD SD, JSD VO, QL , JS VO TS,JSD VO,SD,JS QL,RD QL,RD VO TS,JSD VO,SD,JS QL,RD QL,RD TS QL,RD,TS VO,SD JS,JSD JS,JSD 5(13) Group no. Course CD5360, Software Engineering Date 2.5 1 3/6/2016 Customer Lars Asplund 2.6 3. 3.1 3.2 3.3 3.4 4. Others - Command Center - Strategy Goalie Group - Strategy Attacker Group Assumptions and Constraints Technological - The software will be developed with the Ada programming language. - The position will be calculated with the Kalman filter technology. - SVN server should be available 24 hours 7 days per week. - We will try to distribute equal amount of work to all group members. - The project should be finished by 2007-06-01. It is important that the project not going to be late as other projects is dependent on this project. Environmental Work distribution Time Deliverables. To Output Sensor Fusion Interface Planned week 15 Promised week 16 Late + +1 Delivered week 16 Other Groups Steering group Steering group Steering group Steering group Customer Requirement Specification 16 17 +1 17 Design Specification 18 19 +4 22 Code 21 22 +1 22 Test Delivery 21 22 +1 22 Final Product 22 22 0 22 Rem 6(13) Group no. Course CD5360, Software Engineering Date 5. Inputs From Required item Lars Asplund Project proposal SVN server configuration Presentation of the task. Frank Lüders RoboLab Students RoboLab Students RoboLab Students Comment: 6. 6.1 1 3/6/2016 Semi – functional robot (Dead Reckoning, 2 Camera Disc, Ultrasonic, Compass) 4 Camera disc Required week 12 13 14 Promised week 12 13 14 Late + 0 0 0 Received week 12 13 14 19 20 +1 20 21 21 +1 Not received Rem Required week = week when it is required by the project; Promised week indicates when the From expects to deliver; Late + indicates a discrepancy between Required week and Promised week; Received week is week when it was actually received; Rem is a remark index number. Communication Within the group We will communicate by email and have at least one meeting per week. The files will be committed to SVN repository regularly so everyone can access all the files with the latest version. 6.2 With Steering group A weekly meeting is scheduled every Monday. One of the group members will have a presentation of the status and planned activities of the project. 6.3 With Customer Project manager is responsible for booking meetings with customer when it is necessary. 7. Reporting Worked Hours Each project member shall report worked hours. That is going to be done by sending the report at Monday before 8 o clock and then a summary is going to be made. 8. Quality Assurance We will breakdown the project into smaller parts. Each part will be tested separately. The programmer that writes the code will not be responsible for doing the tests. We will let another person be responsible for that and also reading the code and checking for errors. The way we plan this minimizes the risk of not finding errors in the code. 7(13) Course CD5360, Software Engineering Group no. Date 9. 9.1 1 3/6/2016 Configuration Management Reference Documents Link to the subversionbook. http://svnbook.red-bean.com/nightly/en/svn-book.html 9.2 Responsibility Jesper Söderlund has the overall responsibility for the SCM. The SCM group members are: Tasks of the SCM group: 9.3 Creation and management of the project's software baseline library Responsible: Jesper Söderlund Management of the access to the software baseline library Responsible: Jesper Söderlund Updates of the software baselines Responsible: Jesper Söderlund Creation of products from the software baseline library Responsible: Jesper Söderlund Collection of SCM measurements Freezing of software baselines Responsible: Jesper Söderlund Resources Planned resources for SCM activities: 1 man-weeks. Additional resources: All members will use the SCM system and that time is included in the planned resources. 9.4 Components, Tools and Products Used in the Project The following SCM tools are used in the project: SVN 1.4.3 The following development platforms are used in the project: Windows XP The following tools are used in the project: StarUML 8(13) Group no. Course CD5360, Software Engineering Date 9.5 GanttProject 2.0.4 Microsoft Office GNAT Programming Studio 3.1.3 1 3/6/2016 SCM Structures The following intermediate and final software baselines will be created: - Version 1.0 - Version 2.0 - Final Version - One baseline will be made each week. The following intermediate and final software products/components will be created: - Version 1.0 - Version 2.0 - Final Version The project documentation is saved in the following structures: Trunk source release www Presentations doc Final Documents test Misc design Week Reports 9(13) Group no. Course CD5360, Software Engineering Date 1 3/6/2016 10. Project Plan 10.1 Id 1 2 3 3 4 5 6 Time Schedule Milestone Description Responsible Dept./Initials Plan Project Description Requirement Prototype Design Description Implementation Testing Final Product VO JSD TS QL JS SD RD 15 16 17 18 21 22 22 Comment: Finished week Forecast Week +/16 +1 17 +1 18 +1 22 +4 22 +1 22 0 22 0 Metr Rem Actual 16 17 18 22 22 22 22 +1 +1 +1 +4 +1 +1 +1 Finished week: Plan = original plan; Actual = week when it was actually available; Forecast Week indicates the estimated finished week; Forecast +/- indicates changes in the estimation compared to the previous project report; Metr is the difference between Plan and Actual, that is if Plan is w604 and Actual is w606, then Metr will be -2. To be filled in when the milestone is reported as completed; Rem is a remark index number. 10(13) Course CD5360, Software Engineering Group no. Date 10.2 Activity Plan 1 3/6/2016 11(13) Course CD5360, Software Engineering Group no. Date 10.3 Resource Plan 1 3/6/2016 12(13) Group no. Course CD5360, Software Engineering Date 10.4 1 3/6/2016 Project risks Risk Potential Effect Preventive / Corrective Action Insufficient communication with customer Insufficient communication with steering group Delivered product not accepted by customer Project runs inefficiently Insufficient internal communication Delay in deliverables A project member is sick Some tasks are not done in time A project member leaves the project Project scope must be decreased / some tasks need to be re-distributed to members Have enough meetings so that the customer is satisfied Have enough meetings so that both sides are satisfied with the communication A lot of meetings. We will work as a democratic team and try to keep everyone satisfied. Talk about problems and find solutions. Replacements- more work. Tasks are not depending on one person Replacements- more work. Tasks are not depending on one person A project member has insufficient skills for the task Problems with tools and technology 10.5 Some tasks are not done in time Replacements- more work. Tasks are not depending on one person Consult steering group for a solution Financial Plan Planned cost (100%) = SEK 700,000 Planned effort = 10 * 7 * 50% mw = 35 mw. 1 man-week(mw) = 20,000 Sek. Activity Collect Knowledge Project management Requirement management Configuration management Design Implementation Testing QA TOTALS: Volume (mw) 3.35 5.45 1 Cost Comments 67,000 kr 109,000 kr 20,000 kr ADA and Kalman filter 0,5 10,000 kr 4.9 6.5 9.1 4.2 35 98,000 kr 130,000 kr 182,000 kr 84,000 kr 700,000 kr 13(13) Group no. Course CD5360, Software Engineering Date REVISION Rev. Page (P) ind. Chapt.(C) V0.1 9 V1.0 13 V1.5 13 V 2.0 13 V 2.1 13 V 2.2 13 V 3.0 13 Description Initial Version Filled in missning parts with data. Filled in Section 9.1, 9.5 Updated 2.6 ,4 , 10.1 Uppdated the Milestones Uppdated the Milestones General Paper Update and Finalization 1 3/6/2016 Date Initials 03/20/2007 04/09/2007 04/15/2007 04/16/2007 04/23/2007 05/02/2007 06/01/2007