libfranka  0.14.1
FCI C++ API
active_motion_generator.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 "active_control.h"
6 
12 namespace franka {
13 
21 template <typename MotionGeneratorType>
23  public:
36  void writeOnce(const MotionGeneratorType& motion_generator_input,
37  const std::optional<const Torques>& control_input) override;
43  friend class Robot;
44 
45  private:
55  ActiveMotionGenerator(std::shared_ptr<Robot::Impl> robot_impl,
56  uint32_t motion_id,
57  std::unique_lock<std::mutex> control_lock,
58  research_interface::robot::Move::ControllerMode controller_type)
60  controller_type_(controller_type){};
61 
62  bool isTorqueControlFinished(const std::optional<const Torques>& control_input);
63 
64  research_interface::robot::Move::ControllerMode controller_type_;
65 };
66 } // namespace franka
Implements the ActiveControlBase abstract class.
Documented in ActiveControlBase.
Definition: active_control.h:21
uint32_t motion_id
motion id of running motion
Definition: active_control.h:84
std::shared_ptr< Robot::Impl > robot_impl
shared pointer to Robot::Impl instance for read and write accesses
Definition: active_control.h:81
std::unique_lock< std::mutex > control_lock
control-lock preventing parallel control processes
Definition: active_control.h:87
Allows the user to read the state of a Robot and to send new motion generator commands after starting...
Definition: active_motion_generator.h:22
void writeOnce(const MotionGeneratorType &motion_generator_input, const std::optional< const Torques > &control_input) override
Updates the motion generator commands of an active control.
Maintains a network connection to the robot, provides the current robot state, gives access to the mo...
Definition: robot.h:68