Smoothing.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 Niklas Arlt ( niklas dot arlt at kit dot edu )
17
* @date 2025
18
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19
* GNU General Public License
20
*/
21
22
#pragma once
23
24
#include <optional>
25
26
#include <
armarx/navigation/algorithms/orientation_aware/Costmap3D.h
>
27
#include <
armarx/navigation/algorithms/orientation_aware/smoothing/io.h
>
28
#include <
armarx/navigation/core/Trajectory.h
>
29
30
namespace
armarx::navigation::algorithms::orientation_aware::smoothing
31
{
32
class
Smoothing
33
{
34
public
:
35
using
Params
=
io::SmoothingParams
;
36
37
Smoothing
(
const
core::GlobalTrajectory
& trajectory,
38
const
Costmap3D
& costmap3d,
39
const
Params
& params);
40
41
struct
OptimizationResult
42
{
43
std::optional<core::GlobalTrajectory>
trajectory
;
44
bool
isCollisionFree
=
false
;
45
};
46
47
OptimizationResult
optimize
();
48
49
std::vector<core::GlobalTrajectoryPoint>
50
checkCenterTrajectory
(
core::GlobalTrajectory
& centerTrajectory)
const
;
51
52
protected
:
53
private
:
54
core::GlobalTrajectory
trajectory;
55
const
Costmap3D
& costmap3d;
56
57
const
Params
params;
58
};
59
}
// namespace armarx::navigation::algorithms::orientation_aware::smoothing
Costmap3D.h
armarx::navigation::algorithms::orientation_aware::Costmap3D
Definition
Costmap3D.h:24
armarx::navigation::algorithms::orientation_aware::smoothing::Smoothing::Smoothing
Smoothing(const core::GlobalTrajectory &trajectory, const Costmap3D &costmap3d, const Params ¶ms)
Definition
Smoothing.cpp:15
armarx::navigation::algorithms::orientation_aware::smoothing::Smoothing::Params
io::SmoothingParams Params
Definition
Smoothing.h:35
armarx::navigation::algorithms::orientation_aware::smoothing::Smoothing::checkCenterTrajectory
std::vector< core::GlobalTrajectoryPoint > checkCenterTrajectory(core::GlobalTrajectory ¢erTrajectory) const
Definition
Smoothing.cpp:81
armarx::navigation::algorithms::orientation_aware::smoothing::Smoothing::optimize
OptimizationResult optimize()
Definition
Smoothing.cpp:57
armarx::navigation::core::GlobalTrajectory
Definition
Trajectory.h:75
armarx::navigation::algorithms::orientation_aware::smoothing
This file is part of ArmarX.
Definition
Costmap3D.h:19
Trajectory.h
io.h
armarx::navigation::algorithms::orientation_aware::smoothing::Smoothing::OptimizationResult
Definition
Smoothing.h:42
armarx::navigation::algorithms::orientation_aware::smoothing::Smoothing::OptimizationResult::isCollisionFree
bool isCollisionFree
Definition
Smoothing.h:44
armarx::navigation::algorithms::orientation_aware::smoothing::Smoothing::OptimizationResult::trajectory
std::optional< core::GlobalTrajectory > trajectory
Definition
Smoothing.h:43
armarx::navigation::algorithms::orientation_aware::smoothing::io::SmoothingParams
Definition
io.h:13
armarx
navigation
algorithms
orientation_aware
smoothing
Smoothing.h
Generated by
1.13.2