Examples
Conceptual Examples
There are a few simple examples that take you through the creation of a robot, a session, and add data. These are:
End-To-End Examples
We are growing a library of end-to-end examples that highlight specific features of SlamInDb/Graff which we think are, well, cool. These are:
The Hexagonal Robot Example: Imagine a little wheeled robot driving in a circle. The tread measurement is a little sketchy, so as it progresses it gets a little less certain of where it is. But, each time it loops around, it's fairly certain it sees the same AprilTag. We construct this problem in SlamInDb/Graff, and show how the little guy is able to keep his cool as he progresses on his Sisyphean journey. Concepts highlighted:
Adding incremental odometry data
Adding data to poses
Adding factors like loop closures
Solver robustness when contradictory data is provided
Visualization
Brookstone Rover Example: In the Brookstone Rover example we implement a real-world version of the Hexagonal example, and demonstrate batch-processing in Graff using a simple $100 robot. The robot is cheap, the data is messy, and we still a good solution. Concepts highlighted:
Integrating Graff with MIT's LCM to process an LCM log
Processing offline camera data
Visualization