别人克隆后没有 install,source 会直接失败。把展开后的 install 放进仓库,符号链接和指向本机 build 的 egg-link 收成真实文件,Python 入口改走当前环境的解释器,这样不用先 colcon build 也能启动。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+1
@@ -0,0 +1 @@
|
||||
robot_state_publisher;joint_state_publisher;joint_state_publisher_gui;joint_state_broadcaster;moveit_ros_move_group;moveit_kinematics;moveit_planners_ompl;moveit_ros_visualization;moveit_servo;moveit_simple_controller_manager;rviz2;flexiv_description;urdf;warehouse_ros_sqlite;xacro
|
||||
+1
@@ -0,0 +1 @@
|
||||
/home/cc/ros2/install/flexiv_bringup:/home/cc/ros2/install/flexiv_test_nodes:/home/cc/ros2/install/flexiv_robot_states_broadcaster:/home/cc/ros2/install/flexiv_gripper:/home/cc/ros2/install/flexiv_msgs:/home/cc/ros2/install/flexiv_hardware:/home/cc/ros2/install/arm_bringup:/home/cc/ros2/install/arm_moveit_config:/home/cc/ros2/install/arm_description:/home/cc/ros2/install/flexiv_description:/home/cc/ros2/install/arm_driver_flexiv:/home/cc/ros2/install/arm_control:/home/cc/ros2/install/arm_application:/home/cc/ros2/install/arm_msgs:/home/cc/ros2/install/arm_kinematics:/home/cc/ros2/install/arm_interfaces:/home/cc/anaconda3/envs/ros_flexiv
|
||||
@@ -0,0 +1 @@
|
||||
flexiv_description:joint_state_broadcaster:joint_state_publisher:joint_state_publisher_gui:moveit_kinematics:moveit_planners_ompl:moveit_ros_move_group:moveit_ros_visualization:moveit_servo:moveit_simple_controller_manager:robot_state_publisher:rviz2:urdf:warehouse_ros_sqlite:xacro
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
# generated from ament/cmake/core/templates/nameConfig-version.cmake.in
|
||||
set(PACKAGE_VERSION "1.9.1")
|
||||
|
||||
set(PACKAGE_VERSION_EXACT False)
|
||||
set(PACKAGE_VERSION_COMPATIBLE False)
|
||||
|
||||
if("${PACKAGE_FIND_VERSION}" VERSION_EQUAL "${PACKAGE_VERSION}")
|
||||
set(PACKAGE_VERSION_EXACT True)
|
||||
set(PACKAGE_VERSION_COMPATIBLE True)
|
||||
endif()
|
||||
|
||||
if("${PACKAGE_FIND_VERSION}" VERSION_LESS "${PACKAGE_VERSION}")
|
||||
set(PACKAGE_VERSION_COMPATIBLE True)
|
||||
endif()
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
# generated from ament/cmake/core/templates/nameConfig.cmake.in
|
||||
|
||||
# prevent multiple inclusion
|
||||
if(_flexiv_moveit_config_CONFIG_INCLUDED)
|
||||
# ensure to keep the found flag the same
|
||||
if(NOT DEFINED flexiv_moveit_config_FOUND)
|
||||
# explicitly set it to FALSE, otherwise CMake will set it to TRUE
|
||||
set(flexiv_moveit_config_FOUND FALSE)
|
||||
elseif(NOT flexiv_moveit_config_FOUND)
|
||||
# use separate condition to avoid uninitialized variable warning
|
||||
set(flexiv_moveit_config_FOUND FALSE)
|
||||
endif()
|
||||
return()
|
||||
endif()
|
||||
set(_flexiv_moveit_config_CONFIG_INCLUDED TRUE)
|
||||
|
||||
# output package information
|
||||
if(NOT flexiv_moveit_config_FIND_QUIETLY)
|
||||
message(STATUS "Found flexiv_moveit_config: 1.9.1 (${flexiv_moveit_config_DIR})")
|
||||
endif()
|
||||
|
||||
# warn when using a deprecated package
|
||||
if(NOT "" STREQUAL "")
|
||||
set(_msg "Package 'flexiv_moveit_config' is deprecated")
|
||||
# append custom deprecation text if available
|
||||
if(NOT "" STREQUAL "TRUE")
|
||||
set(_msg "${_msg} ()")
|
||||
endif()
|
||||
# optionally quiet the deprecation message
|
||||
if(NOT ${flexiv_moveit_config_DEPRECATED_QUIET})
|
||||
message(DEPRECATION "${_msg}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# flag package as ament-based to distinguish it after being find_package()-ed
|
||||
set(flexiv_moveit_config_FOUND_AMENT_PACKAGE TRUE)
|
||||
|
||||
# include all config extra files
|
||||
set(_extras "")
|
||||
foreach(_extra ${_extras})
|
||||
include("${flexiv_moveit_config_DIR}/${_extra}")
|
||||
endforeach()
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
controller_names:
|
||||
- rizon_arm_controller
|
||||
- flexiv_gripper_node
|
||||
|
||||
rizon_arm_controller:
|
||||
action_ns: follow_joint_trajectory
|
||||
type: FollowJointTrajectory
|
||||
default: true
|
||||
joints:
|
||||
- $(var external_axis_prefix)aico1_4_v1_joint2
|
||||
- $(var prefix)joint1
|
||||
- $(var prefix)joint2
|
||||
- $(var prefix)joint3
|
||||
- $(var prefix)joint4
|
||||
- $(var prefix)joint5
|
||||
- $(var prefix)joint6
|
||||
- $(var prefix)joint7
|
||||
|
||||
flexiv_gripper_node:
|
||||
action_ns: gripper_action
|
||||
type: GripperCommand
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix)finger_width_joint
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
controller_names:
|
||||
- rizon_arm_controller
|
||||
- flexiv_gripper_node
|
||||
|
||||
rizon_arm_controller:
|
||||
action_ns: follow_joint_trajectory
|
||||
type: FollowJointTrajectory
|
||||
default: true
|
||||
joints:
|
||||
- $(var external_axis_prefix)aico1_4_v2_joint1
|
||||
- $(var external_axis_prefix)aico1_4_v2_joint2
|
||||
- $(var external_axis_prefix)aico1_4_v2_joint_head
|
||||
- $(var prefix)joint1
|
||||
- $(var prefix)joint2
|
||||
- $(var prefix)joint3
|
||||
- $(var prefix)joint4
|
||||
- $(var prefix)joint5
|
||||
- $(var prefix)joint6
|
||||
- $(var prefix)joint7
|
||||
|
||||
flexiv_gripper_node:
|
||||
action_ns: gripper_action
|
||||
type: GripperCommand
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix)finger_width_joint
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
$(var prefix)arm:
|
||||
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
|
||||
kinematics_solver_search_resolution: 0.005
|
||||
kinematics_solver_timeout: 0.05
|
||||
+176
@@ -0,0 +1,176 @@
|
||||
planner_configs:
|
||||
SBLkConfigDefault:
|
||||
type: geometric::SBL
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
ESTkConfigDefault:
|
||||
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
|
||||
LBKPIECEkConfigDefault:
|
||||
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
|
||||
BKPIECEkConfigDefault:
|
||||
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
|
||||
KPIECEkConfigDefault:
|
||||
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
|
||||
RRTkConfigDefault:
|
||||
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
|
||||
RRTConnectkConfigDefault:
|
||||
type: geometric::RRTConnect
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
RRTstarkConfigDefault:
|
||||
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
|
||||
TRRTkConfigDefault:
|
||||
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 expression. default: 0.0 set in setup()
|
||||
PRMkConfigDefault:
|
||||
type: geometric::PRM
|
||||
max_nearest_neighbors: 10 # use k nearest neighbors. default: 10
|
||||
PRMstarkConfigDefault:
|
||||
type: geometric::PRMstar
|
||||
FMTkConfigDefault:
|
||||
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
|
||||
BFMTkConfigDefault:
|
||||
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
|
||||
PDSTkConfigDefault:
|
||||
type: geometric::PDST
|
||||
STRIDEkConfigDefault:
|
||||
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
|
||||
BiTRRTkConfigDefault:
|
||||
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
|
||||
LBTRRTkConfigDefault:
|
||||
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
|
||||
BiESTkConfigDefault:
|
||||
type: geometric::BiEST
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
ProjESTkConfigDefault:
|
||||
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
|
||||
LazyPRMkConfigDefault:
|
||||
type: geometric::LazyPRM
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
LazyPRMstarkConfigDefault:
|
||||
type: geometric::LazyPRMstar
|
||||
SPARSkConfigDefault:
|
||||
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
|
||||
SPARStwokConfigDefault:
|
||||
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
|
||||
TrajOptDefault:
|
||||
type: geometric::TrajOpt
|
||||
$(var prefix)arm:
|
||||
planner_configs:
|
||||
- SBLkConfigDefault
|
||||
- ESTkConfigDefault
|
||||
- LBKPIECEkConfigDefault
|
||||
- BKPIECEkConfigDefault
|
||||
- KPIECEkConfigDefault
|
||||
- RRTkConfigDefault
|
||||
- RRTConnectkConfigDefault
|
||||
- RRTstarkConfigDefault
|
||||
- TRRTkConfigDefault
|
||||
- PRMkConfigDefault
|
||||
- PRMstarkConfigDefault
|
||||
- FMTkConfigDefault
|
||||
- BFMTkConfigDefault
|
||||
- PDSTkConfigDefault
|
||||
- STRIDEkConfigDefault
|
||||
- BiTRRTkConfigDefault
|
||||
- LBTRRTkConfigDefault
|
||||
- BiESTkConfigDefault
|
||||
- ProjESTkConfigDefault
|
||||
- LazyPRMkConfigDefault
|
||||
- LazyPRMstarkConfigDefault
|
||||
- SPARSkConfigDefault
|
||||
- SPARStwokConfigDefault
|
||||
- TrajOptDefault
|
||||
$(var prefix)grav_gripper:
|
||||
planner_configs:
|
||||
- SBLkConfigDefault
|
||||
- ESTkConfigDefault
|
||||
- LBKPIECEkConfigDefault
|
||||
- BKPIECEkConfigDefault
|
||||
- KPIECEkConfigDefault
|
||||
- RRTkConfigDefault
|
||||
- RRTConnectkConfigDefault
|
||||
- RRTstarkConfigDefault
|
||||
- TRRTkConfigDefault
|
||||
- PRMkConfigDefault
|
||||
- PRMstarkConfigDefault
|
||||
- FMTkConfigDefault
|
||||
- BFMTkConfigDefault
|
||||
- PDSTkConfigDefault
|
||||
- STRIDEkConfigDefault
|
||||
- BiTRRTkConfigDefault
|
||||
- LBTRRTkConfigDefault
|
||||
- BiESTkConfigDefault
|
||||
- ProjESTkConfigDefault
|
||||
- LazyPRMkConfigDefault
|
||||
- LazyPRMstarkConfigDefault
|
||||
- SPARSkConfigDefault
|
||||
- SPARStwokConfigDefault
|
||||
- TrajOptDefault
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
controller_names:
|
||||
- left_rizon_arm_controller
|
||||
- right_rizon_arm_controller
|
||||
- left_gripper_node
|
||||
- right_gripper_node
|
||||
|
||||
left_rizon_arm_controller:
|
||||
action_ns: follow_joint_trajectory
|
||||
type: FollowJointTrajectory
|
||||
default: true
|
||||
joints:
|
||||
- $(var external_axis_prefix)aico2_10_v1_joint1
|
||||
- $(var external_axis_prefix)aico2_10_v1_joint2
|
||||
- $(var prefix_left)joint1
|
||||
- $(var prefix_left)joint2
|
||||
- $(var prefix_left)joint3
|
||||
- $(var prefix_left)joint4
|
||||
- $(var prefix_left)joint5
|
||||
- $(var prefix_left)joint6
|
||||
- $(var prefix_left)joint7
|
||||
|
||||
right_rizon_arm_controller:
|
||||
action_ns: follow_joint_trajectory
|
||||
type: FollowJointTrajectory
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_right)joint1
|
||||
- $(var prefix_right)joint2
|
||||
- $(var prefix_right)joint3
|
||||
- $(var prefix_right)joint4
|
||||
- $(var prefix_right)joint5
|
||||
- $(var prefix_right)joint6
|
||||
- $(var prefix_right)joint7
|
||||
|
||||
left_gripper_node:
|
||||
action_ns: gripper_action
|
||||
type: GripperCommand
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_left)finger_width_joint
|
||||
|
||||
right_gripper_node:
|
||||
action_ns: gripper_action
|
||||
type: GripperCommand
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_right)finger_width_joint
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
controller_names:
|
||||
- left_rizon_arm_controller
|
||||
- right_rizon_arm_controller
|
||||
- left_gripper_node
|
||||
- right_gripper_node
|
||||
|
||||
left_rizon_arm_controller:
|
||||
action_ns: follow_joint_trajectory
|
||||
type: FollowJointTrajectory
|
||||
default: true
|
||||
joints:
|
||||
- $(var external_axis_prefix)aico2_4_v1_joint1
|
||||
- $(var external_axis_prefix)aico2_4_v1_joint2
|
||||
- $(var prefix_left)joint1
|
||||
- $(var prefix_left)joint2
|
||||
- $(var prefix_left)joint3
|
||||
- $(var prefix_left)joint4
|
||||
- $(var prefix_left)joint5
|
||||
- $(var prefix_left)joint6
|
||||
- $(var prefix_left)joint7
|
||||
|
||||
right_rizon_arm_controller:
|
||||
action_ns: follow_joint_trajectory
|
||||
type: FollowJointTrajectory
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_right)joint1
|
||||
- $(var prefix_right)joint2
|
||||
- $(var prefix_right)joint3
|
||||
- $(var prefix_right)joint4
|
||||
- $(var prefix_right)joint5
|
||||
- $(var prefix_right)joint6
|
||||
- $(var prefix_right)joint7
|
||||
|
||||
left_gripper_node:
|
||||
action_ns: gripper_action
|
||||
type: GripperCommand
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_left)finger_width_joint
|
||||
|
||||
right_gripper_node:
|
||||
action_ns: gripper_action
|
||||
type: GripperCommand
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_right)finger_width_joint
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
controller_names:
|
||||
- left_rizon_arm_controller
|
||||
- right_rizon_arm_controller
|
||||
- left_gripper_node
|
||||
- right_gripper_node
|
||||
|
||||
left_rizon_arm_controller:
|
||||
action_ns: follow_joint_trajectory
|
||||
type: FollowJointTrajectory
|
||||
default: true
|
||||
joints:
|
||||
- $(var external_axis_prefix)aico2_4_v2_joint1
|
||||
- $(var external_axis_prefix)aico2_4_v2_joint2
|
||||
- $(var prefix_left)joint1
|
||||
- $(var prefix_left)joint2
|
||||
- $(var prefix_left)joint3
|
||||
- $(var prefix_left)joint4
|
||||
- $(var prefix_left)joint5
|
||||
- $(var prefix_left)joint6
|
||||
- $(var prefix_left)joint7
|
||||
|
||||
right_rizon_arm_controller:
|
||||
action_ns: follow_joint_trajectory
|
||||
type: FollowJointTrajectory
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_right)joint1
|
||||
- $(var prefix_right)joint2
|
||||
- $(var prefix_right)joint3
|
||||
- $(var prefix_right)joint4
|
||||
- $(var prefix_right)joint5
|
||||
- $(var prefix_right)joint6
|
||||
- $(var prefix_right)joint7
|
||||
|
||||
left_gripper_node:
|
||||
action_ns: gripper_action
|
||||
type: GripperCommand
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_left)finger_width_joint
|
||||
|
||||
right_gripper_node:
|
||||
action_ns: gripper_action
|
||||
type: GripperCommand
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_right)finger_width_joint
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
$(var prefix_left)arm:
|
||||
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
|
||||
kinematics_solver_search_resolution: 0.005
|
||||
kinematics_solver_timeout: 0.05
|
||||
$(var prefix_right)arm:
|
||||
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
|
||||
kinematics_solver_search_resolution: 0.005
|
||||
kinematics_solver_timeout: 0.05
|
||||
+228
@@ -0,0 +1,228 @@
|
||||
planner_configs:
|
||||
SBLkConfigDefault:
|
||||
type: geometric::SBL
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
ESTkConfigDefault:
|
||||
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
|
||||
LBKPIECEkConfigDefault:
|
||||
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
|
||||
BKPIECEkConfigDefault:
|
||||
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
|
||||
KPIECEkConfigDefault:
|
||||
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
|
||||
RRTkConfigDefault:
|
||||
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
|
||||
RRTConnectkConfigDefault:
|
||||
type: geometric::RRTConnect
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
RRTstarkConfigDefault:
|
||||
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
|
||||
TRRTkConfigDefault:
|
||||
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 expression. default: 0.0 set in setup()
|
||||
PRMkConfigDefault:
|
||||
type: geometric::PRM
|
||||
max_nearest_neighbors: 10 # use k nearest neighbors. default: 10
|
||||
PRMstarkConfigDefault:
|
||||
type: geometric::PRMstar
|
||||
FMTkConfigDefault:
|
||||
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
|
||||
BFMTkConfigDefault:
|
||||
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
|
||||
PDSTkConfigDefault:
|
||||
type: geometric::PDST
|
||||
STRIDEkConfigDefault:
|
||||
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
|
||||
BiTRRTkConfigDefault:
|
||||
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
|
||||
LBTRRTkConfigDefault:
|
||||
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
|
||||
BiESTkConfigDefault:
|
||||
type: geometric::BiEST
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
ProjESTkConfigDefault:
|
||||
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
|
||||
LazyPRMkConfigDefault:
|
||||
type: geometric::LazyPRM
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
LazyPRMstarkConfigDefault:
|
||||
type: geometric::LazyPRMstar
|
||||
SPARSkConfigDefault:
|
||||
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
|
||||
SPARStwokConfigDefault:
|
||||
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
|
||||
TrajOptDefault:
|
||||
type: geometric::TrajOpt
|
||||
$(var prefix_left)arm:
|
||||
planner_configs:
|
||||
- SBLkConfigDefault
|
||||
- ESTkConfigDefault
|
||||
- LBKPIECEkConfigDefault
|
||||
- BKPIECEkConfigDefault
|
||||
- KPIECEkConfigDefault
|
||||
- RRTkConfigDefault
|
||||
- RRTConnectkConfigDefault
|
||||
- RRTstarkConfigDefault
|
||||
- TRRTkConfigDefault
|
||||
- PRMkConfigDefault
|
||||
- PRMstarkConfigDefault
|
||||
- FMTkConfigDefault
|
||||
- BFMTkConfigDefault
|
||||
- PDSTkConfigDefault
|
||||
- STRIDEkConfigDefault
|
||||
- BiTRRTkConfigDefault
|
||||
- LBTRRTkConfigDefault
|
||||
- BiESTkConfigDefault
|
||||
- ProjESTkConfigDefault
|
||||
- LazyPRMkConfigDefault
|
||||
- LazyPRMstarkConfigDefault
|
||||
- SPARSkConfigDefault
|
||||
- SPARStwokConfigDefault
|
||||
- TrajOptDefault
|
||||
$(var prefix_right)arm:
|
||||
planner_configs:
|
||||
- SBLkConfigDefault
|
||||
- ESTkConfigDefault
|
||||
- LBKPIECEkConfigDefault
|
||||
- BKPIECEkConfigDefault
|
||||
- KPIECEkConfigDefault
|
||||
- RRTkConfigDefault
|
||||
- RRTConnectkConfigDefault
|
||||
- RRTstarkConfigDefault
|
||||
- TRRTkConfigDefault
|
||||
- PRMkConfigDefault
|
||||
- PRMstarkConfigDefault
|
||||
- FMTkConfigDefault
|
||||
- BFMTkConfigDefault
|
||||
- PDSTkConfigDefault
|
||||
- STRIDEkConfigDefault
|
||||
- BiTRRTkConfigDefault
|
||||
- LBTRRTkConfigDefault
|
||||
- BiESTkConfigDefault
|
||||
- ProjESTkConfigDefault
|
||||
- LazyPRMkConfigDefault
|
||||
- LazyPRMstarkConfigDefault
|
||||
- SPARSkConfigDefault
|
||||
- SPARStwokConfigDefault
|
||||
- TrajOptDefault
|
||||
$(var prefix_left)grav_gripper:
|
||||
planner_configs:
|
||||
- SBLkConfigDefault
|
||||
- ESTkConfigDefault
|
||||
- LBKPIECEkConfigDefault
|
||||
- BKPIECEkConfigDefault
|
||||
- KPIECEkConfigDefault
|
||||
- RRTkConfigDefault
|
||||
- RRTConnectkConfigDefault
|
||||
- RRTstarkConfigDefault
|
||||
- TRRTkConfigDefault
|
||||
- PRMkConfigDefault
|
||||
- PRMstarkConfigDefault
|
||||
- FMTkConfigDefault
|
||||
- BFMTkConfigDefault
|
||||
- PDSTkConfigDefault
|
||||
- STRIDEkConfigDefault
|
||||
- BiTRRTkConfigDefault
|
||||
- LBTRRTkConfigDefault
|
||||
- BiESTkConfigDefault
|
||||
- ProjESTkConfigDefault
|
||||
- LazyPRMkConfigDefault
|
||||
- LazyPRMstarkConfigDefault
|
||||
- SPARSkConfigDefault
|
||||
- SPARStwokConfigDefault
|
||||
- TrajOptDefault
|
||||
$(var prefix_right)grav_gripper:
|
||||
planner_configs:
|
||||
- SBLkConfigDefault
|
||||
- ESTkConfigDefault
|
||||
- LBKPIECEkConfigDefault
|
||||
- BKPIECEkConfigDefault
|
||||
- KPIECEkConfigDefault
|
||||
- RRTkConfigDefault
|
||||
- RRTConnectkConfigDefault
|
||||
- RRTstarkConfigDefault
|
||||
- TRRTkConfigDefault
|
||||
- PRMkConfigDefault
|
||||
- PRMstarkConfigDefault
|
||||
- FMTkConfigDefault
|
||||
- BFMTkConfigDefault
|
||||
- PDSTkConfigDefault
|
||||
- STRIDEkConfigDefault
|
||||
- BiTRRTkConfigDefault
|
||||
- LBTRRTkConfigDefault
|
||||
- BiESTkConfigDefault
|
||||
- ProjESTkConfigDefault
|
||||
- LazyPRMkConfigDefault
|
||||
- LazyPRMstarkConfigDefault
|
||||
- SPARSkConfigDefault
|
||||
- SPARStwokConfigDefault
|
||||
- TrajOptDefault
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
joint_limits:
|
||||
$(var external_axis_prefix)aico1_4_v1_joint2:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 1.0
|
||||
has_acceleration_limits: true
|
||||
max_acceleration: 1.0
|
||||
$(var external_axis_prefix)aico1_4_v2_joint1:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 1.0
|
||||
has_acceleration_limits: true
|
||||
max_acceleration: 1.0
|
||||
$(var external_axis_prefix)aico1_4_v2_joint2:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 1.0
|
||||
has_acceleration_limits: true
|
||||
max_acceleration: 1.0
|
||||
$(var external_axis_prefix)aico1_4_v2_joint_head:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 1.0
|
||||
has_acceleration_limits: true
|
||||
max_acceleration: 1.0
|
||||
$(var external_axis_prefix)aico2_4_v1_joint1:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 1.0
|
||||
has_acceleration_limits: true
|
||||
max_acceleration: 1.0
|
||||
$(var external_axis_prefix)aico2_4_v1_joint2:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 1.0
|
||||
has_acceleration_limits: true
|
||||
max_acceleration: 1.0
|
||||
$(var external_axis_prefix)aico2_4_v2_joint1:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 1.0
|
||||
has_acceleration_limits: true
|
||||
max_acceleration: 1.0
|
||||
$(var external_axis_prefix)aico2_4_v2_joint2:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 1.0
|
||||
has_acceleration_limits: true
|
||||
max_acceleration: 1.0
|
||||
$(var external_axis_prefix)aico2_10_v1_joint1:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 1.0
|
||||
has_acceleration_limits: true
|
||||
max_acceleration: 1.0
|
||||
$(var external_axis_prefix)aico2_10_v1_joint2:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 1.0
|
||||
has_acceleration_limits: true
|
||||
max_acceleration: 1.0
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
$(var prefix_left)arm:
|
||||
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
|
||||
kinematics_solver_search_resolution: 0.005
|
||||
kinematics_solver_timeout: 0.05
|
||||
$(var prefix_right)arm:
|
||||
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
|
||||
kinematics_solver_search_resolution: 0.005
|
||||
kinematics_solver_timeout: 0.05
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
controller_names:
|
||||
- left_rizon_arm_controller
|
||||
- right_rizon_arm_controller
|
||||
- left_gripper_node
|
||||
- right_gripper_node
|
||||
|
||||
left_rizon_arm_controller:
|
||||
action_ns: follow_joint_trajectory
|
||||
type: FollowJointTrajectory
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_left)joint1
|
||||
- $(var prefix_left)joint2
|
||||
- $(var prefix_left)joint3
|
||||
- $(var prefix_left)joint4
|
||||
- $(var prefix_left)joint5
|
||||
- $(var prefix_left)joint6
|
||||
- $(var prefix_left)joint7
|
||||
|
||||
right_rizon_arm_controller:
|
||||
action_ns: follow_joint_trajectory
|
||||
type: FollowJointTrajectory
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_right)joint1
|
||||
- $(var prefix_right)joint2
|
||||
- $(var prefix_right)joint3
|
||||
- $(var prefix_right)joint4
|
||||
- $(var prefix_right)joint5
|
||||
- $(var prefix_right)joint6
|
||||
- $(var prefix_right)joint7
|
||||
|
||||
left_gripper_node:
|
||||
action_ns: gripper_action
|
||||
type: GripperCommand
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_left)finger_width_joint
|
||||
|
||||
right_gripper_node:
|
||||
action_ns: gripper_action
|
||||
type: GripperCommand
|
||||
default: true
|
||||
joints:
|
||||
- $(var prefix_right)finger_width_joint
|
||||
+228
@@ -0,0 +1,228 @@
|
||||
planner_configs:
|
||||
SBLkConfigDefault:
|
||||
type: geometric::SBL
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
ESTkConfigDefault:
|
||||
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
|
||||
LBKPIECEkConfigDefault:
|
||||
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
|
||||
BKPIECEkConfigDefault:
|
||||
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
|
||||
KPIECEkConfigDefault:
|
||||
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
|
||||
RRTkConfigDefault:
|
||||
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
|
||||
RRTConnectkConfigDefault:
|
||||
type: geometric::RRTConnect
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
RRTstarkConfigDefault:
|
||||
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
|
||||
TRRTkConfigDefault:
|
||||
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 expression. default: 0.0 set in setup()
|
||||
PRMkConfigDefault:
|
||||
type: geometric::PRM
|
||||
max_nearest_neighbors: 10 # use k nearest neighbors. default: 10
|
||||
PRMstarkConfigDefault:
|
||||
type: geometric::PRMstar
|
||||
FMTkConfigDefault:
|
||||
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
|
||||
BFMTkConfigDefault:
|
||||
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
|
||||
PDSTkConfigDefault:
|
||||
type: geometric::PDST
|
||||
STRIDEkConfigDefault:
|
||||
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
|
||||
BiTRRTkConfigDefault:
|
||||
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
|
||||
LBTRRTkConfigDefault:
|
||||
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
|
||||
BiESTkConfigDefault:
|
||||
type: geometric::BiEST
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
ProjESTkConfigDefault:
|
||||
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
|
||||
LazyPRMkConfigDefault:
|
||||
type: geometric::LazyPRM
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
LazyPRMstarkConfigDefault:
|
||||
type: geometric::LazyPRMstar
|
||||
SPARSkConfigDefault:
|
||||
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
|
||||
SPARStwokConfigDefault:
|
||||
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
|
||||
TrajOptDefault:
|
||||
type: geometric::TrajOpt
|
||||
$(var prefix_left)arm:
|
||||
planner_configs:
|
||||
- SBLkConfigDefault
|
||||
- ESTkConfigDefault
|
||||
- LBKPIECEkConfigDefault
|
||||
- BKPIECEkConfigDefault
|
||||
- KPIECEkConfigDefault
|
||||
- RRTkConfigDefault
|
||||
- RRTConnectkConfigDefault
|
||||
- RRTstarkConfigDefault
|
||||
- TRRTkConfigDefault
|
||||
- PRMkConfigDefault
|
||||
- PRMstarkConfigDefault
|
||||
- FMTkConfigDefault
|
||||
- BFMTkConfigDefault
|
||||
- PDSTkConfigDefault
|
||||
- STRIDEkConfigDefault
|
||||
- BiTRRTkConfigDefault
|
||||
- LBTRRTkConfigDefault
|
||||
- BiESTkConfigDefault
|
||||
- ProjESTkConfigDefault
|
||||
- LazyPRMkConfigDefault
|
||||
- LazyPRMstarkConfigDefault
|
||||
- SPARSkConfigDefault
|
||||
- SPARStwokConfigDefault
|
||||
- TrajOptDefault
|
||||
$(var prefix_right)arm:
|
||||
planner_configs:
|
||||
- SBLkConfigDefault
|
||||
- ESTkConfigDefault
|
||||
- LBKPIECEkConfigDefault
|
||||
- BKPIECEkConfigDefault
|
||||
- KPIECEkConfigDefault
|
||||
- RRTkConfigDefault
|
||||
- RRTConnectkConfigDefault
|
||||
- RRTstarkConfigDefault
|
||||
- TRRTkConfigDefault
|
||||
- PRMkConfigDefault
|
||||
- PRMstarkConfigDefault
|
||||
- FMTkConfigDefault
|
||||
- BFMTkConfigDefault
|
||||
- PDSTkConfigDefault
|
||||
- STRIDEkConfigDefault
|
||||
- BiTRRTkConfigDefault
|
||||
- LBTRRTkConfigDefault
|
||||
- BiESTkConfigDefault
|
||||
- ProjESTkConfigDefault
|
||||
- LazyPRMkConfigDefault
|
||||
- LazyPRMstarkConfigDefault
|
||||
- SPARSkConfigDefault
|
||||
- SPARStwokConfigDefault
|
||||
- TrajOptDefault
|
||||
$(var prefix_left)grav_gripper:
|
||||
planner_configs:
|
||||
- SBLkConfigDefault
|
||||
- ESTkConfigDefault
|
||||
- LBKPIECEkConfigDefault
|
||||
- BKPIECEkConfigDefault
|
||||
- KPIECEkConfigDefault
|
||||
- RRTkConfigDefault
|
||||
- RRTConnectkConfigDefault
|
||||
- RRTstarkConfigDefault
|
||||
- TRRTkConfigDefault
|
||||
- PRMkConfigDefault
|
||||
- PRMstarkConfigDefault
|
||||
- FMTkConfigDefault
|
||||
- BFMTkConfigDefault
|
||||
- PDSTkConfigDefault
|
||||
- STRIDEkConfigDefault
|
||||
- BiTRRTkConfigDefault
|
||||
- LBTRRTkConfigDefault
|
||||
- BiESTkConfigDefault
|
||||
- ProjESTkConfigDefault
|
||||
- LazyPRMkConfigDefault
|
||||
- LazyPRMstarkConfigDefault
|
||||
- SPARSkConfigDefault
|
||||
- SPARStwokConfigDefault
|
||||
- TrajOptDefault
|
||||
$(var prefix_right)grav_gripper:
|
||||
planner_configs:
|
||||
- SBLkConfigDefault
|
||||
- ESTkConfigDefault
|
||||
- LBKPIECEkConfigDefault
|
||||
- BKPIECEkConfigDefault
|
||||
- KPIECEkConfigDefault
|
||||
- RRTkConfigDefault
|
||||
- RRTConnectkConfigDefault
|
||||
- RRTstarkConfigDefault
|
||||
- TRRTkConfigDefault
|
||||
- PRMkConfigDefault
|
||||
- PRMstarkConfigDefault
|
||||
- FMTkConfigDefault
|
||||
- BFMTkConfigDefault
|
||||
- PDSTkConfigDefault
|
||||
- STRIDEkConfigDefault
|
||||
- BiTRRTkConfigDefault
|
||||
- LBTRRTkConfigDefault
|
||||
- BiESTkConfigDefault
|
||||
- ProjESTkConfigDefault
|
||||
- LazyPRMkConfigDefault
|
||||
- LazyPRMstarkConfigDefault
|
||||
- SPARSkConfigDefault
|
||||
- SPARStwokConfigDefault
|
||||
- TrajOptDefault
|
||||
@@ -0,0 +1,57 @@
|
||||
# joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed
|
||||
|
||||
# For beginners, we downscale velocity and acceleration limits.
|
||||
# You can always specify higher scaling factors (<= 1.0) in your motion requests. # Increase the values below to 1.0 to always move at maximum speed.
|
||||
default_velocity_scaling_factor: 0.1
|
||||
default_acceleration_scaling_factor: 0.1
|
||||
|
||||
# Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration]
|
||||
# Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits]
|
||||
joint_limits:
|
||||
$(var robot_sn)_joint1:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 2.0944 # Rizon 4
|
||||
# max_velocity: 1.7453 # Rizon 10
|
||||
has_acceleration_limits: false
|
||||
max_acceleration: 0
|
||||
$(var robot_sn)_joint2:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 2.0944 # Rizon 4
|
||||
# max_velocity: 1.7453 # Rizon 10
|
||||
has_acceleration_limits: false
|
||||
max_acceleration: 0
|
||||
$(var robot_sn)_joint3:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 2.4435 # Rizon 4
|
||||
# max_velocity: 2.0944 # Rizon 10
|
||||
has_acceleration_limits: false
|
||||
max_acceleration: 0
|
||||
$(var robot_sn)_joint4:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 2.4435 # Rizon 4
|
||||
# max_velocity: 2.0944 # Rizon 10
|
||||
has_acceleration_limits: false
|
||||
max_acceleration: 0
|
||||
$(var robot_sn)_joint5:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 4.8869 # Rizon 4
|
||||
# max_velocity: 3.8397 # Rizon 10
|
||||
has_acceleration_limits: false
|
||||
max_acceleration: 0
|
||||
$(var robot_sn)_joint6:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 4.8869 # Rizon 4
|
||||
# max_velocity: 3.8397 # Rizon 10
|
||||
has_acceleration_limits: false
|
||||
max_acceleration: 0
|
||||
$(var robot_sn)_joint7:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 4.8869 # Rizon 4
|
||||
# max_velocity: 3.8397 # Rizon 10
|
||||
has_acceleration_limits: false
|
||||
max_acceleration: 0
|
||||
$(var robot_sn)_finger_width_joint:
|
||||
has_velocity_limits: true
|
||||
max_velocity: 0.5
|
||||
has_acceleration_limits: false
|
||||
max_acceleration: 0
|
||||
@@ -0,0 +1,4 @@
|
||||
$(var robot_sn)_arm:
|
||||
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
|
||||
kinematics_solver_search_resolution: 0.005
|
||||
kinematics_solver_timeout: 0.05
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
controller_names:
|
||||
- rizon_arm_controller
|
||||
- flexiv_gripper_node
|
||||
|
||||
rizon_arm_controller:
|
||||
action_ns: follow_joint_trajectory
|
||||
type: FollowJointTrajectory
|
||||
default: true
|
||||
joints:
|
||||
- $(var robot_sn)_joint1
|
||||
- $(var robot_sn)_joint2
|
||||
- $(var robot_sn)_joint3
|
||||
- $(var robot_sn)_joint4
|
||||
- $(var robot_sn)_joint5
|
||||
- $(var robot_sn)_joint6
|
||||
- $(var robot_sn)_joint7
|
||||
|
||||
flexiv_gripper_node:
|
||||
action_ns: gripper_action
|
||||
type: GripperCommand
|
||||
default: true
|
||||
joints:
|
||||
- $(var robot_sn)_finger_width_joint
|
||||
@@ -0,0 +1,176 @@
|
||||
planner_configs:
|
||||
SBLkConfigDefault:
|
||||
type: geometric::SBL
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
ESTkConfigDefault:
|
||||
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
|
||||
LBKPIECEkConfigDefault:
|
||||
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
|
||||
BKPIECEkConfigDefault:
|
||||
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
|
||||
KPIECEkConfigDefault:
|
||||
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
|
||||
RRTkConfigDefault:
|
||||
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
|
||||
RRTConnectkConfigDefault:
|
||||
type: geometric::RRTConnect
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
RRTstarkConfigDefault:
|
||||
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
|
||||
TRRTkConfigDefault:
|
||||
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 expression. default: 0.0 set in setup()
|
||||
PRMkConfigDefault:
|
||||
type: geometric::PRM
|
||||
max_nearest_neighbors: 10 # use k nearest neighbors. default: 10
|
||||
PRMstarkConfigDefault:
|
||||
type: geometric::PRMstar
|
||||
FMTkConfigDefault:
|
||||
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
|
||||
BFMTkConfigDefault:
|
||||
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
|
||||
PDSTkConfigDefault:
|
||||
type: geometric::PDST
|
||||
STRIDEkConfigDefault:
|
||||
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
|
||||
BiTRRTkConfigDefault:
|
||||
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
|
||||
LBTRRTkConfigDefault:
|
||||
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
|
||||
BiESTkConfigDefault:
|
||||
type: geometric::BiEST
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
ProjESTkConfigDefault:
|
||||
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
|
||||
LazyPRMkConfigDefault:
|
||||
type: geometric::LazyPRM
|
||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||
LazyPRMstarkConfigDefault:
|
||||
type: geometric::LazyPRMstar
|
||||
SPARSkConfigDefault:
|
||||
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
|
||||
SPARStwokConfigDefault:
|
||||
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
|
||||
TrajOptDefault:
|
||||
type: geometric::TrajOpt
|
||||
$(var robot_sn)_arm:
|
||||
planner_configs:
|
||||
- SBLkConfigDefault
|
||||
- ESTkConfigDefault
|
||||
- LBKPIECEkConfigDefault
|
||||
- BKPIECEkConfigDefault
|
||||
- KPIECEkConfigDefault
|
||||
- RRTkConfigDefault
|
||||
- RRTConnectkConfigDefault
|
||||
- RRTstarkConfigDefault
|
||||
- TRRTkConfigDefault
|
||||
- PRMkConfigDefault
|
||||
- PRMstarkConfigDefault
|
||||
- FMTkConfigDefault
|
||||
- BFMTkConfigDefault
|
||||
- PDSTkConfigDefault
|
||||
- STRIDEkConfigDefault
|
||||
- BiTRRTkConfigDefault
|
||||
- LBTRRTkConfigDefault
|
||||
- BiESTkConfigDefault
|
||||
- ProjESTkConfigDefault
|
||||
- LazyPRMkConfigDefault
|
||||
- LazyPRMstarkConfigDefault
|
||||
- SPARSkConfigDefault
|
||||
- SPARStwokConfigDefault
|
||||
- TrajOptDefault
|
||||
$(var robot_sn)_grav_gripper:
|
||||
planner_configs:
|
||||
- SBLkConfigDefault
|
||||
- ESTkConfigDefault
|
||||
- LBKPIECEkConfigDefault
|
||||
- BKPIECEkConfigDefault
|
||||
- KPIECEkConfigDefault
|
||||
- RRTkConfigDefault
|
||||
- RRTConnectkConfigDefault
|
||||
- RRTstarkConfigDefault
|
||||
- TRRTkConfigDefault
|
||||
- PRMkConfigDefault
|
||||
- PRMstarkConfigDefault
|
||||
- FMTkConfigDefault
|
||||
- BFMTkConfigDefault
|
||||
- PDSTkConfigDefault
|
||||
- STRIDEkConfigDefault
|
||||
- BiTRRTkConfigDefault
|
||||
- LBTRRTkConfigDefault
|
||||
- BiESTkConfigDefault
|
||||
- ProjESTkConfigDefault
|
||||
- LazyPRMkConfigDefault
|
||||
- LazyPRMstarkConfigDefault
|
||||
- SPARSkConfigDefault
|
||||
- SPARStwokConfigDefault
|
||||
- TrajOptDefault
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
###############################################
|
||||
# Modify all parameters related to servoing here
|
||||
###############################################
|
||||
use_gazebo: false # Whether the robot is started in a Gazebo simulation environment
|
||||
|
||||
## Properties of incoming commands
|
||||
command_in_type: "unitless" # "unitless"> in the range [-1:1], as if from joystick. "speed_units"> cmds are in m/s and rad/s
|
||||
scale:
|
||||
# Scale parameters are only used if command_in_type=="unitless"
|
||||
linear: 0.4 # Max linear velocity. Unit is [m/s]. Only used for Cartesian commands.
|
||||
rotational: 0.8 # Max angular velocity. Unit is [rad/s]. Only used for Cartesian commands.
|
||||
# Max joint angular/linear velocity. Only used for joint commands on joint_command_in_topic.
|
||||
joint: 0.5
|
||||
|
||||
# Optionally override Servo's internal velocity scaling when near singularity or collision (0.0 = use internal velocity scaling)
|
||||
# override_velocity_scaling_factor = 0.0 # valid range [0.0:1.0]
|
||||
|
||||
## Properties of outgoing commands
|
||||
publish_period: 0.034 # 1/Nominal publish rate [seconds]
|
||||
low_latency_mode: false # Set this to true to publish as soon as an incoming Twist command is received (publish_period is ignored)
|
||||
|
||||
# What type of topic does your robot driver expect?
|
||||
# Currently supported are std_msgs/Float64MultiArray or trajectory_msgs/JointTrajectory
|
||||
command_out_type: trajectory_msgs/JointTrajectory
|
||||
|
||||
# What to publish? Can save some bandwidth as most robots only require positions or velocities
|
||||
publish_joint_positions: true
|
||||
publish_joint_velocities: true
|
||||
publish_joint_accelerations: false
|
||||
|
||||
## Plugins for smoothing outgoing commands
|
||||
smoothing_filter_plugin_name: "online_signal_smoothing::ButterworthFilterPlugin"
|
||||
|
||||
# If is_primary_planning_scene_monitor is set to true, the Servo server's PlanningScene advertises the /get_planning_scene service,
|
||||
# which other nodes can use as a source for information about the planning environment.
|
||||
# NOTE: If a different node in your system is responsible for the "primary" planning scene instance (e.g. the MoveGroup node),
|
||||
# then is_primary_planning_scene_monitor needs to be set to false.
|
||||
is_primary_planning_scene_monitor: true
|
||||
|
||||
## MoveIt properties
|
||||
move_group_name: $(var robot_sn)_arm # Often 'manipulator' or 'arm'
|
||||
planning_frame: $(var robot_sn)_base_link # The MoveIt planning frame. Often 'base_link' or 'world'
|
||||
|
||||
## Other frames
|
||||
ee_frame_name: $(var robot_sn)_flange # The name of the end effector link, used to return the EE pose
|
||||
robot_link_command_frame: $(var robot_sn)_flange # commands must be given in the frame of a robot link. Usually either the base or end effector
|
||||
|
||||
## Stopping behaviour
|
||||
incoming_command_timeout: 0.1 # Stop servoing if X seconds elapse without a new command
|
||||
# If 0, republish commands forever even if the robot is stationary. Otherwise, specify num. to publish.
|
||||
# Important because ROS may drop some messages and we need the robot to halt reliably.
|
||||
num_outgoing_halt_msgs_to_publish: 4
|
||||
|
||||
## Configure handling of singularities and joint limits
|
||||
lower_singularity_threshold: 17.0 # Start decelerating when the condition number hits this (close to singularity)
|
||||
hard_stop_singularity_threshold: 30.0 # Stop when the condition number hits this
|
||||
joint_limit_margin: 0.1 # added as a buffer to joint limits [radians]. If moving quickly, make this larger.
|
||||
leaving_singularity_threshold_multiplier: 2.0 # Multiply the hard stop limit by this when leaving singularity (see https://github.com/ros-planning/moveit2/pull/620)
|
||||
|
||||
## Topic names
|
||||
cartesian_command_in_topic: ~/delta_twist_cmds # Topic for incoming Cartesian twist commands
|
||||
joint_command_in_topic: ~/delta_joint_cmds # Topic for incoming joint angle commands
|
||||
joint_topic: /joint_states
|
||||
status_topic: ~/status # Publish status to this topic
|
||||
command_out_topic: /rizon_arm_controller/joint_trajectory # Publish outgoing commands here
|
||||
|
||||
## Collision checking for the entire robot body
|
||||
check_collisions: true # Check collisions?
|
||||
collision_check_rate: 10.0 # [Hz] Collision-checking can easily bog down a CPU if done too often.
|
||||
self_collision_proximity_threshold: 0.01 # Start decelerating when a self-collision is this far [m]
|
||||
scene_collision_proximity_threshold: 0.02 # Start decelerating when a scene collision is this far [m]
|
||||
+1
@@ -0,0 +1 @@
|
||||
prepend-non-duplicate;AMENT_PREFIX_PATH;
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
# copied from
|
||||
# ament_cmake_core/cmake/environment_hooks/environment/ament_prefix_path.sh
|
||||
|
||||
ament_prepend_unique_value AMENT_PREFIX_PATH "$AMENT_CURRENT_PREFIX"
|
||||
@@ -0,0 +1 @@
|
||||
prepend-non-duplicate-if-exists;PATH;bin
|
||||
@@ -0,0 +1,5 @@
|
||||
# copied from ament_cmake_core/cmake/environment_hooks/environment/path.sh
|
||||
|
||||
if [ -d "$AMENT_CURRENT_PREFIX/bin" ]; then
|
||||
ament_prepend_unique_value PATH "$AMENT_CURRENT_PREFIX/bin"
|
||||
fi
|
||||
@@ -0,0 +1 @@
|
||||
prepend-non-duplicate;CMAKE_PREFIX_PATH;
|
||||
@@ -0,0 +1,3 @@
|
||||
# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
|
||||
|
||||
colcon_prepend_unique_value CMAKE_PREFIX_PATH "$env:COLCON_CURRENT_PREFIX"
|
||||
@@ -0,0 +1,3 @@
|
||||
# generated from colcon_core/shell/template/hook_prepend_value.sh.em
|
||||
|
||||
_colcon_prepend_unique_value CMAKE_PREFIX_PATH "$COLCON_CURRENT_PREFIX"
|
||||
@@ -0,0 +1,46 @@
|
||||
# generated from ament_package/template/package_level/local_setup.bash.in
|
||||
|
||||
# source local_setup.sh from same directory as this file
|
||||
_this_path=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" && pwd)
|
||||
# provide AMENT_CURRENT_PREFIX to shell script
|
||||
AMENT_CURRENT_PREFIX=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`/../.." && pwd)
|
||||
# store AMENT_CURRENT_PREFIX to restore it before each environment hook
|
||||
_package_local_setup_AMENT_CURRENT_PREFIX=$AMENT_CURRENT_PREFIX
|
||||
|
||||
# trace output
|
||||
if [ -n "$AMENT_TRACE_SETUP_FILES" ]; then
|
||||
echo "# . \"$_this_path/local_setup.sh\""
|
||||
fi
|
||||
. "$_this_path/local_setup.sh"
|
||||
unset _this_path
|
||||
|
||||
# unset AMENT_ENVIRONMENT_HOOKS
|
||||
# if not appending to them for return
|
||||
if [ -z "$AMENT_RETURN_ENVIRONMENT_HOOKS" ]; then
|
||||
unset AMENT_ENVIRONMENT_HOOKS
|
||||
fi
|
||||
|
||||
# restore AMENT_CURRENT_PREFIX before evaluating the environment hooks
|
||||
AMENT_CURRENT_PREFIX=$_package_local_setup_AMENT_CURRENT_PREFIX
|
||||
# list all environment hooks of this package
|
||||
|
||||
# source all shell-specific environment hooks of this package
|
||||
# if not returning them
|
||||
if [ -z "$AMENT_RETURN_ENVIRONMENT_HOOKS" ]; then
|
||||
_package_local_setup_IFS=$IFS
|
||||
IFS=":"
|
||||
for _hook in $AMENT_ENVIRONMENT_HOOKS; do
|
||||
# restore AMENT_CURRENT_PREFIX for each environment hook
|
||||
AMENT_CURRENT_PREFIX=$_package_local_setup_AMENT_CURRENT_PREFIX
|
||||
# restore IFS before sourcing other files
|
||||
IFS=$_package_local_setup_IFS
|
||||
. "$_hook"
|
||||
done
|
||||
unset _hook
|
||||
IFS=$_package_local_setup_IFS
|
||||
unset _package_local_setup_IFS
|
||||
unset AMENT_ENVIRONMENT_HOOKS
|
||||
fi
|
||||
|
||||
unset _package_local_setup_AMENT_CURRENT_PREFIX
|
||||
unset AMENT_CURRENT_PREFIX
|
||||
@@ -0,0 +1,2 @@
|
||||
source;share/flexiv_moveit_config/environment/ament_prefix_path.sh
|
||||
source;share/flexiv_moveit_config/environment/path.sh
|
||||
@@ -0,0 +1,184 @@
|
||||
# generated from ament_package/template/package_level/local_setup.sh.in
|
||||
|
||||
# since this file is sourced use either the provided AMENT_CURRENT_PREFIX
|
||||
# or fall back to the destination set at configure time
|
||||
: ${AMENT_CURRENT_PREFIX:="/home/cc/ros2/install/flexiv_moveit_config"}
|
||||
if [ ! -d "$AMENT_CURRENT_PREFIX" ]; then
|
||||
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
||||
echo "The compile time prefix path '$AMENT_CURRENT_PREFIX' doesn't " \
|
||||
"exist. Consider sourcing a different extension than '.sh'." 1>&2
|
||||
else
|
||||
AMENT_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
|
||||
fi
|
||||
fi
|
||||
|
||||
# function to append values to environment variables
|
||||
# using colons as separators and avoiding leading separators
|
||||
ament_append_value() {
|
||||
# arguments
|
||||
_listname="$1"
|
||||
_value="$2"
|
||||
#echo "listname $_listname"
|
||||
#eval echo "list value \$$_listname"
|
||||
#echo "value $_value"
|
||||
|
||||
# avoid leading separator
|
||||
eval _values=\"\$$_listname\"
|
||||
if [ -z "$_values" ]; then
|
||||
eval export $_listname=\"$_value\"
|
||||
#eval echo "set list \$$_listname"
|
||||
else
|
||||
# field separator must not be a colon
|
||||
_ament_append_value_IFS=$IFS
|
||||
unset IFS
|
||||
eval export $_listname=\"\$$_listname:$_value\"
|
||||
#eval echo "append list \$$_listname"
|
||||
IFS=$_ament_append_value_IFS
|
||||
unset _ament_append_value_IFS
|
||||
fi
|
||||
unset _values
|
||||
|
||||
unset _value
|
||||
unset _listname
|
||||
}
|
||||
|
||||
# function to append non-duplicate values to environment variables
|
||||
# using colons as separators and avoiding leading separators
|
||||
ament_append_unique_value() {
|
||||
# arguments
|
||||
_listname=$1
|
||||
_value=$2
|
||||
#echo "listname $_listname"
|
||||
#eval echo "list value \$$_listname"
|
||||
#echo "value $_value"
|
||||
|
||||
# check if the list contains the value
|
||||
eval _values=\$$_listname
|
||||
_duplicate=
|
||||
_ament_append_unique_value_IFS=$IFS
|
||||
IFS=":"
|
||||
if [ "$AMENT_SHELL" = "zsh" ]; then
|
||||
ament_zsh_to_array _values
|
||||
fi
|
||||
for _item in $_values; do
|
||||
# ignore empty strings
|
||||
if [ -z "$_item" ]; then
|
||||
continue
|
||||
fi
|
||||
if [ $_item = $_value ]; then
|
||||
_duplicate=1
|
||||
fi
|
||||
done
|
||||
unset _item
|
||||
|
||||
# append only non-duplicates
|
||||
if [ -z "$_duplicate" ]; then
|
||||
# avoid leading separator
|
||||
if [ -z "$_values" ]; then
|
||||
eval $_listname=\"$_value\"
|
||||
#eval echo "set list \$$_listname"
|
||||
else
|
||||
# field separator must not be a colon
|
||||
unset IFS
|
||||
eval $_listname=\"\$$_listname:$_value\"
|
||||
#eval echo "append list \$$_listname"
|
||||
fi
|
||||
fi
|
||||
IFS=$_ament_append_unique_value_IFS
|
||||
unset _ament_append_unique_value_IFS
|
||||
unset _duplicate
|
||||
unset _values
|
||||
|
||||
unset _value
|
||||
unset _listname
|
||||
}
|
||||
|
||||
# function to prepend non-duplicate values to environment variables
|
||||
# using colons as separators and avoiding trailing separators
|
||||
ament_prepend_unique_value() {
|
||||
# arguments
|
||||
_listname="$1"
|
||||
_value="$2"
|
||||
#echo "listname $_listname"
|
||||
#eval echo "list value \$$_listname"
|
||||
#echo "value $_value"
|
||||
|
||||
# check if the list contains the value
|
||||
eval _values=\"\$$_listname\"
|
||||
_duplicate=
|
||||
_ament_prepend_unique_value_IFS=$IFS
|
||||
IFS=":"
|
||||
if [ "$AMENT_SHELL" = "zsh" ]; then
|
||||
ament_zsh_to_array _values
|
||||
fi
|
||||
for _item in $_values; do
|
||||
# ignore empty strings
|
||||
if [ -z "$_item" ]; then
|
||||
continue
|
||||
fi
|
||||
if [ "$_item" = "$_value" ]; then
|
||||
_duplicate=1
|
||||
fi
|
||||
done
|
||||
unset _item
|
||||
|
||||
# prepend only non-duplicates
|
||||
if [ -z "$_duplicate" ]; then
|
||||
# avoid trailing separator
|
||||
if [ -z "$_values" ]; then
|
||||
eval export $_listname=\"$_value\"
|
||||
#eval echo "set list \$$_listname"
|
||||
else
|
||||
# field separator must not be a colon
|
||||
unset IFS
|
||||
eval export $_listname=\"$_value:\$$_listname\"
|
||||
#eval echo "prepend list \$$_listname"
|
||||
fi
|
||||
fi
|
||||
IFS=$_ament_prepend_unique_value_IFS
|
||||
unset _ament_prepend_unique_value_IFS
|
||||
unset _duplicate
|
||||
unset _values
|
||||
|
||||
unset _value
|
||||
unset _listname
|
||||
}
|
||||
|
||||
# unset AMENT_ENVIRONMENT_HOOKS
|
||||
# if not appending to them for return
|
||||
if [ -z "$AMENT_RETURN_ENVIRONMENT_HOOKS" ]; then
|
||||
unset AMENT_ENVIRONMENT_HOOKS
|
||||
fi
|
||||
|
||||
# list all environment hooks of this package
|
||||
ament_append_value AMENT_ENVIRONMENT_HOOKS "$AMENT_CURRENT_PREFIX/share/flexiv_moveit_config/environment/ament_prefix_path.sh"
|
||||
ament_append_value AMENT_ENVIRONMENT_HOOKS "$AMENT_CURRENT_PREFIX/share/flexiv_moveit_config/environment/path.sh"
|
||||
|
||||
# source all shell-specific environment hooks of this package
|
||||
# if not returning them
|
||||
if [ -z "$AMENT_RETURN_ENVIRONMENT_HOOKS" ]; then
|
||||
_package_local_setup_IFS=$IFS
|
||||
IFS=":"
|
||||
if [ "$AMENT_SHELL" = "zsh" ]; then
|
||||
ament_zsh_to_array AMENT_ENVIRONMENT_HOOKS
|
||||
fi
|
||||
for _hook in $AMENT_ENVIRONMENT_HOOKS; do
|
||||
if [ -f "$_hook" ]; then
|
||||
# restore IFS before sourcing other files
|
||||
IFS=$_package_local_setup_IFS
|
||||
# trace output
|
||||
if [ -n "$AMENT_TRACE_SETUP_FILES" ]; then
|
||||
echo "# . \"$_hook\""
|
||||
fi
|
||||
. "$_hook"
|
||||
fi
|
||||
done
|
||||
unset _hook
|
||||
IFS=$_package_local_setup_IFS
|
||||
unset _package_local_setup_IFS
|
||||
unset AMENT_ENVIRONMENT_HOOKS
|
||||
fi
|
||||
|
||||
# reset AMENT_CURRENT_PREFIX after each package
|
||||
# allowing to source multiple package-level setup files
|
||||
unset AMENT_CURRENT_PREFIX
|
||||
@@ -0,0 +1,59 @@
|
||||
# generated from ament_package/template/package_level/local_setup.zsh.in
|
||||
|
||||
AMENT_SHELL=zsh
|
||||
|
||||
# source local_setup.sh from same directory as this file
|
||||
_this_path=$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)
|
||||
# provide AMENT_CURRENT_PREFIX to shell script
|
||||
AMENT_CURRENT_PREFIX=$(builtin cd -q "`dirname "${(%):-%N}"`/../.." > /dev/null && pwd)
|
||||
# store AMENT_CURRENT_PREFIX to restore it before each environment hook
|
||||
_package_local_setup_AMENT_CURRENT_PREFIX=$AMENT_CURRENT_PREFIX
|
||||
|
||||
# function to convert array-like strings into arrays
|
||||
# to wordaround SH_WORD_SPLIT not being set
|
||||
ament_zsh_to_array() {
|
||||
local _listname=$1
|
||||
local _dollar="$"
|
||||
local _split="{="
|
||||
local _to_array="(\"$_dollar$_split$_listname}\")"
|
||||
eval $_listname=$_to_array
|
||||
}
|
||||
|
||||
# trace output
|
||||
if [ -n "$AMENT_TRACE_SETUP_FILES" ]; then
|
||||
echo "# . \"$_this_path/local_setup.sh\""
|
||||
fi
|
||||
# the package-level local_setup file unsets AMENT_CURRENT_PREFIX
|
||||
. "$_this_path/local_setup.sh"
|
||||
unset _this_path
|
||||
|
||||
# unset AMENT_ENVIRONMENT_HOOKS
|
||||
# if not appending to them for return
|
||||
if [ -z "$AMENT_RETURN_ENVIRONMENT_HOOKS" ]; then
|
||||
unset AMENT_ENVIRONMENT_HOOKS
|
||||
fi
|
||||
|
||||
# restore AMENT_CURRENT_PREFIX before evaluating the environment hooks
|
||||
AMENT_CURRENT_PREFIX=$_package_local_setup_AMENT_CURRENT_PREFIX
|
||||
# list all environment hooks of this package
|
||||
|
||||
# source all shell-specific environment hooks of this package
|
||||
# if not returning them
|
||||
if [ -z "$AMENT_RETURN_ENVIRONMENT_HOOKS" ]; then
|
||||
_package_local_setup_IFS=$IFS
|
||||
IFS=":"
|
||||
for _hook in $AMENT_ENVIRONMENT_HOOKS; do
|
||||
# restore AMENT_CURRENT_PREFIX for each environment hook
|
||||
AMENT_CURRENT_PREFIX=$_package_local_setup_AMENT_CURRENT_PREFIX
|
||||
# restore IFS before sourcing other files
|
||||
IFS=$_package_local_setup_IFS
|
||||
. "$_hook"
|
||||
done
|
||||
unset _hook
|
||||
IFS=$_package_local_setup_IFS
|
||||
unset _package_local_setup_IFS
|
||||
unset AMENT_ENVIRONMENT_HOOKS
|
||||
fi
|
||||
|
||||
unset _package_local_setup_AMENT_CURRENT_PREFIX
|
||||
unset AMENT_CURRENT_PREFIX
|
||||
@@ -0,0 +1,39 @@
|
||||
# generated from colcon_bash/shell/template/package.bash.em
|
||||
|
||||
# This script extends the environment for this package.
|
||||
|
||||
# a bash script is able to determine its own path if necessary
|
||||
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
||||
# the prefix is two levels up from the package specific share directory
|
||||
_colcon_package_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`/../.." > /dev/null && pwd)"
|
||||
else
|
||||
_colcon_package_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
|
||||
fi
|
||||
|
||||
# function to source another script with conditional trace output
|
||||
# first argument: the path of the script
|
||||
# additional arguments: arguments to the script
|
||||
_colcon_package_bash_source_script() {
|
||||
if [ -f "$1" ]; then
|
||||
if [ -n "$COLCON_TRACE" ]; then
|
||||
echo "# . \"$1\""
|
||||
fi
|
||||
. "$@"
|
||||
else
|
||||
echo "not found: \"$1\"" 1>&2
|
||||
fi
|
||||
}
|
||||
|
||||
# source sh script of this package
|
||||
_colcon_package_bash_source_script "$_colcon_package_bash_COLCON_CURRENT_PREFIX/share/flexiv_moveit_config/package.sh"
|
||||
|
||||
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced scripts
|
||||
COLCON_CURRENT_PREFIX="$_colcon_package_bash_COLCON_CURRENT_PREFIX"
|
||||
|
||||
# source bash hooks
|
||||
_colcon_package_bash_source_script "$COLCON_CURRENT_PREFIX/share/flexiv_moveit_config/local_setup.bash"
|
||||
|
||||
unset COLCON_CURRENT_PREFIX
|
||||
|
||||
unset _colcon_package_bash_source_script
|
||||
unset _colcon_package_bash_COLCON_CURRENT_PREFIX
|
||||
@@ -0,0 +1,8 @@
|
||||
source;share/flexiv_moveit_config/hook/cmake_prefix_path.ps1
|
||||
source;share/flexiv_moveit_config/hook/cmake_prefix_path.dsv
|
||||
source;share/flexiv_moveit_config/hook/cmake_prefix_path.sh
|
||||
source;share/flexiv_moveit_config/local_setup.bash
|
||||
source;share/flexiv_moveit_config/local_setup.dsv
|
||||
source;share/flexiv_moveit_config/local_setup.ps1
|
||||
source;share/flexiv_moveit_config/local_setup.sh
|
||||
source;share/flexiv_moveit_config/local_setup.zsh
|
||||
@@ -0,0 +1,116 @@
|
||||
# generated from colcon_powershell/shell/template/package.ps1.em
|
||||
|
||||
# function to append a value to a variable
|
||||
# which uses colons as separators
|
||||
# duplicates as well as leading separators are avoided
|
||||
# first argument: the name of the result variable
|
||||
# second argument: the value to be prepended
|
||||
function colcon_append_unique_value {
|
||||
param (
|
||||
$_listname,
|
||||
$_value
|
||||
)
|
||||
|
||||
# get values from variable
|
||||
if (Test-Path Env:$_listname) {
|
||||
$_values=(Get-Item env:$_listname).Value
|
||||
} else {
|
||||
$_values=""
|
||||
}
|
||||
$_duplicate=""
|
||||
# start with no values
|
||||
$_all_values=""
|
||||
# iterate over existing values in the variable
|
||||
if ($_values) {
|
||||
$_values.Split(":") | ForEach {
|
||||
# not an empty string
|
||||
if ($_) {
|
||||
# not a duplicate of _value
|
||||
if ($_ -eq $_value) {
|
||||
$_duplicate="1"
|
||||
}
|
||||
if ($_all_values) {
|
||||
$_all_values="${_all_values}:$_"
|
||||
} else {
|
||||
$_all_values="$_"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# append only non-duplicates
|
||||
if (!$_duplicate) {
|
||||
# avoid leading separator
|
||||
if ($_all_values) {
|
||||
$_all_values="${_all_values}:${_value}"
|
||||
} else {
|
||||
$_all_values="${_value}"
|
||||
}
|
||||
}
|
||||
|
||||
# export the updated variable
|
||||
Set-Item env:\$_listname -Value "$_all_values"
|
||||
}
|
||||
|
||||
# function to prepend a value to a variable
|
||||
# which uses colons as separators
|
||||
# duplicates as well as trailing separators are avoided
|
||||
# first argument: the name of the result variable
|
||||
# second argument: the value to be prepended
|
||||
function colcon_prepend_unique_value {
|
||||
param (
|
||||
$_listname,
|
||||
$_value
|
||||
)
|
||||
|
||||
# get values from variable
|
||||
if (Test-Path Env:$_listname) {
|
||||
$_values=(Get-Item env:$_listname).Value
|
||||
} else {
|
||||
$_values=""
|
||||
}
|
||||
# start with the new value
|
||||
$_all_values="$_value"
|
||||
# iterate over existing values in the variable
|
||||
if ($_values) {
|
||||
$_values.Split(":") | ForEach {
|
||||
# not an empty string
|
||||
if ($_) {
|
||||
# not a duplicate of _value
|
||||
if ($_ -ne $_value) {
|
||||
# keep non-duplicate values
|
||||
$_all_values="${_all_values}:$_"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# export the updated variable
|
||||
Set-Item env:\$_listname -Value "$_all_values"
|
||||
}
|
||||
|
||||
# function to source another script with conditional trace output
|
||||
# first argument: the path of the script
|
||||
# additional arguments: arguments to the script
|
||||
function colcon_package_source_powershell_script {
|
||||
param (
|
||||
$_colcon_package_source_powershell_script
|
||||
)
|
||||
# source script with conditional trace output
|
||||
if (Test-Path $_colcon_package_source_powershell_script) {
|
||||
if ($env:COLCON_TRACE) {
|
||||
echo ". '$_colcon_package_source_powershell_script'"
|
||||
}
|
||||
. "$_colcon_package_source_powershell_script"
|
||||
} else {
|
||||
Write-Error "not found: '$_colcon_package_source_powershell_script'"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# a powershell script is able to determine its own path
|
||||
# the prefix is two levels up from the package specific share directory
|
||||
$env:COLCON_CURRENT_PREFIX=(Get-Item $PSCommandPath).Directory.Parent.Parent.FullName
|
||||
|
||||
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX/share/flexiv_moveit_config/hook/cmake_prefix_path.ps1"
|
||||
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX/share/flexiv_moveit_config/local_setup.ps1"
|
||||
|
||||
Remove-Item Env:\COLCON_CURRENT_PREFIX
|
||||
@@ -0,0 +1,87 @@
|
||||
# generated from colcon_core/shell/template/package.sh.em
|
||||
|
||||
# This script extends the environment for this package.
|
||||
|
||||
# function to prepend a value to a variable
|
||||
# which uses colons as separators
|
||||
# duplicates as well as trailing separators are avoided
|
||||
# first argument: the name of the result variable
|
||||
# second argument: the value to be prepended
|
||||
_colcon_prepend_unique_value() {
|
||||
# arguments
|
||||
_listname="$1"
|
||||
_value="$2"
|
||||
|
||||
# get values from variable
|
||||
eval _values=\"\$$_listname\"
|
||||
# backup the field separator
|
||||
_colcon_prepend_unique_value_IFS=$IFS
|
||||
IFS=":"
|
||||
# start with the new value
|
||||
_all_values="$_value"
|
||||
# workaround SH_WORD_SPLIT not being set in zsh
|
||||
if [ "$(command -v colcon_zsh_convert_to_array)" ]; then
|
||||
colcon_zsh_convert_to_array _values
|
||||
fi
|
||||
# iterate over existing values in the variable
|
||||
for _item in $_values; do
|
||||
# ignore empty strings
|
||||
if [ -z "$_item" ]; then
|
||||
continue
|
||||
fi
|
||||
# ignore duplicates of _value
|
||||
if [ "$_item" = "$_value" ]; then
|
||||
continue
|
||||
fi
|
||||
# keep non-duplicate values
|
||||
_all_values="$_all_values:$_item"
|
||||
done
|
||||
unset _item
|
||||
# restore the field separator
|
||||
IFS=$_colcon_prepend_unique_value_IFS
|
||||
unset _colcon_prepend_unique_value_IFS
|
||||
# export the updated variable
|
||||
eval export $_listname=\"$_all_values\"
|
||||
unset _all_values
|
||||
unset _values
|
||||
|
||||
unset _value
|
||||
unset _listname
|
||||
}
|
||||
|
||||
# since a plain shell script can't determine its own path when being sourced
|
||||
# either use the provided COLCON_CURRENT_PREFIX
|
||||
# or fall back to the build time prefix (if it exists)
|
||||
_colcon_package_sh_COLCON_CURRENT_PREFIX="/home/cc/ros2/install/flexiv_moveit_config"
|
||||
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
||||
if [ ! -d "$_colcon_package_sh_COLCON_CURRENT_PREFIX" ]; then
|
||||
echo "The build time path \"$_colcon_package_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
|
||||
unset _colcon_package_sh_COLCON_CURRENT_PREFIX
|
||||
return 1
|
||||
fi
|
||||
COLCON_CURRENT_PREFIX="$_colcon_package_sh_COLCON_CURRENT_PREFIX"
|
||||
fi
|
||||
unset _colcon_package_sh_COLCON_CURRENT_PREFIX
|
||||
|
||||
# function to source another script with conditional trace output
|
||||
# first argument: the path of the script
|
||||
# additional arguments: arguments to the script
|
||||
_colcon_package_sh_source_script() {
|
||||
if [ -f "$1" ]; then
|
||||
if [ -n "$COLCON_TRACE" ]; then
|
||||
echo "# . \"$1\""
|
||||
fi
|
||||
. "$@"
|
||||
else
|
||||
echo "not found: \"$1\"" 1>&2
|
||||
fi
|
||||
}
|
||||
|
||||
# source sh hooks
|
||||
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/flexiv_moveit_config/hook/cmake_prefix_path.sh"
|
||||
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/flexiv_moveit_config/local_setup.sh"
|
||||
|
||||
unset _colcon_package_sh_source_script
|
||||
unset COLCON_CURRENT_PREFIX
|
||||
|
||||
# do not unset _colcon_prepend_unique_value since it might be used by non-primary shell hooks
|
||||
@@ -0,0 +1,32 @@
|
||||
<?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>flexiv_moveit_config</name>
|
||||
<version>1.9.1</version>
|
||||
<description>MoveIt2 configuration and launch files for Flexiv Rizon robots</description>
|
||||
<maintainer email="munseng.phoon@flexiv.com">Mun Seng Phoon</maintainer>
|
||||
<license>Apache 2.0</license>
|
||||
<author email="munseng.phoon@flexiv.com">Mun Seng Phoon</author>
|
||||
|
||||
<buildtool_depend>ament_cmake</buildtool_depend>
|
||||
|
||||
<exec_depend>robot_state_publisher</exec_depend>
|
||||
<exec_depend>joint_state_publisher</exec_depend>
|
||||
<exec_depend>joint_state_publisher_gui</exec_depend>
|
||||
<exec_depend>joint_state_broadcaster</exec_depend>
|
||||
<exec_depend>moveit_ros_move_group</exec_depend>
|
||||
<exec_depend>moveit_kinematics</exec_depend>
|
||||
<exec_depend>moveit_planners_ompl</exec_depend>
|
||||
<exec_depend>moveit_ros_visualization</exec_depend>
|
||||
<exec_depend>moveit_servo</exec_depend>
|
||||
<exec_depend>moveit_simple_controller_manager</exec_depend>
|
||||
<exec_depend>rviz2</exec_depend>
|
||||
<exec_depend>flexiv_description</exec_depend>
|
||||
<exec_depend>urdf</exec_depend>
|
||||
<exec_depend>warehouse_ros_sqlite</exec_depend>
|
||||
<exec_depend>xacro</exec_depend>
|
||||
|
||||
<export>
|
||||
<build_type>ament_cmake</build_type>
|
||||
</export>
|
||||
</package>
|
||||
@@ -0,0 +1,50 @@
|
||||
# generated from colcon_zsh/shell/template/package.zsh.em
|
||||
|
||||
# This script extends the environment for this package.
|
||||
|
||||
# a zsh script is able to determine its own path if necessary
|
||||
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
||||
# the prefix is two levels up from the package specific share directory
|
||||
_colcon_package_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`/../.." > /dev/null && pwd)"
|
||||
else
|
||||
_colcon_package_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
|
||||
fi
|
||||
|
||||
# function to source another script with conditional trace output
|
||||
# first argument: the path of the script
|
||||
# additional arguments: arguments to the script
|
||||
_colcon_package_zsh_source_script() {
|
||||
if [ -f "$1" ]; then
|
||||
if [ -n "$COLCON_TRACE" ]; then
|
||||
echo "# . \"$1\""
|
||||
fi
|
||||
. "$@"
|
||||
else
|
||||
echo "not found: \"$1\"" 1>&2
|
||||
fi
|
||||
}
|
||||
|
||||
# function to convert array-like strings into arrays
|
||||
# to workaround SH_WORD_SPLIT not being set
|
||||
colcon_zsh_convert_to_array() {
|
||||
local _listname=$1
|
||||
local _dollar="$"
|
||||
local _split="{="
|
||||
local _to_array="(\"$_dollar$_split$_listname}\")"
|
||||
eval $_listname=$_to_array
|
||||
}
|
||||
|
||||
# source sh script of this package
|
||||
_colcon_package_zsh_source_script "$_colcon_package_zsh_COLCON_CURRENT_PREFIX/share/flexiv_moveit_config/package.sh"
|
||||
unset convert_zsh_to_array
|
||||
|
||||
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced scripts
|
||||
COLCON_CURRENT_PREFIX="$_colcon_package_zsh_COLCON_CURRENT_PREFIX"
|
||||
|
||||
# source zsh hooks
|
||||
_colcon_package_zsh_source_script "$COLCON_CURRENT_PREFIX/share/flexiv_moveit_config/local_setup.zsh"
|
||||
|
||||
unset COLCON_CURRENT_PREFIX
|
||||
|
||||
unset _colcon_package_zsh_source_script
|
||||
unset _colcon_package_zsh_COLCON_CURRENT_PREFIX
|
||||
@@ -0,0 +1,359 @@
|
||||
Panels:
|
||||
- Class: rviz_common/Displays
|
||||
Help Height: 78
|
||||
Name: Displays
|
||||
Property Tree Widget:
|
||||
Expanded: ~
|
||||
Splitter Ratio: 0.5
|
||||
Tree Height: 814
|
||||
- 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: rviz_default_plugins/MarkerArray
|
||||
Enabled: true
|
||||
Name: MarkerArray
|
||||
Namespaces:
|
||||
{}
|
||||
Topic:
|
||||
Depth: 100
|
||||
Durability Policy: Volatile
|
||||
History Policy: Keep Last
|
||||
Reliability Policy: Reliable
|
||||
Value: /rviz_visual_tools
|
||||
Value: true
|
||||
- Class: moveit_rviz_plugin/Trajectory
|
||||
Color Enabled: false
|
||||
Enabled: true
|
||||
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
|
||||
base_link:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
flange:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
link1:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
link2:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
link3:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
link4:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
link5:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
link6:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
link7:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
world:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Loop Animation: false
|
||||
Name: Trajectory
|
||||
Robot Alpha: 0.5
|
||||
Robot Color: 150; 50; 150
|
||||
Robot Description: robot_description
|
||||
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
|
||||
Value: true
|
||||
- Class: moveit_rviz_plugin/PlanningScene
|
||||
Enabled: true
|
||||
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
|
||||
base_link:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
flange:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
link1:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
link2:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
link3:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
link4:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
link5:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
link6:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
link7:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
world:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Robot Alpha: 1
|
||||
Show Robot Collision: false
|
||||
Show Robot Visual: true
|
||||
Value: true
|
||||
- Acceleration_Scaling_Factor: 0.1
|
||||
Class: moveit_rviz_plugin/MotionPlanning
|
||||
Enabled: false
|
||||
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
|
||||
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: rizon_arm
|
||||
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
|
||||
Robot Alpha: 1
|
||||
Show Robot Collision: false
|
||||
Show Robot Visual: true
|
||||
Value: false
|
||||
Velocity_Scaling_Factor: 0.1
|
||||
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.4956274032592773
|
||||
Enable Stereo Rendering:
|
||||
Stereo Eye Separation: 0.05999999865889549
|
||||
Stereo Focal Distance: 1
|
||||
Swap Stereo Eyes: false
|
||||
Value: false
|
||||
Focal Point:
|
||||
X: -0.10040300339460373
|
||||
Y: 0.27989906072616577
|
||||
Z: 0.3314317762851715
|
||||
Focal Shape Fixed Size: true
|
||||
Focal Shape Size: 0.05000000074505806
|
||||
Invert Z Axis: false
|
||||
Name: Current View
|
||||
Near Clip Distance: 0.009999999776482582
|
||||
Pitch: 0.7053980827331543
|
||||
Target Frame: <Fixed Frame>
|
||||
Value: Orbit (rviz)
|
||||
Yaw: 5.313577651977539
|
||||
Saved: ~
|
||||
Window Geometry:
|
||||
Displays:
|
||||
collapsed: false
|
||||
Height: 863
|
||||
Hide Left Dock: false
|
||||
Hide Right Dock: false
|
||||
QMainWindow State: 000000ff00000000fd00000004000000000000015600000305fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d00000305000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f00000305fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d00000305000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d00650100000000000004500000000000000000000003cf0000030500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
||||
Selection:
|
||||
collapsed: false
|
||||
Tool Properties:
|
||||
collapsed: false
|
||||
Views:
|
||||
collapsed: false
|
||||
Width: 1600
|
||||
X: 1920
|
||||
Y: 0
|
||||
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<robot xmlns:xacro="http://wiki.ros.org/xacro" name="aico1">
|
||||
<!-- parameters -->
|
||||
<xacro:arg name="external_axis_type" default="aico1_4_v1" />
|
||||
<xacro:arg name="external_axis_prefix" default="" />
|
||||
<xacro:arg name="arm_prefix" default="" />
|
||||
<xacro:arg name="robot_sn" default="" />
|
||||
<xacro:arg name="load_gripper" default="false" />
|
||||
<xacro:arg name="load_mounted_ft_sensor" default="false" />
|
||||
|
||||
<xacro:include filename="$(find flexiv_moveit_config)/srdf/rizon_macro.srdf.xacro" />
|
||||
|
||||
<!-- Arm -->
|
||||
<xacro:rizon_srdf arm_prefix="$(arg arm_prefix)" robot_sn="$(arg robot_sn)"
|
||||
load_mounted_ft_sensor="$(arg load_mounted_ft_sensor)" use_virtual_joint="false" />
|
||||
|
||||
<!-- Prefixes -->
|
||||
<xacro:property name="prefix" value="$(arg arm_prefix)$(arg robot_sn)_" />
|
||||
<xacro:property name="external_axis_prefix" value="$(arg external_axis_prefix)" />
|
||||
|
||||
<!-- Virtual Joint and Platform Group -->
|
||||
<xacro:if value="${'$(arg external_axis_type)' == 'aico1_4_v1'}">
|
||||
<virtual_joint name="virtual_joint" type="fixed" parent_frame="world"
|
||||
child_link="${external_axis_prefix}aico1_4_v1_base_link" />
|
||||
<group name="${external_axis_prefix}aico1_4_v1_platform_${prefix}arm">
|
||||
<chain base_link="${external_axis_prefix}aico1_4_v1_base_link" tip_link="${prefix}flange" />
|
||||
</group>
|
||||
</xacro:if>
|
||||
<xacro:if value="${'$(arg external_axis_type)' == 'aico1_4_v2'}">
|
||||
<virtual_joint name="virtual_joint" type="fixed" parent_frame="world"
|
||||
child_link="${external_axis_prefix}aico1_4_v2_base_link" />
|
||||
<group name="${external_axis_prefix}aico1_4_v2_platform_${prefix}arm">
|
||||
<chain base_link="${external_axis_prefix}aico1_4_v2_base_link" tip_link="${prefix}flange" />
|
||||
</group>
|
||||
</xacro:if>
|
||||
|
||||
<!-- Platform Collisions -->
|
||||
<xacro:if value="${'$(arg external_axis_type)' == 'aico1_4_v1'}">
|
||||
<disable_collisions link1="${prefix}base_link" link2="${external_axis_prefix}aico1_4_v1_link2" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}base_link" link2="${external_axis_prefix}aico1_4_v1_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix}base_link" link2="${external_axis_prefix}aico1_4_v1_base_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link1" link2="${external_axis_prefix}aico1_4_v1_link2" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link1" link2="${external_axis_prefix}aico1_4_v1_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link1" link2="${external_axis_prefix}aico1_4_v1_base_link" reason="Never" />
|
||||
<disable_collisions link1="${external_axis_prefix}aico1_4_v1_base_link" link2="${external_axis_prefix}aico1_4_v1_link1" reason="Adjacent" />
|
||||
<disable_collisions link1="${external_axis_prefix}aico1_4_v1_base_link" link2="${external_axis_prefix}aico1_4_v1_link2" reason="Never" />
|
||||
<disable_collisions link1="${external_axis_prefix}aico1_4_v1_link1" link2="${external_axis_prefix}aico1_4_v1_link2" reason="Adjacent" />
|
||||
</xacro:if>
|
||||
|
||||
<xacro:if value="${'$(arg external_axis_type)' == 'aico1_4_v2'}">
|
||||
<disable_collisions link1="${prefix}base_link" link2="${external_axis_prefix}aico1_4_v2_link1" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}base_link" link2="${external_axis_prefix}aico1_4_v2_base_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix}base_link" link2="${external_axis_prefix}aico1_4_v2_neck_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix}base_link" link2="${external_axis_prefix}aico1_4_v2_head_link" reason="Never" />
|
||||
|
||||
<disable_collisions link1="${prefix}link1" link2="${external_axis_prefix}aico1_4_v2_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link1" link2="${external_axis_prefix}aico1_4_v2_base_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link1" link2="${external_axis_prefix}aico1_4_v2_neck_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link1" link2="${external_axis_prefix}aico1_4_v2_head_link" reason="Never" />
|
||||
|
||||
<disable_collisions link1="${external_axis_prefix}aico1_4_v2_base_link" link2="${external_axis_prefix}aico1_4_v2_link1" reason="Adjacent" />
|
||||
<disable_collisions link1="${external_axis_prefix}aico1_4_v2_base_link" link2="${external_axis_prefix}aico1_4_v2_neck_link" reason="Never" />
|
||||
<disable_collisions link1="${external_axis_prefix}aico1_4_v2_link1" link2="${external_axis_prefix}aico1_4_v2_neck_link" reason="Adjacent" />
|
||||
<disable_collisions link1="${external_axis_prefix}aico1_4_v2_neck_link" link2="${external_axis_prefix}aico1_4_v2_head_link" reason="Adjacent" />
|
||||
</xacro:if>
|
||||
|
||||
<!-- Load gripper -->
|
||||
<xacro:if value="$(arg load_gripper)">
|
||||
<xacro:include filename="$(find flexiv_moveit_config)/srdf/grav.srdf.xacro" />
|
||||
<xacro:grav_srdf arm_prefix="$(arg arm_prefix)" robot_sn="$(arg robot_sn)"
|
||||
load_mounted_ft_sensor="$(arg load_mounted_ft_sensor)" />
|
||||
</xacro:if>
|
||||
|
||||
</robot>
|
||||
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<robot xmlns:xacro="http://wiki.ros.org/xacro" name="aico2">
|
||||
<!-- parameters -->
|
||||
<xacro:arg name="external_axis_type" default="aico2_4_v1" />
|
||||
<xacro:arg name="external_axis_prefix" default="" />
|
||||
<xacro:arg name="robot_sn_left" default="" />
|
||||
<xacro:arg name="robot_sn_right" default="" />
|
||||
<xacro:arg name="load_gripper_left" default="false" />
|
||||
<xacro:arg name="load_gripper_right" default="false" />
|
||||
<xacro:arg name="load_mounted_ft_sensor_left" default="false" />
|
||||
<xacro:arg name="load_mounted_ft_sensor_right" default="false" />
|
||||
<xacro:arg name="arm_prefix_left" default="left_" />
|
||||
<xacro:arg name="arm_prefix_right" default="right_" />
|
||||
|
||||
<xacro:include filename="$(find flexiv_moveit_config)/srdf/rizon_macro.srdf.xacro" />
|
||||
|
||||
<!-- Left Arm -->
|
||||
<xacro:rizon_srdf arm_prefix="$(arg arm_prefix_left)" robot_sn="$(arg robot_sn_left)"
|
||||
load_mounted_ft_sensor="$(arg load_mounted_ft_sensor_left)" use_virtual_joint="false" />
|
||||
|
||||
<!-- Right Arm -->
|
||||
<xacro:rizon_srdf arm_prefix="$(arg arm_prefix_right)" robot_sn="$(arg robot_sn_right)"
|
||||
load_mounted_ft_sensor="$(arg load_mounted_ft_sensor_right)" use_virtual_joint="false" />
|
||||
|
||||
<!-- Prefixes -->
|
||||
<xacro:property name="prefix_left" value="$(arg arm_prefix_left)$(arg robot_sn_left)_" />
|
||||
<xacro:property name="prefix_right" value="$(arg arm_prefix_right)$(arg robot_sn_right)_" />
|
||||
<xacro:property name="external_axis_prefix" value="$(arg external_axis_prefix)" />
|
||||
|
||||
<!-- Virtual Joint and External Axis Group -->
|
||||
<xacro:if value="${'$(arg external_axis_type)' == 'aico2_4_v1'}">
|
||||
<virtual_joint name="virtual_joint" type="fixed" parent_frame="world"
|
||||
child_link="${external_axis_prefix}aico2_4_v1_base_link" />
|
||||
<group name="${external_axis_prefix}aico2_4_v1_platform_${prefix_left}arm">
|
||||
<chain base_link="${external_axis_prefix}aico2_4_v1_base_link" tip_link="${prefix_left}flange" />
|
||||
</group>
|
||||
</xacro:if>
|
||||
<xacro:if value="${'$(arg external_axis_type)' == 'aico2_4_v2'}">
|
||||
<virtual_joint name="virtual_joint" type="fixed" parent_frame="world"
|
||||
child_link="${external_axis_prefix}aico2_4_v2_base_link" />
|
||||
<group name="${external_axis_prefix}aico2_4_v2_platform_${prefix_left}arm">
|
||||
<chain base_link="${external_axis_prefix}aico2_4_v2_base_link" tip_link="${prefix_left}flange" />
|
||||
</group>
|
||||
</xacro:if>
|
||||
<xacro:if value="${'$(arg external_axis_type)' == 'aico2_10_v1'}">
|
||||
<virtual_joint name="virtual_joint" type="fixed" parent_frame="world"
|
||||
child_link="${external_axis_prefix}aico2_10_v1_base_link" />
|
||||
<group name="${external_axis_prefix}aico2_10_v1_platform_${prefix_left}arm">
|
||||
<chain base_link="${external_axis_prefix}aico2_10_v1_base_link" tip_link="${prefix_left}flange" />
|
||||
</group>
|
||||
</xacro:if>
|
||||
|
||||
<!-- External Axis Collisions -->
|
||||
<xacro:if value="${'$(arg external_axis_type)' == 'aico2_4_v1'}">
|
||||
<!-- Left Arm -->
|
||||
<disable_collisions link1="${prefix_left}base_link" link2="${external_axis_prefix}aico2_4_v1_link2" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix_left}base_link" link2="${external_axis_prefix}aico2_4_v1_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}base_link" link2="${external_axis_prefix}aico2_4_v1_base_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}link1" link2="${external_axis_prefix}aico2_4_v1_link2" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}link1" link2="${external_axis_prefix}aico2_4_v1_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}link1" link2="${external_axis_prefix}aico2_4_v1_base_link" reason="Never" />
|
||||
|
||||
<!-- Right Arm -->
|
||||
<disable_collisions link1="${prefix_right}base_link" link2="${external_axis_prefix}aico2_4_v1_link2" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix_right}base_link" link2="${external_axis_prefix}aico2_4_v1_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix_right}base_link" link2="${external_axis_prefix}aico2_4_v1_base_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix_right}link1" link2="${external_axis_prefix}aico2_4_v1_link2" reason="Never" />
|
||||
<disable_collisions link1="${prefix_right}link1" link2="${external_axis_prefix}aico2_4_v1_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix_right}link1" link2="${external_axis_prefix}aico2_4_v1_base_link" reason="Never" />
|
||||
|
||||
<!-- Left and Right Arms -->
|
||||
<disable_collisions link1="${prefix_left}base_link" link2="${prefix_right}base_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}link1" link2="${prefix_right}link1" reason="Never" />
|
||||
|
||||
<!-- External Axis internal -->
|
||||
<disable_collisions link1="${external_axis_prefix}aico2_4_v1_base_link" link2="${external_axis_prefix}aico2_4_v1_link1" reason="Adjacent" />
|
||||
<disable_collisions link1="${external_axis_prefix}aico2_4_v1_base_link" link2="${external_axis_prefix}aico2_4_v1_link2" reason="Never" />
|
||||
<disable_collisions link1="${external_axis_prefix}aico2_4_v1_link1" link2="${external_axis_prefix}aico2_4_v1_link2" reason="Adjacent" />
|
||||
</xacro:if>
|
||||
|
||||
<xacro:if value="${'$(arg external_axis_type)' == 'aico2_4_v2'}">
|
||||
<!-- Left Arm -->
|
||||
<disable_collisions link1="${prefix_left}base_link" link2="${external_axis_prefix}aico2_4_v2_link2" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix_left}base_link" link2="${external_axis_prefix}aico2_4_v2_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}base_link" link2="${external_axis_prefix}aico2_4_v2_base_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}link1" link2="${external_axis_prefix}aico2_4_v2_link2" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}link1" link2="${external_axis_prefix}aico2_4_v2_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}link1" link2="${external_axis_prefix}aico2_4_v2_base_link" reason="Never" />
|
||||
|
||||
<!-- Right Arm -->
|
||||
<disable_collisions link1="${prefix_right}base_link" link2="${external_axis_prefix}aico2_4_v2_link2" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix_right}base_link" link2="${external_axis_prefix}aico2_4_v2_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix_right}base_link" link2="${external_axis_prefix}aico2_4_v2_base_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix_right}link1" link2="${external_axis_prefix}aico2_4_v2_link2" reason="Never" />
|
||||
<disable_collisions link1="${prefix_right}link1" link2="${external_axis_prefix}aico2_4_v2_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix_right}link1" link2="${external_axis_prefix}aico2_4_v2_base_link" reason="Never" />
|
||||
|
||||
<!-- Left and Right Arms -->
|
||||
<disable_collisions link1="${prefix_left}base_link" link2="${prefix_right}base_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}link1" link2="${prefix_right}link1" reason="Never" />
|
||||
|
||||
<!-- External Axis internal -->
|
||||
<disable_collisions link1="${external_axis_prefix}aico2_4_v2_base_link" link2="${external_axis_prefix}aico2_4_v2_link1" reason="Adjacent" />
|
||||
<disable_collisions link1="${external_axis_prefix}aico2_4_v2_base_link" link2="${external_axis_prefix}aico2_4_v2_link2" reason="Never" />
|
||||
<disable_collisions link1="${external_axis_prefix}aico2_4_v2_link1" link2="${external_axis_prefix}aico2_4_v2_link2" reason="Adjacent" />
|
||||
</xacro:if>
|
||||
|
||||
<xacro:if value="${'$(arg external_axis_type)' == 'aico2_10_v1'}">
|
||||
<!-- Left Arm -->
|
||||
<disable_collisions link1="${prefix_left}base_link" link2="${external_axis_prefix}aico2_10_v1_link2" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix_left}base_link" link2="${external_axis_prefix}aico2_10_v1_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}base_link" link2="${external_axis_prefix}aico2_10_v1_base_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}link1" link2="${external_axis_prefix}aico2_10_v1_link2" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}link1" link2="${external_axis_prefix}aico2_10_v1_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}link1" link2="${external_axis_prefix}aico2_10_v1_base_link" reason="Never" />
|
||||
|
||||
<!-- Right Arm -->
|
||||
<disable_collisions link1="${prefix_right}base_link" link2="${external_axis_prefix}aico2_10_v1_link2" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix_right}base_link" link2="${external_axis_prefix}aico2_10_v1_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix_right}base_link" link2="${external_axis_prefix}aico2_10_v1_base_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix_right}link1" link2="${external_axis_prefix}aico2_10_v1_link2" reason="Never" />
|
||||
<disable_collisions link1="${prefix_right}link1" link2="${external_axis_prefix}aico2_10_v1_link1" reason="Never" />
|
||||
<disable_collisions link1="${prefix_right}link1" link2="${external_axis_prefix}aico2_10_v1_base_link" reason="Never" />
|
||||
|
||||
<!-- Left and Right Arms -->
|
||||
<disable_collisions link1="${prefix_left}base_link" link2="${prefix_right}base_link" reason="Never" />
|
||||
<disable_collisions link1="${prefix_left}link1" link2="${prefix_right}link1" reason="Never" />
|
||||
|
||||
<!-- External Axis internal -->
|
||||
<disable_collisions link1="${external_axis_prefix}aico2_10_v1_base_link" link2="${external_axis_prefix}aico2_10_v1_link1" reason="Adjacent" />
|
||||
<disable_collisions link1="${external_axis_prefix}aico2_10_v1_base_link" link2="${external_axis_prefix}aico2_10_v1_link2" reason="Never" />
|
||||
<disable_collisions link1="${external_axis_prefix}aico2_10_v1_link1" link2="${external_axis_prefix}aico2_10_v1_link2" reason="Adjacent" />
|
||||
</xacro:if>
|
||||
|
||||
<!-- Load grippers -->
|
||||
<xacro:if value="$(arg load_gripper_left)">
|
||||
<xacro:include filename="$(find flexiv_moveit_config)/srdf/grav.srdf.xacro" />
|
||||
<xacro:grav_srdf arm_prefix="$(arg prefix_left)" robot_sn="$(arg robot_sn_left)"
|
||||
load_mounted_ft_sensor="$(arg load_mounted_ft_sensor_left)" />
|
||||
</xacro:if>
|
||||
|
||||
<xacro:if value="$(arg load_gripper_right)">
|
||||
<xacro:include filename="$(find flexiv_moveit_config)/srdf/grav.srdf.xacro" />
|
||||
<xacro:grav_srdf arm_prefix="$(arg prefix_right)" robot_sn="$(arg robot_sn_right)"
|
||||
load_mounted_ft_sensor="$(arg load_mounted_ft_sensor_right)" />
|
||||
</xacro:if>
|
||||
|
||||
</robot>
|
||||
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
<xacro:macro name="grav_srdf" params="arm_prefix robot_sn load_mounted_ft_sensor">
|
||||
<!-- Prefix defaults to 'arm_prefix_robot_sn' -->
|
||||
<xacro:property name="prefix" value="${arm_prefix + robot_sn + '_'}" />
|
||||
|
||||
<group name="${prefix}grav_gripper">
|
||||
<joint name="${prefix}gripper_base_joint" />
|
||||
<joint name="${prefix}open_fingers_tcp_joint" />
|
||||
<joint name="${prefix}closed_fingers_tcp_joint" />
|
||||
<joint name="${prefix}left_outer_knuckle_joint" />
|
||||
<joint name="${prefix}left_inner_knuckle_joint" />
|
||||
<joint name="${prefix}left_inner_finger_joint" />
|
||||
<joint name="${prefix}left_inner_finger_pad_joint" />
|
||||
<joint name="${prefix}left_finger_tcp_joint" />
|
||||
<joint name="${prefix}right_outer_knuckle_joint" />
|
||||
<joint name="${prefix}right_inner_knuckle_joint" />
|
||||
<joint name="${prefix}right_inner_finger_joint" />
|
||||
<joint name="${prefix}right_inner_finger_pad_joint" />
|
||||
<joint name="${prefix}right_finger_tcp_joint" />
|
||||
<joint name="${prefix}finger_width_joint" />
|
||||
</group>
|
||||
|
||||
<passive_joint name="${prefix}left_outer_knuckle_joint" />
|
||||
<passive_joint name="${prefix}left_inner_knuckle_joint" />
|
||||
<passive_joint name="${prefix}left_inner_finger_joint" />
|
||||
<passive_joint name="${prefix}right_outer_knuckle_joint" />
|
||||
<passive_joint name="${prefix}right_inner_knuckle_joint" />
|
||||
<passive_joint name="${prefix}right_inner_finger_joint" />
|
||||
|
||||
<group_state name="${prefix}open" group="${prefix}grav_gripper">
|
||||
<joint name="${prefix}finger_width_joint" value="0.1" />
|
||||
</group_state>
|
||||
|
||||
<group_state name="${prefix}closed" group="${prefix}grav_gripper">
|
||||
<joint name="${prefix}finger_width_joint" value="0.0" />
|
||||
</group_state>
|
||||
|
||||
<end_effector name="${prefix}grav_gripper" parent_link="${prefix}flange"
|
||||
group="${prefix}grav_gripper" parent_group="${prefix}arm" />
|
||||
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}grav_tcp" reason="Never" />
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}closed_fingers_tcp"
|
||||
reason="Never" />
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}right_finger_tcp"
|
||||
reason="Never" />
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}left_finger_tcp"
|
||||
reason="Never" />
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}left_outer_bar"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}left_inner_bar"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}right_outer_bar"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}right_inner_bar"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}left_finger_mount"
|
||||
reason="Never" />
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}left_finger_tip"
|
||||
reason="Never" />
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}right_finger_mount"
|
||||
reason="Never" />
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}right_finger_tip"
|
||||
reason="Never" />
|
||||
<disable_collisions link1="${prefix}left_outer_bar" link2="${prefix}left_finger_mount"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}left_inner_bar" link2="${prefix}left_finger_mount"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}left_outer_bar" link2="${prefix}left_finger_tip"
|
||||
reason="Never" />
|
||||
<disable_collisions link1="${prefix}left_inner_bar" link2="${prefix}left_finger_tip"
|
||||
reason="Never" />
|
||||
<disable_collisions link1="${prefix}left_finger_mount" link2="${prefix}left_finger_tip"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}right_outer_bar" link2="${prefix}right_finger_mount"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}right_inner_bar" link2="${prefix}right_finger_mount"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}right_outer_bar" link2="${prefix}right_finger_tip"
|
||||
reason="Never" />
|
||||
<disable_collisions link1="${prefix}right_inner_bar" link2="${prefix}right_finger_tip"
|
||||
reason="Never" />
|
||||
<disable_collisions link1="${prefix}right_finger_mount" link2="${prefix}right_finger_tip"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}left_finger_tip" link2="${prefix}closed_fingers_tcp"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}right_finger_tip" link2="${prefix}closed_fingers_tcp"
|
||||
reason="Adjacent" />
|
||||
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}link7" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}grav_base_link" link2="${prefix}flange"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}closed_fingers_tcp" link2="${prefix}link7"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}closed_fingers_tcp" link2="${prefix}flange"
|
||||
reason="Adjacent" />
|
||||
|
||||
<xacro:if value="${load_mounted_ft_sensor}">
|
||||
<disable_collisions link1="${prefix}grav_base_link"
|
||||
link2="${prefix}wrist-sensor.base_link"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}grav_base_link"
|
||||
link2="${prefix}wrist-sensor.proximal_link" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}grav_base_link"
|
||||
link2="${prefix}wrist-sensor.distal_link" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}closed_fingers_tcp" link2="${prefix}link7"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}closed_fingers_tcp" link2="${prefix}flange"
|
||||
reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}closed_fingers_tcp"
|
||||
link2="${prefix}wrist-sensor.base_link" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}closed_fingers_tcp"
|
||||
link2="${prefix}wrist-sensor.proximal_link" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}closed_fingers_tcp"
|
||||
link2="${prefix}wrist-sensor.distal_link" reason="Adjacent" />
|
||||
</xacro:if>
|
||||
|
||||
</xacro:macro>
|
||||
</robot>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<robot xmlns:xacro="http://wiki.ros.org/xacro" name="$(arg rizon_type)">
|
||||
<!-- parameters -->
|
||||
<xacro:arg name="rizon_type" default="Rizon4" />
|
||||
<xacro:arg name="arm_prefix" default="" />
|
||||
<xacro:arg name="robot_sn" default="" />
|
||||
<xacro:arg name="load_gripper" default="false" />
|
||||
<xacro:arg name="load_mounted_ft_sensor" default="false" />
|
||||
|
||||
<xacro:include filename="$(find flexiv_moveit_config)/srdf/rizon_macro.srdf.xacro" />
|
||||
<xacro:rizon_srdf arm_prefix="$(arg arm_prefix)" robot_sn="$(arg robot_sn)"
|
||||
load_mounted_ft_sensor="$(arg load_mounted_ft_sensor)" />
|
||||
|
||||
<!-- Load gripper -->
|
||||
<xacro:if value="$(arg load_gripper)">
|
||||
<xacro:include filename="$(find flexiv_moveit_config)/srdf/grav.srdf.xacro" />
|
||||
<xacro:grav_srdf arm_prefix="$(arg arm_prefix)" robot_sn="$(arg robot_sn)"
|
||||
load_mounted_ft_sensor="$(arg load_mounted_ft_sensor)" />
|
||||
</xacro:if>
|
||||
|
||||
</robot>
|
||||
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<robot xmlns:xacro="http://wiki.ros.org/xacro" name="rizon_dual">
|
||||
<!-- parameters -->
|
||||
<xacro:arg name="robot_sn_left" default="" />
|
||||
<xacro:arg name="robot_sn_right" default="" />
|
||||
<xacro:arg name="load_gripper_left" default="false" />
|
||||
<xacro:arg name="load_gripper_right" default="false" />
|
||||
<xacro:arg name="load_mounted_ft_sensor_left" default="false" />
|
||||
<xacro:arg name="load_mounted_ft_sensor_right" default="false" />
|
||||
<xacro:arg name="prefix_left" default="left_" />
|
||||
<xacro:arg name="prefix_right" default="right_" />
|
||||
|
||||
<xacro:include filename="$(find flexiv_moveit_config)/srdf/rizon_macro.srdf.xacro" />
|
||||
|
||||
<!-- Left Arm -->
|
||||
<xacro:rizon_srdf arm_prefix="$(arg prefix_left)" robot_sn="$(arg robot_sn_left)"
|
||||
load_mounted_ft_sensor="$(arg load_mounted_ft_sensor_left)" />
|
||||
|
||||
<!-- Right Arm -->
|
||||
<xacro:rizon_srdf arm_prefix="$(arg prefix_right)" robot_sn="$(arg robot_sn_right)"
|
||||
load_mounted_ft_sensor="$(arg load_mounted_ft_sensor_right)" />
|
||||
|
||||
<!-- Arm Prefixes -->
|
||||
<xacro:property name="left_arm_prefix" value="$(arg prefix_left)$(arg robot_sn_left)_" />
|
||||
<xacro:property name="right_arm_prefix" value="$(arg prefix_right)$(arg robot_sn_right)_" />
|
||||
|
||||
<!-- Left and Right Arms Collisions -->
|
||||
<disable_collisions link1="${left_arm_prefix}base_link" link2="${right_arm_prefix}base_link" reason="Never" />
|
||||
<disable_collisions link1="${left_arm_prefix}link1" link2="${right_arm_prefix}link1" reason="Never" />
|
||||
|
||||
<!-- Load grippers -->
|
||||
<xacro:if value="$(arg load_gripper_left)">
|
||||
<xacro:include filename="$(find flexiv_moveit_config)/srdf/grav.srdf.xacro" />
|
||||
<xacro:grav_srdf arm_prefix="$(arg prefix_left)" robot_sn="$(arg robot_sn_left)"
|
||||
load_mounted_ft_sensor="$(arg load_mounted_ft_sensor_left)" />
|
||||
</xacro:if>
|
||||
|
||||
<xacro:if value="$(arg load_gripper_right)">
|
||||
<xacro:include filename="$(find flexiv_moveit_config)/srdf/grav.srdf.xacro" />
|
||||
<xacro:grav_srdf arm_prefix="$(arg prefix_right)" robot_sn="$(arg robot_sn_right)"
|
||||
load_mounted_ft_sensor="$(arg load_mounted_ft_sensor_right)" />
|
||||
</xacro:if>
|
||||
|
||||
</robot>
|
||||
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
<xacro:macro name="rizon_srdf" params="arm_prefix robot_sn load_mounted_ft_sensor use_virtual_joint:=true">
|
||||
<!-- Prefix defaults to 'arm_prefix_robot_sn' -->
|
||||
<xacro:property name="prefix" value="${arm_prefix + robot_sn + '_'}" />
|
||||
|
||||
<group name="${prefix}arm">
|
||||
<chain base_link="${prefix}base_link" tip_link="${prefix}flange" />
|
||||
</group>
|
||||
|
||||
<group_state name="${prefix}home" group="${prefix}arm">
|
||||
<joint name="${prefix}joint1" value="0" />
|
||||
<joint name="${prefix}joint2" value="${-2*pi/9}" />
|
||||
<joint name="${prefix}joint3" value="0" />
|
||||
<joint name="${prefix}joint4" value="${pi/2}" />
|
||||
<joint name="${prefix}joint5" value="0" />
|
||||
<joint name="${prefix}joint6" value="${2*pi/9}" />
|
||||
<joint name="${prefix}joint7" value="0" />
|
||||
</group_state>
|
||||
|
||||
<xacro:if value="${use_virtual_joint}">
|
||||
<virtual_joint name="virtual_joint" type="fixed" parent_frame="world"
|
||||
child_link="${prefix}base_link" />
|
||||
</xacro:if>
|
||||
|
||||
<disable_collisions link1="${prefix}base_link" link2="${prefix}link1" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}base_link" link2="${prefix}link2" reason="Never" />
|
||||
<disable_collisions link1="${prefix}base_link" link2="${prefix}link3" reason="Never" />
|
||||
<disable_collisions link1="${prefix}base_link" link2="${prefix}link4" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link1" link2="${prefix}link2" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}link1" link2="${prefix}link3" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link1" link2="${prefix}link4" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link2" link2="${prefix}link3" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}link2" link2="${prefix}link4" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link2" link2="${prefix}link5" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link3" link2="${prefix}link4" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}link3" link2="${prefix}link5" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link3" link2="${prefix}link6" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link3" link2="${prefix}link7" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link4" link2="${prefix}link5" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}link4" link2="${prefix}link6" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link4" link2="${prefix}link7" reason="Never" />
|
||||
<disable_collisions link1="${prefix}link5" link2="${prefix}link6" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}link6" link2="${prefix}link7" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}link7" link2="${prefix}flange" reason="Adjacent" />
|
||||
|
||||
<xacro:if value="${load_mounted_ft_sensor}">
|
||||
<!-- Disable collisions for FT sensor fixed-link chain -->
|
||||
<disable_collisions link1="${prefix}link7" link2="${prefix}wrist-sensor.base_link" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}wrist-sensor.base_link" link2="${prefix}wrist-sensor.proximal_link" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}wrist-sensor.proximal_link" link2="${prefix}wrist-sensor.distal_link" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}wrist-sensor.distal_link" link2="${prefix}flange" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}link7" link2="${prefix}wrist-sensor.proximal_link" reason="Adjacent" />
|
||||
<disable_collisions link1="${prefix}link7" link2="${prefix}wrist-sensor.distal_link" reason="Adjacent" />
|
||||
</xacro:if>
|
||||
</xacro:macro>
|
||||
</robot>
|
||||
Reference in New Issue
Block a user