Main Page
Namespaces
Classes
Files
File List
File Members
ros
src
fastrack
include
fastrack
control
quadrotor_control.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018, The Regents of the University of California (Regents).
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are
7
* met:
8
*
9
* 1. Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
*
12
* 2. 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
*
17
* 3. Neither the name of the copyright holder nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS
22
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
25
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
* POSSIBILITY OF SUCH DAMAGE.
32
*
33
* Please contact the author(s) of this library if you have any questions.
34
* Authors: David Fridovich-Keil ( dfk@eecs.berkeley.edu )
35
*/
36
38
//
39
// 4D quadrotor controls as a demo control type. All controls must support
40
// functions like min and max of different control variables.
41
//
43
44
#ifndef FASTRACK_CONTROL_CONTROL_H
45
#define FASTRACK_CONTROL_CONTROL_H
46
47
#include <
fastrack/utils/types.h
>
48
#include <fastrack_msgs/Control.h>
49
50
namespace
fastrack
{
51
namespace
control {
52
53
struct
QuadrotorControl
{
54
// Pitch, roll, yaw rate, thrust.
55
double
pitch
;
56
double
roll
;
57
double
yaw_rate
;
58
double
thrust
;
59
60
// Constructors and destructor.
61
~QuadrotorControl
() {}
62
explicit
QuadrotorControl
() {}
63
explicit
QuadrotorControl
(
double
p,
double
r,
double
yr,
double
t)
64
: pitch(p),
65
roll(r),
66
yaw_rate(yr),
67
thrust(t) {}
68
69
// Convert to ROS message. Assume ordering [pitch, roll, yaw_rate, thrust].
70
// NOTE! Set priority to 1 by default.
71
inline
fastrack_msgs::Control
ToRos
(
double
priority=1.0) {
72
fastrack_msgs::Control msg;
73
msg.u.push_back(pitch);
74
msg.u.push_back(roll);
75
msg.u.push_back(yaw_rate);
76
msg.u.push_back(thrust);
77
msg.priority = priority;
78
79
// std::cout << "optimal control (pitch, roll, yr, thrust)" << pitch << ", " << roll << ", " << yaw_
80
// rate << ", " << thrust << std::endl;
81
82
return
msg;
83
}
84
};
//\struct QuadrotorControl
85
86
}
//\namespace control
87
}
//\namespace fastrack
88
89
#endif
fastrack::control::QuadrotorControl::QuadrotorControl
QuadrotorControl()
Definition:
quadrotor_control.h:62
types.h
fastrack::control::QuadrotorControl::roll
double roll
Definition:
quadrotor_control.h:56
fastrack::control::QuadrotorControl::thrust
double thrust
Definition:
quadrotor_control.h:58
fastrack
Definition:
box.h:53
fastrack::control::QuadrotorControl
Definition:
quadrotor_control.h:53
fastrack::control::QuadrotorControl::QuadrotorControl
QuadrotorControl(double p, double r, double yr, double t)
Definition:
quadrotor_control.h:63
fastrack::control::QuadrotorControl::yaw_rate
double yaw_rate
Definition:
quadrotor_control.h:57
fastrack::control::QuadrotorControl::~QuadrotorControl
~QuadrotorControl()
Definition:
quadrotor_control.h:61
fastrack::control::QuadrotorControl::ToRos
fastrack_msgs::Control ToRos(double priority=1.0)
Definition:
quadrotor_control.h:71
fastrack::control::QuadrotorControl::pitch
double pitch
Definition:
quadrotor_control.h:55
fastrack
Author(s): David Fridovich-Keil
autogenerated on Mon Aug 3 2020 21:28:37