benchmark_task_varying_initial_state.h
Go to the documentation of this file.
1 /*********************************************************************
2  *
3  * Software License Agreement
4  *
5  * Copyright (c) 2020,
6  * TU Dortmund - Institute of Control Theory and Systems Engineering.
7  * All rights reserved.
8  *
9  * This program is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program. If not, see <https://www.gnu.org/licenses/>.
21  *
22  * Authors: Christoph Rösmann
23  *********************************************************************/
24 
25 #ifndef SRC_TASKS_INCLUDE_CORBO_TASKS_BENCHMARK_TASK_VARYING_INITIAL_STATE_H_
26 #define SRC_TASKS_INCLUDE_CORBO_TASKS_BENCHMARK_TASK_VARYING_INITIAL_STATE_H_
27 
29 
31 
32 #include <memory>
33 #include <string>
34 
35 namespace corbo {
36 
46 class BenchmarkTaskVaryingInitialState : public TaskInterface
47 {
48  public:
49  using Ptr = std::shared_ptr<BenchmarkTaskVaryingInitialState>;
50 
53 
54  // implements interface method
55  TaskInterface::Ptr getInstance() const override { return std::make_shared<BenchmarkTaskVaryingInitialState>(); }
56 
57  // implements interface method
58  void performTask(Environment& environment, SignalTargetInterface* signal_target = nullptr, std::string* msg = nullptr,
59  const std::string& ns = "") override;
60 
61  // implements interface method
62  bool verify(const Environment& environment, std::string* msg = nullptr) const override;
63 
64  // implements interface method
65  void getAvailableSignals(const Environment& environment, SignalTargetInterface& signal_target, const std::string& ns = "") const override;
66 
67  // implements interface method
68  void reset() override;
69 
70 #ifdef MESSAGE_SUPPORT
71  void toMessage(messages::BenchmarkTaskVaryingInitialState& message) const;
72  void fromMessage(const messages::BenchmarkTaskVaryingInitialState& message, std::stringstream* issues = nullptr);
73 
74  // implements interface method
75  void toMessage(messages::Task& message) const override { toMessage(*message.mutable_benchmark_varying_initial_state()); }
76  // implements interface method
77  void fromMessage(const messages::Task& message, std::stringstream* issues = nullptr) override
78  {
79  fromMessage(message.benchmark_varying_initial_state(), issues);
80  }
81 #endif
82 
83  private:
85 
86  Eigen::VectorXd _x0_default;
87 
88  double _x01_start = 0;
89  double _x01_end = 0;
90  int _x01_n = 2;
91 
92  double _x02_start = 0;
93  double _x02_end = 0;
94  int _x02_n = 2;
95 
96  double _wait_time = 0;
97 };
98 
100 
101 } // namespace corbo
102 
103 #endif // SRC_TASKS_INCLUDE_CORBO_TASKS_BENCHMARK_TASK_VARYING_INITIAL_STATE_H_
corbo::TaskInterface::Ptr
std::shared_ptr< TaskInterface > Ptr
Definition: task_interface.h:107
corbo
Definition: communication/include/corbo-communication/utilities.h:37
corbo::BenchmarkTaskVaryingInitialState::_x02_n
int _x02_n
Definition: benchmark_task_varying_initial_state.h:138
corbo::BenchmarkTaskVaryingInitialState::_wait_time
double _wait_time
Definition: benchmark_task_varying_initial_state.h:140
corbo::BenchmarkTaskVaryingInitialState::getAvailableSignals
void getAvailableSignals(const Environment &environment, SignalTargetInterface &signal_target, const std::string &ns="") const override
Retrieve available signals from the task.
Definition: benchmark_task_varying_initial_state.cpp:66
corbo::BenchmarkTaskVaryingInitialState::_x02_end
double _x02_end
Definition: benchmark_task_varying_initial_state.h:137
corbo::BenchmarkTaskVaryingInitialState::reset
void reset() override
Reset task state.
Definition: benchmark_task_varying_initial_state.cpp:158
corbo::BenchmarkTaskVaryingInitialState::_x01_start
double _x01_start
Definition: benchmark_task_varying_initial_state.h:132
corbo::BenchmarkTaskVaryingInitialState::performTask
void performTask(Environment &environment, SignalTargetInterface *signal_target=nullptr, std::string *msg=nullptr, const std::string &ns="") override
Perform task.
Definition: benchmark_task_varying_initial_state.cpp:71
corbo::BenchmarkTaskVaryingInitialState::_x02_start
double _x02_start
Definition: benchmark_task_varying_initial_state.h:136
corbo::BenchmarkTaskVaryingInitialState::_x0_default
Eigen::VectorXd _x0_default
Definition: benchmark_task_varying_initial_state.h:130
corbo::BenchmarkTaskVaryingInitialState::Ptr
std::shared_ptr< BenchmarkTaskVaryingInitialState > Ptr
Definition: benchmark_task_varying_initial_state.h:93
corbo::BenchmarkTaskVaryingInitialState::getInstance
TaskInterface::Ptr getInstance() const override
Return a newly created shared instance of the implemented class.
Definition: benchmark_task_varying_initial_state.h:99
corbo::BenchmarkTaskVaryingInitialState::_main_task
TaskInterface::Ptr _main_task
Definition: benchmark_task_varying_initial_state.h:128
task_open_loop_control.h
corbo::BenchmarkTaskVaryingInitialState::_x01_n
int _x01_n
Definition: benchmark_task_varying_initial_state.h:134
task_interface.h
corbo::BenchmarkTaskVaryingInitialState::verify
bool verify(const Environment &environment, std::string *msg=nullptr) const override
Check if the environment and other settings satisfy all requirements for the given task.
Definition: benchmark_task_varying_initial_state.cpp:123
corbo::BenchmarkTaskVaryingInitialState::BenchmarkTaskVaryingInitialState
BenchmarkTaskVaryingInitialState()
Default constructor.
Definition: benchmark_task_varying_initial_state.cpp:64
FACTORY_REGISTER_TASK
#define FACTORY_REGISTER_TASK(type)
Definition: task_interface.h:139
corbo::BenchmarkTaskVaryingInitialState
BenchmarkTaskVaryingInitialState.
Definition: benchmark_task_varying_initial_state.h:68
corbo::BenchmarkTaskVaryingInitialState::_x01_end
double _x01_end
Definition: benchmark_task_varying_initial_state.h:133


control_box_rst
Author(s): Christoph Rösmann
autogenerated on Wed Mar 2 2022 00:05:37