<?xml version="1.0"?>

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <!-- Shoulder pan transmissions -->
  <xsl:template match="transmission[contains(@name,'_shoulder_pan_trans')]">
    <transmission type="pr2_mechanism_model/PR2BeltCompensatorTransmission">
      <xsl:attribute name="name">
        <xsl:value-of select="@name" />
      </xsl:attribute>
      <xsl:apply-templates select="joint" />
      <xsl:apply-templates select="actuator" />
      <xsl:apply-templates select="mechanicalReduction" />
      <compensator k_belt="4000.0"
                   mass_motor="0.05"
                   kd_motor="15.0"
                   lambda_motor="30.0"
                   lambda_joint="50.0"
                   lambda_combined="20.0" />
    </transmission>
  </xsl:template>


  <!-- Shoulder lift transmissions -->
  <xsl:template match="transmission[contains(@name,'_shoulder_lift_trans')]">
    <transmission type="pr2_mechanism_model/PR2BeltCompensatorTransmission">
      <xsl:attribute name="name">
        <xsl:value-of select="@name" />
      </xsl:attribute>
      <xsl:apply-templates select="joint" />
      <xsl:apply-templates select="actuator" />
      <xsl:apply-templates select="mechanicalReduction" />
      <compensator k_belt="4000.0"
                   mass_motor="0.05"
                   kd_motor="10.0"
                   lambda_motor="30.0"
                   lambda_joint="50.0"
                   lambda_combined="20.0" />
    </transmission>
  </xsl:template>


  <!-- Upper arm roll transmissions -->
  <xsl:template match="transmission[contains(@name,'_upper_arm_roll_trans')]">
    <transmission type="pr2_mechanism_model/PR2BeltCompensatorTransmission">
      <xsl:attribute name="name">
        <xsl:value-of select="@name" />
      </xsl:attribute>
      <xsl:apply-templates select="joint" />
      <xsl:apply-templates select="actuator" />
      <xsl:apply-templates select="mechanicalReduction" />
      <compensator k_belt="4000.0"
                   mass_motor="0.05"
                   kd_motor="5.0"
                   lambda_motor="30.0"
                   lambda_joint="50.0"
                   lambda_combined="20.0" />
    </transmission>
  </xsl:template>


  
  
  <!-- identity template -->
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
  
</xsl:stylesheet>
