Skip to content

Instantly share code, notes, and snippets.

@scpeters
Created April 13, 2017 00:41
Show Gist options
  • Save scpeters/abec69632d4a83f836b6128d8b52456d to your computer and use it in GitHub Desktop.
Save scpeters/abec69632d4a83f836b6128d8b52456d to your computer and use it in GitHub Desktop.
<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- | This document was autogenerated by xacro from /home/docker/ws/src/val_description/model/robots/valkyrie_sim_gazebo_sync.xacro | -->
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
<!-- =================================================================================== -->
<robot name="valkyrie" xmlns:xacro="http://ros.org/wiki/xacro">
<gazebo>
<plugin filename="libval_gazebo.so" name="SharedMemorySimInterfacePlugin">
<robotNamespace>/val</robotNamespace>
<updateRateHz>500.0</updateRateHz>
</plugin>
</gazebo>
<schedule_topic_creator_file package="val_gazebo" relative_file_path="/configuration/valkyrie_sim_shm_topics.yaml"/>
<!--Yaw-->
<!--pitch-->
<!--roll-->
<!-- Head Link Simple Collision Meshes -->
<link name="head">
<inertial>
<origin rpy="0 0 0" xyz="-0.075493 3.3383E-05 0.02774"/>
<mass value="1.41984"/>
<inertia ixx="0.0039688" ixy="-1.5797E-06" ixz="-0.00089293" iyy="0.0041178" iyz="-6.8415E-07" izz="0.0035243"/>
</inertial>
<!-- <visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://val_description/model/meshes/multisense/head.dae" />
</geometry>
<material name="">
<color rgba="0.9098 0.44314 0.031373 1" />
</material>
</visual> -->
<collision>
<origin rpy="0 0 0" xyz="-0.0503 0 -0.00195"/>
<geometry>
<box size="0.1311 0.12 0.0591"/>
</geometry>
</collision>
<collision>
<origin rpy="0 0 0" xyz="-0.093 0 0.0868"/>
<geometry>
<box size="0.0468 0.12 0.1184"/>
</geometry>
</collision>
</link>
<link name="hokuyo_link">
<inertial>
<origin rpy="0 0 0" xyz="0.032428 0.0004084 -0.0041835"/>
<mass value="0.057654"/>
<inertia ixx="3.7174E-05" ixy="4.9927E-08" ixz="1.1015E-05" iyy="4.2412E-05" iyz="-9.8165E-09" izz="4.167E-05"/>
</inertial>
<visual>
<!--origin xyz="0.065774 -0.001163 -0.08809" rpy="0 0 0" /-->
<!--origin xyz="0.045 -0.001163 -0.08809" rpy="-0.314 0 0" /-->
<origin rpy="-0.314 0 0" xyz="0.045 -0.0261018277 -0.08342369"/>
<geometry>
<mesh filename="package://val_description/model/meshes/multisense/head_camera.dae"/>
</geometry>
<material name="">
<color rgba="0.72941 0.35686 0.023529 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0.01885 0 -0.02119"/>
<geometry>
<box size="0.08 0.06 0.04238"/>
</geometry>
</collision>
<collision>
<origin rpy="0 0 0" xyz="0.03 0 0.0235"/>
<geometry>
<cylinder length="0.047" radius="0.024425"/>
</geometry>
</collision>
</link>
<gazebo reference="head">
<mu1>0.9</mu1>
<mu2>0.9</mu2>
</gazebo>
<gazebo reference="hokuyo_link">
<mu1>0.9</mu1>
<mu2>0.9</mu2>
</gazebo>
<joint name="hokuyo_joint" type="continuous">
<origin rpy="0 0 0" xyz="-0.0446 0 0.0880"/>
<parent link="head"/>
<child link="hokuyo_link"/>
<axis xyz="1 0 0"/>
<dynamics damping="0.01" friction="0"/>
</joint>
<gazebo reference="hokuyo_joint">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<!-- Hokuyo Laser -->
<joint name="head_hokuyo_joint" type="fixed">
<axis xyz="0 1 0"/>
<origin rpy="0 0 0" xyz="0.03 0 0.015"/>
<parent link="hokuyo_link"/>
<child link="head_hokuyo_frame"/>
</joint>
<link name="head_hokuyo_frame">
<inertial>
<mass value="1e-5"/>
<!-- collocate with parent link and remove mass from it -->
<origin rpy="0 0 0" xyz="0.042428 0.0004084 0.0108165"/>
<inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
</inertial>
</link>
<gazebo reference="head_hokuyo_frame">
<sensor name="head_hokuyo_sensor" type="gpu_ray">
<pose>0 0 0 0 0 0</pose>
<visualize>false</visualize>
<update_rate>40</update_rate>
<ray>
<scan>
<horizontal>
<samples>1081</samples>
<resolution>1</resolution>
<min_angle>-2.356194</min_angle>
<max_angle>2.356194</max_angle>
</horizontal>
</scan>
<range>
<min>0.10</min>
<max>30.0</max>
<resolution>0.01</resolution>
</range>
<noise>
<type>gaussian</type>
<!-- Noise parameters based on published spec for Hokuyo laser
achieving "+-30mm" accuracy at range < 10m. A mean of 0.0m and
stddev of 0.01m will put 99.7% of samples within 0.03m of the true
reading. -->
<mean>0.0</mean>
<stddev>0.01</stddev>
</noise>
</ray>
<plugin filename="libgazebo_ros_gpu_laser.so" name="gazebo_ros_head_hokuyo_controller">
<topicName>/multisense/lidar_scan</topicName>
<frameName>head_hokuyo_frame</frameName>
</plugin>
</sensor>
</gazebo>
<!-- Stereo Camera -->
<joint name="left_camera_frame_joint" type="fixed">
<!-- optical frame collocated with tilting DOF -->
<origin xyz="0.0 0.035 -0.002"/>
<parent link="head"/>
<child link="left_camera_frame"/>
</joint>
<link name="left_camera_frame">
<inertial>
<mass value="1e-5"/>
<!-- collocate with parent link and remove mass from it -->
<origin xyz="-0.075493 0.035033383 0.02574"/>
<inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
</inertial>
</link>
<joint name="left_camera_optical_frame_joint" type="fixed">
<origin rpy="-1.5708 0.0 -1.5708" xyz="0 0 0"/>
<parent link="left_camera_frame"/>
<child link="left_camera_optical_frame"/>
</joint>
<link name="left_camera_optical_frame"/>
<gazebo reference="left_camera_frame">
<sensor name="stereo_camera" type="multicamera">
<!-- see MultiSenseSLPlugin.h for available modes -->
<update_rate>10.0</update_rate>
<camera name="left">
<!-- Spec sheet says 80deg X 45deg @ 1024x544pix. Based on feedback
from teams, we're instead doing 80deg X 80deg @ 800x800pix. -->
<horizontal_fov>1.3962634</horizontal_fov>
<image>
<width>1024</width>
<height>544</height>
<format>R8G8B8</format>
</image>
<clip>
<near>0.02</near>
<far>300</far>
</clip>
<noise>
<type>gaussian</type>
<!-- Noise is sampled independently per pixel on each frame.
That pixel's noise value is added to each of its color
channels, which at that point lie in the range [0,1].
The stddev value of 0.007 is based on experimental data
from a camera in a Sandia hand pointed at a static scene
in a couple of different lighting conditions. -->
<mean>0.0</mean>
<stddev>0.007</stddev>
</noise>
</camera>
<camera name="right">
<pose>0 -0.07 0 0 0 0</pose>
<!-- Spec sheet says 80deg X 45deg @ 1024x544pix. -->
<horizontal_fov>1.3962634</horizontal_fov>
<image>
<width>1024</width>
<height>544</height>
<format>R8G8B8</format>
</image>
<clip>
<near>0.02</near>
<far>300</far>
</clip>
<noise>
<type>gaussian</type>
<!-- Noise is sampled independently per pixel on each frame.
That pixel's noise value is added to each of its color
channels, which at that point lie in the range [0,1].
The stddev value of 0.007 is based on experimental data
from a camera in a Sandia hand pointed at a static scene
in a couple of different lighting conditions. -->
<mean>0.0</mean>
<stddev>0.007</stddev>
</noise>
</camera>
<plugin filename="libgazebo_ros_multicamera.so" name="stereo_camera_controller">
<alwaysOn>true</alwaysOn>
<updateRate>0.0</updateRate>
<cameraName>multisense/camera</cameraName>
<imageTopicName>image_raw</imageTopicName>
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
<frameName>left_camera_optical_frame</frameName>
<!--<rightFrameName>right_camera_optical_frame</rightFrameName>-->
<hackBaseline>0.07</hackBaseline>
<distortionK1>0.0</distortionK1>
<distortionK2>0.0</distortionK2>
<distortionK3>0.0</distortionK3>
<distortionT1>0.0</distortionT1>
<distortionT2>0.0</distortionT2>
</plugin>
</sensor>
</gazebo>
<joint name="right_camera_frame_joint" type="fixed">
<origin xyz="0.0 -0.035 -0.002"/>
<parent link="head"/>
<child link="right_camera_frame"/>
</joint>
<link name="right_camera_frame">
<inertial>
<mass value="1e-5"/>
<!-- collocate with parent link and remove mass from it -->
<origin xyz="-0.075493 -0.034966617 0.02574"/>
<inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
</inertial>
</link>
<joint name="right_camera_optical_frame_joint" type="fixed">
<origin rpy="-1.5708 0.0 -1.5708" xyz="0 0 0"/>
<parent link="right_camera_frame"/>
<child link="right_camera_optical_frame"/>
</joint>
<link name="right_camera_optical_frame"/>
<joint name="center_top_led_frame_joint" type="fixed">
<origin xyz="0.01125 0.0 0.0105"/>
<parent link="head"/>
<child link="center_top_led_frame"/>
</joint>
<link name="center_top_led_frame">
<inertial>
<mass value="1e-5"/>
<!-- collocate with parent link and remove mass from it -->
<origin rpy="0 0 0" xyz="-0.064243 0.000033383 0.03824"/>
<inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
</inertial>
</link>
<joint name="center_bottom_led_frame_joint" type="fixed">
<origin xyz="0.01125 0.0 -0.0155"/>
<parent link="head"/>
<child link="center_bottom_led_frame"/>
</joint>
<link name="center_bottom_led_frame">
<inertial>
<mass value="1e-5"/>
<!-- collocate with parent link and remove mass from it -->
<origin rpy="0 0 0" xyz="-0.064243 0.000033383 0.01224"/>
<inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
</inertial>
</link>
<joint name="left_led_frame_joint" type="fixed">
<origin rpy="0 -0.15 0.53" xyz="-0.01443 0.07452 0.050346"/>
<parent link="head"/>
<child link="left_led_frame"/>
</joint>
<link name="left_led_frame">
<inertial>
<mass value="1e-5"/>
<!-- collocate with parent link and remove mass from it -->
<origin rpy="0 -0.15 0.53" xyz="-0.089923 0.074553383 0.078086"/>
<inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
</inertial>
</link>
<joint name="right_led_frame_joint" type="fixed">
<origin rpy="0 -0.15 -0.53" xyz="-0.01443 -0.07452 0.050346"/>
<parent link="head"/>
<child link="right_led_frame"/>
</joint>
<link name="right_led_frame">
<inertial>
<mass value="1e-5"/>
<!-- collocate with parent link and remove mass from it -->
<origin rpy="0 -0.15 -0.53" xyz="-0.089923 -0.074486617 0.07908"/>
<inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
</inertial>
</link>
<gazebo>
<plugin filename="libSRCMultiSenseSLPlugin.so" name="multisense_plugin"/>
</gazebo>
<!-- imu link -->
<link name="head_imu_link">
<inertial>
<mass value="1e-5"/>
<!-- collocate with parent link and remove mass from it -->
<origin rpy="0 0 0" xyz="-0.122993 0.035033383 0.02774"/>
<inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<box size="0.01 0.01 0.01"/>
</geometry>
</visual>
</link>
<joint name="head_imu_joint" type="fixed">
<parent link="head"/>
<child link="head_imu_link"/>
<!-- putting it at the same z-level as the stereo -->
<origin rpy="0 0 0" xyz="-0.0475 0.035 0.0"/>
</joint>
<gazebo reference="head_imu_link">
<!-- this is expected to be reparented to head with appropriate offset
when head_imu_link is reduced by fixed joint reduction -->
<!-- todo: this is working with gazebo 1.4, need to write a unit test -->
<sensor name="head_imu_sensor" type="imu">
<always_on>1</always_on>
<update_rate>1000.0</update_rate>
<imu>
<noise>
<type>gaussian</type>
<!-- Noise parameters from Boston Dynamics
(http://gazebosim.org/wiki/Sensor_noise):
rates (rad/s): mean=0, stddev=2e-4
accels (m/s/s): mean=0, stddev=1.7e-2
rate bias (rad/s): 5e-6 - 1e-5
accel bias (m/s/s): 1e-1
Experimentally, simulation provide rates with noise of
about 1e-3 rad/s and accels with noise of about 1e-1 m/s/s.
So we don't expect to see the noise unless number of inner iterations
are increased.
We will add bias. In this model, bias is sampled once for rates
and once for accels at startup; the sign (negative or positive)
of each bias is then switched with equal probability. Thereafter,
the biases are fixed additive offsets. We choose
bias means and stddevs to produce biases close to the provided
data. -->
<rate>
<mean>0.0</mean>
<stddev>2e-4</stddev>
<bias_mean>0.0000075</bias_mean>
<bias_stddev>0.0000008</bias_stddev>
</rate>
<accel>
<mean>0.0</mean>
<stddev>1.7e-2</stddev>
<bias_mean>0.1</bias_mean>
<bias_stddev>0.001</bias_stddev>
</accel>
</noise>
</imu>
</sensor>
</gazebo>
<!-- Pulley-1 diameter = 0.01707m -->
<!-- Pulley-2 diameter = 0.0127m -->
<!-- Pulley-3 diameter = 0.01016 -->
<!-- Pulley-1 diameter = 0.01707m -->
<!-- Pulley-2 diameter = 0.0127m -->
<!-- Pulley-3 diameter = 0.01016 -->
<!-- Pulley-1 diameter = 0.01707m -->
<!-- Pulley-2 diameter = 0.0127m -->
<!-- Pulley-3 diameter = 0.01016 -->
<!-- Pulley-1 diameter = 0.01707m -->
<!-- Pulley-2 diameter = 0.0127m -->
<!-- Pulley-3 diameter = 0.01016 -->
<!-- Pelvis include -->
<!-- Leg include -->
<!-- Head include -->
<!-- Arm include -->
<!-- Waist include -->
<!-- Base xacro file that calls macros from included files above -->
<link name="pelvis">
<inertial>
<mass value="8.22"/>
<origin rpy="0 0 0" xyz="-0.00532 -0.003512 -0.0036"/>
<inertia ixx="0.11866378" ixy="-0.000143482" ixz="0.003271293" iyy="0.097963425" iyz="0.002159545" izz="0.083854638"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/pelvis/pelvis.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/pelvis/pelvis.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="torsoYawLink">
<inertial>
<mass value="0.5"/>
<origin rpy="0 0 0" xyz="0.000000 0.000000 -0.010000"/>
<inertia ixx="0.000608427" ixy="-1.172e-06" ixz="1.647e-06" iyy="0.000620328" iyz="-2.33e-07" izz="0.001078108"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/torso/torsoyaw.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/torso/torsoyaw.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="torsoPitchLink">
<inertial>
<mass value="0.1"/>
<origin rpy="0 0 0" xyz="0.000000 0.000000 0.005000"/>
<inertia ixx="3.032e-05" ixy="0.0" ixz="-1.145e-06" iyy="2.1274e-05" iyz="0.0" izz="2.8285e-05"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/torso/torsopitch.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/torso/torsopitch.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="torso">
<inertial>
<mass value="39.47"/>
<origin rpy="0 0 0" xyz="-0.095548 -0.003337 0.243098"/>
<inertia ixx="0.87326933" ixy="9.9563e-05" ixz="0.061345211" iyy="1.0108485" iyz="0.00181849" izz="0.77839801"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/torso/torso.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/torso/torso.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<joint name="torsoYaw" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<axis xyz="0 0 1"/>
<parent link="pelvis"/>
<child link="torsoYawLink"/>
<limit effort="190" lower="-1.329" upper="1.181" velocity="5.89"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="torsoYaw">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="torsoPitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.04191 0.0 0.0"/>
<axis xyz="0 1 0"/>
<parent link="torsoYawLink"/>
<child link="torsoPitchLink"/>
<limit effort="150" lower="-0.13" upper="0.666" velocity="9"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="torsoPitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="torsoRoll" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0203"/>
<axis xyz="1 0 0"/>
<parent link="torsoPitchLink"/>
<child link="torso"/>
<limit effort="150" lower="-0.23" upper="0.255" velocity="9"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="torsoRoll">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="lowerNeckPitchLink">
<inertial>
<mass value="1.05"/>
<origin rpy="0 0 0" xyz="-0.020000 0.000000 0.040000"/>
<inertia ixx="0.001470716" ixy="-0.000126021" ixz="0.000632521" iyy="0.001851919" iyz="0.000243012" izz="0.000832117"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/head/neckj1.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/head/neckj1.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="neckYawLink">
<inertial>
<mass value="1.4"/>
<origin rpy="0 0 0" xyz="-0.030000 -0.010000 0.150000"/>
<inertia ixx="0.001997698" ixy="-0.000180062" ixz="0.000723677" iyy="0.002919928" iyz="0.000246467" izz="0.002119751"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/head/neckj2.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/head/neckj2.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="upperNeckPitchLink">
<inertial>
<mass value="3.89"/>
<origin rpy="0 0 0" xyz="0.100912 0.005783 0.034787"/>
<inertia ixx="0.039847525" ixy="-0.000470418" ixz="-0.002829842" iyy="0.041418564" iyz="-0.000782564" izz="0.036841236"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/head/head_multisense_no_visor.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/head/head_multisense_no_visor.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<joint name="lowerNeckPitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0203518 0.0 0.33845"/>
<axis xyz="0 1 0"/>
<parent link="torso"/>
<child link="lowerNeckPitchLink"/>
<limit effort="26" lower="0" upper="1.162" velocity="5"/>
<controller_gains Kd="0" Ki="0" Kp="150"/>
<dynamics damping="10" friction="0.0"/>
</joint>
<gazebo reference="lowerNeckPitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="neckYaw" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="-0.051924 0.0 0.0"/>
<axis xyz="0 0 1"/>
<parent link="lowerNeckPitchLink"/>
<child link="neckYawLink"/>
<limit effort="26" lower="-1.04719755" upper="1.04719755" velocity="5"/>
<controller_gains Kd="3" Ki="0.0" Kp="50"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="neckYaw">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="upperNeckPitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="-0.06 0 0.195997"/>
<axis xyz="0 1 0"/>
<parent link="neckYawLink"/>
<child link="upperNeckPitchLink"/>
<limit effort="26" lower="-0.872" upper="0.0" velocity="5"/>
<controller_gains Kd="3" Ki="0.0" Kp="50"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="upperNeckPitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="rightShoulderPitchLink">
<inertial>
<mass value="2.65"/>
<origin rpy="0 0 0" xyz="0.012 -0.251 0.000000"/>
<inertia ixx="0.013718167" ixy="0.0" ixz="0.0" iyy="0.010502833" iyz="0.0" izz="0.014806433"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj1_right.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj1_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="rightShoulderRollLink">
<inertial>
<mass value="3.97"/>
<origin rpy="0 0 0" xyz="0.008513 -0.02068 -0.001088"/>
<inertia ixx="0.014598842" ixy="-0.00066764" ixz="3.629e-05" iyy="0.006452136" iyz="8.283e-05" izz="0.016848319"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj2_right.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj2_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="rightShoulderYawLink">
<inertial>
<mass value="3.085"/>
<origin rpy="0 0 0" xyz="-0.004304 -0.209832 -0.007295"/>
<inertia ixx="0.039355177" ixy="0.007827077" ixz="0.000753947" iyy="0.004905765" iyz="-0.002723873" izz="0.041879481"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj3_right.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj3_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="rightElbowPitchLink">
<inertial>
<mass value="1.83"/>
<origin rpy="0 0 0" xyz="-0.020344 -0.014722 -0.0223"/>
<inertia ixx="0.003314516" ixy="-0.000535099" ixz="-0.000728077" iyy="0.003505669" iyz="-0.000423865" izz="0.003011283"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj4_right.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj4_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<joint name="rightShoulderPitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="-0.0316 0.0 0.2984"/>
<axis xyz="0 1 0"/>
<parent link="torso"/>
<child link="rightShoulderPitchLink"/>
<limit effort="190" lower="-2.85" upper="2.0" velocity="5.89"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="rightShoulderPitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightShoulderRoll" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.2499 0.0"/>
<axis xyz="1 0 0"/>
<parent link="rightShoulderPitchLink"/>
<child link="rightShoulderRollLink"/>
<limit effort="190" lower="-1.266" upper="1.519" velocity="5.89"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="rightShoulderRoll">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightShoulderYaw" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<axis xyz="0 1 0"/>
<parent link="rightShoulderRollLink"/>
<child link="rightShoulderYawLink"/>
<limit effort="65" lower="-3.1" upper="2.18" velocity="11.5"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="rightShoulderYaw">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightElbowPitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0254 -0.33 0.0"/>
<axis xyz="0 0 1"/>
<parent link="rightShoulderYawLink"/>
<child link="rightElbowPitchLink"/>
<limit effort="65" lower="-0.12" upper="2.174" velocity="11.5"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="rightElbowPitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="rightForearmLink">
<inertial>
<mass value="2.476"/>
<origin rpy="0 0 0" xyz="0.015000 -0.13 0.019564"/>
<inertia ixx="0.01175543" ixy="-0.001300853" ixz="-0.000727141" iyy="0.005071567" iyz="-0.001695416" izz="0.011365657"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj5_right.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj5_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="rightWristRollLink">
<inertial>
<mass value="0.14"/>
<origin rpy="0 0 0" xyz="0 -0.0 0"/>
<inertia ixx="3.0251e-05" ixy="-1.25e-07" ixz="-3.6e-08" iyy="3.772e-05" iyz="0.0" izz="9.395e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj6_right.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj6_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="rightPalm">
<inertial>
<mass value="0.712"/>
<origin rpy="0 0 0" xyz="0.002954 -0.052034 -0.000236"/>
<inertia ixx="0.000943493" ixy="3.4393e-05" ixz="-3.8828e-05" iyy="0.000711024" iyz="2.3429e-05" izz="0.000610199"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/palm_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.02 0.085 0.09"/>
</geometry>
<origin rpy="0.1 0.0 0.1" xyz="-0.023 -0.06 -0.011"/>
</collision>
<collision>
<geometry>
<box size="0.03 0.03 0.09"/>
</geometry>
<origin rpy="0.1 0.0 0.05" xyz="0.001 -0.06 -0.011"/>
</collision>
<collision>
<geometry>
<box size="0.032 0.03 0.055"/>
</geometry>
<origin rpy="0.1 0.0 0.05" xyz="0.001 -0.03 -0.02"/>
</collision>
</link>
<gazebo reference="rightPalm">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<joint name="rightForearmYaw" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="-0.0254 0 0"/>
<axis xyz="0 1 0"/>
<parent link="rightElbowPitchLink"/>
<child link="rightForearmLink"/>
<limit effort="26" lower="-2.019" upper="3.14" velocity="5"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="1000"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="rightForearmYaw">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightWristRoll" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.2871 0.0"/>
<axis xyz="1 0 0"/>
<parent link="rightForearmLink"/>
<child link="rightWristRollLink"/>
<limit effort="14" lower="-0.625" upper="0.62" velocity="1"/>
<controller_gains Kd="0" Ki="0.0" Kp="500"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="rightWristRoll">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightWristPitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<axis xyz="0 0 1"/>
<parent link="rightWristRollLink"/>
<child link="rightPalm"/>
<limit effort="14" lower="-0.49" upper="0.36" velocity="1"/>
<controller_gains Kd="0" Ki="0.0" Kp="500"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="rightWristPitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="rightThumbRollLink">
<inertial>
<mass value="0.017"/>
<origin rpy="0 0 0" xyz="0 -0.0 0.01"/>
<inertia ixx="2.7778767e-06" ixy="5.6718533e-09" ixz="-9.5523207e-08" iyy="3.5462642e-06" iyz="3.663718e-08" izz="1.3553297e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/thumbj1_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.022 0.01 0.039"/>
</geometry>
<origin rpy="-0.0 0.0 0.0" xyz="-0.0004 -0.0 0.01"/>
</collision>
</link>
<gazebo reference="rightThumbRollLink">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="rightThumbPitch1Link">
<inertial>
<mass value="0.02"/>
<origin rpy="0 0 0" xyz="0.0 -0.005 0.02"/>
<inertia ixx="4.239e-06" ixy="0.0" ixz="-0.0" iyy="4.582e-06" iyz="0.0" izz="1.47e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/thumbj2_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.022 0.011 0.035"/>
</geometry>
<origin rpy="0.26 0.0 0.0" xyz="-0.0004 -0.003 0.025"/>
</collision>
</link>
<gazebo reference="rightThumbPitch1Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="rightThumbPitch2Link">
<inertial>
<mass value="0.013"/>
<origin rpy="0 0 0" xyz="0 -0.004 0.017"/>
<inertia ixx="1.266e-06" ixy="0.0" ixz="-0.0" iyy="1.503e-06" iyz="-0.0" izz="6.99e-07"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/thumbj3_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.02 0.008 0.022"/>
</geometry>
<origin rpy="0.26 0.0 0.0" xyz="-0.0004 -0.002 0.018"/>
</collision>
</link>
<gazebo reference="rightThumbPitch2Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="rightThumbPitch3Link">
<inertial>
<mass value="0.006"/>
<origin rpy="0 0 0" xyz="0 -0.004 0.01"/>
<inertia ixx="3.22e-07" ixy="0.0" ixz="0.0" iyy="4.06e-07" iyz="0.0" izz="2.1e-07"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/thumbj4_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.016 0.01 0.017"/>
</geometry>
<origin rpy="-0.02 0.0 0.0" xyz="0.0 -0.003 0.013"/>
</collision>
</link>
<gazebo reference="rightThumbPitch3Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<joint name="rightThumbRoll" type="revolute">
<origin rpy="0.3491 0.0 0.0" xyz="0.0049 -0.0351 0.0228"/>
<axis xyz="0 1 0"/>
<parent link="rightPalm"/>
<child link="rightThumbRollLink"/>
<limit effort="10" lower="0.0" upper="2.356" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightThumbRoll">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightThumbPitch1" type="revolute">
<origin rpy="-0.3491 0.0 0.0" xyz="0.0 0.0 0.0229"/>
<axis xyz="1 0 0"/>
<parent link="rightThumbRollLink"/>
<child link="rightThumbPitch1Link"/>
<limit effort="10" lower="0.0" upper="1.658" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightThumbPitch1">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightThumbPitch2" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.0066 0.0375"/>
<axis xyz="1 0 0"/>
<parent link="rightThumbPitch1Link"/>
<child link="rightThumbPitch2Link"/>
<limit effort="10" lower="0.0" upper="1.92" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightThumbPitch2">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightThumbPitch3" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.0049 0.0275"/>
<axis xyz="1 0 0"/>
<parent link="rightThumbPitch2Link"/>
<child link="rightThumbPitch3Link"/>
<limit effort="10" lower="0.0" upper="1.57" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightThumbPitch3">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="rightIndexFingerPitch1Link">
<inertial>
<mass value="0.02"/>
<origin rpy="0 0 0" xyz="0 -0.02 0"/>
<inertia ixx="4.232e-06" ixy="-6e-08" ixz="-8e-09" iyy="1.215e-06" iyz="-7e-09" izz="3.892e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/indexj1_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.011 0.045 0.022"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.0004 -0.015 0.0"/>
</collision>
</link>
<gazebo reference="rightIndexFingerPitch1Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="rightIndexFingerPitch2Link">
<inertial>
<mass value="0.018"/>
<origin rpy="0 0 0" xyz="0 -0.013 0"/>
<inertia ixx="1.562e-06" ixy="-1.7e-08" ixz="-1.3e-08" iyy="7.22e-07" iyz="3.1e-08" izz="1.255e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/indexj2_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.01 0.02 0.02"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.001 -0.012 0.0"/>
</collision>
</link>
<gazebo reference="rightIndexFingerPitch2Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="rightIndexFingerPitch3Link">
<inertial>
<mass value="0.01"/>
<origin rpy="0 0 0" xyz="0 -0.01 0"/>
<inertia ixx="6.02e-07" ixy="-2.4e-08" ixz="0.0" iyy="2.09e-07" iyz="1.7e-08" izz="5.02e-07"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/indexj3_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.01 0.02 0.016"/>
</geometry>
<origin rpy="0.0 0.0 -0.3" xyz="0.0 -0.012 0.0"/>
</collision>
</link>
<gazebo reference="rightIndexFingerPitch3Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<joint name="rightIndexFingerPitch1" type="revolute">
<origin rpy="-0.1745 0.0 0.0" xyz="0.0022 -0.0976 0.0235"/>
<axis xyz="0 0 1"/>
<parent link="rightPalm"/>
<child link="rightIndexFingerPitch1Link"/>
<limit effort="10" lower="0.0" upper="1.57" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightIndexFingerPitch1">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightIndexFingerPitch2" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.0381 0.0"/>
<axis xyz="0 0 1"/>
<parent link="rightIndexFingerPitch1Link"/>
<child link="rightIndexFingerPitch2Link"/>
<limit effort="10" lower="0.0" upper="1.658" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightIndexFingerPitch2">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightIndexFingerPitch3" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.0229 0"/>
<axis xyz="0 0 1"/>
<parent link="rightIndexFingerPitch2Link"/>
<child link="rightIndexFingerPitch3Link"/>
<limit effort="10" lower="0.0" upper="1.92" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightIndexFingerPitch3">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="rightMiddleFingerPitch1Link">
<inertial>
<mass value="0.02"/>
<origin rpy="0 0 0" xyz="0 -0.02 0"/>
<inertia ixx="5.148e-06" ixy="-4.2e-08" ixz="-1.1e-08" iyy="1.322e-06" iyz="-4e-09" izz="4.592e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/middlej1_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.011 0.045 0.022"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.0004 -0.015 0.0"/>
</collision>
</link>
<gazebo reference="rightMiddleFingerPitch1Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="rightMiddleFingerPitch2Link">
<inertial>
<mass value="0.011"/>
<origin rpy="0 0 0" xyz="0 -0.013 0"/>
<inertia ixx="1.97e-06" ixy="3.4e-08" ixz="-1.1e-08" iyy="5.54e-07" iyz="-7.8e-08" izz="2.272e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/middlej2_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.01 0.02 0.02"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.001 -0.012 0.0"/>
</collision>
</link>
<gazebo reference="rightMiddleFingerPitch2Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="rightMiddleFingerPitch3Link">
<inertial>
<mass value="0.006"/>
<origin rpy="0 0 0" xyz="0 -0.01 0"/>
<inertia ixx="3.96e-07" ixy="-9e-09" ixz="-1e-09" iyy="1.6e-07" iyz="1.6e-08" izz="3.03e-07"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/middlej3_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.01 0.02 0.016"/>
</geometry>
<origin rpy="0.0 0.0 -0.3" xyz="0.0 -0.012 0.0"/>
</collision>
</link>
<gazebo reference="rightMiddleFingerPitch3Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<joint name="rightMiddleFingerPitch1" type="revolute">
<origin rpy="0.1222 0.0 0.0" xyz="0.0022 -0.097 -0.0119"/>
<axis xyz="0 0 1"/>
<parent link="rightPalm"/>
<child link="rightMiddleFingerPitch1Link"/>
<limit effort="10" lower="0.0" upper="1.658" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightMiddleFingerPitch1">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightMiddleFingerPitch2" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.0381 0.0"/>
<axis xyz="0 0 1"/>
<parent link="rightMiddleFingerPitch1Link"/>
<child link="rightMiddleFingerPitch2Link"/>
<limit effort="10" lower="0.0" upper="1.92" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightMiddleFingerPitch2">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightMiddleFingerPitch3" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.0229 0.0"/>
<axis xyz="0 0 1"/>
<parent link="rightMiddleFingerPitch2Link"/>
<child link="rightMiddleFingerPitch3Link"/>
<limit effort="10" lower="0.0" upper="1.57" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightMiddleFingerPitch3">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="rightPinkyPitch1Link">
<inertial>
<mass value="0.02"/>
<origin rpy="0 0 0" xyz="0 -0.02 0"/>
<inertia ixx="5.148e-06" ixy="-4.2e-08" ixz="-1.1e-08" iyy="1.322e-06" iyz="-4e-09" izz="4.592e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/pinkyj1_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.011 0.045 0.022"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.0004 -0.015 0.0"/>
</collision>
</link>
<gazebo reference="rightPinkyPitch1Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="rightPinkyPitch2Link">
<inertial>
<mass value="0.011"/>
<origin rpy="0 0 0" xyz="0 -0.013 0"/>
<inertia ixx="1.97e-06" ixy="3.4e-08" ixz="-1.1e-08" iyy="5.54e-07" iyz="-7.8e-08" izz="2.272e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/pinkyj2_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.01 0.02 0.02"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.001 -0.012 0.0"/>
</collision>
</link>
<gazebo reference="rightPinkyPitch2Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="rightPinkyPitch3Link">
<inertial>
<mass value="0.006"/>
<origin rpy="0 0 0" xyz="0 -0.01 0"/>
<inertia ixx="3.96e-07" ixy="-9e-09" ixz="-1e-09" iyy="1.6e-07" iyz="1.6e-08" izz="3.03e-07"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/pinkyj3_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.01 0.02 0.016"/>
</geometry>
<origin rpy="0.0 0.0 -0.3" xyz="0.0 -0.012 0.0"/>
</collision>
</link>
<gazebo reference="rightPinkyPitch3Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<joint name="rightPinkyPitch1" type="revolute">
<origin rpy="0.1222 0.0 0.0" xyz="0.0022 -0.0838 -0.041"/>
<axis xyz="0 0 1"/>
<parent link="rightPalm"/>
<child link="rightPinkyPitch1Link"/>
<limit effort="10" lower="0.0" upper="1.57" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightPinkyPitch1">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightPinkyPitch2" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.0381 0.0"/>
<axis xyz="0 0 1"/>
<parent link="rightPinkyPitch1Link"/>
<child link="rightPinkyPitch2Link"/>
<limit effort="10" lower="0.0" upper="1.658" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightPinkyPitch2">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightPinkyPitch3" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.0229 0.0"/>
<axis xyz="0 0 1"/>
<parent link="rightPinkyPitch2Link"/>
<child link="rightPinkyPitch3Link"/>
<limit effort="10" lower="0.0" upper="1.92" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="rightPinkyPitch3">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="leftShoulderPitchLink">
<inertial>
<mass value="2.65"/>
<origin rpy="0 0 0" xyz="-0.012 0.251 0.000000"/>
<inertia ixx="0.013718167" ixy="0.0" ixz="0.0" iyy="0.010502833" iyz="0.0" izz="0.014806433"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj1_left.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj1_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="leftShoulderRollLink">
<inertial>
<mass value="3.97"/>
<origin rpy="0 0 0" xyz="-0.008513 0.02068 -0.001088"/>
<inertia ixx="0.014598842" ixy="-0.00066764" ixz="-3.629e-05" iyy="0.006452136" iyz="-8.283e-05" izz="0.016848319"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj2_left.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj2_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="leftShoulderYawLink">
<inertial>
<mass value="3.085"/>
<origin rpy="0 0 0" xyz="-0.004304 0.209832 0.007295"/>
<inertia ixx="0.039355177" ixy="-0.007827077" ixz="-0.000753947" iyy="0.004905765" iyz="0.002723873" izz="0.041879481"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj3_left.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj3_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="leftElbowPitchLink">
<inertial>
<mass value="1.83"/>
<origin rpy="0 0 0" xyz="-0.020344 0.014722 0.0223"/>
<inertia ixx="0.003314516" ixy="0.000535099" ixz="0.000728077" iyy="0.003505669" iyz="-0.000423865" izz="0.003011283"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj4_left.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj4_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<joint name="leftShoulderPitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="-0.0316 0.0 0.2984"/>
<axis xyz="0 1 0"/>
<parent link="torso"/>
<child link="leftShoulderPitchLink"/>
<limit effort="190" lower="-2.85" upper="2.0" velocity="5.89"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="leftShoulderPitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftShoulderRoll" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.2499 0.0"/>
<axis xyz="1 0 0"/>
<parent link="leftShoulderPitchLink"/>
<child link="leftShoulderRollLink"/>
<limit effort="190" lower="-1.519" upper="1.266" velocity="5.89"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="leftShoulderRoll">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftShoulderYaw" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<axis xyz="0 1 0"/>
<parent link="leftShoulderRollLink"/>
<child link="leftShoulderYawLink"/>
<limit effort="65" lower="-3.1" upper="2.18" velocity="11.5"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="leftShoulderYaw">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftElbowPitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0254 0.33 0.0"/>
<axis xyz="0 0 1"/>
<parent link="leftShoulderYawLink"/>
<child link="leftElbowPitchLink"/>
<limit effort="65" lower="-2.174" upper="0.12" velocity="11.5"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="leftElbowPitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="leftForearmLink">
<inertial>
<mass value="2.476"/>
<origin rpy="0 0 0" xyz="0.015000 0.13 0.019564"/>
<inertia ixx="0.01175543" ixy="0.001300853" ixz="-0.000727141" iyy="0.005071567" iyz="0.001695416" izz="0.011365657"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj5_left.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj5_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="leftWristRollLink">
<inertial>
<mass value="0.14"/>
<origin rpy="0 0 0" xyz="0 0.0 0"/>
<inertia ixx="3.0251e-05" ixy="1.25e-07" ixz="3.6e-08" iyy="3.772e-05" iyz="0.0" izz="9.395e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj6_left.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/aj6_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="leftPalm">
<inertial>
<mass value="0.712"/>
<origin rpy="0 0 0" xyz="0.002954 0.052034 -0.000236"/>
<inertia ixx="0.000943493" ixy="3.4393e-05" ixz="3.8828e-05" iyy="0.000711024" iyz="-2.3429e-05" izz="0.000610199"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/arms/palm_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.02 0.085 0.09"/>
</geometry>
<origin rpy="-0.1 0.0 -0.1" xyz="-0.023 0.06 -0.011"/>
</collision>
<collision>
<geometry>
<box size="0.03 0.03 0.09"/>
</geometry>
<origin rpy="-0.1 0.0 -0.05" xyz="0.001 0.06 -0.011"/>
</collision>
<collision>
<geometry>
<box size="0.032 0.03 0.055"/>
</geometry>
<origin rpy="-0.1 0.0 -0.05" xyz="0.001 0.03 -0.02"/>
</collision>
</link>
<gazebo reference="leftPalm">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<joint name="leftForearmYaw" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="-0.0254 0 0"/>
<axis xyz="0 1 0"/>
<parent link="leftElbowPitchLink"/>
<child link="leftForearmLink"/>
<limit effort="26" lower="-2.019" upper="3.14" velocity="5"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="1000"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="leftForearmYaw">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftWristRoll" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.2871 0.0"/>
<axis xyz="1 0 0"/>
<parent link="leftForearmLink"/>
<child link="leftWristRollLink"/>
<limit effort="14" lower="-0.62" upper="0.625" velocity="1"/>
<controller_gains Kd="0" Ki="0.0" Kp="500"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="leftWristRoll">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftWristPitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<axis xyz="0 0 1"/>
<parent link="leftWristRollLink"/>
<child link="leftPalm"/>
<limit effort="14" lower="-0.36" upper="0.49" velocity="1"/>
<controller_gains Kd="0" Ki="0.0" Kp="500"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="leftWristPitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="leftThumbRollLink">
<inertial>
<mass value="0.017"/>
<origin rpy="0 0 0" xyz="0 0.0 0.01"/>
<inertia ixx="2.7778767e-06" ixy="5.6718533e-09" ixz="9.5523207e-08" iyy="3.5462642e-06" iyz="-3.663718e-08" izz="1.3553297e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/thumbj1_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.022 0.01 0.039"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.0004 0.0 0.01"/>
</collision>
</link>
<gazebo reference="leftThumbRollLink">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="leftThumbPitch1Link">
<inertial>
<mass value="0.02"/>
<origin rpy="0 0 0" xyz="0.0 0.005 0.02"/>
<inertia ixx="4.239e-06" ixy="0.0" ixz="0.0" iyy="4.582e-06" iyz="-0.0" izz="1.47e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/thumbj2_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.022 0.011 0.035"/>
</geometry>
<origin rpy="-0.26 0.0 0.0" xyz="-0.0004 0.003 0.025"/>
</collision>
</link>
<gazebo reference="leftThumbPitch1Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="leftThumbPitch2Link">
<inertial>
<mass value="0.013"/>
<origin rpy="0 0 0" xyz="0 0.004 0.017"/>
<inertia ixx="1.266e-06" ixy="0.0" ixz="0.0" iyy="1.503e-06" iyz="0.0" izz="6.99e-07"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/thumbj3_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.02 0.008 0.022"/>
</geometry>
<origin rpy="-0.26 0.0 0.0" xyz="-0.0004 0.002 0.018"/>
</collision>
</link>
<gazebo reference="leftThumbPitch2Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="leftThumbPitch3Link">
<inertial>
<mass value="0.006"/>
<origin rpy="0 0 0" xyz="0 0.004 0.01"/>
<inertia ixx="3.22e-07" ixy="0.0" ixz="0.0" iyy="4.06e-07" iyz="0.0" izz="2.1e-07"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/thumbj4_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.016 0.01 0.017"/>
</geometry>
<origin rpy="0.02 0.0 0.0" xyz="0.0 0.003 0.013"/>
</collision>
</link>
<gazebo reference="leftThumbPitch3Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<joint name="leftThumbRoll" type="revolute">
<origin rpy="-0.3491 0.0 0.0" xyz="0.0049 0.0351 0.0228"/>
<axis xyz="0 1 0"/>
<parent link="leftPalm"/>
<child link="leftThumbRollLink"/>
<limit effort="10" lower="0.0" upper="2.356" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftThumbRoll">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftThumbPitch1" type="revolute">
<origin rpy="0.3491 0.0 0.0" xyz="0.0 0.0 0.0229"/>
<axis xyz="1 0 0"/>
<parent link="leftThumbRollLink"/>
<child link="leftThumbPitch1Link"/>
<limit effort="10" lower="-1.658" upper="-0.0" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftThumbPitch1">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftThumbPitch2" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0066 0.0375"/>
<axis xyz="1 0 0"/>
<parent link="leftThumbPitch1Link"/>
<child link="leftThumbPitch2Link"/>
<limit effort="10" lower="-1.92" upper="-0.0" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftThumbPitch2">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftThumbPitch3" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0049 0.0275"/>
<axis xyz="1 0 0"/>
<parent link="leftThumbPitch2Link"/>
<child link="leftThumbPitch3Link"/>
<limit effort="10" lower="-1.57" upper="-0.0" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftThumbPitch3">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="leftIndexFingerPitch1Link">
<inertial>
<mass value="0.02"/>
<origin rpy="0 0 0" xyz="0 0.02 0"/>
<inertia ixx="4.232e-06" ixy="6e-08" ixz="8e-09" iyy="1.215e-06" iyz="-7e-09" izz="3.892e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/indexj1_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.011 0.045 0.022"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.0004 0.015 0.0"/>
</collision>
</link>
<gazebo reference="leftIndexFingerPitch1Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="leftIndexFingerPitch2Link">
<inertial>
<mass value="0.018"/>
<origin rpy="0 0 0" xyz="0 0.013 0"/>
<inertia ixx="1.562e-06" ixy="1.7e-08" ixz="1.3e-08" iyy="7.22e-07" iyz="3.1e-08" izz="1.255e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/indexj2_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.01 0.02 0.02"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.001 0.012 0.0"/>
</collision>
</link>
<gazebo reference="leftIndexFingerPitch2Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="leftIndexFingerPitch3Link">
<inertial>
<mass value="0.01"/>
<origin rpy="0 0 0" xyz="0 0.01 0"/>
<inertia ixx="6.02e-07" ixy="2.4e-08" ixz="-0.0" iyy="2.09e-07" iyz="1.7e-08" izz="5.02e-07"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/indexj3_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.01 0.02 0.016"/>
</geometry>
<origin rpy="0.0 0.0 0.3" xyz="0.0 0.012 0.0"/>
</collision>
</link>
<gazebo reference="leftIndexFingerPitch3Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<joint name="leftIndexFingerPitch1" type="revolute">
<origin rpy="0.1745 0.0 0.0" xyz="0.0022 0.0976 0.0235"/>
<axis xyz="0 0 1"/>
<parent link="leftPalm"/>
<child link="leftIndexFingerPitch1Link"/>
<limit effort="10" lower="-1.57" upper="-0.0" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftIndexFingerPitch1">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftIndexFingerPitch2" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0381 0.0"/>
<axis xyz="0 0 1"/>
<parent link="leftIndexFingerPitch1Link"/>
<child link="leftIndexFingerPitch2Link"/>
<limit effort="10" lower="-1.658" upper="-0.0" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftIndexFingerPitch2">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftIndexFingerPitch3" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0229 0"/>
<axis xyz="0 0 1"/>
<parent link="leftIndexFingerPitch2Link"/>
<child link="leftIndexFingerPitch3Link"/>
<limit effort="10" lower="-1.92" upper="-0.0" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftIndexFingerPitch3">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="leftMiddleFingerPitch1Link">
<inertial>
<mass value="0.02"/>
<origin rpy="0 0 0" xyz="0 0.02 0"/>
<inertia ixx="5.148e-06" ixy="4.2e-08" ixz="1.1e-08" iyy="1.322e-06" iyz="-4e-09" izz="4.592e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/middlej1_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.011 0.045 0.022"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.0004 0.015 0.0"/>
</collision>
</link>
<gazebo reference="leftMiddleFingerPitch1Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="leftMiddleFingerPitch2Link">
<inertial>
<mass value="0.011"/>
<origin rpy="0 0 0" xyz="0 0.013 0"/>
<inertia ixx="1.97e-06" ixy="-3.4e-08" ixz="1.1e-08" iyy="5.54e-07" iyz="-7.8e-08" izz="2.272e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/middlej2_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.01 0.02 0.02"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.001 0.012 0.0"/>
</collision>
</link>
<gazebo reference="leftMiddleFingerPitch2Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="leftMiddleFingerPitch3Link">
<inertial>
<mass value="0.006"/>
<origin rpy="0 0 0" xyz="0 0.01 0"/>
<inertia ixx="3.96e-07" ixy="9e-09" ixz="1e-09" iyy="1.6e-07" iyz="1.6e-08" izz="3.03e-07"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/middlej3_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.01 0.02 0.016"/>
</geometry>
<origin rpy="0.0 0.0 0.3" xyz="0.0 0.012 0.0"/>
</collision>
</link>
<gazebo reference="leftMiddleFingerPitch3Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<joint name="leftMiddleFingerPitch1" type="revolute">
<origin rpy="-0.1222 0.0 0.0" xyz="0.0022 0.097 -0.0119"/>
<axis xyz="0 0 1"/>
<parent link="leftPalm"/>
<child link="leftMiddleFingerPitch1Link"/>
<limit effort="10" lower="-1.658" upper="-0.0" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftMiddleFingerPitch1">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftMiddleFingerPitch2" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0381 0.0"/>
<axis xyz="0 0 1"/>
<parent link="leftMiddleFingerPitch1Link"/>
<child link="leftMiddleFingerPitch2Link"/>
<limit effort="10" lower="-1.92" upper="-0.0" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftMiddleFingerPitch2">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftMiddleFingerPitch3" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0229 0.0"/>
<axis xyz="0 0 1"/>
<parent link="leftMiddleFingerPitch2Link"/>
<child link="leftMiddleFingerPitch3Link"/>
<limit effort="10" lower="-1.57" upper="-0.0" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftMiddleFingerPitch3">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="leftPinkyPitch1Link">
<inertial>
<mass value="0.02"/>
<origin rpy="0 0 0" xyz="0 0.02 0"/>
<inertia ixx="5.148e-06" ixy="4.2e-08" ixz="1.1e-08" iyy="1.322e-06" iyz="-4e-09" izz="4.592e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/pinkyj1_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.011 0.045 0.022"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.0004 0.015 0.0"/>
</collision>
</link>
<gazebo reference="leftPinkyPitch1Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="leftPinkyPitch2Link">
<inertial>
<mass value="0.011"/>
<origin rpy="0 0 0" xyz="0 0.013 0"/>
<inertia ixx="1.97e-06" ixy="-3.4e-08" ixz="1.1e-08" iyy="5.54e-07" iyz="-7.8e-08" izz="2.272e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/pinkyj2_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.01 0.02 0.02"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="-0.001 0.012 0.0"/>
</collision>
</link>
<gazebo reference="leftPinkyPitch2Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<link name="leftPinkyPitch3Link">
<inertial>
<mass value="0.006"/>
<origin rpy="0 0 0" xyz="0 0.01 0"/>
<inertia ixx="3.96e-07" ixy="9e-09" ixz="1e-09" iyy="1.6e-07" iyz="1.6e-08" izz="3.03e-07"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/fingers/pinkyj3_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.01 0.02 0.016"/>
</geometry>
<origin rpy="0.0 0.0 0.3" xyz="0.0 0.012 0.0"/>
</collision>
</link>
<gazebo reference="leftPinkyPitch3Link">
<kp>1e5</kp>
<kd>1</kd>
<maxVel>0.1</maxVel>
<minDepth>0.0015</minDepth>
</gazebo>
<joint name="leftPinkyPitch1" type="revolute">
<origin rpy="-0.1222 0.0 0.0" xyz="0.0022 0.0838 -0.041"/>
<axis xyz="0 0 1"/>
<parent link="leftPalm"/>
<child link="leftPinkyPitch1Link"/>
<limit effort="10" lower="-1.57" upper="-0.0" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftPinkyPitch1">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftPinkyPitch2" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0381 0.0"/>
<axis xyz="0 0 1"/>
<parent link="leftPinkyPitch1Link"/>
<child link="leftPinkyPitch2Link"/>
<limit effort="10" lower="-1.658" upper="-0.0" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftPinkyPitch2">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftPinkyPitch3" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0229 0.0"/>
<axis xyz="0 0 1"/>
<parent link="leftPinkyPitch2Link"/>
<child link="leftPinkyPitch3Link"/>
<limit effort="10" lower="-1.92" upper="-0.0" velocity="1"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="5.0"/>
<dynamics damping="0.5" friction="10"/>
</joint>
<gazebo reference="leftPinkyPitch3">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="rightHipYawLink">
<inertial>
<mass value="2.39"/>
<origin rpy="0 0 0" xyz="0.02176 0.00131 0.03867"/>
<inertia ixx="0.017260978" ixy="0.0" ixz="0.0" iyy="0.014866198" iyz="0.0" izz="0.011238178"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj1_right.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj1_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="rightHipRollLink">
<inertial>
<mass value="3.665"/>
<origin rpy="0 0 0" xyz="0.012959 -0.00755 -0.015950"/>
<inertia ixx="0.005978962" ixy="0.000234823" ixz="0.000553962" iyy="0.009372646" iyz="-0.000778956" izz="0.008193117"/>
</inertial>
</link>
<link name="rightHipPitchLink">
<inertial>
<mass value="10.2"/>
<origin rpy="0 0 0" xyz="0.016691 -0.091397 -0.207875"/>
<inertia ixx="0.24083413" ixy="-3.5915e-05" ixz="0.003699383" iyy="0.25689705" iyz="0.001333005" izz="0.023276352"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj3_right.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj3_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="rightKneePitchLink">
<inertial>
<mass value="6.2"/>
<origin rpy="0 0 0" xyz="-0.022183 0.001703 -0.189418"/>
<inertia ixx="0.086935683" ixy="9.929e-05" ixz="0.000573207" iyy="0.091584066" iyz="0.000313745" izz="0.014017272"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj4_right.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj4_right.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="rightAnklePitchLink">
<inertial>
<mass value="0.03"/>
<origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
<inertia ixx="4.377e-06" ixy="0.0" ixz="0.0" iyy="4.322e-06" iyz="0.0" izz="7.015e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj5.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj5.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="rightFoot">
<inertial>
<mass value="2.27"/>
<origin rpy="0 0 0" xyz="0.037702 0.005161 -0.047634"/>
<inertia ixx="0.00623936" ixy="0.000217174" ixz="0.001340587" iyy="0.017786991" iyz="-0.000187749" izz="0.020774433"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/foot.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.27 0.16 0.064"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.045 0.0 -0.056"/>
</collision>
</link>
<!-- foot contact parameters copied from atlas_description in drcsim -->
<gazebo reference="rightFoot">
<!-- kp and kd for rubber -->
<kp>1000000.0</kp>
<kd>100.0</kd>
<mu1>1.5</mu1>
<mu2>1.5</mu2>
<fdir1>1 0 0</fdir1>
<maxVel>1.0</maxVel>
<minDepth>0.00</minDepth>
</gazebo>
<joint name="rightHipYaw" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.1016 -0.1853"/>
<axis xyz="0 0 1"/>
<parent link="pelvis"/>
<child link="rightHipYawLink"/>
<limit effort="190" lower="-1.1" upper="0.4141" velocity="5.89"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="rightHipYaw">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightHipRoll" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<axis xyz="1 0 0"/>
<parent link="rightHipYawLink"/>
<child link="rightHipRollLink"/>
<limit effort="350" lower="-0.5515" upper="0.467" velocity="7"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="rightHipRoll">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightHipPitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 -0.0609"/>
<axis xyz="0 1 0"/>
<parent link="rightHipRollLink"/>
<child link="rightHipPitchLink"/>
<limit effort="350" lower="-2.42" upper="1.619" velocity="6.11"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="rightHipPitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightKneePitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.000112225 -0.0361046 -0.430959"/>
<axis xyz="0 1 0"/>
<parent link="rightHipPitchLink"/>
<child link="rightKneePitchLink"/>
<limit effort="350" lower="-0.083" upper="2.057" velocity="6.11"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="rightKneePitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightAnklePitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="-0.0102381 0.0 -0.40627"/>
<axis xyz="0 1 0"/>
<parent link="rightKneePitchLink"/>
<child link="rightAnklePitchLink"/>
<limit effort="205" lower="-0.93" upper="0.65" velocity="11"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="rightAnklePitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="rightAnkleRoll" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<axis xyz="1 0 0"/>
<parent link="rightAnklePitchLink"/>
<child link="rightFoot"/>
<limit effort="205" lower="-0.4" upper="0.4" velocity="11"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.3" friction="0.0"/>
</joint>
<gazebo reference="rightAnkleRoll">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="leftHipYawLink">
<inertial>
<mass value="2.39"/>
<origin rpy="0 0 0" xyz="0.02176 -0.00131 0.03867"/>
<inertia ixx="0.017260978" ixy="0.0" ixz="0.0" iyy="0.014866198" iyz="0.0" izz="0.011238178"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj1_left.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj1_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="leftHipRollLink">
<inertial>
<mass value="3.665"/>
<origin rpy="0 0 0" xyz="0.012959 0.00755 -0.015950"/>
<inertia ixx="0.005978962" ixy="-0.000234823" ixz="0.000553962" iyy="0.009372646" iyz="0.000778956" izz="0.008193117"/>
</inertial>
</link>
<link name="leftHipPitchLink">
<inertial>
<mass value="10.2"/>
<origin rpy="0 0 0" xyz="0.016691 0.091397 -0.207875"/>
<inertia ixx="0.24083413" ixy="3.5915e-05" ixz="0.003699383" iyy="0.25689705" iyz="-0.001333005" izz="0.023276352"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj3_left.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj3_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="leftKneePitchLink">
<inertial>
<mass value="6.2"/>
<origin rpy="0 0 0" xyz="-0.022183 0.001703 -0.189418"/>
<inertia ixx="0.086935683" ixy="9.929e-05" ixz="0.000573207" iyy="0.091584066" iyz="0.000313745" izz="0.014017272"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj4_left.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj4_left.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="leftAnklePitchLink">
<inertial>
<mass value="0.03"/>
<origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
<inertia ixx="4.377e-06" ixy="0.0" ixz="0.0" iyy="4.322e-06" iyz="0.0" izz="7.015e-06"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj5.dae"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
</visual>
<collision>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/lj5.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</collision>
</link>
<link name="leftFoot">
<inertial>
<mass value="2.27"/>
<origin rpy="0 0 0" xyz="0.037702 0.005161 -0.047634"/>
<inertia ixx="0.00623936" ixy="0.000217174" ixz="0.001340587" iyy="0.017786991" iyz="-0.000187749" izz="0.020774433"/>
</inertial>
<visual>
<geometry>
<mesh filename="package://val_description/model/meshes/legs/foot.dae"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.27 0.16 0.064"/>
</geometry>
<origin rpy="0.0 0.0 0.0" xyz="0.045 0.0 -0.056"/>
</collision>
</link>
<!-- foot contact parameters copied from atlas_description in drcsim -->
<gazebo reference="leftFoot">
<!-- kp and kd for rubber -->
<kp>1000000.0</kp>
<kd>100.0</kd>
<mu1>1.5</mu1>
<mu2>1.5</mu2>
<fdir1>1 0 0</fdir1>
<maxVel>1.0</maxVel>
<minDepth>0.00</minDepth>
</gazebo>
<joint name="leftHipYaw" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.1016 -0.1853"/>
<axis xyz="0 0 1"/>
<parent link="pelvis"/>
<child link="leftHipYawLink"/>
<limit effort="190" lower="-0.4141" upper="1.1" velocity="5.89"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="leftHipYaw">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftHipRoll" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<axis xyz="1 0 0"/>
<parent link="leftHipYawLink"/>
<child link="leftHipRollLink"/>
<limit effort="350" lower="-0.467" upper="0.5515" velocity="7"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="leftHipRoll">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftHipPitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 -0.0609"/>
<axis xyz="0 1 0"/>
<parent link="leftHipRollLink"/>
<child link="leftHipPitchLink"/>
<limit effort="350" lower="-2.42" upper="1.619" velocity="6.11"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="leftHipPitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftKneePitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.000112225 0.0361046 -0.430959"/>
<axis xyz="0 1 0"/>
<parent link="leftHipPitchLink"/>
<child link="leftKneePitchLink"/>
<limit effort="350" lower="-0.083" upper="2.057" velocity="6.11"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="leftKneePitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftAnklePitch" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="-0.0102381 0.0 -0.40627"/>
<axis xyz="0 1 0"/>
<parent link="leftKneePitchLink"/>
<child link="leftAnklePitchLink"/>
<limit effort="205" lower="-0.93" upper="0.65" velocity="11"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.1" friction="0.0"/>
</joint>
<gazebo reference="leftAnklePitch">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<joint name="leftAnkleRoll" type="revolute">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<axis xyz="1 0 0"/>
<parent link="leftAnklePitchLink"/>
<child link="leftFoot"/>
<limit effort="205" lower="-0.4" upper="0.4" velocity="11"/>
<controller_gains Kd="0.0" Ki="0.0" Kp="0.0"/>
<dynamics damping="0.3" friction="0.0"/>
</joint>
<gazebo reference="leftAnkleRoll">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="pelvisRearImu_Frame">
<!-- Virtual Link -->
<inertial>
<mass value="1e-07"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
<inertia ixx="3.33333333333e-22" ixy="0.0" ixz="0.0" iyy="3.33333333333e-22" iyz="0.0" izz="5e-22"/>
</inertial>
</link>
<joint name="pelvisRearImu_Offset" type="fixed">
<origin rpy="-3.14159 0.476467 -3.14159" xyz="-0.075844901 0.0 -0.111056426"/>
<axis xyz="0 0 1"/>
<parent link="pelvis"/>
<child link="pelvisRearImu_Frame"/>
</joint>
<gazebo reference="pelvisRearImu_Offset">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<gazebo>
<plugin filename="libgazebo_ros_imu.so" name="imu_plugin_ros">
<alwaysOn>true</alwaysOn>
<bodyName>pelvisRearImu_Frame</bodyName>
<topicName>pelvisRearImu/imu</topicName>
<serviceName>pelvisRearImu/imu_service</serviceName>
<gaussianNoise>0.0</gaussianNoise>
<updateRate>1000.0</updateRate>
</plugin>
</gazebo>
<gazebo reference="pelvisRearImu_Frame">
<sensor name="pelvisRearImu" type="imu">
<imuTransform>-0.075844901 0.0 -0.111056426 -3.14159 0.476467 -3.14159</imuTransform>
<always_on>true</always_on>
<pose>0 0 0 0 0 0 </pose>
<node name="/sensors/rearPelvisIMU"/>
<api name="simulated_imu_sensor::SimulatedImuSensor"/>
<port name="none"/>
<imu>
<noise>
<type>gaussian</type>
<rate>
<mean>0</mean>
<stddev>0.0002</stddev>
<bias_mean>7.5e-06</bias_mean>
<bias_stddev>8e-07</bias_stddev>
</rate>
<accel>
<mean>0</mean>
<stddev>0.017</stddev>
<bias_mean>0.1</bias_mean>
<bias_stddev>0.001</bias_stddev>
</accel>
</noise>
</imu>
</sensor>
</gazebo>
<link name="pelvisMiddleImu_Frame">
<!-- Virtual Link -->
<inertial>
<mass value="1e-07"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
<inertia ixx="3.33333333333e-22" ixy="0.0" ixz="0.0" iyy="3.33333333333e-22" iyz="0.0" izz="5e-22"/>
</inertial>
</link>
<joint name="pelvisMiddleImu_Offset" type="fixed">
<origin rpy="3.14159 0.0 0.0" xyz="0.0 0.0 -0.10819638"/>
<axis xyz="0 0 1"/>
<parent link="pelvis"/>
<child link="pelvisMiddleImu_Frame"/>
</joint>
<gazebo reference="pelvisMiddleImu_Offset">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<gazebo>
<plugin filename="libgazebo_ros_imu.so" name="imu_plugin_ros">
<alwaysOn>true</alwaysOn>
<bodyName>pelvisMiddleImu_Frame</bodyName>
<topicName>pelvisMiddleImu/imu</topicName>
<serviceName>pelvisMiddleImu/imu_service</serviceName>
<gaussianNoise>0.0</gaussianNoise>
<updateRate>1000.0</updateRate>
</plugin>
</gazebo>
<gazebo reference="pelvisMiddleImu_Frame">
<sensor name="pelvisMiddleImu" type="imu">
<imuTransform>0.0 0.0 -0.10819638 3.14159 0.0 0.0</imuTransform>
<always_on>true</always_on>
<pose>0 0 0 0 0 0 </pose>
<node name="/sensors/middlePelvisIMU"/>
<api name="simulated_imu_sensor::SimulatedImuSensor"/>
<port name="none"/>
<imu>
<noise>
<type>gaussian</type>
<rate>
<mean>0</mean>
<stddev>0.0002</stddev>
<bias_mean>7.5e-06</bias_mean>
<bias_stddev>8e-07</bias_stddev>
</rate>
<accel>
<mean>0</mean>
<stddev>0.017</stddev>
<bias_mean>0.1</bias_mean>
<bias_stddev>0.001</bias_stddev>
</accel>
</noise>
</imu>
</sensor>
</gazebo>
<link name="leftCOP_Frame">
<inertial>
<mass value="0.1"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
<inertia ixx="8.33333333333e-05" ixy="0.0" ixz="0.0" iyy="8.33333333333e-05" iyz="0.0" izz="0.000125"/>
</inertial>
</link>
<joint name="leftCOP_Offset" type="fixed">
<origin rpy="0.0 0.0 0.0" xyz="0.0189 0.0 -0.0783"/>
<axis xyz="0 0 1"/>
<parent link="leftFoot"/>
<child link="leftCOP_Frame"/>
</joint>
<gazebo reference="leftCOP_Offset">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="leftFootSixAxis_Frame">
<!-- Virtual Link -->
<inertial>
<mass value="1e-07"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
<inertia ixx="3.33333333333e-22" ixy="0.0" ixz="0.0" iyy="3.33333333333e-22" iyz="0.0" izz="5e-22"/>
</inertial>
</link>
<joint name="leftFootSixAxis_Offset" type="fixed">
<origin rpy="3.14 0.0 0.0" xyz="0.0215646 0.0 -0.051054"/>
<axis xyz="0 0 1"/>
<parent link="leftFoot"/>
<child link="leftFootSixAxis_Frame"/>
</joint>
<gazebo reference="leftFootSixAxis_Offset">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<gazebo reference="leftAnkleRoll">
<sensor name="leftFootSixAxis" type="force_torque">
<pose>0.0215646 0.0 -0.051054 3.14 0.0 0.0</pose>
<sensor_number id="FT001SIM"/>
<node id="/left_leg/ankle/roll_actuator"/>
<api name="sensor_interface::SimForceTorqueSensor"/>
<always_on>true</always_on>
<update_rate>500.0</update_rate>
<force_torque>
<frame>sensor</frame>
<measure_direction>parent_to_child</measure_direction>
</force_torque>
</sensor>
</gazebo>
<link name="rightCOP_Frame">
<inertial>
<mass value="0.1"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
<inertia ixx="8.33333333333e-05" ixy="0.0" ixz="0.0" iyy="8.33333333333e-05" iyz="0.0" izz="0.000125"/>
</inertial>
</link>
<joint name="rightCOP_Offset" type="fixed">
<origin rpy="0.0 0.0 0.0" xyz="0.0189 0.0 -0.0783"/>
<axis xyz="0 0 1"/>
<parent link="rightFoot"/>
<child link="rightCOP_Frame"/>
</joint>
<gazebo reference="rightCOP_Offset">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="rightFootSixAxis_Frame">
<!-- Virtual Link -->
<inertial>
<mass value="1e-07"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
<inertia ixx="3.33333333333e-22" ixy="0.0" ixz="0.0" iyy="3.33333333333e-22" iyz="0.0" izz="5e-22"/>
</inertial>
</link>
<joint name="rightFootSixAxis_Offset" type="fixed">
<origin rpy="3.14 0.0 0.0" xyz="0.0215646 0.0 -0.051054"/>
<axis xyz="0 0 1"/>
<parent link="rightFoot"/>
<child link="rightFootSixAxis_Frame"/>
</joint>
<gazebo reference="rightFootSixAxis_Offset">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<gazebo reference="rightAnkleRoll">
<sensor name="rightFootSixAxis" type="force_torque">
<pose>0.0215646 0.0 -0.051054 3.14 0.0 0.0</pose>
<sensor_number id="FT001SIM"/>
<node id="/right_leg/ankle/roll_actuator"/>
<api name="sensor_interface::SimForceTorqueSensor"/>
<always_on>true</always_on>
<update_rate>500.0</update_rate>
<force_torque>
<frame>sensor</frame>
<measure_direction>parent_to_child</measure_direction>
</force_torque>
</sensor>
</gazebo>
<joint name="multisense_head_root_joint" type="fixed">
<origin rpy="-3.14159 0.130899694 0.0" xyz="0.183585961 0.0 0.075353826"/>
<axis xyz="0 0 1"/>
<parent link="upperNeckPitchLink"/>
<child link="head"/>
</joint>
<gazebo reference="multisense_head_root_joint">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="leftTorsoImu_Frame">
<!-- Virtual Link -->
<inertial>
<mass value="1e-07"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
<inertia ixx="3.33333333333e-22" ixy="0.0" ixz="0.0" iyy="3.33333333333e-22" iyz="0.0" izz="5e-22"/>
</inertial>
</link>
<joint name="leftTorsoImu_Offset" type="fixed">
<origin rpy="-1.5707 0.0 0.0" xyz="-0.0627634 0.134239 0.3630676"/>
<axis xyz="0 0 1"/>
<parent link="torso"/>
<child link="leftTorsoImu_Frame"/>
</joint>
<gazebo reference="leftTorsoImu_Offset">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<gazebo>
<plugin filename="libgazebo_ros_imu.so" name="imu_plugin_ros">
<alwaysOn>true</alwaysOn>
<bodyName>leftTorsoImu_Frame</bodyName>
<topicName>leftTorsoImu/imu</topicName>
<serviceName>leftTorsoImu/imu_service</serviceName>
<gaussianNoise>0.0</gaussianNoise>
<updateRate>1000.0</updateRate>
</plugin>
</gazebo>
<gazebo reference="leftTorsoImu_Frame">
<sensor name="leftTorsoImu" type="imu">
<imuTransform>-0.0627634 0.134239 0.3630676 -1.5707 0.0 0.0</imuTransform>
<always_on>true</always_on>
<pose>0 0 0 0 0 0 </pose>
<node name="/sensors/leftTorsoIMU"/>
<api name="simulated_imu_sensor::SimulatedImuSensor"/>
<port name="none"/>
<imu>
<noise>
<type>gaussian</type>
<rate>
<mean>0</mean>
<stddev>0.0002</stddev>
<bias_mean>7.5e-06</bias_mean>
<bias_stddev>8e-07</bias_stddev>
</rate>
<accel>
<mean>0</mean>
<stddev>0.017</stddev>
<bias_mean>0.1</bias_mean>
<bias_stddev>0.001</bias_stddev>
</accel>
</noise>
</imu>
</sensor>
</gazebo>
<link name="rightHazardCamera_Frame">
<!-- Virtual Link -->
<inertial>
<mass value="1e-07"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
<inertia ixx="3.33333333333e-22" ixy="0.0" ixz="0.0" iyy="3.33333333333e-22" iyz="0.0" izz="5e-22"/>
</inertial>
</link>
<gazebo reference="rightHazardCamera_Frame">
<sensor name="rightHazardCamera" type="camera">
<camera>
<image>
<width>1280</width>
<height>1024</height>
<format>R8G8B8</format>
</image>
<horizontal_fov>1.378</horizontal_fov>
<clip>
<near>0.1</near>
<far>100</far>
</clip>
</camera>
<update_rate>60</update_rate>
</sensor>
</gazebo>
<joint name="rightHazardCamera_Offset" type="fixed">
<origin rpy="1.57 0.0 1.57" xyz="0.0345 -0.0406 0.1135"/>
<axis xyz="0 0 1"/>
<parent link="torso"/>
<child link="rightHazardCamera_Frame"/>
</joint>
<gazebo reference="rightHazardCamera_Offset">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<link name="leftHazardCamera_Frame">
<!-- Virtual Link -->
<inertial>
<mass value="1e-07"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
<inertia ixx="3.33333333333e-22" ixy="0.0" ixz="0.0" iyy="3.33333333333e-22" iyz="0.0" izz="5e-22"/>
</inertial>
</link>
<gazebo reference="leftHazardCamera_Frame">
<sensor name="leftHazardCamera" type="camera">
<camera>
<image>
<width>1280</width>
<height>1024</height>
<format>R8G8B8</format>
</image>
<horizontal_fov>1.378</horizontal_fov>
<clip>
<near>0.1</near>
<far>100</far>
</clip>
</camera>
<update_rate>60</update_rate>
</sensor>
</gazebo>
<joint name="leftHazardCamera_Offset" type="fixed">
<origin rpy="1.57 0.0 1.57" xyz="0.0345 0.0406 0.1135"/>
<axis xyz="0 0 1"/>
<parent link="torso"/>
<child link="leftHazardCamera_Frame"/>
</joint>
<gazebo reference="leftHazardCamera_Offset">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<transmission name="torsoYawTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="torsoYaw">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="torsoYaw">
<node name="/pelvis/waist"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="torsoPitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="torsoPitch">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="waistPitchActuator">
<node name="/trunk/pitch_actuator"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="torsoRollTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="torsoRoll">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="waistRollActuator">
<node name="/trunk/roll_actuator"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftHipYawTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftHipYaw">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="leftHipYaw">
<node name="/pelvis/left_leg_j1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftHipRollTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftHipRoll">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="leftHipRoll">
<node name="/left_leg/j2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftHipPitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftHipPitch">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="leftHipPitch">
<node name="/left_leg/j3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftKneePitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftKneePitch">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="leftKneePitch">
<node name="/left_leg/j4"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftAnklePitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftAnklePitch">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="leftAnklePitchActuator">
<node name="/left_leg/ankle/pitch_actuator"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftAnkleRollTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftAnkleRoll">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="leftAnkleRollActuator">
<node name="/left_leg/ankle/roll_actuator"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightHipYawTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightHipYaw">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="rightHipYaw">
<node name="/pelvis/right_leg_j1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightHipRollTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightHipRoll">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="rightHipRoll">
<node name="/right_leg/j2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightHipPitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightHipPitch">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="rightHipPitch">
<node name="/right_leg/j3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightKneePitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightKneePitch">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="rightKneePitch">
<node name="/right_leg/j4"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightAnklePitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightAnklePitch">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="rightAnklePitchActuator">
<node name="/right_leg/ankle/pitch_actuator"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightAnkleRollTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightAnkleRoll">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="rightAnkleRollActuator">
<node name="/right_leg/ankle/roll_actuator"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftShoulderPitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftShoulderPitch">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="leftShoulderPitch">
<node name="/trunk/left_arm_j1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftShoulderRollTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftShoulderRoll">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="leftShoulderRoll">
<node name="/left_arm/j2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftShoulderYawTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftShoulderYaw">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="leftShoulderYaw">
<node name="/left_arm/j3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftElbowPitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftElbowPitch">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="leftElbowPitch">
<node name="/left_arm/j4"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftForearmYawTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftForearmYaw">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="leftForearmYaw">
<node name="/left_arm/j5"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftWristRollTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftWristRoll">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="leftWristRollActuator">
<node name="/left_arm/wrist/roll_actautor"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftWristPitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftWristPitch">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="leftWristPitchActuator">
<node name="/left_arm/wrist/pitch_actuator"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightShoulderPitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightShoulderPitch">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="rightShoulderPitch">
<node name="/trunk/right_arm_j1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightShoulderRollTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightShoulderRoll">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="rightShoulderRoll">
<node name="/right_arm/j2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightShoulderYawTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightShoulderYaw">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="rightShoulderYaw">
<node name="/right_arm/j3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightElbowPitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightElbowPitch">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="rightElbowPitch">
<node name="/right_arm/j4"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightForearmYawTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightForearmYaw">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="rightForearmYaw">
<node name="/right_arm/j5"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightWristRollTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightWristRoll">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="rightWristRollActuator">
<node name="/right_arm/wrist/roll_actautor"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightWristPitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightWristPitch">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="rightWristPitchActuator">
<node name="/right_arm/wrist/pitch_actuator"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="lowerNeckPitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="lowerNeckPitch">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="lowerNeckPitch">
<node name="/neck/j1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="neckYawTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="neckYaw">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="neckYaw">
<node name="/neck/j2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="upperNeckPitchTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="upperNeckPitch">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="upperNeckPitch">
<node name="/neck/j3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftThumbRollTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftThumbRoll">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="leftThumbRollActuator">
<node name="/left_hand/thumb_roll"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftThumbPitch1Transmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftThumbPitch1">
<hardwareInterface>PositionJointInterface</hardwareInterface>
<child name="leftThumbPitch2" ratio="1.344"/>
<child name="leftThumbPitch3" ratio="1.68"/>
</joint>
<actuator name="leftThumbPitch1Actuator">
<node name="/left_hand/thumb_pitch_1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftThumbPitch2PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftThumbPitch2">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="leftThumbPitch2PassiveActuator">
<node name="/left_hand/thumb_pitch_2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftThumbPitch3PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftThumbPitch3">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="leftThumbPitch3PassiveActuator">
<node name="/left_hand/thumb_pitch_3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightThumbRollTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightThumbRoll">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="rightThumbRollActuator">
<node name="/right_hand/thumb_roll"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightThumbPitch1Transmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightThumbPitch1">
<hardwareInterface>PositionJointInterface</hardwareInterface>
<child name="rightThumbPitch2" ratio="1.344"/>
<child name="rightThumbPitch3" ratio="1.68"/>
</joint>
<actuator name="rightThumbPitch1Actuator">
<node name="/right_hand/thumb_pitch_1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightThumbPitch2PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightThumbPitch2">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="rightThumbPitch2PassiveActuator">
<node name="/right_hand/thumb_pitch_2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightThumbPitch3PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightThumbPitch3">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="rightThumbPitch3PassiveActuator">
<node name="/right_hand/thumb_pitch_3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftIndexFingerPitch1Transmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftIndexFingerPitch1">
<hardwareInterface>PositionJointInterface</hardwareInterface>
<child name="leftIndexFingerPitch2" ratio="1.344"/>
<child name="leftIndexFingerPitch3" ratio="1.68"/>
</joint>
<actuator name="leftIndexFingerPitch1Actuator">
<node name="/left_hand/index_finger_pitch_1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftIndexFingerPitch2PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftIndexFingerPitch2">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="leftIndexFingerPitch2PassiveActuator">
<node name="/left_hand/index_finger_pitch_2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftIndexFingerPitch3PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftIndexFingerPitch3">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="leftIndexFingerPitch3PassiveActuator">
<node name="/left_hand/index_finger_pitch_3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightIndexFingerPitch1Transmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightIndexFingerPitch1">
<hardwareInterface>PositionJointInterface</hardwareInterface>
<child name="rightIndexFingerPitch2" ratio="1.344"/>
<child name="rightIndexFingerPitch3" ratio="1.68"/>
</joint>
<actuator name="rightIndexFingerPitch1Actuator">
<node name="/right_hand/index_finger_pitch_1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightIndexFingerPitch2PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightIndexFingerPitch2">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="rightIndexFingerPitch2PassiveActuator">
<node name="/right_hand/index_finger_pitch_2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightIndexFingerPitch3PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightIndexFingerPitch3">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="rightIndexFingerPitch3PassiveActuator">
<node name="/right_hand/index_finger_pitch_3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftMiddleFingerPitch1Transmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftMiddleFingerPitch1">
<hardwareInterface>PositionJointInterface</hardwareInterface>
<child name="leftMiddleFingerPitch2" ratio="1.344"/>
<child name="leftMiddleFingerPitch3" ratio="1.68"/>
</joint>
<actuator name="leftMiddleFingerPitch1Actuator">
<node name="/left_hand/middle_finger_pitch_1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftMiddleFingerPitch2PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftMiddleFingerPitch2">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="leftMiddleFingerPitch2PassiveActuator">
<node name="/left_hand/middle_finger_pitch_2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftMiddleFingerPitch3PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftMiddleFingerPitch3">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="leftMiddleFingerPitch3PassiveActuator">
<node name="/left_hand/middle_finger_pitch_3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightMiddleFingerPitch1Transmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightMiddleFingerPitch1">
<hardwareInterface>PositionJointInterface</hardwareInterface>
<child name="rightMiddleFingerPitch2" ratio="1.344"/>
<child name="rightMiddleFingerPitch3" ratio="1.68"/>
</joint>
<actuator name="rightMiddleFingerPitch1Actuator">
<node name="/right_hand/middle_finger_pitch_1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightMiddleFingerPitch2PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightMiddleFingerPitch2">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="rightMiddleFingerPitch2PassiveActuator">
<node name="/right_hand/middle_finger_pitch_2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightMiddleFingerPitch3PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightMiddleFingerPitch3">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="rightMiddleFingerPitch3PassiveActuator">
<node name="/right_hand/middle_finger_pitch_3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftPinkyPitch1Transmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftPinkyPitch1">
<hardwareInterface>PositionJointInterface</hardwareInterface>
<child name="leftPinkyPitch2" ratio="1.344"/>
<child name="leftPinkyPitch3" ratio="1.68"/>
</joint>
<actuator name="leftPinkyPitch1Actuator">
<node name="/left_hand/pinky_pitch_1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftPinkyPitch2PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftPinkyPitch2">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="leftPinkyPitch2PassiveActuator">
<node name="/left_hand/pinky_pitch_2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="leftPinkyPitch3PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="leftPinkyPitch3">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="leftPinkyPitch3PassiveActuator">
<node name="/left_hand/pinky_pitch_3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightPinkyPitch1Transmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightPinkyPitch1">
<hardwareInterface>PositionJointInterface</hardwareInterface>
<child name="rightPinkyPitch2" ratio="1.344"/>
<child name="rightPinkyPitch3" ratio="1.68"/>
</joint>
<actuator name="rightPinkyPitch1Actuator">
<node name="/right_hand/pinky_pitch_1"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightPinkyPitch2PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightPinkyPitch2">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="rightPinkyPitch2PassiveActuator">
<node name="/right_hand/pinky_pitch_2"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<transmission name="rightPinkyPitch3PassiveTransmission">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rightPinkyPitch3">
<hardwareInterface>JointStateInterface</hardwareInterface>
</joint>
<actuator name="rightPinkyPitch3PassiveActuator">
<node name="/right_hand/pinky_pitch_3"/>
<mechanicalReduction>1</mechanicalReduction>
<api name="robot_hardware_interface/TurbodriverSimAPI"/>
</actuator>
</transmission>
<gazebo>
<self_collide>true</self_collide>
</gazebo>
<gazebo reference="pelvis">
<self_collide>false</self_collide>
</gazebo>
<gazebo reference="leftHipYawLink">
<self_collide>false</self_collide>
</gazebo>
<gazebo reference="rightHipYawLink">
<self_collide>false</self_collide>
</gazebo>
<gazebo>
<plugin filename="libgazebo_ros_harness.so" name="harness">
<joint name="harness_joint" type="prismatic">
<pose>0 0 0 0 0 0</pose>
<parent>world</parent>
<child>torso</child>
<axis>
<xyz>0 0 1</xyz>
<dynamics>
<damping>10</damping>
</dynamics>
<limit>
<lower>-0.3</lower>
<upper>1.5</upper>
<effort>10000</effort>
<velocity>-1</velocity>
<stiffness>0</stiffness>
<dissipation>0</dissipation>
</limit>
</axis>
<physics>
<ode>
<implicit_spring_damper>1</implicit_spring_damper>
<limit>
<cfm>0.0</cfm>
<erp>0.0</erp>
</limit>
</ode>
</physics>
</joint>
<!-- The joint that raises or lowers the harness -->
<winch>
<joint>harness_joint</joint>
<!-- PID value for velocity control of the winch. These values
are tuned to work with this box model. -->
<pos_pid>
<p>1e6</p>
<i>0</i>
<d>0</d>
<i_min>0</i_min>
<i_max>0</i_max>
<cmd_min>-1e4</cmd_min>
<cmd_max>1e4</cmd_max>
</pos_pid>
<vel_pid>
<p>1e6</p>
<i>0</i>
<d>0</d>
<i_min>0</i_min>
<i_max>0</i_max>
<cmd_min>0</cmd_min>
<cmd_max>1e4</cmd_max>
</vel_pid>
</winch>
<!-- Joint to detach. Once the joint is detached, it cannot be
reattached. This must be a joint specified within the
body of this plugin. -->
<detach>harness_joint</detach>
</plugin>
</gazebo>
</robot>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment