Franky  0.9.1
A High-Level Motion API for Franka
path.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Eigen/Core>
4 
5 namespace franky {
6 
7 template<size_t state_dimensions>
8 struct PathStep {
9  const Eigen::Vector<double, state_dimensions> q;
10  const Eigen::Vector<double, state_dimensions> dq;
11  const Eigen::Vector<double, state_dimensions> ddq;
12  const Eigen::Vector<double, state_dimensions> dddq;
13 };
14 
15 template<size_t state_dimensions>
16 class Path {
17  using Vector = Eigen::Matrix<double, state_dimensions, 1>;
18  public:
19  [[nodiscard]] virtual double length() const = 0;
20 
21  virtual Vector max_ddq() const = 0;
22 
23  virtual Vector max_dddq() const = 0;
24 
25  virtual PathStep<state_dimensions> operator()(double s) const = 0;
26 };
27 
28 } // namespace franky
Definition: path.hpp:16
virtual Vector max_ddq() const =0
virtual double length() const =0
virtual Vector max_dddq() const =0
virtual PathStep< state_dimensions > operator()(double s) const =0
Definition: gripper.cpp:3
Definition: path.hpp:8
const Eigen::Vector< double, state_dimensions > ddq
Definition: path.hpp:11
const Eigen::Vector< double, state_dimensions > q
Definition: path.hpp:9
const Eigen::Vector< double, state_dimensions > dddq
Definition: path.hpp:12
const Eigen::Vector< double, state_dimensions > dq
Definition: path.hpp:10