<?xml version="1.0"?>
+
+<!--
+For IKFast:
+- All rotation about Z-Axis
+- Gripper base at offset from last link
+- Gripper base points to Z-Direction
+-->
+
<robot name="arm">
<link name="base_link">
+ </link>
+
+ <link name="plate">
<visual>
<geometry>
- <box size="0.23 0.17 0.20"/>
+ <mesh filename="package://arm_ros_conn/meshes/32985.stl"/>
</geometry>
- <origin xyz="0.0 0 0.12" rpy="0 0 0"/>
- <material name="grey">
- <color rgba="0.5 0.5 0.5 1"/>
+ <material name="black">
+ <color rgba="0 0 0 1"/>
</material>
</visual>
</link>
- <link name="front_left_wheel">
+ <link name="arm_base">
+ </link>
+
+ <link name="link1">
<visual>
<geometry>
- <cylinder radius="0.03" length="0.005"/>
+ <mesh filename="package://arm_ros_conn/meshes/link1.stl"/>
</geometry>
- <origin xyz="0 0 0" rpy="1.57 0 0"/>
- <material name="black">
- <color rgba="0 0 0 1"/>
+ <origin xyz="0 0 0.0615"/>
+ <material name="grey">
+ <color rgba="0.5 0.5 0.5 1"/>
</material>
</visual>
</link>
- <link name="front_right_wheel">
+ <link name="link2">
<visual>
<geometry>
- <cylinder radius="0.03" length="0.005"/>
+ <mesh filename="package://arm_ros_conn/meshes/link2.stl"/>
</geometry>
- <origin xyz="0 0 0" rpy="1.57 0 0"/>
- <material name="black">
- <color rgba="0 0 0 1"/>
+ <origin xyz="0.120 0 0" rpy="1.5708 0 1.5708"/>
+ <material name="grey">
+ <color rgba="0.5 0.5 0.5 1"/>
</material>
</visual>
</link>
- <link name="aft_left_wheel">
+ <link name="link3">
<visual>
<geometry>
- <cylinder radius="0.03" length="0.005"/>
+ <mesh filename="package://arm_ros_conn/meshes/link3.stl"/>
</geometry>
- <origin xyz="0 0 0" rpy="1.57 0 0"/>
- <material name="black">
- <color rgba="0 0 0 1"/>
+ <origin xyz="0 0.0675 0" rpy="1.5708 0 0"/>
+ <material name="grey">
+ <color rgba="0.5 0.5 0.5 1"/>
</material>
</visual>
</link>
- <link name="aft_right_wheel">
+ <link name="link4">
<visual>
<geometry>
- <cylinder radius="0.03" length="0.005"/>
+ <mesh filename="package://arm_ros_conn/meshes/link4.stl"/>
</geometry>
- <origin xyz="0 0 0" rpy="1.57 0 0"/>
+ <origin xyz="0 0 0.015" rpy="0 0 0"/>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</visual>
</link>
- <link name="platform">
+ <link name="link5">
<visual>
<geometry>
- <box size="0.08 0.065 0.075"/>
+ <mesh filename="package://arm_ros_conn/meshes/31019.stl"/>
</geometry>
+ <origin xyz="0.0 0 0" rpy="0 0 0"/>
<material name="red">
<color rgba="1 0 0 1"/>
</material>
</visual>
</link>
- <link name="scan">
- <visual>
- <geometry>
- <box size="0.01 0.045 0.015"/>
- </geometry>
- </visual>
+ <link name="gripper_pole">
</link>
- <link name="front_left_eye">
- <visual>
- <geometry>
- <cylinder radius="0.0075" length="0.01"/>
- </geometry>
- <origin xyz="0 0 0" rpy="0 1.57 0"/>
- <material name="black">
- <color rgba="0 0 0 1"/>
- </material>
- </visual>
+ <link name="gripper_center">
</link>
- <link name="front_right_eye">
+ <link name="left_gripper">
<visual>
+ <origin xyz="0.025 0 0" rpy="-1.5708 3.1416 0"/>
<geometry>
- <cylinder radius="0.0075" length="0.01"/>
+ <mesh filename="package://arm_ros_conn/meshes/35978.stl" scale="0.001 0.001 0.001"/>
</geometry>
- <origin xyz="0 0 0" rpy="0 1.57 0"/>
- <material name="black">
- <color rgba="0 0 0 1"/>
+ <material name="red">
+ <color rgba="1 0 0 1"/>
</material>
</visual>
</link>
- <link name="sonar_forward_lower">
- <visual>
- <geometry>
- <box size="0.01 0.045 0.03"/>
- </geometry>
- </visual>
- </link>
-
- <link name="front_lower_left_eye">
+ <link name="right_gripper">
<visual>
+ <origin xyz="0.025 0 0" rpy="-1.5708 3.1416 0"/>
<geometry>
- <cylinder radius="0.0075" length="0.01"/>
+ <mesh filename="package://arm_ros_conn/meshes/35978.stl" scale="0.001 0.001 0.001"/>
</geometry>
- <origin xyz="0 0 0.0" rpy="0 1.57 0"/>
- <material name="black">
- <color rgba="0 0 0 1"/>
+ <material name="red">
+ <color rgba="1 0 0 1"/>
</material>
</visual>
</link>
- <link name="front_lower_right_eye">
+ <link name="link2_motor_extension">
<visual>
<geometry>
- <cylinder radius="0.0075" length="0.01"/>
+ <box size="0.015 0.015 0.10"/>
</geometry>
- <origin xyz="0 0 0.0" rpy="0 1.57 0"/>
- <material name="black">
- <color rgba="0 0 0 1"/>
+ <origin xyz="0 0 0.05" rpy="0 0 0"/>
+ <material name="grey">
+ <color rgba="0.5 0.5 0.5 1"/>
</material>
</visual>
</link>
- <link name="antenna">
+ <link name="plate_box">
<visual>
<geometry>
- <cylinder radius="0.005" length="0.20"/>
+ <box size="0.08 0.185 0.035"/>
</geometry>
- <origin xyz="0 0 0.1" rpy="0 0 0"/>
+ <origin xyz="0 0 0.0175" rpy="0 0 0"/>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</visual>
</link>
- <joint name="front_left_wheel_joint" type="fixed">
+ <joint name="plate_joint" type="fixed">
<parent link="base_link"/>
- <child link="front_left_wheel"/>
- <origin xyz="0.065 0.05 0.03" rpy="0 0 0"/>
+ <child link="plate"/>
+ <origin xyz="0 0 0.00375"/>
</joint>
- <joint name="front_right_wheel_joint" type="fixed">
- <parent link="base_link"/>
- <child link="front_right_wheel"/>
- <origin xyz="0.065 -0.05 0.03" rpy="0 0 0"/>
+ <joint name="arm_base_joint" type="fixed">
+ <parent link="plate"/>
+ <child link="arm_base"/>
+ <origin xyz="0 0.099 0"/>
</joint>
- <joint name="aft_left_wheel_joint" type="fixed">
- <parent link="base_link"/>
- <child link="aft_left_wheel"/>
- <origin xyz="-0.08 0.05 0.03" rpy="0 0 0"/>
+ <joint name="link1_joint" type="revolute">
+ <parent link="arm_base"/>
+ <child link="link1"/>
+ <axis xyz="0 0 -1"/>
+ <limit effort="1.0" lower="0.0" upper="5.672320068981571" velocity="0.2"/>
</joint>
- <joint name="aft_right_wheel_joint" type="fixed">
- <parent link="base_link"/>
- <child link="aft_right_wheel"/>
- <origin xyz="-0.08 -0.05 0.03" rpy="0 0 0"/>
+ <joint name="link2_joint" type="revolute">
+ <parent link="link1"/>
+ <child link="link2"/>
+ <axis xyz="0 0 1"/>
+ <origin xyz="0.0 0.0 0.123" rpy="1.5708 0 0"/>
+ <limit effort="1.0" lower="0.1505" upper="3.611" velocity="0.1"/>
</joint>
- <joint name="platform_joint" type="continuous">
- <parent link="base_link"/>
- <child link="platform"/>
- <origin xyz="-0.04 0 0.26" rpy="0 0 0"/>
- <axis xyz="0 0 1"/>
+ <joint name="link3_joint" type="revolute">
+ <parent link="link2"/>
+ <child link="link3"/>
+ <axis xyz="0 0 -1"/>
+ <origin xyz="0.240 0 0" rpy="0 0 0"/>
+ <limit effort="1.0" lower="0" upper="3.1416" velocity="0.2"/>
</joint>
- <joint name="scan_joint" type="fixed">
- <parent link="platform"/>
- <child link="scan"/>
- <origin xyz="0.035 0 0" rpy="0 0 0"/>
+ <joint name="link4_joint" type="revolute">
+ <parent link="link3"/>
+ <child link="link4"/>
+ <axis xyz="0 0 -1"/>
+ <origin xyz="0 0.135 0" rpy="-1.5708 0 0"/>
+ <limit effort="1.0" lower="-0.15708" upper="5.4978" velocity="0.5"/>
</joint>
- <joint name="front_left_eye_joint" type="fixed">
- <parent link="scan"/>
- <child link="front_left_eye"/>
- <origin xyz="0.01 -0.0125 0" rpy="0 0 0"/>
+ <joint name="link5_joint" type="revolute">
+ <parent link="link4"/>
+ <child link="link5"/>
+ <axis xyz="0 0 1"/>
+ <origin xyz="0 0 0.06" rpy="1.5708 0 0"/>
+ <limit effort="1.0" lower="-1.5707963267948966" upper="1.5707963267948966" velocity="1.0"/>
</joint>
- <joint name="front_right_eye_joint" type="fixed">
- <parent link="scan"/>
- <child link="front_right_eye"/>
- <origin xyz="0.01 0.0125 0" rpy="0 0 0"/>
+ <joint name="gripper_pole_joint" type="fixed">
+ <parent link="link5"/>
+ <child link="gripper_pole"/>
+ <origin xyz="0 0.02275 0" rpy="1.5708 0 1.5708"/>
</joint>
- <joint name="sonar_forward_lower_join" type="fixed">
- <parent link="base_link"/>
- <child link="sonar_forward_lower"/>
- <origin xyz="0.105 0.0 0.035" rpy="0 -0.1309 0"/>
+ <joint name="gripper_center_joint" type="fixed">
+ <parent link="gripper_pole"/>
+ <child link="gripper_center"/>
+ <origin xyz="0.08 0 0" rpy="0 0 0"/>
+ </joint>
+
+ <joint name="left_gripper_joint" type="revolute">
+ <parent link="gripper_pole"/>
+ <child link="left_gripper"/>
+ <axis xyz="0 0 1"/>
+ <origin xyz="0 0.015 0" rpy="0 0 0"/>
+ <limit effort="1.0" lower="0.0" upper="0.35" velocity="0.1"/>
</joint>
- <joint name="front_lower_left_eye_joint" type="fixed">
- <parent link="sonar_forward_lower"/>
- <child link="front_lower_left_eye"/>
- <origin xyz="0.01 -0.01 0.0" rpy="0 0 0"/>
+ <joint name="right_gripper_joint" type="revolute">
+ <parent link="gripper_pole"/>
+ <child link="right_gripper"/>
+ <axis xyz="0 0 1"/>
+ <origin xyz="0 -0.015 0" rpy="3.1416 0 0"/>
+ <limit effort="1.0" lower="0.0" upper="0.35" velocity="0.1"/>
</joint>
- <joint name="front_lower_right_eye_joint" type="fixed">
- <parent link="sonar_forward_lower"/>
- <child link="front_lower_right_eye"/>
- <origin xyz="0.01 0.01 0.0" rpy="0 0 0"/>
+ <joint name="link2_motor_extension_joint" type="fixed">
+ <parent link="link2"/>
+ <child link="link2_motor_extension"/>
+ <origin xyz="0.165 -0.03 0" rpy="1.5708 0 0"/>
</joint>
- <joint name="antenna_joint" type="fixed">
- <parent link="base_link"/>
- <child link="antenna"/>
- <origin xyz="-0.12 0.08 0.14" rpy="0 0 0"/>
+ <joint name="plate_box_joint" type="fixed">
+ <parent link="plate"/>
+ <child link="plate_box"/>
+ <origin xyz="-0.04 -0.035 0" rpy="0 0 0"/>
</joint>
</robot>