![]() |
PhotonVision C++ dev-v2025.3.1-2-gf92cf62a
|
Classes | |
struct | CameraCalibration |
Pinhole camera coefficients. More... | |
Typedefs | |
using | casadi_real = double |
using | RobotStateMat = Eigen::Matrix<casadi_real, 3, 1> |
Functions | |
wpi::expected< RobotStateMat, sleipnir::SolverExitCondition > | do_optimization (bool heading_free, int nTags, CameraCalibration cameraCal, Eigen::Matrix< casadi_real, 4, 4, Eigen::ColMajor > robot2camera, RobotStateMat x_guess, Eigen::Matrix< casadi_real, 4, Eigen::Dynamic, Eigen::ColMajor > field2points, Eigen::Matrix< casadi_real, 2, Eigen::Dynamic, Eigen::ColMajor > point_observations, double gyroθ, double gyroErrorScaleFac) |
Optimize x, where x is [x, y, theta]^T. | |
using constrained_solvepnp::casadi_real = double |
using constrained_solvepnp::RobotStateMat = Eigen::Matrix<casadi_real, 3, 1> |
wpi::expected< RobotStateMat, sleipnir::SolverExitCondition > constrained_solvepnp::do_optimization | ( | bool | heading_free, |
int | nTags, | ||
CameraCalibration | cameraCal, | ||
Eigen::Matrix< casadi_real, 4, 4, Eigen::ColMajor > | robot2camera, | ||
RobotStateMat | x_guess, | ||
Eigen::Matrix< casadi_real, 4, Eigen::Dynamic, Eigen::ColMajor > | field2points, | ||
Eigen::Matrix< casadi_real, 2, Eigen::Dynamic, Eigen::ColMajor > | point_observations, | ||
double | gyroθ, | ||
double | gyroErrorScaleFac ) |
Optimize x, where x is [x, y, theta]^T.
Note points must be undistorted prior to this. The number of columns in field2points and point_observations just be exactly 4x nTags.