1 \section{Development Plan
}
3 We will work using spiral software development model where all works are divided into small iterations. Each of iterations will have implementation phase, testing phase, analysis phase, and design phase.
4 Furthermore, each of iterations will have goals and results.
7 Iteration
1: Create a basic DSL for MarsRover's missions to use available sensors and actuators
9 Iteration
2: Test the DSL and make it works in MarsRover
11 Iteration
3: Create a functionality to use motors for the movement. The actions are drive forward, drive backward, stop, turn left, and turn right.
13 Iteration
4: Create a functionality to use right sensor, left sensor, and back ultrasone sensor
15 Iteration
5: Create a functionality to keep the MarsRover in the planet. This will combine the use of the motors for the movement and the most safety critical sensors
17 Iteration
6: Implement a protocol for the communication between two bricks
19 Iteration
7: Implement
color sensor and create a functionality to find lakes by
color
21 Iteration
8: Implement front ultrasone sensor and create a functionality to find rocks
23 Iteration
9: Implement functionality to avoid rocks
25 Iteration
10: Implement measurement motor and create a functionality to measure lakes and rocks
27 Iteration
11: Implement left and right touch sensors. Also, create a functionality to push rocks
29 Iteration
12: Implement a functionality to be able to perform multiple missions in sequence
31 Iteration
13: Implement Gyro sensor and create a functionality to park MarsRover in certain position
33 Iteration
14: Implement a functionality to remember where the lakes are after the MarsRover found them
35 Iteration
15: Implement a functionality to play a sound for the viewer's notification
37 Iteration
16: Implement SLAM functionality and make the MarsRover be able to navigate with the map