Quantcast
Channel: Gazebo: Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 7017

how to rotate joint like a drill?

$
0
0
So I have a mobile rover, with a drill attached to it as a joint. I'm trying to make a plugin that will rotate the drill. But I'm having trouble figuring out how to properly rotate the drill. Here's my current code for the plugin: #ifndef _VELODYNE_PLUGIN_HH_ #define _VELODYNE_PLUGIN_HH_ #include #include namespace gazebo { /// \brief A plugin to control a Velodyne sensor. class VelodynePlugin : public ModelPlugin { /// \brief Constructor public: VelodynePlugin() {} /// \brief The load function is called by Gazebo when the plugin is /// inserted into simulation /// \param[in] _model A pointer to the model that this plugin is /// attached to. /// \param[in] _sdf A pointer to the plugin's SDF element. public: virtual void Load(physics::ModelPtr _model, sdf::ElementPtr _sdf) { // Safety check if (_model->GetJointCount() == 0) { std::cerr << "Invalid joint count, Velodyne plugin not loaded\n"; return; } // Store the model pointer for convenience. this->model = _model; // Get the first joint. We are making an assumption about the model // having one joint that is the rotational joint. this->joint = _model->GetJoints()[0]; // Setup a P-controller, with a gain of 0.1. this->pid = common::PID(0.1, 0, 0); // Apply the P-controller to the joint. this->model->GetJointController()->SetVelocityPID( this->joint->GetScopedName(), this->pid); // Set the joint's target velocity. This target velocity is just // for demonstration purposes. this->model->GetJointController()->SetVelocityTarget( this->joint->GetScopedName(), 10.0); } /// \brief Pointer to the model. private: physics::ModelPtr model; /// \brief Pointer to the joint. private: physics::JointPtr joint; /// \brief A PID controller for the joint. private: common::PID pid; }; // Tell Gazebo about this plugin, so that Gazebo can call Load on this plugin. GZ_REGISTER_MODEL_PLUGIN(VelodynePlugin) } #endif it's the code from one of the gazebo tutorial pages. If anybody knows what I could be doing wrong and make the joint rotate as a drill should, that would be most helpful.

Viewing all articles
Browse latest Browse all 7017

Trending Articles