17 #ifndef GAZEBO_PLUGINS_HARNESSPLUGIN_HH_
18 #define GAZEBO_PLUGINS_HARNESSPLUGIN_HH_
22 #include <ignition/transport/Node.hh>
64 public:
virtual void Init();
68 public:
void SetWinchVelocity(
const float _value);
72 public:
double WinchVelocity()
const;
76 public:
void Detach();
84 private:
void OnVelocity(ConstGzStringPtr &_msg);
88 private:
void OnDetach(ConstGzStringPtr &_msg);
93 private:
int JointIndex(
const std::string &_name)
const;
96 private: std::vector<physics::JointPtr> joints;
99 private:
int winchIndex = 0;
102 private:
int detachIndex = 0;
111 private:
float winchTargetPos = 0.0;
114 private:
float winchTargetVel = 0.0;
138 private: ignition::transport::Node nodeIgn;
Forward declarations for transport.
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:53
Information for use in an update event.
Definition: UpdateInfo.hh:30
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
boost::shared_ptr< Connection > ConnectionPtr
Definition: CommonTypes.hh:134
This plugin is designed to lower a model at a controlled rate.
Definition: HarnessPlugin.hh:52
boost::shared_ptr< Model > ModelPtr
Definition: PhysicsTypes.hh:93
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
A plugin with access to physics::Model.
Definition: Plugin.hh:260
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:58
Generic PID controller class.
Definition: PID.hh:36
static const Time Zero
A static zero time variable set to common::Time(0, 0).
Definition: Time.hh:47
A Time class, can be used to hold wall- or sim-time.
Definition: Time.hh:44