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
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 {