CollisionAvoidance.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 * @package control::COMPONENT_NAME_SNAKE::skills
17 * @author Meixner ( andre dot meixner at kit dot edu )
18 * @date 2025
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22
23#pragma once
24
25#include <experimental/memory>
26
27// RobotAPI
34
35//#include <VisionX/libraries/armem_human/client/HumanPoseReader.h>
36//#include <VisionX/libraries/armem_human/util.h>
37
38// collision_avoidance
42//#include "armarx/control/njoint_controller/task_space/ObjectCollisionAvoidanceImpedanceController.h"
43//#include "armarx/control/njoint_controller/task_space/ColAvoid.h"
44#include <armarx/control/collision_avoidance/aron/CollisionAvoidanceParams.aron.generated.h>
46#include <armarx/control/common/control_law/aron/CollisionPrimitives.aron.generated.h>
47#include <armarx/control/collision_avoidance/component/ComponentInterface.h>
48#include <armarx/control/njoint_controller/task_space/ControllerInterface.h>
49
51{
52 /**
53 * @class CollisionAvoidance
54 * @ingroup Library-collision_avoidance
55 * @brief Brief description of skill class collision_avoidance.
56 *
57 * Detailed description of class collision_avoidance.
58 */
61 ::armarx::control::collision_avoidance::arondto::CollisionAvoidanceParams>
62 {
63 public:
65 ::armarx::control::collision_avoidance::arondto::CollisionAvoidanceParams>;
66
67 /// Remote parameters of this skill implementation
73
74 /// Fixed properties of this skill implementation
76 {
77 // e.g. std::string someProperty;
78 };
79
80 static ::armarx::skills::SkillDescription GetSkillDescription();
81
82 //CollisionAvoidance(const Remote& r, const Properties& p, const Services& srv);
83 CollisionAvoidance(const Remote& r);
84
85 private:
86 // SimpleSpecializedSkill interface
87 // Enable each function you want to override.
88 // Base::InitResult init(const SpecializedInitInput&) override;
89 using Base::main;
90 Base::MainResult main(const SpecializedMainInput& in) override;
91
92 using Base::exit;
93 Base::ExitResult exit(const SpecializedExitInput&) override;
94
95 Remote remote;
96 //Properties properties;
97 };
98
99} // namespace armarx::control::collision_avoidance::skills
::armarx::skills::SimpleSpecializedSkill< ::armarx::control::collision_avoidance::arondto::CollisionAvoidanceParams > Base
std::experimental::observer_ptr< armarx::control::components::collision_avoidance::ComponentInterfacePrx > collisionAvoidanceComponent
A result struct for skill exit function.
Definition Skill.h:69
A result struct for th main method of a skill.
Definition Skill.h:62