Main Page
Namespaces
Classes
Files
File List
config
plugin
robotiq_gazebo
include
robotiq_gazebo
mimic_joint_plugin.h
Go to the documentation of this file.
1
/*********************************************************************
2
* Software License Agreement (BSD License)
3
* Copyright (c) 2014, Konstantinos Chatzilygeroudis
4
* Copyright (c) 2016, CRI Lab at Nanyang Technological University
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of the Univ of CO, Boulder 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
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*********************************************************************/
34
35
#ifndef GAZEBO_PLUGINS_MIMIC_JOINT_PLUGIN
36
#define GAZEBO_PLUGINS_MIMIC_JOINT_PLUGIN
37
38
// ROS includes
39
#include <ros/ros.h>
40
41
// ros_control
42
#include <control_toolbox/pid.h>
43
44
// Boost includes
45
#include <boost/bind.hpp>
46
47
// Gazebo includes
48
#include <gazebo/common/Plugin.hh>
49
#include <gazebo/gazebo.hh>
50
#include <gazebo/physics/physics.hh>
51
#include <gazebo/common/common.hh>
52
53
namespace
gazebo
54
{
55
class
MimicJointPlugin
:
public
ModelPlugin
56
{
57
public
:
58
MimicJointPlugin
();
59
~MimicJointPlugin
();
60
61
void
Load
(physics::ModelPtr _parent, sdf::ElementPtr _sdf);
62
void
UpdateChild
();
63
64
private
:
65
// Parameters
66
std::string
joint_name_
,
mimic_joint_name_
,
robot_namespace_
;
67
double
multiplier_
,
offset_
,
sensitiveness_
,
max_effort_
;
68
bool
has_pid_
;
69
70
bool
kill_sim
;
71
72
// PID controller if needed
73
control_toolbox::Pid
pid_
;
74
75
// Pointers to the joints
76
physics::JointPtr
joint_
,
mimic_joint_
;
77
78
// Pointer to the model
79
physics::ModelPtr
model_
;
80
81
// Pointer to the world
82
physics::WorldPtr
world_
;
83
84
// Pointer to the update event connection
85
event::ConnectionPtr
updateConnection
;
86
87
};
88
}
89
90
#endif
gazebo::MimicJointPlugin::offset_
double offset_
Definition:
mimic_joint_plugin.h:67
gazebo::MimicJointPlugin::world_
physics::WorldPtr world_
Definition:
mimic_joint_plugin.h:82
gazebo::MimicJointPlugin::sensitiveness_
double sensitiveness_
Definition:
mimic_joint_plugin.h:67
gazebo
Definition:
disable_link_plugin.h:50
gazebo::MimicJointPlugin::pid_
control_toolbox::Pid pid_
Definition:
mimic_joint_plugin.h:73
gazebo::MimicJointPlugin::joint_name_
std::string joint_name_
Definition:
mimic_joint_plugin.h:66
gazebo::MimicJointPlugin::robot_namespace_
std::string robot_namespace_
Definition:
mimic_joint_plugin.h:66
gazebo::MimicJointPlugin::kill_sim
bool kill_sim
Definition:
mimic_joint_plugin.h:70
gazebo::MimicJointPlugin::model_
physics::ModelPtr model_
Definition:
mimic_joint_plugin.h:79
gazebo::MimicJointPlugin::MimicJointPlugin
MimicJointPlugin()
Definition:
mimic_joint_plugin.cpp:40
gazebo::MimicJointPlugin::has_pid_
bool has_pid_
Definition:
mimic_joint_plugin.h:68
gazebo::MimicJointPlugin::multiplier_
double multiplier_
Definition:
mimic_joint_plugin.h:67
gazebo::MimicJointPlugin::updateConnection
event::ConnectionPtr updateConnection
Definition:
mimic_joint_plugin.h:85
gazebo::MimicJointPlugin::Load
void Load(physics::ModelPtr _parent, sdf::ElementPtr _sdf)
Definition:
mimic_joint_plugin.cpp:55
gazebo::MimicJointPlugin::UpdateChild
void UpdateChild()
Definition:
mimic_joint_plugin.cpp:168
gazebo::MimicJointPlugin::mimic_joint_name_
std::string mimic_joint_name_
Definition:
mimic_joint_plugin.h:66
gazebo::MimicJointPlugin::max_effort_
double max_effort_
Definition:
mimic_joint_plugin.h:67
gazebo::MimicJointPlugin::joint_
physics::JointPtr joint_
Definition:
mimic_joint_plugin.h:76
gazebo::MimicJointPlugin::mimic_joint_
physics::JointPtr mimic_joint_
Definition:
mimic_joint_plugin.h:76
gazebo::MimicJointPlugin::~MimicJointPlugin
~MimicJointPlugin()
Definition:
mimic_joint_plugin.cpp:48
gazebo::MimicJointPlugin
Definition:
mimic_joint_plugin.h:55
dsr_description
Author(s): Kab Kyoum Kim
, Jin Hyuk Gong
, Jeongwoo Lee
autogenerated on Sat May 18 2019 02:32:47