|
|
# Purposed Algorithm Pipeline:
|
|
|
|
|
|
[@shibohan Note to Self: Keep up-to-date]
|
|
|
|
|
|
## Class Structure:
|
|
|
- Create skeleton Class structure
|
|
|
- How classes interacts?
|
|
|
- Determine public interface/fields
|
|
|
- Need runner thread?
|
|
|
|
|
|
## Stages:
|
|
|
### Collect & Evaluation
|
|
|
- Process lidar data:
|
|
|
- Want sector data (e.g. per 1 degree) OR raw data?
|
|
|
- Need speed correction? (consider vehicle speed and lidar scan cycle timespan)
|
|
|
- Need orientation correction? (consider drone's incline angle)
|
|
|
- Unified unit for data? (e.g. m/cm/mm)
|
|
|
- Data filtering and post-processing
|
|
|
- Need intermediate data storage?
|
|
|
- Process RSC data:
|
|
|
- TODO
|
|
|
- Process CNC data? (e.g. vehicle speed, altitude)
|
|
|
- TODO
|
|
|
- What's the precondition for this algorithm to run?
|
|
|
|
|
|
### Planning
|
|
|
- Pure algorithmic stage
|
|
|
- Add summaries of major steps here.
|
|
|
- Can those steps be developed at the same time? (e.g. maybe fake out some data using unittest)
|
|
|
- Can those steps run at the same time? (or decomposite e.g. 360 degree into 3*120 degree parallel)
|
|
|
- Results to instruction for drone
|
|
|
- Possible PID utility
|
|
|
- Perhaps using gain/weight?
|
|
|
- Algorithm specific
|
|
|
- Generate Command Queue:
|
|
|
- List commands you need (e.g. Something simple like: goto relative position, change altitude. Something complex like: wait until arrive at)
|
|
|
- Will planned command queue have Delay commands?
|
|
|
- Generate Data Queue:
|
|
|
- Rules for confidence
|
|
|
- Any additional data you want OAC to know? (e.g. in the future: display a msg on debug overlay)
|
|
|
- Feed results back to OAController
|
|
|
|
|
|
### Execution
|
|
|
- Handled by OAC
|
|
|
- Do you need to monitor the execution? |
|
|
\ No newline at end of file |