RobotFrame.h
Go to the documentation of this file.
1 /*
2  * Copyright 2015-2022 CNRS-UM LIRMM, CNRS-AIST JRL
3  */
4 
5 #pragma once
6 
7 #include <mc_tvm/Frame.h>
8 
9 #include <mc_rbdyn/RobotFrame.h>
10 
11 namespace mc_tvm
12 {
13 
28 {
29  SET_OUTPUTS(RobotFrame, Jacobian, NormalAcceleration, JDot)
30  SET_UPDATES(RobotFrame, Jacobian, NormalAcceleration, JDot)
31 
32  friend struct mc_rbdyn::RobotFrame;
33 
34 protected:
36  {
37  };
38 
39 public:
41 
43  inline const tvm::internal::MatrixWithProperties & jacobian() const noexcept { return jacobian_; }
44 
46  inline const sva::MotionVecd & normalAcceleration() const noexcept { return normalAcceleration_; }
47 
49  inline const tvm::internal::MatrixWithProperties & JDot() const noexcept { return jacDot_; }
50 
59  inline const rbd::Jacobian & rbdJacobian() const noexcept { return jac_; }
60 
62  inline const mc_rbdyn::RobotFrame & frame() const noexcept
63  {
64  return static_cast<const mc_rbdyn::RobotFrame &>(frame_);
65  }
66 
67 protected:
68  Eigen::Matrix3d h_ = Eigen::Matrix3d::Zero();
69 
70  rbd::Jacobian jac_;
71  rbd::Blocks blocks_;
72 
73  Eigen::MatrixXd jacTmp_;
74 
75  tvm::internal::MatrixWithProperties jacobian_;
77 
78  sva::MotionVecd normalAcceleration_;
80 
81  tvm::internal::MatrixWithProperties jacDot_;
82  void updateJDot();
83 };
84 
85 } // namespace mc_tvm
#define MC_TVM_DLLAPI
Definition: api.h:47
Definition: generic_gripper.h:15
Definition: CollisionFunction.h:16
Definition: RobotFrame.h:22
Definition: Frame.h:42
Definition: Frame.h:34
Definition: RobotFrame.h:36
Definition: RobotFrame.h:28
const tvm::internal::MatrixWithProperties & jacobian() const noexcept
Definition: RobotFrame.h:43
rbd::Jacobian jac_
Definition: RobotFrame.h:70
const rbd::Jacobian & rbdJacobian() const noexcept
Definition: RobotFrame.h:59
RobotFrame(NewRobotFrameToken, const mc_rbdyn::RobotFrame &frame)
rbd::Blocks blocks_
Definition: RobotFrame.h:71
const mc_rbdyn::RobotFrame & frame() const noexcept
Definition: RobotFrame.h:62
void updateNormalAcceleration()
Eigen::MatrixXd jacTmp_
Definition: RobotFrame.h:73
const sva::MotionVecd & normalAcceleration() const noexcept
Definition: RobotFrame.h:46
const tvm::internal::MatrixWithProperties & JDot() const noexcept
Definition: RobotFrame.h:49
tvm::internal::MatrixWithProperties jacDot_
Definition: RobotFrame.h:81
sva::MotionVecd normalAcceleration_
Definition: RobotFrame.h:78
tvm::internal::MatrixWithProperties jacobian_
Definition: RobotFrame.h:75