Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<?xml version="1.0"?>

<robot xmlns:xacro="http://ros.org/wiki/xacro">

<xacro:macro name="load_robot" params="
parent
*origin
prefix
arm
gripper
gripper_joint_name
dof
vision
robot_ip
username
password
port
port_realtime
session_inactivity_timeout_ms
connection_inactivity_timeout_ms
use_internal_bus_gripper_comm:=false
use_fake_hardware:=false
fake_sensor_commands:=false
sim_gazebo:=false
sim_ignition:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
use_external_cable:=false
initial_positions:=${dict(joint_1=0.0,joint_2=0.0,joint_3=0.0,joint_4=0.0,joint_5=0.0,joint_6=0.0,joint_7=0.0)}
gripper_max_velocity:=100.0
gripper_max_force:=100.0
gripper_com_port:=/dev/ttyUSB0
moveit_active:=false">

<!-- Include and load arm macro files -->
<xacro:include filename="$(find kortex_description)/arms/${arm}/${dof}dof/urdf/${arm}_macro.xacro" />

<!-- Load the arm -->
<xacro:load_arm
parent="${parent}"
dof="${dof}"
vision="${vision}"
robot_ip="${robot_ip}"
username="${username}"
password="${password}"
port="${port}"
port_realtime="${port_realtime}"
session_inactivity_timeout_ms="${session_inactivity_timeout_ms}"
connection_inactivity_timeout_ms="${connection_inactivity_timeout_ms}"
prefix="${prefix}"
use_internal_bus_gripper_comm="${use_internal_bus_gripper_comm}"
use_fake_hardware="${use_fake_hardware}"
fake_sensor_commands="${fake_sensor_commands}"
sim_gazebo="${sim_gazebo}"
sim_ignition="${sim_ignition}"
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}"
gripper_joint_name="${gripper_joint_name}"
gripper_max_velocity="${gripper_max_velocity}"
gripper_max_force="${gripper_max_force}"
use_external_cable="${use_external_cable}"
initial_positions="${initial_positions}"
moveit_active="${moveit_active}">
<xacro:insert_block name="origin" />
</xacro:load_arm>

<!-- If no gripper, define tool frame here -->
<xacro:if value="${not gripper}">
<link name="${prefix}tool_frame"/>
<joint name="${prefix}tool_frame_joint" type="fixed">
<origin xyz="0 0 0" rpy="0 0 0" />
<parent link="${prefix}${last_arm_link}" />
<child link="${prefix}tool_frame" />
<axis xyz="0 0 0" />
</joint>
</xacro:if>

<!-- Include and load the gripper if defined -->
<xacro:unless value="${not gripper}">
<xacro:include filename="$(find kinova_gen3_base_config)/description/robotiq_2f_85_macro.xacro" />
<!-- last_arm_link is defined in "$(find kortex_description)/arms/${arm}/urdf/${arm}_macro.xacro" -->
<xacro:load_gripper
parent="${prefix}${last_arm_link}"
prefix="${prefix}"
use_fake_hardware="${use_fake_hardware}"
fake_sensor_commands="${fake_sensor_commands}"
sim_ignition="${sim_ignition}"
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}"
com_port="${gripper_com_port}"
use_internal_bus_gripper_comm="${use_internal_bus_gripper_comm}"
moveit_active="${moveit_active}"/>
</xacro:unless>

</xacro:macro>

</robot>
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
<xacro:arg name="wrist_realsense" default="true" />

<!-- Import macros for main hardware components -->
<xacro:include filename="$(find kortex_description)/robots/kortex_robot.xacro" />
<xacro:include filename="$(find kinova_gen3_base_config)/description/kortex_robot.xacro" />
<xacro:include filename="$(find picknik_accessories)/descriptions/sensors/realsense_d415.urdf.xacro"/>

<!-- Import environment macros -->
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0"?>
<robot name="robotiq_2f_85_model" xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:macro name="load_gripper" params="
parent
prefix
use_fake_hardware:=false
fake_sensor_commands:=false
sim_ignition:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
use_internal_bus_gripper_comm:=false
com_port:=/dev/ttyUSB0
moveit_active:=false">
<xacro:include filename="$(find robotiq_description)/urdf/robotiq_2f_85_macro.urdf.xacro" />

<!-- Hardware talks directly to the gripper so we don't need ros2_control unless we are simulating -->
<xacro:property name="include_ros2_control" value="false"/>
<xacro:if value="${sim_ignition or sim_isaac or use_fake_hardware or not use_internal_bus_gripper_comm}">
<xacro:property name="include_ros2_control" value="true"/>
</xacro:if>

<xacro:robotiq_gripper
name="RobotiqGripperHardwareInterface"
prefix="${prefix}"
parent="${parent}"
include_ros2_control="${include_ros2_control}"
com_port="${com_port}"
use_fake_hardware="${use_fake_hardware}"
mock_sensor_commands="${fake_sensor_commands}"
sim_ignition="${sim_ignition}"
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}">
<origin xyz="0 0 0" rpy="0 0 0" />
</xacro:robotiq_gripper>
</xacro:macro>
</robot>
Loading