19 #ifndef EXECUTIVE_UTILS_SEQUENCER_SV_POSE_VEL_ACCEL_H_
20 #define EXECUTIVE_UTILS_SEQUENCER_SV_POSE_VEL_ACCEL_H_
32 namespace pose_vel_accel {
34 extern const char*
kName;
40 Eigen::Matrix<float, 19, 1>
vec;
42 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
46 template <
typename Derived>
48 return state.template block<3, 1>(0, 0);
50 template <
typename Derived>
52 return state.template block<3, 1>(3, 0);
54 template <
typename Derived>
56 return state.template block<3, 1>(6, 0);
58 template <
typename Derived>
60 return state.template block<4, 1>(9, 0);
62 template <
typename Derived>
64 return state.template block<3, 1>(13, 0);
66 template <
typename Derived>
68 return state.template block<3, 1>(16, 0);
72 template <
typename Derived>
73 Eigen::Block<const Derived, 3, 1>
GetPosition(Eigen::MatrixBase<Derived>
const&
state) {
74 return state.template block<3, 1>(0, 0);
76 template <
typename Derived>
77 Eigen::Block<const Derived, 3, 1>
GetVelocity(Eigen::MatrixBase<Derived>
const&
state) {
78 return state.template block<3, 1>(3, 0);
80 template <
typename Derived>
82 return state.template block<3, 1>(6, 0);
84 template <
typename Derived>
86 return state.template block<4, 1>(9, 0);
88 template <
typename Derived>
90 return state.template block<3, 1>(13, 0);
92 template <
typename Derived>
94 return state.template block<3, 1>(16, 0);
101 #endif // EXECUTIVE_UTILS_SEQUENCER_SV_POSE_VEL_ACCEL_H_