TrajectoryParametrization.h
Go to the documentation of this file.
1
/**
2
* This file is part of ArmarX.
3
*
4
* ArmarX is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation.
7
*
8
* ArmarX is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* @author Fabian Reister ( fabian dot reister at kit dot edu )
17
* @date 2026
18
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19
* GNU General Public License
20
*/
21
22
#pragma once
23
24
#include <memory>
25
26
#include <
armarx/navigation/core/Trajectory.h
>
27
28
namespace
armarx::navigation::algorithms
29
{
30
31
/**
32
* @brief Assigns the velocities along an already planned path.
33
*
34
* The global planner decides *where* the robot goes; this decides *how fast*. Splitting the
35
* two lets the speed profile answer to the platform's dynamics -- motor torque, the device
36
* command ramp -- which the planner knows nothing about.
37
*
38
* Implementations are constructed by `fac::TrajectoryParametrizationFactory` from
39
* `core::GeneralConfig::parametrization`.
40
*/
41
class
TrajectoryParametrization
42
{
43
public
:
44
virtual
~TrajectoryParametrization
() =
default
;
45
46
/**
47
* @brief Re-assign the velocities of `trajectory` in place.
48
*
49
* @param startVelocity Speed the robot already carries [mm/s]. The caller passes the
50
* measured platform speed when picking a trajectory up mid-motion,
51
* and `GeneralConfig::boundaryVelocity` when starting from rest.
52
*
53
* @throws std::runtime_error if the implementation is unavailable in this build.
54
*/
55
virtual
void
apply
(
core::GlobalTrajectory
&
trajectory
,
float
startVelocity)
const
= 0;
56
};
57
58
using
TrajectoryParametrizationPtr
= std::shared_ptr<TrajectoryParametrization>;
59
60
}
// namespace armarx::navigation::algorithms
armarx::navigation::algorithms::TrajectoryParametrization
Assigns the velocities along an already planned path.
Definition
TrajectoryParametrization.h:42
armarx::navigation::algorithms::TrajectoryParametrization::apply
virtual void apply(core::GlobalTrajectory &trajectory, float startVelocity) const =0
Re-assign the velocities of trajectory in place.
armarx::navigation::algorithms::TrajectoryParametrization::~TrajectoryParametrization
virtual ~TrajectoryParametrization()=default
armarx::navigation::core::GlobalTrajectory
Definition
Trajectory.h:75
armarx::navigation::algorithms
This file is part of ArmarX.
Definition
aron_conversions.cpp:29
armarx::navigation::algorithms::TrajectoryParametrizationPtr
std::shared_ptr< TrajectoryParametrization > TrajectoryParametrizationPtr
Definition
TrajectoryParametrization.h:58
armarx::trajectory
Definition
exceptions.cpp:4
Trajectory.h
armarx
navigation
algorithms
parametrization
TrajectoryParametrization.h
Generated by
1.13.2