Files
lightweight-cobot/src/iiwa_description/urdf/iiwa7.urdf.xacro
T

271 lines
11 KiB
XML

<?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:arg name="simulate" default="false"/>
<xacro:arg name="robot_ip" default="192.170.10.2"/>
<xacro:arg name="fri_port" default="30200"/>
<xacro:arg name="command_mode" default="position"/>
<xacro:arg name="joint_position_tau" default="0.04"/>
<xacro:arg name="joint_velocity_tau" default="0.01"/>
<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/tools/patron.xacro"/>
<xacro:if value="$(arg simulate)">
<webots>
<plugin type="webots_ros2_control::Ros2Control"/>
<device reference="camera_rgb" type="Camera">
<ros>
<topicName>/camera/color</topicName>
<updateRate>30</updateRate>
<alwaysOn>True</alwaysOn>
<frameName>camera_optical_frame</frameName>
</ros>
</device>
<device reference="camera_depth" type="RangeFinder">
<ros>
<topicName>/camera/depth</topicName>
<updateRate>30</updateRate>
<alwaysOn>True</alwaysOn>
<frameName>camera_optical_frame</frameName>
</ros>
</device>
</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>
</xacro:if>
<xacro:unless value="$(arg simulate)">
<ros2_control name="iiwaFRIControl" type="system">
<hardware>
<plugin>iiwa_controller/IIWAHardwareInterface</plugin>
<param name="robot_ip">$(arg robot_ip)</param>
<param name="fri_port">$(arg fri_port)</param>
<param name="simulate">false</param>
<param name="command_mode">$(arg command_mode)</param>
<param name="joint_position_tau">$(arg joint_position_tau)</param>
<param name="joint_velocity_tau">$(arg joint_velocity_tau)</param>
</hardware>
<joint name="joint1">
<command_interface name="position">
<param name="min">-2.97</param>
<param name="max"> 2.97</param>
</command_interface>
<command_interface name="effort">
<param name="min">-200</param>
<param name="max"> 200</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>
<command_interface name="effort">
<param name="min">-200</param>
<param name="max"> 200</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>
<command_interface name="effort">
<param name="min">-200</param>
<param name="max"> 200</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>
<command_interface name="effort">
<param name="min">-200</param>
<param name="max"> 200</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>
<command_interface name="effort">
<param name="min">-200</param>
<param name="max"> 200</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>
<command_interface name="effort">
<param name="min">-200</param>
<param name="max"> 200</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>
<command_interface name="effort">
<param name="min">-200</param>
<param name="max"> 200</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>
</xacro:unless>
</robot>