Adds Simulator from OpenQuadruped/spot_mini_mini
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0"?>
|
||||
<robot xmlns:xacro="http://ros.org/wiki/xacro">
|
||||
<xacro:include filename="$(find hector_sensors_description)/urdf/hokuyo_utm30lx.urdf.xacro" />
|
||||
<xacro:include filename="$(find hector_sensors_description)/urdf/asus_camera.urdf.xacro" />
|
||||
|
||||
<xacro:hokuyo_utm30lx
|
||||
name="hokuyo"
|
||||
parent="base_link"
|
||||
ros_topic="scan"
|
||||
update_rate="30"
|
||||
ray_count="1040"
|
||||
min_angle="130"
|
||||
max_angle="-130" >
|
||||
<origin xyz="0.0 0.0 0.1" rpy="0 0 0"/>
|
||||
</xacro:hokuyo_utm30lx>
|
||||
|
||||
<gazebo reference="hokuyo_frame">
|
||||
<material>Gazebo/FlatBlack</material>
|
||||
</gazebo>
|
||||
|
||||
<!-- <xacro:asus_camera
|
||||
parent="base_link"
|
||||
name="camera">
|
||||
<origin xyz="0.2 0.0 0.05" rpy="0 0 0"/>
|
||||
</xacro:asus_camera> -->
|
||||
|
||||
<gazebo>
|
||||
<plugin name="imu_controller" filename="libhector_gazebo_ros_imu.so">
|
||||
<updateRate>50.0</updateRate>
|
||||
<bodyName>imu_link</bodyName>
|
||||
<topicName>imu/data</topicName>
|
||||
<accelDrift>0.005 0.005 0.005</accelDrift>
|
||||
<accelGaussianNoise>0.005 0.005 0.005</accelGaussianNoise>
|
||||
<rateDrift>0.005 0.005 0.005 </rateDrift>
|
||||
<rateGaussianNoise>0.005 0.005 0.005 </rateGaussianNoise>
|
||||
<headingDrift>0.005</headingDrift>
|
||||
<headingGaussianNoise>0.005</headingGaussianNoise>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
|
||||
<link name="imu_link">
|
||||
<inertial>
|
||||
<mass value="0.001"/>
|
||||
<origin xyz="0 0 0" rpy="0 0 0"/>
|
||||
<inertia ixx="1e-09" ixy="0.0" ixz="0.0" iyy="1e-09" iyz="0.0" izz="1e-09"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="imu_joint" type="fixed">
|
||||
<parent link="base_link" />
|
||||
<child link="imu_link" />
|
||||
</joint>
|
||||
|
||||
<!-- <xacro:include filename="$(find champ_arm_description)/urdf/champ_arm.urdf.xacro" />
|
||||
<xacro:champ_arm parent="base_link">
|
||||
<origin xyz="0.07 0.0 ${base_z_length / 2}" rpy="0 0 0"/>
|
||||
</xacro:champ_arm> -->
|
||||
</robot>
|
||||
@@ -0,0 +1,938 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- =================================================================================== -->
|
||||
<!-- | This document was autogenerated by xacro from spot.urdf.xacro | -->
|
||||
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
|
||||
<!-- =================================================================================== -->
|
||||
<robot name="spot">
|
||||
<material name="orange">
|
||||
<color rgba="1.0 0.5 0.0 1"/>
|
||||
</material>
|
||||
<material name="black">
|
||||
<color rgba="0.1 0.1 0.1 1"/>
|
||||
</material>
|
||||
<material name="grey">
|
||||
<color rgba="0.6 0.6 0.6 1"/>
|
||||
</material>
|
||||
<!-- Left Leg: prefix is front or rear -->
|
||||
<!-- <xacro:macro name="LeftLeg" params="prefix reflect">
|
||||
<link name="${prefix}_Left_Leg">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="${leglen} 0.1 0.2"/>
|
||||
</geometry>
|
||||
<origin xyz="0 0 -${leglen/2}" rpy="0 ${pi/2} 0"/>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="${leglen} 0.1 0.2"/>
|
||||
</geometry>
|
||||
<origin xyz="0 0 -${leglen/2}" rpy="0 ${pi/2} 0"/>
|
||||
</collision>
|
||||
<xacro:default_inertial mass="10"/>
|
||||
</link>
|
||||
|
||||
<joint name="base_to_${prefix}_leg" type="fixed">
|
||||
<parent link="base_link"/>
|
||||
<child link="${prefix}_leg"/>
|
||||
<origin xyz="0 ${reflect*(width+.02)} 0.25" />
|
||||
</joint>
|
||||
</xacro:macro> -->
|
||||
<!-- <xacro:include filename="$(find mini_ros)/urdf/accessories.urdf.xacro" /> -->
|
||||
<!-- Robot description -->
|
||||
<!-- STATIC Links -->
|
||||
<link name="base_link"/>
|
||||
<link name="base_inertia">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.16 0.035 -0.045"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/MAINBODY.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.114 0.2 0.1"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.6"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.0025" ixy="0" ixz="0" iyx="0" iyy="0.0011498" iyz="0" izx="0" izy="0" izz="0.0026498"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="base_inertia">
|
||||
<material>Gazebo/Orange</material>
|
||||
</gazebo>
|
||||
<!-- m to mm -->
|
||||
<link name="battery">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.15 0.035 -0.022"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/Battery.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.048 0.145 0.026"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.4"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.000723366666667" ixy="0" ixz="0" iyx="0" iyy="9.93333333333e-05" iyz="0" izx="0" izy="0" izz="0.000777633333333"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="battery">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<!-- m to mm -->
|
||||
<link name="chassis_left">
|
||||
<visual>
|
||||
<origin rpy="0 1.57079632679 -1.57079632679" xyz="0.016 0.003 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/Chassis_Left_Side.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 1.57079632679 -1.57079632679" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.06 0.15 0.006"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.01"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="1.878e-05" ixy="0" ixz="0" iyx="0" iyy="3.03e-06" iyz="0" izx="0" izy="0" izz="2.175e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="chassis_left">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<!-- m to mm -->
|
||||
<link name="chassis_right">
|
||||
<visual>
|
||||
<origin rpy="0 1.57079632679 1.57079632679" xyz="-0.016 -0.003 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/Chassis_Right_Side.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 1.57079632679 1.57079632679" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.06 0.15 0.006"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.01"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="1.878e-05" ixy="0" ixz="0" iyx="0" iyy="3.03e-06" iyz="0" izx="0" izy="0" izz="2.175e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="chassis_right">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<!-- m to mm -->
|
||||
<link name="front">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.16 0.035 -0.045"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/Front.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0.16 0 0.006"/>
|
||||
<geometry>
|
||||
<box size="0.114 0.045 0.085"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.1"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="7.70833333333e-05" ixy="0" ixz="0" iyx="0" iyy="0.000168508333333" iyz="0" izx="0" izy="0" izz="0.000125175"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="front">
|
||||
<material>Gazebo/Orange</material>
|
||||
</gazebo>
|
||||
<!-- m to mm -->
|
||||
<link name="back">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.16 0.035 -0.045"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/Back.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.16 0 0.006"/>
|
||||
<geometry>
|
||||
<box size="0.114 0.075 0.085"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.1"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.000107083333333" ixy="0" ixz="0" iyx="0" iyy="0.000168508333333" iyz="0" izx="0" izy="0" izz="0.000155175"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="back">
|
||||
<material>Gazebo/Orange</material>
|
||||
</gazebo>
|
||||
<!-- m to mm -->
|
||||
<link name="front_bracket">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.16 0.035 -0.045"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/Front_Bracket.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0.1 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.025 0.075 0.085"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.1"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.000107083333333" ixy="0" ixz="0" iyx="0" iyy="6.54166666667e-05" iyz="0" izx="0" izy="0" izz="5.20833333333e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="front_bracket">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<!-- m to mm -->
|
||||
<link name="back_bracket">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.16 0.035 -0.045"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/Back_Bracket.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.1 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.025 0.075 0.085"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.1"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.000107083333333" ixy="0" ixz="0" iyx="0" iyy="6.54166666667e-05" iyz="0" izx="0" izy="0" izz="5.20833333333e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="back_bracket">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<!-- m to mm -->
|
||||
<link name="front_left_hip">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.25 -0.0044 -0.067"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/LEFT_HIP.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0.015 0.01 -0.01"/>
|
||||
<geometry>
|
||||
<box size="0.05 0.065 0.065"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.2"/>
|
||||
<origin rpy="0 0 0" xyz="0 0.075 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.000140833333333" ixy="0" ixz="0" iyx="0" iyy="0.000112083333333" iyz="0" izx="0" izy="0" izz="0.000112083333333"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="front_left_hip">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<joint name="motor_front_left_hip" type="revolute">
|
||||
<axis xyz="1 0 0"/>
|
||||
<origin rpy="0 0 0" xyz="0.0915 0.0394 0.022"/>
|
||||
<parent link="front_bracket"/>
|
||||
<child link="front_left_hip"/>
|
||||
<limit effort="4.0" lower="-1.04" upper="1.04" velocity="4.0"/>
|
||||
<joint_properties damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<link name="front_left_upper_leg">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.252 -0.05 -0.055"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/LEFT_UPPER_LEG.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0 0.02 -0.05"/>
|
||||
<geometry>
|
||||
<box size="0.035 0.035 0.11"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.13"/>
|
||||
<origin rpy="0 0 0" xyz="-0.005 0.0175 -0.055"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.000144354166667" ixy="0" ixz="0" iyx="0" iyy="0.000144354166667" iyz="0" izx="0" izy="0" izz="2.65416666667e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="front_left_upper_leg">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<joint name="motor_front_left_upper_leg" type="revolute">
|
||||
<axis xyz="0 1 0"/>
|
||||
<origin rpy="0 0 0" xyz="0.0015 0.045 -0.0087"/>
|
||||
<parent link="front_left_hip"/>
|
||||
<child link="front_left_upper_leg"/>
|
||||
<limit effort="4.0" lower="-1.57079632679" upper="2.59" velocity="4.0"/>
|
||||
<joint_properties damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<link name="front_left_lower_leg">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.247 -0.068 0.0535"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/LEFT_LOWER_LEG.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0 0 -0.06"/>
|
||||
<geometry>
|
||||
<box size="0.035 0.035 0.12"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.05"/>
|
||||
<origin rpy="0 0 0" xyz="-0.01 0 -0.06"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="6.51041666667e-05" ixy="0" ixz="0" iyx="0" iyy="6.51041666667e-05" iyz="0" izx="0" izy="0" izz="1.02083333333e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="front_left_lower_leg">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<joint name="motor_front_left_lower_leg" type="revolute">
|
||||
<axis xyz="0 1 0"/>
|
||||
<origin rpy="0 0 0" xyz="-0.005 0.018 -0.109"/>
|
||||
<parent link="front_left_upper_leg"/>
|
||||
<child link="front_left_lower_leg"/>
|
||||
<limit effort="4.0" lower="-2.9" upper="1.57079632679" velocity="4.0"/>
|
||||
<joint_properties damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<link name="front_left_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.247 -0.068 0.18"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/LEFT_FOOT.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.247 -0.068 0.18"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/LEFT_FOOT.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<contact_coefficients mu="10.1"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.005"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="3.52083333333e-06" ixy="0" ixz="0" iyx="0" iyy="2.80208333333e-06" iyz="0" izx="0" izy="0" izz="2.80208333333e-06"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="front_left_foot">
|
||||
<kp>1000000.0</kp>
|
||||
<kd>1.0</kd>
|
||||
<mu1>0.8</mu1>
|
||||
<mu2>0.8</mu2>
|
||||
<maxVel>0.0</maxVel>
|
||||
<minDepth>0.001</minDepth>
|
||||
<material>Gazebo/Orange</material>
|
||||
</gazebo>
|
||||
<joint name="front_left_leg_foot" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.1265"/>
|
||||
<parent link="front_left_lower_leg"/>
|
||||
<child link="front_left_foot"/>
|
||||
</joint>
|
||||
<link name="back_left_hip">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.25 -0.0044 -0.067"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/LEFT_HIP.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0.015 0.01 -0.01"/>
|
||||
<geometry>
|
||||
<box size="0.05 0.065 0.065"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.2"/>
|
||||
<origin rpy="0 0 0" xyz="0 0.075 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.000140833333333" ixy="0" ixz="0" iyx="0" iyy="0.000112083333333" iyz="0" izx="0" izy="0" izz="0.000112083333333"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="back_left_hip">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<joint name="motor_back_left_hip" type="revolute">
|
||||
<axis xyz="1 0 0"/>
|
||||
<origin rpy="0 0 0" xyz="-0.1365 0.0394 0.022"/>
|
||||
<parent link="back_bracket"/>
|
||||
<child link="back_left_hip"/>
|
||||
<limit effort="4.0" lower="-1.04" upper="1.04" velocity="4.0"/>
|
||||
<joint_properties damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<link name="back_left_upper_leg">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.252 -0.05 -0.055"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/LEFT_UPPER_LEG.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0 0.02 -0.05"/>
|
||||
<geometry>
|
||||
<box size="0.035 0.035 0.11"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.13"/>
|
||||
<origin rpy="0 0 0" xyz="-0.005 0.0175 -0.055"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.000144354166667" ixy="0" ixz="0" iyx="0" iyy="0.000144354166667" iyz="0" izx="0" izy="0" izz="2.65416666667e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="back_left_upper_leg">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<joint name="motor_back_left_upper_leg" type="revolute">
|
||||
<axis xyz="0 1 0"/>
|
||||
<origin rpy="0 0 0" xyz="0.0015 0.045 -0.0087"/>
|
||||
<parent link="back_left_hip"/>
|
||||
<child link="back_left_upper_leg"/>
|
||||
<limit effort="4.0" lower="-1.57079632679" upper="2.59" velocity="4.0"/>
|
||||
<joint_properties damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<link name="back_left_lower_leg">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.247 -0.068 0.0535"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/LEFT_LOWER_LEG.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0 0 -0.06"/>
|
||||
<geometry>
|
||||
<box size="0.035 0.035 0.12"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.05"/>
|
||||
<origin rpy="0 0 0" xyz="-0.01 0 -0.06"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="6.51041666667e-05" ixy="0" ixz="0" iyx="0" iyy="6.51041666667e-05" iyz="0" izx="0" izy="0" izz="1.02083333333e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="back_left_lower_leg">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<joint name="motor_back_left_lower_leg" type="revolute">
|
||||
<axis xyz="0 1 0"/>
|
||||
<origin rpy="0 0 0" xyz="-0.005 0.018 -0.109"/>
|
||||
<parent link="back_left_upper_leg"/>
|
||||
<child link="back_left_lower_leg"/>
|
||||
<limit effort="4.0" lower="-2.9" upper="1.57079632679" velocity="4.0"/>
|
||||
<joint_properties damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<link name="back_left_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.247 -0.068 0.18"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/LEFT_FOOT.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.247 -0.068 0.18"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/LEFT_FOOT.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<contact_coefficients mu="10.1"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.005"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="3.52083333333e-06" ixy="0" ixz="0" iyx="0" iyy="2.80208333333e-06" iyz="0" izx="0" izy="0" izz="2.80208333333e-06"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="back_left_foot">
|
||||
<kp>1000000.0</kp>
|
||||
<kd>1.0</kd>
|
||||
<mu1>0.8</mu1>
|
||||
<mu2>0.8</mu2>
|
||||
<maxVel>0.0</maxVel>
|
||||
<minDepth>0.001</minDepth>
|
||||
<material>Gazebo/Orange</material>
|
||||
</gazebo>
|
||||
<joint name="back_left_leg_foot" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.1265"/>
|
||||
<parent link="back_left_lower_leg"/>
|
||||
<child link="back_left_foot"/>
|
||||
</joint>
|
||||
<link name="front_right_hip">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.25 0.074 -0.067"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/RIGHT_HIP.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0.015 -0.01 -0.01"/>
|
||||
<geometry>
|
||||
<box size="0.05 0.065 0.065"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.2"/>
|
||||
<origin rpy="0 0 0" xyz="0 -0.075 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.000140833333333" ixy="0" ixz="0" iyx="0" iyy="0.000112083333333" iyz="0" izx="0" izy="0" izz="0.000112083333333"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="front_right_hip">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<joint name="motor_front_right_hip" type="revolute">
|
||||
<axis xyz="1 0 0"/>
|
||||
<origin rpy="0 0 0" xyz="0.0915 -0.0394 0.022"/>
|
||||
<parent link="front_bracket"/>
|
||||
<child link="front_right_hip"/>
|
||||
<limit effort="4.0" lower="-1.04" upper="1.04" velocity="4.0"/>
|
||||
<joint_properties damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<link name="front_right_upper_leg">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.252 0.12 -0.055"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/RIGHT_UPPER_LEG.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0 -0.02 -0.05"/>
|
||||
<geometry>
|
||||
<box size="0.035 0.035 0.11"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.13"/>
|
||||
<origin rpy="0 0 0" xyz="-0.005 -0.0175 -0.055"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.000144354166667" ixy="0" ixz="0" iyx="0" iyy="0.000144354166667" iyz="0" izx="0" izy="0" izz="2.65416666667e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="front_right_upper_leg">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<joint name="motor_front_right_upper_leg" type="revolute">
|
||||
<axis xyz="0 1 0"/>
|
||||
<origin rpy="0 0 0" xyz="0.0015 -0.045 -0.0087"/>
|
||||
<parent link="front_right_hip"/>
|
||||
<child link="front_right_upper_leg"/>
|
||||
<limit effort="4.0" lower="-1.57079632679" upper="2.59" velocity="4.0"/>
|
||||
<joint_properties damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<link name="front_right_lower_leg">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.247 0.138 0.0535"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/RIGHT_LOWER_LEG.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0 0 -0.06"/>
|
||||
<geometry>
|
||||
<box size="0.035 0.035 0.12"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.05"/>
|
||||
<origin rpy="0 0 0" xyz="-0.01 0 -0.06"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="6.51041666667e-05" ixy="0" ixz="0" iyx="0" iyy="6.51041666667e-05" iyz="0" izx="0" izy="0" izz="1.02083333333e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="front_right_lower_leg">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<joint name="motor_front_right_lower_leg" type="revolute">
|
||||
<axis xyz="0 1 0"/>
|
||||
<origin rpy="0 0 0" xyz="-0.005 -0.018 -0.109"/>
|
||||
<parent link="front_right_upper_leg"/>
|
||||
<child link="front_right_lower_leg"/>
|
||||
<limit effort="4.0" lower="-2.9" upper="1.57079632679" velocity="4.0"/>
|
||||
<joint_properties damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<link name="front_right_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.247 0.138 0.18"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/RIGHT_FOOT.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.247 0.138 0.18"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/RIGHT_FOOT.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<contact_coefficients mu="10.1"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.005"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="3.52083333333e-06" ixy="0" ixz="0" iyx="0" iyy="2.80208333333e-06" iyz="0" izx="0" izy="0" izz="2.80208333333e-06"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="front_right_foot">
|
||||
<kp>1000000.0</kp>
|
||||
<kd>1.0</kd>
|
||||
<mu1>0.8</mu1>
|
||||
<mu2>0.8</mu2>
|
||||
<maxVel>0.0</maxVel>
|
||||
<minDepth>0.001</minDepth>
|
||||
<material>Gazebo/Orange</material>
|
||||
</gazebo>
|
||||
<joint name="front_right_leg_foot" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.1265"/>
|
||||
<parent link="front_right_lower_leg"/>
|
||||
<child link="front_right_foot"/>
|
||||
</joint>
|
||||
<link name="back_right_hip">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.25 0.074 -0.067"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/RIGHT_HIP.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0.015 -0.01 -0.01"/>
|
||||
<geometry>
|
||||
<box size="0.05 0.065 0.065"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.2"/>
|
||||
<origin rpy="0 0 0" xyz="0 -0.075 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.000140833333333" ixy="0" ixz="0" iyx="0" iyy="0.000112083333333" iyz="0" izx="0" izy="0" izz="0.000112083333333"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="back_right_hip">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<joint name="motor_back_right_hip" type="revolute">
|
||||
<axis xyz="1 0 0"/>
|
||||
<origin rpy="0 0 0" xyz="-0.1365 -0.0394 0.022"/>
|
||||
<parent link="back_bracket"/>
|
||||
<child link="back_right_hip"/>
|
||||
<limit effort="4.0" lower="-1.04" upper="1.04" velocity="4.0"/>
|
||||
<joint_properties damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<link name="back_right_upper_leg">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.252 0.12 -0.055"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/RIGHT_UPPER_LEG.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0 -0.02 -0.05"/>
|
||||
<geometry>
|
||||
<box size="0.035 0.035 0.11"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.13"/>
|
||||
<origin rpy="0 0 0" xyz="-0.005 -0.0175 -0.055"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="0.000144354166667" ixy="0" ixz="0" iyx="0" iyy="0.000144354166667" iyz="0" izx="0" izy="0" izz="2.65416666667e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="back_right_upper_leg">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<joint name="motor_back_right_upper_leg" type="revolute">
|
||||
<axis xyz="0 1 0"/>
|
||||
<origin rpy="0 0 0" xyz="0.0015 -0.045 -0.0087"/>
|
||||
<parent link="back_right_hip"/>
|
||||
<child link="back_right_upper_leg"/>
|
||||
<limit effort="4.0" lower="-1.57079632679" upper="2.59" velocity="4.0"/>
|
||||
<joint_properties damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<link name="back_right_lower_leg">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.247 0.138 0.0535"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/RIGHT_LOWER_LEG.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="black"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="0 0 -0.06"/>
|
||||
<geometry>
|
||||
<box size="0.035 0.035 0.12"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.05"/>
|
||||
<origin rpy="0 0 0" xyz="-0.01 0 -0.06"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="6.51041666667e-05" ixy="0" ixz="0" iyx="0" iyy="6.51041666667e-05" iyz="0" izx="0" izy="0" izz="1.02083333333e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="back_right_lower_leg">
|
||||
<material>Gazebo/Black</material>
|
||||
</gazebo>
|
||||
<joint name="motor_back_right_lower_leg" type="revolute">
|
||||
<axis xyz="0 1 0"/>
|
||||
<origin rpy="0 0 0" xyz="-0.005 -0.018 -0.109"/>
|
||||
<parent link="back_right_upper_leg"/>
|
||||
<child link="back_right_lower_leg"/>
|
||||
<limit effort="4.0" lower="-2.9" upper="1.57079632679" velocity="4.0"/>
|
||||
<joint_properties damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<link name="back_right_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.247 0.138 0.18"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/RIGHT_FOOT.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 1.57079632679" xyz="-0.247 0.138 0.18"/>
|
||||
<geometry>
|
||||
<mesh filename="package://mini_ros/stl/OpenQuadruped/RIGHT_FOOT.stl" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<contact_coefficients mu="10.1"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.005"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<!-- Inertial Axes -->
|
||||
<inertia ixx="3.52083333333e-06" ixy="0" ixz="0" iyx="0" iyy="2.80208333333e-06" iyz="0" izx="0" izy="0" izz="2.80208333333e-06"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="back_right_foot">
|
||||
<kp>1000000.0</kp>
|
||||
<kd>1.0</kd>
|
||||
<mu1>0.8</mu1>
|
||||
<mu2>0.8</mu2>
|
||||
<maxVel>0.0</maxVel>
|
||||
<minDepth>0.001</minDepth>
|
||||
<material>Gazebo/Orange</material>
|
||||
</gazebo>
|
||||
<joint name="back_right_leg_foot" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.1265"/>
|
||||
<parent link="back_right_lower_leg"/>
|
||||
<child link="back_right_foot"/>
|
||||
</joint>
|
||||
<joint name="base_base" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="base_inertia"/>
|
||||
</joint>
|
||||
<joint name="base_battery" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="-0.01 0 -0.0225"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="battery"/>
|
||||
</joint>
|
||||
<joint name="base_left" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0.00 0.052 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="chassis_left"/>
|
||||
</joint>
|
||||
<joint name="base_right" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0.00 -0.052 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="chassis_right"/>
|
||||
</joint>
|
||||
<joint name="base_front" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="front"/>
|
||||
</joint>
|
||||
<joint name="base_back" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="back"/>
|
||||
</joint>
|
||||
<joint name="base_front_bracket" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="front_bracket"/>
|
||||
</joint>
|
||||
<joint name="base_back_bracket" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="back_bracket"/>
|
||||
</joint>
|
||||
<transmission name="front_left_hip_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_front_left_hip">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="front_left_hip_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="front_left_upper_leg_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_front_left_lower_leg">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="front_left_upper_leg_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="front_left_lower_leg_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_front_left_upper_leg">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="front_left_lower_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="front_right_hip_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_front_right_hip">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="front_right_hip_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="front_right_upper_leg_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_front_right_lower_leg">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="front_right_upper_leg_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="front_right_lower_leg_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_front_right_upper_leg">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="front_right_lower_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="back_left_hip_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_back_left_hip">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="back_left_hip_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="back_left_upper_leg_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_back_left_lower_leg">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="back_left_upper_leg_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="back_left_lower_leg_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_back_left_upper_leg">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="back_left_lower_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="back_right_hip_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_back_right_hip">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="back_right_hip_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="back_right_upper_leg_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_back_right_lower_leg">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="back_right_upper_leg_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="back_right_lower_leg_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_back_right_upper_leg">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="back_right_lower_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<gazebo>
|
||||
<plugin filename="libgazebo_ros_control.so" name="gazebo_ros_control">
|
||||
<legacyModeNS>true</legacyModeNS>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
</robot>
|
||||
@@ -0,0 +1,489 @@
|
||||
<?xml version="1.0"?>
|
||||
<robot name="spot" xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
|
||||
<!-- Include Macros -->
|
||||
<xacro:include filename="$(find mini_ros)/urdf/spot_macro.xacro" />
|
||||
<xacro:include filename="$(find mini_ros)/urdf/transmissions.xacro" />
|
||||
<!-- <xacro:include filename="$(find mini_ros)/urdf/accessories.urdf.xacro" /> -->
|
||||
|
||||
<!-- Robot description -->
|
||||
<!-- STATIC Links -->
|
||||
<link name="base_link"/>
|
||||
|
||||
<!-- MAIN BODY -->
|
||||
<xacro:mesh_link name="base_inertia"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="-0.16 0.035 -0.045"
|
||||
i_rpy="0 0 0" i_xyz="0 0 0"
|
||||
mass="0.6"
|
||||
c_xyz="0 0 0"
|
||||
length="0.114"
|
||||
width="0.2"
|
||||
height="0.1"
|
||||
matname="orange"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/MAINBODY.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
|
||||
<!-- BATTERY -->
|
||||
<xacro:mesh_link name="battery"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="-0.15 0.035 -0.022"
|
||||
i_rpy="0 0 0" i_xyz="0 0 0"
|
||||
mass="0.4"
|
||||
c_xyz="0 0 0"
|
||||
length="0.048"
|
||||
width="0.145"
|
||||
height="0.026"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/Battery.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
|
||||
<!-- CHASSIS LEFT -->
|
||||
<xacro:mesh_link name="chassis_left"
|
||||
origin_rpy="0 ${pi/2} -${pi/2}" origin_xyz="0.016 0.003 0"
|
||||
i_rpy="0 0 0" i_xyz="0 0 0"
|
||||
mass="0.01"
|
||||
c_xyz="0 0 0"
|
||||
length="0.06"
|
||||
width="0.15"
|
||||
height="0.006"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/Chassis_Left_Side.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
|
||||
<!-- CHASSIS Right -->
|
||||
<xacro:mesh_link name="chassis_right"
|
||||
origin_rpy="0 ${pi/2} ${pi/2}" origin_xyz="-0.016 -0.003 0"
|
||||
i_rpy="0 0 0" i_xyz="0 0 0"
|
||||
mass="0.01"
|
||||
c_xyz="0 0 0"
|
||||
length="0.06"
|
||||
width="0.15"
|
||||
height="0.006"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/Chassis_Right_Side.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
|
||||
<!-- FRONT -->
|
||||
<xacro:mesh_link name="front"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="-0.16 0.035 -0.045"
|
||||
i_rpy="0 0 0" i_xyz="0 0 0"
|
||||
mass="0.1"
|
||||
c_xyz="0.16 0 0.006"
|
||||
length="0.114"
|
||||
width="0.045"
|
||||
height="0.085"
|
||||
matname="orange"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/Front.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
|
||||
<!-- BACK -->
|
||||
<xacro:mesh_link name="back"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="-0.16 0.035 -0.045"
|
||||
i_rpy="0 0 0" i_xyz="0 0 0"
|
||||
mass="0.1"
|
||||
c_xyz="-0.16 0 0.006"
|
||||
length="0.114"
|
||||
width="0.075"
|
||||
height="0.085"
|
||||
matname="orange"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/Back.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
|
||||
<!-- FRONT BRACKET -->
|
||||
<xacro:mesh_link name="front_bracket"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="-0.16 0.035 -0.045"
|
||||
i_rpy="0 0 0" i_xyz="0 0 0"
|
||||
mass="0.1"
|
||||
c_xyz="0.1 0 0"
|
||||
length="0.025"
|
||||
width="0.075"
|
||||
height="0.085"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/Front_Bracket.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
|
||||
<!-- BACK BRACKET -->
|
||||
<xacro:mesh_link name="back_bracket"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="-0.16 0.035 -0.045"
|
||||
i_rpy="0 0 0" i_xyz="0 0 0"
|
||||
mass="0.1"
|
||||
c_xyz="-0.1 0 0"
|
||||
length="0.025"
|
||||
width="0.075"
|
||||
height="0.085"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/Back_Bracket.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
|
||||
|
||||
<!-- DYNAMIC LINKS (Joints Included) -->
|
||||
<!-- FRONT LEFT LEG -->
|
||||
<!-- HIP -->
|
||||
<xacro:mesh_link name="front_left_hip"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="-0.25 -0.0044 -0.067"
|
||||
i_rpy="0 0 0" i_xyz="0 0.075 0"
|
||||
mass="0.2"
|
||||
c_xyz="0.015 0.01 -0.01"
|
||||
length="0.05"
|
||||
width="0.065"
|
||||
height="0.065"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/LEFT_HIP.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:rev_joint name="motor_front_left_hip" type="revolute"
|
||||
axis_xyz="1 0 0"
|
||||
origin_rpy="0 0 0" origin_xyz="${0.2515-0.16} ${0.0044+0.035} ${0.067-0.045}"
|
||||
parent="front_bracket" child="front_left_hip"
|
||||
effort="4.0" velocity="4.0"
|
||||
damping="0.0"
|
||||
friction="0.0"
|
||||
lower="-1.04"
|
||||
upper="1.04"/>
|
||||
<!-- UPPER LEG -->
|
||||
<xacro:mesh_link name="front_left_upper_leg"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="${-0.252} ${-0.05} ${-0.055}"
|
||||
i_rpy="0 0 0" i_xyz="-0.005 0.0175 -0.055"
|
||||
mass="0.13"
|
||||
c_xyz="0 0.02 -0.05"
|
||||
length="0.035"
|
||||
width="0.035"
|
||||
height="0.11"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/LEFT_UPPER_LEG.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:rev_joint name="motor_front_left_upper_leg" type="revolute"
|
||||
axis_xyz="0 1 0"
|
||||
origin_rpy="0 0 0" origin_xyz="0.0015 0.045 -0.0087"
|
||||
parent="front_left_hip" child="front_left_upper_leg"
|
||||
effort="4.0" velocity="4.0"
|
||||
damping="0.0"
|
||||
friction="0.0"
|
||||
lower="${-pi/2}"
|
||||
upper="2.59"/>
|
||||
<!-- LOWER LEG -->
|
||||
<xacro:mesh_link name="front_left_lower_leg"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="${-0.247} ${-0.068} ${0.0535}"
|
||||
i_rpy="0 0 0" i_xyz="-0.01 0 -0.06"
|
||||
mass="0.05"
|
||||
c_xyz="0 0 -0.06"
|
||||
length="0.035"
|
||||
width="0.035"
|
||||
height="0.12"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/LEFT_LOWER_LEG.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:rev_joint name="motor_front_left_lower_leg" type="revolute"
|
||||
axis_xyz="0 1 0"
|
||||
origin_rpy="0 0 0" origin_xyz="-0.005 0.018 -0.109"
|
||||
parent="front_left_upper_leg" child="front_left_lower_leg"
|
||||
effort="4.0" velocity="4.0"
|
||||
damping="0.0"
|
||||
friction="0.0"
|
||||
lower="-2.9"
|
||||
upper="${pi/2}"/>
|
||||
<!-- FOOT -->
|
||||
<xacro:mesh_link_sphere name="front_left_foot"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="${-0.247} ${-0.068} ${0.18}"
|
||||
i_rpy="0 0 0" i_xyz="0 0 0"
|
||||
mass="0.005"
|
||||
c_xyz="${-0.247} ${-0.068} ${0.18}"
|
||||
length="0.05"
|
||||
width="0.065"
|
||||
height="0.065"
|
||||
radius="0.02"
|
||||
matname="orange"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/LEFT_FOOT.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:frame_joint name="front_left_leg_foot" type="fixed"
|
||||
origin_rpy="0 0 0" origin_xyz="0 0 -0.1265"
|
||||
parent="front_left_lower_leg" child="front_left_foot"/>
|
||||
|
||||
<!-- BACK LEFT LEG -->
|
||||
<!-- HIP -->
|
||||
<xacro:mesh_link name="back_left_hip"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="-0.25 -0.0044 -0.067"
|
||||
i_rpy="0 0 0" i_xyz="0 0.075 0"
|
||||
mass="0.2"
|
||||
c_xyz="0.015 0.01 -0.01"
|
||||
length="0.05"
|
||||
width="0.065"
|
||||
height="0.065"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/LEFT_HIP.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:rev_joint name="motor_back_left_hip" type="revolute"
|
||||
axis_xyz="1 0 0"
|
||||
origin_rpy="0 0 0" origin_xyz="${-0.2515+0.115} ${0.0044+0.035} ${0.067-0.045}"
|
||||
parent="back_bracket" child="back_left_hip"
|
||||
effort="4.0" velocity="4.0"
|
||||
damping="0.0"
|
||||
friction="0.0"
|
||||
lower="-1.04"
|
||||
upper="1.04"/>
|
||||
<!-- UPPER LEG -->
|
||||
<xacro:mesh_link name="back_left_upper_leg"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="${-0.252} ${-0.05} ${-0.055}"
|
||||
i_rpy="0 0 0" i_xyz="-0.005 0.0175 -0.055"
|
||||
mass="0.13"
|
||||
c_xyz="0 0.02 -0.05"
|
||||
length="0.035"
|
||||
width="0.035"
|
||||
height="0.11"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/LEFT_UPPER_LEG.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:rev_joint name="motor_back_left_upper_leg" type="revolute"
|
||||
axis_xyz="0 1 0"
|
||||
origin_rpy="0 0 0" origin_xyz="0.0015 0.045 -0.0087"
|
||||
parent="back_left_hip" child="back_left_upper_leg"
|
||||
effort="4.0" velocity="4.0"
|
||||
damping="0.0"
|
||||
friction="0.0"
|
||||
lower="${-pi/2}"
|
||||
upper="2.59"/>
|
||||
<!-- LOWER LEG -->
|
||||
<xacro:mesh_link name="back_left_lower_leg"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="${-0.247} ${-0.068} ${0.0535}"
|
||||
i_rpy="0 0 0" i_xyz="-0.01 0 -0.06"
|
||||
mass="0.05"
|
||||
c_xyz="0 0 -0.06"
|
||||
length="0.035"
|
||||
width="0.035"
|
||||
height="0.12"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/LEFT_LOWER_LEG.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:rev_joint name="motor_back_left_lower_leg" type="revolute"
|
||||
axis_xyz="0 1 0"
|
||||
origin_rpy="0 0 0" origin_xyz="-0.005 0.018 -0.109"
|
||||
parent="back_left_upper_leg" child="back_left_lower_leg"
|
||||
effort="4.0" velocity="4.0"
|
||||
damping="0.0"
|
||||
friction="0.0"
|
||||
lower="-2.9"
|
||||
upper="${pi/2}"/>
|
||||
<!-- FOOT -->
|
||||
<xacro:mesh_link_sphere name="back_left_foot"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="${-0.247} ${-0.068} ${0.18}"
|
||||
i_rpy="0 0 0" i_xyz="0 0 0"
|
||||
mass="0.005"
|
||||
c_xyz="${-0.247} ${-0.068} ${0.18}"
|
||||
length="0.05"
|
||||
width="0.065"
|
||||
height="0.065"
|
||||
radius="0.02"
|
||||
matname="orange"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/LEFT_FOOT.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:frame_joint name="back_left_leg_foot" type="fixed"
|
||||
origin_rpy="0 0 0" origin_xyz="0 0 -0.1265"
|
||||
parent="back_left_lower_leg" child="back_left_foot"/>
|
||||
|
||||
<!-- FRONT RIGHT LEG -->
|
||||
<!-- HIP -->
|
||||
<xacro:mesh_link name="front_right_hip"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="-0.25 0.074 -0.067"
|
||||
i_rpy="0 0 0" i_xyz="0 -0.075 0"
|
||||
mass="0.2"
|
||||
c_xyz="0.015 ${-0.01} -0.01"
|
||||
length="0.05"
|
||||
width="0.065"
|
||||
height="0.065"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/RIGHT_HIP.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:rev_joint name="motor_front_right_hip" type="revolute"
|
||||
axis_xyz="1 0 0"
|
||||
origin_rpy="0 0 0" origin_xyz="${0.2515-0.16} ${-(0.0044+0.035)} ${0.067-0.045}"
|
||||
parent="front_bracket" child="front_right_hip"
|
||||
effort="4.0" velocity="4.0"
|
||||
damping="0.0"
|
||||
friction="0.0"
|
||||
lower="-1.04"
|
||||
upper="1.04"/>
|
||||
<!-- UPPER LEG -->
|
||||
<xacro:mesh_link name="front_right_upper_leg"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="${-0.252} ${0.12} ${-0.055}"
|
||||
i_rpy="0 0 0" i_xyz="-0.005 -0.0175 -0.055"
|
||||
mass="0.13"
|
||||
c_xyz="0 ${-0.02} -0.05"
|
||||
length="0.035"
|
||||
width="0.035"
|
||||
height="0.11"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/RIGHT_UPPER_LEG.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:rev_joint name="motor_front_right_upper_leg" type="revolute"
|
||||
axis_xyz="0 1 0"
|
||||
origin_rpy="0 0 0" origin_xyz="0.0015 -0.045 -0.0087"
|
||||
parent="front_right_hip" child="front_right_upper_leg"
|
||||
effort="4.0" velocity="4.0"
|
||||
damping="0.0"
|
||||
friction="0.0"
|
||||
lower="${-pi/2}"
|
||||
upper="2.59"/>
|
||||
<!-- LOWER LEG -->
|
||||
<xacro:mesh_link name="front_right_lower_leg"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="${-0.247} ${0.138} ${0.0535}"
|
||||
i_rpy="0 0 0" i_xyz="-0.01 0 -0.06"
|
||||
mass="0.05"
|
||||
c_xyz="0 0 -0.06"
|
||||
length="0.035"
|
||||
width="0.035"
|
||||
height="0.12"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/RIGHT_LOWER_LEG.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:rev_joint name="motor_front_right_lower_leg" type="revolute"
|
||||
axis_xyz="0 1 0"
|
||||
origin_rpy="0 0 0" origin_xyz="-0.005 -0.018 -0.109"
|
||||
parent="front_right_upper_leg" child="front_right_lower_leg"
|
||||
effort="4.0" velocity="4.0"
|
||||
damping="0.0"
|
||||
friction="0.0"
|
||||
lower="-2.9"
|
||||
upper="${pi/2}"/>
|
||||
<!-- FOOT -->
|
||||
<xacro:mesh_link_sphere name="front_right_foot"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="${-0.247} ${0.138} ${0.18}"
|
||||
i_rpy="0 0 0" i_xyz="0 0 0"
|
||||
mass="0.005"
|
||||
c_xyz="${-0.247} ${0.138} ${0.18}"
|
||||
length="0.05"
|
||||
width="0.065"
|
||||
height="0.065"
|
||||
radius="0.02"
|
||||
matname="orange"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/RIGHT_FOOT.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:frame_joint name="front_right_leg_foot" type="fixed"
|
||||
origin_rpy="0 0 0" origin_xyz="0 0 -0.1265"
|
||||
parent="front_right_lower_leg" child="front_right_foot"/>
|
||||
|
||||
<!-- BACK RIGHT LEG -->
|
||||
<!-- HIP -->
|
||||
<xacro:mesh_link name="back_right_hip"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="-0.25 0.074 -0.067"
|
||||
i_rpy="0 0 0" i_xyz="0 -0.075 0"
|
||||
mass="0.2"
|
||||
c_xyz="0.015 ${-0.01} -0.01"
|
||||
length="0.05"
|
||||
width="0.065"
|
||||
height="0.065"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/RIGHT_HIP.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:rev_joint name="motor_back_right_hip" type="revolute"
|
||||
axis_xyz="1 0 0"
|
||||
origin_rpy="0 0 0" origin_xyz="${-0.2515+0.115} ${-(0.0044+0.035)} ${0.067-0.045}"
|
||||
parent="back_bracket" child="back_right_hip"
|
||||
effort="4.0" velocity="4.0"
|
||||
damping="0.0"
|
||||
friction="0.0"
|
||||
lower="-1.04"
|
||||
upper="1.04"/>
|
||||
<!-- UPPER LEG -->
|
||||
<xacro:mesh_link name="back_right_upper_leg"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="${-0.252} ${0.12} ${-0.055}"
|
||||
i_rpy="0 0 0" i_xyz="-0.005 -0.0175 -0.055"
|
||||
mass="0.13"
|
||||
c_xyz="0 ${-0.02} -0.05"
|
||||
length="0.035"
|
||||
width="0.035"
|
||||
height="0.11"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/RIGHT_UPPER_LEG.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:rev_joint name="motor_back_right_upper_leg" type="revolute"
|
||||
axis_xyz="0 1 0"
|
||||
origin_rpy="0 0 0" origin_xyz="0.0015 -0.045 -0.0087"
|
||||
parent="back_right_hip" child="back_right_upper_leg"
|
||||
effort="4.0" velocity="4.0"
|
||||
damping="0.0"
|
||||
friction="0.0"
|
||||
lower="${-pi/2}"
|
||||
upper="2.59"/>
|
||||
<!-- LOWER LEG -->
|
||||
<xacro:mesh_link name="back_right_lower_leg"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="${-0.247} ${0.138} ${0.0535}"
|
||||
i_rpy="0 0 0" i_xyz="-0.01 0 -0.06"
|
||||
mass="0.05"
|
||||
c_xyz="0 0 -0.06"
|
||||
length="0.035"
|
||||
width="0.035"
|
||||
height="0.12"
|
||||
matname="black"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/RIGHT_LOWER_LEG.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:rev_joint name="motor_back_right_lower_leg" type="revolute"
|
||||
axis_xyz="0 1 0"
|
||||
origin_rpy="0 0 0" origin_xyz="-0.005 -0.018 -0.109"
|
||||
parent="back_right_upper_leg" child="back_right_lower_leg"
|
||||
effort="4.0" velocity="4.0"
|
||||
damping="0.0"
|
||||
friction="0.0"
|
||||
lower="-2.9"
|
||||
upper="${pi/2}"/>
|
||||
<!-- FOOT -->
|
||||
<xacro:mesh_link_sphere name="back_right_foot"
|
||||
origin_rpy="0 0 ${pi/2}" origin_xyz="${-0.247} ${0.138} ${0.18}"
|
||||
i_rpy="0 0 0" i_xyz="0 0 0"
|
||||
mass="0.005"
|
||||
c_xyz="${-0.247} ${0.138} ${0.18}"
|
||||
length="0.05"
|
||||
width="0.065"
|
||||
height="0.065"
|
||||
radius="0.02"
|
||||
matname="orange"
|
||||
meshfile="package://mini_ros/stl/OpenQuadruped/RIGHT_FOOT.stl"
|
||||
meshscale="1 1 1" /> <!-- m to mm -->
|
||||
<xacro:frame_joint name="back_right_leg_foot" type="fixed"
|
||||
origin_rpy="0 0 0" origin_xyz="0 0 -0.1265"
|
||||
parent="back_right_lower_leg" child="back_right_foot"/>
|
||||
|
||||
|
||||
<!-- STATIC Joints -->
|
||||
<!-- FOOTPRINT TO MAIN BODY-->
|
||||
<xacro:frame_joint name="base_base" type="fixed"
|
||||
origin_rpy="0 0 0" origin_xyz="0 0 0"
|
||||
parent="base_link" child="base_inertia"/>
|
||||
<!-- MAIN BODY TO BATTERY -->
|
||||
<xacro:frame_joint name="base_battery" type="fixed"
|
||||
origin_rpy="0 0 0" origin_xyz="-0.01 0 -0.0225"
|
||||
parent="base_link" child="battery"/>
|
||||
<!-- MAIN BODY TO CHASSIS LEFT -->
|
||||
<xacro:frame_joint name="base_left" type="fixed"
|
||||
origin_rpy="0 0 0" origin_xyz="0.00 0.052 0"
|
||||
parent="base_link" child="chassis_left"/>
|
||||
<!-- MAIN BODY TO CHASSIS RIGHT -->
|
||||
<xacro:frame_joint name="base_right" type="fixed"
|
||||
origin_rpy="0 0 0" origin_xyz="0.00 -0.052 0"
|
||||
parent="base_link" child="chassis_right"/>
|
||||
<!-- MAIN BODY TO FRONT -->
|
||||
<xacro:frame_joint name="base_front" type="fixed"
|
||||
origin_rpy="0 0 0" origin_xyz="0 0 0"
|
||||
parent="base_link" child="front"/>
|
||||
<!-- MAIN BODY TO BACK -->
|
||||
<xacro:frame_joint name="base_back" type="fixed"
|
||||
origin_rpy="0 0 0" origin_xyz="0 0 0"
|
||||
parent="base_link" child="back"/>
|
||||
<!-- MAIN BODY TO FRONT BRACKET -->
|
||||
<xacro:frame_joint name="base_front_bracket" type="fixed"
|
||||
origin_rpy="0 0 0" origin_xyz="0 0 0"
|
||||
parent="base_link" child="front_bracket"/>
|
||||
<!-- MAIN BODY TO BACK BRACKET -->
|
||||
<xacro:frame_joint name="base_back_bracket" type="fixed"
|
||||
origin_rpy="0 0 0" origin_xyz="0 0 0"
|
||||
parent="base_link" child="back_bracket"/>
|
||||
|
||||
<xacro:quadruped_transmission leg="front_left"/>
|
||||
<xacro:quadruped_transmission leg="front_right"/>
|
||||
<xacro:quadruped_transmission leg="back_left"/>
|
||||
<xacro:quadruped_transmission leg="back_right"/>
|
||||
|
||||
<gazebo>
|
||||
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
|
||||
<robotNamespace>/spot</robotNamespace>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
|
||||
</robot>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" ?>
|
||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
|
||||
<material name="orange">
|
||||
<color rgba="1.0 0.5 0.0 1"/>
|
||||
</material>
|
||||
<material name="black">
|
||||
<color rgba="0.1 0.1 0.1 1"/>
|
||||
</material>
|
||||
<material name="grey">
|
||||
<color rgba="0.6 0.6 0.6 1"/>
|
||||
</material>
|
||||
|
||||
<xacro:macro name="rev_joint" params="name type axis_xyz origin_rpy origin_xyz parent child effort velocity damping friction upper lower">
|
||||
<joint name="${name}" type="${type}">
|
||||
<axis xyz="${axis_xyz}" />
|
||||
<origin rpy="${origin_rpy}" xyz="${origin_xyz}" />
|
||||
<parent link="${parent}" />
|
||||
<child link="${child}" />
|
||||
<limit effort="${effort}" velocity="${velocity}" lower="${lower}" upper="${upper}"/>
|
||||
<joint_properties damping="${damping}" friction="${friction}" />
|
||||
</joint>
|
||||
</xacro:macro>
|
||||
|
||||
<xacro:macro name="frame_joint" params="name type origin_rpy origin_xyz parent child">
|
||||
<joint name="${name}" type="${type}">
|
||||
<origin rpy="${origin_rpy}" xyz="${origin_xyz}" />
|
||||
<parent link="${parent}" />
|
||||
<child link="${child}" />
|
||||
</joint>
|
||||
</xacro:macro>
|
||||
|
||||
<xacro:macro name="mesh_link" params="name origin_xyz origin_rpy meshfile meshscale c_xyz matname mass i_xyz i_rpy length width height">
|
||||
<link name="${name}">
|
||||
<visual>
|
||||
<origin rpy="${origin_rpy}" xyz="${origin_xyz}" />
|
||||
<geometry>
|
||||
<mesh filename="${meshfile}" scale="${meshscale}"/>
|
||||
</geometry>
|
||||
<material name="${matname}"/>
|
||||
</visual>
|
||||
|
||||
<collision>
|
||||
<origin rpy="${origin_rpy}" xyz="${c_xyz}" />
|
||||
<geometry>
|
||||
<box size="${length} ${width} ${height}" />
|
||||
</geometry>
|
||||
</collision>
|
||||
|
||||
<inertial>
|
||||
<mass value="${mass}" />
|
||||
<origin rpy="${i_rpy}" xyz="${i_xyz}" /> <!-- Inertial Axes -->
|
||||
<inertia ixx="${mass * (width * width + height * height)/12.0}" ixy="${0}" ixz="${0}" iyx="${0}" iyy="${mass * (length * length + height * height)/12.0}" iyz="${0}" izx="${0}" izy="${0}" izz="${mass * (length * length + width * width)/12.0}" />
|
||||
</inertial>
|
||||
</link>
|
||||
<gazebo reference="${name}">
|
||||
<xacro:if value="${matname == 'black'}">
|
||||
<material>Gazebo/Black</material>
|
||||
</xacro:if>
|
||||
<xacro:if value="${matname == 'orange'}">
|
||||
<material>Gazebo/Orange</material>
|
||||
</xacro:if>
|
||||
</gazebo>
|
||||
</xacro:macro>
|
||||
|
||||
<xacro:macro name="mesh_link_sphere" params="name origin_xyz origin_rpy meshfile meshscale c_xyz matname mass i_xyz i_rpy length width height radius">
|
||||
<link name="${name}">
|
||||
<visual>
|
||||
<origin rpy="${origin_rpy}" xyz="${origin_xyz}" />
|
||||
<geometry>
|
||||
<mesh filename="${meshfile}" scale="${meshscale}"/>
|
||||
</geometry>
|
||||
<material name="${matname}"/>
|
||||
</visual>
|
||||
|
||||
<collision>
|
||||
<origin rpy="${origin_rpy}" xyz="${c_xyz}" />
|
||||
<geometry>
|
||||
<mesh filename="${meshfile}" scale="${meshscale}"/>
|
||||
</geometry>
|
||||
<contact_coefficients mu="10.1"/>
|
||||
</collision>
|
||||
|
||||
<inertial>
|
||||
<mass value="${mass}" />
|
||||
<origin rpy="${i_rpy}" xyz="${i_xyz}" /> <!-- Inertial Axes -->
|
||||
<inertia ixx="${mass * (width * width + height * height)/12.0}" ixy="${0}" ixz="${0}" iyx="${0}" iyy="${mass * (length * length + height * height)/12.0}" iyz="${0}" izx="${0}" izy="${0}" izz="${mass * (length * length + width * width)/12.0}" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<gazebo reference="${name}">
|
||||
<kp>1000000.0</kp>
|
||||
<kd>1.0</kd>
|
||||
<mu1>0.8</mu1>
|
||||
<mu2>0.8</mu2>
|
||||
<maxVel>0.0</maxVel>
|
||||
<minDepth>0.001</minDepth>
|
||||
<material>Gazebo/Orange</material>
|
||||
</gazebo>
|
||||
</xacro:macro>
|
||||
|
||||
|
||||
<!-- Left Leg: prefix is front or rear -->
|
||||
<!-- <xacro:macro name="LeftLeg" params="prefix reflect">
|
||||
<link name="${prefix}_Left_Leg">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="${leglen} 0.1 0.2"/>
|
||||
</geometry>
|
||||
<origin xyz="0 0 -${leglen/2}" rpy="0 ${pi/2} 0"/>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="${leglen} 0.1 0.2"/>
|
||||
</geometry>
|
||||
<origin xyz="0 0 -${leglen/2}" rpy="0 ${pi/2} 0"/>
|
||||
</collision>
|
||||
<xacro:default_inertial mass="10"/>
|
||||
</link>
|
||||
|
||||
<joint name="base_to_${prefix}_leg" type="fixed">
|
||||
<parent link="base_link"/>
|
||||
<child link="${prefix}_leg"/>
|
||||
<origin xyz="0 ${reflect*(width+.02)} 0.25" />
|
||||
</joint>
|
||||
</xacro:macro> -->
|
||||
|
||||
</robot>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" ?>
|
||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
<xacro:macro name="quadruped_transmission" params="leg ">
|
||||
<transmission name="${leg}_hip_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_${leg}_hip">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="${leg}_hip_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
<transmission name="${leg}_upper_leg_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_${leg}_lower_leg">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="${leg}_upper_leg_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
<transmission name="${leg}_lower_leg_joint_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="motor_${leg}_upper_leg">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="${leg}_lower_joint_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
</xacro:macro>
|
||||
</robot>
|
||||
Reference in New Issue
Block a user