00001 #include <gazebo/common/Plugin.hh> 00002 #include <gazebo/common/common.hh> 00003 #include <gazebo/physics/Joint.hh> 00004 #include <gazebo/physics/Model.hh> 00005 #include <ros/ros.h> 00006 using namespace gazebo; 00007 00008 class MimicPlugin : public ModelPlugin 00009 { 00010 public: 00011 MimicPlugin(); 00012 ~MimicPlugin(); 00013 void Load(physics::ModelPtr _parent, sdf::ElementPtr _sdf ); 00014 void UpdateChild(); 00015 00016 std::string mimic_joint_name_; 00017 std::string joint_name_; 00018 double multiplier_; 00019 physics::ModelPtr model_; 00020 physics::WorldPtr world_; 00021 bool kill_sim; 00022 event::ConnectionPtr updateConnection; 00023 00024 physics::JointPtr joint_; 00025 physics::JointPtr mimic_joint_; 00026 00027 };