orwell 0.0.0
AdmittanceController.hpp
1/*
2 Copyright (c) Tobias Löw
3 Written by Tobias Löw <https://tobiloew.ch>
4
5 This file is part of orwell.
6
7 gafro is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License version 3 as
9 published by the Free Software Foundation.
10
11 gafro is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with gafro. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#pragma once
21
22#include <orwell/torque/TorqueController.hpp>
23
24namespace orwell
25{
26
34 template <int dof, class Reference>
35 class AdmittanceController : public TorqueReferenceController<dof, Reference>
36 {
37 public:
45 AdmittanceController(const sackmesser::Interface::Ptr &interface, const std::string &name);
46
51 virtual ~AdmittanceController();
52
59
60 protected:
67 };
68
69} // namespace orwell
70
71#include <orwell/torque/AdmittanceController.hxx>
base class for an admittance controller derived from TorqueController
RobotState< dof >::Vector computeCommand()
computes the joint torque using forward dynamics
virtual RobotState< dof >::Vector computeDesiredJointAcceleration()=0
admittance control law
AdmittanceController(const sackmesser::Interface::Ptr &interface, const std::string &name)
loads configuration parameters
base implementation of a Controller tracking a given Reference
Eigen::Vector< double, dof > Vector
typedef