cnc-graver-assist/urdf/rbs_arm_modular.xacro
2025-02-06 18:57:25 +03:00

99 lines
3.1 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="rbs_arm">
<xacro:arg name="gripper_name" default="" />
<xacro:arg name="hardware" default="gazebo" />
<xacro:arg name="simulation_controllers" default="" />
<xacro:arg name="tf_prefix" default="" />
<xacro:arg name="namespace" default="arm0"/>
<xacro:arg name="x" default="-0.10" />
<xacro:arg name="y" default="0.0" />
<xacro:arg name="z" default="0.03" />
<xacro:arg name="roll" default="0.0" />
<xacro:arg name="pitch" default="0.0" />
<xacro:arg name="yaw" default="0.0" />
<xacro:include filename="$(find rbs_mill_assist)/urdf/rbs_arm_modular_macro.xacro" />
<link name="world" />
<!-- World objects-->
<xacro:property name="table_length" value="1.2"/>
<xacro:property name="table_width" value="0.7"/>
<xacro:property name="table_height" value="0.8"/>
<link name="table_link">
<visual>
<geometry>
<box size="${table_length} ${table_width} ${table_height}"/>
</geometry>
<material name="blue">
<color rgba="0 0 1 1"/>
</material>
</visual>
<collision>
<geometry>
<box size="${table_length} ${table_width} ${table_height}"/>
</geometry>
</collision>
<inertial>
<mass value="10.0"/>
<inertia
ixx="${(1/12)*50*(table_width**2 + table_height**2)}"
iyy="${(1/12)*50*(table_length**2 + table_height**2)}"
izz="${(1/12)*50*(table_length**2 + table_width**2)}"
ixy="0"
ixz="0"
iyz="0"/>
</inertial>
</link>
<joint name="world_joint" type="fixed">
<parent link="world"/>
<child link="table_link"/>
<origin xyz="0 0 -0.4" rpy="0 0 0"/>
</joint>
<xacro:property name="machine_length" value="0.4"/>
<xacro:property name="machine_width" value="0.5"/>
<xacro:property name="machine_height" value="0.115"/>
<link name="machine_link">
<visual>
<geometry>
<box size="${machine_length} ${machine_width} ${machine_height}"/>
</geometry>
<material name="gray">
<color rgba="0 1 0 1"/>
</material>
</visual>
<collision>
<geometry>
<box size="${machine_length} ${machine_width} ${machine_height}"/>
</geometry>
</collision>
<inertial>
<mass value="40.0"/>
<inertia
ixx="${(1/12)*30*(machine_width**2 + machine_height**2)}"
iyy="${(1/12)*30*(machine_length**2 + machine_height**2)}"
izz="${(1/12)*30*(machine_length**2 + machine_width**2)}"
ixy="0"
ixz="0"
iyz="0"/>
</inertial>
</link>
<joint name="machine_joint" type="fixed">
<parent link="world"/>
<child link="machine_link"/>
<origin xyz="0.25 0 ${0.115/2}" rpy="0 0 0"/>
</joint>
<!-- Arm-->
<xacro:rbs_arm namespace="$(arg namespace)" parent="world" tf_prefix="$(arg tf_prefix)" hardware="$(arg hardware)"
gripper_name="$(arg gripper_name)" controllers="$(arg simulation_controllers)">
<origin xyz="$(arg x) $(arg y) $(arg z)" rpy="$(arg roll) $(arg pitch) $(arg yaw)" />
</xacro:rbs_arm>
</robot>