| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Task Name | Duration | Start | Finish | Predecessors | Resource Names | ||||||||||||||||||||
2 | High Assurance Self Balancing Robot Capstone II | 237 days | 12/17 | 11/11 | ||||||||||||||||||||||
3 | Early Research and Planning | 7 days | 12/17 | 12/25 | ||||||||||||||||||||||
4 | Rust Programming, Kind2 | 7 days | 12/17 | 12/25 | Artem | |||||||||||||||||||||
5 | Study general Rust syntax | 5 days | 12/17 | 12/23 | Artem | |||||||||||||||||||||
6 | Study embedded Rust limitations and syntax | 1 day | 12/24 | 12/24 | 4 | Artem | ||||||||||||||||||||
7 | Study C/Rust Implementations | 1 day | 12/25 | 12/25 | 5 | Artem | ||||||||||||||||||||
8 | Study Verification methods | 7 days | 12/17 | 12/25 | Andrew | |||||||||||||||||||||
9 | Study general formal verification methods | 5 days | 12/17 | 12/23 | Andrew | |||||||||||||||||||||
10 | Study verification with simulation using Octave and Kind2 | 2 days | 12/24 | 12/25 | 8 | Andrew | ||||||||||||||||||||
11 | Two-Wheel Pedulum Controls methods | 7 days | 12/17 | 12/25 | Ignacio | |||||||||||||||||||||
12 | Study general concepts, and parse provided references | 5 days | 12/17 | 12/23 | Ignacio | |||||||||||||||||||||
13 | Study non-linear control, and alternatives | 2 days | 12/24 | 12/25 | 11 | Ignacio | ||||||||||||||||||||
14 | Plan Two-Wheel Pedulum Mechanical and Assembly | 5 days | 12/17 | 12/23 | Yuqi | |||||||||||||||||||||
15 | Inspect previous robot assembly | 3 days | 12/17 | 12/19 | Yuqi | |||||||||||||||||||||
16 | Inspect components purchased for new robot | 1 day | 12/20 | 12/20 | 14 | Yuqi | ||||||||||||||||||||
17 | Create a plan of approach for robot assembly | 1 day | 12/23 | 12/23 | 15 | Yuqi | ||||||||||||||||||||
18 | Must Requirements | 151 days | 12/26 | 7/23 | 2 | |||||||||||||||||||||
19 | Extend the code for the inverted pendulum robot to include Rust control library | 62 days | 12/26 | 3/20 | ||||||||||||||||||||||
20 | Software | 22 days | 12/26 | 1/24 | Artem | |||||||||||||||||||||
21 | Identify necessary software changes | 1 day | 12/26 | 12/26 | Artem | |||||||||||||||||||||
22 | Modify otis_arduino so it works with Arduino MKR WiFi 1010 | 5 days | 12/27 | 1/2 | 20 | Artem | ||||||||||||||||||||
23 | Modify the PID control defined in otis_arduino to a Rust library | 5 days | 1/3 | 1/9 | 21 | Artem | ||||||||||||||||||||
24 | Compile project with the Rust library instead of C/C++ library | 0 days | 1/9 | 1/9 | 22 | Artem | ||||||||||||||||||||
25 | Develop test plan for controller and telemetry | 3 days | 1/10 | 1/14 | 23 | Artem | ||||||||||||||||||||
26 | Approve Rust PID controller test plan | 3 days | 1/15 | 1/17 | 24 | Artem,Andrew,Ignacio,Yuqi | ||||||||||||||||||||
27 | Verify behavior using previous robot and software | 5 days | 1/20 | 1/24 | 25 | Artem,Andrew,Yuqi,Ignacio | ||||||||||||||||||||
28 | Mechanical Assembly | 24 days | 1/27 | 2/27 | 19 | Yuqi | ||||||||||||||||||||
29 | Acquire parts and robot plans (3/19) - Andrew | 3 days | 1/27 | 1/29 | Artem,Yuqi | |||||||||||||||||||||
30 | Build mechanical components of robot | 3 days | 1/30 | 2/3 | 28 | Yuqi | ||||||||||||||||||||
31 | Build electrical components of robot | 5 days | 2/4 | 2/10 | 29 | Yuqi | ||||||||||||||||||||
32 | Integrate electrical components into mechanical body | 5 days | 2/11 | 2/17 | 30 | Yuqi | ||||||||||||||||||||
33 | Develop test plan for electrical and mechanical components of the robot (3/19) - Yuqi | 3 days | 2/18 | 2/20 | 31 | Yuqi | ||||||||||||||||||||
34 | Test components and fix if necessary | 5 days | 2/21 | 2/27 | 32 | Yuqi | ||||||||||||||||||||
35 | Integration | 16 days | 2/28 | 3/20 | 27 | Artem | ||||||||||||||||||||
36 | Transfer MKR WiFi 1010 board to new robot | 5 days | 2/28 | 3/5 | Artem | |||||||||||||||||||||
37 | Test the new robot with new software using previous software test plan | 5 days | 3/6 | 3/12 | 35 | Artem | ||||||||||||||||||||
38 | Modify system according to test results | 3 days | 3/13 | 3/17 | 36 | Artem | ||||||||||||||||||||
39 | Document results | 3 days | 3/18 | 3/20 | 37 | Artem | ||||||||||||||||||||
40 | Optional Task | 13 days | 2/28 | 3/17 | Andrew,Artem,Ignacio,Yuqi | |||||||||||||||||||||
41 | Attempt to leverage Rust quickcheck 8 to verify the properties developed in Kind2 in the source files after the control design is implemented | 13 days | 2/28 | 3/17 | Andrew,Artem,Ignacio,Yuqi | |||||||||||||||||||||
42 | Study general quickcheck applications | 2 days | 2/28 | 3/2 | Andrew,Artem,Ignacio,Yuqi | |||||||||||||||||||||
43 | Study Rust quickcheck syntax | 1 day | 3/3 | 3/3 | 41 | Andrew,Artem,Ignacio,Yuqi | ||||||||||||||||||||
44 | Identify methods of implementation in TWIP system | 2 days | 3/4 | 3/5 | 42 | Andrew,Artem,Ignacio,Yuqi | ||||||||||||||||||||
45 | Implement quickcheck to verify properties from Kind2 | 5 days | 3/6 | 3/12 | 43 | Andrew,Artem,Ignacio,Yuqi | ||||||||||||||||||||
46 | Document results | 3 days | 3/13 | 3/17 | 44 | Andrew,Artem,Ignacio,Yuqi | ||||||||||||||||||||
47 | Complete PID library integration and new robot assembly | 0 days | 3/20 | 3/20 | 38,34 | Artem,Yuqi | ||||||||||||||||||||
48 | Modify Lustre/Kind2 Rust code generator to generate “embedded-friendly” Rust | 52 days | 3/23 | 6/2 | 18,46 | |||||||||||||||||||||
49 | Planning / Initialization | 13 days | 3/23 | 4/8 | Andrew,Artem | |||||||||||||||||||||
50 | Install Lustre / Kind2 | 2 days | 3/23 | 3/24 | Andrew,Artem | |||||||||||||||||||||
51 | Become familiar with Lustre syntax and Rust compilation from Lustre | 5 days | 3/25 | 3/31 | 49 | Andrew,Artem | ||||||||||||||||||||
52 | Identify how Lustre to Rust compilation is performed | 3 days | 4/1 | 4/3 | 50 | Andrew,Artem | ||||||||||||||||||||
53 | Define scope of compiler modifications. (3/19) - Artem | 3 days | 4/6 | 4/8 | 51 | Andrew,Artem | ||||||||||||||||||||
54 | Integration | 22 days | 4/9 | 5/8 | 48 | Andrew,Artem | ||||||||||||||||||||
55 | Review planned compilier modification | 3 days | 4/9 | 4/13 | Andrew,Artem | |||||||||||||||||||||
56 | Develop initial test plan | 1 day | 4/14 | 4/14 | 54 | Andrew,Artem | ||||||||||||||||||||
57 | Execute initial modifications | 5 days | 4/15 | 4/21 | 55 | Andrew,Artem | ||||||||||||||||||||
58 | Test compiler modifications with initial test cases | 3 days | 4/22 | 4/24 | 56 | Andrew,Artem | ||||||||||||||||||||
59 | Modify compiler depending on test results | 5 days | 4/27 | 5/1 | 57 | Andrew,Artem | ||||||||||||||||||||
60 | Execute remaining integration | 5 days | 5/4 | 5/8 | 58 | Andrew,Artem | ||||||||||||||||||||
61 | Testing / Review / Refinement | 17 days | 5/11 | 6/2 | 53 | Andrew,Artem | ||||||||||||||||||||
62 | Develop test plan for verification | 3 days | 5/11 | 5/13 | Andrew,Artem | |||||||||||||||||||||
63 | Review test plan | 1 day | 5/14 | 5/14 | 61 | Andrew,Artem | ||||||||||||||||||||
64 | Perform test plan tasks | 5 days | 5/15 | 5/21 | 62 | Andrew,Artem | ||||||||||||||||||||
65 | Modify compiler depending on test results | 5 days | 5/22 | 5/28 | 63 | Andrew,Artem | ||||||||||||||||||||
66 | Document compiler modifications | 3 days | 5/29 | 6/2 | 64 | Andrew,Artem | ||||||||||||||||||||
67 | Submit compiler modifications for review | 0 days | 6/2 | 6/2 | 65 | Andrew,Artem | ||||||||||||||||||||
68 | Complete Lustre/Kind2 embedded rust implementation | 0 days | 6/2 | 6/2 | 60 | Andrew,Artem | ||||||||||||||||||||
69 | Develop and identify a model of a nominal self-balancing robot in Octave or Matlab. | 39 days | 12/26 | 2/18 | ||||||||||||||||||||||
70 | Research / Planning | 17 days | 12/26 | 1/17 | Ignacio | |||||||||||||||||||||
71 | Research modeling of self-balance robots | 5 days | 12/26 | 1/1 | Ignacio | |||||||||||||||||||||
72 | Research parameters for modeling | 2 days | 1/2 | 1/3 | 70 | Ignacio | ||||||||||||||||||||
73 | Identify the parameters that will need to be modeled | 1 day | 1/6 | 1/6 | 71 | Ignacio | ||||||||||||||||||||
74 | Document potential methods of modeling | 3 days | 1/7 | 1/9 | 72 | Ignacio | ||||||||||||||||||||
75 | Submit potential methods of modeling for review | 0 days | 1/9 | 1/9 | 73 | Ignacio | ||||||||||||||||||||
76 | Decide on modeling tool Octave or Matlab | 3 days | 1/10 | 1/14 | 74 | Ignacio | ||||||||||||||||||||
77 | Define method of verification | 3 days | 1/15 | 1/17 | 75 | Ignacio | ||||||||||||||||||||
78 | Integration | 10 days | 1/20 | 1/31 | 69 | Ignacio,Yuqi | ||||||||||||||||||||
79 | Execute measurement on isolated parameters | 5 days | 1/20 | 1/24 | Ignacio,Yuqi | |||||||||||||||||||||
80 | Implement model in selected software tool. | 5 days | 1/27 | 1/31 | 78 | Ignacio,Andrew,Yuqi | ||||||||||||||||||||
81 | Test and Documentation | 12 days | 2/3 | 2/18 | 77 | Ignacio,Andrew,Artem,Yuqi | ||||||||||||||||||||
82 | Create test plan for verifcation | 3 days | 2/3 | 2/5 | Ignacio,Andrew,Artem,Yuqi | |||||||||||||||||||||
83 | Review and approve test plan | 3 days | 2/6 | 2/10 | 81 | Ignacio,Andrew,Artem,Yuqi | ||||||||||||||||||||
84 | Perform test plan tasks | 3 days | 2/11 | 2/13 | 82 | Ignacio,Andrew,Artem,Yuqi | ||||||||||||||||||||
85 | Return to integration task if test plan fails | 0 days | 2/13 | 2/13 | 83 | Ignacio,Andrew,Artem,Yuqi | ||||||||||||||||||||
86 | Document results, and submit for Review | 3 days | 2/14 | 2/18 | 84 | Ignacio,Andrew,Artem,Yuqi | ||||||||||||||||||||
87 | Submit results for review | 0 days | 2/18 | 2/18 | 85 | Ignacio,Andrew,Artem,Yuqi | ||||||||||||||||||||
88 | Isolate the “Software under Test” as a block to analyze linear / non-linear controller for specific properties | 26 days | 2/19 | 3/25 | 68 | |||||||||||||||||||||
89 | Research and Planning | 8 days | 2/19 | 2/28 | Andrew,Artem,Ignacio,Yuqi | |||||||||||||||||||||
90 | Research methods of isolating blocks of software under test for controls | 5 days | 2/19 | 2/25 | Andrew,Artem,Ignacio,Yuqi | |||||||||||||||||||||
91 | Document and present potential methods | 3 days | 2/26 | 2/28 | 89 | Andrew,Artem,Ignacio,Yuqi | ||||||||||||||||||||
92 | Integration | 5 days | 3/2 | 3/6 | 88 | Andrew,Artem,Ignacio,Yuqi | ||||||||||||||||||||
93 | Implement the isolated software on the Arduino MKR 1010. | 5 days | 3/2 | 3/6 | Andrew,Artem,Ignacio,Yuqi | |||||||||||||||||||||
94 | Test and Documentation | 13 days | 3/9 | 3/25 | 91 | Andrew,Artem,Ignacio,Yuqi | ||||||||||||||||||||
95 | Create test plan for verifcation | 5 days | 3/9 | 3/13 | Andrew,Artem,Ignacio,Yuqi | |||||||||||||||||||||
96 | Perform test plan tasks | 3 days | 3/16 | 3/18 | 94 | Andrew,Artem,Ignacio,Yuqi | ||||||||||||||||||||
97 | Document results | 3 days | 3/19 | 3/23 | 95 | Andrew,Artem,Ignacio,Yuqi | ||||||||||||||||||||
98 | Submit results for review | 0 days | 3/23 | 3/23 | 96 | Andrew,Artem,Ignacio,Yuqi | ||||||||||||||||||||
99 | Address any review concerns | 2 days | 3/24 | 3/25 | 97 | Andrew,Artem,Ignacio,Yuqi | ||||||||||||||||||||
100 | Complete task | 0 days | 3/25 | 3/25 | 98 | Andrew,Artem,Ignacio,Yuqi |