ForceTorqueSubUnit.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @package RobotAPI::ArmarXObjects::ForceTorqueSubUnit
17  * @author Raphael ( raphael dot grimm at kit dot edu )
18  * @date 2017
19  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20  * GNU General Public License
21  */
22 
23 #pragma once
24 
26 
27 #include "../SensorValues/SensorValueForceTorque.h"
28 #include "RobotUnitSubUnit.h"
29 
30 namespace armarx
31 {
32  TYPEDEF_PTRS_HANDLE(ForceTorqueSubUnit);
33 
34  class ForceTorqueSubUnit : virtual public RobotUnitSubUnit, virtual public ForceTorqueUnit
35  {
36  public:
37  void update(const SensorAndControl& sc, const JointAndNJointControllers& c) override;
38 
39  // ForceTorqueUnitInterface interface
40  void setOffset(const FramedDirectionBasePtr&,
41  const FramedDirectionBasePtr&,
42  const Ice::Current& = Ice::emptyCurrent) override;
43  void setToNull(const Ice::Current& = Ice::emptyCurrent) override;
44 
45  // ForceTorqueUnit interface
46  void onInitForceTorqueUnit() override;
47 
48  void
50  {
51  }
52 
53  void
55  {
56  }
57 
58  struct DeviceData
59  {
60  std::string deviceName;
61  std::size_t sensorIndex;
62  std::string frame;
63  };
64 
65  std::vector<DeviceData> devs;
66 
67  private:
68  std::string agentName;
69  };
70 } // namespace armarx
armarx::ForceTorqueSubUnit::onInitForceTorqueUnit
void onInitForceTorqueUnit() override
Definition: ForceTorqueSubUnit.cpp:71
armarx::JointAndNJointControllers
Structure used by the RobotUnit to swap lists of Joint and NJoint controllers.
Definition: JointAndNJointControllers.h:32
armarx::TYPEDEF_PTRS_HANDLE
TYPEDEF_PTRS_HANDLE(NJointCartesianNaturalPositionController)
armarx::ForceTorqueSubUnit::onExitForceTorqueUnit
void onExitForceTorqueUnit() override
Definition: ForceTorqueSubUnit.h:54
armarx::ForceTorqueSubUnit::DeviceData::sensorIndex
std::size_t sensorIndex
Definition: ForceTorqueSubUnit.h:61
armarx::ForceTorqueSubUnit::setToNull
void setToNull(const Ice::Current &=Ice::emptyCurrent) override
Definition: ForceTorqueSubUnit.cpp:65
armarx::ForceTorqueSubUnit::onStartForceTorqueUnit
void onStartForceTorqueUnit() override
Definition: ForceTorqueSubUnit.h:49
c
constexpr T c
Definition: UnscentedKalmanFilterTest.cpp:43
armarx::RobotUnitSubUnit
Definition: RobotUnitSubUnit.h:35
armarx::ForceTorqueUnit
The ForceTorqueUnit class.
Definition: ForceTorqueUnit.h:72
armarx::ForceTorqueSubUnit::devs
std::vector< DeviceData > devs
Definition: ForceTorqueSubUnit.h:65
armarx::detail::ControlThreadOutputBufferEntry
Definition: ControlThreadOutputBuffer.h:177
ForceTorqueUnit.h
RobotUnitSubUnit.h
armarx::ForceTorqueSubUnit::DeviceData::frame
std::string frame
Definition: ForceTorqueSubUnit.h:62
armarx::ForceTorqueSubUnit::update
void update(const SensorAndControl &sc, const JointAndNJointControllers &c) override
Definition: ForceTorqueSubUnit.cpp:29
armarx::ForceTorqueSubUnit::DeviceData::deviceName
std::string deviceName
Definition: ForceTorqueSubUnit.h:60
armarx::ForceTorqueSubUnit
Definition: ForceTorqueSubUnit.h:34
armarx::ForceTorqueSubUnit::DeviceData
Definition: ForceTorqueSubUnit.h:58
armarx::ForceTorqueSubUnit::setOffset
void setOffset(const FramedDirectionBasePtr &, const FramedDirectionBasePtr &, const Ice::Current &=Ice::emptyCurrent) override
Definition: ForceTorqueSubUnit.cpp:57
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28