Example: poses_se3_lie_example
C++ example source code:
/* +------------------------------------------------------------------------+ | Mobile Robot Programming Toolkit (MRPT) | | https://www.mrpt.org/ | | | | Copyright (c) 2005-2022, Individual contributors, see AUTHORS file | | See: https://www.mrpt.org/Authors - All rights reserved. | | Released under BSD License. See: https://www.mrpt.org/License | +------------------------------------------------------------------------+ */ #include <mrpt/poses/CPose3D.h> #include <mrpt/poses/Lie/SE.h> #include <iostream> // ------------------------------------------------------ // TestSE3 // ------------------------------------------------------ void TestSE3() { using namespace mrpt; using namespace mrpt::poses; using namespace std; const CPose3D p0; const CPose3D p1(1, 2, 3, 0.0_deg, 0.0_deg, 0.0_deg); const CPose3D p2(1, 2, 3, 20.0_deg, 0.0_deg, 0.0_deg); cout << "p0: " << p0 << " SE(3)::log => " << Lie::SE<3>::log(p0) << endl; cout << "p1: " << p1 << " SE(3)::log => " << Lie::SE<3>::log(p1) << endl; cout << "p2: " << p2 << " SE(3)::log => " << Lie::SE<3>::log(p2) << endl; } int main() { try { TestSE3(); return 0; } catch (const std::exception& e) { std::cout << "Exception:" << mrpt::exception_to_str(e) << std::endl; return -1; } }