mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-07 23:45:10 +00:00
Compare commits
5 Commits
2580e80d6f
...
65bf870317
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
65bf870317 | ||
|
|
ccf1cdc23f | ||
|
|
dcc970a091 | ||
|
|
b63e281ab7 | ||
|
|
4224008a92 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,6 +1,7 @@
|
||||
configs/
|
||||
temp/
|
||||
output/
|
||||
unilabos_data/
|
||||
## Python
|
||||
|
||||
# Byte-compiled / optimized / DLL files
|
||||
|
||||
13598
test/experiments/prcxi_9320_visual.json
Normal file
13598
test/experiments/prcxi_9320_visual.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,32 +1,48 @@
|
||||
{
|
||||
"nodes": [
|
||||
|
||||
|
||||
{
|
||||
"id": "benyao",
|
||||
"name": "benyao",
|
||||
"children": [
|
||||
],
|
||||
"id": "arm_slider",
|
||||
"name": "arm_slider",
|
||||
"children": [],
|
||||
"parent": null,
|
||||
"type": "device",
|
||||
"class": "moveit.arm_slider",
|
||||
"position": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
"x": -500,
|
||||
"y": 1000,
|
||||
"z": -100
|
||||
},
|
||||
"config": {
|
||||
"moveit_type": "arm_slider",
|
||||
"joint_poses": {
|
||||
"arm": {
|
||||
"home": [0.0, 0.2, 0.0, 0.0, 0.0],
|
||||
"pick": [1.2, 0.0, 0.0, 0.0, 0.0]
|
||||
"hotel_1": [
|
||||
1.05,
|
||||
0.568,
|
||||
-1.0821,
|
||||
0.0,
|
||||
1.0821
|
||||
],
|
||||
"home": [
|
||||
0.865,
|
||||
0.09,
|
||||
0.8727,
|
||||
0.0,
|
||||
-0.8727
|
||||
]
|
||||
}
|
||||
},
|
||||
"device_config": {
|
||||
}
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -1.5708,
|
||||
"type": "Rotation"
|
||||
},
|
||||
"device_config": {}
|
||||
},
|
||||
"data": {
|
||||
}
|
||||
"data": {}
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import argparse
|
||||
import asyncio
|
||||
import os
|
||||
import shutil
|
||||
import signal
|
||||
import sys
|
||||
import threading
|
||||
@@ -139,9 +140,33 @@ def main():
|
||||
|
||||
# 加载配置文件,优先加载config,然后从env读取
|
||||
config_path = args_dict.get("config")
|
||||
working_dir = os.path.abspath(os.path.join(os.getcwd(), "unilabos_data"))
|
||||
if not config_path and (not os.path.exists(working_dir) or not os.path.exists(os.path.join(working_dir, "local_config.py"))):
|
||||
print_status(f"当前未指定config路径,非第一次使用请通过 --config 传入 local_config.py 文件路径", "info")
|
||||
print_status(f"您是否为第一次使用?并将当前文件路径 {working_dir} 作为工作目录? (Y/n)", "info")
|
||||
if input() != "n":
|
||||
os.makedirs(working_dir, exist_ok=True)
|
||||
config_path = os.path.join(working_dir, "local_config.py")
|
||||
shutil.copy(os.path.join(os.path.dirname(os.path.dirname(__file__)), "config", "example_config.py"), config_path)
|
||||
print_status(f"已创建 local_config.py 路径: {config_path}", "info")
|
||||
print_status(f"请在文件夹中配置lab_id,放入下载的CA.crt、lab.crt、lab.key重新启动本程序", "info")
|
||||
os._exit(1)
|
||||
else:
|
||||
os._exit(1)
|
||||
else:
|
||||
working_dir = args_dict.get("working_dir") or os.path.abspath(os.path.join(os.getcwd(), "unilabos_data"))
|
||||
if working_dir:
|
||||
if config_path and not os.path.exists(config_path):
|
||||
config_path = os.path.join(working_dir, "local_config.py")
|
||||
if not os.path.exists(config_path):
|
||||
print_status(f"当前工作目录 {working_dir} 未找到local_config.py,请通过 --config 传入 local_config.py 文件路径", "error")
|
||||
os._exit(1)
|
||||
print_status(f"当前工作目录为 {working_dir}", "info")
|
||||
# 加载配置文件
|
||||
load_config_from_file(config_path, args_dict["labid"])
|
||||
|
||||
# 设置BasicConfig参数
|
||||
BasicConfig.working_dir = working_dir
|
||||
BasicConfig.is_host_mode = not args_dict.get("without_host", False)
|
||||
BasicConfig.slave_no_host = args_dict.get("slave_no_host", False)
|
||||
BasicConfig.upload_registry = args_dict.get("upload_registry", False)
|
||||
|
||||
@@ -166,7 +166,7 @@ class MQTTClient:
|
||||
status = {"data": device_status.get(device_id, {}), "device_id": device_id, "timestamp": time.time()}
|
||||
address = f"labs/{MQConfig.lab_id}/devices/"
|
||||
self.client.publish(address, json.dumps(status), qos=2)
|
||||
logger.debug(f"Device status published: address: {address}, {status}")
|
||||
logger.info(f"Device {device_id} status published: address: {address}, {status}")
|
||||
|
||||
def publish_job_status(self, feedback_data: dict, job_id: str, status: str, return_info: Optional[str] = None):
|
||||
if self.mqtt_disable:
|
||||
|
||||
@@ -9,6 +9,7 @@ from unilabos.utils import logger
|
||||
|
||||
class BasicConfig:
|
||||
ENV = "pro" # 'test'
|
||||
working_dir = ""
|
||||
config_path = ""
|
||||
is_host_mode = True
|
||||
slave_no_host = False # 是否跳过rclient.wait_for_service()
|
||||
|
||||
17
unilabos/config/example_config.py
Normal file
17
unilabos/config/example_config.py
Normal file
@@ -0,0 +1,17 @@
|
||||
# MQTT配置
|
||||
class MQConfig:
|
||||
lab_id = ""
|
||||
instance_id = ""
|
||||
access_key = ""
|
||||
secret_key = ""
|
||||
group_id = ""
|
||||
broker_url = ""
|
||||
port = 1883
|
||||
|
||||
ca_file = "CA.crt"
|
||||
cert_file = "lab.crt"
|
||||
key_file = "lab.key"
|
||||
|
||||
# HTTP配置
|
||||
class HTTPConfig:
|
||||
remote_addr = "https://uni-lab.bohrium.com/api/v1"
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -1,4 +0,0 @@
|
||||
arm:
|
||||
kinematics_solver: lma_kinematics_plugin/LMAKinematicsPlugin
|
||||
kinematics_solver_search_resolution: 0.0050000000000000001
|
||||
kinematics_solver_timeout: 0.0050000000000000001
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
@@ -1,2 +0,0 @@
|
||||
planner_configs:
|
||||
- ompl_interface/OMPLPlanner
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1,43 @@
|
||||
kinematics:
|
||||
shoulder:
|
||||
x: 0
|
||||
y: 0
|
||||
z: 0.1625
|
||||
roll: 0
|
||||
pitch: 0
|
||||
yaw: -0.16
|
||||
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.04
|
||||
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.59
|
||||
yaw: 0
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
159
unilabos/device_mesh/devices/elite_robot/macro_device.xacro
Normal file
159
unilabos/device_mesh/devices/elite_robot/macro_device.xacro
Normal 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 -1.570796326589793" />
|
||||
<parent
|
||||
link="${station_name}${device_name}tool0" />
|
||||
<child
|
||||
link="${station_name}${device_name}gripper" />
|
||||
<axis
|
||||
xyz="0 0 0" />
|
||||
</joint>
|
||||
|
||||
</xacro:macro>
|
||||
|
||||
</robot>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user