1840 lines
63 KiB
XML
1840 lines
63 KiB
XML
<?xml version="1.0" ?>
|
|
<!-- =================================================================================== -->
|
|
<!-- | This document was autogenerated by xacro from /home/jrivero/code/drcsim_default/ros/atlas_description/robots/atlas.urdf.xacro | -->
|
|
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
|
|
<!-- =================================================================================== -->
|
|
<robot name="atlas">
|
|
<link name="l_clav">
|
|
<inertial>
|
|
<mass value="2.369"/>
|
|
<origin rpy="0 -0 0" xyz="0.014 0.058 0.029"/>
|
|
<inertia ixx="0.004" ixy="0.001" ixz="0" iyy="0.006" iyz="0" izz="0.007"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="1.04719755 0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/l_clav.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 1.5707963267949 0" xyz="0 0.0697 0.0261"/>
|
|
<geometry>
|
|
<cylinder length="0.1525" radius="0.045"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="1.0472 0 0" xyz="-0.005 -0.0074 -0.0538"/>
|
|
<geometry>
|
|
<box size="0.13 0.15 0.05"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="l_farm">
|
|
<inertial>
|
|
<mass value="0.981"/>
|
|
<origin rpy="0 -0 0" xyz="0 0.041 0"/>
|
|
<inertia ixx="0.003" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.003"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 -0.06 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/l_farm.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 1.5708 0" xyz="0.0 0.065 0.004"/>
|
|
<geometry>
|
|
<cylinder length="0.125" radius="0.045"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0.001 0.015 -0.002"/>
|
|
<geometry>
|
|
<box size="0.135 0.1 0.045"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="l_foot">
|
|
<inertial>
|
|
<mass value="0.867"/>
|
|
<origin rpy="0 -0 0" xyz="0.027 0 -0.067"/>
|
|
<inertia ixx="0.002" ixy="0" ixz="0" iyy="0.00350421" iyz="0" izz="0.00400651"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/l_foot.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<!-- bottom -->
|
|
<collision group="default">
|
|
<origin rpy="0 0 0" xyz="0.048 0 -0.056119"/>
|
|
<geometry>
|
|
<box size="0.26 0.124887 0.05"/>
|
|
</geometry>
|
|
</collision>
|
|
<!-- ankle FIXME: adding this collision body destabilizes robot, shouldn't
|
|
<collision group="other">
|
|
<origin xyz="0.0 0 -0.0528735" rpy="0 0 0"/>
|
|
<geometry>
|
|
<cylinder radius="0.0373" length="0.037827"/>
|
|
</geometry>
|
|
</collision>
|
|
-->
|
|
</link>
|
|
<link name="l_hand">
|
|
<inertial>
|
|
<mass value="2.263"/>
|
|
<origin rpy="0 -0 0" xyz="0 0.093 0"/>
|
|
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.002" iyz="0" izz="0.01"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/l_hand.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0.001 0.1 0.01"/>
|
|
<geometry>
|
|
<cylinder length="0.05" radius="0.03"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0.001 0.05 0.01"/>
|
|
<geometry>
|
|
<box size="0.13 0.09 0.07"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="l_larm">
|
|
<inertial>
|
|
<mass value="2.148"/>
|
|
<origin rpy="0 -0 0" xyz="-0.003 0.099 -0.014"/>
|
|
<inertia ixx="0.005" ixy="0" ixz="0" iyy="0.003" iyz="0" izz="0.006"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/l_larm.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0.001 0.127 0.00"/>
|
|
<geometry>
|
|
<cylinder length="0.125" radius="0.045"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0.001 0.051 0.0"/>
|
|
<geometry>
|
|
<box size="0.135 0.15 0.06"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="l_lglut">
|
|
<inertial>
|
|
<mass value="0.803"/>
|
|
<origin rpy="0 -0 0" xyz="0.0133341 0.0170484 -0.0312052"/>
|
|
<inertia ixx="0.0453457" ixy="-2.24344e-05" ixz="2.50508e-06" iyy="0.0174182" iyz="0.000137862" izz="0.0071591"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/l_lglut.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0.049968 0.022488 -0.0501165"/>
|
|
<geometry>
|
|
<cylinder length="0.060306" radius="0.02009687"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 1.5707963267949 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<cylinder length="0.12" radius="0.02"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="l_lleg">
|
|
<inertial>
|
|
<mass value="4.367"/>
|
|
<origin rpy="0 -0 0" xyz="0.001 0 -0.187"/>
|
|
<inertia ixx="0.077" ixy="0" ixz="-0.003" iyy="0.076" iyz="0" izz="0.01"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/l_lleg.dae" scale="1.0 1.0 1.0"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 0.10 0" xyz="0.02 0.00295 -0.18"/>
|
|
<geometry>
|
|
<cylinder length="0.40" radius="0.07"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="l_scap">
|
|
<inertial>
|
|
<mass value="2.707"/>
|
|
<origin rpy="0 -0 0" xyz="-0.002 0.108 0"/>
|
|
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.005" iyz="0" izz="0.013"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/l_scap.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0.001 0.12651 0.01521"/>
|
|
<geometry>
|
|
<cylinder length="0.125" radius="0.045"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0.001 0.05 0.016"/>
|
|
<geometry>
|
|
<box size="0.15 0.15 0.06"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="l_talus">
|
|
<inertial>
|
|
<mass value="0.867"/>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<inertia ixx="0.001" ixy="0" ixz="0" iyy="0.00350421" iyz="0" izz="0.00400651"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/l_talus.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 1.5707963267949 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<cylinder length="0.029542" radius="0.010181"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<cylinder length="0.010059" radius="0.010348"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="l_uarm">
|
|
<inertial>
|
|
<mass value="1.881"/>
|
|
<origin rpy="0 -0 0" xyz="0.007 0.114 0.008"/>
|
|
<inertia ixx="0.002" ixy="0" ixz="0" iyy="0.003" iyz="0" izz="0.003"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/l_uarm.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 1.5708 0" xyz="0.001 0.111 0.0"/>
|
|
<geometry>
|
|
<cylinder length="0.125" radius="0.045"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 1.5707963267949 0" xyz="0.001 0.043 0.01"/>
|
|
<geometry>
|
|
<box size="0.04 0.07 0.13"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="l_uglut">
|
|
<inertial>
|
|
<mass value="1.51622"/>
|
|
<origin rpy="0 -0 0" xyz="0.00529262 -0.00344732 0.00313046"/>
|
|
<inertia ixx="0.0327037" ixy="-3.79607e-08" ixz="-2.79549e-05" iyy="0.0174182" iyz="-3.2735e-08" izz="0.0071591"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/l_uglut.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 1.5707963267949 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<cylinder length="0.078396" radius="0.019096"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<cylinder length="0.080842" radius="0.019841"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="l_uleg">
|
|
<inertial>
|
|
<mass value="7.227"/>
|
|
<origin rpy="0 -0 0" xyz="0 0 -0.21"/>
|
|
<inertia ixx="0.0453457" ixy="0" ixz="0" iyy="0.09" iyz="0" izz="0.0071591"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/l_uleg.dae" scale="1.0 1.0 1.0"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 0 0" xyz="-0.0179 0.02085 -0.13"/>
|
|
<geometry>
|
|
<cylinder length="0.10" radius="0.1"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 -0.3 0" xyz="-0.03 0.01 -0.23"/>
|
|
<geometry>
|
|
<cylinder length="0.15" radius="0.07"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0.3 0" xyz="-0.005 0.01 -0.23"/>
|
|
<geometry>
|
|
<cylinder length="0.15" radius="0.07"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="-0.25 0 0" xyz="-0.02 0.03 -0.23"/>
|
|
<geometry>
|
|
<cylinder length="0.15" radius="0.07"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="ltorso">
|
|
<inertial>
|
|
<mass value="1.62729"/>
|
|
<origin rpy="0 -0 0" xyz="-0.0112984 -3.15366e-06 0.0746835"/>
|
|
<inertia ixx="0.0646646" ixy="-5.04491e-08" ixz="-0.000342157" iyy="0.050298" iyz="4.87119e-07" izz="0.10973"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/ltorso.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<!-- this part is completely internal
|
|
<collision group="default">
|
|
<origin rpy="0 0 0" xyz="0 0 0.039762"/>
|
|
<geometry>
|
|
<cylinder radius="0.025918" length="0.076922"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0 0.0250065 0.09025"/>
|
|
<geometry>
|
|
<cylinder radius="0.014828" length="0.020367"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0 -0.0248895 0.09025"/>
|
|
<geometry>
|
|
<cylinder radius="0.014828" length="0.020169"/>
|
|
</geometry>
|
|
</collision>
|
|
-->
|
|
</link>
|
|
<link name="mtorso">
|
|
<inertial>
|
|
<mass value="3.8068"/>
|
|
<origin rpy="0 -0 0" xyz="-0.00816266 -0.0131245 0.0305974"/>
|
|
<inertia ixx="0.1975" ixy="-6.10764e-05" ixz="3.94009e-05" iyy="0.544742" iyz="5.27463e-05" izz="0.10973"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/mtorso.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<cylinder length="0.03" radius="0.017"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 1.5707963267949 0" xyz="0.0285 0 0.05"/>
|
|
<geometry>
|
|
<cylinder length="0.02" radius="0.015"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 1.5707963267949 0" xyz="-0.0285 0 0.05"/>
|
|
<geometry>
|
|
<cylinder length="0.02" radius="0.015"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="pelvis">
|
|
<inertial>
|
|
<mass value="12.54638"/>
|
|
<origin rpy="0 -0 0" xyz="0.0111 0 0.0271"/>
|
|
<inertia ixx="0.0327037" ixy="0.0008" ixz="-0.0007" iyy="0.0174182" iyz="-0.0005" izz="0.118059"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/pelvis.dae" scale="1.0 1.0 1.0"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0.046 0.0 -0.02"/>
|
|
<geometry>
|
|
<cylinder length="0.06" radius="0.11"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="1.5707963267949 0 0" xyz="-0.03 0.0 -0.02"/>
|
|
<geometry>
|
|
<cylinder length="0.06" radius="0.11"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0.01 0.042 0.09"/>
|
|
<geometry>
|
|
<cylinder length="0.05" radius="0.16"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0.01 -0.042 0.09"/>
|
|
<geometry>
|
|
<cylinder length="0.05" radius="0.16"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="-0.1 0 -0.05"/>
|
|
<geometry>
|
|
<box size="0.1 0.15 0.2"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="r_clav">
|
|
<inertial>
|
|
<mass value="2.369"/>
|
|
<origin rpy="0 -0 0" xyz="0.014 -0.058 0.029"/>
|
|
<inertia ixx="0.004" ixy="-0.001" ixz="0" iyy="0.006" iyz="0" izz="0.007"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="-1.04719755 0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/r_clav.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 1.5707963267949 0" xyz="0 -0.0697 0.0261"/>
|
|
<geometry>
|
|
<cylinder length="0.1525" radius="0.045"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="-1.0472 0 0" xyz="-0.005 0.0074 -0.0538"/>
|
|
<geometry>
|
|
<box size="0.13 0.15 0.05"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="r_farm">
|
|
<inertial>
|
|
<mass value="0.981"/>
|
|
<origin rpy="0 -0 0" xyz="0 -0.041 0"/>
|
|
<inertia ixx="0.003" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.003"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0.06 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/r_farm.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 1.5708 0" xyz="0.0 -0.065 0.004"/>
|
|
<geometry>
|
|
<cylinder length="0.125" radius="0.045"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0.001 -0.015 -0.002"/>
|
|
<geometry>
|
|
<box size="0.135 0.1 0.045"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="r_foot">
|
|
<inertial>
|
|
<mass value="0.867"/>
|
|
<origin rpy="0 -0 0" xyz="0.027 0 -0.067"/>
|
|
<inertia ixx="0.002" ixy="0" ixz="0" iyy="0.00350421" iyz="0" izz="0.00400651"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/r_foot.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<!-- bottom -->
|
|
<collision group="default">
|
|
<origin rpy="0 0 0" xyz="0.048 0 -0.056119"/>
|
|
<geometry>
|
|
<box size="0.26 0.124887 0.05"/>
|
|
</geometry>
|
|
</collision>
|
|
<!-- ankle FIXME: adding this collision body destabilizes robot, shouldn't
|
|
<collision group="other">
|
|
<origin xyz="0.0 0 -0.0528735" rpy="0 0 0"/>
|
|
<geometry>
|
|
<cylinder radius="0.0373" length="0.037827"/>
|
|
</geometry>
|
|
</collision>
|
|
-->
|
|
</link>
|
|
<link name="r_hand">
|
|
<inertial>
|
|
<mass value="2.263"/>
|
|
<origin rpy="0 -0 0" xyz="0 -0.093 0"/>
|
|
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.002" iyz="0" izz="0.01"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/r_hand.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0.001 -0.1 0.01"/>
|
|
<geometry>
|
|
<cylinder length="0.05" radius="0.03"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0.001 -0.05 0.01"/>
|
|
<geometry>
|
|
<box size="0.13 0.09 0.07"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="r_larm">
|
|
<inertial>
|
|
<mass value="2.148"/>
|
|
<origin rpy="0 -0 0" xyz="-0.003 -0.099 -0.014"/>
|
|
<inertia ixx="0.005" ixy="0" ixz="0" iyy="0.003" iyz="0" izz="0.006"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/r_larm.dae" scale="1.0 1.0 1.0"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0.001 -0.127 0.00"/>
|
|
<geometry>
|
|
<cylinder length="0.125" radius="0.045"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0.001 -0.051 0.0"/>
|
|
<geometry>
|
|
<box size="0.135 0.15 0.06"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="r_lglut">
|
|
<inertial>
|
|
<mass value="0.803"/>
|
|
<origin rpy="0 -0 0" xyz="0.0133341 -0.0170484 -0.0312052"/>
|
|
<inertia ixx="0.0453457" ixy="2.24344e-05" ixz="2.50508e-06" iyy="0.0174182" iyz="-0.000137862" izz="0.0071591"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/r_lglut.dae" scale="1.0 1.0 1.0"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0.049968 -0.022488 -0.0501165"/>
|
|
<geometry>
|
|
<cylinder length="0.060306" radius="0.02009687"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 1.5707963267949 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<cylinder length="0.12" radius="0.02"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="r_lleg">
|
|
<inertial>
|
|
<mass value="4.367"/>
|
|
<origin rpy="0 -0 0" xyz="0.001 0 -0.187"/>
|
|
<inertia ixx="0.077" ixy="-0" ixz="-0.003" iyy="0.076" iyz="-0" izz="0.01"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/r_lleg.dae" scale="1.0 1.0 1.0"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 0.10 0" xyz="0.02 -0.00295 -0.18"/>
|
|
<geometry>
|
|
<cylinder length="0.40" radius="0.07"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="r_scap">
|
|
<inertial>
|
|
<mass value="2.707"/>
|
|
<origin rpy="0 -0 0" xyz="-0.002 -0.108 0"/>
|
|
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.005" iyz="0" izz="0.013"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/r_scap.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0.001 -0.12651 0.01521"/>
|
|
<geometry>
|
|
<cylinder length="0.125" radius="0.045"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0.001 -0.05 0.016"/>
|
|
<geometry>
|
|
<box size="0.15 0.15 0.06"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="r_talus">
|
|
<inertial>
|
|
<mass value="0.867"/>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<inertia ixx="0.001" ixy="0" ixz="0" iyy="0.00350421" iyz="0" izz="0.00400651"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/r_talus.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 1.5707963267949 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<cylinder length="0.029542" radius="0.010181"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="1.5707963267949 0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<cylinder length="0.010059" radius="0.010348"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="r_uarm">
|
|
<inertial>
|
|
<mass value="1.881"/>
|
|
<origin rpy="0 -0 0" xyz="0.007 -0.114 0.008"/>
|
|
<inertia ixx="0.002" ixy="0" ixz="0" iyy="0.003" iyz="0" izz="0.003"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/r_uarm.dae" scale="1.0 1.0 1.0"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 1.5708 0" xyz="0.001 -0.111 0.0"/>
|
|
<geometry>
|
|
<cylinder length="0.125" radius="0.045"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 1.5707963267949 0" xyz="0.001 -0.043 0.01"/>
|
|
<geometry>
|
|
<box size="0.04 0.07 0.13"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="r_uglut">
|
|
<inertial>
|
|
<mass value="1.51622"/>
|
|
<origin rpy="0 -0 0" xyz="0.00529262 0.00344732 0.00313046"/>
|
|
<inertia ixx="0.0327037" ixy="3.79607e-08" ixz="-2.79549e-05" iyy="0.0174182" iyz="3.2735e-08" izz="0.0071591"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/r_uglut.dae" scale="1.0 1.0 1.0"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 1.5707963267949 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<cylinder length="0.078396" radius="0.019096"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<cylinder length="0.080842" radius="0.019841"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="r_uleg">
|
|
<inertial>
|
|
<mass value="7.227"/>
|
|
<origin rpy="0 -0 0" xyz="0 0 -0.21"/>
|
|
<inertia ixx="0.0453457" ixy="0" ixz="0" iyy="0.09" iyz="0" izz="0.0071591"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/r_uleg.dae" scale="1.0 1.0 1.0"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 0 0" xyz="-0.0179 -0.02085 -0.13"/>
|
|
<geometry>
|
|
<cylinder length="0.10" radius="0.1"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 -0.3 0" xyz="-0.03 -0.01 -0.23"/>
|
|
<geometry>
|
|
<cylinder length="0.15" radius="0.07"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0.3 0" xyz="-0.005 -0.01 -0.23"/>
|
|
<geometry>
|
|
<cylinder length="0.15" radius="0.07"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0.25 0 0" xyz="-0.02 -0.03 -0.23"/>
|
|
<geometry>
|
|
<cylinder length="0.15" radius="0.07"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="utorso">
|
|
<inertial>
|
|
<mass value="15.2272"/>
|
|
<origin rpy="0 -0 0" xyz="0.02 -0.001 0.211"/>
|
|
<inertia ixx="0.395" ixy="0" ixz="0.083" iyy="0.544742" iyz="-0.003" izz="0.10973"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://atlas/meshes/utorso.dae" scale="1 1 1"/>
|
|
</geometry>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 -0 0" xyz="0.0446 0 0.1869"/>
|
|
<geometry>
|
|
<box size="0.3188 0.24 0.3162"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="-0.5236 0 0" xyz="0.024 0.16 0.18"/>
|
|
<geometry>
|
|
<cylinder length="0.22375" radius="0.0363"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0.5236 0 0" xyz="0.024 -0.16 0.18"/>
|
|
<geometry>
|
|
<cylinder length="0.22375" radius="0.0363"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<joint name="back_lbz" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="-0.0125 0 0"/>
|
|
<axis xyz="0 0 1"/>
|
|
<parent link="pelvis"/>
|
|
<child link="ltorso"/>
|
|
<dynamics damping="10" friction="0"/>
|
|
<limit effort="124.016" lower="-0.610865" upper="0.610865" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.6109" soft_upper_limit="10.6109"/>
|
|
</joint>
|
|
<joint name="back_mby" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0 0.09"/>
|
|
<axis xyz="0 1 0"/>
|
|
<parent link="ltorso"/>
|
|
<child link="mtorso"/>
|
|
<dynamics damping="10" friction="0"/>
|
|
<limit effort="206.843" lower="-1.2" upper="1.28" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.2" soft_upper_limit="11.28"/>
|
|
</joint>
|
|
<joint name="back_ubx" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0 0.05"/>
|
|
<axis xyz="1 0 0"/>
|
|
<parent link="mtorso"/>
|
|
<child link="utorso"/>
|
|
<dynamics damping="10" friction="0"/>
|
|
<limit effort="94.91" lower="-0.790809" upper="0.790809" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.7908" soft_upper_limit="10.7908"/>
|
|
</joint>
|
|
<joint name="l_arm_elx" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0.121 0.013"/>
|
|
<axis xyz="1 0 0"/>
|
|
<parent link="l_uarm"/>
|
|
<child link="l_larm"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="114" lower="0" upper="2.35619" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10" soft_upper_limit="12.3562"/>
|
|
</joint>
|
|
<joint name="l_arm_ely" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0.185 0"/>
|
|
<axis xyz="0 1 0"/>
|
|
<parent link="l_scap"/>
|
|
<child link="l_uarm"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="114" lower="0" upper="3.14159" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10" soft_upper_limit="13.1416"/>
|
|
</joint>
|
|
<joint name="l_arm_mwx" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0.058 0"/>
|
|
<axis xyz="1 0 0"/>
|
|
<parent link="l_farm"/>
|
|
<child link="l_hand"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="60" lower="-0.436" upper="1.571" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.436" soft_upper_limit="11.571"/>
|
|
</joint>
|
|
<joint name="l_arm_shx" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0.075 0.036"/>
|
|
<axis xyz="1 0 0"/>
|
|
<parent link="l_clav"/>
|
|
<child link="l_scap"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="170" lower="-1.39626" upper="1.74533" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.3963" soft_upper_limit="11.7453"/>
|
|
</joint>
|
|
<joint name="l_arm_usy" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0.024 0.221 0.289"/>
|
|
<axis xyz="0 0.5 0.866025"/>
|
|
<parent link="utorso"/>
|
|
<child link="l_clav"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="212" lower="-1.9635" upper="1.9635" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.9635" soft_upper_limit="11.9635"/>
|
|
</joint>
|
|
<joint name="l_arm_uwy" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0.188 -0.013"/>
|
|
<axis xyz="0 1 0"/>
|
|
<parent link="l_larm"/>
|
|
<child link="l_farm"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="114" lower="-1.571" upper="1.571" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.571" soft_upper_limit="11.571"/>
|
|
</joint>
|
|
<joint name="l_leg_kny" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="-0.05 0 -0.374"/>
|
|
<axis xyz="0 1 0"/>
|
|
<parent link="l_uleg"/>
|
|
<child link="l_lleg"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="400" lower="0" upper="2.45" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10" soft_upper_limit="12.45"/>
|
|
</joint>
|
|
<joint name="l_leg_lax" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<axis xyz="1 0 0"/>
|
|
<parent link="l_talus"/>
|
|
<child link="l_foot"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="90" lower="-0.436" upper="0.436" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.436" soft_upper_limit="10.436"/>
|
|
</joint>
|
|
<joint name="l_leg_lhy" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0.05 0 -0.05"/>
|
|
<axis xyz="0 1 0"/>
|
|
<parent link="l_lglut"/>
|
|
<child link="l_uleg"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="260" lower="-1.75" upper="0.524" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.75" soft_upper_limit="10.524"/>
|
|
</joint>
|
|
<joint name="l_leg_mhx" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<axis xyz="1 0 0"/>
|
|
<parent link="l_uglut"/>
|
|
<child link="l_lglut"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="180" lower="-0.47" upper="0.495" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.47" soft_upper_limit="10.495"/>
|
|
</joint>
|
|
<joint name="l_leg_uay" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0 -0.422"/>
|
|
<axis xyz="0 1 0"/>
|
|
<parent link="l_lleg"/>
|
|
<child link="l_talus"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="220" lower="-0.9" upper="0.698" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.698" soft_upper_limit="10.698"/>
|
|
</joint>
|
|
<joint name="l_leg_uhz" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0.089 0"/>
|
|
<axis xyz="0 0 1"/>
|
|
<parent link="pelvis"/>
|
|
<child link="l_uglut"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="110" lower="-0.32" upper="1.14" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.32" soft_upper_limit="11.14"/>
|
|
</joint>
|
|
<joint name="neck_ay" type="revolute">
|
|
<!-- per slides on sensor head kinematics 2013-02-13 -->
|
|
<origin rpy="0 -0 0" xyz="0.21672 0 0.53796"/>
|
|
<axis xyz="0 1 0"/>
|
|
<parent link="utorso"/>
|
|
<child link="head"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<!-- per slides on sensor head kinematics 2012-12-14 -->
|
|
<limit effort="5" lower="-0.610865238" upper="1.13446401" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.610865238" soft_upper_limit="11.13446401"/>
|
|
</joint>
|
|
<joint name="r_arm_elx" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 -0.121 0.013"/>
|
|
<axis xyz="1 0 0"/>
|
|
<parent link="r_uarm"/>
|
|
<child link="r_larm"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="114" lower="-2.35619" upper="0" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-12.3562" soft_upper_limit="10"/>
|
|
</joint>
|
|
<joint name="r_arm_ely" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 -0.185 0"/>
|
|
<axis xyz="0 1 0"/>
|
|
<parent link="r_scap"/>
|
|
<child link="r_uarm"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="114" lower="0" upper="3.14159" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10" soft_upper_limit="13.1416"/>
|
|
</joint>
|
|
<joint name="r_arm_mwx" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 -0.058 0"/>
|
|
<axis xyz="1 0 0"/>
|
|
<parent link="r_farm"/>
|
|
<child link="r_hand"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="60" lower="-1.571" upper="0.436" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.571" soft_upper_limit="10.436"/>
|
|
</joint>
|
|
<joint name="r_arm_shx" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 -0.075 0.036"/>
|
|
<axis xyz="1 0 0"/>
|
|
<parent link="r_clav"/>
|
|
<child link="r_scap"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="170" lower="-1.74533" upper="1.39626" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.7453" soft_upper_limit="11.3963"/>
|
|
</joint>
|
|
<joint name="r_arm_usy" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0.024 -0.221 0.289"/>
|
|
<axis xyz="0 0.5 -0.866025"/>
|
|
<parent link="utorso"/>
|
|
<child link="r_clav"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="212" lower="-1.9635" upper="1.9635" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.9635" soft_upper_limit="11.9635"/>
|
|
</joint>
|
|
<joint name="r_arm_uwy" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 -0.188 -0.013"/>
|
|
<axis xyz="0 1 0"/>
|
|
<parent link="r_larm"/>
|
|
<child link="r_farm"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="114" lower="-1.571" upper="1.571" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.571" soft_upper_limit="11.571"/>
|
|
</joint>
|
|
<joint name="r_leg_kny" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="-0.05 0 -0.374"/>
|
|
<axis xyz="0 1 0"/>
|
|
<parent link="r_uleg"/>
|
|
<child link="r_lleg"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="400" lower="0" upper="2.45" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10" soft_upper_limit="12.45"/>
|
|
</joint>
|
|
<joint name="r_leg_lax" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<axis xyz="1 0 0"/>
|
|
<parent link="r_talus"/>
|
|
<child link="r_foot"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="90" lower="-0.436" upper="0.436" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.436" soft_upper_limit="10.436"/>
|
|
</joint>
|
|
<joint name="r_leg_lhy" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0.05 0 -0.05"/>
|
|
<axis xyz="0 1 0"/>
|
|
<parent link="r_lglut"/>
|
|
<child link="r_uleg"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="260" lower="-1.745" upper="0.524" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.745" soft_upper_limit="10.524"/>
|
|
</joint>
|
|
<joint name="r_leg_mhx" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0 0"/>
|
|
<axis xyz="1 0 0"/>
|
|
<parent link="r_uglut"/>
|
|
<child link="r_lglut"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="180" lower="-0.495" upper="0.47" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.495" soft_upper_limit="10.47"/>
|
|
</joint>
|
|
<joint name="r_leg_uay" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 0 -0.422"/>
|
|
<axis xyz="0 1 0"/>
|
|
<parent link="r_lleg"/>
|
|
<child link="r_talus"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="220" lower="-0.9" upper="0.698" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.698" soft_upper_limit="10.698"/>
|
|
</joint>
|
|
<joint name="r_leg_uhz" type="revolute">
|
|
<origin rpy="0 -0 0" xyz="0 -0.089 0"/>
|
|
<axis xyz="0 0 1"/>
|
|
<parent link="pelvis"/>
|
|
<child link="r_uglut"/>
|
|
<dynamics damping="1.0" friction="0"/>
|
|
<limit effort="110" lower="-1.14" upper="0.32" velocity="12"/>
|
|
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.14" soft_upper_limit="10.32"/>
|
|
</joint>
|
|
<gazebo>
|
|
<!-- robot model offset -->
|
|
<pose>0 0 0.93 0 0 0</pose>
|
|
</gazebo>
|
|
<gazebo>
|
|
<plugin filename="libAtlasPlugin.so" name="atlas_plugin"/>
|
|
<plugin filename="libgazebo_ros_joint_trajectory.so" name="joint_trajectory_plugin">
|
|
<topicName>joint_trajectory</topicName>
|
|
<updateRate>1000.0</updateRate>
|
|
</plugin>
|
|
<!--
|
|
<plugin filename="libgazebo_ros_controller_manager.so" name="gazebo_ros_controller_manager">
|
|
<alwaysOn>true</alwaysOn>
|
|
<updateRate>1000.0</updateRate>
|
|
</plugin>
|
|
-->
|
|
</gazebo>
|
|
<link name="imu_link">
|
|
<inertial>
|
|
<mass value="0.1"/>
|
|
<origin xyz="0 0 0"/>
|
|
<inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
|
|
</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="imu_joint" type="fixed">
|
|
<parent link="pelvis"/>
|
|
<child link="imu_link"/>
|
|
<origin rpy="0 0 0" xyz="0.05991527603 0 -0.01415"/>
|
|
</joint>
|
|
<gazebo reference="imu_link">
|
|
<!-- this is expected to be reparented to pelvis with appropriate offset
|
|
when imu_link is reduced by fixed joint reduction -->
|
|
<!-- todo: this is working with gazebo 1.4, need to write a unit test -->
|
|
<sensor name="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>
|
|
<gazebo reference="l_arm_mwx">
|
|
<provideFeedback>1</provideFeedback>
|
|
</gazebo>
|
|
<gazebo reference="r_arm_mwx">
|
|
<provideFeedback>1</provideFeedback>
|
|
</gazebo>
|
|
<gazebo reference="l_leg_lax">
|
|
<provideFeedback>1</provideFeedback>
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_leg_lax">
|
|
<provideFeedback>1</provideFeedback>
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_foot">
|
|
<!-- 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>
|
|
<gazebo reference="l_foot">
|
|
<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>
|
|
<gazebo reference="l_clav">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="l_farm">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="l_hand">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="l_larm">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="l_lglut">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="l_lleg">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="l_scap">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="l_talus">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="l_uarm">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="l_uglut">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="l_uleg">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="ltorso">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="mtorso">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="pelvis">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="r_clav">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="r_farm">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="r_hand">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="r_larm">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="r_lglut">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="r_lleg">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="r_scap">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="r_talus">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="r_uarm">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="r_uglut">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="r_uleg">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo reference="utorso">
|
|
<mu1>0.9</mu1>
|
|
<mu2>0.9</mu2>
|
|
</gazebo>
|
|
<gazebo>
|
|
<plugin filename="libgazebo_ros_p3d.so" name="gazebo_ros_p3d">
|
|
<bodyName>pelvis</bodyName>
|
|
<topicName>/ground_truth_odom</topicName>
|
|
<alwaysOn>true</alwaysOn>
|
|
<updateRate>100.0</updateRate>
|
|
</plugin>
|
|
</gazebo>
|
|
<gazebo reference="r_foot">
|
|
<!-- contact sensor -->
|
|
<sensor name="r_foot_contact_sensor" type="contact">
|
|
<update_rate>1000.0</update_rate>
|
|
<always_on>1</always_on>
|
|
<contact>
|
|
<collision>r_foot_collision</collision>
|
|
<topic>/r_foot_contact</topic>
|
|
</contact>
|
|
</sensor>
|
|
</gazebo>
|
|
<gazebo reference="l_foot">
|
|
<!-- contact sensor -->
|
|
<sensor name="l_foot_contact_sensor" type="contact">
|
|
<update_rate>1000.0</update_rate>
|
|
<always_on>1</always_on>
|
|
<contact>
|
|
<collision>l_foot_collision</collision>
|
|
<topic>/l_foot_contact</topic>
|
|
</contact>
|
|
</sensor>
|
|
</gazebo>
|
|
<gazebo>
|
|
<plugin filename="libgazebo_ros_force.so" name="gazebo_ros_force">
|
|
<bodyName>pelvis</bodyName>
|
|
<topicName>/atlas/apply_pelvis_force</topicName>
|
|
</plugin>
|
|
</gazebo>
|
|
<gazebo reference="back_lbz">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="back_mby">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="back_ubx">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="l_arm_elx">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="l_arm_ely">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="l_arm_mwx">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="l_arm_shx">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="l_arm_usy">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="l_arm_uwy">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="l_leg_kny">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="l_leg_lhy">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="l_leg_mhx">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="l_leg_uay">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="l_leg_uhz">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="neck_ay">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_arm_elx">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_arm_ely">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_arm_mwx">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_arm_shx">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_arm_usy">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_arm_uwy">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_leg_kny">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_leg_lhy">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_leg_mhx">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_leg_uay">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<gazebo reference="r_leg_uhz">
|
|
<cfmDamping>1</cfmDamping>
|
|
</gazebo>
|
|
<transmission name="head_hokuyo_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<joint name="hokuyo_joint"/>
|
|
<actuator name="hokuyo_motor"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="back_lbz_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<joint name="back_lbz"/>
|
|
<actuator name="back_lbz_motor"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="back_mby_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="back_mby_motor"/>
|
|
<joint name="back_mby"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="back_ubx_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="back_ubx_motor"/>
|
|
<joint name="back_ubx"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="l_arm_elx_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="l_arm_elx_motor"/>
|
|
<joint name="l_arm_elx"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="l_arm_ely_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="l_arm_ely_motor"/>
|
|
<joint name="l_arm_ely"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="l_arm_mwx_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="l_arm_mwx_motor"/>
|
|
<joint name="l_arm_mwx"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="l_arm_shx_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="l_arm_shx_motor"/>
|
|
<joint name="l_arm_shx"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="l_arm_usy_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="l_arm_usy_motor"/>
|
|
<joint name="l_arm_usy"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="l_arm_uwy_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="l_arm_uwy_motor"/>
|
|
<joint name="l_arm_uwy"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="l_leg_kny_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="l_leg_kny_motor"/>
|
|
<joint name="l_leg_kny"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="l_leg_lax_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="l_leg_lax_motor"/>
|
|
<joint name="l_leg_lax"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="l_leg_lhy_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="l_leg_lhy_motor"/>
|
|
<joint name="l_leg_lhy"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="l_leg_mhx_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="l_leg_mhx_motor"/>
|
|
<joint name="l_leg_mhx"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="l_leg_uay_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="l_leg_uay_motor"/>
|
|
<joint name="l_leg_uay"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="l_leg_uhz_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="l_leg_uhz_motor"/>
|
|
<joint name="l_leg_uhz"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="neck_ay_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="neck_ay_motor"/>
|
|
<joint name="neck_ay"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="r_arm_elx_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="r_arm_elx_motor"/>
|
|
<joint name="r_arm_elx"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="r_arm_ely_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="r_arm_ely_motor"/>
|
|
<joint name="r_arm_ely"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="r_arm_mwx_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="r_arm_mwx_motor"/>
|
|
<joint name="r_arm_mwx"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="r_arm_shx_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="r_arm_shx_motor"/>
|
|
<joint name="r_arm_shx"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="r_arm_usy_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="r_arm_usy_motor"/>
|
|
<joint name="r_arm_usy"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="r_arm_uwy_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="r_arm_uwy_motor"/>
|
|
<joint name="r_arm_uwy"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="r_leg_kny_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="r_leg_kny_motor"/>
|
|
<joint name="r_leg_kny"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="r_leg_lax_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="r_leg_lax_motor"/>
|
|
<joint name="r_leg_lax"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="r_leg_lhy_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="r_leg_lhy_motor"/>
|
|
<joint name="r_leg_lhy"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="r_leg_mhx_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="r_leg_mhx_motor"/>
|
|
<joint name="r_leg_mhx"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="r_leg_uay_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="r_leg_uay_motor"/>
|
|
<joint name="r_leg_uay"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<transmission name="r_leg_uhz_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
<actuator name="r_leg_uhz_motor"/>
|
|
<joint name="r_leg_uhz"/>
|
|
<mechanicalReduction>1</mechanicalReduction>
|
|
</transmission>
|
|
<link name="head">
|
|
<inertial>
|
|
<origin rpy="0 0 0" xyz="-0.075493 3.3383E-05 0.02774"/>
|
|
<mass value="1.41984"/>
|
|
<!--<inertia iyy="0.0041178" ixy="-1.5797E-06" iyz="-6.8415E-07" ixx="0.0039688" ixz="-0.00089293" izz="0.0035243" />-->
|
|
<inertia ixx="0.0036053766" ixy="-1.5797E-06" ixz="-0.00089293" iyy="0.002080106" iyz="-6.8415E-07" izz="0.001782985"/>
|
|
</inertial>
|
|
<visual>
|
|
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
<geometry>
|
|
<mesh filename="package://multisense_sl_description/meshes/head.dae"/>
|
|
</geometry>
|
|
<material name="">
|
|
<color rgba="0.9098 0.44314 0.031373 1"/>
|
|
</material>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 0 0" xyz="-0.0503 0 -0.00195"/>
|
|
<geometry>
|
|
<box size="0.1311 0.12 0.0591"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<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.012428 0.0004084 -0.0041835"/>
|
|
<mass value="0.057654"/>
|
|
<!--<inertia iyy="4.2412E-05" ixy="4.9927E-08" iyz="-9.8165E-09" ixx="3.7174E-05" ixz="1.1015E-05" izz="4.167E-05" />-->
|
|
<!-- distribute iyy and izz equally between head and hokuyo_link given it's constrainted anyways -->
|
|
<!-- tweak ixx of hokuyo so it's larger, 1/10th of head ixx. -->
|
|
<inertia ixx="0.0004005974" ixy="4.9927E-08" ixz="1.1015E-05" iyy="0.002080106" iyz="-9.8165E-09" izz="0.001782985"/>
|
|
</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://multisense_sl_description/meshes/head_camera.dae"/>
|
|
</geometry>
|
|
<material name="">
|
|
<color rgba="0.72941 0.35686 0.023529 1"/>
|
|
</material>
|
|
</visual>
|
|
<collision group="default">
|
|
<origin rpy="0 0 0" xyz="0.01885 0 -0.02119"/>
|
|
<geometry>
|
|
<box size="0.08 0.06 0.04238"/>
|
|
</geometry>
|
|
</collision>
|
|
<collision group="other">
|
|
<origin rpy="0 0 0" xyz="0.03 0 0.0235"/>
|
|
<geometry>
|
|
<cylinder length="0.047" radius="0.024425"/>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<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>
|
|
<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>720</samples>
|
|
<resolution>1</resolution>
|
|
<min_angle>-1.570796</min_angle>
|
|
<max_angle>1.570796</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_sl/laser/scan</topicName>
|
|
<frameName>head_hokuyo_frame</frameName>
|
|
</plugin>
|
|
</sensor>
|
|
</gazebo>
|
|
<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>30.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>800</width>
|
|
<height>800</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. Based on feedback
|
|
from teams, we're instead doing 80deg X 80deg @ 800x800pix. -->
|
|
<horizontal_fov>1.3962634</horizontal_fov>
|
|
<image>
|
|
<width>800</width>
|
|
<height>800</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_sl/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="libMultiSenseSLPlugin.so" name="multisense_plugin"/>
|
|
</gazebo>
|
|
<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>
|
|
</robot>
|
|
|