← Back to gallery

Generated Robot Spec

4-DOF Tabletop Arm

Parallel Gripper · 400mm reach

Prompt "Compact 4-DOF arm with parallel gripper, 400mm reach, for desktop pick-and-place"
Open in Generator →
https://kinematos.polsia.app/r/tabletop-arm-4dof
4-DOF Tabletop Arm
Base Type Fixed
DOF
End Effector parallel gripper
Reach 0.4m
Payload 1kg
class="urdf-tag"><robot name="tabletop_arm_4dof">
  class="urdf-tag"><link name="base_link">
    class="urdf-tag"><visual>class="urdf-tag"><geometry>class="urdf-tag"><cylinder length="0.04" radius="0.07"/>class="urdf-tag"></geometry>class="urdf-tag"></visual>
  class="urdf-tag"></link>

  class="urdf-tag"><link name="shoulder_link">
    class="urdf-tag"><visual>class="urdf-tag"><geometry>class="urdf-tag"><box size="0.04 0.04 0.22"/>class="urdf-tag"></geometry>class="urdf-tag"></visual>
  class="urdf-tag"></link>
  class="urdf-tag"><joint name="joint_base" type="revolute">
    class="urdf-tag"><parent link="base_link"/>class="urdf-tag"><child link="shoulder_link"/>
    class="urdf-tag"><origin xyz="0 0 0.04" rpy="0 0 0"/>
    class="urdf-tag"><axis xyz="0 0 1"/>
    class="urdf-tag"><limit lower="-3.14" upper="3.14" effort="10" velocity="1.5"/>
  class="urdf-tag"></joint>

  class="urdf-tag"><link name="upper_arm_link">
    class="urdf-tag"><visual>class="urdf-tag"><geometry>class="urdf-tag"><box size="0.04 0.04 0.22"/>class="urdf-tag"></geometry>class="urdf-tag"></visual>
  class="urdf-tag"></link>
  class="urdf-tag"><joint name="joint_shoulder" type="revolute">
    class="urdf-tag"><parent link="shoulder_link"/>class="urdf-tag"><child link="upper_arm_link"/>
    class="urdf-tag"><origin xyz="0 0 0.22" rpy="0 0 0"/>
    class="urdf-tag"><axis xyz="0 1 0"/>
    class="urdf-tag"><limit lower="-1.57" upper="1.57" effort="10" velocity="1.5"/>
  class="urdf-tag"></joint>

  class="urdf-tag"><link name="forearm_link">
    class="urdf-tag"><visual>class="urdf-tag"><geometry>class="urdf-tag"><box size="0.035 0.035 0.18"/>class="urdf-tag"></geometry>class="urdf-tag"></visual>
  class="urdf-tag"></link>
  class="urdf-tag"><joint name="joint_elbow" type="revolute">
    class="urdf-tag"><parent link="upper_arm_link"/>class="urdf-tag"><child link="forearm_link"/>
    class="urdf-tag"><origin xyz="0 0 0.22" rpy="0 0 0"/>
    class="urdf-tag"><axis xyz="0 1 0"/>
    class="urdf-tag"><limit lower="-1.57" upper="1.57" effort="8" velocity="2.0"/>
  class="urdf-tag"></joint>

  class="urdf-tag"><link name="wrist_link">
    class="urdf-tag"><visual>class="urdf-tag"><geometry>class="urdf-tag"><box size="0.03 0.03 0.08"/>class="urdf-tag"></geometry>class="urdf-tag"></visual>
  class="urdf-tag"></link>
  class="urdf-tag"><joint name="joint_wrist" type="revolute">
    class="urdf-tag"><parent link="forearm_link"/>class="urdf-tag"><child link="wrist_link"/>
    class="urdf-tag"><origin xyz="0 0 0.18" rpy="0 0 0"/>
    class="urdf-tag"><axis xyz="0 0 1"/>
    class="urdf-tag"><limit lower="-3.14" upper="3.14" effort="5" velocity="2.5"/>
  class="urdf-tag"></joint>

  class="urdf-tag"><link name="gripper_base">
    class="urdf-tag"><visual>class="urdf-tag"><geometry>class="urdf-tag"><box size="0.05 0.025 0.035"/>class="urdf-tag"></geometry>class="urdf-tag"></visual>
  class="urdf-tag"></link>
  class="urdf-tag"><joint name="gripper_joint" type="prismatic">
    class="urdf-tag"><parent link="wrist_link"/>class="urdf-tag"><child link="gripper_base"/>
    class="urdf-tag"><origin xyz="0 0 0.08" rpy="0 0 0"/>
    class="urdf-tag"><axis xyz="1 0 0"/>
    class="urdf-tag"><limit lower="-0.025" upper="0.025" effort="5" velocity="0.1"/>
  class="urdf-tag"></joint>
class="urdf-tag"></robot>