gazebo simulation

news2024/10/6 1:43:24

 

<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from /home/xrh/ros-project/gazebo_test/src/fmauch_universal_robot/ur_description/urdf/ur3_D455_2f140.urdf.xacro | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="ur3_robot">
    <!--
   xrh write it by https://blog.csdn.net/Tepmoe/article/details/119455411
  -->
    <!--
    Base UR robot series xacro macro.

    NOTE: this is NOT a URDF. It cannot directly be loaded by consumers
    expecting a flattened '.urdf' file. See the top-level '.xacro' for that
    (but note: that .xacro must still be processed by the xacro command).

    For use in '.launch' files: use one of the 'load_urX.launch' convenience
    launch files.

    This file models the base kinematic chain of a UR robot, which then gets
    parameterised by various configuration files to convert it into a UR3(e),
    UR5(e), UR10(e) or UR16e.

    NOTE: the default kinematic parameters (ie: link lengths, frame locations,
    offets, etc) do not correspond to any particular robot. They are defaults
    only. There WILL be non-zero offsets between the Forward Kinematics results
    in TF (ie: robot_state_publisher) and the values reported by the Teach
    Pendant.

    For accurate (and robot-specific) transforms, the 'kinematics_parameters_file'
    parameter MUST point to a .yaml file containing the appropriate values for
    the targetted robot.

    If using the UniversalRobots/Universal_Robots_ROS_Driver, follow the steps
    described in the readme of that repository to extract the kinematic
    calibration from the controller and generate the required .yaml file.

    Main author of the migration to yaml configs: Ludovic Delval.

    Contributors to previous versions (in no particular order):

     - Felix Messmer
     - Kelsey Hawkins
     - Wim Meeussen
     - Shaun Edwards
     - Nadia Hammoudeh Garcia
     - Dave Hershberger
     - G. vd. Hoorn
     - Philip Long
     - Dave Coleman
     - Miguel Prada
     - Mathias Luedtke
     - Marcel Schnirring
     - Felix von Drigalski
     - Felix Exner
     - Jimmy Da Silva
     - Ajit Krisshna N L
     - Muhammad Asif Rana
  -->
    <!--
    NOTE: the macro defined in this file is NOT part of the public API of this
          package. Users CANNOT rely on this file being available, or stored in
          this location. Nor can they rely on the existence of the macro.
  -->
    <transmission name="shoulder_pan_trans">
        <type>transmission_interface/SimpleTransmission</type>
        <joint name="shoulder_pan_joint">
            <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
        </joint>
        <actuator name="shoulder_pan_motor">
            <mechanicalReduction>1</mechanicalReduction>
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        </actuator>
    </transmission>
    <transmission name="shoulder_lift_trans">
        <type>transmission_interface/SimpleTransmission</type>
        <joint name="shoulder_lift_joint">
            <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
        </joint>
        <actuator name="shoulder_lift_motor">
            <mechanicalReduction>1</mechanicalReduction>
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        </actuator>
    </transmission>
    <transmission name="elbow_trans">
        <type>transmission_interface/SimpleTransmission</type>
        <joint name="elbow_joint">
            <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
        </joint>
        <actuator name="elbow_motor">
            <mechanicalReduction>1</mechanicalReduction>
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        </actuator>
    </transmission>
    <transmission name="wrist_1_trans">
        <type>transmission_interface/SimpleTransmission</type>
        <joint name="wrist_1_joint">
            <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
        </joint>
        <actuator name="wrist_1_motor">
            <mechanicalReduction>1</mechanicalReduction>
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        </actuator>
    </transmission>
    <transmission name="wrist_2_trans">
        <type>transmission_interface/SimpleTransmission</type>
        <joint name="wrist_2_joint">
            <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
        </joint>
        <actuator name="wrist_2_motor">
            <mechanicalReduction>1</mechanicalReduction>
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        </actuator>
    </transmission>
    <transmission name="wrist_3_trans">
        <type>transmission_interface/SimpleTransmission</type>
        <joint name="wrist_3_joint">
            <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
        </joint>
        <actuator name="wrist_3_motor">
            <mechanicalReduction>1</mechanicalReduction>
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        </actuator>
    </transmission>
    <!-- links: main serial chain -->
    <link name="base_link" />
    <link name="base_link_inertia">
        <visual>
            <origin rpy="0 0 3.141592653589793" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/visual/base.dae" />
            </geometry>
            <material name="LightGrey">
                <color rgba="0.7 0.7 0.7 1.0" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 3.141592653589793" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/collision/base.stl" />
            </geometry>
        </collision>
        <inertial>
            <mass value="2.0" />
            <origin rpy="0 0 0" xyz="0 0 0" />
            <inertia ixx="0.0030531654454" ixy="0.0" ixz="0.0" iyy="0.0030531654454" iyz="0.0" izz="0.005625" />
        </inertial>
    </link>
    <link name="shoulder_link">
        <visual>
            <origin rpy="0 0 3.141592653589793" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/visual/shoulder.dae" />
            </geometry>
            <material name="LightGrey">
                <color rgba="0.7 0.7 0.7 1.0" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 3.141592653589793" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/collision/shoulder.stl" />
            </geometry>
        </collision>
        <inertial>
            <mass value="2.0" />
            <origin rpy="0 0 0" xyz="0 0 0" />
            <inertia ixx="0.008093163429399999" ixy="0.0" ixz="0.0" iyy="0.008093163429399999" iyz="0.0" izz="0.005625" />
        </inertial>
    </link>
    <link name="upper_arm_link">
        <visual>
            <origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0.1198" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/visual/upperarm.dae" />
            </geometry>
            <material name="LightGrey">
                <color rgba="0.7 0.7 0.7 1.0" />
            </material>
        </visual>
        <collision>
            <origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0.1198" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/collision/upperarm.stl" />
            </geometry>
        </collision>
        <inertial>
            <mass value="3.42" />
            <origin rpy="0 1.5707963267948966 0" xyz="-0.121825 0.0 0.12" />
            <inertia ixx="0.021728483221103233" ixy="0.0" ixz="0.0" iyy="0.021728483221103233" iyz="0.0" izz="0.00961875" />
        </inertial>
    </link>
    <link name="forearm_link">
        <visual>
            <origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0.0275" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/visual/forearm.dae" />
            </geometry>
            <material name="LightGrey">
                <color rgba="0.7 0.7 0.7 1.0" />
            </material>
        </visual>
        <collision>
            <origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0.0275" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/collision/forearm.stl" />
            </geometry>
        </collision>
        <inertial>
            <mass value="1.26" />
            <origin rpy="0 1.5707963267948966 0" xyz="-0.106625 0.0 0.0275" />
            <inertia ixx="0.006546806443776375" ixy="0.0" ixz="0.0" iyy="0.006546806443776375" iyz="0.0" izz="0.00354375" />
        </inertial>
    </link>
    <link name="wrist_1_link">
        <visual>
            <!-- TODO: Move this to a parameter -->
            <origin rpy="1.5707963267948966 0 0" xyz="0 0 -0.085" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/visual/wrist1.dae" />
            </geometry>
            <material name="LightGrey">
                <color rgba="0.7 0.7 0.7 1.0" />
            </material>
        </visual>
        <collision>
            <origin rpy="1.5707963267948966 0 0" xyz="0 0 -0.085" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/collision/wrist1.stl" />
            </geometry>
        </collision>
        <inertial>
            <mass value="0.8" />
            <origin rpy="0 0 0" xyz="0 0 0" />
            <inertia ixx="0.0016106408557434" ixy="0.0" ixz="0.0" iyy="0.0016106408557434" iyz="0.0" izz="0.00225" />
        </inertial>
    </link>
    <link name="wrist_2_link">
        <visual>
            <origin rpy="0 0 0" xyz="0 0 -0.085" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/visual/wrist2.dae" />
            </geometry>
            <material name="LightGrey">
                <color rgba="0.7 0.7 0.7 1.0" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 -0.085" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/collision/wrist2.stl" />
            </geometry>
        </collision>
        <inertial>
            <mass value="0.8" />
            <origin rpy="0 0 0" xyz="0 0 0" />
            <inertia ixx="0.0015721733711303997" ixy="0.0" ixz="0.0" iyy="0.0015721733711303997" iyz="0.0" izz="0.00225" />
        </inertial>
    </link>
    <link name="wrist_3_link">
        <visual>
            <origin rpy="1.5707963267948966 0 0" xyz="0 0 -0.082" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/visual/wrist3.dae" />
            </geometry>
            <material name="LightGrey">
                <color rgba="0.7 0.7 0.7 1.0" />
            </material>
        </visual>
        <collision>
            <origin rpy="1.5707963267948966 0 0" xyz="0 0 -0.082" />
            <geometry>
                <mesh filename="package://ur_description/meshes/ur3/collision/wrist3.stl" />
            </geometry>
        </collision>
        <inertial>
            <mass value="0.35" />
            <origin rpy="0 0 0" xyz="0.0 0.0 -0.02" />
            <inertia ixx="0.00013626661215999998" ixy="0.0" ixz="0.0" iyy="0.00013626661215999998" iyz="0.0" izz="0.0001792" />
        </inertial>
    </link>
    <!-- joints: main serial chain -->
    <joint name="base_link-base_link_inertia" type="fixed">
        <parent link="base_link" />
        <child link="base_link_inertia" />
        <!-- 'base_link' is REP-103 aligned (so X+ forward), while the internal
           frames of the robot/controller have X+ pointing backwards.
           Use the joint between 'base_link' and 'base_link_inertia' (a dummy
           link/frame) to introduce the necessary rotation over Z (of pi rad).
      -->
        <origin rpy="0 0 3.141592653589793" xyz="0 0 0" />
    </joint>
    <joint name="shoulder_pan_joint" type="revolute">
        <parent link="base_link_inertia" />
        <child link="shoulder_link" />
        <origin rpy="0 0 0" xyz="0 0 0.1519" />
        <axis xyz="0 0 1" />
        <limit effort="56.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="3.141592653589793" />
        <dynamics damping="0" friction="0" />
    </joint>
    <joint name="shoulder_lift_joint" type="revolute">
        <parent link="shoulder_link" />
        <child link="upper_arm_link" />
        <origin rpy="1.570796327 0 0" xyz="0 0 0" />
        <axis xyz="0 0 1" />
        <limit effort="56.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="3.141592653589793" />
        <dynamics damping="0" friction="0" />
    </joint>
    <joint name="elbow_joint" type="revolute">
        <parent link="upper_arm_link" />
        <child link="forearm_link" />
        <origin rpy="0 0 0" xyz="-0.24365 0 0" />
        <axis xyz="0 0 1" />
        <limit effort="28.0" lower="-3.141592653589793" upper="3.141592653589793" velocity="3.141592653589793" />
        <dynamics damping="0" friction="0" />
    </joint>
    <joint name="wrist_1_joint" type="revolute">
        <parent link="forearm_link" />
        <child link="wrist_1_link" />
        <origin rpy="0 0 0" xyz="-0.21325 0 0.11235" />
        <axis xyz="0 0 1" />
        <limit effort="12.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="6.283185307179586" />
        <dynamics damping="0" friction="0" />
    </joint>
    <joint name="wrist_2_joint" type="revolute">
        <parent link="wrist_1_link" />
        <child link="wrist_2_link" />
        <origin rpy="1.570796327 0 0" xyz="0 -0.08535 -1.750557762378351e-11" />
        <axis xyz="0 0 1" />
        <limit effort="12.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="6.283185307179586" />
        <dynamics damping="0" friction="0" />
    </joint>
    <joint name="wrist_3_joint" type="revolute">
        <parent link="wrist_2_link" />
        <child link="wrist_3_link" />
        <origin rpy="1.570796326589793 3.141592653589793 3.141592653589793" xyz="0 0.0819 -1.679797079540562e-11" />
        <axis xyz="0 0 1" />
        <limit effort="12.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="6.283185307179586" />
        <dynamics damping="0" friction="0" />
    </joint>
    <!-- ROS-Industrial 'base' frame: base_link to UR 'Base' Coordinates transform -->
    <!-- <link name="${prefix}base"/> -->
    <link name="base">
        <visual>
            <material name="my_green">
                <color rgba="0 1 0 0.5" />
            </material>
            <origin rpy="0 0 0" xyz="0 0 -0.01" />
            <geometry>
                <box size="0.1 0.1 0.001" />
            </geometry>
        </visual>
    </link>
    <joint name="base_link-base_fixed_joint" type="fixed">
        <!-- Note the rotation over Z of pi radians: as base_link is REP-103
           aligned (ie: has X+ forward, Y+ left and Z+ up), this is needed
           to correctly align 'base' with the 'Base' coordinate system of
           the UR controller.
      -->
        <origin rpy="0 0 3.141592653589793" xyz="0 0 0" />
        <parent link="base_link" />
        <child link="base" />
    </joint>
    <!-- ROS-Industrial 'flange' frame: attachment point for EEF models -->
    <link name="flange" />
    <joint name="wrist_3-flange" type="fixed">
        <parent link="wrist_3_link" />
        <child link="flange" />
        <origin rpy="0 -1.5707963267948966 -1.5707963267948966" xyz="0 0 0" />
    </joint>
    <!-- ROS-Industrial 'tool0' frame: all-zeros tool frame -->
    <link name="tool0" />
    <joint name="flange-tool0" type="fixed">
        <!-- default toolframe: X+ left, Y+ up, Z+ front -->
        <origin rpy="1.5707963267948966 0 1.5707963267948966" xyz="0 0 0" />
        <parent link="flange" />
        <child link="tool0" />
    </joint>
    <!-- <xacro:include filename="$(find robotiq_2f_140_gripper_visualization)/urdf/robotiq_arg2f_140_model.xacro"/> -->
    <link name="cd455_base_link">
        <inertial>
            <origin rpy="0 0 0" xyz="2.7477E-18 0.033299 -0.0030052" />
            <mass value="0.040941" />
            <inertia ixx="5.9133E-05" ixy="-2.7124E-21" ixz="-3.6797E-24" iyy="2.5993E-05" iyz="-1.3704E-06" izz="8.477E-05" />
        </inertial>
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://cd455_455_description/meshes/base_link.STL" />
            </geometry>
            <material name="">
                <color rgba="0.79216 0.81961 0.93333 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://cd455_455_description/meshes/base_link.STL" />
            </geometry>
        </collision>
    </link>
    <link name="455_Link">
        <inertial>
            <origin rpy="0 0 0" xyz="0.047441 8.2708E-05 -0.013094" />
            <mass value="0.054864" />
            <inertia ixx="4.1525E-06" ixy="-2.7906E-09" ixz="-1.0013E-08" iyy="6.6013E-05" iyz="2.9071E-08" izz="6.9171E-05" />
        </inertial>
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://cd455_455_description/meshes/455_Link.STL" />
            </geometry>
            <material name="">
                <color rgba="0.75294 0.75294 0.75294 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://cd455_455_description/meshes/455_Link.STL" />
            </geometry>
        </collision>
    </link>
    <joint name="CD455_455" type="fixed">
        <origin rpy="0 0 0" xyz="-0.0475 0.089 -0.004" />
        <parent link="cd455_base_link" />
        <child link="455_Link" />
        <axis xyz="0 0 0" />
    </joint>
    <link name="robotiq_arg2f_base_link">
        <inertial>
            <origin rpy="0 0 0" xyz="8.625E-08 -4.6583E-06 0.03145" />
            <mass value="0.22652" />
            <inertia ixx="0.00020005" ixy="-4.2442E-10" ixz="-2.9069E-10" iyy="0.00017832" iyz="-3.4402E-08" izz="0.00013478" />
        </inertial>
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_base_link.stl" />
            </geometry>
            <material name="">
                <color rgba="0.1 0.1 0.1 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_base_link.stl" />
            </geometry>
        </collision>
    </link>
    <link name="left_outer_knuckle">
        <inertial>
            <origin rpy="0 0 0" xyz="-0.000200000000003065 0.0199435877845359 0.0292245259211331" />
            <mass value="0.00853198276973456" />
            <inertia ixx="2.89328108496468E-06" ixy="-1.57935047237397E-19" ixz="-1.93980378593255E-19" iyy="1.86719750325683E-06" iyz="-1.21858577871576E-06" izz="1.21905238907251E-06" />
        </inertial>
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_outer_knuckle.stl" />
            </geometry>
            <material name="">
                <color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_outer_knuckle.stl" />
            </geometry>
        </collision>
    </link>
    <link name="left_outer_finger">
        <inertial>
            <origin rpy="0 0 0" xyz="0.00030115855001899 0.0373907951953854 -0.0208027427000385" />
            <mass value="0.022614240507152" />
            <inertia ixx="1.52518312458174E-05" ixy="9.76583423954399E-10" ixz="-5.43838577022588E-10" iyy="6.17694243867776E-06" iyz="6.78636130740228E-06" izz="1.16494917907219E-05" />
        </inertial>
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_outer_finger.stl" />
            </geometry>
            <material name="">
                <color rgba="0.1 0.1 0.1 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_outer_finger.stl" />
            </geometry>
        </collision>
    </link>
    <link name="left_inner_finger">
        <inertial>
            <origin rpy="0 0 0" xyz="0.000299999999999317 0.0160078233491243 -0.0136945669206257" />
            <mass value="0.0104003125914103" />
            <inertia ixx="2.71909453810972E-06" ixy="1.35402465472579E-21" ixz="-7.1817349065269E-22" iyy="7.69100314106116E-07" iyz="6.74715432769696E-07" izz="2.30315190420171E-06" />
        </inertial>
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_inner_finger.stl" />
            </geometry>
            <material name="">
                <color rgba="0.1 0.1 0.1 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_inner_finger.stl" />
            </geometry>
        </collision>
    </link>
    <link name="left_inner_finger_pad">
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <box size="0.027 0.065 0.0075" />
            </geometry>
            <material name="">
                <color rgba="0.9 0.9 0.9 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <box size="0.03 0.07 0.0075" />
            </geometry>
            <material name="">
                <color rgba="0.9 0.0 0.0 1" />
            </material>
        </collision>
        <inertial>
            <mass value="0.1" />
            <origin xyz="0 0 0" rpy="0 0 0" />
            <inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
        </inertial>
    </link>
    <link name="left_inner_knuckle">
        <inertial>
            <origin rpy="0 0 0" xyz="0.000123011831763771 0.0507850843201817 0.00103968640075166" />
            <mass value="0.0271177346495152" />
            <inertia ixx="2.61910379223783E-05" ixy="-2.43616858946494E-07" ixz="-6.37789906117123E-09" iyy="2.8270243746167E-06" iyz="-5.37200748039765E-07" izz="2.83695868220296E-05" />
        </inertial>
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_inner_knuckle.stl" />
            </geometry>
            <material name="">
                <color rgba="0.1 0.1 0.1 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_inner_knuckle.stl" />
            </geometry>
        </collision>
    </link>
    <link name="right_outer_knuckle">
        <inertial>
            <origin rpy="0 0 0" xyz="-0.000200000000003065 0.0199435877845359 0.0292245259211331" />
            <mass value="0.00853198276973456" />
            <inertia ixx="2.89328108496468E-06" ixy="-1.57935047237397E-19" ixz="-1.93980378593255E-19" iyy="1.86719750325683E-06" iyz="-1.21858577871576E-06" izz="1.21905238907251E-06" />
        </inertial>
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_outer_knuckle.stl" />
            </geometry>
            <material name="">
                <color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_outer_knuckle.stl" />
            </geometry>
        </collision>
    </link>
    <link name="right_outer_finger">
        <inertial>
            <origin rpy="0 0 0" xyz="0.00030115855001899 0.0373907951953854 -0.0208027427000385" />
            <mass value="0.022614240507152" />
            <inertia ixx="1.52518312458174E-05" ixy="9.76583423954399E-10" ixz="-5.43838577022588E-10" iyy="6.17694243867776E-06" iyz="6.78636130740228E-06" izz="1.16494917907219E-05" />
        </inertial>
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_outer_finger.stl" />
            </geometry>
            <material name="">
                <color rgba="0.1 0.1 0.1 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_outer_finger.stl" />
            </geometry>
        </collision>
    </link>
    <link name="right_inner_finger">
        <inertial>
            <origin rpy="0 0 0" xyz="0.000299999999999317 0.0160078233491243 -0.0136945669206257" />
            <mass value="0.0104003125914103" />
            <inertia ixx="2.71909453810972E-06" ixy="1.35402465472579E-21" ixz="-7.1817349065269E-22" iyy="7.69100314106116E-07" iyz="6.74715432769696E-07" izz="2.30315190420171E-06" />
        </inertial>
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_inner_finger.stl" />
            </geometry>
            <material name="">
                <color rgba="0.1 0.1 0.1 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_inner_finger.stl" />
            </geometry>
        </collision>
    </link>
    <link name="right_inner_finger_pad">
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <box size="0.027 0.065 0.0075" />
            </geometry>
            <material name="">
                <color rgba="0.9 0.9 0.9 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <box size="0.03 0.07 0.0075" />
            </geometry>
            <material name="">
                <color rgba="0.9 0.0 0.0 1" />
            </material>
        </collision>
        <inertial>
            <mass value="0.1" />
            <origin xyz="0 0 0" rpy="0 0 0" />
            <inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
        </inertial>
    </link>
    <link name="right_inner_knuckle">
        <inertial>
            <origin rpy="0 0 0" xyz="0.000123011831763771 0.0507850843201817 0.00103968640075166" />
            <mass value="0.0271177346495152" />
            <inertia ixx="2.61910379223783E-05" ixy="-2.43616858946494E-07" ixz="-6.37789906117123E-09" iyy="2.8270243746167E-06" iyz="-5.37200748039765E-07" izz="2.83695868220296E-05" />
        </inertial>
        <visual>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/visual/robotiq_arg2f_140_inner_knuckle.stl" />
            </geometry>
            <material name="">
                <color rgba="0.1 0.1 0.1 1" />
            </material>
        </visual>
        <collision>
            <origin rpy="0 0 0" xyz="0 0 0" />
            <geometry>
                <mesh filename="package://robotiq_2f_140_gripper_visualization/meshes/collision/robotiq_arg2f_140_inner_knuckle.stl" />
            </geometry>
        </collision>
    </link>
    <joint name="finger_joint" type="revolute">
        <origin rpy="2.2957963267948966 0 0" xyz="0 -0.030601 0.054905" />
        <parent link="robotiq_arg2f_base_link" />
        <child link="left_outer_knuckle" />
        <axis xyz="-1 0 0" />
        <limit effort="1000" lower="0" upper="0.7" velocity="2.0" />
    </joint>
    <joint name="left_outer_finger_joint" type="fixed">
        <origin rpy="0 0 0" xyz="0 0.01821998610742 0.0260018192872234" />
        <parent link="left_outer_knuckle" />
        <child link="left_outer_finger" />
        <axis xyz="1 0 0" />
    </joint>
    <joint name="left_inner_knuckle_joint" type="revolute">
        <origin rpy="2.2957963267948966 0 0.0" xyz="0 -0.0127 0.06142" />
        <parent link="robotiq_arg2f_base_link" />
        <child link="left_inner_knuckle" />
        <axis xyz="1 0 0" />
        <limit effort="1000" lower="-0.8757" upper="0.8757" velocity="2.0" />
        <mimic joint="finger_joint" multiplier="-1" offset="0" />
    </joint>
    <joint name="left_inner_finger_joint" type="revolute">
        <origin rpy="-0.725 0 0" xyz="0 0.0817554015893473 -0.0282203446692936" />
        <parent link="left_outer_finger" />
        <child link="left_inner_finger" />
        <axis xyz="1 0 0" />
        <limit effort="1000" lower="-0.8757" upper="0.8757" velocity="2.0" />
        <mimic joint="finger_joint" multiplier="1" offset="0" />
    </joint>
    <joint name="left_inner_finger_pad_joint" type="fixed">
        <origin rpy="0 0 0" xyz="0 0.0457554015893473 -0.0272203446692936" />
        <parent link="left_inner_finger" />
        <child link="left_inner_finger_pad" />
        <axis xyz="0 0 1" />
    </joint>
    <joint name="right_outer_knuckle_joint" type="revolute">
        <origin rpy="2.2957963267948966 0 3.141592653589793" xyz="0 0.030601 0.054905" />
        <parent link="robotiq_arg2f_base_link" />
        <child link="right_outer_knuckle" />
        <axis xyz="1 0 0" />
        <limit effort="1000" lower="-0.725" upper="0.725" velocity="2.0" />
        <mimic joint="finger_joint" multiplier="-1" offset="0" />
    </joint>
    <joint name="right_outer_finger_joint" type="fixed">
        <origin rpy="0 0 0" xyz="0 0.01821998610742 0.0260018192872234" />
        <parent link="right_outer_knuckle" />
        <child link="right_outer_finger" />
        <axis xyz="1 0 0" />
    </joint>
    <joint name="right_inner_knuckle_joint" type="revolute">
        <origin rpy="2.2957963267948966 0 -3.141592653589793" xyz="0 0.0127 0.06142" />
        <parent link="robotiq_arg2f_base_link" />
        <child link="right_inner_knuckle" />
        <axis xyz="1 0 0" />
        <limit effort="1000" lower="-0.8757" upper="0.8757" velocity="2.0" />
        <mimic joint="finger_joint" multiplier="-1" offset="0" />
    </joint>
    <joint name="right_inner_finger_joint" type="revolute">
        <origin rpy="-0.725 0 0" xyz="0 0.0817554015893473 -0.0282203446692936" />
        <parent link="right_outer_finger" />
        <child link="right_inner_finger" />
        <axis xyz="1 0 0" />
        <limit effort="1000" lower="-0.8757" upper="0.8757" velocity="2.0" />
        <mimic joint="finger_joint" multiplier="1" offset="0" />
    </joint>
    <joint name="right_inner_finger_pad_joint" type="fixed">
        <origin rpy="0 0 0" xyz="0 0.0457554015893473 -0.0272203446692936" />
        <parent link="right_inner_finger" />
        <child link="right_inner_finger_pad" />
        <axis xyz="0 0 1" />
    </joint>
    <transmission name="finger_joint_trans">
        <type>transmission_interface/SimpleTransmission</type>
        <joint name="finger_joint">
            <hardwareInterface>PositionJointInterface</hardwareInterface>
        </joint>
        <actuator name="finger_joint_motor">
            <mechanicalReduction>1</mechanicalReduction>
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        </actuator>
    </transmission>
    <joint name="ur_CD455" type="fixed">
        <parent link="tool0" />
        <child link="cd455_base_link" />
        <origin rpy="0 3.1415926 3.1415926" xyz="0 0 0.01" />
    </joint>
    <!-- <origin xyz="0 0 0.1" rpy="0 0 1.5707963"/> zhuan dong 180 du ==== 1.5707 -->
    <!-- <link name="wrist_camera">
        <visual>
            <origin xyz=" 0 0 0.011" rpy="0 0 0" />
            <geometry>
                <cylinder length="0.022" radius="0.045"/>
            </geometry>
            <material name="yellow">
                <color rgba="1 0.4 0 1"/>
            </material>
        </visual>
        <collision>
            <origin xyz=" 0 0 0.011" rpy="0 0 0" />
            <geometry>
                <cylinder length="0.022" radius="0.045"/>
            </geometry>
        </collision>
    </link> -->
    <joint name="CD455_2f" type="fixed">
        <parent link="cd455_base_link" />
        <child link="robotiq_arg2f_base_link" />
        <origin rpy="0 3.1415926 1.5707963" xyz="0 0 -0.015" />
    </joint>
    <transmission name="trans_left_inner_knuckle_joint">
        <type>transmission_interface/SimpleTransmission</type>
        <joint name="left_inner_knuckle_joint">
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        </joint>
        <actuator name="left_inner_knuckle_joint_motor">
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
            <mechanicalReduction>1</mechanicalReduction>
        </actuator>
    </transmission>
    <transmission name="trans_left_inner_finger_joint">
        <type>transmission_interface/SimpleTransmission</type>
        <joint name="left_inner_finger_joint">
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        </joint>
        <actuator name="left_inner_finger_joint_motor">
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
            <mechanicalReduction>1</mechanicalReduction>
        </actuator>
    </transmission>
    <transmission name="trans_right_outer_knuckle_joint">
        <type>transmission_interface/SimpleTransmission</type>
        <joint name="right_outer_knuckle_joint">
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        </joint>
        <actuator name="right_outer_knuckle_joint_motor">
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
            <mechanicalReduction>1</mechanicalReduction>
        </actuator>
    </transmission>
    <transmission name="trans_right_inner_knuckle_joint">
        <type>transmission_interface/SimpleTransmission</type>
        <joint name="right_inner_knuckle_joint">
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        </joint>
        <actuator name="right_inner_knuckle_joint_motor">
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
            <mechanicalReduction>1</mechanicalReduction>
        </actuator>
    </transmission>
    <transmission name="trans_right_inner_finger_joint">
        <type>transmission_interface/SimpleTransmission</type>
        <joint name="right_inner_finger_joint">
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        </joint>
        <actuator name="right_inner_finger_joint_motor">
            <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
            <mechanicalReduction>1</mechanicalReduction>
        </actuator>
    </transmission>
    <gazebo>
        <plugin name="gazebo_ros_control">
            <robotNamespace>/</robotNamespace>
        </plugin>
    </gazebo>
</robot>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/779358.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++---string

String C语言中的字符串和C中的string类标准库中的string类string类的常用接口string类对象的常见构造string类对象的容量操作string类对象的访问及遍历操作 C语言中的字符串和C中的string类 在C语言中&#xff0c;字符串是一个字符数组&#xff0c;它以空字符\0结尾&#xff…

【进程7】 2.15 有名管道介绍及使用 2.16有名管道实现简单版聊天功能

2.15 有名管道介绍及使用 有名管道&#xff08;FIFO first in first out&#xff09; 有名管道也可用于具有亲缘关系的进程之间&#xff0c;底层数据结构也是环形队列、循环队列。 有名管道的使用 unlink用于删除一个文件。 创建fifo文件 命令&#xff1a; 文件类型p&…

Android-WebRTC-双人视频

省略开启本机摄像头的过程 以下和WebSocket通信的时候&#xff0c;是通过Gson转对象为字符串的方式传输的数据 整个过程 layout_rtc.xml <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:and…

汽车ECU刷机笔记

汽车ECU刷机笔记 ECU简介ECU刷机的意义点火提前角点火延迟角调整意义 常见刷ECU的方法:成本价格1.通过obd汽车诊断口读写数据2.bdm后台调试模式3.BENCH刷写4.BOOT需要拆开电脑板&#xff0c;焊接电路 ECU刷写程序读取数据OBD tools(汽车诊断器)蓝牙ODB诊断器&#xff1a; 读写设…

<j-editable-table 隐藏一列表格数据

&#xff1c;j-editable-table 隐藏一列表格数据 隐藏条码 本来列代码是这样的 {title: 条码, key: barCode, width: 15%, type: FormTypes.input, defaultValue: , placeholder: 请输入${title},validateRules: [{ required: true, message: ${title}不能为空 },// { pattern…

二分搜索树的特性

一、顺序性 二分搜索树可以当做查找表的一种实现。 我们使用二分搜索树的目的是通过查找 key 马上得到 value。minimum、maximum、successor&#xff08;后继&#xff09;、predecessor&#xff08;前驱&#xff09;、floor&#xff08;地板&#xff09;、ceil&#xff08;天…

leetcode 699. 掉落的方块(java)

掉落的方块 leetcode 699. 掉落的方块题目描述线段树解法代码演示 leetcode 699. 掉落的方块 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/falling-squares 题目描述 在二维平面上的 x 轴上&#xff0c;放置着一些方块…

jmeter软件测试实验(附源码以及配置)

jmeter介绍 JMeter是一个开源的性能测试工具&#xff0c;由Apache软件基金会开发和维护。它主要用于对Web应用程序、Web服务、数据库和其他类型的服务进行性能测试。JMeter最初是为测试Web应用程序而设计的&#xff0c;但现在已经扩展到支持更广泛的应用场景。 JMeter 可对服务…

Linux系统入门之-系统编程【open、close函数】

继上一篇环境配置后就正式开始系统编程 RK3568开发板入门之-tftp&nfs的配置 open的使用&#xff0c;使用之前可以先在Ubuntu下查看帮助&#xff0c;了解open的使用和语法&#xff0c;如下&#xff1a; man 2 open对于open函数 *pathname&#xff1a;要打开的文件路径 f…

【JavaWeb】Tomcat底层机制和Servlet运行原理

&#x1f384;欢迎来到dandelionl_的csdn博文&#xff0c;本文主要讲解Java web中Tomcat底层机制和Servlet的运行原理的相关知识&#x1f384; &#x1f308;我是dandelionl_&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以关注一…

Revisiting Personalized Federated Learning:Robustness Against Backdoor Attacks

ACM SIGKDD Conference on Knowledge Discovery and Data Mining 2023 秦泽钰&#xff0c;香港科技大学计算机科学与工程系博士生&#xff0c;联邦学习中个性化的额外增益&#xff1a;对于后门攻击的鲁棒性 https://github.com/alibaba/FederatedScope/tree/backdoor-bench 摘要…

MySQL两种安装方式

数据库&#xff1a; 一、 二、 三、 四、 五、MySQL的两种安装方式 .zip包的安装方式&#xff1a; .msi方式安装的需要到控制面板卸载 密码默认是空密码 5.7和8.0开始&#xff1a;加强安全相关操作&#xff0c;安装有所不同 前三步一样&#xff0c;第四步在cmd&#xff0c;以…

windows系统安装异构虚拟机arm版的银河麒麟服务器

下载qemu UEFI&#xff08;BIOS的替代方案&#xff09;的下载地址&#xff1a;http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.fd QEMU 软件的下载地址&#xff1a;https://qemu.weilnetz.de/w64/2021/qemu-w64-setup-20210505.exe …

Docker详解及常用命令介绍

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…

【5】构建手写数字模型

1 mnist数据集 下载数据集&#xff1a; 手动下载&#xff1a;MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges tf程序下载&#xff1a; tensorflow2.x将数据集集成在Keras中。tensorflow2.0&#xff0c;更新删除了input_data的函数。 import…

19.主题时钟

主题时钟 html部分 <div class"btn">黑色</div><div class"clock-container"><div class"time">21</div><div class"date">21</div><div class"clock"><div class&qu…

经典面试题(力扣,接雨水)

接雨水 方法一思路测试代码复杂度测试结果 方法二思路测试代码复杂度测试结果 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1]…

Java基础——Stream类

文章目录 1 概述2 获取Stream对象3 常用API4 收集Stream流5 总结 1 概述 Stream类用于简化集合和数组操作的API。 Stream类提供了很多可以简化集合操作的api&#xff0c;比如过滤元素 示例如下&#xff1a; 假如一个List集合中存储着字符串&#xff0c;从这些字符串中找到以“…

Java反射 -- 详细介绍 (框架核心)

反射 是 Java框架 的核心 &#xff0c;无论是Tomcat、SpringMVC、Spring IOC、Spring AOP、动态代理 &#xff0c;都使用到了 反射 反射的作用简单讲就是 无需 new 对象&#xff0c;就可以动态获取到一个类的全部信息&#xff0c;包括 属性、方法&#xff0c;构造器&#xff0…

iOS--属性关键字

定义 chat&#xff1a; 在iOS开发中&#xff0c;属性关键字是用于声明类的属性&#xff08;实例变量&#xff09;的修饰符。属性关键字可以影响属性的访问权限、内存管理和生成相关的getter和setter方法。 属性关键字有哪些&#xff1f; 分类属性关键字原子性atomic、nonato…