refactoring repo
This commit is contained in:
parent
6fa469be36
commit
f76340d78a
68 changed files with 5 additions and 6275 deletions
|
@ -1,34 +0,0 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
|
||||||
project(rasmt_moveit_config)
|
|
||||||
|
|
||||||
# Default to C99
|
|
||||||
if(NOT CMAKE_C_STANDARD)
|
|
||||||
set(CMAKE_C_STANDARD 99)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Default to C++14
|
|
||||||
if(NOT CMAKE_CXX_STANDARD)
|
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
||||||
add_compile_options(-Wall -Wextra -Wpedantic)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# find dependencies
|
|
||||||
find_package(ament_cmake REQUIRED)
|
|
||||||
|
|
||||||
if(BUILD_TESTING)
|
|
||||||
find_package(ament_lint_auto REQUIRED)
|
|
||||||
# the following line skips the linter which checks for copyrights
|
|
||||||
# uncomment the line when a copyright and license is not present in all source files
|
|
||||||
#set(ament_cmake_copyright_FOUND TRUE)
|
|
||||||
# the following line skips cpplint (only works in a git repo)
|
|
||||||
# uncomment the line when this package is not in a git repo
|
|
||||||
#set(ament_cmake_cpplint_FOUND TRUE)
|
|
||||||
ament_lint_auto_find_test_dependencies()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(DIRECTORY launch config DESTINATION share/${PROJECT_NAME})
|
|
||||||
|
|
||||||
ament_package()
|
|
|
@ -1,20 +0,0 @@
|
||||||
# Robossembler MoveIt2 package
|
|
||||||
|
|
||||||
This package contains the basic robot configuration files for MoveIt2
|
|
||||||
```
|
|
||||||
.
|
|
||||||
├── CMakeLists.txt
|
|
||||||
├── config
|
|
||||||
│ ├── cartesian_limits.yaml
|
|
||||||
│ ├── chomp_planning.yaml
|
|
||||||
│ ├── joint_limits.yaml
|
|
||||||
│ ├── kinematics.yaml
|
|
||||||
│ ├── ompl_planning.yaml
|
|
||||||
│ ├── rasmt_moveit_controllers.yaml
|
|
||||||
│ ├── rasmt_moveit.rviz
|
|
||||||
│ └── rasmt.srdf
|
|
||||||
├── launch
|
|
||||||
│ └── rasmt_moveit.launch.py
|
|
||||||
├── package.xml
|
|
||||||
└── README.md
|
|
||||||
```
|
|
|
@ -1,5 +0,0 @@
|
||||||
cartesian_limits:
|
|
||||||
max_trans_vel: 1
|
|
||||||
max_trans_acc: 2.25
|
|
||||||
max_trans_dec: -5
|
|
||||||
max_rot_vel: 1.57
|
|
|
@ -1,18 +0,0 @@
|
||||||
planning_time_limit: 10.0
|
|
||||||
max_iterations: 200
|
|
||||||
max_iterations_after_collision_free: 5
|
|
||||||
smoothness_cost_weight: 0.1
|
|
||||||
obstacle_cost_weight: 1.0
|
|
||||||
learning_rate: 0.01
|
|
||||||
smoothness_cost_velocity: 0.0
|
|
||||||
smoothness_cost_acceleration: 1.0
|
|
||||||
smoothness_cost_jerk: 0.0
|
|
||||||
ridge_factor: 0.01
|
|
||||||
use_pseudo_inverse: false
|
|
||||||
pseudo_inverse_ridge_factor: 1e-4
|
|
||||||
joint_update_limit: 0.1
|
|
||||||
collision_clearance: 0.2
|
|
||||||
collision_threshold: 0.07
|
|
||||||
use_stochastic_descent: true
|
|
||||||
enable_failure_recovery: true
|
|
||||||
max_recovery_attempts: 5
|
|
|
@ -1,50 +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: 1
|
|
||||||
default_acceleration_scaling_factor: 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:
|
|
||||||
rasmt_Rot_Y_1:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 0.99903
|
|
||||||
has_acceleration_limits: false
|
|
||||||
max_acceleration: 0
|
|
||||||
rasmt_Rot_Y_2:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 0.99903
|
|
||||||
has_acceleration_limits: false
|
|
||||||
max_acceleration: 0
|
|
||||||
rasmt_Rot_Y_4:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 0.99903
|
|
||||||
has_acceleration_limits: false
|
|
||||||
max_acceleration: 0
|
|
||||||
rasmt_Rot_Z_1:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 0.99903
|
|
||||||
has_acceleration_limits: false
|
|
||||||
max_acceleration: 0
|
|
||||||
rasmt_Rot_Z_2:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 0.99903
|
|
||||||
has_acceleration_limits: false
|
|
||||||
max_acceleration: 0
|
|
||||||
rasmt_Rot_Z_3:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 0.99903
|
|
||||||
has_acceleration_limits: false
|
|
||||||
max_acceleration: 0
|
|
||||||
rasmt_Slide_1:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 0.2
|
|
||||||
has_acceleration_limits: false
|
|
||||||
max_acceleration: 0
|
|
||||||
rasmt_Slide_2:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 0.2
|
|
||||||
has_acceleration_limits: false
|
|
||||||
max_acceleration: 0
|
|
|
@ -1,4 +0,0 @@
|
||||||
rasmt_arm_group:
|
|
||||||
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
|
|
||||||
kinematics_solver_search_resolution: 0.005
|
|
||||||
kinematics_solver_timeout: 0.005
|
|
|
@ -1,183 +0,0 @@
|
||||||
planner_configs:
|
|
||||||
AnytimePathShortening:
|
|
||||||
type: geometric::AnytimePathShortening
|
|
||||||
shortcut: true # Attempt to shortcut all new solution paths
|
|
||||||
hybridize: true # Compute hybrid solution trajectories
|
|
||||||
max_hybrid_paths: 24 # Number of hybrid paths generated per iteration
|
|
||||||
num_planners: 4 # The number of default planners to use for planning
|
|
||||||
planners: "" # A comma-separated list of planner types (e.g., "PRM,EST,RRTConnect"Optionally, planner parameters can be passed to change the default:"PRM[max_nearest_neighbors=5],EST[goal_bias=.5],RRT[range=10. goal_bias=.1]"
|
|
||||||
SBL:
|
|
||||||
type: geometric::SBL
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
EST:
|
|
||||||
type: geometric::EST
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0 setup()
|
|
||||||
goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05
|
|
||||||
LBKPIECE:
|
|
||||||
type: geometric::LBKPIECE
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9
|
|
||||||
min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5
|
|
||||||
BKPIECE:
|
|
||||||
type: geometric::BKPIECE
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9
|
|
||||||
failed_expansion_score_factor: 0.5 # When extending motion fails, scale score by factor. default: 0.5
|
|
||||||
min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5
|
|
||||||
KPIECE:
|
|
||||||
type: geometric::KPIECE
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05
|
|
||||||
border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9 (0.0,1.]
|
|
||||||
failed_expansion_score_factor: 0.5 # When extending motion fails, scale score by factor. default: 0.5
|
|
||||||
min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5
|
|
||||||
RRT:
|
|
||||||
type: geometric::RRT
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
goal_bias: 0.05 # When close to goal select goal, with this probability? default: 0.05
|
|
||||||
RRTConnect:
|
|
||||||
type: geometric::RRTConnect
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
RRTstar:
|
|
||||||
type: geometric::RRTstar
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
goal_bias: 0.05 # When close to goal select goal, with this probability? default: 0.05
|
|
||||||
delay_collision_checking: 1 # Stop collision checking as soon as C-free parent found. default 1
|
|
||||||
TRRT:
|
|
||||||
type: geometric::TRRT
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
goal_bias: 0.05 # When close to goal select goal, with this probability? default: 0.05
|
|
||||||
max_states_failed: 10 # when to start increasing temp. default: 10
|
|
||||||
temp_change_factor: 2.0 # how much to increase or decrease temp. default: 2.0
|
|
||||||
min_temperature: 10e-10 # lower limit of temp change. default: 10e-10
|
|
||||||
init_temperature: 10e-6 # initial temperature. default: 10e-6
|
|
||||||
frountier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup()
|
|
||||||
frountierNodeRatio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1
|
|
||||||
k_constant: 0.0 # value used to normalize expresssion. default: 0.0 set in setup()
|
|
||||||
PRM:
|
|
||||||
type: geometric::PRM
|
|
||||||
max_nearest_neighbors: 10 # use k nearest neighbors. default: 10
|
|
||||||
PRMstar:
|
|
||||||
type: geometric::PRMstar
|
|
||||||
FMT:
|
|
||||||
type: geometric::FMT
|
|
||||||
num_samples: 1000 # number of states that the planner should sample. default: 1000
|
|
||||||
radius_multiplier: 1.1 # multiplier used for the nearest neighbors search radius. default: 1.1
|
|
||||||
nearest_k: 1 # use Knearest strategy. default: 1
|
|
||||||
cache_cc: 1 # use collision checking cache. default: 1
|
|
||||||
heuristics: 0 # activate cost to go heuristics. default: 0
|
|
||||||
extended_fmt: 1 # activate the extended FMT*: adding new samples if planner does not finish successfully. default: 1
|
|
||||||
BFMT:
|
|
||||||
type: geometric::BFMT
|
|
||||||
num_samples: 1000 # number of states that the planner should sample. default: 1000
|
|
||||||
radius_multiplier: 1.0 # multiplier used for the nearest neighbors search radius. default: 1.0
|
|
||||||
nearest_k: 1 # use the Knearest strategy. default: 1
|
|
||||||
balanced: 0 # exploration strategy: balanced true expands one tree every iteration. False will select the tree with lowest maximum cost to go. default: 1
|
|
||||||
optimality: 1 # termination strategy: optimality true finishes when the best possible path is found. Otherwise, the algorithm will finish when the first feasible path is found. default: 1
|
|
||||||
heuristics: 1 # activates cost to go heuristics. default: 1
|
|
||||||
cache_cc: 1 # use the collision checking cache. default: 1
|
|
||||||
extended_fmt: 1 # Activates the extended FMT*: adding new samples if planner does not finish successfully. default: 1
|
|
||||||
PDST:
|
|
||||||
type: geometric::PDST
|
|
||||||
STRIDE:
|
|
||||||
type: geometric::STRIDE
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05
|
|
||||||
use_projected_distance: 0 # whether nearest neighbors are computed based on distances in a projection of the state rather distances in the state space itself. default: 0
|
|
||||||
degree: 16 # desired degree of a node in the Geometric Near-neightbor Access Tree (GNAT). default: 16
|
|
||||||
max_degree: 18 # max degree of a node in the GNAT. default: 12
|
|
||||||
min_degree: 12 # min degree of a node in the GNAT. default: 12
|
|
||||||
max_pts_per_leaf: 6 # max points per leaf in the GNAT. default: 6
|
|
||||||
estimated_dimension: 0.0 # estimated dimension of the free space. default: 0.0
|
|
||||||
min_valid_path_fraction: 0.2 # Accept partially valid moves above fraction. default: 0.2
|
|
||||||
BiTRRT:
|
|
||||||
type: geometric::BiTRRT
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
temp_change_factor: 0.1 # how much to increase or decrease temp. default: 0.1
|
|
||||||
init_temperature: 100 # initial temperature. default: 100
|
|
||||||
frountier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup()
|
|
||||||
frountier_node_ratio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1
|
|
||||||
cost_threshold: 1e300 # the cost threshold. Any motion cost that is not better will not be expanded. default: inf
|
|
||||||
LBTRRT:
|
|
||||||
type: geometric::LBTRRT
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05
|
|
||||||
epsilon: 0.4 # optimality approximation factor. default: 0.4
|
|
||||||
BiEST:
|
|
||||||
type: geometric::BiEST
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
ProjEST:
|
|
||||||
type: geometric::ProjEST
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05
|
|
||||||
LazyPRM:
|
|
||||||
type: geometric::LazyPRM
|
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
|
||||||
LazyPRMstar:
|
|
||||||
type: geometric::LazyPRMstar
|
|
||||||
SPARS:
|
|
||||||
type: geometric::SPARS
|
|
||||||
stretch_factor: 3.0 # roadmap spanner stretch factor. multiplicative upper bound on path quality. It does not make sense to make this parameter more than 3. default: 3.0
|
|
||||||
sparse_delta_fraction: 0.25 # delta fraction for connection distance. This value represents the visibility range of sparse samples. default: 0.25
|
|
||||||
dense_delta_fraction: 0.001 # delta fraction for interface detection. default: 0.001
|
|
||||||
max_failures: 1000 # maximum consecutive failure limit. default: 1000
|
|
||||||
SPARStwo:
|
|
||||||
type: geometric::SPARStwo
|
|
||||||
stretch_factor: 3.0 # roadmap spanner stretch factor. multiplicative upper bound on path quality. It does not make sense to make this parameter more than 3. default: 3.0
|
|
||||||
sparse_delta_fraction: 0.25 # delta fraction for connection distance. This value represents the visibility range of sparse samples. default: 0.25
|
|
||||||
dense_delta_fraction: 0.001 # delta fraction for interface detection. default: 0.001
|
|
||||||
max_failures: 5000 # maximum consecutive failure limit. default: 5000
|
|
||||||
rasmt_arm_group:
|
|
||||||
default_planner_config: RRTConnect
|
|
||||||
planner_configs:
|
|
||||||
- AnytimePathShortening
|
|
||||||
- SBL
|
|
||||||
- EST
|
|
||||||
- LBKPIECE
|
|
||||||
- BKPIECE
|
|
||||||
- KPIECE
|
|
||||||
- RRT
|
|
||||||
- RRTConnect
|
|
||||||
- RRTstar
|
|
||||||
- TRRT
|
|
||||||
- PRM
|
|
||||||
- PRMstar
|
|
||||||
- FMT
|
|
||||||
- BFMT
|
|
||||||
- PDST
|
|
||||||
- STRIDE
|
|
||||||
- BiTRRT
|
|
||||||
- LBTRRT
|
|
||||||
- BiEST
|
|
||||||
- ProjEST
|
|
||||||
- LazyPRM
|
|
||||||
- LazyPRMstar
|
|
||||||
- SPARS
|
|
||||||
- SPARStwo
|
|
||||||
|
|
||||||
rasmt_hand_arm_group:
|
|
||||||
planner_configs:
|
|
||||||
- AnytimePathShortening
|
|
||||||
- SBL
|
|
||||||
- EST
|
|
||||||
- LBKPIECE
|
|
||||||
- BKPIECE
|
|
||||||
- KPIECE
|
|
||||||
- RRT
|
|
||||||
- RRTConnect
|
|
||||||
- RRTstar
|
|
||||||
- TRRT
|
|
||||||
- PRM
|
|
||||||
- PRMstar
|
|
||||||
- FMT
|
|
||||||
- BFMT
|
|
||||||
- PDST
|
|
||||||
- STRIDE
|
|
||||||
- BiTRRT
|
|
||||||
- LBTRRT
|
|
||||||
- BiEST
|
|
||||||
- ProjEST
|
|
||||||
- LazyPRM
|
|
||||||
- LazyPRMstar
|
|
||||||
- SPARS
|
|
||||||
- SPARStwo
|
|
|
@ -1,96 +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 name="rasmt">
|
|
||||||
<!--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="rasmt_arm_group">
|
|
||||||
<chain base_link="rasmt_Base_Link" tip_link="rasmt_tool0"/>
|
|
||||||
</group>
|
|
||||||
<!--group name="rasmt_hand_arm_group">
|
|
||||||
<link name="rasmt_Grip_Body"/>
|
|
||||||
<link name="rasmt_Grip_L"/>
|
|
||||||
<link name="rasmt_Grip_R"/>
|
|
||||||
<joint name="rasmt_Slide_1"/>
|
|
||||||
<joint name="rasmt_Slide_2"/>
|
|
||||||
</group-->
|
|
||||||
<!--GROUP STATES: Purpose: Define a named state for a particular group, in terms of joint values. This is useful to define states like 'folded arms'-->
|
|
||||||
<group_state name="home_position" group="rasmt_arm_group">
|
|
||||||
<joint name="rasmt_Rot_Y_1" value="0"/>
|
|
||||||
<joint name="rasmt_Rot_Y_2" value="0"/>
|
|
||||||
<joint name="rasmt_Rot_Y_4" value="0"/>
|
|
||||||
<joint name="rasmt_Rot_Z_1" value="0"/>
|
|
||||||
<joint name="rasmt_Rot_Z_2" value="0"/>
|
|
||||||
<joint name="rasmt_Rot_Z_3" value="0"/>
|
|
||||||
</group_state>
|
|
||||||
<group_state name="ready_to_work" group="rasmt_arm_group">
|
|
||||||
<joint name="rasmt_Rot_Y_1" value="-0.8462"/>
|
|
||||||
<joint name="rasmt_Rot_Y_2" value="1.6257"/>
|
|
||||||
<joint name="rasmt_Rot_Y_4" value="1.647"/>
|
|
||||||
<joint name="rasmt_Rot_Z_1" value="0"/>
|
|
||||||
<joint name="rasmt_Rot_Z_2" value="0"/>
|
|
||||||
<joint name="rasmt_Rot_Z_3" value="0"/>
|
|
||||||
</group_state>
|
|
||||||
<group_state name="ready_to_work_v2" group="rasmt_arm_group">
|
|
||||||
<joint name="rasmt_Rot_Y_1" value="0"/>
|
|
||||||
<joint name="rasmt_Rot_Y_2" value="1.2634"/>
|
|
||||||
<joint name="rasmt_Rot_Y_4" value="1.5618"/>
|
|
||||||
<joint name="rasmt_Rot_Z_1" value="0"/>
|
|
||||||
<joint name="rasmt_Rot_Z_2" value="3.1416"/>
|
|
||||||
<joint name="rasmt_Rot_Z_3" value="0.0521"/>
|
|
||||||
</group_state>
|
|
||||||
<!--group_state name="home_hand" group="rasmt_hand_arm_group">
|
|
||||||
<joint name="rasmt_Slide_1" value="0.02"/>
|
|
||||||
<joint name="rasmt_Slide_2" value="0.02"/>
|
|
||||||
</group_state>
|
|
||||||
<group_state name="full_open" group="rasmt_hand_arm_group">
|
|
||||||
<joint name="rasmt_Slide_1" value="0.06"/>
|
|
||||||
<joint name="rasmt_Slide_2" value="0.06"/>
|
|
||||||
</group_state>
|
|
||||||
<group_state name="full_close" group="rasmt_hand_arm_group">
|
|
||||||
<joint name="rasmt_Slide_1" value="0.0"/>
|
|
||||||
<joint name="rasmt_Slide_2" value="0.0"/>
|
|
||||||
</group_state-->
|
|
||||||
<!--END EFFECTOR: Purpose: Represent information about an end effector.-->
|
|
||||||
<!--end_effector name="rasmt_hand" parent_link="rasmt_Dock_Link" group="rasmt_hand_arm_group" parent_group="rasmt_arm_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="rasmt_Base_Link" link2="rasmt_Fork_1" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="rasmt_Base_Link" link2="rasmt_Fork_2" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Base_Link" link2="rasmt_Grip_R" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Base_Link" link2="rasmt_Link_1" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Dock_Link" link2="rasmt_Fork_2" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Dock_Link" link2="rasmt_Fork_3" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="rasmt_Dock_Link" link2="rasmt_Grip_Body" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="rasmt_Dock_Link" link2="rasmt_Grip_L" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Dock_Link" link2="rasmt_Grip_R" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Dock_Link" link2="rasmt_Link_2" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_1" link2="rasmt_Fork_2" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_1" link2="rasmt_Fork_3" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_1" link2="rasmt_Grip_R" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_1" link2="rasmt_Link_1" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_1" link2="rasmt_Link_2" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_2" link2="rasmt_Fork_3" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_2" link2="rasmt_Grip_Body" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_2" link2="rasmt_Grip_L" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_2" link2="rasmt_Grip_R" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_2" link2="rasmt_Link_1" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_2" link2="rasmt_Link_2" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_3" link2="rasmt_Grip_Body" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_3" link2="rasmt_Grip_L" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_3" link2="rasmt_Grip_R" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_3" link2="rasmt_Link_1" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Fork_3" link2="rasmt_Link_2" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="rasmt_Grip_Body" link2="rasmt_Grip_L" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="rasmt_Grip_Body" link2="rasmt_Grip_R" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="rasmt_Grip_Body" link2="rasmt_Link_2" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Grip_L" link2="rasmt_Grip_R" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Grip_L" link2="rasmt_Link_2" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Grip_R" link2="rasmt_Link_1" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Grip_R" link2="rasmt_Link_2" reason="Never"/>
|
|
||||||
<disable_collisions link1="rasmt_Link_1" link2="rasmt_Link_2" reason="Never"/>
|
|
||||||
</robot>
|
|
|
@ -1,401 +0,0 @@
|
||||||
Panels:
|
|
||||||
- Class: rviz_common/Displays
|
|
||||||
Help Height: 78
|
|
||||||
Name: Displays
|
|
||||||
Property Tree Widget:
|
|
||||||
Expanded: ~
|
|
||||||
Splitter Ratio: 0.5
|
|
||||||
Tree Height: 393
|
|
||||||
- Class: rviz_common/Selection
|
|
||||||
Name: Selection
|
|
||||||
- Class: rviz_common/Tool Properties
|
|
||||||
Expanded:
|
|
||||||
- /2D Goal Pose1
|
|
||||||
- /Publish Point1
|
|
||||||
Name: Tool Properties
|
|
||||||
Splitter Ratio: 0.5886790156364441
|
|
||||||
- Class: rviz_common/Views
|
|
||||||
Expanded:
|
|
||||||
- /Current View1
|
|
||||||
Name: Views
|
|
||||||
Splitter Ratio: 0.5
|
|
||||||
Visualization Manager:
|
|
||||||
Class: ""
|
|
||||||
Displays:
|
|
||||||
- Alpha: 0.5
|
|
||||||
Cell Size: 1
|
|
||||||
Class: rviz_default_plugins/Grid
|
|
||||||
Color: 160; 160; 164
|
|
||||||
Enabled: true
|
|
||||||
Line Style:
|
|
||||||
Line Width: 0.029999999329447746
|
|
||||||
Value: Lines
|
|
||||||
Name: Grid
|
|
||||||
Normal Cell Count: 0
|
|
||||||
Offset:
|
|
||||||
X: 0
|
|
||||||
Y: 0
|
|
||||||
Z: 0
|
|
||||||
Plane: XY
|
|
||||||
Plane Cell Count: 10
|
|
||||||
Reference Frame: <Fixed Frame>
|
|
||||||
Value: true
|
|
||||||
- Class: moveit_rviz_plugin/PlanningScene
|
|
||||||
Enabled: false
|
|
||||||
Move Group Namespace: ""
|
|
||||||
Name: PlanningScene
|
|
||||||
Planning Scene Topic: /monitored_planning_scene
|
|
||||||
Robot Description: robot_description
|
|
||||||
Scene Geometry:
|
|
||||||
Scene Alpha: 0.8999999761581421
|
|
||||||
Scene Color: 50; 230; 50
|
|
||||||
Scene Display Time: 0.009999999776482582
|
|
||||||
Show Scene Geometry: true
|
|
||||||
Voxel Coloring: Z-Axis
|
|
||||||
Voxel Rendering: Occupied Voxels
|
|
||||||
Scene Robot:
|
|
||||||
Attached Body Color: 150; 50; 150
|
|
||||||
Links:
|
|
||||||
All Links Enabled: true
|
|
||||||
Expand Joint Details: false
|
|
||||||
Expand Link Details: false
|
|
||||||
Expand Tree: false
|
|
||||||
Link Tree Style: Links in Alphabetic Order
|
|
||||||
Robot Alpha: 1
|
|
||||||
Show Robot Collision: false
|
|
||||||
Show Robot Visual: true
|
|
||||||
Value: false
|
|
||||||
- Acceleration_Scaling_Factor: 1
|
|
||||||
Class: moveit_rviz_plugin/MotionPlanning
|
|
||||||
Enabled: true
|
|
||||||
Move Group Namespace: ""
|
|
||||||
MoveIt_Allow_Approximate_IK: false
|
|
||||||
MoveIt_Allow_External_Program: false
|
|
||||||
MoveIt_Allow_Replanning: false
|
|
||||||
MoveIt_Allow_Sensor_Positioning: false
|
|
||||||
MoveIt_Planning_Attempts: 10
|
|
||||||
MoveIt_Planning_Time: 5
|
|
||||||
MoveIt_Use_Cartesian_Path: false
|
|
||||||
MoveIt_Use_Constraint_Aware_IK: false
|
|
||||||
MoveIt_Warehouse_Host: 127.0.0.1
|
|
||||||
MoveIt_Warehouse_Port: 33829
|
|
||||||
MoveIt_Workspace:
|
|
||||||
Center:
|
|
||||||
X: 0
|
|
||||||
Y: 0
|
|
||||||
Z: 0
|
|
||||||
Size:
|
|
||||||
X: 2
|
|
||||||
Y: 2
|
|
||||||
Z: 2
|
|
||||||
Name: MotionPlanning
|
|
||||||
Planned Path:
|
|
||||||
Color Enabled: false
|
|
||||||
Interrupt Display: false
|
|
||||||
Links:
|
|
||||||
All Links Enabled: true
|
|
||||||
Expand Joint Details: false
|
|
||||||
Expand Link Details: false
|
|
||||||
Expand Tree: false
|
|
||||||
Link Tree Style: Links in Alphabetic Order
|
|
||||||
rasmt_Base_Link:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Dock_Link:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Fork_1:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Fork_2:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Fork_3:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Grip_Body:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Grip_L:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Grip_R:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Link_1:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Link_2:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_tool0:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
world:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Loop Animation: false
|
|
||||||
Robot Alpha: 0.5
|
|
||||||
Robot Color: 150; 50; 150
|
|
||||||
Show Robot Collision: false
|
|
||||||
Show Robot Visual: true
|
|
||||||
Show Trail: false
|
|
||||||
State Display Time: 0.05 s
|
|
||||||
Trail Step Size: 1
|
|
||||||
Trajectory Topic: /display_planned_path
|
|
||||||
Planning Metrics:
|
|
||||||
Payload: 1
|
|
||||||
Show Joint Torques: false
|
|
||||||
Show Manipulability: false
|
|
||||||
Show Manipulability Index: false
|
|
||||||
Show Weight Limit: false
|
|
||||||
TextHeight: 0.07999999821186066
|
|
||||||
Planning Request:
|
|
||||||
Colliding Link Color: 255; 0; 0
|
|
||||||
Goal State Alpha: 1
|
|
||||||
Goal State Color: 250; 128; 0
|
|
||||||
Interactive Marker Size: 0
|
|
||||||
Joint Violation Color: 255; 0; 255
|
|
||||||
Planning Group: rasmt_arm_group
|
|
||||||
Query Goal State: true
|
|
||||||
Query Start State: false
|
|
||||||
Show Workspace: false
|
|
||||||
Start State Alpha: 1
|
|
||||||
Start State Color: 0; 255; 0
|
|
||||||
Planning Scene Topic: /monitored_planning_scene
|
|
||||||
Robot Description: robot_description
|
|
||||||
Scene Geometry:
|
|
||||||
Scene Alpha: 0.8999999761581421
|
|
||||||
Scene Color: 50; 230; 50
|
|
||||||
Scene Display Time: 0.009999999776482582
|
|
||||||
Show Scene Geometry: true
|
|
||||||
Voxel Coloring: Z-Axis
|
|
||||||
Voxel Rendering: Occupied Voxels
|
|
||||||
Scene Robot:
|
|
||||||
Attached Body Color: 150; 50; 150
|
|
||||||
Links:
|
|
||||||
All Links Enabled: true
|
|
||||||
Expand Joint Details: false
|
|
||||||
Expand Link Details: false
|
|
||||||
Expand Tree: false
|
|
||||||
Link Tree Style: Links in Alphabetic Order
|
|
||||||
rasmt_Base_Link:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Dock_Link:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Fork_1:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Fork_2:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Fork_3:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Grip_Body:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Grip_L:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Grip_R:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Link_1:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_Link_2:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Value: true
|
|
||||||
rasmt_tool0:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
world:
|
|
||||||
Alpha: 1
|
|
||||||
Show Axes: false
|
|
||||||
Show Trail: false
|
|
||||||
Robot Alpha: 1
|
|
||||||
Show Robot Collision: false
|
|
||||||
Show Robot Visual: true
|
|
||||||
Value: true
|
|
||||||
Velocity_Scaling_Factor: 1
|
|
||||||
- Class: rviz_default_plugins/TF
|
|
||||||
Enabled: true
|
|
||||||
Frame Timeout: 15
|
|
||||||
Frames:
|
|
||||||
All Enabled: true
|
|
||||||
rasmt_Base_Link:
|
|
||||||
Value: true
|
|
||||||
rasmt_Dock_Link:
|
|
||||||
Value: true
|
|
||||||
rasmt_Fork_1:
|
|
||||||
Value: true
|
|
||||||
rasmt_Fork_2:
|
|
||||||
Value: true
|
|
||||||
rasmt_Fork_3:
|
|
||||||
Value: true
|
|
||||||
rasmt_Grip_Body:
|
|
||||||
Value: true
|
|
||||||
rasmt_Grip_L:
|
|
||||||
Value: true
|
|
||||||
rasmt_Grip_R:
|
|
||||||
Value: true
|
|
||||||
rasmt_Link_1:
|
|
||||||
Value: true
|
|
||||||
rasmt_Link_2:
|
|
||||||
Value: true
|
|
||||||
rasmt_tool0:
|
|
||||||
Value: true
|
|
||||||
world:
|
|
||||||
Value: true
|
|
||||||
Marker Scale: 1
|
|
||||||
Name: TF
|
|
||||||
Show Arrows: true
|
|
||||||
Show Axes: true
|
|
||||||
Show Names: false
|
|
||||||
Tree:
|
|
||||||
world:
|
|
||||||
rasmt_Base_Link:
|
|
||||||
rasmt_Fork_1:
|
|
||||||
rasmt_Link_1:
|
|
||||||
rasmt_Fork_2:
|
|
||||||
rasmt_Link_2:
|
|
||||||
rasmt_Fork_3:
|
|
||||||
rasmt_Dock_Link:
|
|
||||||
rasmt_Grip_Body:
|
|
||||||
rasmt_Grip_L:
|
|
||||||
{}
|
|
||||||
rasmt_Grip_R:
|
|
||||||
{}
|
|
||||||
rasmt_tool0:
|
|
||||||
{}
|
|
||||||
Update Interval: 0
|
|
||||||
Value: true
|
|
||||||
Enabled: true
|
|
||||||
Global Options:
|
|
||||||
Background Color: 48; 48; 48
|
|
||||||
Fixed Frame: world
|
|
||||||
Frame Rate: 30
|
|
||||||
Name: root
|
|
||||||
Tools:
|
|
||||||
- Class: rviz_default_plugins/Interact
|
|
||||||
Hide Inactive Objects: true
|
|
||||||
- Class: rviz_default_plugins/MoveCamera
|
|
||||||
- Class: rviz_default_plugins/Select
|
|
||||||
- Class: rviz_default_plugins/FocusCamera
|
|
||||||
- Class: rviz_default_plugins/Measure
|
|
||||||
Line color: 128; 128; 0
|
|
||||||
- Class: rviz_default_plugins/SetInitialPose
|
|
||||||
Topic:
|
|
||||||
Depth: 5
|
|
||||||
Durability Policy: Volatile
|
|
||||||
History Policy: Keep Last
|
|
||||||
Reliability Policy: Reliable
|
|
||||||
Value: /initialpose
|
|
||||||
- Class: rviz_default_plugins/SetGoal
|
|
||||||
Topic:
|
|
||||||
Depth: 5
|
|
||||||
Durability Policy: Volatile
|
|
||||||
History Policy: Keep Last
|
|
||||||
Reliability Policy: Reliable
|
|
||||||
Value: /goal_pose
|
|
||||||
- Class: rviz_default_plugins/PublishPoint
|
|
||||||
Single click: true
|
|
||||||
Topic:
|
|
||||||
Depth: 5
|
|
||||||
Durability Policy: Volatile
|
|
||||||
History Policy: Keep Last
|
|
||||||
Reliability Policy: Reliable
|
|
||||||
Value: /clicked_point
|
|
||||||
Transformation:
|
|
||||||
Current:
|
|
||||||
Class: rviz_default_plugins/TF
|
|
||||||
Value: true
|
|
||||||
Views:
|
|
||||||
Current:
|
|
||||||
Class: rviz_default_plugins/Orbit
|
|
||||||
Distance: 2.575685977935791
|
|
||||||
Enable Stereo Rendering:
|
|
||||||
Stereo Eye Separation: 0.05999999865889549
|
|
||||||
Stereo Focal Distance: 1
|
|
||||||
Swap Stereo Eyes: false
|
|
||||||
Value: false
|
|
||||||
Focal Point:
|
|
||||||
X: 0.35113412141799927
|
|
||||||
Y: 0.04733692854642868
|
|
||||||
Z: 0.32357215881347656
|
|
||||||
Focal Shape Fixed Size: true
|
|
||||||
Focal Shape Size: 0.05000000074505806
|
|
||||||
Invert Z Axis: false
|
|
||||||
Name: Current View
|
|
||||||
Near Clip Distance: 0.009999999776482582
|
|
||||||
Pitch: 0.4853982627391815
|
|
||||||
Target Frame: <Fixed Frame>
|
|
||||||
Value: Orbit (rviz)
|
|
||||||
Yaw: 5.343599319458008
|
|
||||||
Saved: ~
|
|
||||||
Window Geometry:
|
|
||||||
Displays:
|
|
||||||
collapsed: false
|
|
||||||
Height: 1016
|
|
||||||
Hide Left Dock: false
|
|
||||||
Hide Right Dock: true
|
|
||||||
MotionPlanning:
|
|
||||||
collapsed: false
|
|
||||||
MotionPlanning - Trajectory Slider:
|
|
||||||
collapsed: false
|
|
||||||
QMainWindow State: 000000ff00000000fd0000000400000000000001f3000003a2fc020000000bfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b00000212000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000003f00fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e006701000002530000018a0000016900fffffffb000000280020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000000000000000000000010000010f0000039efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d0000039e000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d006501000000000000045000000000000000000000053f000003a200000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
|
||||||
Selection:
|
|
||||||
collapsed: false
|
|
||||||
Tool Properties:
|
|
||||||
collapsed: false
|
|
||||||
Views:
|
|
||||||
collapsed: true
|
|
||||||
Width: 1848
|
|
||||||
X: 72
|
|
||||||
Y: 27
|
|
|
@ -1,23 +0,0 @@
|
||||||
controller_names:
|
|
||||||
- rasmt_arm_controller
|
|
||||||
- rasmt_hand_controller
|
|
||||||
|
|
||||||
rasmt_arm_controller:
|
|
||||||
action_ns: follow_joint_trajectory
|
|
||||||
type: FollowJointTrajectory
|
|
||||||
default: true
|
|
||||||
joints:
|
|
||||||
- rasmt_Rot_Z_1
|
|
||||||
- rasmt_Rot_Y_1
|
|
||||||
- rasmt_Rot_Z_2
|
|
||||||
- rasmt_Rot_Y_2
|
|
||||||
- rasmt_Rot_Z_3
|
|
||||||
- rasmt_Rot_Y_4
|
|
||||||
|
|
||||||
rasmt_hand_controller:
|
|
||||||
action_ns: follow_joint_trajectory
|
|
||||||
type: FollowJointTrajectory
|
|
||||||
default: true
|
|
||||||
joints:
|
|
||||||
- rasmt_Slide_1
|
|
||||||
- rasmt_Slide_2
|
|
|
@ -1,208 +0,0 @@
|
||||||
import os
|
|
||||||
import yaml
|
|
||||||
|
|
||||||
from launch import LaunchDescription
|
|
||||||
from launch.actions import DeclareLaunchArgument, OpaqueFunction
|
|
||||||
from launch.substitutions import LaunchConfiguration, PathJoinSubstitution
|
|
||||||
from launch_ros.actions import Node
|
|
||||||
from launch_ros.substitutions import FindPackageShare
|
|
||||||
|
|
||||||
from ament_index_python import get_package_share_directory
|
|
||||||
|
|
||||||
|
|
||||||
def load_yaml(package_name: str, file_path: str):
|
|
||||||
package_path = get_package_share_directory(package_name)
|
|
||||||
absolute_file_path = os.path.join(package_path, file_path)
|
|
||||||
|
|
||||||
try:
|
|
||||||
with open(absolute_file_path, "r") as f:
|
|
||||||
return yaml.safe_load(f)
|
|
||||||
except EnvironmentError:
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
def load_file(package_name: str, file_path: str) -> str:
|
|
||||||
package_path = get_package_share_directory(package_name)
|
|
||||||
absolut_file_path = os.path.join(package_path, file_path)
|
|
||||||
|
|
||||||
try:
|
|
||||||
with open(absolut_file_path, "r") as f:
|
|
||||||
return f.read()
|
|
||||||
except EnvironmentError:
|
|
||||||
return None
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
|
|
||||||
# Launch arguments
|
|
||||||
launch_args = []
|
|
||||||
|
|
||||||
launch_args.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
name="robot_description",
|
|
||||||
description="Robot description XML file."
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
"""launch_args.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
name="robot_name",
|
|
||||||
default_value="rasmt",
|
|
||||||
description=""
|
|
||||||
)
|
|
||||||
)"""
|
|
||||||
|
|
||||||
launch_args.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
name="sim",
|
|
||||||
default_value="true",
|
|
||||||
description="Launch robot in simulation or on real setup."
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Evaluate frequently used variables
|
|
||||||
#robot_name = LaunchConfiguration("robot_name").perform()
|
|
||||||
|
|
||||||
# Configure robot_description
|
|
||||||
robot_description = {"robot_description": LaunchConfiguration("robot_description")}
|
|
||||||
|
|
||||||
# Robot semantics SRDF
|
|
||||||
robot_description_semantic = {
|
|
||||||
"robot_description_semantic": load_file("rasmt_moveit_config", "config/rasmt.srdf")
|
|
||||||
}
|
|
||||||
|
|
||||||
# Kinematics
|
|
||||||
kinematics_yaml = load_yaml("rasmt_moveit_config", "config/kinematics.yaml")
|
|
||||||
|
|
||||||
# Update group name
|
|
||||||
|
|
||||||
# Joint limits
|
|
||||||
robot_description_planning = {
|
|
||||||
"robot_description_planning": PathJoinSubstitution(
|
|
||||||
[
|
|
||||||
FindPackageShare("rasmt_moveit_config"),
|
|
||||||
"config/joint_limits.yaml"
|
|
||||||
]
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Planning
|
|
||||||
ompl_yaml = load_yaml("rasmt_moveit_config", "config/ompl_planning.yaml")
|
|
||||||
|
|
||||||
planning = {
|
|
||||||
"move_group": {
|
|
||||||
"planning_plugin": "ompl_interface/OMPLPlanner",
|
|
||||||
"request_adapters": "default_planner_request_adapters/AddTimeParameterization default_planner_request_adapters/FixWorkspaceBounds default_planner_request_adapters/FixStartStateBounds default_planner_request_adapters/FixStartStateCollision default_planner_request_adapters/FixStartStatePathConstraints",
|
|
||||||
"start_state_max_bounds_error": 0.1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Trajectory execution
|
|
||||||
trajectory_execution = {
|
|
||||||
"moveit_manage_controllers": True,
|
|
||||||
"trajectory_execution.allowed_execution_duration_scaling": 1.2,
|
|
||||||
"trajectory_execution.allowed_goal_duration_margin": 0.5,
|
|
||||||
"trajectory_execution.allowed_start_tolerance": 0.01,
|
|
||||||
}
|
|
||||||
|
|
||||||
# Controllers
|
|
||||||
controllers_yaml = load_yaml(
|
|
||||||
"rasmt_moveit_config",
|
|
||||||
"config/rasmt_moveit_controllers.yaml"
|
|
||||||
)
|
|
||||||
|
|
||||||
moveit_controllers = {"moveit_simple_controller_manager": controllers_yaml,
|
|
||||||
"moveit_controller_manager": "moveit_simple_controller_manager/MoveItSimpleControllerManager"}
|
|
||||||
|
|
||||||
# Planning scene
|
|
||||||
planning_scene_monitor_parameters = {"publish_planning_scene": True,
|
|
||||||
"publish_geometry_updates": True,
|
|
||||||
"publish_state_updates": True,
|
|
||||||
"publish_transforms_updates": True}
|
|
||||||
|
|
||||||
# Time configuration
|
|
||||||
use_sim_time = {"use_sime_time": LaunchConfiguration("sim")}
|
|
||||||
|
|
||||||
# Prepare move group node
|
|
||||||
move_group_node = Node(
|
|
||||||
package="moveit_ros_move_group",
|
|
||||||
executable="move_group",
|
|
||||||
output="screen",
|
|
||||||
arguments=["--ros-args"],
|
|
||||||
parameters=[
|
|
||||||
robot_description,
|
|
||||||
robot_description_semantic,
|
|
||||||
kinematics_yaml,
|
|
||||||
robot_description_planning,
|
|
||||||
ompl_yaml,
|
|
||||||
planning,
|
|
||||||
trajectory_execution,
|
|
||||||
moveit_controllers,
|
|
||||||
planning_scene_monitor_parameters,
|
|
||||||
use_sim_time
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
# RViz
|
|
||||||
rviz_config = PathJoinSubstitution([FindPackageShare("rasmt_moveit_config"), "config/rasmt_moveit.rviz"])
|
|
||||||
|
|
||||||
rviz = Node(
|
|
||||||
package="rviz2",
|
|
||||||
executable="rviz2",
|
|
||||||
parameters=[
|
|
||||||
robot_description,
|
|
||||||
robot_description_semantic,
|
|
||||||
kinematics_yaml,
|
|
||||||
planning,
|
|
||||||
use_sim_time
|
|
||||||
],
|
|
||||||
arguments=[
|
|
||||||
'-d', rviz_config
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
# move_topose_action_server = Node(
|
|
||||||
# package="robossembler_servers",
|
|
||||||
# executable="move_topose_action_server",
|
|
||||||
# name="move_to_pose_moveit",
|
|
||||||
# parameters=[
|
|
||||||
# robot_description,
|
|
||||||
# robot_description_semantic,
|
|
||||||
# kinematics_yaml,
|
|
||||||
# robot_description_planning,
|
|
||||||
# ompl_yaml,
|
|
||||||
# planning,
|
|
||||||
# trajectory_execution,
|
|
||||||
# moveit_controllers,
|
|
||||||
# planning_scene_monitor_parameters,
|
|
||||||
# use_sim_time
|
|
||||||
# ]
|
|
||||||
# )
|
|
||||||
|
|
||||||
# move_cartesian_path_action_server = Node(
|
|
||||||
# package="robossembler_servers",
|
|
||||||
# executable="move_cartesian_path_action_server",
|
|
||||||
# name="move_cartesian_path_action_server",
|
|
||||||
# parameters=[
|
|
||||||
# robot_description,
|
|
||||||
# robot_description_semantic,
|
|
||||||
# kinematics_yaml,
|
|
||||||
# robot_description_planning,
|
|
||||||
# ompl_yaml,
|
|
||||||
# planning,
|
|
||||||
# trajectory_execution,
|
|
||||||
# moveit_controllers,
|
|
||||||
# planning_scene_monitor_parameters,
|
|
||||||
# use_sim_time
|
|
||||||
# ]
|
|
||||||
# )
|
|
||||||
|
|
||||||
launch_nodes = []
|
|
||||||
launch_nodes.append(rviz)
|
|
||||||
launch_nodes.append(move_group_node)
|
|
||||||
# launch_nodes.append(move_topose_action_server)
|
|
||||||
# launch_nodes.append(move_cartesian_path_action_server)
|
|
||||||
# launch_nodes.append(move_to_joint_state_action_server)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return LaunchDescription(launch_args + launch_nodes)
|
|
|
@ -1,19 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
|
||||||
<package format="3">
|
|
||||||
<name>rasmt_moveit_config</name>
|
|
||||||
<version>0.0.0</version>
|
|
||||||
<description>robossembler moveit configuration for rasmt robot.</description>
|
|
||||||
<maintainer email="ur.narmak@gmail.com">bill-finger</maintainer>
|
|
||||||
<license>BCD</license>
|
|
||||||
|
|
||||||
<buildtool_depend>ament_cmake</buildtool_depend>
|
|
||||||
|
|
||||||
<!--exec_depend>rviz2</exec_depend>
|
|
||||||
<exec_depend>moveit_ros_move_group</exec_depend>
|
|
||||||
<exec_depend>moveit_planners</exec_depend-->
|
|
||||||
|
|
||||||
<export>
|
|
||||||
<build_type>ament_cmake</build_type>
|
|
||||||
</export>
|
|
||||||
</package>
|
|
|
@ -1,40 +0,0 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
|
||||||
project(rasmt_support)
|
|
||||||
|
|
||||||
# Default to C99
|
|
||||||
if(NOT CMAKE_C_STANDARD)
|
|
||||||
set(CMAKE_C_STANDARD 99)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Default to C++14
|
|
||||||
if(NOT CMAKE_CXX_STANDARD)
|
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
||||||
add_compile_options(-Wall -Wextra -Wpedantic)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# find dependencies
|
|
||||||
find_package(ament_cmake REQUIRED)
|
|
||||||
find_package(urdf REQUIRED)
|
|
||||||
find_package(xacro REQUIRED)
|
|
||||||
|
|
||||||
if(BUILD_TESTING)
|
|
||||||
find_package(ament_lint_auto REQUIRED)
|
|
||||||
# the following line skips the linter which checks for copyrights
|
|
||||||
# uncomment the line when a copyright and license is not present in all source files
|
|
||||||
#set(ament_cmake_copyright_FOUND TRUE)
|
|
||||||
# the following line skips cpplint (only works in a git repo)
|
|
||||||
# uncomment the line when this package is not in a git repo
|
|
||||||
#set(ament_cmake_cpplint_FOUND TRUE)
|
|
||||||
ament_lint_auto_find_test_dependencies()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(DIRECTORY urdf DESTINATION share/${PROJECT_NAME})
|
|
||||||
install(DIRECTORY meshes DESTINATION share/${PROJECT_NAME})
|
|
||||||
install(DIRECTORY config DESTINATION share/${PROJECT_NAME})
|
|
||||||
install(DIRECTORY launch DESTINATION share/${PROJECT_NAME})
|
|
||||||
install(DIRECTORY world DESTINATION share/${PROJECT_NAME})
|
|
||||||
|
|
||||||
ament_package()
|
|
|
@ -1,42 +0,0 @@
|
||||||
# Robossembler package for description of robot2
|
|
||||||
|
|
||||||
This package consists of files describing the AQUA model of the robot, the entire scene and the gripper device. It also contains startup files for launching robot controllers and simulations in gazebo.
|
|
||||||
|
|
||||||
```
|
|
||||||
.
|
|
||||||
├── CMakeLists.txt
|
|
||||||
├── config
|
|
||||||
│ ├── rasmt_effort_controllers.yaml # File describing the robot controllers
|
|
||||||
│ └── rasmt.rviz
|
|
||||||
├── launch
|
|
||||||
│ ├── rasmt_control.launch.py # Launch file for running robot controlles
|
|
||||||
│ ├── rasmt_gazebo.launch.py # File for running gazebo simulation
|
|
||||||
│ └── rviz.launch.py # File for running RViz visualisation
|
|
||||||
├── meshes
|
|
||||||
│ ├── collision
|
|
||||||
│ │ ├── Base_Link.stl
|
|
||||||
│ │ ├── cube5x.stl
|
|
||||||
│ │ ├── Dock_Link.stl
|
|
||||||
│ │ ├── Fork_1.stl
|
|
||||||
│ │ ├── Fork_2.stl
|
|
||||||
│ │ ├── Fork_3.stl
|
|
||||||
│ │ ├── Grip_Body.stl
|
|
||||||
│ │ ├── Grip_L.stl
|
|
||||||
│ │ ├── Grip_R.stl
|
|
||||||
│ │ ├── Link_1.stl
|
|
||||||
│ │ └── Link_2.stl
|
|
||||||
│ └── visual
|
|
||||||
├── package.xml
|
|
||||||
├── README.md
|
|
||||||
└── urdf
|
|
||||||
├── cube5x.sdf # The cube inside which the robot works
|
|
||||||
├── rasmt.xacro # Main Robot scene description file
|
|
||||||
├── robot # Single robot description files
|
|
||||||
│ ├── rasmt_single_control.xacro
|
|
||||||
│ ├── rasmt_single_gazebo.xacro
|
|
||||||
│ └── rasmt_single_macro.xacro
|
|
||||||
└── tools # Robot tool description files
|
|
||||||
├── rasmt_hand_control.xacro
|
|
||||||
├── rasmt_hand_gazebo.xacro
|
|
||||||
└── rasmt_hand_macro.xacro
|
|
||||||
```
|
|
|
@ -1,146 +0,0 @@
|
||||||
Panels:
|
|
||||||
- Class: rviz_common/Displays
|
|
||||||
Help Height: 78
|
|
||||||
Name: Displays
|
|
||||||
Property Tree Widget:
|
|
||||||
Expanded:
|
|
||||||
- /Global Options1
|
|
||||||
- /Status1
|
|
||||||
Splitter Ratio: 0.5
|
|
||||||
Tree Height: 787
|
|
||||||
- Class: rviz_common/Selection
|
|
||||||
Name: Selection
|
|
||||||
- Class: rviz_common/Tool Properties
|
|
||||||
Expanded:
|
|
||||||
- /2D Goal Pose1
|
|
||||||
- /Publish Point1
|
|
||||||
Name: Tool Properties
|
|
||||||
Splitter Ratio: 0.5886790156364441
|
|
||||||
- Class: rviz_common/Views
|
|
||||||
Expanded:
|
|
||||||
- /Current View1
|
|
||||||
Name: Views
|
|
||||||
Splitter Ratio: 0.5
|
|
||||||
Visualization Manager:
|
|
||||||
Class: ""
|
|
||||||
Displays:
|
|
||||||
- Alpha: 0.5
|
|
||||||
Cell Size: 1
|
|
||||||
Class: rviz_default_plugins/Grid
|
|
||||||
Color: 160; 160; 164
|
|
||||||
Enabled: true
|
|
||||||
Line Style:
|
|
||||||
Line Width: 0.029999999329447746
|
|
||||||
Value: Lines
|
|
||||||
Name: Grid
|
|
||||||
Normal Cell Count: 0
|
|
||||||
Offset:
|
|
||||||
X: 0
|
|
||||||
Y: 0
|
|
||||||
Z: 0
|
|
||||||
Plane: XY
|
|
||||||
Plane Cell Count: 10
|
|
||||||
Reference Frame: <Fixed Frame>
|
|
||||||
Value: true
|
|
||||||
- Alpha: 1
|
|
||||||
Class: rviz_default_plugins/RobotModel
|
|
||||||
Collision Enabled: false
|
|
||||||
Description File: ""
|
|
||||||
Description Source: Topic
|
|
||||||
Description Topic:
|
|
||||||
Depth: 5
|
|
||||||
Durability Policy: Volatile
|
|
||||||
History Policy: Keep Last
|
|
||||||
Reliability Policy: Reliable
|
|
||||||
Value: /robot_description
|
|
||||||
Enabled: true
|
|
||||||
Links:
|
|
||||||
All Links Enabled: true
|
|
||||||
Expand Joint Details: false
|
|
||||||
Expand Link Details: false
|
|
||||||
Expand Tree: false
|
|
||||||
Link Tree Style: ""
|
|
||||||
Name: RobotModel
|
|
||||||
TF Prefix: ""
|
|
||||||
Update Interval: 0
|
|
||||||
Value: true
|
|
||||||
Visual Enabled: true
|
|
||||||
Enabled: true
|
|
||||||
Global Options:
|
|
||||||
Background Color: 48; 48; 48
|
|
||||||
Fixed Frame: world
|
|
||||||
Frame Rate: 30
|
|
||||||
Name: root
|
|
||||||
Tools:
|
|
||||||
- Class: rviz_default_plugins/Interact
|
|
||||||
Hide Inactive Objects: true
|
|
||||||
- Class: rviz_default_plugins/MoveCamera
|
|
||||||
- Class: rviz_default_plugins/Select
|
|
||||||
- Class: rviz_default_plugins/FocusCamera
|
|
||||||
- Class: rviz_default_plugins/Measure
|
|
||||||
Line color: 128; 128; 0
|
|
||||||
- Class: rviz_default_plugins/SetInitialPose
|
|
||||||
Topic:
|
|
||||||
Depth: 5
|
|
||||||
Durability Policy: Volatile
|
|
||||||
History Policy: Keep Last
|
|
||||||
Reliability Policy: Reliable
|
|
||||||
Value: /initialpose
|
|
||||||
- Class: rviz_default_plugins/SetGoal
|
|
||||||
Topic:
|
|
||||||
Depth: 5
|
|
||||||
Durability Policy: Volatile
|
|
||||||
History Policy: Keep Last
|
|
||||||
Reliability Policy: Reliable
|
|
||||||
Value: /goal_pose
|
|
||||||
- Class: rviz_default_plugins/PublishPoint
|
|
||||||
Single click: true
|
|
||||||
Topic:
|
|
||||||
Depth: 5
|
|
||||||
Durability Policy: Volatile
|
|
||||||
History Policy: Keep Last
|
|
||||||
Reliability Policy: Reliable
|
|
||||||
Value: /clicked_point
|
|
||||||
Transformation:
|
|
||||||
Current:
|
|
||||||
Class: rviz_default_plugins/TF
|
|
||||||
Value: true
|
|
||||||
Views:
|
|
||||||
Current:
|
|
||||||
Class: rviz_default_plugins/Orbit
|
|
||||||
Distance: 2.053321123123169
|
|
||||||
Enable Stereo Rendering:
|
|
||||||
Stereo Eye Separation: 0.05999999865889549
|
|
||||||
Stereo Focal Distance: 1
|
|
||||||
Swap Stereo Eyes: false
|
|
||||||
Value: false
|
|
||||||
Focal Point:
|
|
||||||
X: 0.35200047492980957
|
|
||||||
Y: 0.026240859180688858
|
|
||||||
Z: 0.2903156876564026
|
|
||||||
Focal Shape Fixed Size: true
|
|
||||||
Focal Shape Size: 0.05000000074505806
|
|
||||||
Invert Z Axis: false
|
|
||||||
Name: Current View
|
|
||||||
Near Clip Distance: 0.009999999776482582
|
|
||||||
Pitch: 0.680398166179657
|
|
||||||
Target Frame: <Fixed Frame>
|
|
||||||
Value: Orbit (rviz)
|
|
||||||
Yaw: 5.493580341339111
|
|
||||||
Saved: ~
|
|
||||||
Window Geometry:
|
|
||||||
Displays:
|
|
||||||
collapsed: false
|
|
||||||
Height: 1016
|
|
||||||
Hide Left Dock: false
|
|
||||||
Hide Right Dock: false
|
|
||||||
QMainWindow State: 000000ff00000000fd0000000400000000000001560000039efc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d0000039e000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f0000039efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d0000039e000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d00650100000000000004500000000000000000000004c70000039e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
|
||||||
Selection:
|
|
||||||
collapsed: false
|
|
||||||
Tool Properties:
|
|
||||||
collapsed: false
|
|
||||||
Views:
|
|
||||||
collapsed: false
|
|
||||||
Width: 1848
|
|
||||||
X: 72
|
|
||||||
Y: 27
|
|
|
@ -1,80 +0,0 @@
|
||||||
controller_manager:
|
|
||||||
ros__parameters:
|
|
||||||
update_rate: 250
|
|
||||||
|
|
||||||
joint_state_broadcaster:
|
|
||||||
type: joint_state_broadcaster/JointStateBroadcaster
|
|
||||||
|
|
||||||
rasmt_arm_controller:
|
|
||||||
type: effort_controllers/JointGroupEffortController
|
|
||||||
|
|
||||||
rasmt_hand_controller:
|
|
||||||
type: effort_controllers/JointGroupEffortController
|
|
||||||
|
|
||||||
rasmt_arm_controller:
|
|
||||||
ros__parameters:
|
|
||||||
joints:
|
|
||||||
- rasmt_Rot_Z_1
|
|
||||||
- rasmt_Rot_Y_1
|
|
||||||
- rasmt_Rot_Z_2
|
|
||||||
- rasmt_Rot_Y_2
|
|
||||||
- rasmt_Rot_Z_3
|
|
||||||
- rasmt_Rot_Y_4
|
|
||||||
command_interfaces:
|
|
||||||
- effort
|
|
||||||
state_interfaces:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
||||||
gains:
|
|
||||||
rasmt_Rot_Z_1:
|
|
||||||
p: 4000.0
|
|
||||||
d: 10.0
|
|
||||||
i: 250.0
|
|
||||||
i_clamp: 15.0
|
|
||||||
rasmt_Rot_Y_1:
|
|
||||||
p: 10000.0
|
|
||||||
d: 25.0
|
|
||||||
i: 600.0
|
|
||||||
i_clamp: 45.0
|
|
||||||
rasmt_Rot_Z_2:
|
|
||||||
p: 8000.0
|
|
||||||
d: 20.0
|
|
||||||
i: 450.0
|
|
||||||
i_clamp: 30.0
|
|
||||||
rasmt_Rot_Y_2:
|
|
||||||
p: 6000.0
|
|
||||||
d: 15.0
|
|
||||||
i: 300.0
|
|
||||||
i_clamp: 30.0
|
|
||||||
rasmt_Rot_Z_3:
|
|
||||||
p: 3000.0
|
|
||||||
d: 5.0
|
|
||||||
i: 175.0
|
|
||||||
i_clamp: 7.0
|
|
||||||
rasmt_Rot_Y_4:
|
|
||||||
p: 2500.0
|
|
||||||
d: 3.0
|
|
||||||
i: 150.0
|
|
||||||
i_clamp: 6.0
|
|
||||||
|
|
||||||
rasmt_hand_controller:
|
|
||||||
ros__parameters:
|
|
||||||
joints:
|
|
||||||
- rasmt_Slide_1
|
|
||||||
- rasmt_Slide_2
|
|
||||||
command_interfaces:
|
|
||||||
- effort
|
|
||||||
state_interfaces:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
||||||
gains:
|
|
||||||
rasmt_Slide_1:
|
|
||||||
p: 225.0
|
|
||||||
d: 0.001
|
|
||||||
i: 0.4
|
|
||||||
i_clamp: 4.0
|
|
||||||
rasmt_Slide_2:
|
|
||||||
p: 225.0
|
|
||||||
d: 0.001
|
|
||||||
i: 0.4
|
|
||||||
i_clamp: 4.0
|
|
|
@ -1,39 +0,0 @@
|
||||||
controller_manager:
|
|
||||||
ros__parameters:
|
|
||||||
update_rate: 1000 # Hz
|
|
||||||
|
|
||||||
rasmt_arm_controller:
|
|
||||||
type: joint_trajectory_controller/JointTrajectoryController
|
|
||||||
|
|
||||||
rasmt_hand_controller:
|
|
||||||
type: joint_trajectory_controller/JointTrajectoryController
|
|
||||||
|
|
||||||
joint_state_broadcaster:
|
|
||||||
type: joint_state_broadcaster/JointStateBroadcaster
|
|
||||||
|
|
||||||
|
|
||||||
rasmt_arm_controller:
|
|
||||||
ros__parameters:
|
|
||||||
joints:
|
|
||||||
- rasmt_Rot_Z_1
|
|
||||||
- rasmt_Rot_Y_1
|
|
||||||
- rasmt_Rot_Z_2
|
|
||||||
- rasmt_Rot_Y_2
|
|
||||||
- rasmt_Rot_Z_3
|
|
||||||
- rasmt_Rot_Y_4
|
|
||||||
command_interfaces:
|
|
||||||
- position
|
|
||||||
state_interfaces:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
||||||
|
|
||||||
rasmt_hand_controller:
|
|
||||||
ros__parameters:
|
|
||||||
joints:
|
|
||||||
- rasmt_Slide_1
|
|
||||||
- rasmt_Slide_2
|
|
||||||
command_interfaces:
|
|
||||||
- position
|
|
||||||
state_interfaces:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
|
@ -1,41 +0,0 @@
|
||||||
controller_manager:
|
|
||||||
ros__parameters:
|
|
||||||
update_rate: 1000 # Hz
|
|
||||||
|
|
||||||
rasmt_arm_controller:
|
|
||||||
type: joint_trajectory_controller/JointTrajectoryController
|
|
||||||
|
|
||||||
rasmt_hand_controller:
|
|
||||||
type: joint_trajectory_controller/JointTrajectoryController
|
|
||||||
|
|
||||||
joint_state_broadcaster:
|
|
||||||
type: joint_state_broadcaster/JointStateBroadcaster
|
|
||||||
|
|
||||||
|
|
||||||
rasmt_arm_controller:
|
|
||||||
ros__parameters:
|
|
||||||
joints:
|
|
||||||
- rasmt_Rot_Z_1
|
|
||||||
- rasmt_Rot_Y_1
|
|
||||||
- rasmt_Rot_Z_2
|
|
||||||
- rasmt_Rot_Y_2
|
|
||||||
- rasmt_Rot_Z_3
|
|
||||||
- rasmt_Rot_Y_4
|
|
||||||
command_interfaces:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
||||||
state_interfaces:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
||||||
|
|
||||||
rasmt_hand_controller:
|
|
||||||
ros__parameters:
|
|
||||||
joints:
|
|
||||||
- rasmt_Slide_1
|
|
||||||
- rasmt_Slide_2
|
|
||||||
command_interfaces:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
||||||
state_interfaces:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
|
@ -1,84 +0,0 @@
|
||||||
from numpy import load
|
|
||||||
from launch.launch_description import LaunchDescription
|
|
||||||
from launch.actions import DeclareLaunchArgument, ExecuteProcess
|
|
||||||
from launch.conditions import UnlessCondition, IfCondition
|
|
||||||
from launch.substitutions import PathJoinSubstitution, LaunchConfiguration
|
|
||||||
from launch_ros.actions import Node
|
|
||||||
from launch_ros.substitutions import FindPackageShare
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
|
|
||||||
# Launch arguments
|
|
||||||
launch_args = []
|
|
||||||
|
|
||||||
launch_args.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
name="robot_description",
|
|
||||||
description="Robot description XML file."
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
launch_args.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
name="sim",
|
|
||||||
default_value="true",
|
|
||||||
description="Launch robot in simulation or on real setup."
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Configure robot_description
|
|
||||||
robot_description = {"robot_description": LaunchConfiguration("robot_description")}
|
|
||||||
# Load controllers from YAML configuration file
|
|
||||||
controller_configurations = PathJoinSubstitution([
|
|
||||||
FindPackageShare("rasmt_support"),
|
|
||||||
"config",
|
|
||||||
"rasmt_position_velocity_controllers.yaml"
|
|
||||||
])
|
|
||||||
|
|
||||||
# Prepare controller manager and other required nodes
|
|
||||||
# ros2_control_node = Node(
|
|
||||||
# package="controller_manager",
|
|
||||||
# executable="ros2_control_node",
|
|
||||||
# parameters=[robot_description, controller_configurations],
|
|
||||||
# output={
|
|
||||||
# "stdout": "screen",
|
|
||||||
# "stderr": "screen",
|
|
||||||
# },
|
|
||||||
# )
|
|
||||||
|
|
||||||
robot_state_publisher = Node(
|
|
||||||
package="robot_state_publisher",
|
|
||||||
executable="robot_state_publisher",
|
|
||||||
output="screen",
|
|
||||||
parameters=[robot_description]
|
|
||||||
)
|
|
||||||
|
|
||||||
# action_server_controller_hand_node = Node(
|
|
||||||
# package="robossembler_servers",
|
|
||||||
# executable="gripper_cmd_node"
|
|
||||||
# )
|
|
||||||
|
|
||||||
|
|
||||||
# Load controllers
|
|
||||||
load_controllers = []
|
|
||||||
for controller in [
|
|
||||||
"rasmt_arm_controller",
|
|
||||||
"rasmt_hand_controller",
|
|
||||||
"joint_state_broadcaster",
|
|
||||||
]:
|
|
||||||
load_controllers += [
|
|
||||||
ExecuteProcess(
|
|
||||||
cmd=["ros2 control load_controller --set-state start {}".format(controller)],
|
|
||||||
shell=True,
|
|
||||||
output="screen",
|
|
||||||
)
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
return LaunchDescription(
|
|
||||||
[
|
|
||||||
robot_state_publisher
|
|
||||||
]
|
|
||||||
+ load_controllers
|
|
||||||
+ launch_args
|
|
||||||
)
|
|
|
@ -1,73 +0,0 @@
|
||||||
from launch.launch_description import LaunchDescription
|
|
||||||
from launch.actions import IncludeLaunchDescription, DeclareLaunchArgument
|
|
||||||
from launch.substitutions import PathJoinSubstitution, LaunchConfiguration, FindExecutable, Command
|
|
||||||
from launch_ros.substitutions import FindPackageShare
|
|
||||||
from launch_ros.actions import Node
|
|
||||||
from launch.launch_description_sources import PythonLaunchDescriptionSource
|
|
||||||
import xacro
|
|
||||||
import os
|
|
||||||
from ament_index_python import get_package_share_directory
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
|
|
||||||
launch_args = []
|
|
||||||
launch_args.append(DeclareLaunchArgument(
|
|
||||||
name="robot_name",
|
|
||||||
default_value="rasmt",
|
|
||||||
description="Set robot name in gazebo env"
|
|
||||||
))
|
|
||||||
|
|
||||||
world_file = os.path.join(get_package_share_directory("rasmt_support"), "world", "robossembler.world")
|
|
||||||
#test_world_file = "/home/bill-finger/gazebo_pkgs_ws/gazebo-pkgs/gazebo_grasp_plugin/test_world/test_world_full.world"
|
|
||||||
|
|
||||||
# gzserver = IncludeLaunchDescription(
|
|
||||||
# PythonLaunchDescriptionSource(
|
|
||||||
# os.path.join(get_package_share_directory("gazebo_ros"), 'launch', 'gzserver.launch.py'),
|
|
||||||
# ), launch_arguments={'world':world_file}.items()
|
|
||||||
# )
|
|
||||||
# gzclient = IncludeLaunchDescription(
|
|
||||||
# PythonLaunchDescriptionSource(
|
|
||||||
# os.path.join(get_package_share_directory("gazebo_ros"), 'launch', 'gzclient.launch.py'),
|
|
||||||
# )
|
|
||||||
# )
|
|
||||||
|
|
||||||
gazebo = IncludeLaunchDescription(
|
|
||||||
PythonLaunchDescriptionSource(
|
|
||||||
os.path.join(get_package_share_directory("gazebo_ros"), 'launch', 'gazebo.launch.py'),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
"""xacro_file = os.path.join(get_package_share_directory("rasmt_support"),"urdf/","rasmt.xacro")
|
|
||||||
# get error if xacro file if missing
|
|
||||||
assert os.path.exists(xacro_file), "The xacro file of rasmt.xacro doesnt exist"+str(xacro_file)"""
|
|
||||||
|
|
||||||
#sdf_file = os.path.join(get_package_share_directory("rasmt_support"),"urdf/","cube5x.sdf")
|
|
||||||
|
|
||||||
|
|
||||||
spawn_entity = Node(
|
|
||||||
package="gazebo_ros",
|
|
||||||
executable="spawn_entity.py",
|
|
||||||
arguments=[
|
|
||||||
"-topic", "/robot_description",
|
|
||||||
"-entity", LaunchConfiguration("robot_name")
|
|
||||||
],
|
|
||||||
output="screen"
|
|
||||||
)
|
|
||||||
"""cube_spawn = Node(
|
|
||||||
package="gazebo_ros",
|
|
||||||
executable="spawn_entity.py",
|
|
||||||
arguments=[
|
|
||||||
"-file", sdf_file,
|
|
||||||
"-entity", "cube_station"
|
|
||||||
]
|
|
||||||
)"""
|
|
||||||
|
|
||||||
launch_nodes = []
|
|
||||||
launch_nodes.append(gazebo)
|
|
||||||
#launch_nodes.append(gzserver)
|
|
||||||
#launch_nodes.append(gzclient)
|
|
||||||
launch_nodes.append(spawn_entity)
|
|
||||||
#launch_nodes.append(cube_spawn)
|
|
||||||
|
|
||||||
return LaunchDescription(launch_args + launch_nodes)
|
|
|
@ -1,71 +0,0 @@
|
||||||
from launch import LaunchDescription
|
|
||||||
from launch.actions import (
|
|
||||||
DeclareLaunchArgument,
|
|
||||||
IncludeLaunchDescription,
|
|
||||||
OpaqueFunction,
|
|
||||||
RegisterEventHandler,
|
|
||||||
)
|
|
||||||
from launch.conditions import IfCondition, UnlessCondition
|
|
||||||
from launch.event_handlers import OnProcessExit
|
|
||||||
from launch.launch_description_sources import PythonLaunchDescriptionSource
|
|
||||||
from launch.substitutions import Command, FindExecutable, LaunchConfiguration, PathJoinSubstitution
|
|
||||||
from launch_ros.actions import Node
|
|
||||||
from launch_ros.substitutions import FindPackageShare
|
|
||||||
import xacro
|
|
||||||
import os
|
|
||||||
from ament_index_python import get_package_share_directory
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
|
|
||||||
launch_args = []
|
|
||||||
launch_args.append(DeclareLaunchArgument(
|
|
||||||
name="robot_name",
|
|
||||||
default_value="rasmt",
|
|
||||||
description="Set robot name in gazebo env"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
launch_args.append(DeclareLaunchArgument(
|
|
||||||
name="robot_description_content",
|
|
||||||
description="Robot XML file"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
#robot_description_content = {"robot_description":LaunchConfiguration("robot_description_content")}
|
|
||||||
robot_description_content = LaunchConfiguration("robot_description_content")
|
|
||||||
# launch Ignition Gazebo
|
|
||||||
pkg_ros_ign_gazebo = get_package_share_directory('ros_ign_gazebo')
|
|
||||||
gazebo = IncludeLaunchDescription(
|
|
||||||
PythonLaunchDescriptionSource(
|
|
||||||
os.path.join(pkg_ros_ign_gazebo, 'launch', 'ign_gazebo.launch.py')),
|
|
||||||
launch_arguments={'ign_args': '-r empty.sdf'}.items(),
|
|
||||||
)
|
|
||||||
|
|
||||||
ros2_ign_bridge = IncludeLaunchDescription(
|
|
||||||
PythonLaunchDescriptionSource(
|
|
||||||
PathJoinSubstitution(
|
|
||||||
[
|
|
||||||
FindPackageShare("rasmt_support"),
|
|
||||||
"launch",
|
|
||||||
"rasmt_ignition_bridge.launch.py"
|
|
||||||
]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Spawn
|
|
||||||
spawn = Node(package='ros_ign_gazebo', executable='create',
|
|
||||||
arguments=[
|
|
||||||
'-string', robot_description_content,
|
|
||||||
'-name', 'rasmt',
|
|
||||||
'-allow_renaming', 'true'],
|
|
||||||
output='screen')
|
|
||||||
|
|
||||||
|
|
||||||
launch_nodes = []
|
|
||||||
launch_nodes.append(gazebo)
|
|
||||||
launch_nodes.append(spawn)
|
|
||||||
launch_nodes.append(ros2_ign_bridge)
|
|
||||||
|
|
||||||
|
|
||||||
return LaunchDescription(launch_args + launch_nodes)
|
|
|
@ -1,62 +0,0 @@
|
||||||
from launch.launch_description import LaunchDescription
|
|
||||||
from launch.actions import IncludeLaunchDescription, DeclareLaunchArgument
|
|
||||||
from launch.substitutions import PathJoinSubstitution, LaunchConfiguration, FindExecutable, Command
|
|
||||||
from launch_ros.substitutions import FindPackageShare
|
|
||||||
from launch_ros.actions import Node
|
|
||||||
from launch.launch_description_sources import PythonLaunchDescriptionSource
|
|
||||||
import xacro
|
|
||||||
import os
|
|
||||||
from ament_index_python import get_package_share_directory
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
|
|
||||||
use_sim_time = LaunchConfiguration('use_sim_time', default=True)
|
|
||||||
log_level = LaunchConfiguration('log_level', default='fatal')
|
|
||||||
|
|
||||||
|
|
||||||
launch_args = []
|
|
||||||
launch_args.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
name='use_sim_time',
|
|
||||||
default_value=use_sim_time,
|
|
||||||
description="If true, use simulated clock"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
launch_args.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
name='log_level',
|
|
||||||
default_value=log_level,
|
|
||||||
description="Log level of all nodes launched by this script"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
# JointTrajectory bridge for gripper (ROS2 -> IGN)
|
|
||||||
joint_trajectory_controller_bridge = Node(package='ros_ign_bridge',
|
|
||||||
executable='parameter_bridge',
|
|
||||||
name='parameter_bridge_gripper_trajectory',
|
|
||||||
output='screen',
|
|
||||||
arguments=['/gripper_trajectory@trajectory_msgs/msg/JointTrajectory]ignition.msgs.JointTrajectory',
|
|
||||||
'--ros-args', '--log-level', log_level],
|
|
||||||
parameters=[{'use_sim_time': use_sim_time}])
|
|
||||||
|
|
||||||
# ros_ign_bridge (clock -> ROS 2)
|
|
||||||
ros2_ign_clock_bridge = Node(
|
|
||||||
package="ros_ign_bridge",
|
|
||||||
executable="parameter_bridge",
|
|
||||||
output="log",
|
|
||||||
arguments=[
|
|
||||||
"/clock@rosgraph_msgs/msg/Clock[ignition.msgs.Clock",
|
|
||||||
"--ros-args",
|
|
||||||
"--log-level",
|
|
||||||
log_level,
|
|
||||||
],
|
|
||||||
parameters=[{"use_sim_time": use_sim_time}],
|
|
||||||
)
|
|
||||||
|
|
||||||
launch_nodes = []
|
|
||||||
#launch_nodes.append(joint_trajectory_controller_bridge)
|
|
||||||
launch_nodes.append(ros2_ign_clock_bridge)
|
|
||||||
|
|
||||||
return LaunchDescription(launch_nodes + launch_args)
|
|
|
@ -1,77 +0,0 @@
|
||||||
from multiprocessing import context
|
|
||||||
from webbrowser import get
|
|
||||||
from launch.actions.declare_launch_argument import DeclareLaunchArgument
|
|
||||||
from launch.launch_description import LaunchDescription
|
|
||||||
#from launch.substitutions.launch_configuration import LaunchConfiguration
|
|
||||||
from launch_ros.actions import Node
|
|
||||||
import xacro
|
|
||||||
import os
|
|
||||||
from ament_index_python import get_package_share_directory
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
|
|
||||||
launch_args = []
|
|
||||||
launch_args.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
name="grip",
|
|
||||||
default_value="true",
|
|
||||||
description="On or OFF gripper for launch"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
launch_args.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
name="sim",
|
|
||||||
default_value="true",
|
|
||||||
description="On or OFF simulation"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
launch_args.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
name="robot_name",
|
|
||||||
default_value="rasmt",
|
|
||||||
description="Robot name"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
# For convert LaunchConfiguration to string
|
|
||||||
# grip = LaunchConfiguration("grip").perform(context)
|
|
||||||
|
|
||||||
# get xacro file path
|
|
||||||
xacro_file = os.path.join(get_package_share_directory("rasmt_support"),"urdf/","rasmt.xacro")
|
|
||||||
# get error if xacro file if missing
|
|
||||||
assert os.path.exists(xacro_file), "The xacro file of neptun_description doesnt exist"+str(xacro_file)
|
|
||||||
# parse xacro file from file with arguments
|
|
||||||
robot_description = xacro.process_file(xacro_file, mappings={'grip':"true",'sim':"false",'robot_name':"rasmt"})
|
|
||||||
# convert file to xml format
|
|
||||||
robot_description_content = robot_description.toxml()
|
|
||||||
|
|
||||||
rviz_config_file = os.path.join(get_package_share_directory("rasmt_support"),"config/","rasmt.rviz")
|
|
||||||
rviz = Node(
|
|
||||||
package="rviz2",
|
|
||||||
executable="rviz2",
|
|
||||||
parameters=[{'robot_description': robot_description_content}],
|
|
||||||
arguments=[
|
|
||||||
'-d', rviz_config_file
|
|
||||||
]
|
|
||||||
)
|
|
||||||
robot_state_publisher = Node(
|
|
||||||
package="robot_state_publisher",
|
|
||||||
executable="robot_state_publisher",
|
|
||||||
output="screen",
|
|
||||||
parameters=[{'robot_description': robot_description_content}]
|
|
||||||
)
|
|
||||||
joint_state_publisher =Node(
|
|
||||||
package="joint_state_publisher_gui",
|
|
||||||
executable="joint_state_publisher_gui",
|
|
||||||
output="log",
|
|
||||||
arguments=["--ros-args"],
|
|
||||||
)
|
|
||||||
|
|
||||||
launch_nodes = []
|
|
||||||
launch_nodes.append(rviz)
|
|
||||||
launch_nodes.append(robot_state_publisher)
|
|
||||||
launch_nodes.append(joint_state_publisher)
|
|
||||||
#launch_nodes.add_action(launch_args)
|
|
||||||
|
|
||||||
|
|
||||||
return LaunchDescription(launch_nodes)
|
|
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 255 KiB |
Binary file not shown.
Before Width: | Height: | Size: 247 KiB |
Binary file not shown.
Before Width: | Height: | Size: 264 KiB |
Binary file not shown.
Before Width: | Height: | Size: 250 KiB |
Binary file not shown.
Before Width: | Height: | Size: 299 KiB |
Binary file not shown.
Before Width: | Height: | Size: 261 KiB |
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
|
@ -1,24 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
|
||||||
<package format="3">
|
|
||||||
<name>rasmt_support</name>
|
|
||||||
<version>0.0.0</version>
|
|
||||||
<description>TODO: Package description</description>
|
|
||||||
<maintainer email="ur.narmak@gmail.com">bill-finger</maintainer>
|
|
||||||
<license>TODO: License declaration</license>
|
|
||||||
|
|
||||||
<buildtool_depend>ament_cmake</buildtool_depend>
|
|
||||||
|
|
||||||
<depend>urdf</depend>
|
|
||||||
<depend>xacro</depend>
|
|
||||||
|
|
||||||
<test_depend>ament_lint_auto</test_depend>
|
|
||||||
<test_depend>ament_lint_common</test_depend>
|
|
||||||
|
|
||||||
<export>
|
|
||||||
<build_type>ament_cmake</build_type>
|
|
||||||
<!-- <gazebo_ros gazebo_plugin_path="lib"/>
|
|
||||||
<gazebo_ros gazebo_model_path="${prefix}"/> -->
|
|
||||||
<!-- <gazebo_ros gazebo_media_path="${prefix}"/> -->
|
|
||||||
</export>
|
|
||||||
</package>
|
|
|
@ -1,38 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<sdf version='1.7'>
|
|
||||||
<model name='cube_model'>
|
|
||||||
<static>1</static>
|
|
||||||
<link name='cube'>
|
|
||||||
<inertial>
|
|
||||||
<pose>0.004475 0 0.577443 0 0 0</pose>
|
|
||||||
<mass>229.703</mass>
|
|
||||||
<inertia>
|
|
||||||
<ixx>0.861062</ixx>
|
|
||||||
<ixy>2.44052e-16</ixy>
|
|
||||||
<ixz>-7.22504e-17</ixz>
|
|
||||||
<iyy>0.861062</iyy>
|
|
||||||
<iyz>3.40174e-17</iyz>
|
|
||||||
<izz>1.16487</izz>
|
|
||||||
</inertia>
|
|
||||||
</inertial>
|
|
||||||
<collision name='cube_5x5x5_collision'>
|
|
||||||
<pose>0 0 0 0 0 1.5707</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://neptun_description/meshes/cube5x.STL</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
<visual name='cube_5x5x5_visual'>
|
|
||||||
<pose>0 0 0 0 0 1.5707</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://neptun_description/meshes/cube5x.STL</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
</visual>
|
|
||||||
</link>
|
|
||||||
</model>
|
|
||||||
</sdf>
|
|
|
@ -1,89 +0,0 @@
|
||||||
<sdf version='1.9'>
|
|
||||||
<world name='empty'>
|
|
||||||
<physics name='1ms' type='ignored'>
|
|
||||||
<max_step_size>0.001</max_step_size>
|
|
||||||
<real_time_factor>1.0</real_time_factor>
|
|
||||||
<real_time_update_rate>1000</real_time_update_rate>
|
|
||||||
</physics>
|
|
||||||
<plugin name='ignition::gazebo::systems::Physics' filename='ignition-gazebo-physics-system'/>
|
|
||||||
<plugin name='ignition::gazebo::systems::UserCommands' filename='ignition-gazebo-user-commands-system'/>
|
|
||||||
<plugin name='ignition::gazebo::systems::SceneBroadcaster' filename='ignition-gazebo-scene-broadcaster-system'/>
|
|
||||||
<plugin name='ignition::gazebo::systems::Contact' filename='ignition-gazebo-contact-system'/>
|
|
||||||
<gravity>0 0 -9.8</gravity>
|
|
||||||
<magnetic_field>5.5645e-6 22.8758e-6 -42.3884e-6</magnetic_field>
|
|
||||||
<atmosphere type='adiabatic'/>
|
|
||||||
<scene>
|
|
||||||
<ambient>0.4 0.4 0.4 1.0</ambient>
|
|
||||||
<background>.7 .7 .7 1</background>
|
|
||||||
<shadows>true</shadows>
|
|
||||||
</scene>
|
|
||||||
<model name='ground_plane'>
|
|
||||||
<static>1</static>
|
|
||||||
<link name='link'>
|
|
||||||
<collision name='collision'>
|
|
||||||
<geometry>
|
|
||||||
<plane>
|
|
||||||
<normal>0 0 1</normal>
|
|
||||||
<size>100 100</size>
|
|
||||||
</plane>
|
|
||||||
</geometry>
|
|
||||||
<surface>
|
|
||||||
<friction>
|
|
||||||
<ode/>
|
|
||||||
</friction>
|
|
||||||
<bounce/>
|
|
||||||
<contact/>
|
|
||||||
</surface>
|
|
||||||
</collision>
|
|
||||||
<visual name='visual'>
|
|
||||||
<geometry>
|
|
||||||
<plane>
|
|
||||||
<normal>0 0 1</normal>
|
|
||||||
<size>100 100</size>
|
|
||||||
</plane>
|
|
||||||
</geometry>
|
|
||||||
<material>
|
|
||||||
<ambient>0.8 0.8 0.8 1</ambient>
|
|
||||||
<diffuse>0.8 0.8 0.8 1</diffuse>
|
|
||||||
<specular>0.8 0.8 0.8 1</specular>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<pose>0 0 0 0 -0 0</pose>
|
|
||||||
<inertial>
|
|
||||||
<pose>0 0 0 0 -0 0</pose>
|
|
||||||
<mass>1</mass>
|
|
||||||
<inertia>
|
|
||||||
<ixx>1</ixx>
|
|
||||||
<ixy>0</ixy>
|
|
||||||
<ixz>0</ixz>
|
|
||||||
<iyy>1</iyy>
|
|
||||||
<iyz>0</iyz>
|
|
||||||
<izz>1</izz>
|
|
||||||
</inertia>
|
|
||||||
</inertial>
|
|
||||||
<enable_wind>0</enable_wind>
|
|
||||||
</link>
|
|
||||||
<pose>0 0 0 0 -0 0</pose>
|
|
||||||
<self_collide>0</self_collide>
|
|
||||||
</model>
|
|
||||||
<light name='sun' type='directional'>
|
|
||||||
<pose>0 0 10 0 -0 0</pose>
|
|
||||||
<cast_shadows>1</cast_shadows>
|
|
||||||
<intensity>1</intensity>
|
|
||||||
<direction>-0.5 0.1 -0.9</direction>
|
|
||||||
<diffuse>0.8 0.8 0.8 1</diffuse>
|
|
||||||
<specular>0.2 0.2 0.2 1</specular>
|
|
||||||
<attenuation>
|
|
||||||
<range>1000</range>
|
|
||||||
<linear>0.01</linear>
|
|
||||||
<constant>0.9</constant>
|
|
||||||
<quadratic>0.001</quadratic>
|
|
||||||
</attenuation>
|
|
||||||
<spot>
|
|
||||||
<inner_angle>0</inner_angle>
|
|
||||||
<outer_angle>0</outer_angle>
|
|
||||||
<falloff>0</falloff>
|
|
||||||
</spot>
|
|
||||||
</light>
|
|
||||||
</world>
|
|
||||||
</sdf>
|
|
|
@ -1,512 +0,0 @@
|
||||||
<sdf version='1.9'>
|
|
||||||
<model name='rasmt'>
|
|
||||||
<joint name='to_world' type='fixed'>
|
|
||||||
<pose relative_to='__model__'>0 0 0 0 0 0</pose>
|
|
||||||
<parent>world</parent>
|
|
||||||
<child>rasmt_Base_Link</child>
|
|
||||||
</joint>
|
|
||||||
<link name='rasmt_Base_Link'>
|
|
||||||
<pose relative_to='to_world'>0 0 0 0 0 0</pose>
|
|
||||||
<inertial>
|
|
||||||
<pose>-0.0030651 -3.2739e-05 0.082353 0 0 0</pose>
|
|
||||||
<mass>5.2929</mass>
|
|
||||||
<inertia>
|
|
||||||
<ixx>0.0076169</ixx>
|
|
||||||
<ixy>1.0121e-05</ixy>
|
|
||||||
<ixz>-0.00010622</ixz>
|
|
||||||
<iyy>0.0076597</iyy>
|
|
||||||
<iyz>6.511699999999999e-05</iyz>
|
|
||||||
<izz>0.01165</izz>
|
|
||||||
</inertia>
|
|
||||||
</inertial>
|
|
||||||
<collision name='rasmt_Base_Link_collision'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/collision/Base_Link.STL</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
<visual name='rasmt_Base_Link_visual'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/visual/Base_Link.dae</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
<material>
|
|
||||||
<diffuse>0.9411749988794327 0.9411749988794327 0.9411749988794327 1</diffuse>
|
|
||||||
<ambient>0.9411749988794327 0.9411749988794327 0.9411749988794327 1</ambient>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
</link>
|
|
||||||
<joint name='rasmt_Rot_Z_1' type='revolute'>
|
|
||||||
<pose relative_to='rasmt_Base_Link'>0 0 0.2533 3.141585307179587 0 0</pose>
|
|
||||||
<parent>rasmt_Base_Link</parent>
|
|
||||||
<child>rasmt_Fork_1</child>
|
|
||||||
<axis>
|
|
||||||
<xyz>0 0 1</xyz>
|
|
||||||
<limit>
|
|
||||||
<lower>-3.1416</lower>
|
|
||||||
<upper>3.1416</upper>
|
|
||||||
<effort>5.149</effort>
|
|
||||||
<velocity>0.99903</velocity>
|
|
||||||
</limit>
|
|
||||||
<dynamics>
|
|
||||||
<spring_reference>0</spring_reference>
|
|
||||||
<spring_stiffness>0</spring_stiffness>
|
|
||||||
</dynamics>
|
|
||||||
</axis>
|
|
||||||
</joint>
|
|
||||||
<link name='rasmt_Fork_1'>
|
|
||||||
<pose relative_to='rasmt_Rot_Z_1'>0 0 0 0 0 0</pose>
|
|
||||||
<inertial>
|
|
||||||
<pose>0.043764 -0.0066984 -0.032285 0 0 0</pose>
|
|
||||||
<mass>0.67797</mass>
|
|
||||||
<inertia>
|
|
||||||
<ixx>0.0014091</ixx>
|
|
||||||
<ixy>-6.2674e-05</ixy>
|
|
||||||
<ixz>0.00057897</ixz>
|
|
||||||
<iyy>0.0017329</iyy>
|
|
||||||
<iyz>4.7826e-05</iyz>
|
|
||||||
<izz>0.0019056</izz>
|
|
||||||
</inertia>
|
|
||||||
</inertial>
|
|
||||||
<collision name='rasmt_Fork_1_collision'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/collision/Fork_1.STL</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
<visual name='rasmt_Fork_1_visual'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/visual/Fork_1.dae</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
<material>
|
|
||||||
<diffuse>0.9411749988794327 0.9411749988794327 0.9411749988794327 1</diffuse>
|
|
||||||
<ambient>0.9411749988794327 0.9411749988794327 0.9411749988794327 1</ambient>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
</link>
|
|
||||||
<joint name='rasmt_Rot_Y_1' type='revolute'>
|
|
||||||
<pose relative_to='rasmt_Fork_1'>0.1045 0 -0.0795 -3.141585307179587 0 0</pose>
|
|
||||||
<parent>rasmt_Fork_1</parent>
|
|
||||||
<child>rasmt_Link_1</child>
|
|
||||||
<axis>
|
|
||||||
<xyz>0 1 0</xyz>
|
|
||||||
<limit>
|
|
||||||
<lower>-1.5707</lower>
|
|
||||||
<upper>2.2863</upper>
|
|
||||||
<effort>5.149</effort>
|
|
||||||
<velocity>0.99903</velocity>
|
|
||||||
</limit>
|
|
||||||
<dynamics>
|
|
||||||
<spring_reference>0</spring_reference>
|
|
||||||
<spring_stiffness>0</spring_stiffness>
|
|
||||||
</dynamics>
|
|
||||||
</axis>
|
|
||||||
</joint>
|
|
||||||
<link name='rasmt_Link_1'>
|
|
||||||
<pose relative_to='rasmt_Rot_Y_1'>0 0 0 0 0 0</pose>
|
|
||||||
<inertial>
|
|
||||||
<pose>-0.00042264 0 0.075171 0 0 0</pose>
|
|
||||||
<mass>1.8959</mass>
|
|
||||||
<inertia>
|
|
||||||
<ixx>0.0029317</ixx>
|
|
||||||
<ixy>-9.417e-06</ixy>
|
|
||||||
<ixz>5.5248e-05</ixz>
|
|
||||||
<iyy>0.0031666</iyy>
|
|
||||||
<iyz>-9.3067e-05</iyz>
|
|
||||||
<izz>0.0015477</izz>
|
|
||||||
</inertia>
|
|
||||||
</inertial>
|
|
||||||
<collision name='rasmt_Link_1_collision'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/collision/Link_1.STL</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
<visual name='rasmt_Link_1_visual'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/visual/Link_1.dae</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
<material>
|
|
||||||
<diffuse>0.9411749988794327 0.9411749988794327 0.9411749988794327 1</diffuse>
|
|
||||||
<ambient>0.9411749988794327 0.9411749988794327 0.9411749988794327 1</ambient>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
</link>
|
|
||||||
<joint name='rasmt_Rot_Z_2' type='revolute'>
|
|
||||||
<pose relative_to='rasmt_Link_1'>0 0 0.17502 0 0 0</pose>
|
|
||||||
<parent>rasmt_Link_1</parent>
|
|
||||||
<child>rasmt_Fork_2</child>
|
|
||||||
<axis>
|
|
||||||
<xyz>0 0 1</xyz>
|
|
||||||
<limit>
|
|
||||||
<lower>-3.1416</lower>
|
|
||||||
<upper>3.1416</upper>
|
|
||||||
<effort>5.149</effort>
|
|
||||||
<velocity>0.99903</velocity>
|
|
||||||
</limit>
|
|
||||||
<dynamics>
|
|
||||||
<spring_reference>0</spring_reference>
|
|
||||||
<spring_stiffness>0</spring_stiffness>
|
|
||||||
</dynamics>
|
|
||||||
</axis>
|
|
||||||
</joint>
|
|
||||||
<link name='rasmt_Fork_2'>
|
|
||||||
<pose relative_to='rasmt_Rot_Z_2'>0 0 0 0 0 0</pose>
|
|
||||||
<inertial>
|
|
||||||
<pose>0.043764 0.0066984 0.032285 0 0 0</pose>
|
|
||||||
<mass>0.67797</mass>
|
|
||||||
<inertia>
|
|
||||||
<ixx>0.0014091</ixx>
|
|
||||||
<ixy>6.2674e-05</ixy>
|
|
||||||
<ixz>-0.00057897</ixz>
|
|
||||||
<iyy>0.0017329</iyy>
|
|
||||||
<iyz>4.7826e-05</iyz>
|
|
||||||
<izz>0.0019056</izz>
|
|
||||||
</inertia>
|
|
||||||
</inertial>
|
|
||||||
<collision name='rasmt_Fork_2_collision'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/collision/Fork_2.STL</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
<visual name='rasmt_Fork_2_visual'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/visual/Fork_2.dae</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
<material>
|
|
||||||
<diffuse>0.9411749988794327 0.9411749988794327 0.9411749988794327 1</diffuse>
|
|
||||||
<ambient>0.9411749988794327 0.9411749988794327 0.9411749988794327 1</ambient>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
</link>
|
|
||||||
<joint name='rasmt_Rot_Y_2' type='revolute'>
|
|
||||||
<pose relative_to='rasmt_Fork_2'>0.1045 0 0.0795 0 0 0</pose>
|
|
||||||
<parent>rasmt_Fork_2</parent>
|
|
||||||
<child>rasmt_Link_2</child>
|
|
||||||
<axis>
|
|
||||||
<xyz>0 1 0</xyz>
|
|
||||||
<limit>
|
|
||||||
<lower>-1.5707</lower>
|
|
||||||
<upper>2.2863</upper>
|
|
||||||
<effort>5.149</effort>
|
|
||||||
<velocity>0.99903</velocity>
|
|
||||||
</limit>
|
|
||||||
<dynamics>
|
|
||||||
<spring_reference>0</spring_reference>
|
|
||||||
<spring_stiffness>0</spring_stiffness>
|
|
||||||
</dynamics>
|
|
||||||
</axis>
|
|
||||||
</joint>
|
|
||||||
<link name='rasmt_Link_2'>
|
|
||||||
<pose relative_to='rasmt_Rot_Y_2'>0 0 0 0 0 0</pose>
|
|
||||||
<inertial>
|
|
||||||
<pose>-0.00042264 0 0.075171 0 0 0</pose>
|
|
||||||
<mass>1.8959</mass>
|
|
||||||
<inertia>
|
|
||||||
<ixx>0.0029317</ixx>
|
|
||||||
<ixy>-9.4171e-06</ixy>
|
|
||||||
<ixz>5.5248e-05</ixz>
|
|
||||||
<iyy>0.0031666</iyy>
|
|
||||||
<iyz>-9.3067e-05</iyz>
|
|
||||||
<izz>0.0015477</izz>
|
|
||||||
</inertia>
|
|
||||||
</inertial>
|
|
||||||
<collision name='rasmt_Link_2_collision'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/collision/Link_2.STL</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
<visual name='rasmt_Link_2_visual'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/visual/Link_2.dae</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
<material>
|
|
||||||
<diffuse>0.9411749988794327 0.9411749988794327 0.9411749988794327 1</diffuse>
|
|
||||||
<ambient>0.9411749988794327 0.9411749988794327 0.9411749988794327 1</ambient>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
</link>
|
|
||||||
<joint name='rasmt_Rot_Z_3' type='revolute'>
|
|
||||||
<pose relative_to='rasmt_Link_2'>0 0 0.175 0 0 0</pose>
|
|
||||||
<parent>rasmt_Link_2</parent>
|
|
||||||
<child>rasmt_Fork_3</child>
|
|
||||||
<axis>
|
|
||||||
<xyz>0 0 1</xyz>
|
|
||||||
<limit>
|
|
||||||
<lower>-3.14159</lower>
|
|
||||||
<upper>3.14159</upper>
|
|
||||||
<effort>5.149</effort>
|
|
||||||
<velocity>0.99903</velocity>
|
|
||||||
</limit>
|
|
||||||
<dynamics>
|
|
||||||
<spring_reference>0</spring_reference>
|
|
||||||
<spring_stiffness>0</spring_stiffness>
|
|
||||||
</dynamics>
|
|
||||||
</axis>
|
|
||||||
</joint>
|
|
||||||
<link name='rasmt_Fork_3'>
|
|
||||||
<pose relative_to='rasmt_Rot_Z_3'>0 0 0 0 0 0</pose>
|
|
||||||
<inertial>
|
|
||||||
<pose>0.0437644555284691 0.00669835350471771 0.0322846229336455 0 0 0</pose>
|
|
||||||
<mass>0.677972982551887</mass>
|
|
||||||
<inertia>
|
|
||||||
<ixx>0.00140908677953665</ixx>
|
|
||||||
<ixy>6.267434924451639e-05</ixy>
|
|
||||||
<ixz>-0.000578970009504215</ixz>
|
|
||||||
<iyy>0.00173285340301686</iyy>
|
|
||||||
<iyz>4.78263030621606e-05</iyz>
|
|
||||||
<izz>0.00190561919128035</izz>
|
|
||||||
</inertia>
|
|
||||||
</inertial>
|
|
||||||
<collision name='rasmt_Fork_3_collision'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/collision/Fork_3.STL</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
<visual name='rasmt_Fork_3_visual'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/visual/Fork_3.dae</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
<material>
|
|
||||||
<diffuse>0.9411764889955521 0.9411764889955521 0.9411764889955521 1</diffuse>
|
|
||||||
<ambient>0.9411764889955521 0.9411764889955521 0.9411764889955521 1</ambient>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
</link>
|
|
||||||
<joint name='rasmt_Rot_Y_4' type='revolute'>
|
|
||||||
<pose relative_to='rasmt_Fork_3'>0.1045 0 0.0795 0 0 0</pose>
|
|
||||||
<parent>rasmt_Fork_3</parent>
|
|
||||||
<child>rasmt_Dock_Link</child>
|
|
||||||
<axis>
|
|
||||||
<xyz>0 1 0</xyz>
|
|
||||||
<limit>
|
|
||||||
<lower>-1.5707</lower>
|
|
||||||
<upper>2.2863</upper>
|
|
||||||
<effort>5.149</effort>
|
|
||||||
<velocity>0.99903</velocity>
|
|
||||||
</limit>
|
|
||||||
<dynamics>
|
|
||||||
<spring_reference>0</spring_reference>
|
|
||||||
<spring_stiffness>0</spring_stiffness>
|
|
||||||
</dynamics>
|
|
||||||
</axis>
|
|
||||||
</joint>
|
|
||||||
<link name='rasmt_Dock_Link'>
|
|
||||||
<pose relative_to='rasmt_Rot_Y_4'>0 0 0 0 0 0</pose>
|
|
||||||
<inertial>
|
|
||||||
<pose>0.000487278098416338 0.0001516907797566372 0.08254557371325712 0 0 0</pose>
|
|
||||||
<mass>2.53391750781824</mass>
|
|
||||||
<inertia>
|
|
||||||
<ixx>0.006064508328644976</ixx>
|
|
||||||
<ixy>-2.015356731520154e-06</ixy>
|
|
||||||
<ixz>-7.294101423638933e-05</ixz>
|
|
||||||
<iyy>0.006094829365861896</iyy>
|
|
||||||
<iyz>-0.0001246350455024134</iyz>
|
|
||||||
<izz>0.002069011842474237</izz>
|
|
||||||
</inertia>
|
|
||||||
</inertial>
|
|
||||||
<collision name='rasmt_Dock_Link_collision'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/collision/Dock_Link.STL</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
<collision name='rasmt_Dock_Link_fixed_joint_lump__rasmt_Grip_Body_collision_1'>
|
|
||||||
<pose>0 0 0.12324 -3.14159265358979 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/collision/Grip_Body.STL</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
<visual name='rasmt_Dock_Link_visual'>
|
|
||||||
<pose>0 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/visual/Dock_Link.dae</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
<material>
|
|
||||||
<diffuse>0.9411764889955521 0.9411764889955521 0.9411764889955521 1</diffuse>
|
|
||||||
<ambient>0.9411764889955521 0.9411764889955521 0.9411764889955521 1</ambient>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<visual name='rasmt_Dock_Link_fixed_joint_lump__rasmt_Grip_Body_visual_1'>
|
|
||||||
<pose>0 0 0.12324 -3.14159265358979 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/visual/Grip_Body.dae</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
<material>
|
|
||||||
<diffuse>0.6274499744176865 1 0.6274499744176865 1</diffuse>
|
|
||||||
<ambient>0.6274499744176865 1 0.6274499744176865 1</ambient>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
</link>
|
|
||||||
<joint name='rasmt_Slide_1' type='prismatic'>
|
|
||||||
<pose relative_to='rasmt_Dock_Link'>0 -3.006528453019044e-16 0.21629 7.346410206709656e-06 -3.231089339497412e-15 1.5708</pose>
|
|
||||||
<parent>rasmt_Dock_Link</parent>
|
|
||||||
<child>rasmt_Grip_L</child>
|
|
||||||
<axis>
|
|
||||||
<xyz>1 0 0</xyz>
|
|
||||||
<limit>
|
|
||||||
<lower>0</lower>
|
|
||||||
<upper>0.06</upper>
|
|
||||||
<effort>20</effort>
|
|
||||||
<velocity>0.2</velocity>
|
|
||||||
</limit>
|
|
||||||
<dynamics>
|
|
||||||
<spring_reference>0</spring_reference>
|
|
||||||
<spring_stiffness>0</spring_stiffness>
|
|
||||||
</dynamics>
|
|
||||||
</axis>
|
|
||||||
</joint>
|
|
||||||
<link name='rasmt_Grip_L'>
|
|
||||||
<pose relative_to='rasmt_Slide_1'>0 0 0 0 0 0</pose>
|
|
||||||
<inertial>
|
|
||||||
<pose>-0.010118 0.010281 -0.0038252 0 0 0</pose>
|
|
||||||
<mass>0.021223</mass>
|
|
||||||
<inertia>
|
|
||||||
<ixx>6.5436e-06</ixx>
|
|
||||||
<ixy>-3.114e-06</ixy>
|
|
||||||
<ixz>2.8479e-06</ixz>
|
|
||||||
<iyy>1.9726e-05</iyy>
|
|
||||||
<iyz>1.6432e-06</iyz>
|
|
||||||
<izz>1.6355e-05</izz>
|
|
||||||
</inertia>
|
|
||||||
</inertial>
|
|
||||||
<collision name='rasmt_Grip_L_collision'>
|
|
||||||
<pose>-0.02 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/collision/Grip_L.STL</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
<visual name='rasmt_Grip_L_visual'>
|
|
||||||
<pose>-0.02 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/visual/Grip_L.dae</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
<material>
|
|
||||||
<diffuse>0.9411749988794327 1 1 1</diffuse>
|
|
||||||
<ambient>0.9411749988794327 1 1 1</ambient>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
</link>
|
|
||||||
<joint name='rasmt_Slide_2' type='prismatic'>
|
|
||||||
<pose relative_to='rasmt_Dock_Link'>0 -3.006528453019044e-16 0.21629 7.346410206709656e-06 3.231089339497412e-15 -1.5708</pose>
|
|
||||||
<parent>rasmt_Dock_Link</parent>
|
|
||||||
<child>rasmt_Grip_R</child>
|
|
||||||
<axis>
|
|
||||||
<xyz>1 0 0</xyz>
|
|
||||||
<limit>
|
|
||||||
<lower>0</lower>
|
|
||||||
<upper>0.06</upper>
|
|
||||||
<effort>20</effort>
|
|
||||||
<velocity>0.2</velocity>
|
|
||||||
</limit>
|
|
||||||
<dynamics>
|
|
||||||
<spring_reference>0</spring_reference>
|
|
||||||
<spring_stiffness>0</spring_stiffness>
|
|
||||||
</dynamics>
|
|
||||||
</axis>
|
|
||||||
</joint>
|
|
||||||
<link name='rasmt_Grip_R'>
|
|
||||||
<pose relative_to='rasmt_Slide_2'>0 0 0 0 0 0</pose>
|
|
||||||
<inertial>
|
|
||||||
<pose>-0.010118 0.010281 -0.0038252 0 0 0</pose>
|
|
||||||
<mass>0.021223</mass>
|
|
||||||
<inertia>
|
|
||||||
<ixx>6.5436e-06</ixx>
|
|
||||||
<ixy>-3.114e-06</ixy>
|
|
||||||
<ixz>2.8479e-06</ixz>
|
|
||||||
<iyy>1.9726e-05</iyy>
|
|
||||||
<iyz>1.6432e-06</iyz>
|
|
||||||
<izz>1.6355e-05</izz>
|
|
||||||
</inertia>
|
|
||||||
</inertial>
|
|
||||||
<collision name='rasmt_Grip_R_collision'>
|
|
||||||
<pose>-0.02 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/collision/Grip_R.STL</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
<visual name='rasmt_Grip_R_visual'>
|
|
||||||
<pose>-0.02 0 0 0 0 0</pose>
|
|
||||||
<geometry>
|
|
||||||
<mesh>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<uri>model://rasmt_support/meshes/visual/Grip_R.dae</uri>
|
|
||||||
</mesh>
|
|
||||||
</geometry>
|
|
||||||
<material>
|
|
||||||
<diffuse>0.9411749988794327 1 1 1</diffuse>
|
|
||||||
<ambient>0.9411749988794327 1 1 1</ambient>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
</link>
|
|
||||||
<static>false</static>
|
|
||||||
<plugin name='ign_ros2_control' filename='libign_ros2_control-system.so'>
|
|
||||||
<parameters>/home/bill-finger/rasms_ws/install/share/rasmt_support/config/rasmt_effort_controllers.yaml</parameters>
|
|
||||||
</plugin>
|
|
||||||
</model>
|
|
||||||
</sdf>
|
|
|
@ -1,486 +0,0 @@
|
||||||
<?xml version="1.0" ?>
|
|
||||||
<!-- =================================================================================== -->
|
|
||||||
<!-- | This document was autogenerated by xacro from rasmt.xacro | -->
|
|
||||||
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
|
|
||||||
<!-- =================================================================================== -->
|
|
||||||
<robot name="rasmt">
|
|
||||||
|
|
||||||
<mujoco>
|
|
||||||
<compiler balanceinertia="true" discardvisual="true" fusestatic="true" meshdir="../meshes_mjcf/" strippath="true"/>
|
|
||||||
</mujoco>
|
|
||||||
|
|
||||||
|
|
||||||
<link name="world"/>
|
|
||||||
<joint name="to_world" type="fixed">
|
|
||||||
<parent link="world"/>
|
|
||||||
<child link="rasmt_Base_Link"/>
|
|
||||||
<!--origin xyz="0 0 1.15" rpy="3.14159 0 3.14159"/-->
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<axis xyz="0 0 0"/>
|
|
||||||
</joint>
|
|
||||||
<link name="rasmt_Base_Link">
|
|
||||||
<inertial>
|
|
||||||
<origin rpy="0 0 0" xyz="-0.0030651 -3.2739E-05 0.082353"/>
|
|
||||||
<mass value="5.2929"/>
|
|
||||||
<inertia ixx="0.0076169" ixy="1.0121E-05" ixz="-0.00010622" iyy="0.0076597" iyz="6.5117E-05" izz="0.01165"/>
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/visual/Base_Link.dae"/>
|
|
||||||
</geometry>
|
|
||||||
<material name="">
|
|
||||||
<color rgba="0.75294 0.75294 0.75294 1"/>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/collision/Base_Link.STL"/>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
<link name="rasmt_Fork_1">
|
|
||||||
<inertial>
|
|
||||||
<origin rpy="0 0 0" xyz="0.043764 -0.0066984 -0.032285"/>
|
|
||||||
<mass value="0.67797"/>
|
|
||||||
<inertia ixx="0.0014091" ixy="-6.2674E-05" ixz="0.00057897" iyy="0.0017329" iyz="4.7826E-05" izz="0.0019056"/>
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/visual/Fork_1.dae"/>
|
|
||||||
</geometry>
|
|
||||||
<material name="">
|
|
||||||
<color rgba="0.75294 0.75294 0.75294 1"/>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/collision/Fork_1.STL"/>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
<joint name="rasmt_Rot_Z_1" type="revolute">
|
|
||||||
<origin rpy="-3.1416 0 0" xyz="0 0 0.2533"/>
|
|
||||||
<parent link="rasmt_Base_Link"/>
|
|
||||||
<child link="rasmt_Fork_1"/>
|
|
||||||
<axis xyz="0 0 1"/>
|
|
||||||
<limit effort="5.149" lower="-3.1416" upper="3.1416" velocity="0.99903"/>
|
|
||||||
</joint>
|
|
||||||
<link name="rasmt_Link_1">
|
|
||||||
<inertial>
|
|
||||||
<origin rpy="0 0 0" xyz="-0.00042264 0.0 0.075171"/>
|
|
||||||
<mass value="1.8959"/>
|
|
||||||
<inertia ixx="0.0029317" ixy="-9.417E-06" ixz="5.5248E-05" iyy="0.0031666" iyz="-9.3067E-05" izz="0.0015477"/>
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/visual/Link_1.dae"/>
|
|
||||||
</geometry>
|
|
||||||
<material name="">
|
|
||||||
<color rgba="0.75294 0.75294 0.75294 1"/>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/collision/Link_1.STL"/>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
<joint name="rasmt_Rot_Y_1" type="revolute">
|
|
||||||
<origin rpy="3.1416 0 0" xyz="0.1045 0.0 -0.0795"/>
|
|
||||||
<parent link="rasmt_Fork_1"/>
|
|
||||||
<child link="rasmt_Link_1"/>
|
|
||||||
<axis xyz="0 1 0"/>
|
|
||||||
<limit effort="5.149" lower="-1.5707" upper="2.2863" velocity="0.99903"/>
|
|
||||||
</joint>
|
|
||||||
<link name="rasmt_Fork_2">
|
|
||||||
<inertial>
|
|
||||||
<origin rpy="0 0 0" xyz="0.043764 0.0066984 0.032285"/>
|
|
||||||
<mass value="0.67797"/>
|
|
||||||
<inertia ixx="0.0014091" ixy="6.2674E-05" ixz="-0.00057897" iyy="0.0017329" iyz="4.7826E-05" izz="0.0019056"/>
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/visual/Fork_2.dae"/>
|
|
||||||
</geometry>
|
|
||||||
<material name="">
|
|
||||||
<color rgba="0.75294 0.75294 0.75294 1"/>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/collision/Fork_2.STL"/>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
<joint name="rasmt_Rot_Z_2" type="revolute">
|
|
||||||
<origin rpy="0 0 0" xyz="0 0.0 0.17502"/>
|
|
||||||
<parent link="rasmt_Link_1"/>
|
|
||||||
<child link="rasmt_Fork_2"/>
|
|
||||||
<axis xyz="0 0 1"/>
|
|
||||||
<limit effort="5.149" lower="-3.1416" upper="3.1416" velocity="0.99903"/>
|
|
||||||
</joint>
|
|
||||||
<link name="rasmt_Link_2">
|
|
||||||
<inertial>
|
|
||||||
<origin rpy="0 0 0" xyz="-0.00042264 0.0 0.075171"/>
|
|
||||||
<mass value="1.8959"/>
|
|
||||||
<inertia ixx="0.0029317" ixy="-9.4171E-06" ixz="5.5248E-05" iyy="0.0031666" iyz="-9.3067E-05" izz="0.0015477"/>
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/visual/Link_2.dae"/>
|
|
||||||
</geometry>
|
|
||||||
<material name="">
|
|
||||||
<color rgba="0.75294 0.75294 0.75294 1"/>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/collision/Link_2.STL"/>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
<joint name="rasmt_Rot_Y_2" type="revolute">
|
|
||||||
<origin rpy="0 0 0" xyz="0.1045 0.0 0.0795"/>
|
|
||||||
<parent link="rasmt_Fork_2"/>
|
|
||||||
<child link="rasmt_Link_2"/>
|
|
||||||
<axis xyz="0 1 0"/>
|
|
||||||
<limit effort="5.149" lower="-1.5707" upper="2.2863" velocity="0.99903"/>
|
|
||||||
</joint>
|
|
||||||
<link name="rasmt_Fork_3">
|
|
||||||
<inertial>
|
|
||||||
<origin rpy="0 0 0" xyz="0.0437644555284691 0.00669835350471771 0.0322846229336455"/>
|
|
||||||
<mass value="0.677972982551887"/>
|
|
||||||
<inertia ixx="0.00140908677953665" ixy="6.26743492445164E-05" ixz="-0.000578970009504215" iyy="0.00173285340301686" iyz="4.78263030621606E-05" izz="0.00190561919128035"/>
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/visual/Fork_3.dae"/>
|
|
||||||
</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="package://rasmt_support/meshes/collision/Fork_3.STL"/>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
<joint name="rasmt_Rot_Z_3" type="revolute">
|
|
||||||
<origin rpy="0 0 0" xyz="0 0.0 0.175"/>
|
|
||||||
<parent link="rasmt_Link_2"/>
|
|
||||||
<child link="rasmt_Fork_3"/>
|
|
||||||
<axis xyz="0 0 1"/>
|
|
||||||
<limit effort="5.149" lower="-3.14159" upper="3.14159" velocity="0.99903"/>
|
|
||||||
</joint>
|
|
||||||
<link name="rasmt_Dock_Link">
|
|
||||||
<inertial>
|
|
||||||
<origin rpy="0 0 0" xyz="1.08992929317431E-05 0.0 0.0566747528784688"/>
|
|
||||||
<mass value="1.81040750781824"/>
|
|
||||||
<inertia ixx="0.00136087225665183" ixy="-1.57915998142718E-06" ixz="-1.31398366941724E-06" iyy="0.00136397029450427" iyz="-0.00010058418524025" izz="0.00124273705160787"/>
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/visual/Dock_Link.dae"/>
|
|
||||||
</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="package://rasmt_support/meshes/collision/Dock_Link.STL"/>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
<joint name="rasmt_Rot_Y_4" type="revolute">
|
|
||||||
<origin rpy="0 0 0" xyz="0.1045 0.0 0.0795"/>
|
|
||||||
<parent link="rasmt_Fork_3"/>
|
|
||||||
<child link="rasmt_Dock_Link"/>
|
|
||||||
<axis xyz="0 1 0"/>
|
|
||||||
<limit effort="5.149" lower="-1.5707" upper="2.2863" velocity="0.99903"/>
|
|
||||||
</joint>
|
|
||||||
<!-- ros_control-plugin -->
|
|
||||||
<!-- <xacro:if value="${sim == 'gazebo'}">
|
|
||||||
<gazebo>
|
|
||||||
<plugin name="gazebo_ros2_control" filename="libgazebo_ros2_control.so">
|
|
||||||
<parameters>$(find rasmt_support)/config/rasmt_effort_controllers.yaml</parameters>
|
|
||||||
<robotNamespace>/${prefix}</robotNamespace>
|
|
||||||
</plugin>
|
|
||||||
</gazebo>
|
|
||||||
</xacro:if> -->
|
|
||||||
<gazebo>
|
|
||||||
<plugin filename="ign_ros2_control-system" name="ign_ros2_control::IgnitionROS2ControlPlugin">
|
|
||||||
<parameters>/home/bill-finger/rasms_ws/install/share/rasmt_support/config/rasmt_effort_controllers.yaml</parameters>
|
|
||||||
</plugin>
|
|
||||||
</gazebo>
|
|
||||||
<!-- <gazebo reference="${prefix}_Base_Link">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo>
|
|
||||||
|
|
||||||
<gazebo reference="${prefix}_Fork_1">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo>
|
|
||||||
|
|
||||||
<gazebo reference="${prefix}_Link_1">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo>
|
|
||||||
|
|
||||||
<gazebo reference="${prefix}_Fork_2">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo>
|
|
||||||
|
|
||||||
<gazebo reference="${prefix}_Link_2">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo>
|
|
||||||
|
|
||||||
<gazebo reference="${prefix}_Fork_3">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo>
|
|
||||||
|
|
||||||
<gazebo reference="${prefix}_Dock_Link">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo> -->
|
|
||||||
<!-- arg for control mode -->
|
|
||||||
<ros2_control name="rasmt_single_hi" type="system">
|
|
||||||
<hardware>
|
|
||||||
<plugin>ign_ros2_control/IgnitionSystem</plugin>
|
|
||||||
</hardware>
|
|
||||||
<joint name="rasmt_Rot_Z_1">
|
|
||||||
<command_interface name="position">
|
|
||||||
<!-- better to use radians as min max first -->
|
|
||||||
<param name="min">-1</param>
|
|
||||||
<param name="max"> 1</param>
|
|
||||||
</command_interface>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
<joint name="rasmt_Rot_Y_1">
|
|
||||||
<command_interface name="position">
|
|
||||||
<param name="min">-1</param>
|
|
||||||
<param name="max"> 1</param>
|
|
||||||
</command_interface>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
<joint name="rasmt_Rot_Z_2">
|
|
||||||
<command_interface name="position">
|
|
||||||
<param name="min">-1</param>
|
|
||||||
<param name="max"> 1</param>
|
|
||||||
</command_interface>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
<joint name="rasmt_Rot_Y_2">
|
|
||||||
<command_interface name="position">
|
|
||||||
<param name="min">-1</param>
|
|
||||||
<param name="max"> 1</param>
|
|
||||||
</command_interface>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
<joint name="rasmt_Rot_Z_3">
|
|
||||||
<command_interface name="position">
|
|
||||||
<param name="min">-1</param>
|
|
||||||
<param name="max"> 1</param>
|
|
||||||
</command_interface>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
<joint name="rasmt_Rot_Y_4">
|
|
||||||
<command_interface name="position">
|
|
||||||
<param name="min">-1</param>
|
|
||||||
<param name="max"> 1</param>
|
|
||||||
</command_interface>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
</ros2_control>
|
|
||||||
<link name="rasmt_tool0"/>
|
|
||||||
<joint name="rasmt_tool0_fixed" type="fixed">
|
|
||||||
<parent link="rasmt_Dock_Link"/>
|
|
||||||
<child link="rasmt_tool0"/>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0.12324"/>
|
|
||||||
<axis xyz="0 0 0"/>
|
|
||||||
</joint>
|
|
||||||
<!--link name="${prefix}_tool_end_point"/>
|
|
||||||
<joint name="${prefix}_tool_end_point_to_tool0" type="fixed">
|
|
||||||
<parent link="${prefix}_Dock_Link"/>
|
|
||||||
<child link="${prefix}_tool_end_point"/>
|
|
||||||
<origin xyz="0 0 ${gripper_length+0.12324}" rpy="0 0 0"/>
|
|
||||||
<axis xyz="0 0 0"/>
|
|
||||||
</joint-->
|
|
||||||
<link name="rasmt_Grip_Body">
|
|
||||||
<inertial>
|
|
||||||
<origin rpy="0 0 0" xyz="0.0016793 -0.00053126 -0.024041"/>
|
|
||||||
<mass value="0.72351"/>
|
|
||||||
<inertia ixx="0.00045979" ixy="-2.1983E-08" ixz="-6.5154E-06" iyy="0.00048572" iyz="8.3162E-07" izz="0.00082469"/>
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/visual/Grip_Body.dae"/>
|
|
||||||
</geometry>
|
|
||||||
<material name="">
|
|
||||||
<color rgba="0.50196 1 0.50196 1"/>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/collision/Grip_Body.STL"/>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
<joint name="rasmt_Fix" type="fixed">
|
|
||||||
<origin rpy="-3.14159265358979 0 0" xyz="0 0.0 0.12324"/>
|
|
||||||
<parent link="rasmt_Dock_Link"/>
|
|
||||||
<child link="rasmt_Grip_Body"/>
|
|
||||||
<axis xyz="0 0 0"/>
|
|
||||||
</joint>
|
|
||||||
<link name="rasmt_Grip_L">
|
|
||||||
<inertial>
|
|
||||||
<origin rpy="0 0 0" xyz="-0.010118 0.010281 -0.0038252"/>
|
|
||||||
<mass value="0.021223"/>
|
|
||||||
<inertia ixx="6.5436E-06" ixy="-3.114E-06" ixz="2.8479E-06" iyy="1.9726E-05" iyz="1.6432E-06" izz="1.6355E-05"/>
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin rpy="0 0 0" xyz="-0.02 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/visual/Grip_L.dae"/>
|
|
||||||
</geometry>
|
|
||||||
<material name="">
|
|
||||||
<color rgba="0.75294 1 1 1"/>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin rpy="0 0 0" xyz="-0.02 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/collision/Grip_L.STL"/>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
<joint name="rasmt_Slide_1" type="prismatic">
|
|
||||||
<origin rpy="3.1416 0 -1.5708" xyz="0 0 -0.09305"/>
|
|
||||||
<parent link="rasmt_Grip_Body"/>
|
|
||||||
<child link="rasmt_Grip_L"/>
|
|
||||||
<axis xyz="1 0 0"/>
|
|
||||||
<limit effort="20" lower="0.0" upper="0.06" velocity="0.2"/>
|
|
||||||
</joint>
|
|
||||||
<link name="rasmt_Grip_R">
|
|
||||||
<inertial>
|
|
||||||
<origin rpy="0 0 0" xyz="-0.010118 0.010281 -0.0038252"/>
|
|
||||||
<mass value="0.021223"/>
|
|
||||||
<inertia ixx="6.5436E-06" ixy="-3.114E-06" ixz="2.8479E-06" iyy="1.9726E-05" iyz="1.6432E-06" izz="1.6355E-05"/>
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin rpy="0 0 0" xyz="-0.02 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/visual/Grip_R.dae"/>
|
|
||||||
</geometry>
|
|
||||||
<material name="">
|
|
||||||
<color rgba="0.75294 1 1 1"/>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin rpy="0 0 0" xyz="-0.02 0 0"/>
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/collision/Grip_R.STL"/>
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
<joint name="rasmt_Slide_2" type="prismatic">
|
|
||||||
<origin rpy="3.1416 0 1.5708" xyz="0 0 -0.09305"/>
|
|
||||||
<parent link="rasmt_Grip_Body"/>
|
|
||||||
<child link="rasmt_Grip_R"/>
|
|
||||||
<axis xyz="1 0 0"/>
|
|
||||||
<limit effort="20" lower="0.0" upper="0.06" velocity="0.2"/>
|
|
||||||
<!--mimic joint="${prefix}_Slide_1"/-->
|
|
||||||
</joint>
|
|
||||||
<!-- arg for control mode -->
|
|
||||||
<ros2_control name="rasmt_hand_hi" type="system">
|
|
||||||
<hardware>
|
|
||||||
<plugin>ign_ros2_control/IgnitionSystem</plugin>
|
|
||||||
</hardware>
|
|
||||||
<joint name="rasmt_Slide_1">
|
|
||||||
<command_interface name="position">
|
|
||||||
<!-- better to use radians as min max first -->
|
|
||||||
<param name="min">0</param>
|
|
||||||
<param name="max">10</param>
|
|
||||||
</command_interface>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
<joint name="rasmt_Slide_2">
|
|
||||||
<!-- <param name="mimic">${prefix}_Slide_1</param>
|
|
||||||
<param name="multiplier">1</param> -->
|
|
||||||
<command_interface name="position">
|
|
||||||
<param name="min">0</param>
|
|
||||||
<param name="max">10</param>
|
|
||||||
</command_interface>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
</ros2_control>
|
|
||||||
<!-- ros_control-plugin -->
|
|
||||||
<!--gazebo>
|
|
||||||
<plugin name="gazebo_ros2_control" filename="libgazebo_ros2_control.so">
|
|
||||||
<robot_sim_type>gazebo_ros2_control/GazeboSystem</robot_sim_type>
|
|
||||||
<parameters>$(find rasmt_support)/config/rasmt_hand_controllers.yaml</parameters>
|
|
||||||
<robotNamespace>/${prefix}</robotNamespace>
|
|
||||||
</plugin>
|
|
||||||
</gazebo-->
|
|
||||||
<!-- <gazebo reference="${prefix}_Grip_Body">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo>
|
|
||||||
|
|
||||||
<gazebo reference="${prefix}_Grip_L">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo>
|
|
||||||
|
|
||||||
<gazebo reference="${prefix}_Grip_R">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo> -->
|
|
||||||
</robot>
|
|
|
@ -1,26 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="rasmt">
|
|
||||||
|
|
||||||
<xacro:arg name="grip" default="true"/>
|
|
||||||
<xacro:arg name="sim" default="ignition"/>
|
|
||||||
<xacro:arg name="robot_name" default="rasmt"/>
|
|
||||||
<xacro:include filename="$(find rasmt_support)/urdf/robot/rasmt_single_macro.xacro"/>
|
|
||||||
<xacro:if value="$(arg grip)">
|
|
||||||
<xacro:property name="gripper_length" value="0.12224"/>
|
|
||||||
</xacro:if>
|
|
||||||
|
|
||||||
<link name="world"/>
|
|
||||||
|
|
||||||
<xacro:unless value="$(arg grip)">
|
|
||||||
<xacro:rasmt_single prefix="$(arg robot_name)" parent="world" sim="$(arg sim)" xyz="0 0 0"/>
|
|
||||||
</xacro:unless>
|
|
||||||
|
|
||||||
<!-- <xacro:rasmt_single prefix="$(arg robot_name)" parent="world" sim="$(arg sim)" xyz="0 0 0" gripper_length="${gripper_length}"/> -->
|
|
||||||
|
|
||||||
<xacro:if value="$(arg grip)">
|
|
||||||
<xacro:include filename="$(find rasmt_support)/urdf/tools/rasmt_hand_macro.xacro"/>
|
|
||||||
<xacro:rasmt_single prefix="$(arg robot_name)" parent="world" sim="$(arg sim)" xyz="0 0 0" gripper_length="${gripper_length}"/>
|
|
||||||
<xacro:rasmt_hand prefix="$(arg robot_name)" sim="$(arg sim)"/>
|
|
||||||
</xacro:if>
|
|
||||||
|
|
||||||
</robot>
|
|
|
@ -1,68 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
|
||||||
<xacro:macro name="rasmt_single_control" params="prefix sim">
|
|
||||||
<!-- arg for control mode -->
|
|
||||||
<ros2_control name="rasmt_single_hi" type="system">
|
|
||||||
|
|
||||||
<!-- <xacro:if value="${sim == 'gazebo'}">
|
|
||||||
<hardware>
|
|
||||||
<plugin>gazebo_ros2_control/GazeboSystem</plugin>
|
|
||||||
</hardware>
|
|
||||||
</xacro:if> -->
|
|
||||||
<xacro:if value="${sim == 'ignition'}">
|
|
||||||
<hardware>
|
|
||||||
<plugin>ign_ros2_control/IgnitionSystem</plugin>
|
|
||||||
</hardware>
|
|
||||||
</xacro:if>
|
|
||||||
|
|
||||||
<xacro:if value="${sim == 'fake'}">
|
|
||||||
<hardware>
|
|
||||||
<plugin>fake_components/GenericSystem</plugin>
|
|
||||||
</hardware>
|
|
||||||
</xacro:if>
|
|
||||||
|
|
||||||
<joint name="${prefix}_Rot_Z_1">
|
|
||||||
<command_interface name="effort"/>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<joint name="${prefix}_Rot_Y_1">
|
|
||||||
<command_interface name="effort"/>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<joint name="${prefix}_Rot_Z_2">
|
|
||||||
<command_interface name="effort"/>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<joint name="${prefix}_Rot_Y_2">
|
|
||||||
<command_interface name="effort"/>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<joint name="${prefix}_Rot_Z_3">
|
|
||||||
<command_interface name="effort"/>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<joint name="${prefix}_Rot_Y_4">
|
|
||||||
<command_interface name="effort"/>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
</ros2_control>
|
|
||||||
</xacro:macro>
|
|
||||||
</robot>
|
|
|
@ -1,26 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
|
||||||
<xacro:macro name="rasmt_single_gazebo" params="prefix sim">
|
|
||||||
|
|
||||||
<!-- ros_control-plugin -->
|
|
||||||
<!-- <xacro:if value="${sim == 'gazebo'}">
|
|
||||||
<gazebo>
|
|
||||||
<plugin name="gazebo_ros2_control" filename="libgazebo_ros2_control.so">
|
|
||||||
<parameters>$(find rasmt_support)/config/rasmt_position_velocity_controllers.yaml</parameters>
|
|
||||||
<robotNamespace>/${prefix}</robotNamespace>
|
|
||||||
</plugin>
|
|
||||||
</gazebo>
|
|
||||||
</xacro:if> -->
|
|
||||||
|
|
||||||
<xacro:if value="${sim == 'ignition'}">
|
|
||||||
<gazebo reference="world"/>
|
|
||||||
<gazebo>
|
|
||||||
<plugin filename="ign_ros2_control-system" name="ign_ros2_control::IgnitionROS2ControlPlugin">
|
|
||||||
<parameters>$(find rasmt_support)/config/rasmt_effort_controllers.yaml</parameters>
|
|
||||||
<!--controller_manager_node_name>controller_manager</controller_manager_node_name-->
|
|
||||||
</plugin>
|
|
||||||
</gazebo>
|
|
||||||
</xacro:if>
|
|
||||||
|
|
||||||
</xacro:macro>
|
|
||||||
</robot>
|
|
|
@ -1,421 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
|
||||||
|
|
||||||
<xacro:include filename="$(find rasmt_support)/urdf/robot/rasmt_single_control.xacro"/>
|
|
||||||
<xacro:include filename="$(find rasmt_support)/urdf/robot/rasmt_single_gazebo.xacro"/>
|
|
||||||
|
|
||||||
<xacro:macro name="rasmt_single" params="prefix parent sim xyz gripper_length">
|
|
||||||
|
|
||||||
|
|
||||||
<joint name="to_${parent}" type="fixed">
|
|
||||||
<parent link="${parent}"/>
|
|
||||||
<child link="${prefix}_Base_Link"/>
|
|
||||||
<!--origin xyz="0 0 1.15" rpy="3.14159 0 3.14159"/-->
|
|
||||||
<origin xyz="${xyz}" rpy="0 0 0"/>
|
|
||||||
<axis xyz="0 0 0"/>
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
|
|
||||||
<link name="${prefix}_Base_Link">
|
|
||||||
<inertial>
|
|
||||||
<origin xyz="-0.0030651 -3.2739E-05 0.082353" rpy="0 0 0" />
|
|
||||||
<mass value="5.2929" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.0076169"
|
|
||||||
ixy="1.0121E-05"
|
|
||||||
ixz="-0.00010622"
|
|
||||||
iyy="0.0076597"
|
|
||||||
iyz="6.5117E-05"
|
|
||||||
izz="0.01165" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/visual/Base_Link.dae" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color rgba="0.75294 0.75294 0.75294 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/collision/Base_Link.stl" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<link name="${prefix}_Fork_1">
|
|
||||||
<inertial>
|
|
||||||
<origin xyz="0.043764 -0.0066984 -0.032285" rpy="0 0 0" />
|
|
||||||
<mass value="0.67797" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.0014091"
|
|
||||||
ixy="-6.2674E-05"
|
|
||||||
ixz="0.00057897"
|
|
||||||
iyy="0.0017329"
|
|
||||||
iyz="4.7826E-05"
|
|
||||||
izz="0.0019056" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh filename="package://rasmt_support/meshes/visual/Fork_1.dae" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.75294 0.75294 0.75294 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/collision/Fork_1.stl" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="${prefix}_Rot_Z_1"
|
|
||||||
type="revolute">
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0.2533"
|
|
||||||
rpy="-3.1416 0 0" />
|
|
||||||
<parent
|
|
||||||
link="${prefix}_Base_Link" />
|
|
||||||
<child
|
|
||||||
link="${prefix}_Fork_1" />
|
|
||||||
<axis
|
|
||||||
xyz="0 0 1" />
|
|
||||||
<limit
|
|
||||||
lower="-3.1416"
|
|
||||||
upper="3.1416"
|
|
||||||
effort="5.149"
|
|
||||||
velocity="0.99903" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="${prefix}_Link_1">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="-0.00042264 0.0 0.075171"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="1.8959" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.0029317"
|
|
||||||
ixy="-9.417E-06"
|
|
||||||
ixz="5.5248E-05"
|
|
||||||
iyy="0.0031666"
|
|
||||||
iyz="-9.3067E-05"
|
|
||||||
izz="0.0015477" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/visual/Link_1.dae" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.75294 0.75294 0.75294 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/collision/Link_1.stl" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="${prefix}_Rot_Y_1"
|
|
||||||
type="revolute">
|
|
||||||
<origin
|
|
||||||
xyz="0.1045 0.0 -0.0795"
|
|
||||||
rpy="3.1416 0 0" />
|
|
||||||
<parent
|
|
||||||
link="${prefix}_Fork_1" />
|
|
||||||
<child
|
|
||||||
link="${prefix}_Link_1" />
|
|
||||||
<axis
|
|
||||||
xyz="0 1 0" />
|
|
||||||
<limit
|
|
||||||
lower="-1.5707"
|
|
||||||
upper="2.2863"
|
|
||||||
effort="5.149"
|
|
||||||
velocity="0.99903" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="${prefix}_Fork_2">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="0.043764 0.0066984 0.032285"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="0.67797" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.0014091"
|
|
||||||
ixy="6.2674E-05"
|
|
||||||
ixz="-0.00057897"
|
|
||||||
iyy="0.0017329"
|
|
||||||
iyz="4.7826E-05"
|
|
||||||
izz="0.0019056" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/visual/Fork_2.dae" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.75294 0.75294 0.75294 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/collision/Fork_2.stl" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="${prefix}_Rot_Z_2"
|
|
||||||
type="revolute">
|
|
||||||
<origin
|
|
||||||
xyz="0 0.0 0.17502"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<parent
|
|
||||||
link="${prefix}_Link_1" />
|
|
||||||
<child
|
|
||||||
link="${prefix}_Fork_2" />
|
|
||||||
<axis
|
|
||||||
xyz="0 0 1" />
|
|
||||||
<limit
|
|
||||||
lower="-3.1416"
|
|
||||||
upper="3.1416"
|
|
||||||
effort="5.149"
|
|
||||||
velocity="0.99903" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="${prefix}_Link_2">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="-0.00042264 0.0 0.075171"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="1.8959" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.0029317"
|
|
||||||
ixy="-9.4171E-06"
|
|
||||||
ixz="5.5248E-05"
|
|
||||||
iyy="0.0031666"
|
|
||||||
iyz="-9.3067E-05"
|
|
||||||
izz="0.0015477" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/visual/Link_2.dae" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.75294 0.75294 0.75294 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/collision/Link_2.stl" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="${prefix}_Rot_Y_2"
|
|
||||||
type="revolute">
|
|
||||||
<origin
|
|
||||||
xyz="0.1045 0.0 0.0795"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<parent
|
|
||||||
link="${prefix}_Fork_2" />
|
|
||||||
<child
|
|
||||||
link="${prefix}_Link_2" />
|
|
||||||
<axis
|
|
||||||
xyz="0 1 0" />
|
|
||||||
<limit
|
|
||||||
lower="-1.5707"
|
|
||||||
upper="2.2863"
|
|
||||||
effort="5.149"
|
|
||||||
velocity="0.99903" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="${prefix}_Fork_3">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="0.0437644555284691 0.00669835350471771 0.0322846229336455"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="0.677972982551887" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.00140908677953665"
|
|
||||||
ixy="6.26743492445164E-05"
|
|
||||||
ixz="-0.000578970009504215"
|
|
||||||
iyy="0.00173285340301686"
|
|
||||||
iyz="4.78263030621606E-05"
|
|
||||||
izz="0.00190561919128035" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/visual/Fork_3.dae" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.752941176470588 0.752941176470588 0.752941176470588 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/collision/Fork_3.stl" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="${prefix}_Rot_Z_3"
|
|
||||||
type="revolute">
|
|
||||||
<origin
|
|
||||||
xyz="0 0.0 0.175"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<parent
|
|
||||||
link="${prefix}_Link_2" />
|
|
||||||
<child
|
|
||||||
link="${prefix}_Fork_3" />
|
|
||||||
<axis
|
|
||||||
xyz="0 0 1" />
|
|
||||||
<limit
|
|
||||||
lower="-3.14159"
|
|
||||||
upper="3.14159"
|
|
||||||
effort="5.149"
|
|
||||||
velocity="0.99903" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="${prefix}_Dock_Link">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="1.08992929317431E-05 0.0 0.0566747528784688"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="1.81040750781824" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.00136087225665183"
|
|
||||||
ixy="-1.57915998142718E-06"
|
|
||||||
ixz="-1.31398366941724E-06"
|
|
||||||
iyy="0.00136397029450427"
|
|
||||||
iyz="-0.00010058418524025"
|
|
||||||
izz="0.00124273705160787" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/visual/Dock_Link.dae" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.752941176470588 0.752941176470588 0.752941176470588 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/collision/Dock_Link.stl" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="${prefix}_Rot_Y_4"
|
|
||||||
type="revolute">
|
|
||||||
<origin
|
|
||||||
xyz="0.1045 0.0 0.0795"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<parent
|
|
||||||
link="${prefix}_Fork_3" />
|
|
||||||
<child
|
|
||||||
link="${prefix}_Dock_Link" />
|
|
||||||
<axis
|
|
||||||
xyz="0 1 0" />
|
|
||||||
<limit
|
|
||||||
lower="-1.5707"
|
|
||||||
upper="2.2863"
|
|
||||||
effort="5.149"
|
|
||||||
velocity="0.99903" />
|
|
||||||
</joint>
|
|
||||||
<xacro:rasmt_single_gazebo prefix="${prefix}" sim="${sim}"/>
|
|
||||||
<xacro:rasmt_single_control prefix="${prefix}" sim="${sim}"/>
|
|
||||||
|
|
||||||
<link name="${prefix}_tool0"/>
|
|
||||||
<joint name="${prefix}_tool0_fixed" type="fixed">
|
|
||||||
<parent link="${prefix}_Dock_Link"/>
|
|
||||||
<child link="${prefix}_tool0"/>
|
|
||||||
<origin xyz="0 0 0.12324" rpy="0 0 0"/>
|
|
||||||
<axis xyz="0 0 0"/>
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<!--link name="${prefix}_tool_end_point"/>
|
|
||||||
<joint name="${prefix}_tool_end_point_to_tool0" type="fixed">
|
|
||||||
<parent link="${prefix}_Dock_Link"/>
|
|
||||||
<child link="${prefix}_tool_end_point"/>
|
|
||||||
<origin xyz="0 0 ${gripper_length+0.12324}" rpy="0 0 0"/>
|
|
||||||
<axis xyz="0 0 0"/>
|
|
||||||
</joint-->
|
|
||||||
|
|
||||||
</xacro:macro>
|
|
||||||
</robot>
|
|
|
@ -1,40 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
|
||||||
<xacro:macro name="rasmt_hand_hi" params="prefix sim">
|
|
||||||
<!-- arg for control mode -->
|
|
||||||
<ros2_control name="rasmt_hand_hi" type="system">
|
|
||||||
|
|
||||||
<xacro:if value="${sim == 'gazebo'}">
|
|
||||||
<hardware>
|
|
||||||
<plugin>gazebo_ros2_control/GazeboSystem</plugin>
|
|
||||||
</hardware>
|
|
||||||
</xacro:if>
|
|
||||||
<xacro:if value="${sim == 'ignition'}">
|
|
||||||
<hardware>
|
|
||||||
<plugin>ign_ros2_control/IgnitionSystem</plugin>
|
|
||||||
</hardware>
|
|
||||||
</xacro:if>
|
|
||||||
|
|
||||||
<!-- <xacro:if value="${sim == 'fake'}">
|
|
||||||
<hardware>
|
|
||||||
<plugin>fake_components/GenericSystem</plugin>
|
|
||||||
</hardware>
|
|
||||||
</xacro:if> -->
|
|
||||||
|
|
||||||
<joint name="${prefix}_Slide_1">
|
|
||||||
<command_interface name="effort"/>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<joint name="${prefix}_Slide_2">
|
|
||||||
<command_interface name="effort"/>
|
|
||||||
<state_interface name="position"/>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
<state_interface name="effort"/>
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
</ros2_control>
|
|
||||||
</xacro:macro>
|
|
||||||
</robot>
|
|
|
@ -1,33 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
|
||||||
<xacro:macro name="rasmt_hand_gazebo" params="prefix">
|
|
||||||
|
|
||||||
<!-- ros_control-plugin -->
|
|
||||||
<!--gazebo>
|
|
||||||
<plugin name="gazebo_ros2_control" filename="libgazebo_ros2_control.so">
|
|
||||||
<robot_sim_type>gazebo_ros2_control/GazeboSystem</robot_sim_type>
|
|
||||||
<parameters>$(find rasmt_support)/config/rasmt_hand_controllers.yaml</parameters>
|
|
||||||
<robotNamespace>/${prefix}</robotNamespace>
|
|
||||||
</plugin>
|
|
||||||
</gazebo-->
|
|
||||||
|
|
||||||
<!-- <gazebo reference="${prefix}_Grip_Body">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo>
|
|
||||||
|
|
||||||
<gazebo reference="${prefix}_Grip_L">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo>
|
|
||||||
|
|
||||||
<gazebo reference="${prefix}_Grip_R">
|
|
||||||
<mu1>0.2</mu1>
|
|
||||||
<mu2>0.2</mu2>
|
|
||||||
<turnGravityOff>true</turnGravityOff>
|
|
||||||
</gazebo> -->
|
|
||||||
|
|
||||||
</xacro:macro>
|
|
||||||
</robot>
|
|
|
@ -1,189 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
|
||||||
|
|
||||||
<xacro:include filename="$(find rasmt_support)/urdf/tools/rasmt_hand_gazebo.xacro"/>
|
|
||||||
<xacro:include filename="$(find rasmt_support)/urdf/tools/rasmt_hand_control.xacro"/>
|
|
||||||
|
|
||||||
<xacro:macro name="rasmt_hand" params="prefix sim">
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="${prefix}_Grip_Body">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="0.0016793 -0.00053126 -0.024041"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="0.72351" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.00045979"
|
|
||||||
ixy="-2.1983E-08"
|
|
||||||
ixz="-6.5154E-06"
|
|
||||||
iyy="0.00048572"
|
|
||||||
iyz="8.3162E-07"
|
|
||||||
izz="0.00082469" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/visual/Grip_Body.dae" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.50196 1 0.50196 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/collision/Grip_Body.stl" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="${prefix}_Fix"
|
|
||||||
type="fixed">
|
|
||||||
<origin
|
|
||||||
xyz="0 0.0 0.12324"
|
|
||||||
rpy="-3.14159265358979 0 0" />
|
|
||||||
<parent
|
|
||||||
link="${prefix}_Dock_Link" />
|
|
||||||
<child
|
|
||||||
link="${prefix}_Grip_Body" />
|
|
||||||
<axis
|
|
||||||
xyz="0 0 0" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="${prefix}_Grip_L">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="-0.010118 0.010281 -0.0038252"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="0.021223" />
|
|
||||||
<inertia
|
|
||||||
ixx="6.5436E-06"
|
|
||||||
ixy="-3.114E-06"
|
|
||||||
ixz="2.8479E-06"
|
|
||||||
iyy="1.9726E-05"
|
|
||||||
iyz="1.6432E-06"
|
|
||||||
izz="1.6355E-05" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/visual/Grip_L.dae" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.75294 1 1 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/collision/Grip_L.stl" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="${prefix}_Slide_1"
|
|
||||||
type="prismatic">
|
|
||||||
<origin
|
|
||||||
xyz="0 -0.02 -0.09305"
|
|
||||||
rpy="3.1416 0 -1.5708" />
|
|
||||||
<parent
|
|
||||||
link="${prefix}_Grip_Body" />
|
|
||||||
<child
|
|
||||||
link="${prefix}_Grip_L" />
|
|
||||||
<axis
|
|
||||||
xyz="-1 0 0" />
|
|
||||||
<limit
|
|
||||||
effort="20"
|
|
||||||
lower="0.0"
|
|
||||||
upper="0.06"
|
|
||||||
velocity="0.2"/>
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="${prefix}_Grip_R">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="-0.010118 0.010281 -0.0038252"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="0.021223" />
|
|
||||||
<inertia
|
|
||||||
ixx="6.5436E-06"
|
|
||||||
ixy="-3.114E-06"
|
|
||||||
ixz="2.8479E-06"
|
|
||||||
iyy="1.9726E-05"
|
|
||||||
iyz="1.6432E-06"
|
|
||||||
izz="1.6355E-05" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/visual/Grip_R.dae" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.75294 1 1 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://rasmt_support/meshes/collision/Grip_R.stl" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="${prefix}_Slide_2"
|
|
||||||
type="prismatic">
|
|
||||||
<origin
|
|
||||||
xyz="0 0.02 -0.09305"
|
|
||||||
rpy="3.1416 0 1.5708" />
|
|
||||||
<parent
|
|
||||||
link="${prefix}_Grip_Body" />
|
|
||||||
<child
|
|
||||||
link="${prefix}_Grip_R" />
|
|
||||||
<axis
|
|
||||||
xyz="-1 0 0" />
|
|
||||||
<limit
|
|
||||||
effort="20"
|
|
||||||
lower="0.0"
|
|
||||||
upper="0.06"
|
|
||||||
velocity="0.2"/>
|
|
||||||
<!--mimic joint="${prefix}_Slide_1"/-->
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<xacro:rasmt_hand_hi prefix="${prefix}" sim="${sim}"/>
|
|
||||||
<xacro:rasmt_hand_gazebo prefix="${prefix}"/>
|
|
||||||
|
|
||||||
</xacro:macro>
|
|
||||||
</robot>
|
|
|
@ -1,120 +0,0 @@
|
||||||
<sdf version='1.7'>
|
|
||||||
<world name='default'>
|
|
||||||
<light name='sun' type='directional'>
|
|
||||||
<cast_shadows>1</cast_shadows>
|
|
||||||
<pose>0 0 10 0 -0 0</pose>
|
|
||||||
<diffuse>0.8 0.8 0.8 1</diffuse>
|
|
||||||
<specular>0.2 0.2 0.2 1</specular>
|
|
||||||
<attenuation>
|
|
||||||
<range>1000</range>
|
|
||||||
<constant>0.9</constant>
|
|
||||||
<linear>0.01</linear>
|
|
||||||
<quadratic>0.001</quadratic>
|
|
||||||
</attenuation>
|
|
||||||
<direction>-0.5 0.1 -0.9</direction>
|
|
||||||
<spot>
|
|
||||||
<inner_angle>0</inner_angle>
|
|
||||||
<outer_angle>0</outer_angle>
|
|
||||||
<falloff>0</falloff>
|
|
||||||
</spot>
|
|
||||||
</light>
|
|
||||||
<plugin name="gazebo_ros_state" filename="libgazebo_ros_state.so">
|
|
||||||
<update_rate>1.0</update_rate>
|
|
||||||
</plugin>
|
|
||||||
<plugin name="ros_link_attacher_plugin" filename="libgazebo_ros_link_attacher_plugin.so"/>
|
|
||||||
<model name='ground_plane'>
|
|
||||||
<static>1</static>
|
|
||||||
<link name='link'>
|
|
||||||
<collision name='collision'>
|
|
||||||
<geometry>
|
|
||||||
<plane>
|
|
||||||
<normal>0 0 1</normal>
|
|
||||||
<size>100 100</size>
|
|
||||||
</plane>
|
|
||||||
</geometry>
|
|
||||||
<surface>
|
|
||||||
<friction>
|
|
||||||
<ode>
|
|
||||||
<mu>100</mu>
|
|
||||||
<mu2>50</mu2>
|
|
||||||
</ode>
|
|
||||||
<torsional>
|
|
||||||
<ode/>
|
|
||||||
</torsional>
|
|
||||||
</friction>
|
|
||||||
<contact>
|
|
||||||
<ode/>
|
|
||||||
</contact>
|
|
||||||
<bounce/>
|
|
||||||
</surface>
|
|
||||||
<max_contacts>10</max_contacts>
|
|
||||||
</collision>
|
|
||||||
<visual name='visual'>
|
|
||||||
<cast_shadows>0</cast_shadows>
|
|
||||||
<geometry>
|
|
||||||
<plane>
|
|
||||||
<normal>0 0 1</normal>
|
|
||||||
<size>100 100</size>
|
|
||||||
</plane>
|
|
||||||
</geometry>
|
|
||||||
<material>
|
|
||||||
<script>
|
|
||||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
|
||||||
<name>Gazebo/Grey</name>
|
|
||||||
</script>
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<self_collide>0</self_collide>
|
|
||||||
<enable_wind>0</enable_wind>
|
|
||||||
<kinematic>0</kinematic>
|
|
||||||
</link>
|
|
||||||
</model>
|
|
||||||
<gravity>0 0 -9.8</gravity>
|
|
||||||
<magnetic_field>6e-06 2.3e-05 -4.2e-05</magnetic_field>
|
|
||||||
<atmosphere type='adiabatic'/>
|
|
||||||
<physics type='ode'>
|
|
||||||
<max_step_size>0.001</max_step_size>
|
|
||||||
<real_time_factor>1</real_time_factor>
|
|
||||||
<real_time_update_rate>1000</real_time_update_rate>
|
|
||||||
</physics>
|
|
||||||
<scene>
|
|
||||||
<ambient>0.4 0.4 0.4 1</ambient>
|
|
||||||
<background>0.7 0.7 0.7 1</background>
|
|
||||||
<shadows>1</shadows>
|
|
||||||
</scene>
|
|
||||||
<wind/>
|
|
||||||
<spherical_coordinates>
|
|
||||||
<surface_model>EARTH_WGS84</surface_model>
|
|
||||||
<latitude_deg>0</latitude_deg>
|
|
||||||
<longitude_deg>0</longitude_deg>
|
|
||||||
<elevation>0</elevation>
|
|
||||||
<heading_deg>0</heading_deg>
|
|
||||||
</spherical_coordinates>
|
|
||||||
<state world_name='default'>
|
|
||||||
<sim_time>46 800000000</sim_time>
|
|
||||||
<real_time>46 908490360</real_time>
|
|
||||||
<wall_time>1642692487 464939457</wall_time>
|
|
||||||
<iterations>46800</iterations>
|
|
||||||
<model name='ground_plane'>
|
|
||||||
<pose>0 0 0 0 -0 0</pose>
|
|
||||||
<scale>1 1 1</scale>
|
|
||||||
<link name='link'>
|
|
||||||
<pose>0 0 0 0 -0 0</pose>
|
|
||||||
<velocity>0 0 0 0 -0 0</velocity>
|
|
||||||
<acceleration>0 0 0 0 -0 0</acceleration>
|
|
||||||
<wrench>0 0 0 0 -0 0</wrench>
|
|
||||||
</link>
|
|
||||||
</model>
|
|
||||||
<light name='sun'>
|
|
||||||
<pose>0 0 10 0 -0 0</pose>
|
|
||||||
</light>
|
|
||||||
</state>
|
|
||||||
<gui fullscreen='0'>
|
|
||||||
<camera name='user_camera'>
|
|
||||||
<pose>9.78871 -9.25042 4.66792 0 0.399643 2.3322</pose>
|
|
||||||
<view_controller>orbit</view_controller>
|
|
||||||
<projection_type>perspective</projection_type>
|
|
||||||
</camera>
|
|
||||||
</gui>
|
|
||||||
</world>
|
|
||||||
</sdf>
|
|
|
@ -281,7 +281,7 @@ def generate_launch_description():
|
||||||
control = IncludeLaunchDescription(
|
control = IncludeLaunchDescription(
|
||||||
PythonLaunchDescriptionSource([
|
PythonLaunchDescriptionSource([
|
||||||
PathJoinSubstitution([
|
PathJoinSubstitution([
|
||||||
FindPackageShare('rbs_bringup'),
|
FindPackageShare('ur_description'),
|
||||||
'launch',
|
'launch',
|
||||||
'control.launch.py'
|
'control.launch.py'
|
||||||
])
|
])
|
||||||
|
@ -297,7 +297,7 @@ def generate_launch_description():
|
||||||
simulation = IncludeLaunchDescription(
|
simulation = IncludeLaunchDescription(
|
||||||
PythonLaunchDescriptionSource([
|
PythonLaunchDescriptionSource([
|
||||||
PathJoinSubstitution([
|
PathJoinSubstitution([
|
||||||
FindPackageShare('rbs_bringup'),
|
FindPackageShare('rbs_simulation'),
|
||||||
'launch',
|
'launch',
|
||||||
'simulation.launch.py'
|
'simulation.launch.py'
|
||||||
])
|
])
|
||||||
|
@ -312,7 +312,7 @@ def generate_launch_description():
|
||||||
moveit = IncludeLaunchDescription(
|
moveit = IncludeLaunchDescription(
|
||||||
PythonLaunchDescriptionSource([
|
PythonLaunchDescriptionSource([
|
||||||
PathJoinSubstitution([
|
PathJoinSubstitution([
|
||||||
FindPackageShare('rbs_bringup'),
|
FindPackageShare('ur_moveit_config'),
|
||||||
'launch',
|
'launch',
|
||||||
'moveit.launch.py'
|
'moveit.launch.py'
|
||||||
])
|
])
|
||||||
|
@ -344,7 +344,7 @@ def generate_launch_description():
|
||||||
perception = IncludeLaunchDescription(
|
perception = IncludeLaunchDescription(
|
||||||
PythonLaunchDescriptionSource([
|
PythonLaunchDescriptionSource([
|
||||||
PathJoinSubstitution([
|
PathJoinSubstitution([
|
||||||
FindPackageShare('rbs_bringup'),
|
FindPackageShare('rbs_perception'),
|
||||||
'launch',
|
'launch',
|
||||||
'perception.launch.py'
|
'perception.launch.py'
|
||||||
])
|
])
|
||||||
|
|
|
@ -1,125 +0,0 @@
|
||||||
from launch_ros.actions import Node
|
|
||||||
from launch import LaunchDescription
|
|
||||||
from launch.actions import DeclareLaunchArgument, ExecuteProcess
|
|
||||||
from launch_ros.substitutions import FindPackageShare
|
|
||||||
from launch.substitutions import Command, FindExecutable, LaunchConfiguration, PathJoinSubstitution
|
|
||||||
from launch.conditions import IfCondition, UnlessCondition
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
declared_arguments = []
|
|
||||||
declared_arguments.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
"with_gripper",
|
|
||||||
default_value="false",
|
|
||||||
description="With gripper or not?",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
declared_arguments.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
"robot_description",
|
|
||||||
default_value="",
|
|
||||||
description="robot description param",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
declared_arguments.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
"start_joint_controller",
|
|
||||||
default_value="false",
|
|
||||||
description="Enable headless mode for robot control",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
declared_arguments.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
"initial_joint_controller",
|
|
||||||
default_value="joint_trajectory_controller",
|
|
||||||
description="Robot controller to start.",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
declared_arguments.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
"controllers_file",
|
|
||||||
default_value="ur_controllers.yaml",
|
|
||||||
description="YAML file with the controllers configuration.",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
robot_description_content = LaunchConfiguration("robot_description")
|
|
||||||
runtime_config_package = LaunchConfiguration("runtime_config_package")
|
|
||||||
controllers_file = LaunchConfiguration("controllers_file")
|
|
||||||
start_joint_controller = LaunchConfiguration("start_joint_controller")
|
|
||||||
with_gripper_condition = LaunchConfiguration("with_gripper")
|
|
||||||
initial_joint_controller = LaunchConfiguration("initial_joint_controller")
|
|
||||||
|
|
||||||
initial_joint_controllers_file_path = PathJoinSubstitution(
|
|
||||||
[FindPackageShare(runtime_config_package), "config", controllers_file]
|
|
||||||
)
|
|
||||||
robot_description = {"robot_description": robot_description_content}
|
|
||||||
|
|
||||||
control_node = Node(
|
|
||||||
package="controller_manager",
|
|
||||||
executable="ros2_control_node",
|
|
||||||
parameters=[robot_description, initial_joint_controllers_file_path],
|
|
||||||
output="both",
|
|
||||||
remappings=[
|
|
||||||
('motion_control_handle/target_frame', 'target_frame'),
|
|
||||||
('cartesian_compliance_controller/target_frame', 'target_frame'),
|
|
||||||
('cartesian_compliance_controller/target_wrench', 'target_wrench'),
|
|
||||||
('cartesian_compliance_controller/ft_sensor_wrench', 'ft_sensor_wrench'),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
joint_state_broadcaster_spawner = Node(
|
|
||||||
package="controller_manager",
|
|
||||||
executable="spawner",
|
|
||||||
arguments=["joint_state_broadcaster", "-c", "/controller_manager"],
|
|
||||||
)
|
|
||||||
|
|
||||||
# FIXME: Start controllers one controller by one launch or launch it all and switch by runtime?
|
|
||||||
initial_joint_controller_spawner_started = Node(
|
|
||||||
package="controller_manager",
|
|
||||||
executable="spawner",
|
|
||||||
arguments=[initial_joint_controller, "-c", "/controller_manager"],
|
|
||||||
condition=IfCondition(start_joint_controller),
|
|
||||||
)
|
|
||||||
initial_joint_controller_spawner_stopped = Node(
|
|
||||||
package="controller_manager",
|
|
||||||
executable="spawner",
|
|
||||||
arguments=[initial_joint_controller, "-c", "/controller_manager", "--inactive"],
|
|
||||||
condition=UnlessCondition(start_joint_controller),
|
|
||||||
)
|
|
||||||
|
|
||||||
gripper_controller = ExecuteProcess(
|
|
||||||
cmd=['ros2', 'control', 'load_controller', '--set-state', 'active',
|
|
||||||
"gripper_controller"],
|
|
||||||
output='screen',
|
|
||||||
condition=IfCondition(with_gripper_condition)
|
|
||||||
)
|
|
||||||
cartesian_motion_controller_spawner = Node(
|
|
||||||
package="controller_manager",
|
|
||||||
executable="spawner",
|
|
||||||
arguments=["cartesian_motion_controller", "--inactive", "-c", "/controller_manager"],
|
|
||||||
)
|
|
||||||
motion_control_handle_spawner = Node(
|
|
||||||
package="controller_manager",
|
|
||||||
executable="spawner",
|
|
||||||
arguments=["motion_control_handle", "--inactive", "-c", "/controller_manager"],
|
|
||||||
)
|
|
||||||
|
|
||||||
cartesian_compliance_controller_spawner = Node(
|
|
||||||
package="controller_manager",
|
|
||||||
executable="spawner",
|
|
||||||
arguments=["cartesian_compliance_controller", "--inactive", "-c", "/controller_manager"],
|
|
||||||
)
|
|
||||||
|
|
||||||
nodes_to_start = [
|
|
||||||
control_node,
|
|
||||||
joint_state_broadcaster_spawner,
|
|
||||||
initial_joint_controller_spawner_started,
|
|
||||||
initial_joint_controller_spawner_stopped,
|
|
||||||
gripper_controller,
|
|
||||||
cartesian_motion_controller_spawner,
|
|
||||||
motion_control_handle_spawner,
|
|
||||||
cartesian_compliance_controller_spawner
|
|
||||||
]
|
|
||||||
|
|
||||||
return LaunchDescription(declared_arguments + nodes_to_start)
|
|
|
@ -1,198 +0,0 @@
|
||||||
import os
|
|
||||||
from launch_ros.actions import Node
|
|
||||||
from launch import LaunchDescription
|
|
||||||
from launch.actions import DeclareLaunchArgument
|
|
||||||
from launch_ros.substitutions import FindPackageShare
|
|
||||||
from launch.substitutions import Command, FindExecutable, LaunchConfiguration, PathJoinSubstitution
|
|
||||||
from launch.conditions import IfCondition
|
|
||||||
from ur_moveit_config.launch_common import load_yaml
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
declared_arguments = []
|
|
||||||
declared_arguments.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
"robot_description",
|
|
||||||
default_value="",
|
|
||||||
description="robot description string",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
declared_arguments.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
"robot_description_semantic",
|
|
||||||
default_value="",
|
|
||||||
description="robot description semantic string",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
declared_arguments.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
"moveit_config_package",
|
|
||||||
default_value="ur_moveit_config",
|
|
||||||
description="MoveIt config package with robot SRDF/XACRO files. Usually the argument \
|
|
||||||
is not set, it enables use of a custom moveit config.",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
declared_arguments.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
"moveit_config_file",
|
|
||||||
default_value="ur.srdf.xacro",
|
|
||||||
description="MoveIt SRDF/XACRO description file with the robot.",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
declared_arguments.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
"use_sim_time",
|
|
||||||
default_value="true",
|
|
||||||
description="Make MoveIt to use simulation time. This is needed for the trajectory planing in simulation.",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
declared_arguments.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
"prefix",
|
|
||||||
default_value='""',
|
|
||||||
description="Prefix of the joint names, useful for \
|
|
||||||
multi-robot setup. If changed than also joint names in the controllers' configuration \
|
|
||||||
have to be updated.",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
declared_arguments.append(
|
|
||||||
DeclareLaunchArgument(
|
|
||||||
"with_gripper",
|
|
||||||
default_value="false",
|
|
||||||
description="With gripper or not?",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
prefix = LaunchConfiguration("prefix")
|
|
||||||
moveit_config_package = LaunchConfiguration("moveit_config_package")
|
|
||||||
moveit_config_file = LaunchConfiguration("moveit_config_file")
|
|
||||||
use_sim_time = LaunchConfiguration("use_sim_time")
|
|
||||||
with_gripper_condition = LaunchConfiguration("with_gripper")
|
|
||||||
robot_description_content = LaunchConfiguration("robot_description")
|
|
||||||
robot_description_semantic_content = LaunchConfiguration("robot_description_semantic")
|
|
||||||
|
|
||||||
robot_description = {"robot_description": robot_description_content}
|
|
||||||
robot_description_semantic = {"robot_description_semantic": robot_description_semantic_content}
|
|
||||||
use_sim_time = {"use_sim_time": use_sim_time}
|
|
||||||
|
|
||||||
world_config_file = PathJoinSubstitution(
|
|
||||||
[FindPackageShare("rbs_simulation"), "worlds", "mir.sdf"]
|
|
||||||
)
|
|
||||||
|
|
||||||
robot_description_kinematics = PathJoinSubstitution(
|
|
||||||
[FindPackageShare(moveit_config_package), "config", "kinematics.yaml"]
|
|
||||||
)
|
|
||||||
|
|
||||||
# Planning Configuration
|
|
||||||
ompl_planning_pipeline_config = {
|
|
||||||
"move_group": {
|
|
||||||
"planning_plugin": "ompl_interface/OMPLPlanner",
|
|
||||||
"request_adapters": """default_planner_request_adapters/AddTimeOptimalParameterization default_planner_request_adapters/FixWorkspaceBounds default_planner_request_adapters/FixStartStateBounds default_planner_request_adapters/FixStartStateCollision default_planner_request_adapters/FixStartStatePathConstraints""",
|
|
||||||
"start_state_max_bounds_error": 0.1,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ompl_planning_yaml = load_yaml("ur_moveit_config", "config/ompl_planning.yaml")
|
|
||||||
ompl_planning_pipeline_config["move_group"].update(ompl_planning_yaml)
|
|
||||||
|
|
||||||
controllers_yaml = load_yaml("ur_moveit_config", "config/controllers.yaml")
|
|
||||||
|
|
||||||
moveit_controllers = {
|
|
||||||
"moveit_simple_controller_manager": controllers_yaml,
|
|
||||||
"moveit_controller_manager": "moveit_simple_controller_manager/MoveItSimpleControllerManager",
|
|
||||||
}
|
|
||||||
|
|
||||||
trajectory_execution = {
|
|
||||||
"moveit_manage_controllers": True,
|
|
||||||
"trajectory_execution.allowed_execution_duration_scaling": 100.0,
|
|
||||||
"trajectory_execution.allowed_goal_duration_margin": 0.5,
|
|
||||||
"trajectory_execution.allowed_start_tolerance": 0.01,
|
|
||||||
}
|
|
||||||
|
|
||||||
planning_scene_monitor_parameters = {
|
|
||||||
"publish_planning_scene": True,
|
|
||||||
"publish_geometry_updates": True,
|
|
||||||
"publish_state_updates": True,
|
|
||||||
"publish_transforms_updates": True,
|
|
||||||
}
|
|
||||||
|
|
||||||
move_group_node = Node(
|
|
||||||
package="moveit_ros_move_group",
|
|
||||||
executable="move_group",
|
|
||||||
output="screen",
|
|
||||||
parameters=[
|
|
||||||
robot_description,
|
|
||||||
robot_description_semantic,
|
|
||||||
robot_description_kinematics,
|
|
||||||
ompl_planning_pipeline_config,
|
|
||||||
trajectory_execution,
|
|
||||||
moveit_controllers,
|
|
||||||
planning_scene_monitor_parameters,
|
|
||||||
use_sim_time,
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
move_topose_action_server = Node(
|
|
||||||
package="rbs_skill_servers",
|
|
||||||
executable="move_topose_action_server",
|
|
||||||
parameters=[
|
|
||||||
robot_description,
|
|
||||||
robot_description_semantic,
|
|
||||||
robot_description_kinematics,
|
|
||||||
use_sim_time,
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
gripper_control_node = Node(
|
|
||||||
package="rbs_skill_servers",
|
|
||||||
executable="gripper_control_action_server",
|
|
||||||
parameters= [
|
|
||||||
robot_description,
|
|
||||||
robot_description_semantic,
|
|
||||||
robot_description_kinematics,
|
|
||||||
use_sim_time,
|
|
||||||
],
|
|
||||||
condition=IfCondition(with_gripper_condition)
|
|
||||||
)
|
|
||||||
|
|
||||||
move_cartesian_path_action_server = Node(
|
|
||||||
package="rbs_skill_servers",
|
|
||||||
executable="move_cartesian_path_action_server",
|
|
||||||
parameters=[
|
|
||||||
robot_description,
|
|
||||||
robot_description_semantic,
|
|
||||||
robot_description_kinematics,
|
|
||||||
use_sim_time,
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
move_joint_state_action_server = Node(
|
|
||||||
package="rbs_skill_servers",
|
|
||||||
executable="move_to_joint_states_action_server",
|
|
||||||
parameters=[
|
|
||||||
robot_description,
|
|
||||||
robot_description_semantic,
|
|
||||||
robot_description_kinematics,
|
|
||||||
use_sim_time,
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
moveit_planning_scene_init = Node(
|
|
||||||
package="rbs_skill_servers",
|
|
||||||
executable="moveit_update_planning_scene_service_server",
|
|
||||||
output="screen",
|
|
||||||
parameters=[
|
|
||||||
{'init_scene': world_config_file},
|
|
||||||
{'models_paths': os.environ['IGN_GAZEBO_RESOURCE_PATH']}
|
|
||||||
]
|
|
||||||
)
|
|
||||||
nodes_to_start = [
|
|
||||||
move_group_node,
|
|
||||||
move_topose_action_server,
|
|
||||||
gripper_control_node,
|
|
||||||
move_cartesian_path_action_server,
|
|
||||||
move_joint_state_action_server,
|
|
||||||
moveit_planning_scene_init
|
|
||||||
]
|
|
||||||
return LaunchDescription(declared_arguments + nodes_to_start)
|
|
|
@ -57,7 +57,7 @@ target_compile_definitions(pc_filter
|
||||||
|
|
||||||
target_link_libraries(pc_filter ${PCL_LIBRARIES})
|
target_link_libraries(pc_filter ${PCL_LIBRARIES})
|
||||||
install(
|
install(
|
||||||
DIRECTORY config
|
DIRECTORY config launch
|
||||||
DESTINATION share/${PROJECT_NAME}
|
DESTINATION share/${PROJECT_NAME}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue