LocalPlanner.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 * @author Christian R. G. Dreher ( c dot dreher at kit dot edu )
18 * @date 2021
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22
23#pragma once
24
25#include <memory>
26
27#include <VirtualRobot/VirtualRobot.h>
28
31
38
40{
45
47 {
48 virtual ~LocalPlannerParams() = default;
49
50 virtual Algorithms algorithm() const = 0;
51 virtual aron::data::DictPtr toAron() const = 0;
52 };
53
55 {
56 public:
58 virtual ~LocalPlanner() = default;
59
60 virtual std::optional<LocalPlannerResult> plan(const core::GlobalTrajectory& goal) = 0;
61
63
64 protected:
65 std::optional<viz::ScopedClient> arviz;
66
69 };
70
71 using LocalPlannerPtr = std::shared_ptr<LocalPlanner>;
72
73} // namespace armarx::navigation::local_planning
std::optional< viz::ScopedClient > arviz
virtual std::optional< LocalPlannerResult > plan(const core::GlobalTrajectory &goal)=0
LocalPlanner(const core::Scene &context, const core::GeneralConfig &generalConfig)
std::shared_ptr< Dict > DictPtr
Definition Dict.h:42
This file is part of ArmarX.
Definition fwd.h:36
std::shared_ptr< LocalPlanner > LocalPlannerPtr
Definition fwd.h:38
virtual aron::data::DictPtr toAron() const =0