From 10a138f7fcdc5d81356a10b0b8e5a610f902aab3 Mon Sep 17 00:00:00 2001 From: Olivier Stasse <ostasse@laas.fr> Date: Wed, 9 Oct 2019 11:11:21 +0200 Subject: [PATCH] Fix SpringPlugin + add transmission to leg_{prefix}_1_joint_passive --- src/SpringPlugin.cc | 17 ++++++++++------- urdf/leg/leg_passive.urdf.xacro | 12 ++++++++++++ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/SpringPlugin.cc b/src/SpringPlugin.cc index 3b753f4..300fc2d 100644 --- a/src/SpringPlugin.cc +++ b/src/SpringPlugin.cc @@ -29,21 +29,24 @@ SpringPlugin::SpringPlugin() } ///////////////////////////////////////////////// -void SpringPlugin::Load(physics::ModelPtr _model, - sdf::ElementPtr _sdf) +void SpringPlugin::Load(physics::ModelPtr lmodel, + sdf::ElementPtr lsdf) { - this->model = _model; + this->model = lmodel; // hardcoded params for this test - this->jointExplicitName = _sdf->Get<std::string>("joint_spring"); + if (!lsdf->HasElement("joint_spring")) + ROS_ERROR_NAMED("SpringPlugin","No field joint_spring for SpringPlugin"); + else + this->jointExplicitName = lsdf->Get<std::string>("joint_spring"); - this->kpExplicit = _sdf->Get<double>("kp"); + this->kpExplicit = lsdf->Get<double>("kp"); - this->kdExplicit = _sdf->Get<double>("kd"); + this->kdExplicit = lsdf->Get<double>("kd"); ROS_INFO_NAMED("SpringPlugin", "Loading joint : %s kp: %f kd: %f", - this->jointExplicitName, + this->jointExplicitName.c_str(), this->kpExplicit, this->kdExplicit); } diff --git a/urdf/leg/leg_passive.urdf.xacro b/urdf/leg/leg_passive.urdf.xacro index 2b3f3f4..a061f15 100644 --- a/urdf/leg/leg_passive.urdf.xacro +++ b/urdf/leg/leg_passive.urdf.xacro @@ -69,6 +69,18 @@ <kd>0.0</kd> </plugin> </gazebo> + + <transmission name="leg_${prefix}_1_passive_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_${prefix}_1_motor" > + <mechanicalReduction>${reduction}</mechanicalReduction> + </actuator> + <joint name="leg_${prefix}_1_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!-- Joint hip_x (mesh link) : child link hip_y -> parent link hip_z --> <!-- <link name="leg_${prefix}_2_link_passive"> --> -- GitLab