X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=marsrover%2Fdocument%2Fdev.tex;h=eafb75fa9ce0045acf4bb68121e25b21e175ff37;hb=426ca40778af548128b5d5f37705fffcf1cc9c7b;hp=2cef47efd93d18b0979587633fd2c27dc0c00a12;hpb=90be3fada7537dc039438983448d80a5e4cf0f78;p=des2015.git diff --git a/marsrover/document/dev.tex b/marsrover/document/dev.tex index 2cef47e..eafb75f 100644 --- a/marsrover/document/dev.tex +++ b/marsrover/document/dev.tex @@ -1,32 +1,72 @@ \section{Development Plan} -Iteration 1: Create a basic DSL for MarsRover's missions to use available sensors and actuators - -Iteration 2: Test the DSL and make it works in MarsRover - -Iteration 3: Create a functionality to use motors for the movement. They are: drive forward, drive backward, stop, turn left, and turn right. - -Iteration 4: Create a functionality to use right sensor, left sensor, and back ultrasone sensor - -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 - -Iteration 6: Implement a protocol for the communication between two bricks - -Iteration 7: Implement color sensor and create a functionality to find lakes by color - -Iteration 8: Implement front ultrasone sensor and create a functionality to find rocks - -Iteration 9: Implement functionality to avoid rocks - -Iteration 10: Implement measurement motor and create a functionality to measure lakes and rocks - -Iteration 11: Implement left and right touch sensors. Also, create a functionality to push rocks - -Iteration 12: Implement a functionality to be able to perform multiple missions in sequence - -Iteration 13: Implement Gyro sensor and create a functionality to park MarsRover in certain position - -Iteration 14: Implement a functionality to remember where the lakes are after the MarsRover found them - -Iteration 15: Implement a functionality to play a sound for the viewer's notification - -Iteration 16: Implement SLAM functionality and make the MarsRover be able to navigate with the map \ No newline at end of file +The development plan is written following the spiral software development model +in which all requirements are divided into small iterations. Each of the +iterations will have an implementation phase, a testing phase, an analysis +phase, and a design phase. Furthermore, each of the iterations will have goals +and results. The iterations and their deliverables are listed in +\autoref{tab:devit}. The schedule for finishing iterations are listed in +\autoref{tab:deadli}. On the 6th of January the must-have should be finished +and if they are we try to complete as many iterations as possible. +\begin{table}[h!] + \centering + \begin{tabu} to \linewidth{llX} + \toprule + Deadline & Iterations\\ + \midrule + 9 Dec 2015 & 1--2\\ + 16 Dec 2015 & 3--5\\ + 23 Dec 2015 & 6--9\\ + 6 Jan 2015 & 10--11\\ + 13 Jan 2015 & Demo\\ + \bottomrule + \end{tabu} + \caption{Deadlines}\label{tab:deadli} +\end{table} +\begin{table}[h!] + \centering + \begin{tabu} to \linewidth{rlXX} + \toprule + It. & Req. & Description & Deliverables\\ + \midrule + 1 & NR1 & Create a DSL for MarsRover's missions to use available + sensors and actuators. & \texttt{TaskDSL.xtext}\\ + 2 & ER3 & Implement diagnostic functions that print on the \emph{LCD}. + & A \emph{LCD} class that prints to the \emph{LCD} screen.\\ + 3 & - & Implement functions in the code generation for basic motor the + motor actions: forward, backward, measure rock, measure lake and + wait. & Code + generation for motors\\ + 4 & - & Implement functions in the code generation for communicating + the sensors from the slave to the master. & Functions in the master + program to read the slave's sensors.\\ + 5 & - & Create functionality for sensor values and determine the + treshholds manually. & Code generation for sensors and threshhold + constants.\\ + 6 & CR1 & Create functionality to keep the MarsRover in the planet. & + A generatable behaviour to stay on the planet.\\ + 7 & MR3 & Create functionality for not bumping into rocks. & A + generatable behaviour to not bump into rocks.\\ + 8 & MR1 & Create functionality to find lakes. & A generatable mission + to find lakes.\\ + 9 & MR6 & Create functionality to perform missions in sequence. & A + generatable main program that performs missions.\\ + 10 & MR2, MR4& Create functionality to find rocks. & A generatable + mission to find rocks.\\ + 11 & MR5 & Create functionality to push rocks and detect when the + robots is pushing. & A generatable behaviour for pushing.\\ + 12 & MR7 & Create functionality to find the parking space. & A + generatable behaviour that can find the parking space.\\ + 13 & MR8, ER1 & Create functionality to map the environment and to + localize. & A generatable behaviour that can map while + performing.\\ + 14 & ER2 & Create functionality to play sounds. & Add a generatable + function for playing sounds.\\ + 15 & NR3, NR4 & Create functionality to calibrate the sensor + treshholds. & A generatable function to calibrate the sensors.\\ + 16 & NR5 & Create functionality that when the robot encounters bugs it + can restart itself. & Functionality in the main program to do so.\\ + 17 & - & Speed up the behaviour of the robot within safety limits.\\ + \bottomrule + \end{tabu} + \caption{Spiral model iterations}\label{tab:devit} +\end{table}