ros2_control - jazzy
Loading...
Searching...
No Matches
control_toolbox
control_toolbox
include
control_toolbox
sine_sweep.hpp
1
// Copyright (c) 2008, Willow Garage, Inc.
2
// All rights reserved.
3
//
4
// Software License Agreement (BSD License 2.0)
5
//
6
// Redistribution and use in source and binary forms, with or without
7
// modification, are permitted provided that the following conditions
8
// are met:
9
//
10
// * Redistributions of source code must retain the above copyright
11
// notice, this list of conditions and the following disclaimer.
12
// * Redistributions in binary form must reproduce the above
13
// copyright notice, this list of conditions and the following
14
// disclaimer in the documentation and/or other materials provided
15
// with the distribution.
16
// * Neither the name of the Willow Garage nor the names of its
17
// contributors may be used to endorse or promote products derived
18
// from this software without specific prior written permission.
19
//
20
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
// POSSIBILITY OF SUCH DAMAGE.
32
33
#ifndef CONTROL_TOOLBOX__SINE_SWEEP_HPP_
34
#define CONTROL_TOOLBOX__SINE_SWEEP_HPP_
35
36
#include <rclcpp/duration.hpp>
37
38
namespace
control_toolbox
39
{
40
/***************************************************/
56
/***************************************************/
57
58
class
SineSweep
59
{
60
public
:
64
SineSweep
();
65
71
double
update
(rclcpp::Duration
dt
);
72
81
bool
init
(
double
start_freq
,
double
end_freq
,
double
duration
,
double
amplitude
);
82
83
private
:
84
double
amplitude_;
85
rclcpp::Duration duration_;
86
double
start_angular_freq_;
87
double
end_angular_freq_;
88
double
K_;
89
double
L_;
90
double
cmd_;
91
};
92
}
// namespace control_toolbox
93
94
#endif
// CONTROL_TOOLBOX__SINE_SWEEP_HPP_
control_toolbox::LowPassFilter
A Low-pass filter class.
Definition
low_pass_filter.hpp:78
control_toolbox::SineSweep
Generates a sine sweep for frequency analysis of a joint.
Definition
sine_sweep.hpp:59
control_toolbox::SineSweep::SineSweep
SineSweep()
Constructor.
Definition
sine_sweep.cpp:41
control_toolbox::SineSweep::update
double update(rclcpp::Duration dt)
Update the SineSweep loop with nonuniform time step size.
Definition
sine_sweep.cpp:79
control_toolbox::SineSweep::init
bool init(double start_freq, double end_freq, double duration, double amplitude)
Initializes everything and calculates the constants for the sweep.
Definition
sine_sweep.cpp:52
control_toolbox
Definition
dither.hpp:46
Generated by
1.9.8