Calibration Library 1.0.0
A C++ library for camera calibration and vision-related geometric transformations
Loading...
Searching...
No Matches
handeye.h
Go to the documentation of this file.
1
6#pragma once
7
8// std
9#include <optional>
10#include <stdexcept>
11#include <string>
12#include <unordered_map>
13#include <utility>
14#include <vector>
15
16// eigen
17#include <Eigen/Geometry>
18
22
23namespace calib::pipeline {
24
26using calib::to_json;
27
36 std::string view_id;
37 Eigen::Isometry3d base_se3_gripper{Eigen::Isometry3d::Identity()};
38 std::unordered_map<std::string, std::string> images;
39};
40
44struct HandEyeRigConfig final {
45 std::string rig_id;
46 std::vector<std::string> sensors;
47 std::vector<HandEyeObservationConfig> observations;
48 OptimOptions options;
49 double min_angle_deg{1.0};
50};
51
53 std::vector<HandEyeRigConfig> rigs;
54};
55
59struct BundleRigConfig final {
60 std::string rig_id;
61 std::vector<std::string> sensors;
62 std::vector<HandEyeObservationConfig> observations;
64 double min_angle_deg{1.0};
65 std::optional<Eigen::Isometry3d> initial_target;
66};
67
69 std::vector<BundleRigConfig> rigs;
70};
71
77
78} // namespace calib::pipeline
Hand-eye calibration algorithms and utilities.
void from_json(const nlohmann::json &j, T &value)
Definition json.h:89
void to_json(nlohmann::json &j, const T &value)
Definition json.h:49
Options controlling the hand-eye calibration optimisation.
Definition bundle.h:30
std::vector< BundleRigConfig > rigs
Definition handeye.h:69
Bundle-adjustment rig configuration extending the hand-eye observations.
Definition handeye.h:59
std::vector< std::string > sensors
Definition handeye.h:61
std::optional< Eigen::Isometry3d > initial_target
Definition handeye.h:65
std::vector< HandEyeObservationConfig > observations
Definition handeye.h:62
Per-observation specification consumed by the hand-eye pipeline stage.
Definition handeye.h:35
std::unordered_map< std::string, std::string > images
Definition handeye.h:38
std::vector< HandEyeRigConfig > rigs
Definition handeye.h:53
Hand-eye rig definition used to configure the calibration stage.
Definition handeye.h:44
std::vector< std::string > sensors
Definition handeye.h:46
std::vector< HandEyeObservationConfig > observations
Definition handeye.h:47