添加机械臂和移液站

This commit is contained in:
zhangshixiang
2025-07-19 16:09:56 +08:00
parent ae712e35ab
commit 9f652fa78a
150 changed files with 9911 additions and 652 deletions

View File

@@ -1,9 +0,0 @@
# Default initial positions for full_dev's ros2_control fake system
initial_positions:
arm_base_joint: 0
arm_link_1_joint: 0
arm_link_2_joint: 0
arm_link_3_joint: 0
gripper_base_joint: 0
gripper_right_joint: 0.03

View File

@@ -1,40 +0,0 @@
# joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed
# For beginners, we downscale velocity and acceleration limits.
# You can always specify higher scaling factors (<= 1.0) in your motion requests. # Increase the values below to 1.0 to always move at maximum speed.
default_velocity_scaling_factor: 0.1
default_acceleration_scaling_factor: 0.1
# Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration]
# Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits]
joint_limits:
arm_base_joint:
has_velocity_limits: true
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
arm_link_1_joint:
has_velocity_limits: true
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
arm_link_2_joint:
has_velocity_limits: true
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
arm_link_3_joint:
has_velocity_limits: true
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
gripper_base_joint:
has_velocity_limits: true
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
gripper_right_joint:
has_velocity_limits: true
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0

View File

@@ -1,4 +0,0 @@
arm:
kinematics_solver: lma_kinematics_plugin/LMAKinematicsPlugin
kinematics_solver_search_resolution: 0.0050000000000000001
kinematics_solver_timeout: 0.0050000000000000001

View File

@@ -1,56 +0,0 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:macro name="benyao_arm_ros2_control" params="device_name mesh_path">
<xacro:property name="initial_positions" value="${load_yaml(mesh_path + '/devices/benyao_arm/config/initial_positions.yaml')['initial_positions']}"/>
<ros2_control name="${device_name}benyao_arm" type="system">
<hardware>
<!-- By default, set up controllers for simulation. This won't work on real hardware -->
<plugin>mock_components/GenericSystem</plugin>
</hardware>
<joint name="${device_name}arm_base_joint">
<command_interface name="position"/>
<state_interface name="position">
<param name="initial_value">${initial_positions['arm_base_joint']}</param>
</state_interface>
<state_interface name="velocity"/>
</joint>
<joint name="${device_name}arm_link_1_joint">
<command_interface name="position"/>
<state_interface name="position">
<param name="initial_value">${initial_positions['arm_link_1_joint']}</param>
</state_interface>
<state_interface name="velocity"/>
</joint>
<joint name="${device_name}arm_link_2_joint">
<command_interface name="position"/>
<state_interface name="position">
<param name="initial_value">${initial_positions['arm_link_2_joint']}</param>
</state_interface>
<state_interface name="velocity"/>
</joint>
<joint name="${device_name}arm_link_3_joint">
<command_interface name="position"/>
<state_interface name="position">
<param name="initial_value">${initial_positions['arm_link_3_joint']}</param>
</state_interface>
<state_interface name="velocity"/>
</joint>
<joint name="${device_name}gripper_base_joint">
<command_interface name="position"/>
<state_interface name="position">
<param name="initial_value">${initial_positions['gripper_base_joint']}</param>
</state_interface>
<state_interface name="velocity"/>
</joint>
<joint name="${device_name}gripper_right_joint">
<command_interface name="position"/>
<state_interface name="position">
<param name="initial_value">${initial_positions['gripper_right_joint']}</param>
</state_interface>
<state_interface name="velocity"/>
</joint>
</ros2_control>
</xacro:macro>
</robot>

View File

@@ -1,46 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--This does not replace URDF, and is not an extension of URDF.
This is a format for representing semantic information about the robot structure.
A URDF file must exist for this robot as well, where the joints and the links that are referenced are defined
-->
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:macro name="benyao_arm_srdf" params="device_name">
<!--GROUPS: Representation of a set of joints and links. This can be useful for specifying DOF to plan for, defining arms, end effectors, etc-->
<!--LINKS: When a link is specified, the parent joint of that link (if it exists) is automatically included-->
<!--JOINTS: When a joint is specified, the child link of that joint (which will always exist) is automatically included-->
<!--CHAINS: When a chain is specified, all the links along the chain (including endpoints) are included in the group. Additionally, all the joints that are parents to included links are also included. This means that joints along the chain and the parent joint of the base link are included in the group-->
<!--SUBGROUPS: Groups can also be formed by referencing to already defined group names-->
<group name="${device_name}arm">
<chain base_link="${device_name}arm_slideway" tip_link="${device_name}gripper_base"/>
</group>
<group name="${device_name}arm_gripper">
<joint name="${device_name}gripper_right_joint"/>
</group>
<!--DISABLE COLLISIONS: By default it is assumed that any link of the robot could potentially come into collision with any other link in the robot. This tag disables collision checking between a specified pair of links. -->
<disable_collisions link1="${device_name}arm_base" link2="${device_name}arm_link_2" reason="Adjacent"/>
<disable_collisions link1="${device_name}arm_base" link2="${device_name}arm_link_1" reason="Adjacent"/>
<disable_collisions link1="${device_name}arm_base" link2="${device_name}arm_link_3" reason="Never"/>
<disable_collisions link1="${device_name}arm_base" link2="${device_name}arm_slideway" reason="Adjacent"/>
<disable_collisions link1="${device_name}arm_link_1" link2="${device_name}arm_link_2" reason="Adjacent"/>
<disable_collisions link1="${device_name}arm_link_1" link2="${device_name}arm_link_3" reason="Never"/>
<disable_collisions link1="${device_name}arm_link_1" link2="${device_name}arm_slideway" reason="Never"/>
<disable_collisions link1="${device_name}arm_link_1" link2="${device_name}gripper_base" reason="Never"/>
<disable_collisions link1="${device_name}arm_link_1" link2="${device_name}gripper_left" reason="Never"/>
<disable_collisions link1="${device_name}arm_link_1" link2="${device_name}gripper_right" reason="Never"/>
<disable_collisions link1="${device_name}arm_link_2" link2="${device_name}arm_link_3" reason="Adjacent"/>
<disable_collisions link1="${device_name}arm_link_2" link2="${device_name}arm_slideway" reason="Never"/>
<disable_collisions link1="${device_name}arm_link_2" link2="${device_name}gripper_base" reason="Never"/>
<disable_collisions link1="${device_name}arm_link_2" link2="${device_name}gripper_left" reason="Never"/>
<disable_collisions link1="${device_name}arm_link_2" link2="${device_name}gripper_right" reason="Never"/>
<disable_collisions link1="${device_name}arm_link_3" link2="${device_name}arm_slideway" reason="Never"/>
<disable_collisions link1="${device_name}arm_link_3" link2="${device_name}gripper_base" reason="Adjacent"/>
<disable_collisions link1="${device_name}arm_link_3" link2="${device_name}gripper_left" reason="Never"/>
<disable_collisions link1="${device_name}arm_link_3" link2="${device_name}gripper_right" reason="Never"/>
<disable_collisions link1="${device_name}arm_slideway" link2="${device_name}gripper_base" reason="Never"/>
<disable_collisions link1="${device_name}arm_slideway" link2="${device_name}gripper_left" reason="Never"/>
<disable_collisions link1="${device_name}arm_slideway" link2="${device_name}gripper_right" reason="Never"/>
<disable_collisions link1="${device_name}gripper_base" link2="${device_name}gripper_left" reason="Adjacent"/>
<disable_collisions link1="${device_name}gripper_base" link2="${device_name}gripper_right" reason="Adjacent"/>
<disable_collisions link1="${device_name}gripper_left" link2="${device_name}gripper_right" reason="Never"/>
</xacro:macro>
</robot>

View File

@@ -1,14 +0,0 @@
{
"arm":
{
"joint_names": [
"arm_base_joint",
"arm_link_1_joint",
"arm_link_2_joint",
"arm_link_3_joint",
"gripper_base_joint"
],
"base_link_name": "device_link",
"end_effector_name": "gripper_base"
}
}

View File

@@ -1,29 +0,0 @@
# MoveIt uses this configuration for controller management
moveit_controller_manager: moveit_simple_controller_manager/MoveItSimpleControllerManager
moveit_simple_controller_manager:
controller_names:
- arm_controller
- gripper_controller
arm_controller:
type: FollowJointTrajectory
action_ns: follow_joint_trajectory
default: true
joints:
- arm_base_joint
- arm_link_1_joint
- arm_link_2_joint
- arm_link_3_joint
- gripper_base_joint
action_ns: follow_joint_trajectory
default: true
gripper_controller:
type: FollowJointTrajectory
action_ns: follow_joint_trajectory
default: true
joints:
- gripper_right_joint
action_ns: follow_joint_trajectory
default: true

View File

@@ -1,2 +0,0 @@
planner_configs:
- ompl_interface/OMPLPlanner

View File

@@ -1,6 +0,0 @@
# Limits for the Pilz planner
cartesian_limits:
max_trans_vel: 1.0
max_trans_acc: 2.25
max_trans_dec: -5.0
max_rot_vel: 1.57

View File

@@ -1,39 +0,0 @@
# This config file is used by ros2_control
controller_manager:
ros__parameters:
update_rate: 100 # Hz
arm_controller:
type: joint_trajectory_controller/JointTrajectoryController
gripper_controller:
type: joint_trajectory_controller/JointTrajectoryController
joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster
arm_controller:
ros__parameters:
joints:
- arm_base_joint
- arm_link_1_joint
- arm_link_2_joint
- arm_link_3_joint
- gripper_base_joint
command_interfaces:
- position
state_interfaces:
- position
- velocity
gripper_controller:
ros__parameters:
joints:
- gripper_right_joint
command_interfaces:
- position
state_interfaces:
- position
- velocity

View File

@@ -1,44 +0,0 @@
joint_limits:
arm_base_joint:
effort: 50
velocity: 1.0
lower: 0
upper: 1.5
arm_link_1_joint:
effort: 50
velocity: 1.0
lower: 0
upper: 0.6
arm_link_2_joint:
effort: 50
velocity: 1.0
lower: !degrees -95
upper: !degrees 95
arm_link_3_joint:
effort: 50
velocity: 1.0
lower: !degrees -195
upper: !degrees 195
gripper_base_joint:
effort: 50
velocity: 1.0
lower: !degrees -95
upper: !degrees 95
gripper_right_joint:
effort: 50
velocity: 1.0
lower: 0
upper: 0.03
gripper_left_joint:
effort: 50
velocity: 1.0
lower: 0
upper: 0.03

View File

@@ -1,293 +0,0 @@
<?xml version="1.0" ?>
<robot xmlns:xacro="http://ros.org/wiki/xacro" name="benyao_arm">
<xacro:macro name="benyao_arm" params="mesh_path:='' parent_link:='' station_name:='' device_name:='' x:=0 y:=0 z:=0 rx:=0 ry:=0 r:=0">
<!-- Read .yaml files from disk, load content into properties -->
<xacro:property name= "joint_limit_parameters" value="${xacro.load_yaml(mesh_path + '/devices/benyao_arm/joint_limit.yaml')}"/>
<!-- Extract subsections from yaml dictionaries -->
<xacro:property name= "sec_limits" value="${joint_limit_parameters['joint_limits']}"/>
<joint name="${station_name}${device_name}base_link_joint" type="fixed">
<origin xyz="${x} ${y} ${z}" rpy="${rx} ${ry} ${r}" />
<parent link="${parent_link}"/>
<child link="${station_name}${device_name}device_link"/>
<axis xyz="0 0 0"/>
</joint>
<link name="${station_name}${device_name}device_link"/>
<joint name="${station_name}${device_name}device_link_joint" type="fixed">
<origin xyz="0 0 0" rpy="0 0 0" />
<parent link="${station_name}${device_name}device_link"/>
<child link="${station_name}${device_name}arm_slideway"/>
<axis xyz="0 0 0"/>
</joint>
<!-- JOINTS LIMIT PARAMETERS -->
<xacro:property name="limit_arm_base_joint" value="${sec_limits['arm_base_joint']}" />
<xacro:property name="limit_arm_link_1_joint" value="${sec_limits['arm_link_1_joint']}" />
<xacro:property name="limit_arm_link_2_joint" value="${sec_limits['arm_link_2_joint']}" />
<xacro:property name="limit_arm_link_3_joint" value="${sec_limits['arm_link_3_joint']}" />
<xacro:property name="limit_gripper_base_joint" value="${sec_limits['gripper_base_joint']}" />
<xacro:property name="limit_gripper_right_joint" value="${sec_limits['gripper_right_joint']}"/>
<xacro:property name="limit_gripper_left_joint" value="${sec_limits['gripper_left_joint']}" />
<link name="${station_name}${device_name}arm_slideway">
<inertial>
<origin rpy="0 0 0" xyz="-0.913122246354019 -0.00141851388483838 0.0416079172839272"/>
<mass value="13.6578107753627"/>
<inertia ixx="0.0507627640890578" ixy="0.0245166532634714" ixz="-0.0112656803168519" iyy="5.2550852314372" iyz="0.000302974193920367" izz="5.26892263696439"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/arm_slideway.STL"/>
</geometry>
<material name="">
<color rgba="0.752941176470588 0.752941176470588 0.752941176470588 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/arm_slideway.STL"/>
</geometry>
</collision>
</link>
<joint name="${station_name}${device_name}arm_base_joint" type="prismatic">
<origin rpy="0 0 0" xyz="0.307 0 0.1225"/>
<parent link="${station_name}${device_name}arm_slideway"/>
<child link="${station_name}${device_name}arm_base"/>
<axis xyz="1 0 0"/>
<limit
effort="${limit_arm_base_joint['effort']}"
lower="${limit_arm_base_joint['lower']}"
upper="${limit_arm_base_joint['upper']}"
velocity="${limit_arm_base_joint['velocity']}"/>
</joint>
<link name="${station_name}${device_name}arm_base">
<inertial>
<origin rpy="0 0 0" xyz="1.48458338655733E-06 -0.00831873687136486 0.351728466012153"/>
<mass value="16.1341586205194"/>
<inertia ixx="0.54871651759045" ixy="7.65476367433116E-07" ixz="2.0515139488158E-07" iyy="0.55113098995396" iyz="-5.13261457726806E-07" izz="0.0619081867727048"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/arm_base.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/arm_base.STL"/>
</geometry>
</collision>
</link>
<link name="${station_name}${device_name}arm_link_1">
<inertial>
<origin rpy="0 0 0" xyz="0 -0.0102223856758559 0.0348505130779933"/>
<mass value="0.828629227096429"/>
<inertia ixx="0.00119703598787112" ixy="-2.46083048832131E-19" ixz="1.43864352731199E-19" iyy="0.00108355785790042" iyz="1.88092240278693E-06" izz="0.00160914803816438"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/arm_link_1.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/arm_link_1.STL"/>
</geometry>
</collision>
</link>
<joint name="${station_name}${device_name}arm_link_1_joint" type="prismatic">
<origin rpy="0 0 0" xyz="0 0.1249 0.15"/>
<parent link="${station_name}${device_name}arm_base"/>
<child link="${station_name}${device_name}arm_link_1"/>
<axis xyz="0 0 1"/>
<limit
effort="${limit_arm_link_1_joint['effort']}"
lower="${limit_arm_link_1_joint['lower']}"
upper="${limit_arm_link_1_joint['upper']}"
velocity="${limit_arm_link_1_joint['velocity']}"/>
</joint>
<link name="${station_name}${device_name}arm_link_2">
<inertial>
<origin rpy="0 0 0" xyz="-3.33066907387547E-16 0.100000000000003 -0.0325000000000004"/>
<mass value="2.04764861029349"/>
<inertia ixx="0.0150150059448827" ixy="-1.28113733272213E-17" ixz="6.7561418872754E-19" iyy="0.00262980501315445" iyz="7.44451536320152E-18" izz="0.0162030186138787"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/arm_link_2.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/arm_link_2.STL"/>
</geometry>
</collision>
</link>
<joint name="${station_name}${device_name}arm_link_2_joint" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0"/>
<parent link="${station_name}${device_name}arm_link_1"/>
<child link="${station_name}${device_name}arm_link_2"/>
<axis xyz="0 0 1"/>
<limit
effort="${limit_arm_link_2_joint['effort']}"
lower="${limit_arm_link_2_joint['lower']}"
upper="${limit_arm_link_2_joint['upper']}"
velocity="${limit_arm_link_2_joint['velocity']}"/>
</joint>
<link name="${station_name}${device_name}arm_link_3">
<inertial>
<origin rpy="0 0 0" xyz="4.77395900588817E-15 0.0861257730831348 -0.0227999999999999"/>
<mass value="1.19870202871083"/>
<inertia ixx="0.00780783223764428" ixy="7.26567379579506E-18" ixz="1.02766851352053E-18" iyy="0.00109642607170081" iyz="-9.73775385060067E-18" izz="0.0084997384510058"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/arm_link_3.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/arm_link_3.STL"/>
</geometry>
</collision>
</link>
<joint name="${station_name}${device_name}arm_link_3_joint" type="revolute">
<origin rpy="0 0 0" xyz="0 0.2 -0.0647"/>
<parent link="${station_name}${device_name}arm_link_2"/>
<child link="${station_name}${device_name}arm_link_3"/>
<axis xyz="0 0 1"/>
<limit
effort="${limit_arm_link_3_joint['effort']}"
lower="${limit_arm_link_3_joint['lower']}"
upper="${limit_arm_link_3_joint['upper']}"
velocity="${limit_arm_link_3_joint['velocity']}"/>
</joint>
<link name="${station_name}${device_name}gripper_base">
<inertial>
<origin rpy="0 0 0" xyz="-6.05365748571618E-05 0.0373027483464434 -0.0264392017534612"/>
<mass value="0.511925198394943"/>
<inertia ixx="0.000640463815051467" ixy="1.08132229596356E-06" ixz="7.165124649009E-07" iyy="0.000552164156414554" iyz="9.80000237347941E-06" izz="0.00103553457812823"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/gripper_base.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/gripper_base.STL"/>
</geometry>
</collision>
</link>
<joint name="${station_name}${device_name}gripper_base_joint" type="revolute">
<origin rpy="0 0 0" xyz="0 0.2 -0.045"/>
<parent link="${station_name}${device_name}arm_link_3"/>
<child link="${station_name}${device_name}gripper_base"/>
<axis xyz="0 0 1"/>
<limit
effort="${limit_gripper_base_joint['effort']}"
lower="${limit_gripper_base_joint['lower']}"
upper="${limit_gripper_base_joint['upper']}"
velocity="${limit_gripper_base_joint['velocity']}"/>
</joint>
<link name="${station_name}${device_name}gripper_right">
<inertial>
<origin rpy="0 0 0" xyz="0.0340005471193899 0.0339655085140826 -0.0325252119823062"/>
<mass value="0.013337481136229"/>
<inertia ixx="2.02427962974094E-05" ixy="1.78442722292145E-06" ixz="-4.36485961300289E-07" iyy="1.4816483393622E-06" iyz="2.60539468115799E-06" izz="1.96629693098755E-05"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/gripper_right.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/gripper_right.STL"/>
</geometry>
</collision>
</link>
<joint name="${station_name}${device_name}gripper_right_joint" type="prismatic">
<origin rpy="0 0 0" xyz="0 0.0942 -0.022277"/>
<parent link="${station_name}${device_name}gripper_base"/>
<child link="${station_name}${device_name}gripper_right"/>
<axis xyz="1 0 0"/>
<limit
effort="${limit_gripper_right_joint['effort']}"
lower="${limit_gripper_right_joint['lower']}"
upper="${limit_gripper_right_joint['upper']}"
velocity="${limit_gripper_right_joint['velocity']}"/>
</joint>
<link name="${station_name}${device_name}gripper_left">
<inertial>
<origin rpy="0 3.1416 0" xyz="-0.0340005471193521 0.0339655081029604 -0.0325252119827364"/>
<mass value="0.0133374811362292"/>
<inertia ixx="2.02427962974094E-05" ixy="-1.78442720812615E-06" ixz="4.36485961300305E-07" iyy="1.48164833936224E-06" iyz="2.6053946859901E-06" izz="1.96629693098755E-05"/>
</inertial>
<visual>
<origin rpy="0 3.1416 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/gripper_left.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin rpy="0 3.1416 0" xyz="0 0 0"/>
<geometry>
<mesh filename="file://${mesh_path}/devices/benyao_arm/meshes/gripper_left.STL"/>
</geometry>
</collision>
</link>
<joint name="${station_name}${device_name}gripper_left_joint" type="prismatic">
<origin rpy="0 3.1416 0" xyz="0 0.0942 -0.022277"/>
<parent link="${station_name}${device_name}gripper_base"/>
<child link="${station_name}${device_name}gripper_left"/>
<axis xyz="1 0 0"/>
<limit
effort="${limit_gripper_left_joint['effort']}"
lower="${limit_gripper_left_joint['lower']}"
upper="${limit_gripper_left_joint['upper']}"
velocity="${limit_gripper_left_joint['velocity']}"/>
<mimic joint="${station_name}${device_name}gripper_right_joint" multiplier="1" />
</joint>
</xacro:macro>
</robot>

View File

@@ -0,0 +1,43 @@
kinematics:
shoulder:
x: 0
y: 0
z: 0.1930
roll: 0
pitch: 0
yaw: 0
upperarm:
x: 0
y: 0
z: 0
roll: 1.570796326589793
pitch: 0
yaw: 0
forearm:
x: -0.6150
y: 0
z: 0
roll: 0
pitch: 0
yaw: 0
wrist_1:
x: -0.5710
y: 0
z: 0.1775
roll: 0
pitch: 0
yaw: 0
wrist_2:
x: 0
y: -0.1180
z: 0
roll: 1.570796326589793
pitch: 0
yaw: 0
wrist_3:
x: 0
y: 0.1103
z: 0
roll: -1.570796326589793
pitch: 0
yaw: 0

View File

@@ -0,0 +1,61 @@
joint_limits:
shoulder_pan_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 330.0
max_position: !degrees 360.0
max_velocity: !degrees 120.0
min_position: !degrees -360.0
shoulder_lift_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 330.0
max_position: !degrees 360.0
max_velocity: !degrees 120.0
min_position: !degrees -360.0
elbow_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 150.0
max_position: !degrees 180.0
max_velocity: !degrees 180.0
min_position: !degrees -180.0
wrist_1_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 56.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0
wrist_2_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 56.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0
wrist_3_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 56.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0

View File

@@ -0,0 +1,99 @@
# Physical parameters
dh_parameters:
d1: 0.1930
a2: -0.6150
a3: -0.5710
d4: 0.1775
d5: 0.1180
d6: 0.1103
inertia_parameters:
base_mass: 0.94888 # base mass, base inertia, base cog might be incorrect
shoulder_mass: 6.83
upperarm_mass: 13.037
forearm_mass: 4.827
wrist_1_mass: 2.315
wrist_2_mass: 2.195
wrist_3_mass: 0.616
inertia:
base:
ixx: 0.0029607
ixy: -1.019E-06
ixz: 5.2685E-06
iyy: 0.0026222
iyz: -2.8951E-06
izz: 0.0039906
shoulder:
ixx: 0.039228
ixy: -2.8388E-05
ixz: 3.9289E-05
iyy: 0.025078
iyz: -0.00028825
izz: 0.037499
upperarm:
ixx: 0.3734
ixy: -5.985E-05
ixz: -0.5014
iyy: 2.0187
iyz: -0.00013287
izz: 1.681
forearm:
ixx: 0.030106
ixy: -1.25E-05
ixz: -0.076554
iyy: 0.76404
iyz: 1.326E-06
izz: 0.7421
wrist_1:
ixx: 0.0060891
ixy: 1.219E-06
ixz: -4.067E-06
iyy: 0.0049703
iyz: -1.2747E-05
izz: 0.0033067
wrist_2:
ixx: 0.004638045
ixy: 1.311E-06
ixz: 3.829E-06
iyy: 0.003507337
iyz: 1.4183E-05
izz: 0.003129668
wrist_3:
ixx: 0.0016942
ixy: 1.27E-07
ixz: 1.9782E-05
iyy: 0.0017123
iyz: 7.7E-06
izz: 0.0005701
center_of_mass:
base_cog:
x: 5.6715E-05
y: -0.00010524
z: 0.065979
shoulder_cog:
x: 9.3E-05
y: -0.02697
z: -0.02115
upperarm_cog:
x: -0.2304
y: -3.9E-05
z: 0.16068
forearm_cog:
x: -0.2998
y: 1.3E-05
z: 0.06176
wrist_1_cog:
x: 1.0E-05
y: -0.0148
z: -0.01682
wrist_2_cog:
x: -1.3E-05
y: 0.015559
z: -0.011803
wrist_3_cog:
x: -0.001704
y: -0.000705
z: -0.039231

View File

@@ -0,0 +1,92 @@
mesh_files:
base:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/visual/base.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/collision/base.stl
shoulder:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/visual/shoulder.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/collision/shoulder.stl
upperarm:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/visual/upperarm.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/collision/upperarm.stl
mesh_files:
forearm:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/visual/forearm.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/collision/forearm.stl
wrist_1:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/visual/wrist1.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/collision/wrist1.stl
wrist_2:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/visual/wrist2.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/collision/wrist2.stl
wrist_3:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/visual/wrist3.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs612/collision/wrist3.stl

View File

@@ -0,0 +1,43 @@
kinematics:
shoulder:
x: 0
y: 0
z: 0.1930
roll: 0
pitch: 0
yaw: 0
upperarm:
x: 0
y: 0
z: 0
roll: 1.570796326589793
pitch: 0
yaw: 0
forearm:
x: -0.5520
y: 0
z: 0
roll: 0
pitch: 0
yaw: 0
wrist_1:
x: -0.4300
y: 0
z: 0.1775
roll: 0
pitch: 0
yaw: 0
wrist_2:
x: 0
y: -0.1180
z: 0
roll: 1.570796326589793
pitch: 0
yaw: 0
wrist_3:
x: 0
y: 0.1103
z: 0
roll: -1.570796326589793
pitch: 0
yaw: 0

View File

@@ -0,0 +1,61 @@
joint_limits:
shoulder_pan_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 330.0
max_position: !degrees 360.0
max_velocity: !degrees 120.0
min_position: !degrees -360.0
shoulder_lift_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 330.0
max_position: !degrees 360.0
max_velocity: !degrees 120.0
min_position: !degrees -360.0
elbow_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 150.0
max_position: !degrees 180.0
max_velocity: !degrees 180.0
min_position: !degrees -180.0
wrist_1_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 56.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0
wrist_2_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 56.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0
wrist_3_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 56.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0

View File

@@ -0,0 +1,99 @@
# Physical parameters
dh_parameters:
d1: 0.1930
a2: -0.5520
a3: -0.4300
d4: 0.1775
d5: 0.1180
d6: 0.1103
inertia_parameters:
base_mass: 0.94888 # base mass, base inertia, base cog might be incorrect
shoulder_mass: 6.83
upperarm_mass: 13.00
forearm_mass: 4.700
wrist_1_mass: 2.315
wrist_2_mass: 2.195
wrist_3_mass: 0.616
inertia:
base:
ixx: 0.0029607
ixy: -1.019E-06
ixz: 5.2685E-06
iyy: 0.0026222
iyz: -2.8951E-06
izz: 0.0039906
shoulder:
ixx: 0.039229834
ixy: -2.8388E-05
ixz: 3.9289E-05
iyy: 0.025077817
iyz: -0.000288247
izz: 0.03749924
upperarm:
ixx: 0.373432462
ixy: -5.5512E-05
ixz: -0.451785393
iyy: 1.696418762
iyz: -0.000133438
izz: 1.358657204
forearm:
ixx: 0.030213183
ixy: -8.368E-06
ixz: -0.056600087
iyy: 0.434775735
iyz: 1.585E-06
izz: 0.412836422
wrist_1:
ixx: 0.006091086
ixy: 1.256E-06
ixz: -4.067E-06
iyy: 0.004972529
iyz: -1.2709E-05
izz: 0.003307235
wrist_2:
ixx: 0.004639166
ixy: 1.311E-06
ixz: 3.829E-06
iyy: 0.003508643
iyz: 1.4183E-05
izz: 0.003130199
wrist_3:
ixx: 0.001695059
ixy: 1.27E-07
ixz: 1.9782E-05
iyy: 0.001713327
iyz: 7.7E-06
izz: 0.000570629
center_of_mass:
base_cog:
x: 5.6715E-05
y: -0.00010524
z: 0.065979
shoulder_cog:
x: 9.3E-05
y: -0.02697
z: -0.02115
upperarm_cog:
x: -0.2069
y: -4.4E-05
z: 0.16068
forearm_cog:
x: -0.2303
y: 1.5E-05
z: 0.06220
wrist_1_cog:
x: 1.0E-05
y: -0.0148
z: -0.01682
wrist_2_cog:
x: -1.3E-05
y: 0.015559
z: -0.011803
wrist_3_cog:
x: -0.001704
y: -0.000705
z: -0.039231

View File

@@ -0,0 +1,92 @@
mesh_files:
base:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/visual/base.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/collision/base.stl
shoulder:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/visual/shoulder.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/collision/shoulder.stl
upperarm:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/visual/upperarm.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/collision/upperarm.stl
mesh_files:
forearm:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/visual/forearm.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/collision/forearm.stl
wrist_1:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/visual/wrist1.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/collision/wrist1.stl
wrist_2:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/visual/wrist2.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/collision/wrist2.stl
wrist_3:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/visual/wrist3.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs616/collision/wrist3.stl

View File

@@ -0,0 +1,43 @@
kinematics:
shoulder:
x: 0
y: 0
z: 0.2350
roll: 0
pitch: 0
yaw: 0
upperarm:
x: 0
y: 0
z: 0
roll: 1.570796326589793
pitch: 0
yaw: 0
forearm:
x: -0.9000
y: 0
z: 0
roll: 0
pitch: 0
yaw: 0
wrist_1:
x: -0.7720
y: 0
z: 0.1725
roll: 0
pitch: 0
yaw: 0
wrist_2:
x: 0
y: -0.1280
z: 0
roll: 1.570796326589793
pitch: 0
yaw: 0
wrist_3:
x: 0
y: 0.1250
z: 0
roll: -1.570796326589793
pitch: 0
yaw: 0

View File

@@ -0,0 +1,61 @@
joint_limits:
shoulder_pan_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 730.0
max_position: !degrees 360.0
max_velocity: !degrees 120.0
min_position: !degrees -360.0
shoulder_lift_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 730.0
max_position: !degrees 360.0
max_velocity: !degrees 120.0
min_position: !degrees -360.0
elbow_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 430.0
max_position: !degrees 180.0
max_velocity: !degrees 150.0
min_position: !degrees -180.0
wrist_1_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 100.0
max_position: !degrees 360.0
max_velocity: !degrees 210.0
min_position: !degrees -360.0
wrist_2_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 100.0
max_position: !degrees 360.0
max_velocity: !degrees 210.0
min_position: !degrees -360.0
wrist_3_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 100.0
max_position: !degrees 360.0
max_velocity: !degrees 210.0
min_position: !degrees -360.0

View File

@@ -0,0 +1,99 @@
# Physical parameters
dh_parameters:
d1: 0.2350
a2: -0.9000
a3: -0.7720
d4: 0.1725
d5: 0.1280
d6: 0.1250
inertia_parameters:
base_mass: 1.5056 # base mass, base inertia, base cog might be incorrect
shoulder_mass: 17.04
upperarm_mass: 26.927
forearm_mass: 8.386
wrist_1_mass: 3.095
wrist_2_mass: 3.095
wrist_3_mass: 0.879
inertia:
base:
ixx: 0.0067829
ixy: 2.6762E-07
ixz: -2.569E-06
iyy: 0.0068523
iyz: 9.4263E-05
izz: 0.010044
shoulder:
ixx: 0.130294671
ixy: -8.271E-05
ixz: 0.000106701
iyy: 0.085215288
iyz: -0.000663345
izz: 0.113859158
upperarm:
ixx: 1.204318595
ixy: -0.000466936
ixz: -1.78878432
iyy: 8.073725654
iyz: -0.000305158
izz: 6.980457042
forearm:
ixx: 0.070042956
ixy: 9.0183E-05
ixz: -0.165661846
iyy: 2.160436707
iyz: 1.3854E-05
izz: 2.109199584
wrist_1:
ixx: 0.007958413
ixy: -3.024E-06
ixz: -5.734E-06
iyy: 0.006686348
iyz: -1.766E-05
izz: 0.004840671
wrist_2:
ixx: 0.007958413
ixy: -3.024E-06
ixz: 5.734E-06
iyy: 0.006686348
iyz: 1.766E-05
izz: 0.004840671
wrist_3:
ixx: 0.004065851
ixy: 1.5185E-05
ixz: -1.1453E-05
iyy: 0.004060372
iyz: 4.2152E-05
izz: 0.001170392
center_of_mass:
base_cog:
x: -2.4009E-05
y: 0.0011775
z: 0.076293
shoulder_cog:
x: 9.9E-05
y: -0.026311
z: -0.026723
upperarm_cog:
x: -0.323686
y: -3.9E-05
z: 0.200968
forearm_cog:
x: -0.376841
y: 1.5E-05
z: 0.070311
wrist_1_cog:
x: -3.7E-05
y: -0.01051
z: -0.014865
wrist_2_cog:
x: 3.7E-05
y: 0.01051
z: -0.014865
wrist_3_cog:
x: 0.000242
y: -0.001192
z: -0.050422

View File

@@ -0,0 +1,92 @@
mesh_files:
base:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/visual/base.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/collision/base.stl
shoulder:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/visual/shoulder.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/collision/shoulder.stl
upperarm:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/visual/upperarm.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/collision/upperarm.stl
mesh_files:
forearm:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/visual/forearm.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/collision/forearm.stl
wrist_1:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/visual/wrist1.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/collision/wrist1.stl
wrist_2:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/visual/wrist2.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/collision/wrist2.stl
wrist_3:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/visual/wrist3.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs620/collision/wrist3.stl

View File

@@ -0,0 +1,43 @@
kinematics:
shoulder:
x: 0
y: 0
z: 0.2350
roll: 0
pitch: 0
yaw: 0
upperarm:
x: 0
y: 0
z: 0
roll: 1.570796326589793
pitch: 0
yaw: 0
forearm:
x: -0.7500
y: 0
z: 0
roll: 0
pitch: 0
yaw: 0
wrist_1:
x: -0.6220
y: 0
z: 0.1725
roll: 0
pitch: 0
yaw: 0
wrist_2:
x: 0
y: -0.1280
z: 0
roll: 1.570796326589793
pitch: 0
yaw: 0
wrist_3:
x: 0
y: 0.1250
z: 0
roll: -1.570796326589793
pitch: 0
yaw: 0

View File

@@ -0,0 +1,61 @@
joint_limits:
shoulder_pan_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 730.0
max_position: !degrees 360.0
max_velocity: !degrees 120.0
min_position: !degrees -360.0
shoulder_lift_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 730.0
max_position: !degrees 360.0
max_velocity: !degrees 120.0
min_position: !degrees -360.0
elbow_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 430.0
max_position: !degrees 180.0
max_velocity: !degrees 150.0
min_position: !degrees -180.0
wrist_1_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 100.0
max_position: !degrees 360.0
max_velocity: !degrees 210.0
min_position: !degrees -360.0
wrist_2_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 100.0
max_position: !degrees 360.0
max_velocity: !degrees 210.0
min_position: !degrees -360.0
wrist_3_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 100.0
max_position: !degrees 360.0
max_velocity: !degrees 210.0
min_position: !degrees -360.0

View File

@@ -0,0 +1,99 @@
# Physical parameters
dh_parameters:
d1: 0.2350
a2: -0.7500
a3: -0.6220
d4: 0.1725
d5: 0.1280
d6: 0.1250
inertia_parameters:
base_mass: 1.50561968754018 # base mass, base inertia, base cog might be incorrect
shoulder_mass: 17.04
upperarm_mass: 26.543
forearm_mass: 7.816
wrist_1_mass: 3.095
wrist_2_mass: 3.095
wrist_3_mass: 0.879
inertia:
base:
ixx: 0.00678289120631133
ixy: 2.67618063769984E-07
ixz: -2.56895564177072E-06
iyy: 0.00685230321535615
iyz: 9.42628790478668E-05
izz: 0.0100437671447022
shoulder:
ixx: 0.13029
ixy: -8.271E-05
ixz: 0.0001067
iyy: 0.085215
iyz: -0.00066335
izz: 0.11386
upperarm:
ixx: 1.197
ixy: -0.00083272
ixz: -1.5396
iyy: 6.1117
iyz: -0.00015496
izz: 5.022
forearm:
ixx: 0.067797
ixy: 4.4997E-05
ixz: -0.12636
iyy: 1.3409
iyz: 1.45E-05
izz: 1.2908
wrist_1:
ixx: 0.0079584
ixy: -3.024E-06
ixz: 5.734E-06
iyy: 0.0066863
iyz: 1.766E-05
izz: 0.0048407
wrist_2:
ixx: 0.007958413
ixy: -3.024E-06
ixz: 5.734E-06
iyy: 0.006686348
iyz: 1.766E-05
izz: 0.004840671
wrist_3:
ixx: 0.004065851
ixy: 1.5185E-05
ixz: -1.1453E-05
iyy: 0.004060372
iyz: 4.2152E-05
izz: 0.001170392
center_of_mass:
base_cog:
x: -2.4008693014781E-05
y: 0.00117748953656619
z: 0.0762927770474629
shoulder_cog:
x: 9.9E-05
y: -0.026311
z: -0.026723
upperarm_cog:
x: -0.27762
y: -1.7E-05
z: 0.20184
forearm_cog:
x: -0.30259
y: 2.1E-05
z: 0.07237
wrist_1_cog:
x: -3.7E-05
y: -0.01051
z: -0.014865
wrist_2_cog:
x: 3.7E-05
y: 0.01051
z: -0.014865
wrist_3_cog:
x: 0.000242
y: -0.001192
z: -0.050422

View File

@@ -0,0 +1,92 @@
mesh_files:
base:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/visual/base.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/collision/base.stl
shoulder:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/visual/shoulder.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/collision/shoulder.stl
upperarm:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/visual/upperarm.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/collision/upperarm.stl
mesh_files:
forearm:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/visual/forearm.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/collision/forearm.stl
wrist_1:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/visual/wrist1.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/collision/wrist1.stl
wrist_2:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/visual/wrist2.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/collision/wrist2.stl
wrist_3:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/visual/wrist3.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs625/collision/wrist3.stl

View File

@@ -0,0 +1,43 @@
kinematics:
shoulder:
x: 0
y: 0
z: 0.1530
roll: 0
pitch: 0
yaw: 0
upperarm:
x: 0
y: 0
z: 0
roll: 1.570796326589793
pitch: 0
yaw: 0
forearm:
x: -0.2700
y: 0
z: 0
roll: 0
pitch: 0
yaw: 0
wrist_1:
x: -0.2575
y: 0
z: 0.1445
roll: 0
pitch: 0
yaw: 0
wrist_2:
x: 0
y: -0.0965
z: 0
roll: 1.570796326589793
pitch: 0
yaw: 0
wrist_3:
x: 0
y: 0.0920
z: 0
roll: -1.570796326589793
pitch: 0
yaw: 0

View File

@@ -0,0 +1,61 @@
joint_limits:
shoulder_pan_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 56.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0
shoulder_lift_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 56.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0
elbow_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 28.0
max_position: !degrees 180.0
max_velocity: !degrees 180.0
min_position: !degrees -180.0
wrist_1_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 12.0
max_position: !degrees 360.0
max_velocity: !degrees 360.0
min_position: !degrees -360.0
wrist_2_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 12.0
max_position: !degrees 360.0
max_velocity: !degrees 360.0
min_position: !degrees -360.0
wrist_3_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 12.0
max_position: !degrees 360.0
max_velocity: !degrees 360.0
min_position: !degrees -360.0

View File

@@ -0,0 +1,99 @@
# Physical parameters
dh_parameters:
d1: 0.1530
a2: -0.2700
a3: -0.2575
d4: 0.1445
d5: 0.0965
d6: 0.0920
inertia_parameters:
base_mass: 0.358193760044688 # base mass, base inertia, base cog might be incorrect
shoulder_mass: 3.095
upperarm_mass: 5.073
forearm_mass: 2.425
wrist_1_mass: 1.559
wrist_2_mass: 1.447
wrist_3_mass: 0.500
inertia:
base:
ixx: 0.000549739542527148
ixy: 8.03741216179988E-08
ixz: -9.14780809458034E-06
iyy: 0.000533024165382036
iyz: 3.46908903534662E-07
izz: 0.000655188839052244
shoulder:
ixx: 0.007958
ixy: 5.734E-06
ixz: 3.024E-06
iyy: 0.00484
iyz: -1.77E-05
izz: 0.006686
upperarm:
ixx: 0.074168
ixy: -7.5E-06
ixz: -0.065579
iyy: 0.21937
iyz: -2.19E-05
izz: 0.15104
forearm:
ixx: 0.005082
ixy: -2.7E-06
ixz: -0.0056236
iyy: 0.0924207
iyz: -1.726E-06
izz: 0.0897559
wrist_1:
ixx: 0.0045009
ixy: 1.96E-06
ixz: -2.646E-06
iyy: 0.0042164
iyz: -3.58E-07
izz: 0.0014538
wrist_2:
ixx: 0.0023787
ixy: 1.953E-06
ixz: 2.643E-06
iyy: 0.0020859
iyz: 5.584E-06
izz: 0.0013191
wrist_3:
ixx: 0.001431
ixy: -2.32E-07
ixz: 7.955E-06
iyy: 0.0014299
iyz: 1.266E-06
izz: 0.0003265
center_of_mass:
base_cog:
x: -0.000721181367009438
y: 1.78114684963572E-05
z: 0.0546249293265112
shoulder_cog:
x: 3.7E-05
y: -0.0149
z: -0.0105
upperarm_cog:
x: -0.11596
y: -2.6E-05
z: 0.1148
forearm_cog:
x: -0.1542
y: 1.4E-05
z: 0.0238
wrist_1_cog:
x: 1.3E-05
y: -0.00479
z: -0.02274
wrist_2_cog:
x: -1.4E-05
y: 0.0051
z: -0.0127
wrist_3_cog:
x: -0.000684
y: -0.000175
z: -0.0423

View File

@@ -0,0 +1,92 @@
mesh_files:
base:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/visual/base.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/collision/base.stl
shoulder:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/visual/shoulder.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/collision/shoulder.stl
upperarm:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/visual/upperarm.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/collision/upperarm.stl
mesh_files:
forearm:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/visual/forearm.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/collision/forearm.stl
wrist_1:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/visual/wrist1.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/collision/wrist1.stl
wrist_2:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/visual/wrist2.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/collision/wrist2.stl
wrist_3:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/visual/wrist3.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs63/collision/wrist3.stl

View File

@@ -0,0 +1,43 @@
kinematics:
shoulder:
x: 0
y: 0
z: 0.1625
roll: 0
pitch: 0
yaw: 0
upperarm:
x: 0
y: 0
z: 0
roll: 1.570796326589793
pitch: 0
yaw: 0
forearm:
x: -0.4270
y: 0
z: 0
roll: 0
pitch: 0
yaw: 0
wrist_1:
x: -0.3905
y: 0
z: 0.1475
roll: 0
pitch: 0
yaw: 0
wrist_2:
x: 0
y: -0.0965
z: 0
roll: 1.570796326589793
pitch: 0
yaw: 0
wrist_3:
x: 0
y: 0.0920
z: 0
roll: -1.570796326589793
pitch: 0
yaw: 0

View File

@@ -0,0 +1,61 @@
joint_limits:
shoulder_pan_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 150.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0
shoulder_lift_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 150.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0
elbow_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 150.0
max_position: !degrees 180.0
max_velocity: !degrees 180.0
min_position: !degrees -180.0
wrist_1_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 28.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0
wrist_2_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 28.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0
wrist_3_joint:
# acceleration limits are not publicly available
has_acceleration_limits: false
has_effort_limits: true
has_position_limits: true
has_velocity_limits: true
max_effort: 28.0
max_position: !degrees 360.0
max_velocity: !degrees 180.0
min_position: !degrees -360.0

View File

@@ -0,0 +1,99 @@
# Physical parameters
dh_parameters:
d1: 0.1625
a2: -0.4270
a3: -0.3905
d4: 0.1475
d5: 0.0965
d6: 0.0920
inertia_parameters:
base_mass: 0.57127 # base mass, base inertia, base cog might be incorrect
shoulder_mass: 4.521
upperarm_mass: 7.533
forearm_mass: 3.009
wrist_1_mass: 1.559
wrist_2_mass: 1.447
wrist_3_mass: 0.500
inertia:
base:
ixx: 0.0010759
ixy: 7.8337E-08
ixz: -1.3213E-05
iyy: 0.0010109
iyz: 4.5992E-07
izz: 0.001408
shoulder:
ixx: 0.014192
ixy: 1.7839E-05
ixz: -1.027E-06
iyy: 0.0091982
iyz: -4.6778E-05
izz: 0.012777
upperarm:
ixx: 0.13719
ixy: -7.5676E-05
ixz: -0.17551
iyy: 0.6614
iyz: 7.59E-06
izz: 0.53649
forearm:
ixx: 0.0087604
ixy: 1.7762E-05
ixz: -0.010765
iyy: 0.22281
iyz: -4.13E-07
izz: 0.2176
wrist_1:
ixx: 0.0045009
ixy: 1.961E-06
ixz: -2.646E-06
iyy: 0.0042164
iyz: -3.58E-07
izz: 0.0014539
wrist_2:
ixx: 0.0023787
ixy: 1.953E-06
ixz: 2.643E-06
iyy: 0.0020859
iyz: 5.584E-06
izz: 0.0013191
wrist_3:
ixx: 0.0014314
ixy: -2.32E-07
ixz: 7.955E-06
iyy: 0.0014299
iyz: 1.266E-06
izz: 0.0003265
center_of_mass:
base_cog:
x: -0.00060346
y: 1.4311E-05
z: 0.060221
shoulder_cog:
x: 2.2E-05
y: -0.016526
z: -0.014442
upperarm_cog:
x: -0.17828
y: 4.0E-06
z: 0.12803
forearm_cog:
x: -0.20416
y: -7.0E-06
z: 0.03064
wrist_1_cog:
x: 1.3E-05
y: -0.00479
z: -0.02274
wrist_2_cog:
x: -1.4E-05
y: 0.005107
z: -0.012702
wrist_3_cog:
x: -0.000684
y: -0.000175
z: -0.04234

View File

@@ -0,0 +1,92 @@
mesh_files:
base:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/visual/base.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/collision/base.stl
shoulder:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/visual/shoulder.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/collision/shoulder.stl
upperarm:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/visual/upperarm.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/collision/upperarm.stl
mesh_files:
forearm:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/visual/forearm.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/collision/forearm.stl
wrist_1:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/visual/wrist1.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/collision/wrist1.stl
wrist_2:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/visual/wrist2.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/collision/wrist2.stl
wrist_3:
visual:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/visual/wrist3.dae
material:
name: "LightGrey"
color: "0.7 0.7 0.7 1.0"
collision:
mesh:
package: eli_cs_robot_description
path: meshes/cs66/collision/wrist3.stl

View File

@@ -0,0 +1,6 @@
shoulder_pan_joint: 0.0
shoulder_lift_joint: -1.57
elbow_joint: 0.0
wrist_1_joint: -1.57
wrist_2_joint: 1.57
wrist_3_joint: 0.0

View File

@@ -0,0 +1,159 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://wiki.ros.org/xacro" name="elite_robot">
<xacro:macro name="elite_robot" params="mesh_path:='' parent_link:='' station_name:='' device_name:='' cs_type:='cs66' fake_dev:='true' x:=0 y:=0 z:=0 rx:=0 ry:=0 r:=0" >
<!-- robot name parameter -->
<xacro:arg name="name" default="cs"/>
<!-- import main macro -->
<xacro:include filename="${mesh_path}/devices/elite_robot/urdf/cs_macro.xacro"/>
<!-- possible 'cs_type' values: cs63, cs66, cs612, cs616, cs620, cs625 -->
<!-- the default value should raise an error in case this was called without defining the type -->
<xacro:arg name="cs_type" default="${cs_type}"/>
<!-- parameters -->
<xacro:arg name="tf_prefix" default="${station_name}${device_name}" />
<xacro:arg name="joint_limit_params" default="${mesh_path}/devices/elite_robot/config/$(arg cs_type)/joint_limits.yaml"/>
<xacro:arg name="kinematics_params" default="${mesh_path}/devices/elite_robot/config/$(arg cs_type)/default_kinematics.yaml"/>
<xacro:arg name="physical_params" default="${mesh_path}/devices/elite_robot/config/$(arg cs_type)/physical_parameters.yaml"/>
<xacro:arg name="visual_params" default="${mesh_path}/devices/elite_robot/config/$(arg cs_type)/visual_parameters.yaml"/>
<xacro:arg name="transmission_hw_interface" default=""/>
<xacro:arg name="safety_limits" default="false"/>
<xacro:arg name="safety_pos_margin" default="0.15"/>
<xacro:arg name="safety_k_position" default="20"/>
<!-- ros2_control related parameters -->
<xacro:arg name="headless_mode" default="false" />
<xacro:arg name="robot_ip" default="0.0.0.0" />
<xacro:arg name="script_filename" default=""/>
<xacro:arg name="output_recipe_filename" default=""/>
<xacro:arg name="input_recipe_filename" default=""/>
<xacro:arg name="local_ip" default="0.0.0.0"/>
<xacro:arg name="script_command_port" default="50004"/>
<xacro:arg name="reverse_port" default="50001"/>
<xacro:arg name="script_sender_port" default="50002"/>
<xacro:arg name="trajectory_port" default="50003"/>
<!-- tool communication related parameters-->
<xacro:arg name="use_tool_communication" default="false" />
<xacro:arg name="tool_voltage" default="0" />
<xacro:arg name="tool_parity" default="0" />
<xacro:arg name="tool_baud_rate" default="115200" />
<xacro:arg name="tool_stop_bits" default="1" />
<xacro:arg name="tool_tcp_port" default="54321" />
<!-- Simulation parameters -->
<xacro:arg name="use_fake_hardware" default="${fake_dev}" />
<xacro:arg name="fake_sensor_commands" default="${fake_dev}" />
<xacro:arg name="sim_gazebo" default="false" />
<xacro:arg name="sim_ignition" default="false" />
<xacro:arg name="simulation_controllers" default="" />
<!-- initial position for simulations (Fake Hardware, Gazebo, Ignition) -->
<xacro:arg name="initial_positions_file" default="${mesh_path}/devices/elite_robot/config/initial_positions.yaml"/>
<!-- convert to property to use substitution in function -->
<xacro:property name="initial_positions_file" default="$(arg initial_positions_file)"/>
<joint name="${station_name}${device_name}base_link_joint" type="fixed">
<origin xyz="${x} ${y} ${z}" rpy="${rx} ${ry} ${r}" />
<parent link="${parent_link}"/>
<child link="${station_name}${device_name}device_link"/>
<axis xyz="0 0 0"/>
</joint>
<link name="${station_name}${device_name}device_link"/>
<!-- arm -->
<xacro:cs_robot
name="$(arg name)"
tf_prefix="$(arg tf_prefix)"
parent="${station_name}${device_name}device_link"
joint_limits_parameters_file="$(arg joint_limit_params)"
kinematics_parameters_file="$(arg kinematics_params)"
physical_parameters_file="$(arg physical_params)"
visual_parameters_file="$(arg visual_params)"
transmission_hw_interface="$(arg transmission_hw_interface)"
safety_limits="$(arg safety_limits)"
safety_pos_margin="$(arg safety_pos_margin)"
safety_k_position="$(arg safety_k_position)"
use_fake_hardware="$(arg use_fake_hardware)"
fake_sensor_commands="$(arg fake_sensor_commands)"
sim_gazebo="$(arg sim_gazebo)"
sim_ignition="$(arg sim_ignition)"
headless_mode="$(arg headless_mode)"
initial_positions="${xacro.load_yaml(initial_positions_file)}"
use_tool_communication="$(arg use_tool_communication)"
tool_voltage="$(arg tool_voltage)"
tool_parity="$(arg tool_parity)"
tool_baud_rate="$(arg tool_baud_rate)"
tool_stop_bits="$(arg tool_stop_bits)"
tool_tcp_port="$(arg tool_tcp_port)"
robot_ip="$(arg robot_ip)"
script_filename="$(arg script_filename)"
output_recipe_filename="$(arg output_recipe_filename)"
input_recipe_filename="$(arg input_recipe_filename)"
local_ip="$(arg local_ip)"
script_command_port="$(arg script_command_port)"
reverse_port="$(arg reverse_port)"
script_sender_port="$(arg script_sender_port)"
trajectory_port="$(arg trajectory_port)"
mesh_path="${mesh_path}"
>
<origin xyz="0 0 0" rpy="0 0 0" /> <!-- position robot in the world -->
</xacro:cs_robot>
<link name="${station_name}${device_name}gripper">
<inertial>
<origin
xyz="-2.76718112539598E-05 0.0255270141715087 0.0270559267296449"
rpy="0 0 0" />
<mass
value="0.2571510360664" />
<inertia
ixx="0.000164806957167171"
ixy="1.52519074989277E-08"
ixz="9.6332716899636E-08"
iyy="8.72759579414916E-05"
iyz="-5.40735277087457E-07"
izz="0.000196871100878503" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="file://${mesh_path}/devices/elite_robot/meshes/gripper.STL" />
</geometry>
<material
name="">
<color
rgba="0.749019607843137 0.749019607843137 0.749019607843137 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="file://${mesh_path}/devices/elite_robot/meshes/gripper.STL" />
</geometry>
</collision>
</link>
<joint name="${station_name}${device_name}gripper_joint"
type="fixed">
<origin
xyz="0 0 -0.003"
rpy="0 0 -2.356" />
<parent
link="${station_name}${device_name}tool0" />
<child
link="${station_name}${device_name}gripper" />
<axis
xyz="0 0 0" />
</joint>
</xacro:macro>
</robot>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More