Add URDF and XACRO files for iiwa7 robot and tool patron

- Created iiwa7_gazebo.urdf to define the iiwa7 robot model with detailed links, joints, and Gazebo integration.
- Introduced patron.xacro for the tool patron, including its inertial properties, visual representation, and collision geometry.
This commit is contained in:
Даниил Грабарь
2026-04-09 12:01:43 +10:00
parent f474d330ad
commit 58f246e1f2
28 changed files with 793 additions and 66 deletions
+11 -37
View File
@@ -10,7 +10,7 @@
<!--CHAINS: When a chain is specified, all the links along the chain (including endpoints) are included in the group. Additionally, all the joints that are parents to included links are also included. This means that joints along the chain and the parent joint of the base link are included in the group-->
<!--SUBGROUPS: Groups can also be formed by referencing to already defined group names-->
<group name="iiwa_arm">
<joint name="virtual"/>
<joint name="world_base_joint"/>
<joint name="joint1"/>
<joint name="joint2"/>
<joint name="joint3"/>
@@ -18,6 +18,8 @@
<joint name="joint5"/>
<joint name="joint6"/>
<joint name="joint7"/>
<joint name="tools_joint"/>
<joint name="tool"/>
</group>
<!--GROUP STATES: Purpose: Define a named state for a particular group, in terms of joint values. This is useful to define states like 'folded arms'-->
<group_state name="home" group="iiwa_arm">
@@ -39,15 +41,7 @@
<joint name="joint7" value="0"/>
</group_state>
<!--END EFFECTOR: Purpose: Represent information about an end effector.-->
<end_effector name="hand" parent_link="link_ee" group="iiwa_arm"/>
<!--PASSIVE JOINTS: MoveIt не ожидает их в /joint_states и не планирует ими.
Геометрия захвата всё равно учитывается при проверке коллизий.-->
<passive_joint name="base_screw"/>
<passive_joint name="finger1_joint"/>
<passive_joint name="finger2_joint"/>
<passive_joint name="finger3_joint"/>
<!--VIRTUAL JOINT: Purpose: this element defines a virtual joint between a robot link and an external frame of reference (considered fixed with respect to the robot)-->
<virtual_joint name="virtual" type="fixed" parent_frame="word" child_link="base_link"/>
<end_effector name="patron" parent_link="patron" group="iiwa_arm"/>
<!--DISABLE COLLISIONS: By default it is assumed that any link of the robot could potentially come into collision with any other link in the robot. This tag disables collision checking between a specified pair of links. -->
<disable_collisions link1="base_link" link2="link1" reason="Adjacent"/>
<disable_collisions link1="base_link" link2="link2" reason="Never"/>
@@ -59,46 +53,26 @@
<disable_collisions link1="link1" link2="link5" reason="Never"/>
<disable_collisions link1="link1" link2="link6" reason="Never"/>
<disable_collisions link1="link1" link2="link7" reason="Never"/>
<disable_collisions link1="link1" link2="patron" reason="Never"/>
<disable_collisions link1="link2" link2="link3" reason="Adjacent"/>
<disable_collisions link1="link2" link2="link4" reason="Never"/>
<disable_collisions link1="link2" link2="link5" reason="Never"/>
<disable_collisions link1="link2" link2="link6" reason="Never"/>
<disable_collisions link1="link2" link2="link7" reason="Never"/>
<disable_collisions link1="link2" link2="patron" reason="Never"/>
<disable_collisions link1="link3" link2="link4" reason="Adjacent"/>
<disable_collisions link1="link3" link2="link5" reason="Never"/>
<disable_collisions link1="link3" link2="link6" reason="Never"/>
<disable_collisions link1="link3" link2="link7" reason="Never"/>
<disable_collisions link1="link3" link2="patron" reason="Never"/>
<disable_collisions link1="link4" link2="link5" reason="Adjacent"/>
<disable_collisions link1="link4" link2="link6" reason="Never"/>
<disable_collisions link1="link4" link2="link7" reason="Never"/>
<disable_collisions link1="link4" link2="patron" reason="Never"/>
<disable_collisions link1="link5" link2="link6" reason="Adjacent"/>
<disable_collisions link1="link5" link2="link7" reason="Never"/>
<disable_collisions link1="link5" link2="patron" reason="Never"/>
<disable_collisions link1="link6" link2="link7" reason="Adjacent"/>
<!-- Захват -->
<disable_collisions link1="link7" link2="base_frame" reason="Adjacent"/>
<disable_collisions link1="link7" link2="plate" reason="Never"/>
<disable_collisions link1="link7" link2="screw" reason="Never"/>
<disable_collisions link1="link7" link2="craving1" reason="Never"/>
<disable_collisions link1="link7" link2="craving2" reason="Never"/>
<disable_collisions link1="link7" link2="craving3" reason="Never"/>
<disable_collisions link1="link7" link2="finger1" reason="Never"/>
<disable_collisions link1="link7" link2="finger2" reason="Never"/>
<disable_collisions link1="link7" link2="finger3" reason="Never"/>
<disable_collisions link1="base_frame" link2="plate" reason="Adjacent"/>
<disable_collisions link1="base_frame" link2="screw" reason="Adjacent"/>
<disable_collisions link1="base_frame" link2="craving1" reason="Never"/>
<disable_collisions link1="base_frame" link2="craving2" reason="Never"/>
<disable_collisions link1="base_frame" link2="craving3" reason="Never"/>
<disable_collisions link1="plate" link2="finger1" reason="Adjacent"/>
<disable_collisions link1="plate" link2="finger2" reason="Adjacent"/>
<disable_collisions link1="plate" link2="finger3" reason="Adjacent"/>
<disable_collisions link1="screw" link2="craving1" reason="Adjacent"/>
<disable_collisions link1="screw" link2="craving2" reason="Adjacent"/>
<disable_collisions link1="screw" link2="craving3" reason="Adjacent"/>
<disable_collisions link1="craving1" link2="craving2" reason="Never"/>
<disable_collisions link1="craving1" link2="craving3" reason="Never"/>
<disable_collisions link1="craving2" link2="craving3" reason="Never"/>
<disable_collisions link1="finger1" link2="finger2" reason="Never"/>
<disable_collisions link1="finger1" link2="finger3" reason="Never"/>
<disable_collisions link1="finger2" link2="finger3" reason="Never"/>
<disable_collisions link1="link6" link2="patron" reason="Never"/>
<disable_collisions link1="link7" link2="patron" reason="Adjacent"/>
</robot>
@@ -1,6 +1,6 @@
controller_manager:
ros__parameters:
update_rate: 200
update_rate: 100
joint_state_broadcaster:
type: "joint_state_broadcaster/JointStateBroadcaster"
File diff suppressed because one or more lines are too long
+3 -9
View File
@@ -15,7 +15,9 @@
<xacro:include filename="$(find iiwa_description)/urdf/macros.xacro"/>
<xacro:include filename="$(find iiwa_description)/urdf/links.xacro"/>
<xacro:include filename="$(find iiwa_description)/urdf/joints.xacro"/>
<xacro:include filename="$(find iiwa_description)/urdf/gripper/gripper.xacro"/>
<!-- <xacro:include filename="$(find iiwa_description)/urdf/gripper/gripper.xacro"/> -->
<xacro:include filename="$(find iiwa_description)/urdf/tools/patron.xacro"/>
<xacro:if value="$(arg simulate)">
@@ -119,14 +121,6 @@
<state_interface name="effort"/>
</joint>
<joint name="base_screw">
<command_interface name="position"/>
<state_interface name="position">
<param name="initial_value">0.0</param>
</state_interface>
<state_interface name="velocity"/>
</joint>
</ros2_control>
</xacro:if>
@@ -13,7 +13,9 @@
<xacro:include filename="$(find iiwa_description)/urdf/links.xacro"/>
<xacro:include filename="$(find iiwa_description)/urdf/joints.xacro"/>
<xacro:include filename="$(find iiwa_description)/urdf/gripper/gripper.xacro"/>
<!-- <xacro:include filename="$(find iiwa_description)/urdf/gripper/gripper.xacro"/> -->
<xacro:include filename="$(find iiwa_description)/urdf/tools/patron.xacro"/>
<webots>
<plugin type="webots_ros2_control::Ros2Control"/>
+446
View File
@@ -0,0 +1,446 @@
<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- | This document was autogenerated by xacro from src/iiwa_description/urdf/iiwa7.urdf.xacro | -->
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
<!-- =================================================================================== -->
<robot name="iiwa7">
<link name="world"/>
<link name="base_link">
<inertial>
<origin rpy="0 0 0" xyz="-0.012856764088336 7.05371084939836E-07 0.0679655592591469"/>
<mass value="0.1"/>
<inertia ixx="0.111239565538359" ixy="-3.81097437253422e-07" ixz="0.00486659750522703" iyy="0.139017104291389" iyz="7.87871531503135e-07" izz="0.133028621926226"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/visual/base_link.DAE"/>
</geometry>
<material name="iiwa_material">
<color rgba="0.647058823529412 0.619607843137255 0.588235294117647 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/collision/base_link.STL"/>
</geometry>
</collision>
</link>
<gazebo reference="base_link">
<visual>
<material>
<ambient>0.4529411764705884 0.4337254901960785 0.41176470588235287 1</ambient>
<diffuse>0.647058823529412 0.619607843137255 0.588235294117647 1</diffuse>
<specular>0.3 0.3 0.3 1.0</specular>
<emissive>0 0 0 1</emissive>
</material>
</visual>
</gazebo>
<link name="link1">
<inertial>
<origin rpy="0 0 0" xyz="-4.78790441849064E-07 -0.0348192058752328 -0.0692021315991948"/>
<mass value="4"/>
<inertia ixx="0.133321610552378" ixy="-5.3830316300325e-07" ixz="9.16989471201082e-07" iyy="0.127213841326705" iyz="0.0236704924620788" izz="0.047155320135412"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/visual/link1.DAE"/>
</geometry>
<material name="iiwa_material">
<color rgba="0.647058823529412 0.619607843137255 0.588235294117647 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/collision/link1.STL"/>
</geometry>
</collision>
</link>
<gazebo reference="link1">
<visual>
<material>
<ambient>0.4529411764705884 0.4337254901960785 0.41176470588235287 1</ambient>
<diffuse>0.647058823529412 0.619607843137255 0.588235294117647 1</diffuse>
<specular>0.3 0.3 0.3 1.0</specular>
<emissive>0 0 0 1</emissive>
</material>
</visual>
</gazebo>
<link name="link2">
<inertial>
<origin rpy="0 0 0" xyz="-5.2906167189587E-07 -0.0869460684741495 0.0287906957294968"/>
<mass value="4"/>
<inertia ixx="0.197631241693207" ixy="9.50708464039702e-08" ixz="-3.51963818841194e-07" iyy="0.0602720613821397" iyz="-0.0367196702125505" izz="0.187557269753206"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/visual/link2.DAE"/>
</geometry>
<material name="iiwa_material">
<color rgba="0.647058823529412 0.619607843137255 0.588235294117647 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/collision/link2.STL"/>
</geometry>
</collision>
</link>
<gazebo reference="link2">
<visual>
<material>
<ambient>0.4529411764705884 0.4337254901960785 0.41176470588235287 1</ambient>
<diffuse>0.647058823529412 0.619607843137255 0.588235294117647 1</diffuse>
<specular>0.3 0.3 0.3 1.0</specular>
<emissive>0 0 0 1</emissive>
</material>
</visual>
</gazebo>
<link name="link3">
<inertial>
<origin rpy="0 0 0" xyz="8.94264666317923E-07 0.0343188244798595 -0.0692020521907963"/>
<mass value="3"/>
<inertia ixx="0.133322417523041" ixy="-2.72387851582384e-07" ixz="-2.31579646685682e-07" iyy="0.127213838333813" iyz="-0.0236710393468367" izz="0.0471557500559207"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/visual/link3.DAE"/>
</geometry>
<material name="iiwa_material">
<color rgba="0.647058823529412 0.619607843137255 0.588235294117647 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/collision/link3.STL"/>
</geometry>
</collision>
</link>
<gazebo reference="link3">
<visual>
<material>
<ambient>0.4529411764705884 0.4337254901960785 0.41176470588235287 1</ambient>
<diffuse>0.647058823529412 0.619607843137255 0.588235294117647 1</diffuse>
<specular>0.3 0.3 0.3 1.0</specular>
<emissive>0 0 0 1</emissive>
</material>
</visual>
</gazebo>
<link name="link4">
<inertial>
<origin rpy="0 0 0" xyz="9.9343785475714E-08 -0.0869462342636022 -0.0292907044657978"/>
<mass value="2.7"/>
<inertia ixx="0.197630839812683" ixy="-3.9082887807781e-07" ixz="-3.24564289064112e-07" iyy="0.0602723071447973" iyz="0.0367195588674331" izz="0.187556898167347"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/visual/link4.DAE"/>
</geometry>
<material name="iiwa_material">
<color rgba="0.647058823529412 0.619607843137255 0.588235294117647 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/collision/link4.STL"/>
</geometry>
</collision>
</link>
<gazebo reference="link4">
<visual>
<material>
<ambient>0.4529411764705884 0.4337254901960785 0.41176470588235287 1</ambient>
<diffuse>0.647058823529412 0.619607843137255 0.588235294117647 1</diffuse>
<specular>0.3 0.3 0.3 1.0</specular>
<emissive>0 0 0 1</emissive>
</material>
</visual>
</gazebo>
<link name="link5">
<inertial>
<origin rpy="0 0 0" xyz="-1.5059645121912E-07 -0.0298223596156005 -0.116233672352317"/>
<mass value="1.7"/>
<inertia ixx="0.0529038960536523" ixy="6.86274869084724e-08" ixz="3.57472026918582e-07" iyy="0.0444942713885967" iyz="0.0174914068345989" izz="0.0239916848880951"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/visual/link5.DAE"/>
</geometry>
<material name="iiwa_material">
<color rgba="0.647058823529412 0.619607843137255 0.588235294117647 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/collision/link5.STL"/>
</geometry>
</collision>
</link>
<gazebo reference="link5">
<visual>
<material>
<ambient>0.4529411764705884 0.4337254901960785 0.41176470588235287 1</ambient>
<diffuse>0.647058823529412 0.619607843137255 0.588235294117647 1</diffuse>
<specular>0.3 0.3 0.3 1.0</specular>
<emissive>0 0 0 1</emissive>
</material>
</visual>
</gazebo>
<link name="link6">
<inertial>
<origin rpy="0 0 0" xyz="3.09820422451923E-06 -0.000588422963829549 0.000348569863276505"/>
<mass value="1.8"/>
<inertia ixx="0.0384515762635731" ixy="-6.70279497724119e-08" ixz="2.19173188415509e-06" iyy="0.0280010940276735" iyz="-0.00192249677468735" izz="0.0368124806983828"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/visual/link6.DAE"/>
</geometry>
<material name="iiwa_material">
<color rgba="0.647058823529412 0.619607843137255 0.588235294117647 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/collision/link6.STL"/>
</geometry>
</collision>
</link>
<gazebo reference="link6">
<visual>
<material>
<ambient>0.4529411764705884 0.4337254901960785 0.41176470588235287 1</ambient>
<diffuse>0.647058823529412 0.619607843137255 0.588235294117647 1</diffuse>
<specular>0.3 0.3 0.3 1.0</specular>
<emissive>0 0 0 1</emissive>
</material>
</visual>
</gazebo>
<link name="link7">
<inertial>
<origin rpy="0 0 0" xyz="5.28878934317328E-07 3.37199922245852E-07 -0.0274928177649973"/>
<mass value="0.3"/>
<inertia ixx="0.00177365937026673" ixy="-1.2410521430667e-07" ixz="-2.95409038849194e-08" iyy="0.00177328722902027" iyz="-1.57567641084958e-08" izz="0.00272748710623445"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/visual/link7.DAE"/>
</geometry>
<material name="iiwa_material">
<color rgba="0.647058823529412 0.619607843137255 0.588235294117647 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/iiwa/collision/link7.STL"/>
</geometry>
</collision>
</link>
<gazebo reference="link7">
<visual>
<material>
<ambient>0.4529411764705884 0.4337254901960785 0.41176470588235287 1</ambient>
<diffuse>0.647058823529412 0.619607843137255 0.588235294117647 1</diffuse>
<specular>0.3 0.3 0.3 1.0</specular>
<emissive>0 0 0 1</emissive>
</material>
</visual>
</gazebo>
<link name="link_ee"/>
<joint name="world_base_joint" type="fixed">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<parent link="world"/>
<child link="base_link"/>
</joint>
<joint name="joint1" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0.3375"/>
<parent link="base_link"/>
<child link="link1"/>
<axis xyz="0 0 -1"/>
<limit effort="500" lower="-2.97" upper="2.97" velocity="1.71"/>
<dynamics damping="0.5"/>
</joint>
<joint name="joint2" type="revolute">
<origin rpy="-1.5708 0 0" xyz="0 0 0"/>
<parent link="link1"/>
<child link="link2"/>
<axis xyz="0 0 1"/>
<limit effort="500" lower="-2.09" upper="2.09" velocity="1.71"/>
<dynamics damping="0.5"/>
</joint>
<joint name="joint3" type="revolute">
<origin rpy="1.5708 0 0" xyz="0 -0.3993 0"/>
<parent link="link2"/>
<child link="link3"/>
<axis xyz="0 0 -1"/>
<limit effort="500" lower="-2.97" upper="2.97" velocity="1.75"/>
<dynamics damping="0.5"/>
</joint>
<joint name="joint4" type="revolute">
<origin rpy="-1.5708 0 0" xyz="0 0 0"/>
<parent link="link3"/>
<child link="link4"/>
<axis xyz="0 0 -1"/>
<limit effort="500" lower="-2.09" upper="2.09" velocity="2.27"/>
<dynamics damping="0.5"/>
</joint>
<joint name="joint5" type="revolute">
<origin rpy="1.5708 0 0" xyz="0 -0.3993 0"/>
<parent link="link4"/>
<child link="link5"/>
<axis xyz="0 0 -1"/>
<limit effort="500" lower="-2.97" upper="2.97" velocity="2.44"/>
<dynamics damping="0.5"/>
</joint>
<joint name="joint6" type="revolute">
<origin rpy="-1.5708 0 0" xyz="0 0 0"/>
<parent link="link5"/>
<child link="link6"/>
<axis xyz="0 0 1"/>
<limit effort="500" lower="-2.09" upper="2.09" velocity="3.14"/>
<dynamics damping="0.5"/>
</joint>
<joint name="joint7" type="revolute">
<origin rpy="1.5708 0 0" xyz="0 -0.126 0"/>
<parent link="link6"/>
<child link="link7"/>
<axis xyz="0 0 1"/>
<limit effort="500" lower="-3.05" upper="3.05" velocity="3.14"/>
<dynamics damping="0.5"/>
</joint>
<joint name="tools_joint" type="fixed">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<parent link="link7"/>
<child link="link_ee"/>
</joint>
<!-- <xacro:include filename="$(find iiwa_description)/urdf/gripper/gripper.xacro"/> -->
<link name="patron">
<inertial>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<mass value="0.69"/>
<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
</inertial>
<visual>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/tools/visual/patron.dae"/>
</geometry>
</visual>
<collision>
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/tools/collision/patron.stl" scale="0.001 0.001 0.001"/>
</geometry>
</collision>
</link>
<joint name="tool" type="fixed">
<parent link="link_ee"/>
<child link="patron"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
</joint>
<gazebo>
<plugin filename="gz_ros2_control-system" name="gz_ros2_control::GazeboSimROS2ControlPlugin">
<parameters>/home/daniel/dev/kuka_iiwa7_ros2/install/iiwa_config/share/iiwa_config/config/moveit/iiwa_controller.yaml</parameters>
<ros>
<remapping>~/robot_description:=/robot_description</remapping>
</ros>
</plugin>
</gazebo>
<ros2_control name="iiwaGazeboControl" type="system">
<hardware>
<plugin>gz_ros2_control/GazeboSimSystem</plugin>
</hardware>
<joint name="joint1">
<command_interface name="position">
<param name="min">-2.97</param>
<param name="max"> 2.97</param>
</command_interface>
<state_interface name="position">
<param name="initial_value">0</param>
</state_interface>
<state_interface name="velocity"/>
<state_interface name="effort"/>
</joint>
<joint name="joint2">
<command_interface name="position">
<param name="min">-2.09</param>
<param name="max"> 2.09</param>
</command_interface>
<state_interface name="position">
<param name="initial_value">0</param>
</state_interface>
<state_interface name="velocity"/>
<state_interface name="effort"/>
</joint>
<joint name="joint3">
<command_interface name="position">
<param name="min">-2.97</param>
<param name="max"> 2.97</param>
</command_interface>
<state_interface name="position">
<param name="initial_value">0</param>
</state_interface>
<state_interface name="velocity"/>
<state_interface name="effort"/>
</joint>
<joint name="joint4">
<command_interface name="position">
<param name="min">-2.09</param>
<param name="max"> 2.09</param>
</command_interface>
<state_interface name="position">
<param name="initial_value">0</param>
</state_interface>
<state_interface name="velocity"/>
<state_interface name="effort"/>
</joint>
<joint name="joint5">
<command_interface name="position">
<param name="min">-2.97</param>
<param name="max"> 2.97</param>
</command_interface>
<state_interface name="position">
<param name="initial_value">0</param>
</state_interface>
<state_interface name="velocity"/>
<state_interface name="effort"/>
</joint>
<joint name="joint6">
<command_interface name="position">
<param name="min">-2.09</param>
<param name="max"> 2.09</param>
</command_interface>
<state_interface name="position">
<param name="initial_value">0</param>
</state_interface>
<state_interface name="velocity"/>
<state_interface name="effort"/>
</joint>
<joint name="joint7">
<command_interface name="position">
<param name="min">-3.05</param>
<param name="max"> 3.05</param>
</command_interface>
<state_interface name="position">
<param name="initial_value">0</param>
</state_interface>
<state_interface name="velocity"/>
<state_interface name="effort"/>
</joint>
</ros2_control>
</robot>
+16 -16
View File
@@ -4,23 +4,23 @@
<xacro:property name="pkg" value="package://iiwa_description/resource/meshes"/>
<!-- Меши отображения -->
<xacro:property name="mesh_base_v" value="${pkg}/visual/base_link.DAE"/>
<xacro:property name="mesh_link1_v" value="${pkg}/visual/link1.DAE"/>
<xacro:property name="mesh_link2_v" value="${pkg}/visual/link2.DAE"/>
<xacro:property name="mesh_link3_v" value="${pkg}/visual/link3.DAE"/>
<xacro:property name="mesh_link4_v" value="${pkg}/visual/link4.DAE"/>
<xacro:property name="mesh_link5_v" value="${pkg}/visual/link5.DAE"/>
<xacro:property name="mesh_link6_v" value="${pkg}/visual/link6.DAE"/>
<xacro:property name="mesh_link7_v" value="${pkg}/visual/link7.DAE"/>
<xacro:property name="mesh_base_v" value="${pkg}/iiwa/visual/base_link.DAE"/>
<xacro:property name="mesh_link1_v" value="${pkg}/iiwa/visual/link1.DAE"/>
<xacro:property name="mesh_link2_v" value="${pkg}/iiwa/visual/link2.DAE"/>
<xacro:property name="mesh_link3_v" value="${pkg}/iiwa/visual/link3.DAE"/>
<xacro:property name="mesh_link4_v" value="${pkg}/iiwa/visual/link4.DAE"/>
<xacro:property name="mesh_link5_v" value="${pkg}/iiwa/visual/link5.DAE"/>
<xacro:property name="mesh_link6_v" value="${pkg}/iiwa/visual/link6.DAE"/>
<xacro:property name="mesh_link7_v" value="${pkg}/iiwa/visual/link7.DAE"/>
<!-- Меши колизии -->
<xacro:property name="mesh_base_c" value="${pkg}/collision/base_link.STL"/>
<xacro:property name="mesh_link1_c" value="${pkg}/collision/link1.STL"/>
<xacro:property name="mesh_link2_c" value="${pkg}/collision/link2.STL"/>
<xacro:property name="mesh_link3_c" value="${pkg}/collision/link3.STL"/>
<xacro:property name="mesh_link4_c" value="${pkg}/collision/link4.STL"/>
<xacro:property name="mesh_link5_c" value="${pkg}/collision/link5.STL"/>
<xacro:property name="mesh_link6_c" value="${pkg}/collision/link6.STL"/>
<xacro:property name="mesh_link7_c" value="${pkg}/collision/link7.STL"/>
<xacro:property name="mesh_base_c" value="${pkg}/iiwa/collision/base_link.STL"/>
<xacro:property name="mesh_link1_c" value="${pkg}/iiwa/collision/link1.STL"/>
<xacro:property name="mesh_link2_c" value="${pkg}/iiwa/collision/link2.STL"/>
<xacro:property name="mesh_link3_c" value="${pkg}/iiwa/collision/link3.STL"/>
<xacro:property name="mesh_link4_c" value="${pkg}/iiwa/collision/link4.STL"/>
<xacro:property name="mesh_link5_c" value="${pkg}/iiwa/collision/link5.STL"/>
<xacro:property name="mesh_link6_c" value="${pkg}/iiwa/collision/link6.STL"/>
<xacro:property name="mesh_link7_c" value="${pkg}/iiwa/collision/link7.STL"/>
</robot>
@@ -200,7 +200,6 @@
</visual>
</gazebo>
<!-- ═══ Джойнты ═══ -->
<joint name="world_frame" type="fixed">
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
<parent link="world"/>
@@ -0,0 +1,31 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="tool_patron">
<link name="patron">
<inertial>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
<mass value="0.69"/>
<inertia ixx="0.000483150" ixy="0.0" ixz="0.0"
iyy="0.000483150" iyz="0.0" izz="0.000241750"/>
</inertial>
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
<geometry>
<mesh filename="package://iiwa_description/resource/meshes/tools/patron.dae"/>
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0354" rpy="0.0 0.0 0.0"/>
<geometry>
<cylinder radius="0.0315" length="0.071"/>
</geometry>
</collision>
</link>
<joint name="tool" type="fixed">
<parent link="link_ee"/>
<child link="patron"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
</joint>
</robot>
+8 -1
View File
@@ -10,7 +10,7 @@ EXTERNPROTO "../resource/protos/Object.proto"
WorldInfo {
title "iiwa robotics"
basicTimeStep 10
basicTimeStep 32
optimalThreadCount 4
contactProperties [
ContactProperties {
@@ -30,6 +30,13 @@ WorldInfo {
softCFM 0.002
maxContactJoints 100
}
ContactProperties {
material1 "default"
material2 "default"
maxContactJoints 20
bounce 0
softCFM 0.001
}
]
}
Viewpoint {