This PR implements a number of changes to support a minimum working example of calibration of a kinematic chain based on DH parameters with camera and target
Updates the DH chain class to work well with Ceres auto diff cost functions
Template specific methods (getFK and getRelativeTransform) to work easily with auto diff
Use Eigen vectors to hold data that needs to be cast between doubles and jets
Add the ability to specify DH parameter offsets that will be calibrated by Ceres
Added function for getting the DH parameters from a chain in an N x 4 matrix
Removed GaussianNoiseDHTransform since virtual class functions cannot be templates
Defined a kinematic calibration observation structure
Created functions for generating kinematic calibration observations
Added a function for creating a DH chain with randomly perturbed parameters based on an input chain to replace the GaussianNoiseDHTransform class
Created initial kinematic calibration algorithm
Created unit tests for kinematic calibration algorithm
Single kinematic chain with camera transform, target transform, and camera chain to target chain transform
Currently the kinematic calibration converges for the perfect cases represented in the unit test, as well as some perturbed cases that I tried. More development is necessary to finish this algorithm, but that should come in a later PR.
This PR replaces #53
TODO
[x] Drop e21289d in favor of the same method added by #54
Description
This PR implements a number of changes to support a minimum working example of calibration of a kinematic chain based on DH parameters with camera and target
getFK
andgetRelativeTransform
) to work easily with auto diffGaussianNoiseDHTransform
since virtual class functions cannot be templatesGaussianNoiseDHTransform
classCurrently the kinematic calibration converges for the perfect cases represented in the unit test, as well as some perturbed cases that I tried. More development is necessary to finish this algorithm, but that should come in a later PR.
This PR replaces #53
TODO