libfranka 0.15.0
FCI C++ API
Loading...
Searching...
No Matches
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
6#include <franka/exception.h>
8#include <memory>
9#include <optional>
10#include <utility>
11
17namespace 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
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
virtual void writeOnce(const Torques &)=0
Updates torque commands of an active control.
virtual void writeOnce(const CartesianVelocities &motion_generator_input)=0
Updates the cartesian velocity commands of an active control, with internal controller.
virtual void writeOnce(const JointVelocities &, const std::optional< const Torques > &)=0
Updates the joint velocity and torque commands of an active control.
virtual void writeOnce(const CartesianPose &, const std::optional< const Torques > &)=0
Updates the cartesian position and torque commands of an active control.
virtual std::pair< RobotState, Duration > readOnce()=0
Waits for a robot state update and returns it.
virtual void writeOnce(const JointPositions &motion_generator_input)=0
Updates the joint position commands of an active control, with internal controller.
virtual void writeOnce(const CartesianPose &motion_generator_input)=0
Updates the cartesian pose commands of an active control, with internal controller.
virtual void writeOnce(const JointPositions &, const std::optional< const Torques > &)=0
Updates the joint position and torque commands of an active control.
virtual void writeOnce(const CartesianVelocities &, const std::optional< const Torques > &)=0
Updates the cartesian velocity and torque commands of an active control.
virtual void writeOnce(const JointVelocities &motion_generator_input)=0
Updates the joint velocity commands of an active control, with internal controller.
Stores values for Cartesian pose motion generation.
Definition control_types.h:127
Stores values for Cartesian velocity motion generation.
Definition control_types.h:211
Stores values for joint position motion generation.
Definition control_types.h:72
Stores values for joint velocity motion generation.
Definition control_types.h:99
Stores joint-level torque commands without gravity and friction.
Definition control_types.h:45
Contains helper types for returning motion generation and joint-level torque commands.
Contains exception definitions.
Contains the franka::RobotState types.