liftdrag_plugin.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2014-2016 Open Source Robotics Foundation
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  *
00016 */
00017 #ifndef _GAZEBO_LIFT_DRAG_PLUGIN_HH_
00018 #define _GAZEBO_LIFT_DRAG_PLUGIN_HH_
00019 
00020 #include <string>
00021 #include <vector>
00022 
00023 #include "gazebo/common/Plugin.hh"
00024 #include "gazebo/physics/physics.hh"
00025 #include "gazebo/transport/TransportTypes.hh"
00026 
00027 namespace gazebo
00028 {
00030   class GAZEBO_VISIBLE LiftDragPlugin : public ModelPlugin
00031   {
00033     public: LiftDragPlugin();
00034 
00036     public: ~LiftDragPlugin();
00037 
00038     // Documentation Inherited.
00039     public: virtual void Load(physics::ModelPtr _model, sdf::ElementPtr _sdf);
00040 
00042     protected: virtual void OnUpdate();
00043 
00045     protected: event::ConnectionPtr updateConnection;
00046 
00048     protected: physics::WorldPtr world;
00049 
00051     protected: physics::PhysicsEnginePtr physics;
00052 
00054     protected: physics::ModelPtr model;
00055 
00059     protected: double cla;
00060 
00064     protected: double cda;
00065 
00069     protected: double cma;
00070 
00072     protected: double alphaStall;
00073 
00075     protected: double claStall;
00076 
00078     protected: double cdaStall;
00079 
00081     protected: double cmaStall;
00082 
00084     protected: double velocityStall;
00085 
00089     protected: double rho;
00090 
00095     protected: bool radialSymmetry;
00096 
00098     protected: double area;
00099 
00101     protected: double sweep;
00102 
00104     protected: double alpha0;
00105 
00107     protected: double alpha;
00108 
00110     protected: ignition::math::Vector3d cp;
00111 
00114     protected: ignition::math::Vector3d forward;
00115 
00119     protected: ignition::math::Vector3d upward;
00120 
00122     protected: ignition::math::Vector3d velSmooth;
00123 
00125     protected: physics::LinkPtr link;
00126 
00129     protected: physics::JointPtr controlJoint;
00130 
00133     protected: double controlJointRadToCL;
00134 
00136     protected: sdf::ElementPtr sdf;
00137   };
00138 }
00139 #endif


rotors_gazebo_plugins
Author(s): Fadri Furrer, Michael Burri, Mina Kamel, Janosch Nikolic, Markus Achtelik
autogenerated on Thu Apr 18 2019 02:43:43