- 3.0.2 rigid body dynamics module.
JacobianBase.h
Go to the documentation of this file.
1 /**********************************************************************************************************************
2 This file is part of the Control Toolbox (https://github.com/ethz-adrl/control-toolbox), copyright by ETH Zurich.
3 Licensed under the BSD-2 license (see LICENSE file in main directory)
4 **********************************************************************************************************************/
5 
6 #pragma once
7 
9 
10 namespace ct {
11 namespace rbd {
12 namespace tpl {
13 
18 template <size_t NUM_OUTPUTS, size_t NUM_JOINTS, typename SCALAR>
20 {
21 public:
22  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
24  typedef Eigen::Matrix<SCALAR, NUM_OUTPUTS, 6 + NUM_JOINTS> jacobian_t;
25  typedef Eigen::Matrix<SCALAR, 6 + NUM_JOINTS, NUM_OUTPUTS> jacobian_inv_t;
26 
28  virtual ~JacobianBase(){};
29 
36  virtual void getJacobianOrigin(const state_t& state, jacobian_t& J) = 0;
37 
44  virtual void getJacobianOriginDerivative(const state_t& state, jacobian_t& dJdt) = 0;
45 
46 private:
47 };
48 
49 } // namespace tpl
50 
51 template <size_t NUM_OUTPUTS, size_t NUM_JOINTS>
53 
54 } // namespace rbd
55 } // namespace ct
Eigen::Matrix< SCALAR, 6+NUM_JOINTS, NUM_OUTPUTS > jacobian_inv_t
Definition: JacobianBase.h:25
virtual ~JacobianBase()
Definition: JacobianBase.h:28
JacobianBase()
Definition: JacobianBase.h:27
Definition: JacobianBase.h:19
virtual void getJacobianOrigin(const state_t &state, jacobian_t &J)=0
virtual void getJacobianOriginDerivative(const state_t &state, jacobian_t &dJdt)=0
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef RBDState< NUM_JOINTS, SCALAR > state_t
Definition: JacobianBase.h:23
Eigen::Matrix< SCALAR, NUM_OUTPUTS, 6+NUM_JOINTS > jacobian_t
Definition: JacobianBase.h:24