Added cartesian_controllers as a submodule
This commit is contained in:
parent
14126b5b7d
commit
2b500f3560
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -13,3 +13,7 @@
|
||||
[submodule "src/ros2_robotiq_gripper"]
|
||||
path = src/ros2_robotiq_gripper
|
||||
url = https://github.com/PickNikRobotics/ros2_robotiq_gripper.git
|
||||
[submodule "src/cartesian_controllers"]
|
||||
path = src/cartesian_controllers
|
||||
url = https://github.com/fzi-forschungszentrum-informatik/cartesian_controllers.git
|
||||
branch = ros2
|
||||
|
1
src/cartesian_controllers
Submodule
1
src/cartesian_controllers
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 4b5daabc8ced16f264c9a638afeaaeeda5d8dd04
|
899
src/ur_robotiq_description/urdf/ur_robotiq.urdf
Normal file
899
src/ur_robotiq_description/urdf/ur_robotiq.urdf
Normal file
@ -0,0 +1,899 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!-- =================================================================================== -->
|
||||
<!-- | This document was autogenerated by xacro from ur_robotiq.urdf.xacro | -->
|
||||
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
|
||||
<!-- =================================================================================== -->
|
||||
<robot name="ur_manipulator">
|
||||
<!--
|
||||
Base UR robot series xacro macro.
|
||||
|
||||
NOTE this is NOT a URDF. It cannot directly be loaded by consumers
|
||||
expecting a flattened '.urdf' file. See the top-level '.xacro' for that
|
||||
(but note that .xacro must still be processed by the xacro command).
|
||||
|
||||
This file models the base kinematic chain of a UR robot, which then gets
|
||||
parameterised by various configuration files to convert it into a UR3(e),
|
||||
UR5(e), UR10(e) or UR16e.
|
||||
|
||||
NOTE the default kinematic parameters (i.e., link lengths, frame locations,
|
||||
offsets, etc) do not correspond to any particular robot. They are defaults
|
||||
only. There WILL be non-zero offsets between the Forward Kinematics results
|
||||
in TF (i.e., robot_state_publisher) and the values reported by the Teach
|
||||
Pendant.
|
||||
|
||||
For accurate (and robot-specific) transforms, the 'kinematics_parameters_file'
|
||||
parameter MUST point to a .yaml file containing the appropriate values for
|
||||
the targeted robot.
|
||||
|
||||
If using the UniversalRobots/Universal_Robots_ROS_Driver, follow the steps
|
||||
described in the readme of that repository to extract the kinematic
|
||||
calibration from the controller and generate the required .yaml file.
|
||||
|
||||
Main author of the migration to yaml configs Ludovic Delval.
|
||||
|
||||
Contributors to previous versions (in no particular order)
|
||||
|
||||
- Denis Stogl
|
||||
- Lovro Ivanov
|
||||
- Felix Messmer
|
||||
- Kelsey Hawkins
|
||||
- Wim Meeussen
|
||||
- Shaun Edwards
|
||||
- Nadia Hammoudeh Garcia
|
||||
- Dave Hershberger
|
||||
- G. vd. Hoorn
|
||||
- Philip Long
|
||||
- Dave Coleman
|
||||
- Miguel Prada
|
||||
- Mathias Luedtke
|
||||
- Marcel Schnirring
|
||||
- Felix von Drigalski
|
||||
- Felix Exner
|
||||
- Jimmy Da Silva
|
||||
- Ajit Krisshna N L
|
||||
- Muhammad Asif Rana
|
||||
-->
|
||||
<!--
|
||||
NOTE the macro defined in this file is NOT part of the public API of this
|
||||
package. Users CANNOT rely on this file being available, or stored in
|
||||
this location. Nor can they rely on the existence of the macro.
|
||||
-->
|
||||
<link name="world"/>
|
||||
<ros2_control name="ur_manipulator" type="system">
|
||||
<hardware>
|
||||
<plugin>ur_robot_driver/URPositionHardwareInterface</plugin>
|
||||
<param name="robot_ip">0.0.0.0</param>
|
||||
<param name="script_filename"></param>
|
||||
<param name="output_recipe_filename"></param>
|
||||
<param name="input_recipe_filename"></param>
|
||||
<param name="headless_mode">False</param>
|
||||
<param name="reverse_port">50001</param>
|
||||
<param name="script_sender_port">50002</param>
|
||||
<param name="reverse_ip">0.0.0.0</param>
|
||||
<param name="script_command_port">50004</param>
|
||||
<param name="trajectory_port">50003</param>
|
||||
<param name="tf_prefix"></param>
|
||||
<param name="non_blocking_read">True</param>
|
||||
<param name="servoj_gain">2000</param>
|
||||
<param name="servoj_lookahead_time">0.03</param>
|
||||
<param name="use_tool_communication">False</param>
|
||||
<param name="kinematics/hash">calib_16756443741236045476</param>
|
||||
<param name="tool_voltage">0</param>
|
||||
<param name="tool_parity">0</param>
|
||||
<param name="tool_baud_rate">115200</param>
|
||||
<param name="tool_stop_bits">1</param>
|
||||
<param name="tool_rx_idle_chars">1.5</param>
|
||||
<param name="tool_tx_idle_chars">3.5</param>
|
||||
<param name="tool_device_name">/tmp/ttyUR</param>
|
||||
<param name="tool_tcp_port">54321</param>
|
||||
<param name="keep_alive_count">2</param>
|
||||
</hardware>
|
||||
<joint name="shoulder_pan_joint">
|
||||
<command_interface name="position">
|
||||
<param name="min">{-2*pi}</param>
|
||||
<param name="max">{2*pi}</param>
|
||||
</command_interface>
|
||||
<command_interface name="velocity">
|
||||
<param name="min">-3.15</param>
|
||||
<param name="max">3.15</param>
|
||||
</command_interface>
|
||||
<state_interface name="position">
|
||||
<!-- initial position for the FakeSystem and simulation -->
|
||||
<param name="initial_value">0.0</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="shoulder_lift_joint">
|
||||
<command_interface name="position">
|
||||
<param name="min">{-2*pi}</param>
|
||||
<param name="max">{2*pi}</param>
|
||||
</command_interface>
|
||||
<command_interface name="velocity">
|
||||
<param name="min">-3.15</param>
|
||||
<param name="max">3.15</param>
|
||||
</command_interface>
|
||||
<state_interface name="position">
|
||||
<!-- initial position for the FakeSystem and simulation -->
|
||||
<param name="initial_value">-1.57</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="elbow_joint">
|
||||
<command_interface name="position">
|
||||
<param name="min">{-pi}</param>
|
||||
<param name="max">{pi}</param>
|
||||
</command_interface>
|
||||
<command_interface name="velocity">
|
||||
<param name="min">-3.15</param>
|
||||
<param name="max">3.15</param>
|
||||
</command_interface>
|
||||
<state_interface name="position">
|
||||
<!-- initial position for the FakeSystem and simulation -->
|
||||
<param name="initial_value">0.0</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="wrist_1_joint">
|
||||
<command_interface name="position">
|
||||
<param name="min">{-2*pi}</param>
|
||||
<param name="max">{2*pi}</param>
|
||||
</command_interface>
|
||||
<command_interface name="velocity">
|
||||
<param name="min">-3.2</param>
|
||||
<param name="max">3.2</param>
|
||||
</command_interface>
|
||||
<state_interface name="position">
|
||||
<!-- initial position for the FakeSystem and simulation -->
|
||||
<param name="initial_value">-1.57</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="wrist_2_joint">
|
||||
<command_interface name="position">
|
||||
<param name="min">{-2*pi}</param>
|
||||
<param name="max">{2*pi}</param>
|
||||
</command_interface>
|
||||
<command_interface name="velocity">
|
||||
<param name="min">-3.2</param>
|
||||
<param name="max">3.2</param>
|
||||
</command_interface>
|
||||
<state_interface name="position">
|
||||
<!-- initial position for the FakeSystem and simulation -->
|
||||
<param name="initial_value">0.0</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="wrist_3_joint">
|
||||
<command_interface name="position">
|
||||
<param name="min">{-2*pi}</param>
|
||||
<param name="max">{2*pi}</param>
|
||||
</command_interface>
|
||||
<command_interface name="velocity">
|
||||
<param name="min">-3.2</param>
|
||||
<param name="max">3.2</param>
|
||||
</command_interface>
|
||||
<state_interface name="position">
|
||||
<!-- initial position for the FakeSystem and simulation -->
|
||||
<param name="initial_value">0.0</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<sensor name="tcp_fts_sensor">
|
||||
<state_interface name="force.x"/>
|
||||
<state_interface name="force.y"/>
|
||||
<state_interface name="force.z"/>
|
||||
<state_interface name="torque.x"/>
|
||||
<state_interface name="torque.y"/>
|
||||
<state_interface name="torque.z"/>
|
||||
</sensor>
|
||||
<!-- NOTE The following are joints used only for testing with fake hardware and will change in the future -->
|
||||
<gpio name="speed_scaling">
|
||||
<state_interface name="speed_scaling_factor"/>
|
||||
<param name="initial_speed_scaling_factor">1</param>
|
||||
<command_interface name="target_speed_fraction_cmd"/>
|
||||
<command_interface name="target_speed_fraction_async_success"/>
|
||||
</gpio>
|
||||
<gpio name="gpio">
|
||||
<command_interface name="standard_digital_output_cmd_0"/>
|
||||
<command_interface name="standard_digital_output_cmd_1"/>
|
||||
<command_interface name="standard_digital_output_cmd_2"/>
|
||||
<command_interface name="standard_digital_output_cmd_3"/>
|
||||
<command_interface name="standard_digital_output_cmd_4"/>
|
||||
<command_interface name="standard_digital_output_cmd_5"/>
|
||||
<command_interface name="standard_digital_output_cmd_6"/>
|
||||
<command_interface name="standard_digital_output_cmd_7"/>
|
||||
<command_interface name="standard_digital_output_cmd_8"/>
|
||||
<command_interface name="standard_digital_output_cmd_9"/>
|
||||
<command_interface name="standard_digital_output_cmd_10"/>
|
||||
<command_interface name="standard_digital_output_cmd_11"/>
|
||||
<command_interface name="standard_digital_output_cmd_12"/>
|
||||
<command_interface name="standard_digital_output_cmd_13"/>
|
||||
<command_interface name="standard_digital_output_cmd_14"/>
|
||||
<command_interface name="standard_digital_output_cmd_15"/>
|
||||
<command_interface name="standard_digital_output_cmd_16"/>
|
||||
<command_interface name="standard_digital_output_cmd_17"/>
|
||||
<command_interface name="standard_analog_output_cmd_0"/>
|
||||
<command_interface name="standard_analog_output_cmd_1"/>
|
||||
<command_interface name="tool_voltage_cmd"/>
|
||||
<command_interface name="io_async_success"/>
|
||||
<state_interface name="digital_output_0"/>
|
||||
<state_interface name="digital_output_1"/>
|
||||
<state_interface name="digital_output_2"/>
|
||||
<state_interface name="digital_output_3"/>
|
||||
<state_interface name="digital_output_4"/>
|
||||
<state_interface name="digital_output_5"/>
|
||||
<state_interface name="digital_output_6"/>
|
||||
<state_interface name="digital_output_7"/>
|
||||
<state_interface name="digital_output_8"/>
|
||||
<state_interface name="digital_output_9"/>
|
||||
<state_interface name="digital_output_10"/>
|
||||
<state_interface name="digital_output_11"/>
|
||||
<state_interface name="digital_output_12"/>
|
||||
<state_interface name="digital_output_13"/>
|
||||
<state_interface name="digital_output_14"/>
|
||||
<state_interface name="digital_output_15"/>
|
||||
<state_interface name="digital_output_16"/>
|
||||
<state_interface name="digital_output_17"/>
|
||||
<state_interface name="digital_input_0"/>
|
||||
<state_interface name="digital_input_1"/>
|
||||
<state_interface name="digital_input_2"/>
|
||||
<state_interface name="digital_input_3"/>
|
||||
<state_interface name="digital_input_4"/>
|
||||
<state_interface name="digital_input_5"/>
|
||||
<state_interface name="digital_input_6"/>
|
||||
<state_interface name="digital_input_7"/>
|
||||
<state_interface name="digital_input_8"/>
|
||||
<state_interface name="digital_input_9"/>
|
||||
<state_interface name="digital_input_10"/>
|
||||
<state_interface name="digital_input_11"/>
|
||||
<state_interface name="digital_input_12"/>
|
||||
<state_interface name="digital_input_13"/>
|
||||
<state_interface name="digital_input_14"/>
|
||||
<state_interface name="digital_input_15"/>
|
||||
<state_interface name="digital_input_16"/>
|
||||
<state_interface name="digital_input_17"/>
|
||||
<state_interface name="standard_analog_output_0"/>
|
||||
<state_interface name="standard_analog_output_1"/>
|
||||
<state_interface name="standard_analog_input_0"/>
|
||||
<state_interface name="standard_analog_input_1"/>
|
||||
<state_interface name="analog_io_type_0"/>
|
||||
<state_interface name="analog_io_type_1"/>
|
||||
<state_interface name="analog_io_type_2"/>
|
||||
<state_interface name="analog_io_type_3"/>
|
||||
<state_interface name="tool_mode"/>
|
||||
<state_interface name="tool_output_voltage"/>
|
||||
<state_interface name="tool_output_current"/>
|
||||
<state_interface name="tool_temperature"/>
|
||||
<state_interface name="tool_analog_input_0"/>
|
||||
<state_interface name="tool_analog_input_1"/>
|
||||
<state_interface name="tool_analog_input_type_0"/>
|
||||
<state_interface name="tool_analog_input_type_1"/>
|
||||
<state_interface name="robot_mode"/>
|
||||
<state_interface name="robot_status_bit_0"/>
|
||||
<state_interface name="robot_status_bit_1"/>
|
||||
<state_interface name="robot_status_bit_2"/>
|
||||
<state_interface name="robot_status_bit_3"/>
|
||||
<state_interface name="safety_mode"/>
|
||||
<state_interface name="safety_status_bit_0"/>
|
||||
<state_interface name="safety_status_bit_1"/>
|
||||
<state_interface name="safety_status_bit_2"/>
|
||||
<state_interface name="safety_status_bit_3"/>
|
||||
<state_interface name="safety_status_bit_4"/>
|
||||
<state_interface name="safety_status_bit_5"/>
|
||||
<state_interface name="safety_status_bit_6"/>
|
||||
<state_interface name="safety_status_bit_7"/>
|
||||
<state_interface name="safety_status_bit_8"/>
|
||||
<state_interface name="safety_status_bit_9"/>
|
||||
<state_interface name="safety_status_bit_10"/>
|
||||
<state_interface name="program_running"/>
|
||||
</gpio>
|
||||
<gpio name="payload">
|
||||
<command_interface name="mass"/>
|
||||
<command_interface name="cog.x"/>
|
||||
<command_interface name="cog.y"/>
|
||||
<command_interface name="cog.z"/>
|
||||
<command_interface name="payload_async_success"/>
|
||||
</gpio>
|
||||
<gpio name="resend_robot_program">
|
||||
<command_interface name="resend_robot_program_cmd"/>
|
||||
<command_interface name="resend_robot_program_async_success"/>
|
||||
</gpio>
|
||||
<gpio name="hand_back_control">
|
||||
<command_interface name="hand_back_control_cmd"/>
|
||||
<command_interface name="hand_back_control_async_success"/>
|
||||
</gpio>
|
||||
<gpio name="zero_ftsensor">
|
||||
<command_interface name="zero_ftsensor_cmd"/>
|
||||
<command_interface name="zero_ftsensor_async_success"/>
|
||||
</gpio>
|
||||
<gpio name="system_interface">
|
||||
<state_interface name="initialized"/>
|
||||
</gpio>
|
||||
</ros2_control>
|
||||
<!-- Add URDF transmission elements (for ros_control) -->
|
||||
<!--<xacro:ur_arm_transmission prefix="${prefix}" hw_interface="${transmission_hw_interface}" />-->
|
||||
<!-- Placeholder for ros2_control transmission which don't yet exist -->
|
||||
<!-- links - main serial chain -->
|
||||
<link name="base_link"/>
|
||||
<link name="base_link_inertia">
|
||||
<visual>
|
||||
<origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/visual/base.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/collision/base.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="2.0"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0.0030531654454" ixy="0.0" ixz="0.0" iyy="0.0030531654454" iyz="0.0" izz="0.005625"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="shoulder_link">
|
||||
<visual>
|
||||
<origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/visual/shoulder.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/collision/shoulder.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="2.0"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0.008093163429399999" ixy="0.0" ixz="0.0" iyy="0.008093163429399999" iyz="0.0" izz="0.005625"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="upper_arm_link">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0.12"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/visual/upperarm.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0.12"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/collision/upperarm.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="3.42"/>
|
||||
<origin rpy="0 1.5707963267948966 0" xyz="-0.121825 0.0 0.12"/>
|
||||
<inertia ixx="0.021728483221103233" ixy="0.0" ixz="0.0" iyy="0.021728483221103233" iyz="0.0" izz="0.00961875"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="forearm_link">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0.027"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/visual/forearm.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0.027"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/collision/forearm.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="1.26"/>
|
||||
<origin rpy="0 1.5707963267948966 0" xyz="-0.1066 0.0 0.027"/>
|
||||
<inertia ixx="0.0065445675821719194" ixy="0.0" ixz="0.0" iyy="0.0065445675821719194" iyz="0.0" izz="0.00354375"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="wrist_1_link">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 -0.104"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/visual/wrist1.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 -0.104"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/collision/wrist1.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.8"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0.002084999166" ixy="0.0" ixz="0.0" iyy="0.002084999166" iyz="0.0" izz="0.00225"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="wrist_2_link">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.08535"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/visual/wrist2.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.08535"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/collision/wrist2.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.8"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0.002084999166" ixy="0.0" ixz="0.0" iyy="0.002084999166" iyz="0.0" izz="0.00225"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="wrist_3_link">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 -0.0921"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/visual/wrist3.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 -0.0921"/>
|
||||
<geometry>
|
||||
<mesh filename="package://ur_description/meshes/ur3e/collision/wrist3.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.35"/>
|
||||
<origin rpy="0 0 0" xyz="0.0 0.0 -0.02"/>
|
||||
<inertia ixx="0.00013626661215999998" ixy="0.0" ixz="0.0" iyy="0.00013626661215999998" iyz="0.0" izz="0.0001792"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- base_joint fixes base_link to the environment -->
|
||||
<joint name="base_joint" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<parent link="world"/>
|
||||
<child link="base_link"/>
|
||||
</joint>
|
||||
<!-- joints - main serial chain -->
|
||||
<joint name="base_link-base_link_inertia" type="fixed">
|
||||
<parent link="base_link"/>
|
||||
<child link="base_link_inertia"/>
|
||||
<!-- 'base_link' is REP-103 aligned (so X+ forward), while the internal
|
||||
frames of the robot/controller have X+ pointing backwards.
|
||||
Use the joint between 'base_link' and 'base_link_inertia' (a dummy
|
||||
link/frame) to introduce the necessary rotation over Z (of pi rad).
|
||||
-->
|
||||
<origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
|
||||
</joint>
|
||||
<joint name="shoulder_pan_joint" type="revolute">
|
||||
<parent link="base_link_inertia"/>
|
||||
<child link="shoulder_link"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.15185"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="56.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="3.141592653589793"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
</joint>
|
||||
<joint name="shoulder_lift_joint" type="revolute">
|
||||
<parent link="shoulder_link"/>
|
||||
<child link="upper_arm_link"/>
|
||||
<origin rpy="1.570796327 0 0" xyz="0 0 0"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="56.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="3.141592653589793"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
</joint>
|
||||
<joint name="elbow_joint" type="revolute">
|
||||
<parent link="upper_arm_link"/>
|
||||
<child link="forearm_link"/>
|
||||
<origin rpy="0 0 0" xyz="-0.24355 0 0"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="28.0" lower="-3.141592653589793" upper="3.141592653589793" velocity="3.141592653589793"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
</joint>
|
||||
<joint name="wrist_1_joint" type="revolute">
|
||||
<parent link="forearm_link"/>
|
||||
<child link="wrist_1_link"/>
|
||||
<origin rpy="0 0 0" xyz="-0.2132 0 0.13105"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="12.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="6.283185307179586"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
</joint>
|
||||
<joint name="wrist_2_joint" type="revolute">
|
||||
<parent link="wrist_1_link"/>
|
||||
<child link="wrist_2_link"/>
|
||||
<origin rpy="1.570796327 0 0" xyz="0 -0.08535 -1.750557762378351e-11"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="12.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="6.283185307179586"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
</joint>
|
||||
<joint name="wrist_3_joint" type="revolute">
|
||||
<parent link="wrist_2_link"/>
|
||||
<child link="wrist_3_link"/>
|
||||
<origin rpy="1.570796326589793 3.141592653589793 3.141592653589793" xyz="0 0.0921 -1.8890025766262e-11"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="12.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="6.283185307179586"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
</joint>
|
||||
<link name="ft_frame"/>
|
||||
<joint name="wrist_3_link-ft_frame" type="fixed">
|
||||
<parent link="wrist_3_link"/>
|
||||
<child link="ft_frame"/>
|
||||
<origin rpy="3.141592653589793 0 0" xyz="0 0 0"/>
|
||||
</joint>
|
||||
<!-- ROS-Industrial 'base' frame - base_link to UR 'Base' Coordinates transform -->
|
||||
<link name="base"/>
|
||||
<joint name="base_link-base_fixed_joint" type="fixed">
|
||||
<!-- Note the rotation over Z of pi radians - as base_link is REP-103
|
||||
aligned (i.e., has X+ forward, Y+ left and Z+ up), this is needed
|
||||
to correctly align 'base' with the 'Base' coordinate system of
|
||||
the UR controller.
|
||||
-->
|
||||
<origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="base"/>
|
||||
</joint>
|
||||
<!-- ROS-Industrial 'flange' frame - attachment point for EEF models -->
|
||||
<link name="flange"/>
|
||||
<joint name="wrist_3-flange" type="fixed">
|
||||
<parent link="wrist_3_link"/>
|
||||
<child link="flange"/>
|
||||
<origin rpy="0 -1.5707963267948966 -1.5707963267948966" xyz="0 0 0"/>
|
||||
</joint>
|
||||
<!-- ROS-Industrial 'tool0' frame - all-zeros tool frame -->
|
||||
<link name="tool0"/>
|
||||
<joint name="flange-tool0" type="fixed">
|
||||
<!-- default toolframe - X+ left, Y+ up, Z+ front -->
|
||||
<origin rpy="1.5707963267948966 0 1.5707963267948966" xyz="0 0 0"/>
|
||||
<parent link="flange"/>
|
||||
<child link="tool0"/>
|
||||
</joint>
|
||||
<ros2_control name="gripper" type="system">
|
||||
<!-- Plugins -->
|
||||
<hardware>
|
||||
<plugin>robotiq_driver/RobotiqGripperHardwareInterface</plugin>
|
||||
<param name="gripper_closed_position">0.695</param>
|
||||
<param name="COM_port">/dev/ttyUSB0</param>
|
||||
<param name="gripper_speed_multiplier">1.0</param>
|
||||
<param name="gripper_force_multiplier">0.5</param>
|
||||
</hardware>
|
||||
<!-- Joint interfaces -->
|
||||
<!-- With Ignition or Hardware, they handle mimic joints, so we only need this command interface activated -->
|
||||
<joint name="finger_joint">
|
||||
<command_interface name="position"/>
|
||||
<state_interface name="position">
|
||||
<param name="initial_value">0.695</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
</joint>
|
||||
<gpio name="reactivate_gripper">
|
||||
<command_interface name="reactivate_gripper_cmd"/>
|
||||
<command_interface name="reactivate_gripper_response"/>
|
||||
</gpio>
|
||||
</ros2_control>
|
||||
<!-- this is a temporary link to rotate the 2f-140 gripper to match the 2f-85 -->
|
||||
<link name="robotiq_base_link"/>
|
||||
<joint name="robotiq_base_joint" type="fixed">
|
||||
<parent link="tool0"/>
|
||||
<child link="robotiq_base_link"/>
|
||||
<origin rpy="0 0 1.5707963267948966" xyz="0 0 0"/>
|
||||
</joint>
|
||||
<link name="robotiq_140_base_link">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="8.625E-08 -4.6583E-06 0.03145"/>
|
||||
<mass value="0.22652"/>
|
||||
<inertia ixx="0.00020005" ixy="-4.2442E-10" ixz="-2.9069E-10" iyy="0.00017832" iyz="-3.4402E-08" izz="0.00013478"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/visual/2f_140/robotiq_2f_140_base_link.stl"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.1 0.1 0.1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/collision/2f_140/robotiq_2f_140_base_link.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<joint name="robotiq_140_base_joint" type="fixed">
|
||||
<parent link="robotiq_base_link"/>
|
||||
<child link="robotiq_140_base_link"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
</joint>
|
||||
<link name="left_outer_knuckle">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.000200000000003065 0.0199435877845359 0.0292245259211331"/>
|
||||
<mass value="0.00853198276973456"/>
|
||||
<inertia ixx="2.89328108496468E-06" ixy="-1.57935047237397E-19" ixz="-1.93980378593255E-19" iyy="1.86719750325683E-06" iyz="-1.21858577871576E-06" izz="1.21905238907251E-06"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/visual/2f_140/robotiq_2f_140_outer_knuckle.stl"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/collision/2f_140/robotiq_2f_140_outer_knuckle.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<link name="left_outer_finger">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.00030115855001899 0.0373907951953854 -0.0208027427000385"/>
|
||||
<mass value="0.022614240507152"/>
|
||||
<inertia ixx="1.52518312458174E-05" ixy="9.76583423954399E-10" ixz="-5.43838577022588E-10" iyy="6.17694243867776E-06" iyz="6.78636130740228E-06" izz="1.16494917907219E-05"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/visual/2f_140/robotiq_2f_140_outer_finger.stl"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.1 0.1 0.1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/collision/2f_140/robotiq_2f_140_outer_finger.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<link name="left_inner_finger">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.000299999999999317 0.0160078233491243 -0.0136945669206257"/>
|
||||
<mass value="0.0104003125914103"/>
|
||||
<inertia ixx="2.71909453810972E-06" ixy="1.35402465472579E-21" ixz="-7.1817349065269E-22" iyy="7.69100314106116E-07" iyz="6.74715432769696E-07" izz="2.30315190420171E-06"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/visual/2f_140/robotiq_2f_140_inner_finger.stl"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.1 0.1 0.1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/collision/2f_140/robotiq_2f_140_inner_finger.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<link name="left_inner_finger_pad">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.027 0.065 0.0075"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.9 0.9 0.9 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.03 0.07 0.0075"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.9 0.0 0.0 1"/>
|
||||
</material>
|
||||
</collision>
|
||||
</link>
|
||||
<link name="left_inner_knuckle">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.000123011831763771 0.0507850843201817 0.00103968640075166"/>
|
||||
<mass value="0.0271177346495152"/>
|
||||
<inertia ixx="2.61910379223783E-05" ixy="-2.43616858946494E-07" ixz="-6.37789906117123E-09" iyy="2.8270243746167E-06" iyz="-5.37200748039765E-07" izz="2.83695868220296E-05"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/visual/2f_140/robotiq_2f_140_inner_knuckle.stl"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.1 0.1 0.1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/collision/2f_140/robotiq_2f_140_inner_knuckle.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<link name="right_outer_knuckle">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.000200000000003065 0.0199435877845359 0.0292245259211331"/>
|
||||
<mass value="0.00853198276973456"/>
|
||||
<inertia ixx="2.89328108496468E-06" ixy="-1.57935047237397E-19" ixz="-1.93980378593255E-19" iyy="1.86719750325683E-06" iyz="-1.21858577871576E-06" izz="1.21905238907251E-06"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/visual/2f_140/robotiq_2f_140_outer_knuckle.stl"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/collision/2f_140/robotiq_2f_140_outer_knuckle.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<link name="right_outer_finger">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.00030115855001899 0.0373907951953854 -0.0208027427000385"/>
|
||||
<mass value="0.022614240507152"/>
|
||||
<inertia ixx="1.52518312458174E-05" ixy="9.76583423954399E-10" ixz="-5.43838577022588E-10" iyy="6.17694243867776E-06" iyz="6.78636130740228E-06" izz="1.16494917907219E-05"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/visual/2f_140/robotiq_2f_140_outer_finger.stl"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.1 0.1 0.1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/collision/2f_140/robotiq_2f_140_outer_finger.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<link name="right_inner_finger">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.000299999999999317 0.0160078233491243 -0.0136945669206257"/>
|
||||
<mass value="0.0104003125914103"/>
|
||||
<inertia ixx="2.71909453810972E-06" ixy="1.35402465472579E-21" ixz="-7.1817349065269E-22" iyy="7.69100314106116E-07" iyz="6.74715432769696E-07" izz="2.30315190420171E-06"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/visual/2f_140/robotiq_2f_140_inner_finger.stl"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.1 0.1 0.1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/collision/2f_140/robotiq_2f_140_inner_finger.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<link name="right_inner_finger_pad">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.027 0.065 0.0075"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.9 0.9 0.9 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.03 0.07 0.0075"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.9 0.0 0.0 1"/>
|
||||
</material>
|
||||
</collision>
|
||||
</link>
|
||||
<link name="right_inner_knuckle">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.000123011831763771 0.0507850843201817 0.00103968640075166"/>
|
||||
<mass value="0.0271177346495152"/>
|
||||
<inertia ixx="2.61910379223783E-05" ixy="-2.43616858946494E-07" ixz="-6.37789906117123E-09" iyy="2.8270243746167E-06" iyz="-5.37200748039765E-07" izz="2.83695868220296E-05"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/visual/2f_140/robotiq_2f_140_inner_knuckle.stl"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.1 0.1 0.1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/niko/PycharmProjects/UR_Robotiq/install/robotiq_description/share/robotiq_description/meshes/collision/2f_140/robotiq_2f_140_inner_knuckle.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<joint name="finger_joint" type="revolute">
|
||||
<origin rpy="2.2957963267948966 0 0" xyz="0 -0.030601 0.054905"/>
|
||||
<parent link="robotiq_140_base_link"/>
|
||||
<child link="left_outer_knuckle"/>
|
||||
<axis xyz="-1 0 0"/>
|
||||
<limit effort="1000" lower="0" upper="0.7" velocity="2.0"/>
|
||||
</joint>
|
||||
<joint name="left_outer_finger_joint" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0.01821998610742 0.0260018192872234"/>
|
||||
<parent link="left_outer_knuckle"/>
|
||||
<child link="left_outer_finger"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
</joint>
|
||||
<joint name="left_inner_knuckle_joint" type="revolute">
|
||||
<origin rpy="2.2957963267948966 0 0.0" xyz="0 -0.0127 0.06142"/>
|
||||
<parent link="robotiq_140_base_link"/>
|
||||
<child link="left_inner_knuckle"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="1000" lower="-0.8757" upper="0.8757" velocity="2.0"/>
|
||||
<mimic joint="finger_joint" multiplier="-1" offset="0"/>
|
||||
</joint>
|
||||
<joint name="left_inner_finger_joint" type="revolute">
|
||||
<origin rpy="-0.725 0 0" xyz="0 0.0817554015893473 -0.0282203446692936"/>
|
||||
<parent link="left_outer_finger"/>
|
||||
<child link="left_inner_finger"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="1000" lower="-0.8757" upper="0.8757" velocity="2.0"/>
|
||||
<mimic joint="finger_joint" multiplier="1" offset="0"/>
|
||||
</joint>
|
||||
<joint name="left_inner_finger_pad_joint" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0.0457554015893473 -0.0272203446692936"/>
|
||||
<parent link="left_inner_finger"/>
|
||||
<child link="left_inner_finger_pad"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
</joint>
|
||||
<joint name="right_outer_knuckle_joint" type="revolute">
|
||||
<origin rpy="2.2957963267948966 0 3.141592653589793" xyz="0 0.030601 0.054905"/>
|
||||
<parent link="robotiq_140_base_link"/>
|
||||
<child link="right_outer_knuckle"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="1000" lower="-0.725" upper="0.725" velocity="2.0"/>
|
||||
<mimic joint="finger_joint" multiplier="-1" offset="0"/>
|
||||
</joint>
|
||||
<joint name="right_outer_finger_joint" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0.01821998610742 0.0260018192872234"/>
|
||||
<parent link="right_outer_knuckle"/>
|
||||
<child link="right_outer_finger"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
</joint>
|
||||
<joint name="right_inner_knuckle_joint" type="revolute">
|
||||
<origin rpy="2.2957963267948966 0 -3.141592653589793" xyz="0 0.0127 0.06142"/>
|
||||
<parent link="robotiq_140_base_link"/>
|
||||
<child link="right_inner_knuckle"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="1000" lower="-0.8757" upper="0.8757" velocity="2.0"/>
|
||||
<mimic joint="finger_joint" multiplier="-1" offset="0"/>
|
||||
</joint>
|
||||
<joint name="right_inner_finger_joint" type="revolute">
|
||||
<origin rpy="-0.725 0 0" xyz="0 0.0817554015893473 -0.0282203446692936"/>
|
||||
<parent link="right_outer_finger"/>
|
||||
<child link="right_inner_finger"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="1000" lower="-0.8757" upper="0.8757" velocity="2.0"/>
|
||||
<mimic joint="finger_joint" multiplier="1" offset="0"/>
|
||||
</joint>
|
||||
<joint name="right_inner_finger_pad_joint" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0.0457554015893473 -0.0272203446692936"/>
|
||||
<parent link="right_inner_finger"/>
|
||||
<child link="right_inner_finger_pad"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
</joint>
|
||||
</robot>
|
Loading…
Reference in New Issue
Block a user