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
29
31{
33 {
34 public:
36
37 Smoothing(const core::GlobalTrajectory& trajectory,
38 const Costmap3D& costmap3d,
39 const Params& params);
40
42 {
43 std::optional<core::GlobalTrajectory> trajectory;
44 bool isCollisionFree = false;
45 };
46
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
Smoothing(const core::GlobalTrajectory &trajectory, const Costmap3D &costmap3d, const Params &params)
Definition Smoothing.cpp:15
std::vector< core::GlobalTrajectoryPoint > checkCenterTrajectory(core::GlobalTrajectory &centerTrajectory) const
Definition Smoothing.cpp:81