Package for the kinematic calibration of mechanisms based on the covariance of sensor measurements and calibrated dimension.
The only exported method calibrate(f,Cp,Cq,p̄,Q̄,tol;kwargs...)
takes as arguments
- residual function of constraint equations
f(p,q)=0
wherep
is a vector of calibrated dimesions andq
a vector of sensor measurements np x np
andnq x nq
covariance matrices forp
andq
respectively- vector of designed dimensions
p̄
and a matrixQ̄
where each vector represents a measurement ofq
- vector (or number)
tol
determining the tolerance of individual (or all) constraint equation - kwargs in the form of stopping criteria for
NLopt
problems which are formulated internaly.
It's output are corrections p̂
and Q̂
the optimal value of f
and the return code of the optimization ret
.
here is an example on a single arm measuring it's endpoint in 2D Cartesian coordinates
To install this package on your system simply paste
] add https://github.com/lieskjur/StatisticalCalibration.jl
into your julia repl
The approach is based around the density function of a multivariate normal distribution. The problem itself is then defined by a quadratic objective function corresponding to the probability of the corrections and equality constraints in the form of the mechanism's kinematic constaints.
The objective function being quadratic the COBYLA algorithm is used for finding the optimization's solution.