Ramping.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
#pragma once
24
25
#include <
armarx/navigation/algorithms/parametrization/TrajectoryParametrization.h
>
26
#include <
armarx/navigation/core/NavigationStackGeneralConfig.h
>
27
28
namespace
armarx::navigation::algorithms
29
{
30
31
/**
32
* @brief Ramps the velocity down at the start, at the goal and at every corner.
33
*
34
* The navigation stack's historical behaviour, moved here verbatim from
35
* `Navigator::setupRamping`. Parameters stay in `core::GeneralConfig` -- `rampLength`,
36
* `cornerVelocity`, `boundaryVelocity`, `cornerLimit` and the three enable flags -- so
37
* existing configurations keep working unchanged.
38
*
39
* It bounds nothing dynamically: the ramp is a fixed distance regardless of what the drive
40
* can deliver, so the resulting profile can still demand more deceleration than the device
41
* command ramp will execute.
42
*/
43
class
Ramping
:
public
TrajectoryParametrization
44
{
45
public
:
46
explicit
Ramping
(
const
core::GeneralConfig& config);
47
48
void
apply(core::GlobalTrajectory& trajectory,
float
startVelocity)
const override
;
49
50
private
:
51
core::GeneralConfig config_;
52
};
53
54
}
// namespace armarx::navigation::algorithms
NavigationStackGeneralConfig.h
TrajectoryParametrization.h
armarx::navigation::algorithms::TrajectoryParametrization
Assigns the velocities along an already planned path.
Definition
TrajectoryParametrization.h:42
armarx::navigation::algorithms
This file is part of ArmarX.
Definition
aron_conversions.cpp:29
armarx::navigation::core::TrajectoryParametrization::Ramping
@ Ramping
Ramp down at the start, the goal and every corner. The stack's historical behaviour.
Definition
NavigationStackGeneralConfig.h:44
armarx
navigation
algorithms
parametrization
Ramping.h
Generated by
1.13.2