27 #include <experimental/memory>
30 #include <opencv2/aruco.hpp>
32 #include <VirtualRobot/VirtualRobot.h>
44 #include <VisionX/interface/components/ArMarkerLocalizerInterface.h>
65 virtual public ArMarkerLocalizerInterface,
101 visionx::ArMarkerLocalizationResultList
106 visionx::ArMarkerLocalizationResultList localizeAllMarkersInternal();
112 std::atomic<float> markerSize = 40.0;
113 int dictionary = cv::aruco::DICT_ARUCO_ORIGINAL;
115 std::string referenceFrame =
"DepthCamera";
116 std::string agentName =
"Armar6";
117 std::string imageProviderName =
"ImageProvider";
119 std::size_t cameraIndex = 0;
122 std::vector<float> extraDistortionCoeffs;
124 std::atomic_bool visuEnabled =
false;
139 CByteImage** cameraImages;
140 cv::Mat cameraMatrix, distortionCoeffs;
142 cv::Ptr<cv::aruco::DetectorParameters> arucoParameters =
143 new cv::aruco::DetectorParameters();
144 cv::Ptr<cv::aruco::Dictionary> arucoDictionary =
new cv::aruco::Dictionary();
146 std::mutex resultMutex;
147 visionx::ArMarkerLocalizationResultList lastLocalizationResult;
151 template <
typename T>
154 template <
typename T>
157 obs_ptr<rw_plugin<armarx::armem::robot_state::VirtualRobotReader>>
158 virtualRobotReaderPlugin =
nullptr;
161 VirtualRobot::RobotNodePtr referenceNode;