Franky 0.12.0
A High-Level Motion API for Franka
Loading...
Searching...
No Matches
joint_waypoint_motion.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <atomic>
4#include <optional>
5#include <ruckig/ruckig.hpp>
6
7#include <franka/robot_state.h>
8
11
12namespace franky {
13
19class JointWaypointMotion : public PositionWaypointMotion<franka::JointPositions, JointState> {
20 public:
25 explicit JointWaypointMotion(
26 const std::vector<PositionWaypoint<JointState>> &waypoints,
27 const RelativeDynamicsFactor &relative_dynamics_factor = 1.0,
28 bool return_when_finished = true);
29
30 protected:
31
33 const RobotState &robot_state,
34 const std::optional<franka::JointPositions> &previous_command,
35 ruckig::InputParameter<7> &input_parameter) override;
36
37 void setNewWaypoint(
38 const RobotState &robot_state,
39 const std::optional<franka::JointPositions> &previous_command,
40 const PositionWaypoint<JointState> &new_waypoint,
41 ruckig::InputParameter<7> &input_parameter) override;
42
43 [[nodiscard]] std::tuple<Vector7d, Vector7d, Vector7d> getAbsoluteInputLimits() const override;
44
45 [[nodiscard]] franka::JointPositions getControlSignal(
46 const RobotState &robot_state,
47 const franka::Duration &time_step,
48 const std::optional<franka::JointPositions> &previous_command,
49 const ruckig::InputParameter<7> &input_parameter) override;
50
51 [[nodiscard]] virtual std::tuple<Vector7d, Vector7d, Vector7d> getStateEstimate(
52 const RobotState &robot_state) const override;
53};
54
55} // namespace franky
Joint waypoint motion.
Definition joint_waypoint_motion.hpp:19
franka::JointPositions getControlSignal(const RobotState &robot_state, const franka::Duration &time_step, const std::optional< franka::JointPositions > &previous_command, const ruckig::InputParameter< 7 > &input_parameter) override
Definition joint_waypoint_motion.cpp:26
std::tuple< Vector7d, Vector7d, Vector7d > getAbsoluteInputLimits() const override
Definition joint_waypoint_motion.cpp:43
void initWaypointMotion(const RobotState &robot_state, const std::optional< franka::JointPositions > &previous_command, ruckig::InputParameter< 7 > &input_parameter) override
Definition joint_waypoint_motion.cpp:15
virtual std::tuple< Vector7d, Vector7d, Vector7d > getStateEstimate(const RobotState &robot_state) const override
Definition joint_waypoint_motion.cpp:48
void setNewWaypoint(const RobotState &robot_state, const std::optional< franka::JointPositions > &previous_command, const PositionWaypoint< JointState > &new_waypoint, ruckig::InputParameter< 7 > &input_parameter) override
Definition joint_waypoint_motion.cpp:32
A motion following multiple positional waypoints in a time-optimal way. Works with arbitrary initial ...
Definition position_waypoint_motion.hpp:32
Relative dynamics factors.
Definition relative_dynamics_factor.hpp:13
Definition dynamics_limit.cpp:8
A position waypoint with a target and optional parameters.
Definition position_waypoint_motion.hpp:20
Full state of the robot.
Definition robot_state.hpp:20