robotoc
robotoc - efficient ROBOT Optimal Control solvers
Loading...
Searching...
No Matches
se3.hpp
Go to the documentation of this file.
1#ifndef ROBOTOC_SE3_HPP_
2#define ROBOTOC_SE3_HPP_
3
4#include <Eigen/Core>
5#include "pinocchio/spatial/se3.hpp"
6#include "pinocchio/spatial/explog.hpp"
7
8
9namespace robotoc {
10
15using SE3 = pinocchio::SE3;
16
22template <typename SE3Type>
23const Eigen::Matrix<double, 6, 1> Log6Map(const SE3Type& SE3_obj) {
24 return pinocchio::log6(SE3_obj).toVector();
25}
26
32template <typename SE3Type, typename MatrixType>
33void computeJLog6Map(const SE3Type& SE3_obj,
34 const Eigen::MatrixBase<MatrixType>& J) {
35 assert(J.rows() == 6);
36 assert(J.cols() == 6);
37 pinocchio::Jlog6(SE3_obj, const_cast<Eigen::MatrixBase<MatrixType>&>(J));
38}
39
40} // namespace robotoc
41
42#endif // ROBOTOC_SE3_HPP_
Definition: constraint_component_base.hpp:17
void computeJLog6Map(const SE3Type &SE3_obj, const Eigen::MatrixBase< MatrixType > &J)
Computes the Jacobian of the Log6 map.
Definition: se3.hpp:33
const Eigen::Matrix< double, 6, 1 > Log6Map(const SE3Type &SE3_obj)
Applies Log6 map that transforms the SE3 into 6-dimensional vector.
Definition: se3.hpp:23
pinocchio::SE3 SE3
Using pinocchio::SE3 without its namespace.
Definition: se3.hpp:15