<?xml version = "1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from robot.xacro                    | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="alex_sake_hands">

		<!-- 8020 Base, Chest and Head -->
	<link name="Pelvis">
		<inertial>
			<mass value="4.074"/>
			<origin rpy="0 0 0" xyz="-0.010295 -0.001599 0.056458"/>
			<inertia ixx="0.010219858" ixy="-0.00012501" ixz="-0.001101619" iyy="0.015397437" iyz="-0.000162984" izz="0.015996955" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/ALX02_02_A01_BaseLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/ALX02_02_A01_BaseLink.obj" />
      </geometry>
    </collision>
	</link>
	<!-- Spine Joints -->
	<joint name="SpineYaw" type="revolute">
		<origin rpy="0 0 0" xyz="0 0 0.1045" />
		<axis xyz="0 0 1" />
		<parent link="Pelvis" />
		<child link="SpineYawLink" />
		<limit effort="150" lower="-1.0472" upper="1.0472" velocity = "9.0" />
		<dynamics damping="0.05" friction="0.0"/>
    </joint>

	<joint name="SpineRoll" type="revolute">
		<origin rpy="0 0 0" xyz="-0.015 0 0.0528" />
		<axis xyz="1 0 0" />
		<parent link="SpineYawLink" />
		<child link="SpineRollLink" />
		<limit effort="150.0" lower="-0.436332" upper="0.436332" velocity = "6.0" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<joint name="SpinePitch" type="revolute">
		<origin rpy="0 0 0" xyz="0 0 0.035" />
		<axis xyz="0 1 0" />
		<parent link="SpineRollLink" />
		<child link="Torso" />
		<limit effort="250.0" lower="-0.523599" upper="0.785398" velocity = "6.0" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<!-- Spine Links -->
	<link name="SpineYawLink">
		<inertial>
			<mass value="1.839"/>
			<origin rpy="0 0 0" xyz="0.00785 0.001802 0.030654"/>
			<inertia ixx="0.005450626" ixy="0.000208526" ixz="-0.001171705" iyy="0.007137808" iyz="0.000116812" izz="0.006970545"/>
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/ALX02_02_A04_BaseDiffLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/ALX02_02_A04_BaseDiffLink.obj" />
      </geometry>
    </collision>
	</link>

	<link name="SpineRollLink">
		<inertial>
			<mass value="0.235"/>
			<origin rpy="0 0 0" xyz="0.000674 0.000626 0.018996"/>
			<inertia ixx="0.000188204" ixy="0.000000058" ixz="0.000002065" iyy="0.000148152" iyz="-0.000002403" izz="0.000195223"/>
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/ALX02_02_A05_UJointLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/ALX02_02_A05_UJointLink.obj" />
      </geometry>
    </collision>
	</link>

	<!-- Torso Link -->
	<link name="Torso">
		<inertial>
			<mass value="17.574"/>
			<origin rpy="0 0 0" xyz="0.003673 0.000059 0.160289"/>
			<inertia ixx="0.24725248" ixy="-0.000080922" ixz="0.000927935" iyy="0.158680043" iyz="0.000328726" izz="0.153487995"/>
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/ALX02_02_A06_TorsoLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/ALX02_02_A06_TorsoLink.obj" />
      </geometry>
    </collision>
	</link>

	<!-- TORSO IMU's NOTE: The torso IMUs are redundant-->
	<!-- Torso Left IMU. Currently not used for anything-->
	<link name="TorsoLeftIMULink">
		<inertial>
			<mass value="0"/>
			<origin rpy="0 0 0" xyz="0 0 0"/>
			<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
		</inertial>
	</link>
	<joint name="TorsoLeftIMUJoint" type="fixed">
		<origin rpy="1.5707963267948966 -0.6981317007977316 1.5707963267948961" xyz="0.07978495 0.10932294 0.17623744"/>
		<axis xyz="0 0 1"/>
		<parent link="Torso"/>
		<child link="TorsoLeftIMULink"/>
	</joint>
	<gazebo reference="TorsoLeftIMULink">
		<sensor name="TorsoLeftIMU" type="imu">
			<always_on>true</always_on>
			<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>

	<!-- Torso Right IMU. Currently not used for anything-->
	<link name="TorsoRightIMULink">
		<inertial>
			<mass value="0"/>
			<origin rpy="0 0 0" xyz="0 0 0"/>
			<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
		</inertial>
	</link>
	<joint name="TorsoRightIMUJoint" type="fixed">
		<origin rpy="1.5707963267948966 0.6981317007977319 1.5707963267948966" xyz="0.07978495 -0.09055680 0.16048643"/>
		<axis xyz="0 0 1"/>
		<parent link="Torso"/>
		<child link="TorsoRightIMULink"/>
	</joint>
	<gazebo reference="TorsoRightIMULink">
		<sensor name="TorsoRightIMU" type="imu">
			<always_on>true</always_on>
			<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>

	<!-- Neck Joints -->
	<joint name="NeckYaw" type="revolute">
		<origin rpy="0 0 0" xyz="0 0 0.307953" /> <!-- placeholder for the joint location -->
		<axis xyz="0 0 1" />
		<parent link="Torso" />
		<child link="NeckYawLink" />
		<limit effort="20" lower="-1.5708" upper="1.5708" velocity = "20" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<joint name="NeckPitch" type="revolute">
		<origin rpy="0 0 0" xyz="0.025 0.01 0.207252" />
		<axis xyz="0 1 0" />
		<parent link="NeckYawLink" />
		<child link="Head" />
		<limit effort="20" lower="-1.0472" upper="1.0472" velocity = "20" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<!--	 Neck and Head -->
	<!--	 Inertia data is a placeholder -->
	<link name="NeckYawLink">
		<inertial>
			<mass value="1.141"/>
			<origin rpy="0 0 0" xyz="0.007143 0.006943 0.109823"/>
			<inertia ixx="0.007475898" ixy="-0.000075723" ixz="-0.000745362" iyy="0.007407578" iyz="-0.000436948" izz="0.00109269" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/ALX02_01_A03_NeckLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/ALX02_01_A03_NeckLink.obj" />
      </geometry>
    </collision>
	</link>

	<link name="Head">
		<inertial>
			<mass value="1.677"/>
			<origin rpy="0 0 0" xyz="0.03237 -0.013568 0.007163"/>
			<inertia ixx="0.006026191" ixy="-0.000197484" ixz="0.001813659" iyy="0.008182071" iyz="-0.000042529" izz="0.00644909"/>
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/ALX02_01_A02_HeadLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/ALX02_01_A02_HeadLink.obj" />
      </geometry>
    </collision>
	</link>

	<!-- NeckBaseIMU-->
	<!-- this is an IMU on top of the Neck yaw motor controller board-->
	<link name="TorsoIMULink">
		<inertial>
			<mass value="0"/>
			<origin rpy="0 0 0" xyz="0 0 0"/>
			<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
		</inertial>
	</link>
	<joint name="TorsoIMUJoint" type="fixed">
		<origin rpy="0 0 -1.5707963267948966" xyz="0.00399725 -0.01225021 0.24512039"/>
		<axis xyz="0 0 1"/>
		<parent link="Torso"/>
		<child link="TorsoIMULink"/>
	</joint>
	<gazebo reference="TorsoIMULink">
		<sensor name="TorsoIMU" type="imu">
			<always_on>true</always_on>
			<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>

	<!-- LEFT ARM -->
	<!-- left upper arm joints -->
	<joint name="LeftShoulderPitch" type="revolute">
		<origin xyz="0 0.12799 0.235694" rpy="0.698132 0.0 0.0"   />
		<axis xyz="0.0 1.0 0.0" />
		<parent link="Torso" />
		<child link="LeftShoulderPitchLink" />
		<limit effort="150.0" lower="-3.141592" upper="1.22173" velocity = "9.0" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<joint name="LeftShoulderRoll" type="revolute">
		<origin rpy="-0.698132 0.0 0.0" xyz="0.0 0.15676000 -0.01300000" />
		<axis xyz="1 0 0" />
		<parent link="LeftShoulderPitchLink" />
		<child link="LeftShoulderRollLink" />
		<limit effort="150.0" lower="-0.349066" upper="2.79253" velocity = "9.0" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<joint name="LeftShoulderYaw" type="revolute">
		<origin rpy="0.0 0.0 0.0" xyz="0.0 0.035 0.0" />
		<axis xyz="0.0 0.0 1.0" />
		<parent link="LeftShoulderRollLink" />
		<child link="LeftShoulderYawLink" />
		<limit effort="80.0" lower="-1.91986" upper="1.22173" velocity = "11.5" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<joint name="LeftElbowPitch" type="revolute">
		<origin rpy="0.0 0.0 0.0" xyz="0.015 0.0 -0.3127" />
		<axis xyz="0.0 1.0 0.0" />
		<parent link="LeftShoulderYawLink" />
		<child link="LeftElbowPitchLink" />
		<limit effort="80.0" lower="-2.35619" upper="0.174532925" velocity = "11.5" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<!-- left wrist joints -->
	<joint name="LeftWristYaw" type="revolute">
		<origin xyz="-0.015 0.0 0.0" rpy="0.0 0.0 0.0"   />
		<axis xyz="0.0 0.0 1.0" />
		<parent link="LeftElbowPitchLink" />
		<child link="LeftWristYawLink" />
		<limit effort="20.0" lower="-2.61799" upper="2.61799" velocity = "25.0" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<joint name="LeftWristRoll" type="revolute">
		<origin xyz="0.0 -0.013 -0.25" rpy="0.0 0.0 0.0"/>
		<axis xyz="1 0 0" />
		<parent link="LeftWristYawLink" />
		<child link="LeftWristRollLink" />
		<limit effort="20.0" lower="-1.8326" upper="0.610865" velocity = "25.0" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<joint name="LeftGripperYaw" type="revolute">
		<origin xyz="0.0 0.013 -0.031" rpy="0.0 0.0 0.0" />
		<axis xyz="0.0 0.0 1.0" />
		<parent link="LeftWristRollLink" />
		<child link="LeftGripperYawLink" />
		<limit effort="20.0" lower="-2.61799" upper="2.61799" velocity = "25.0" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<!-- left upper arm links -->
	<link name="LeftShoulderPitchLink">
		<inertial>
			<mass value="2.99"/>
			<origin
					rpy="0 0 0"
					xyz="-0.00264 0.12135 -0.006824"/>
			<inertia ixx="0.0111046" ixy="0.0002882" ixz="-0.000054" iyy="0.0051699" iyz="0.0009318" izz="0.01176" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftShoulderPitchLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftShoulderPitchLink.obj" />
      </geometry>
    </collision>
	</link>

	<link name="LeftShoulderRollLink">
		<inertial>
			<mass value="0.972"/>
			<origin
					rpy="0 0 0"
					xyz="0.01251711 0.0188309 -0.03849849"/>
			<inertia ixx="0.0029485" ixy="0.0001386" ixz="-0.0003345" iyy="0.0023587" iyz="0.0005255" izz="0.0014366" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftShoulderRollLink_shortBicep.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftShoulderRollLink_shortBicep.obj" />
      </geometry>
    </collision>
	</link>

	<link name="LeftShoulderYawLink">
		<inertial>
			<mass value="2.91"/>
			<origin
					rpy="0 0 0"
					xyz="0.00510403 0.00314332 -0.21695413"/>
			<inertia ixx="0.0267829" ixy="-0.000011" ixz="0.0015998" iyy="0.0265514" iyz="0.0004426" izz="0.003052" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftShoulderYawLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0867"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftShoulderYawLink.obj" />
      </geometry>
    </collision>
	</link>

	<!-- left wrist links -->
	<link name="LeftElbowPitchLink">
		<inertial>
			<mass value="0.45"/>
			<origin
					rpy="0 0 0"
					xyz="-0.01180322 -0.0035763 -0.04946747"/>

			<inertia ixx="0.0007362" ixy="-0.0000088" ixz="-0.0000292" iyy="0.0006567" iyz="0.0001499" izz="0.0004897" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftElbowPitchLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftElbowPitchLink.obj" />
      </geometry>
    </collision>
	</link>

	<link name="LeftWristYawLink">
		<inertial>
			<mass value="1.547"/> <!-- This is a measured value. Refer to https://docs.google.com/spreadsheets/d/1VXWFJk3VJUsfkHrDaytB2INq94un1KytIOzcKJD0p44/edit?gid=0#gid=0  -->
			<origin
					rpy="0 0 0"
					xyz="-0.00263832 -0.00050534 -0.13018376"/>

			<inertia ixx="0.0037869" ixy="0.0000163" ixz="-0.0000252" iyy="0.004071" iyz="-0.0000924" izz="0.0015203" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftWristYawLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftWristYawLink.obj" />
      </geometry>
    </collision>
	</link>


	<link name="LeftWristRollLink">
		<inertial>
			<mass value="0.909"/> <!-- This is a measured value. Refer to https://docs.google.com/spreadsheets/d/1VXWFJk3VJUsfkHrDaytB2INq94un1KytIOzcKJD0p44/edit?gid=0#gid=0  -->
			<origin
					rpy="0 0 0"
					xyz="0.00004053 0.01038395 0.00035532"/>

			<inertia ixx="0.000477" ixy="-0.0000079" ixz="-0.0000097" iyy="0.0004902" iyz="-0.0000008" izz="0.000514" />
		</inertial>

		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftWristRollLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftWristRollLink.obj" />
      </geometry>
    </collision>
	</link>


	<link name="LeftGripperYawLink">
		<inertial>
			<mass value="0.251"/>
			<origin
					rpy="0 0 0"
					xyz="-0.000217 -0.000349 0.009761"/>
			<inertia ixx="0.0000722" ixy="-0.0000016" ixz="-0.0000037" iyy="0.0000747" iyz="0.0000004" izz="0.0000324" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftGripperYawLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/LeftGripperYawLink.obj" />
      </geometry>
    </collision>
	</link>

	<!-- LEFT ARM IMU's -->
	<!-- Left Shoulder Pitch IMU Information -->
	<link name="LeftShoulderPitchIMULink">
		<inertial>
			<mass value="0"/>
			<origin rpy="0 0 0" xyz="0 0 0"/>
			<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
		</inertial>
	</link>
	<joint name="LeftShoulderPitchIMUJoint" type="fixed">
		<origin rpy="-3.141592 0 -1.57079632679" xyz="0.01432621 0.0755071 -0.00245783"/>
		<axis xyz="0 0 1"/>
		<parent link="LeftShoulderPitchLink"/>
		<child link="LeftShoulderPitchIMULink"/>
	</joint>
	<gazebo reference="LeftShoulderPitchIMULink">
		<sensor name="LeftShoulderPitchIMU" type="imu">
			<always_on>true</always_on>
			<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>

	<!-- Left ShoulderYaw IMU Note: in CAD this is the left bicep IMU -->
	<link name="LeftShoulderYawIMULink">
		<inertial>
			<mass value="0"/>
			<origin rpy="0 0 0" xyz="0 0 0"/>
			<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
		</inertial>
	</link>
	<joint name="LeftShoulderYawIMUJoint" type="fixed">
		<origin rpy="1.570796 3.1415926 -0.314159" xyz="-0.00633723 -0.00669505 -0.19881468"/>
		<axis xyz="0 0 1"/>
		<parent link="LeftShoulderYawLink"/>
		<child link="LeftShoulderYawIMULink"/>
	</joint>
	<gazebo reference="LeftShoulderYawIMULink">
		<sensor name="LeftShoulderYawIMU" type="imu">
			<always_on>true</always_on>
			<pose>0 0 0 0 0 0</pose>
			<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>

	<!-- Left Wrist Yaw IMU Note: in CAD this is the left bicep IMU -->
	<link name="LeftWristYawIMULink">
		<inertial>
			<mass value="0"/>
			<origin rpy="0 0 0" xyz="0 0 0"/>
			<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
		</inertial>
	</link>

	<joint name="LeftWristYawIMUJoint" type="fixed">
		<origin rpy="1.571  0.0 1.571" xyz="-0.048986 0.011658 -0.149476"/>
		<axis xyz="0 0 1"/>
		<parent link="LeftWristYawLink"/>
		<child link="LeftWristYawIMULink"/>
	</joint>

	<gazebo reference="LeftWristYawIMULink">
		<sensor name="LeftWristYawIMU" type="imu">
			<always_on>true</always_on>
			<imu> <!-- placeholder tag for IMU --> </imu>
		</sensor>
	</gazebo>

	<!-- RIGHT ARM -->
	<!-- Right Upper Arm Joints -->
	<joint name="RightShoulderPitch" type="revolute">
		<origin xyz="0 -0.12799 0.235694" rpy="-0.698132 0.0 0.0"   />
		<axis xyz="0.0 1.0 0.0" />
		<parent link="Torso" />
		<child link="RightShoulderPitchLink" />
		<limit effort="1000" lower="-3.141592" upper="1.22173" velocity = "100" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>
	<joint name="RightShoulderRoll" type="revolute">
		<origin rpy="0.698132 0.0 0.0" xyz="0.0 -0.15676000 -0.01300000" />
		<axis xyz="1 0 0" />
		<parent link="RightShoulderPitchLink" />
		<child link="RightShoulderRollLink" />
		<limit effort="1000" lower="-2.79253" upper="0.349066" velocity = "100" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>
	<joint name="RightShoulderYaw" type="revolute">
		<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.035 0.0" />
		<axis xyz="0.0 0.0 1.0" />
		<parent link="RightShoulderRollLink" />
		<child link="RightShoulderYawLink" />
		<limit effort="1000" lower="-1.22173" upper="1.91986" velocity = "100" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>
	<joint name="RightElbowPitch" type="revolute">
		<origin rpy="0.0 0.0 0.0" xyz="0.015 0.0 -0.3127" />
		<axis xyz="0.0 1.0 0.0" />
		<parent link="RightShoulderYawLink" />
		<child link="RightElbowPitchLink" />
		<limit effort="1000" lower="-2.35619" upper="0.174532925" velocity = "100" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<!-- Right wrist joints -->
	<joint name="RightWristYaw" type="revolute">
		<origin xyz="-0.015 0.0 0.0" rpy="0.0 0.0 0.0"   />
		<axis xyz="0.0 0.0 1.0" />
		<parent link="RightElbowPitchLink" />
		<child link="RightWristYawLink" />
		<limit effort="20.0" lower="-2.61799" upper="2.61799" velocity = "25.0" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<joint name="RightWristRoll" type="revolute">
		<origin xyz="0.0 0.013 -0.25" rpy="0.0 0.0 0.0"/>
		<axis xyz="1 0 0" />
		<parent link="RightWristYawLink" />
		<child link="RightWristRollLink" />
		<limit effort="20.0" lower="-0.610865" upper="1.8326" velocity = "25.0" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<joint name="RightGripperYaw" type="revolute">
		<origin xyz="0.0 -0.013 -0.031" rpy="0.0 0.0 0.0" />
		<axis xyz="0.0 0.0 1.0" />
		<parent link="RightWristRollLink" />
		<child link="RightGripperYawLink" />
		<limit effort="20.0" lower="-2.61799" upper="2.61799" velocity = "25.0" />
		<dynamics damping="0.05" friction="0.0"/>
	</joint>

	<!-- Right Upper Arm Links -->
	<link name="RightShoulderPitchLink">
		<inertial>
			<mass value="2.99"/>
			<origin rpy="0 0 0" xyz="-0.00264 -0.12135 -0.006824"/>
			<inertia ixx="0.0110394" ixy="-0.0003041" ixz="-0.0000594" iyy="0.0051097" iyz="-0.0009183" izz="0.0116925" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightShoulderPitchLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightShoulderPitchLink.obj" />
      </geometry>
    </collision>
	</link>

	<link name="RightShoulderRollLink">
		<inertial>
			<mass value="0.972"/>
			<origin rpy="0 0 0" xyz="0.012489 -0.01882 -0.0385"/>
			<inertia ixx="0.002949" ixy="-0.000135" ixz="-0.0003358" iyy="0.0023603" iyz="-0.0005249" izz="0.0014377" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightShoulderRollLink_shortBicep.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightShoulderRollLink_shortBicep.obj" />
      </geometry>
    </collision>
	</link>

	<link name="RightShoulderYawLink">
		<inertial>
			<mass value="2.91"/>
			<origin rpy="0 0 0" xyz="0.00524 -0.00274 -0.21745"/>
			<inertia ixx="0.0248699" ixy="0.0000211" ixz="0.0000211" iyy="0.0245973" iyz="-0.0004444" izz="0.0029883" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightShoulderYawLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0867"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightShoulderYawLink.obj" />
      </geometry>
    </collision>
	</link>

	<!-- right wrist links -->
	<link name="RightElbowPitchLink">
		<inertial>
			<mass value="0.45"/>
			<origin xyz="-0.0127 0.006913 -0.048421" rpy="0 0 0"/>
			<inertia ixx="0.0006446" ixy="-0.0000073" ixz="-0.0000345" iyy="0.000625" iyz="-0.0001257" izz="0.0003922" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightElbowPitchLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightElbowPitchLink.obj" />
      </geometry>
    </collision>
	</link>

	<link name="RightWristYawLink">
		<inertial>
			<mass value="1.547"/> <!-- This is a measured value. Refer to https://docs.google.com/spreadsheets/d/1VXWFJk3VJUsfkHrDaytB2INq94un1KytIOzcKJD0p44/edit?gid=0#gid=0  -->
			<origin xyz="-0.002616 0.000462 -0.13019" rpy="0 0 0"/>
			<inertia ixx="0.0037805" ixy="-0.0000177" ixz="-0.000025" iyy="0.0040639" iyz="0.00009" izz="0.0015151" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightWristYawLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightWristYawLink.obj" />
      </geometry>
    </collision>
	</link>

	<link name="RightWristRollLink">
		<inertial>
			<mass value="0.909"/> <!-- This is a measured value. Refer to https://docs.google.com/spreadsheets/d/1VXWFJk3VJUsfkHrDaytB2INq94un1KytIOzcKJD0p44/edit?gid=0#gid=0  -->
			<origin xyz="-0.0000481 -0.012143 0.000196" rpy="0 0 0"/>
			<inertia ixx="0.0005535" ixy="0.0000081" ixz="-0.0000231" iyy="0.0005559" iyz="0.0000012" izz="0.0005893" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightWristRollLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightWristRollLink.obj" />
      </geometry>
    </collision>
	</link>

	<link name="RightGripperYawLink">
		<inertial>
			<mass value="0.251"/>
			<origin rpy="0 0 0" xyz="-0.000217 -0.000349 0.009761"/>
			<inertia ixx="0.0000722" ixy="-0.0000016" ixz="-0.0000037" iyy="0.0000747" iyz="0.0000004" izz="0.0000324" />
		</inertial>
		<visual>
			<geometry>
				<mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightGripperYawLink.obj"/>
			</geometry>
			<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
		</visual>
	<collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/cycloidal_arm/RightGripperYawLink.obj" />
      </geometry>
    </collision>
	</link>
	<!-- Right ARM IMU's -->
	<!-- Right Shoulder Pitch IMU Information -->
	<link name="RightShoulderPitchIMULink">
		<inertial>
			<mass value="0"/>
			<origin rpy="0 0 0" xyz="0 0 0"/>
			<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
		</inertial>
	</link>
	<joint name="RightShoulderPitchIMUJoint" type="fixed">
		<origin rpy="3.141592 0 -1.57079632679" xyz="0.01432621 -0.10001299 -0.00245783"/>
		<axis xyz="0 0 1"/>
		<parent link="RightShoulderPitchLink"/>
		<child link="RightShoulderPitchIMULink"/>
	</joint>
	<gazebo reference="RightShoulderPitchIMULink">
		<sensor name="RightShoulderPitchIMU" type="imu">
			<always_on>true</always_on>
			<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>

	<!-- Right ShoulderYaw IMU Note: in CAD this is the left bicep IMU -->
	<link name="RightShoulderYawIMULink">
		<inertial>
			<mass value="0"/>
			<origin rpy="0 0 0" xyz="0 0 0"/>
			<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
		</inertial>
	</link>
	<joint name="RightShoulderYawIMUJoint" type="fixed">
		<origin rpy="-1.570796 0.0 0.314159" xyz="0.00119168 0.00914134 -0.19881468"/>
		<axis xyz="0 0 1"/>
		<parent link="RightShoulderYawLink"/>
		<child link="RightShoulderYawIMULink"/>
	</joint>
	<gazebo reference="RightShoulderYawIMULink">
		<sensor name="RightShoulderYawIMU" type="imu">
			<always_on>true</always_on>
			<pose>0 0 0 0 0 0</pose>
			<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>

	<!-- Right Wrist Yaw IMU Note: in CAD this is the left bicep IMU -->
	<link name="RightWristYawIMULink">
		<inertial>
			<mass value="0"/>
			<origin rpy="0 0 0" xyz="0 0 0"/>
			<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
		</inertial>
	</link>

	<joint name="RightWristYawIMUJoint" type="fixed">
		<origin rpy="1.571  0.0 1.571" xyz="-0.048986 0.011658 -0.149476"/>
		<axis xyz="0 0 1"/>
		<parent link="RightWristYawLink"/>
		<child link="RightWristYawIMULink"/>
	</joint>

	<gazebo reference="RightWristYawIMULink">
		<sensor name="RightWristYawIMU" type="imu">
			<always_on>true</always_on>
			<imu> <!-- placeholder tag for IMU --> </imu>
		</sensor>
	</gazebo>

	<!-- Gripper Fixed Joints -->

	<joint name="LeftGrippertAttachmentFixedJoint" type="fixed">
		<origin rpy="0 0 0" xyz="0 0 -0.0210000"/>
		<parent link="LeftGripperYawLink"/>
		<child link="LeftSakePalmLink"/>
    </joint>
		<joint name="RightGrippertAttachmentFixedJoint" type="fixed">
		<origin rpy="0 0 0" xyz="0 0 -0.0210000"/>
		<parent link="RightGripperYawLink"/>
		<child link="RightSakePalmLink"/>
    </joint>

	<!-- HAND LINKS -->
	<!-- Right Sake Gripper -->
	<link name="RightSakePalmLink">
        <inertial>
            <mass value="0.3"/>
            <origin rpy="0 0 0" xyz="0.01 0.0 -0.06"/>
            <inertia ixx="5e-4" ixy="0.0" ixz="0.0" iyy="3e-4" iyz="0.0" izz="3e-4" />
        </inertial>
        <visual name="RightSakePalmLinkVisual">
            <origin xyz="0.0 0.0 0.0" rpy="0 0 0"/>
            <geometry>
                <mesh filename="package://example-robot-data/robots/alex_description/meshes/SakePalmLink.obj"/>
            </geometry>
        </visual>
     <collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/SakePalmLink.obj" />
      </geometry>
    </collision>
    </link>

	<joint name="Right_GRIPPER_X1" type="revolute">
        <origin xyz="0.0 0.0299 -0.0754" rpy="-0.25 0.0 0.0"/>
        <axis xyz="1.0 0.0 0.0"/>
        <parent link="RightSakePalmLink"/>
        <child link="RightSakeBaseFingerLink1"/>
        <dynamics damping="0.05" friction="0.0"/>
        <limit effort="1.0" lower="-0.06" upper="1.9" velocity="3.67"/>
    </joint>
    <joint name="RightSakeKnuckle1" type="fixed">
        <origin xyz="0.0 0.0 -0.052" rpy="0.0 0.0 0.0"/>
        <axis xyz="1.0 0.0 0.0"/>
        <parent link="RightSakeBaseFingerLink1"/>
        <child link="RightSakeFingerTip1"/>
        <dynamics damping="0.05" friction="0.0"/>
        <limit effort="1.0" lower="-1.0" upper="0.0" velocity="3.67"/>
    </joint>
    <joint name="Right_GRIPPER_X2" type="revolute">
        <origin xyz="0.0 -0.0299 -0.0754" rpy="0.25 0.0 0.0"/>
        <axis xyz="-1.0 0.0 0.0"/>
        <parent link="RightSakePalmLink"/>
        <child link="RightSakeBaseFingerLink2"/>
        <dynamics damping="0.05" friction="0.0"/>
        <limit effort="1.0" lower="-0.06" upper="1.9" velocity="3.67"/>
    </joint>
    <joint name="RightSakeKnuckle2" type="fixed">
        <origin xyz="0.0 0.0 -0.052" rpy="0.0 0.0 0.0"/>
        <axis xyz="-1.0 0.0 0.0"/>
        <parent link="RightSakeBaseFingerLink2"/>
        <child link="RightSakeFingerTip2"/>
        <dynamics damping="0.05" friction="0.0"/>
        <limit effort="1.0" lower="-1.0" upper="0.0" velocity="3.67"/>
	</joint>

	<link name="RightSakeBaseFingerLink1">
        <inertial>
            <mass value="0.05"/>
            <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.142"/>
            <inertia ixx="1e-4" ixy="0.0" ixz="0.0" iyy="1e-4" iyz="0.0" izz="1e-4"/>
        </inertial>
        <visual name="RIGHT_GRIPPER_ROLL1_LINK_visual">
            <origin xyz="0.0 0.0 0.0" rpy="1.571 0.0 0.0"/>
            <geometry>
                <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_knuckle.obj"/>
            </geometry>
        </visual>
      <collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_knuckle.obj" />
      </geometry>
    </collision>
    </link>
    <link name="RightSakeFingerTip1">
        <inertial>
            <mass value="0.05"/>
            <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
			<inertia ixx="1e-4" ixy="0.0" ixz="0.0" iyy="1e-4" iyz="0.0" izz="1e-4"/>
        </inertial>
        <visual name="RIGHT_GRIPPER_ROLL1_LINK_visual">
            <origin xyz="0.0 0.0 0.0" rpy="1.571 0.0 3.142"/>
            <geometry>
                <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_tip.obj"/>
            </geometry>
        </visual>
       <collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_tip.obj" />
      </geometry>
    </collision>
    </link>
    <link name="RightSakeBaseFingerLink2">
        <inertial>
            <mass value="0.05"/>
            <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
			<inertia ixx="1e-4" ixy="0.0" ixz="0.0" iyy="1e-4" iyz="0.0" izz="1e-4"/>
        </inertial>
        <visual name="RIGHT_GRIPPER_ROLL2_LINK_visual">
            <origin xyz="0.0 0.0 0.0" rpy="1.571 0.0 0.0"/>
            <geometry>
                <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_knuckle.obj"/>
            </geometry>
        </visual>
      <collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_knuckle.obj" />
      </geometry>
    </collision>
    </link>
    <link name="RightSakeFingerTip2">
        <inertial>
            <mass value="0.05"/>
            <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
			<inertia ixx="1e-4" ixy="0.0" ixz="0.0" iyy="1e-4" iyz="0.0" izz="1e-4"/>
        </inertial>
        <visual name="RIGHT_GRIPPER_ROLL1_LINK_visual">
            <origin xyz="0.0 0.0 0.0" rpy="1.571 0.0 0.0"/>
            <geometry>
                <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_tip.obj"/>
            </geometry>
        </visual>
      <collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_tip.obj" />
      </geometry>
    </collision>
    </link>

	<!-- Left Sake Gripper -->
	<link name="LeftSakePalmLink">
        <inertial>
            <mass value="0.3"/>
            <origin rpy="0 0 0" xyz="0.01 0.0 -0.06"/>
            <inertia ixx="5e-4" ixy="0.0" ixz="0.0" iyy="3e-4" iyz="0.0" izz="3e-4" />
        </inertial>
        <visual name="LeftSakePalmLinkVisual">
            <origin xyz="0.0 0.0 0.0" rpy="0 0 0"/>
            <geometry>
                <mesh filename="package://example-robot-data/robots/alex_description/meshes/SakePalmLink.obj"/>
            </geometry>
        </visual>
      <collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/SakePalmLink.obj" />
      </geometry>
    </collision>
    </link>

	<joint name="Left_GRIPPER_X1" type="revolute">
        <origin xyz="0.0 0.0299 -0.0754" rpy="-0.25 0.0 0.0"/>
        <axis xyz="1.0 0.0 0.0"/>
        <parent link="LeftSakePalmLink"/>
        <child link="LeftSakeBaseFingerLink1"/>
        <dynamics damping="0.05" friction="0.0"/>
        <limit effort="1.0" lower="-0.06" upper="1.9" velocity="3.67"/>
    </joint>
    <joint name="LeftSakeKnuckle1" type="fixed">
        <origin xyz="0.0 0.0 -0.052" rpy="0.0 0.0 0.0"/>
        <axis xyz="1.0 0.0 0.0"/>
        <parent link="LeftSakeBaseFingerLink1"/>
        <child link="LeftSakeFingerTip1"/>
        <dynamics damping="0.05" friction="0.0"/>
        <limit effort="1.0" lower="-1.0" upper="0.0" velocity="3.67"/>
    </joint>
    <joint name="Left_GRIPPER_X2" type="revolute">
        <origin xyz="0.0 -0.0299 -0.0754" rpy="0.25 0.0 0.0"/>
        <axis xyz="-1.0 0.0 0.0"/>
        <parent link="LeftSakePalmLink"/>
        <child link="LeftSakeBaseFingerLink2"/>
        <dynamics damping="0.05" friction="0.0"/>
        <limit effort="1.0" lower="-0.06" upper="1.9" velocity="3.67"/>
    </joint>
    <joint name="LeftSakeKnuckle2" type="fixed">
        <origin xyz="0.0 0.0 -0.052" rpy="0.0 0.0 0.0"/>
        <axis xyz="-1.0 0.0 0.0"/>
        <parent link="LeftSakeBaseFingerLink2"/>
        <child link="LeftSakeFingerTip2"/>
        <dynamics damping="0.05" friction="0.0"/>
        <limit effort="1.0" lower="-1.0" upper="0.0" velocity="3.67"/>
    </joint>

	<link name="LeftSakeBaseFingerLink1">
        <inertial>
            <mass value="0.05"/>
            <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
			<inertia ixx="1e-4" ixy="0.0" ixz="0.0" iyy="1e-4" iyz="0.0" izz="1e-4"/>
        </inertial>
        <visual name="LeftSakeBaseFingerLink1Visual">
            <origin xyz="0.0 0.0 0.0" rpy="1.571 0.0 3.142"/>
            <geometry>
                <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_knuckle.obj"/>
            </geometry>
        </visual>
      <collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_knuckle.obj" />
      </geometry>
    </collision>
    </link>
    <link name="LeftSakeFingerTip1">
        <inertial>
            <mass value="0.05"/>
            <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
			<inertia ixx="1e-4" ixy="0.0" ixz="0.0" iyy="1e-4" iyz="0.0" izz="1e-4"/>
        </inertial>
        <visual name="LeftSakeFingerTip1Visual">
            <origin xyz="0.0 0.0 0.0" rpy="1.571 0.0 3.142"/>
            <geometry>
                <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_tip.obj"/>
            </geometry>
        </visual>
      <collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_tip.obj" />
      </geometry>
    </collision>
    </link>
    <link name="LeftSakeBaseFingerLink2">
        <inertial>
            <mass value="0.05"/>
            <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
			<inertia ixx="1e-4" ixy="0.0" ixz="0.0" iyy="1e-4" iyz="0.0" izz="1e-4"/>
        </inertial>
        <visual name="LeftSakeBaseFingerLink2Visual">
            <origin xyz="0.0 0.0 0.0" rpy="1.571 0.0 0.0"/>
            <geometry>
                <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_knuckle.obj"/>
            </geometry>
        </visual>
      <collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_knuckle.obj" />
      </geometry>
    </collision>
    </link>
    <link name="LeftSakeFingerTip2">
        <inertial>
            <mass value="0.05"/>
            <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
			<inertia ixx="1e-4" ixy="0.0" ixz="0.0" iyy="1e-4" iyz="0.0" izz="1e-4"/>
        </inertial>
        <visual name="LeftSakeFingerTip2Visual">
            <origin xyz="0.0 0.0 0.0" rpy="1.571 0.0 0.0"/>
            <geometry>
                <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_tip.obj"/>
            </geometry>
        </visual>
      <collision>
      <origin xyz="0 0 0.0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://example-robot-data/robots/alex_description/meshes/sake_finger_tip.obj" />
      </geometry>
    </collision>
    </link>
</robot>
