12207231 Yifei
C1 C1.0 C1.1 C1.2 C1.3 C1.4 C1.5 C1.6 C1.7 C1.8
C1.9
C2 C2 .0 C2 .1 C2 .2 C2 .3 C2 .4 C2 .5 C2 .6 C2 .7 C2 .8
– Sensor classes exploits abstraction (encapsulation, inheritance and polymorphism) to cover a range of sensors
Comment: If this fails do not mark further, student does not have defaukt constructor and 1w0ill loose points for this and need to resubmit Default constructor available to initialise sensors to default values (s Default constructor available to initialise rangefusion 10
I/O only in Main (not in sensors, base class ranger or fusion) 10
Class functions protected with access specifiers and only those needing public access are10available
Setters and getters set all values (example Angular resoltuion sets number of samples) 10
Ranger Fusion Interface stores private copy of cells so main can get fused value of cells s1im0ply by ineteting over vector of cell* Ranger Fusion Interface stores private copy of Rangers to allow only getFusedRangerDat1a0to be called
Comment: Pure Virtual test Ranger base class is abstract (can not be instatiated) by pure10virtual function(s)
Rangefusion class instantiated (works out of box once constructed), getRawRangeData re1t0urns raw data
Generic functionality implemented soley in base classes, no duplication in sensor classes10
Cannot compile and build
filenames were changed
Missing some files
100 0
– Proper code execution
Asks and uses supplied sensor parameters 7.5 Queries fixed sensor parameters 5 Reports fused data continuously every second (as long as continous) 5
Laser data is capped to sensor MAX and MIN Sonar data is capped to sensor MAX and MIN Laser reports correct number of values
Sonar reports correct number of values
Data fusion reports correct number of readings SingleLaserFusionTest (3 tests x 2.5 pts)
10 ? 10 ? 10 ? 10 ? 10 ?
7.5 ?
e
7.5
7.5
10
100
12207231 Yifei
C2 .9 C2 .10 C2 .11
C3 Z F P
C
D BONUS
C4
C4.0 C4.1 C4.2 C4.3 C4.4
C4.5 C4.6
SingleSonarFusionTest (3 tests x 2.5 pts) DataFusionTest (3 tests x 2.5 pts) DefaultDataFusionTest (4 tests x 2.5 points)
– Documentation
No attempt
Comments not useful (or not accurate to code) Some classes commented well
ALL source files (main, classes and variables contain comments)
ALL source files contain useful comments to understand inner working (ie border case handling of fusion)
Contains index.dox cover file
Select only one item from Z to D and then Bonus if present
– Modularity of software
Seperate fusion and sensor classes are implemented
Methods from rangerinterface implemented (NO CHANGES TO INTERFACE) Methods from rangerfusioninterface implemented (NO CHANGES TO INTERFACE) Data fusion class has no knowlege of sensor sub classes, visa versa
Data fusion class invokes generating sensor data
0
20
100
10
10
10
10
10
fus1io0n
t fro1m0
0
Comment: Last test of rawTest MultipleSensorsTest, LaserAndSonarWithOffset Data class can handle different ordering of sensors (no dependency on the ordering of sensors) [2] Comment: Any of DataFusionTests Pass Data fusion class can handle any angle offse laser [3]
12207231
Yifei
C4.7
Data Fusion class can handle additional Sonars (MultiSonarFusionTest)
15
C4.8
No magic numbers
15
100
0
Additional Comments
These are general comments to improve, not penalised
No need for changing the filenames
Please make sure to always check if your code compiles and build whenever something new is implemented
Why did you removed the CMake instructions for building the cell class
No need to change the name of the “ranger” class
ID
12207231
C1
0
C2
0
C3
0
C4
0
MARK
0
MARK (20)
0.00
PENALTY
[1] If this fails do not mark further, student does not have defaukt constructor and will loose points for this and need to resubmit
[2] Last test of rawTest
MultipleSensorsTest, LaserAndSonarWithOffset
[3] Any of DataFusionTests Pass