gantt
dateFormat YYYY-MM-DD
title diffCheck - general overview
excludes weekends
section Publication
Abstract edition :active, absed, 2024-03-01, 2024-03-15
Submission abstract ICSA :milestone, icsaabs, 2024-03-15, 0d
Paper edition :paperd, 2024-10-01, 2024-10-30
Submission paper ICSA :milestone, icsapap, 2024-10-30, 0d
section Code development
Backend development :backenddev, after icsaabs, 6w
Rhino/Grasshopper integration :rhghinteg, after backenddev, 6w
Documentation & Interface :docuint, after fabar, 3w
section Prototype testing
Fabrication of AR Prototype :crit, fabar, 2024-07-01, 2024-08-30
Fabrication of CNC Prototype :crit, fabcnc, 2024-07-01, 2024-08-30
Fabrication of Robot Prototype :crit, fabrob, 2024-07-01, 2024-08-30
Data collection and evaluation :dataeval, after fabrob, 4w
The project uses the following 3rd party libraries:
Open3d 0.18.0
for 3D point cloud processing as pre-build binaries (store here)Eigen
for linear algebraCGAL
for general geometric processing and IOBoost
for general utilities as pre-build binaries (store here)To build and test the project, follow the following steps:
cmake/config.bat
cmake/build.bat
./build/bin/Release/diffCheckApp.exe <-- for prototyping in c++
To prototype:
1) add a header/source file in src/diffCheck
and include the header in diffCheck.hh
interface
2) test it in diffCheckApp
(the cmake will output an executable in bin)
See the CONTRIBUTING.md for more information on how to prototype with diffCheck (code guidelines, visualizer, utilities, etc).
From the 3/5/2024 meeting, the architecture of the different grasshopper components was discussed as following:
stateDiagram
classDef notAComponent fill:green
(brep):::notAComponent --> global_registration&ICP : [brep]
State diffCheck{
State for_additive_and_substractive {
PLY_loader --> global_registration&ICP : pointcloud
global_registration&ICP --> semantic_segmentation : pointcloud
global_registration&ICP --> semantic_segmentation : [brep]
semantic_segmentation --> error_estimation : [pointcloud]
semantic_segmentation --> error_estimation : [brep]
semantic_segmentation --> error_visualisation : [pointcloud]
semantic_segmentation --> error_visualisation : [brep]
semantic_segmentation --> per_joint_refinement : [pointcloud]
semantic_segmentation --> per_joint_refinement : [brep]
error_estimation --> error_visualisation : csv
per_joint_refinement --> error_estimation : [[pointcloud]]
per_joint_refinement --> error_estimation : [brep]
}
State for_substractive {
per_joint_refinement
}
}
Note : []
= list