time_series_se2.h
Go to the documentation of this file.
1 /*********************************************************************
2  *
3  * Software License Agreement
4  *
5  * Copyright (c) 2020, Christoph Rösmann, All rights reserved.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <https://www.gnu.org/licenses/>.
19  *
20  * Authors: Christoph Rösmann
21  *********************************************************************/
22 
23 #ifndef UTILS_TIME_SERIES_SE2_H_
24 #define UTILS_TIME_SERIES_SE2_H_
25 
26 #include <corbo-core/time_series.h>
27 
28 #include <Eigen/Core>
29 
30 namespace mpc_local_planner {
31 
50 class TimeSeriesSE2 : public corbo::TimeSeries
51 {
52  public:
53  using Ptr = std::shared_ptr<TimeSeriesSE2>;
54  using ConstPtr = std::shared_ptr<const TimeSeriesSE2>;
55 
57  TimeSeriesSE2() = default;
59  explicit TimeSeriesSE2(int value_dim) : TimeSeries(value_dim) {}
60 
80  Extrapolation extrapolate = Extrapolation::NoExtrapolation, double tolerance = 1e-6) const override;
81 
83  double computeMeanOverall() override;
88  void computeMeanCwise(Eigen::Ref<Eigen::VectorXd> mean_values) override;
89 };
90 
91 } // namespace mpc_local_planner
92 
93 #endif // UTILS_TIME_SERIES_SE2_H_
corbo::TimeSeries::Interpolation
Interpolation
mpc_local_planner::TimeSeriesSE2::TimeSeriesSE2
TimeSeriesSE2()=default
Default constructor.
corbo::TimeSeries::Extrapolation::NoExtrapolation
@ NoExtrapolation
mpc_local_planner::TimeSeriesSE2::getValuesInterpolate
bool getValuesInterpolate(double time, Eigen::Ref< Eigen::VectorXd > values, Interpolation interpolation=Interpolation::Linear, Extrapolation extrapolate=Extrapolation::NoExtrapolation, double tolerance=1e-6) const override
Retrieve value vector at a desired time stamp (seconds) via interpolation.
Definition: time_series_se2.cpp:54
mpc_local_planner::TimeSeriesSE2::computeMeanOverall
double computeMeanOverall() override
Compute and return the mean value of all values among all dimensions.
Definition: time_series_se2.cpp:134
mpc_local_planner::TimeSeriesSE2::computeMeanCwise
void computeMeanCwise(Eigen::Ref< Eigen::VectorXd > mean_values) override
Compute and return the component-wise mean values.
Definition: time_series_se2.cpp:140
mpc_local_planner
Definition: controller.h:44
corbo::TimeSeries::Interpolation::Linear
@ Linear
corbo::TimeSeries::Extrapolation
Extrapolation
corbo::TimeSeries::TimeSeries
TimeSeries()
time_series.h
mpc_local_planner::TimeSeriesSE2::ConstPtr
std::shared_ptr< const TimeSeriesSE2 > ConstPtr
Definition: time_series_se2.h:94
corbo::TimeSeries
Eigen::Ref
mpc_local_planner::TimeSeriesSE2::Ptr
std::shared_ptr< TimeSeriesSE2 > Ptr
Definition: time_series_se2.h:93


mpc_local_planner
Author(s): Christoph Rösmann
autogenerated on Wed Mar 2 2022 00:35:06