- 3.0.2 rigid body dynamics module.
WholeBodyController.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 
16 template <size_t NJOINTS>
17 class WholeBodyController : public ct::core::Controller<2 * 6 + 2 * NJOINTS, NJOINTS>
18 {
19 public:
20  static const size_t STATE_DIM = 2 * 6 + 2 * NJOINTS;
21 
23 
24  virtual ~WholeBodyController();
25 
26  virtual WholeBodyController<NJOINTS>* clone() const override;
27 
28  virtual void computeControl(const core::StateVector<STATE_DIM>& state,
29  const core::Time& t,
30  core::ControlVector<NJOINTS>& control) override;
31 
33 
34 
35 protected:
37 };
38 
39 } // namespace rbd
40 } // namespace ct
JointPositionPIDController< NJOINTS > & getJointController()
Definition: WholeBodyController-impl.h:40
JointPositionPIDController< NJOINTS > jointController_
Definition: WholeBodyController.h:36
A joint position controller using a PID controller for all joints.
Definition: JointPositionPIDController.h:19
static const size_t STATE_DIM
Definition: WholeBodyController.h:20
virtual ~WholeBodyController()
Definition: WholeBodyController-impl.h:17
virtual WholeBodyController< NJOINTS > * clone() const override
Definition: WholeBodyController-impl.h:22
virtual void computeControl(const core::StateVector< STATE_DIM > &state, const core::Time &t, core::ControlVector< NJOINTS > &control) override
Definition: WholeBodyController-impl.h:28
WholeBodyController()
Definition: WholeBodyController-impl.h:12
double Time
Definition: WholeBodyController.h:17