<?xml version="1.0" encoding="utf-8"?>
<!-- This URDF was automatically created by SolidWorks to URDF Exporter! Originally created by Stephen Brawner (brawner@gmail.com) 
     Commit Version: 1.6.0-4-g7f85cfe  Build Version: 1.6.7995.38578
     For more information, please see http://wiki.ros.org/sw_urdf_exporter -->
<!-- 为了适配 ROS 2 Humble 仿真，这里仅对导出结果做了少量必要修正：
     1. mesh 资源路径统一改到 guguji_ros2 包名下；
     2. 修正左髋关节名拼写；
     3. 将右踝俯仰关节改为与左侧一致的 revolute，避免仿真中单侧连续转动。
     4. 为各个关节补充可视化调试范围，便于 joint_state_publisher_gui 在 RViz 中驱动模型。 -->
<robot
  name="guguji">
  <link
    name="base_link">
    <inertial>
      <origin
        xyz="-0.01311 4.4564E-15 -0.038387"
        rpy="0 0 0" />
      <mass
        value="0.79357" />
      <inertia
        ixx="0.00242"
        ixy="-5.1575E-18"
        ixz="-4.465E-06"
        iyy="0.0007494"
        iyz="-1.1414E-08"
        izz="0.0022891" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/base_link.STL" />
      </geometry>
      <material
        name="">
        <color
          rgba="0.79216 0.81961 0.93333 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/base_link.STL" />
      </geometry>
    </collision>
  </link>
  <link
    name="left_hip_pitch_link">
    <inertial>
      <origin
        xyz="-0.020507 0.056794 -0.042649"
        rpy="0 0 0" />
      <mass
        value="0.36126" />
      <inertia
        ixx="0.00033468"
        ixy="2.8388E-06"
        ixz="-1.7075E-06"
        iyy="0.00033343"
        iyz="4.5382E-05"
        izz="0.00029074" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/left_hip_pitch_link.STL" />
      </geometry>
      <material
        name="">
        <color
          rgba="0.79216 0.81961 0.93333 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/left_hip_pitch_link.STL" />
      </geometry>
    </collision>
  </link>
  <joint
    name="left_hip_pitch_joint"
    type="revolute">
    <origin
      xyz="0.0212 0.075 -0.045"
      rpy="0 0 0" />
    <parent
      link="base_link" />
    <child
      link="left_hip_pitch_link" />
    <axis
      xyz="-1 0 -8.3367E-05" />
    <!-- SolidWorks 导出时把关节范围都写成了 0~0，
         这样 GUI 的滑块、Random、Center 都不会产生动作。
         这里先给一组用于 RViz/Gazebo 调试的临时范围，后续可按真实机构极限再细化。 -->
    <limit
      lower="-1.0"
      upper="1.0"
      effort="10.0"
      velocity="2.0" />
  </joint>
  <link
    name="left_knee_pitch_link">
    <inertial>
      <origin
        xyz="-0.079749 -0.02485 -0.05519"
        rpy="0 0 0" />
      <mass
        value="0.30699" />
      <inertia
        ixx="0.00018914"
        ixy="-9.6861E-06"
        ixz="-0.00012324"
        iyy="0.00045996"
        iyz="-7.9583E-06"
        izz="0.00036515" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/left_knee_pitch_link.STL" />
      </geometry>
      <material
        name="">
        <color
          rgba="0.79216 0.81961 0.93333 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/left_knee_pitch_link.STL" />
      </geometry>
    </collision>
  </link>
  <joint
    name="left_knee_pitch_joint"
    type="revolute">
    <origin
      xyz="-0.0207 0.086 -0.065"
      rpy="0 -8.3367E-05 0" />
    <parent
      link="left_hip_pitch_link" />
    <child
      link="left_knee_pitch_link" />
    <axis
      xyz="0 -1 0" />
    <limit
      lower="-1.2"
      upper="1.2"
      effort="10.0"
      velocity="2.0" />
  </joint>
  <link
    name="left_ankle_pitch_link">
    <inertial>
      <origin
        xyz="0.025229 0.041641 -0.055333"
        rpy="0 0 0" />
      <mass
        value="0.16139" />
      <inertia
        ixx="0.00032566"
        ixy="-6.0329E-07"
        ixz="7.4777E-05"
        iyy="0.00022706"
        iyz="1.0258E-06"
        izz="0.00019522" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/left_ankle_pitch_link.STL" />
      </geometry>
      <material
        name="">
        <color
          rgba="0.79216 0.81961 0.93333 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/left_ankle_pitch_link.STL" />
      </geometry>
    </collision>
  </link>
  <joint
    name="left_ankle_pitch_joint"
    type="revolute">
    <origin
      xyz="-0.10001 -0.068602 -0.064992"
      rpy="0 0 0" />
    <parent
      link="left_knee_pitch_link" />
    <child
      link="left_ankle_pitch_link" />
    <axis
      xyz="0 -1 0" />
    <limit
      lower="-0.8"
      upper="0.8"
      effort="8.0"
      velocity="2.0" />
  </joint>
  <link
    name="left_foot_link">
    <inertial>
      <origin
        xyz="0.00086189 -0.028039 -0.012007"
        rpy="0 0 0" />
      <mass
        value="0.52086" />
      <inertia
        ixx="0.00034206"
        ixy="6.9489E-06"
        ixz="1.2323E-05"
        iyy="0.0011393"
        iyz="2.4066E-06"
        izz="0.0013288" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/left_foot_link.STL" />
      </geometry>
      <material
        name="">
        <color
          rgba="0.79216 0.81961 0.93333 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/left_foot_link.STL" />
      </geometry>
    </collision>
  </link>
  <joint
    name="left_ankle_joint"
    type="revolute">
    <origin
      xyz="0.04999 0.068602 -0.115"
      rpy="0 0 0" />
    <parent
      link="left_ankle_pitch_link" />
    <child
      link="left_foot_link" />
    <axis
      xyz="0 -1 0" />
    <limit
      lower="-0.6"
      upper="0.6"
      effort="8.0"
      velocity="2.0" />
  </joint>
  <link
    name="right_hip_pitch_link">
    <inertial>
      <origin
        xyz="-0.020511 -0.056935 -0.042647"
        rpy="0 0 0" />
      <mass
        value="0.36126" />
      <inertia
        ixx="0.00033468"
        ixy="-2.8417E-06"
        ixz="-1.6994E-06"
        iyy="0.00033343"
        iyz="-4.5381E-05"
        izz="0.00029074" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/right_hip_pitch_link.STL" />
      </geometry>
      <material
        name="">
        <color
          rgba="0.79216 0.81961 0.93333 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/right_hip_pitch_link.STL" />
      </geometry>
    </collision>
  </link>
  <joint
    name="right_hip_pitch_joint"
    type="revolute">
    <origin
      xyz="0.0212 -0.075 -0.045"
      rpy="0 -8.3367E-05 0" />
    <parent
      link="base_link" />
    <child
      link="right_hip_pitch_link" />
    <axis
      xyz="1 0 0" />
    <limit
      lower="-1.0"
      upper="1.0"
      effort="10.0"
      velocity="2.0" />
  </joint>
  <link
    name="right_knee_pitch_link">
    <inertial>
      <origin
        xyz="-0.079749 0.025083 -0.05519"
        rpy="0 0 0" />
      <mass
        value="0.30699" />
      <inertia
        ixx="0.00018914"
        ixy="9.6861E-06"
        ixz="-0.00012325"
        iyy="0.00045996"
        iyz="7.9583E-06"
        izz="0.00036515" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/right_knee_pitch_link.STL" />
      </geometry>
      <material
        name="">
        <color
          rgba="0.79216 0.81961 0.93333 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/right_knee_pitch_link.STL" />
      </geometry>
    </collision>
  </link>
  <joint
    name="right_knee_pitch_joint"
    type="revolute">
    <origin
      xyz="-0.020705 -0.0864 -0.064998"
      rpy="0 0 0" />
    <parent
      link="right_hip_pitch_link" />
    <child
      link="right_knee_pitch_link" />
    <axis
      xyz="0 1 0" />
    <limit
      lower="-1.2"
      upper="1.2"
      effort="10.0"
      velocity="2.0" />
  </joint>
  <link
    name="right_ankle_pitch_link">
    <inertial>
      <origin
        xyz="0.025229 -0.041641 -0.055333"
        rpy="0 0 0" />
      <mass
        value="0.16139" />
      <inertia
        ixx="0.00032566"
        ixy="6.0329E-07"
        ixz="7.4777E-05"
        iyy="0.00022706"
        iyz="-1.0258E-06"
        izz="0.00019522" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/right_ankle_pitch_link.STL" />
      </geometry>
      <material
        name="">
        <color
          rgba="0.79216 0.81961 0.93333 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/right_ankle_pitch_link.STL" />
      </geometry>
    </collision>
  </link>
  <joint
    name="right_ankle_pitch_joint"
    type="revolute">
    <origin
      xyz="-0.10001 0.069002 -0.064992"
      rpy="0 0 0" />
    <parent
      link="right_knee_pitch_link" />
    <child
      link="right_ankle_pitch_link" />
    <axis
      xyz="0 1 0" />
    <limit
      lower="-0.8"
      upper="0.8"
      effort="8.0"
      velocity="2.0" />
  </joint>
  <link
    name="right_foot_link">
    <inertial>
      <origin
        xyz="0.0011206 0.029513 -0.015613"
        rpy="0 0 0" />
      <mass
        value="0.40057" />
      <inertia
        ixx="0.00029071"
        ixy="-6.947E-06"
        ixz="1.2318E-05"
        iyy="0.0010904"
        iyz="-2.4067E-06"
        izz="0.0012771" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/right_foot_link.STL" />
      </geometry>
      <material
        name="">
        <color
          rgba="0.79216 0.81961 0.93333 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://guguji_ros2/meshes/right_foot_link.STL" />
      </geometry>
    </collision>
  </link>
  <joint
    name="right_ankle_joint"
    type="revolute">
    <origin
      xyz="0.04999 -0.069002 -0.115"
      rpy="0 0 0" />
    <parent
      link="right_ankle_pitch_link" />
    <child
      link="right_foot_link" />
    <axis
      xyz="0 1 0" />
    <limit
      lower="-0.6"
      upper="0.6"
      effort="8.0"
      velocity="2.0" />
  </joint>
</robot>
