ros2_control - rolling
Loading...
Searching...
No Matches
sinusoid.hpp
1// Copyright (c) 2009, Willow Garage, Inc.
2//
3// Redistribution and use in source and binary forms, with or without
4// modification, are permitted provided that the following conditions are met:
5//
6// * Redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer.
8//
9// * Redistributions in binary form must reproduce the above copyright
10// notice, this list of conditions and the following disclaimer in the
11// documentation and/or other materials provided with the distribution.
12//
13// * Neither the name of the Willow Garage nor the names of its
14// contributors may be used to endorse or promote products derived from
15// this software without specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
21// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27// POSSIBILITY OF SUCH DAMAGE.
28
31#ifndef CONTROL_TOOLBOX__SINUSOID_HPP_
32#define CONTROL_TOOLBOX__SINUSOID_HPP_
33
34namespace control_toolbox
35{
45{
46public:
50 Sinusoid();
51
60 Sinusoid(double offset, double amplitude, double frequency, double phase);
61
65 virtual ~Sinusoid();
66
70 void debug();
71
80 double update(double time, double & qd, double & qdd);
81
82private:
83 double offset_;
84 double amplitude_;
85 double frequency_;
86 double phase_;
87};
88
89} // namespace control_toolbox
90
91#endif // CONTROL_TOOLBOX__SINUSOID_HPP_
A basic sine class.
Definition sinusoid.hpp:45
void debug()
Definition sinusoid.cpp:59
double update(double time, double &qd, double &qdd)
Gets the value and derivatives of the sinusoid at a given time.
Definition sinusoid.cpp:47
Sinusoid()
Constructor.
Definition sinusoid.cpp:45
virtual ~Sinusoid()
Definition sinusoid.cpp:43
Definition dither.hpp:42