Refactor controller launch configuration and remove deprecated URDF files
This commit is contained in:
@@ -21,7 +21,8 @@ sudo apt install -y ros-${ROS_DISTRO}-webots-ros2 \
|
||||
ros-${ROS_DISTRO}-ros2-controllers \
|
||||
ros-${ROS_DISTRO}-moveit \
|
||||
ros-${ROS_DISTRO}-moveit-py \
|
||||
ros-${ROS_DISTRO}-ament-cmake-clang-format
|
||||
ros-${ROS_DISTRO}-ament-cmake-clang-format \
|
||||
sudo apt install ros-$ROS_DISTRO-rosbag2-storage-mcap
|
||||
|
||||
```
|
||||
|
||||
@@ -60,3 +61,37 @@ sudo pip3 install transforms3d --break-system-packages
|
||||
```bash
|
||||
rosdep install --from-paths src --ignore-src -r -y --os=ubuntu:jammy
|
||||
```
|
||||
|
||||
Запись данных в rosbag:
|
||||
|
||||
```bash
|
||||
# Record all topics
|
||||
ros2 bag record -a --storage mcap -o my_session
|
||||
|
||||
# Record specific topics
|
||||
ros2 bag record \
|
||||
/camera/image_raw \
|
||||
/lidar/points \
|
||||
/imu/data \
|
||||
--storage mcap \
|
||||
-o robot_drive_session
|
||||
|
||||
|
||||
# LZ4 = faster write, moderate compression (good for real-time recording)
|
||||
ros2 bag record -a --storage mcap \
|
||||
--compression-mode file \
|
||||
--compression-format lz4 \
|
||||
-o compressed_session
|
||||
|
||||
# Zstandard = slower write, better compression (good for post-processing)
|
||||
ros2 bag record -a --storage mcap \
|
||||
--compression-mode file \
|
||||
--compression-format zstd \
|
||||
-o compressed_zstd_session
|
||||
|
||||
# convert existing rosbag2 to mcap format
|
||||
ros2 bag convert \
|
||||
-i robot_drive_old/ \
|
||||
-o robot_drive_mcap/ \
|
||||
--output-options '{"storage_id": "mcap"}'
|
||||
```
|
||||
@@ -103,7 +103,7 @@ def _runtime_setup(context, *args, **kwargs):
|
||||
|
||||
setup += [webots_launch]
|
||||
|
||||
# Controller launch)
|
||||
# Controller launch
|
||||
if simulate:
|
||||
controller_args = {
|
||||
"robot_name": settings.robot.name,
|
||||
@@ -122,6 +122,7 @@ def _runtime_setup(context, *args, **kwargs):
|
||||
"initial_positions_file": settings.controller.moveit.initial_positions,
|
||||
"controller_path": settings.controller.controller_path,
|
||||
"simulate": "false",
|
||||
"command_mode": settings.robot.command_mode,
|
||||
}
|
||||
|
||||
controllers_launch = IncludeLaunchDescription(
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from launch import LaunchDescription
|
||||
from launch.actions import OpaqueFunction
|
||||
from launch.actions import DeclareLaunchArgument, OpaqueFunction
|
||||
from launch.substitutions import LaunchConfiguration
|
||||
from launch.event_handlers import OnProcessExit
|
||||
from launch.actions import RegisterEventHandler
|
||||
@@ -19,8 +19,10 @@ def _setup_controllers(context, *args, **kwargs):
|
||||
controller_timer = LaunchConfiguration("controller_timer").perform(context)
|
||||
controller_path = LaunchConfiguration("controller_path").perform(context)
|
||||
simulate = LaunchConfiguration("simulate").perform(context).lower() in ("true", "1", "yes")
|
||||
command_mode = LaunchConfiguration("command_mode").perform(context)
|
||||
|
||||
xacro_args = {"initial_positions_file": initial_positions_file}
|
||||
|
||||
if simulate:
|
||||
xacro_args["simulate"] = "true"
|
||||
|
||||
@@ -54,8 +56,7 @@ def _setup_controllers(context, *args, **kwargs):
|
||||
package="controller_manager",
|
||||
executable="spawner",
|
||||
output="screen",
|
||||
arguments=["forward_torque_controller",
|
||||
"--inactive"] + tmo,
|
||||
arguments=["iiwa_arm_torque_controller", "--inactive"] + tmo,
|
||||
parameters=[{"use_sim_time": True}]
|
||||
)
|
||||
|
||||
@@ -90,25 +91,26 @@ def _setup_controllers(context, *args, **kwargs):
|
||||
],
|
||||
)
|
||||
|
||||
jtc_args = ["iiwa_arm_controller", "--controller-manager", "/controller_manager"]
|
||||
torque_args = ["iiwa_arm_torque_controller", "--controller-manager", "/controller_manager"]
|
||||
|
||||
if command_mode == "torque":
|
||||
jtc_args += ["--inactive"]
|
||||
else:
|
||||
torque_args += ["--inactive"]
|
||||
|
||||
jtc = Node(
|
||||
package="controller_manager",
|
||||
executable="spawner",
|
||||
output="screen",
|
||||
arguments=[
|
||||
"iiwa_arm_controller",
|
||||
"--controller-manager", "/controller_manager",
|
||||
],
|
||||
arguments=jtc_args,
|
||||
)
|
||||
|
||||
torque_controller = Node(
|
||||
package="controller_manager",
|
||||
executable="spawner",
|
||||
output="screen",
|
||||
arguments=[
|
||||
"forward_torque_controller",
|
||||
"--controller-manager", "/controller_manager",
|
||||
"--inactive",
|
||||
],
|
||||
arguments=torque_args,
|
||||
)
|
||||
|
||||
jtc_after_jsb = RegisterEventHandler(
|
||||
@@ -126,4 +128,7 @@ def _setup_controllers(context, *args, **kwargs):
|
||||
|
||||
|
||||
def generate_launch_description():
|
||||
return LaunchDescription([OpaqueFunction(function=_setup_controllers)])
|
||||
return LaunchDescription([
|
||||
DeclareLaunchArgument("command_mode", default_value="position"),
|
||||
OpaqueFunction(function=_setup_controllers),
|
||||
])
|
||||
|
||||
@@ -8,7 +8,7 @@ controller_manager:
|
||||
iiwa_arm_controller:
|
||||
type: "joint_trajectory_controller/JointTrajectoryController"
|
||||
|
||||
forward_torque_controller:
|
||||
iiwa_arm_torque_controller:
|
||||
type: "forward_command_controller/ForwardCommandController"
|
||||
|
||||
# Основной контроллер - плавное движение по траектории
|
||||
@@ -58,7 +58,7 @@ iiwa_arm_controller:
|
||||
|
||||
# Torque контроллер - прямое управление моментом
|
||||
# Активировать только при command_mode:=torque в launch файле
|
||||
forward_torque_controller:
|
||||
iiwa_arm_torque_controller:
|
||||
ros__parameters:
|
||||
joints:
|
||||
- joint1
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -29,26 +29,6 @@
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<gazebo reference="${name}">
|
||||
<visual>
|
||||
<material>
|
||||
<ambient>${r} ${g} ${b} ${a}</ambient>
|
||||
<diffuse>${r} ${g} ${b} ${a}</diffuse>
|
||||
<specular>0.3 0.3 0.3 1.0</specular>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<surface>
|
||||
<friction>
|
||||
<ode><mu>1.0</mu><mu2>1.0</mu2></ode>
|
||||
</friction>
|
||||
<contact>
|
||||
<ode><kp>1000000.0</kp><kd>100.0</kd></ode>
|
||||
</contact>
|
||||
</surface>
|
||||
</collision>
|
||||
</gazebo>
|
||||
</xacro:macro>
|
||||
|
||||
<xacro:macro name="prismatic_joint"
|
||||
|
||||
@@ -1,116 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="iiwa7">
|
||||
|
||||
<!-- Аргукменты -->
|
||||
<xacro:arg name="initial_positions_file"
|
||||
default="$(find iiwa_config)/config/moveit/initial_positions.yaml"/>
|
||||
|
||||
<xacro:property name="initial_positions"
|
||||
value="${xacro.load_yaml('$(arg initial_positions_file)')['initial_positions']}"/>
|
||||
|
||||
<xacro:include filename="$(find iiwa_description)/urdf/params.xacro"/>
|
||||
<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/tools/patron.xacro"/>
|
||||
|
||||
|
||||
<webots>
|
||||
<plugin type="webots_ros2_control::Ros2Control"/>
|
||||
</webots>
|
||||
|
||||
<ros2_control name="iiwaGazeboControl" type="system">
|
||||
|
||||
<hardware>
|
||||
<plugin>webots_ros2_control::Ros2ControlSystem</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">${initial_positions['joint1']}</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">${initial_positions['joint2']}</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">${initial_positions['joint3']}</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">${initial_positions['joint4']}</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">${initial_positions['joint5']}</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">${initial_positions['joint6']}</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">${initial_positions['joint7']}</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
|
||||
</ros2_control>
|
||||
|
||||
</robot>
|
||||
@@ -1,446 +0,0 @@
|
||||
<?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>
|
||||
@@ -28,16 +28,6 @@
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<gazebo reference="${name}">
|
||||
<visual>
|
||||
<material>
|
||||
<ambient>${color_r * 0.7} ${color_g * 0.7} ${color_b * 0.7} ${color_a}</ambient>
|
||||
<diffuse>${color_r} ${color_g} ${color_b} ${color_a}</diffuse>
|
||||
<specular>0.3 0.3 0.3 1.0</specular>
|
||||
<emissive>0 0 0 1</emissive>
|
||||
</material>
|
||||
</visual>
|
||||
</gazebo>
|
||||
</xacro:macro>
|
||||
|
||||
<!-- Макрос для описания соединений -->
|
||||
|
||||
@@ -27,17 +27,6 @@
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<gazebo reference="table_frame">
|
||||
<visual>
|
||||
<material>
|
||||
<ambient>0.55 0.55 0.58 1</ambient>
|
||||
<diffuse>0.65 0.65 0.68 1</diffuse>
|
||||
<specular>0.3 0.3 0.3 1</specular>
|
||||
<pbr><metal><roughness>0.6</roughness><metalness>0.4</metalness></metal></pbr>
|
||||
</material>
|
||||
</visual>
|
||||
</gazebo>
|
||||
|
||||
<link name="wood_palete">
|
||||
<inertial>
|
||||
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
|
||||
@@ -84,33 +73,6 @@
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<gazebo reference="wood_palete">
|
||||
<visual name="top_surface">
|
||||
<material>
|
||||
<ambient>0.92 0.92 0.92 1</ambient>
|
||||
<diffuse>0.95 0.95 0.95 1</diffuse>
|
||||
<specular>0.1 0.1 0.1 1</specular>
|
||||
</material>
|
||||
</visual>
|
||||
<visual name="border_front">
|
||||
<material><ambient>1.0 0.38 0.0 1</ambient><diffuse>1.0 0.38 0.0 1</diffuse><specular>0.3 0.15 0.0 1</specular></material>
|
||||
</visual>
|
||||
<visual name="border_back">
|
||||
<material><ambient>1.0 0.38 0.0 1</ambient><diffuse>1.0 0.38 0.0 1</diffuse><specular>0.3 0.15 0.0 1</specular></material>
|
||||
</visual>
|
||||
<visual name="border_left">
|
||||
<material><ambient>1.0 0.38 0.0 1</ambient><diffuse>1.0 0.38 0.0 1</diffuse><specular>0.3 0.15 0.0 1</specular></material>
|
||||
</visual>
|
||||
<visual name="border_right">
|
||||
<material><ambient>1.0 0.38 0.0 1</ambient><diffuse>1.0 0.38 0.0 1</diffuse><specular>0.3 0.15 0.0 1</specular></material>
|
||||
</visual>
|
||||
<collision>
|
||||
<surface>
|
||||
<friction><ode><mu>0.3</mu><mu2>0.3</mu2></ode></friction>
|
||||
</surface>
|
||||
</collision>
|
||||
</gazebo>
|
||||
|
||||
<link name="robot_palete">
|
||||
<inertial>
|
||||
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
|
||||
@@ -131,17 +93,6 @@
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<gazebo reference="robot_palete">
|
||||
<visual>
|
||||
<material>
|
||||
<ambient>0.55 0.55 0.58 1</ambient>
|
||||
<diffuse>0.65 0.65 0.68 1</diffuse>
|
||||
<specular>0.3 0.3 0.3 1</specular>
|
||||
<pbr><metal><roughness>0.6</roughness><metalness>0.4</metalness></metal></pbr>
|
||||
</material>
|
||||
</visual>
|
||||
</gazebo>
|
||||
|
||||
<link name="cabinet_frame">
|
||||
<inertial>
|
||||
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
|
||||
@@ -158,17 +109,6 @@
|
||||
</visual>
|
||||
</link>
|
||||
|
||||
<gazebo reference="cabinet_frame">
|
||||
<visual>
|
||||
<material>
|
||||
<ambient>0.55 0.55 0.58 1</ambient>
|
||||
<diffuse>0.65 0.65 0.68 1</diffuse>
|
||||
<specular>0.3 0.3 0.3 1</specular>
|
||||
<pbr><metal><roughness>0.6</roughness><metalness>0.4</metalness></metal></pbr>
|
||||
</material>
|
||||
</visual>
|
||||
</gazebo>
|
||||
|
||||
<link name="cabinet">
|
||||
<inertial>
|
||||
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
|
||||
@@ -189,17 +129,6 @@
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<gazebo reference="cabinet">
|
||||
<visual>
|
||||
<material>
|
||||
<ambient>0.18 0.18 0.20 1</ambient>
|
||||
<diffuse>0.22 0.22 0.24 1</diffuse>
|
||||
<specular>0.5 0.5 0.5 1</specular>
|
||||
<pbr><metal><roughness>0.3</roughness><metalness>0.7</metalness></metal></pbr>
|
||||
</material>
|
||||
</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"/>
|
||||
|
||||
Reference in New Issue
Block a user