<meta name="robots" content="noindex" />
Schedule:
By 31
st of May:
Fully read up on/ get familiar with sparse arrays, standard template library.
Produce a write up that in few words reports:
- Requirements for a 3D sparse array data type: bullet list.
- Whether each of the STL container types would be useful for representing this (pros and cons maybe).
- Anything else you have found on sparse array representation that you want to share.
- Finishes with a proposal for how to proceed next week (ie base on a STL container class, build from scratch, using existing package from the web etc).
By 7
th of June:
Complete a working sample of sparse array code based on the proposal from last week. Will not implement all the features, but will storage of spare data using the proposed method.
By 14
th of June:
Complete a working function of code that implements the full requirements specified in week1, including the ability to report and log the data structure size as sparse data is added.
By 21
st of June:
Test the code and fix errors Integrate the code with the
TimeDemo code for the information fusion display, and run the existing
TimeDemo fusion algorithms showing data usage.
By 28
th of June:
Continue to integrate the code with the
TimeDemo code for the information fusion display, and run the existing
TimeDemo fusion algorithms showing data usage and collection additional much larger data sets.
By 5
th of July:
Fix all that needs to be fixed again.
The program will be used to store the data the robots gather as coordinates. The robot goes through space and maps the surroundings, but most of those surroundings are empty space. A room for example is composed of 4 walls and some items but the rest is empty space. Storing the data for the empty space take a lot of unnecessary memory. That’s why we’re using a 3-dimensional sparse array to store the data, so that all the unregistered space doesn’t take up memory.
Which STL container types would be useful for representing this?
There are many container types that are not suited for the job because they focus more on insertion and extraction of data or have limited inserting options: Bitset, deque, list, queue, set, stack.
The containers that would be suited are Array, Vector and Map. But since Array is defined memory and we don't know how much memory we will need, it is better to use Vectors. But Map is an even better option and we're considering using it as the container type for this program.
-- (c) Fordham University Robotics and Computer Vision