libfranka  0.14.1
FCI C++ API
active_control_base.h
Go to the documentation of this file.
1 // Copyright (c) 2023 Franka Robotics GmbH
2 // Use of this source code is governed by the Apache-2.0 license, see LICENSE
3 #pragma once
4 
5 #include <franka/control_types.h>
6 #include <franka/exception.h>
7 #include <franka/robot_state.h>
8 #include <memory>
9 #include <optional>
10 #include <utility>
11 
17 namespace franka {
18 
28  public:
29  virtual ~ActiveControlBase() = default;
30 
40  virtual std::pair<RobotState, Duration> readOnce() = 0;
41 
48  virtual void writeOnce(const Torques& /* control_input */) = 0;
49 
56  virtual void writeOnce(const JointPositions& /* motion_generator_input */,
57  const std::optional<const Torques>& /*control_input*/) = 0;
58 
65  virtual void writeOnce(const JointVelocities& /* motion_generator_input */,
66  const std::optional<const Torques>& /* control_input */) = 0;
73  virtual void writeOnce(const CartesianPose& /* motion_generator_input */,
74  const std::optional<const Torques>& /* control_input */) = 0;
75 
82  virtual void writeOnce(const CartesianVelocities& /* motion_generator_input */,
83  const std::optional<const Torques>& /* control_input */) = 0;
90  virtual void writeOnce(const JointPositions& motion_generator_input) = 0;
91 
98  virtual void writeOnce(const JointVelocities& motion_generator_input) = 0;
105  virtual void writeOnce(const CartesianPose& motion_generator_input) = 0;
106 
113  virtual void writeOnce(const CartesianVelocities& motion_generator_input) = 0;
114 
115  protected:
116  ActiveControlBase() = default;
117 };
118 
119 } // namespace franka
franka::JointVelocities
Stores values for joint velocity motion generation.
Definition: control_types.h:99
franka::ActiveControlBase
Allows the user to read the state of a Robot and to send new control commands after starting a contro...
Definition: active_control_base.h:27
franka::ActiveControlBase::writeOnce
virtual void writeOnce(const Torques &)=0
Updates torque commands of an active control.
franka::CartesianVelocities
Stores values for Cartesian velocity motion generation.
Definition: control_types.h:211
franka::Torques
Stores joint-level torque commands without gravity and friction.
Definition: control_types.h:45
franka::JointPositions
Stores values for joint position motion generation.
Definition: control_types.h:72
franka::CartesianPose
Stores values for Cartesian pose motion generation.
Definition: control_types.h:127
franka::ActiveControlBase::readOnce
virtual std::pair< RobotState, Duration > readOnce()=0
Waits for a robot state update and returns it.
exception.h
control_types.h
robot_state.h