7.2 Soft-Hub design overview
with emphasis on the pose algorithms as this is the core function of the Soft Hub. The communications system is described in Chapter 6.
To estimate the pose of the hub enclosure the software must do the following:
interface to the camera modules and retrieve the centroid data,
provide a mechanism to allow data from different modules to be combined,
make decisions on the quality of the data from the Black Spot modules and remove
poor quality data,
use the good quality data coupled with a model of the world to estimate the pose of the hub, and
provide a mechanism for logging this pose and an interface to allow this information to be used by other software that may require it.
These details are described in the following paragraphs. Point 1 is the responsibility of the communications layer. Using the protocol described in Chapter 6, centroid data is retrieved from the Black Spot modules. Point 2 is achieved by tagging each centroid with the camera module ID. Using this information it is possible to link the centroid to the coordinate frame of the camera (with respect to the hub enclosure) that the centroid was observed in. Point 3 is not yet implemented but it is intended that the quality measure attached to each centroid is used to determine whether the centroid should be used for pose estimation. Point 5 is described in sections 7.5 and 7.6.
The Soft Hub relies on configuration information to function. This can be grouped into two parts; configuration parameters related to the hub and knowledge about the world. The hub parameters are uncalibrated intrinsic Black Spot parameters, i.e., the focal length of the lenses, the dimensions of the image sensor FOV in pixels, and the size of a pixel in metres. These parameters are modeled internally in the Soft Hub using a Black Spot camera class. The next set of parameters are intrinsic hub enclosure parameters. These define the coordinate frames of each of the three camera modules in the hub enclosure in terms of a hub coordinate frame. In the current software revision, configuration data is hard-coded, however, implementation of a calibration phase in the future should include the ability to accurately estimate this data. The inaccuracies in this data affect the accuracy of the overall pose estimation.
The majority of the data that the hub operates on are centroids from the camera modules. Figure 7.3 shows the flow of this data from the communications layer through the pose