Franky 1.1.0
A High-Level Motion API for Franka
Loading...
Searching...
No Matches
condition.hpp
Go to the documentation of this file.
1#pragma once
2
4#include <functional>
5
6namespace franky {
7
16class Condition {
17 public:
18 using CheckFunc = std::function<bool(const RobotState &, franka::Duration, franka::Duration)>;
19
24 explicit Condition(CheckFunc check_func, std::string repr = "NULL");
25
30 Condition(bool constant_value);
31
42 inline bool operator()(const RobotState &robot_state, franka::Duration rel_time, franka::Duration abs_time) const {
43 return check_func_(robot_state, rel_time, abs_time);
44 }
45
49 [[nodiscard]] inline std::string repr() const { return repr_; }
50
51 private:
52 CheckFunc check_func_;
53 std::string repr_;
54};
55
56Condition operator&&(const Condition &c1, const Condition &c2);
57
58Condition operator||(const Condition &c1, const Condition &c2);
59
60Condition operator==(const Condition &c1, const Condition &c2);
61
62Condition operator!=(const Condition &c1, const Condition &c2);
63
64Condition operator!(const Condition &c);
65
66} // namespace franky
A condition on the robot state.
Definition condition.hpp:16
bool operator()(const RobotState &robot_state, franka::Duration rel_time, franka::Duration abs_time) const
Check if the condition is met.
Definition condition.hpp:42
std::function< bool(const RobotState &, franka::Duration, franka::Duration)> CheckFunc
Definition condition.hpp:18
std::string repr() const
The string representation of the condition.
Definition condition.hpp:49
Definition dynamics_limit.cpp:8
Condition operator==(const Condition &c1, const Condition &c2)
Definition condition.cpp:33
Condition operator!=(const Condition &c1, const Condition &c2)
Definition condition.cpp:41
Condition operator&&(const Condition &c1, const Condition &c2)
Definition condition.cpp:17
Condition operator||(const Condition &c1, const Condition &c2)
Definition condition.cpp:25
Condition operator!(const Condition &c)
Definition condition.cpp:49
Full state of the robot.
Definition robot_state.hpp:23