From 587ec53806889dbdc09029e5007a66adbdcc2ac4 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Fri, 19 Jul 2024 11:21:01 +0900 Subject: [PATCH 01/41] =?UTF-8?q?jazzy=E5=AF=BE=E5=BF=9C=EF=BC=88MoveitCon?= =?UTF-8?q?figsBuilder=EF=BC=89=20*=20MoveitCofigsBuilder=E3=82=92?= =?UTF-8?q?=E4=BD=BF=E3=81=A3=E3=81=A6moveit=5Fconfig=E3=81=AE=E6=9E=A0?= =?UTF-8?q?=E3=82=92=E4=BD=9C=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * planning_plugins, requesr_adaptorsの設定をompl_planning.yamlの先頭で行う * ompl_planning.yamlにstart_state_max_bounds_errorの設定を追加 * 7/19ここまで * MoveitConfigsBuilderを使うに伴った、yamlファイルの指定の項目追加 * 一通りMoveItConfigsBuilderに対応 * MoveIt Setup Assistantを使って設定ファイルを生成 * urdfの指定を追加 * crane_plus_configのrun_move_group.launchを呼ぶ * Unable to parse SRDFのエラーが解決できない * demo.launchが起動できるようになった * 余計なコメントアウト部分削除 * 余計なコメントアウト削除 * rviz上でMottionPlanningができるようになった * 余計なコメントアウト削除 --- crane_plus_description/package.xml | 5 +- crane_plus_examples/launch/demo.launch.py | 5 +- crane_plus_examples/src/aruco_detection.cpp | 3 +- crane_plus_examples/src/color_detection.cpp | 6 +- crane_plus_moveit_config/CHANGELOG.rst | 0 crane_plus_moveit_config/CMakeLists.txt | 20 +- crane_plus_moveit_config/README.md | 0 .../config/controllers.yaml | 41 +- .../config/crane_plus.srdf | 41 +- .../config/joint_limits.yaml | 40 ++ .../config/kinematics.yaml | 4 +- crane_plus_moveit_config/config/moveit.rviz | 51 +++ .../config/ompl_planning.yaml | 16 + .../config/pilz_cartesian_limits.yaml | 6 + .../config/sensors_3d.yaml | 23 + .../launch/demo.launch.py | 7 + .../launch/move_group.launch.py | 7 + .../launch/moveit_rviz.launch.py | 7 + crane_plus_moveit_config/launch/rsp.launch.py | 7 + .../launch/run_move_group.launch.py | 190 ++++---- .../launch/run_move_group.rviz | 0 .../launch/setup_assistant.launch.py | 7 + .../launch/spawn_controllers.launch.py | 7 + .../launch/static_virtual_joint_tfs.launch.py | 7 + .../launch/warehouse_db.launch.py | 7 + crane_plus_moveit_config/package.xml | 50 ++- install/COLCON_IGNORE | 0 install/_local_setup_util_ps1.py | 407 ++++++++++++++++++ install/_local_setup_util_sh.py | 407 ++++++++++++++++++ .../crane_plus_moveit_config | 1 + .../packages/crane_plus_moveit_config | 0 .../crane_plus_moveit_config | 1 + .../packages/crane_plus_moveit_config | 1 + .../crane_plus_moveit_config/.setup_assistant | 10 + ...ane_plus_moveit_configConfig-version.cmake | 14 + .../crane_plus_moveit_configConfig.cmake | 42 ++ .../config/controllers.yaml | 27 ++ .../config/crane_plus.srdf | 42 ++ .../config/joint_limits.yaml | 35 ++ .../config/kinematics.yaml | 4 + .../config/moveit.rviz | 51 +++ .../config/ompl_planning.yaml | 196 +++++++++ .../config/pilz_cartesian_limits.yaml | 6 + .../config/sensors_3d.yaml | 23 + .../environment/ament_prefix_path.dsv | 1 + .../environment/ament_prefix_path.sh | 4 + .../environment/path.dsv | 1 + .../environment/path.sh | 5 + .../hook/cmake_prefix_path.dsv | 1 + .../hook/cmake_prefix_path.ps1 | 3 + .../hook/cmake_prefix_path.sh | 3 + .../launch/demo.launch.py | 7 + .../launch/move_group.launch.py | 7 + .../launch/moveit_rviz.launch.py | 7 + .../launch/rsp.launch.py | 7 + .../launch/run_move_group.launch.py | 237 ++++++++++ .../launch/run_move_group.rviz | 351 +++++++++++++++ .../launch/setup_assistant.launch.py | 7 + .../launch/spawn_controllers.launch.py | 7 + .../launch/static_virtual_joint_tfs.launch.py | 7 + .../launch/warehouse_db.launch.py | 7 + .../crane_plus_moveit_config/local_setup.bash | 46 ++ .../crane_plus_moveit_config/local_setup.dsv | 2 + .../crane_plus_moveit_config/local_setup.sh | 184 ++++++++ .../crane_plus_moveit_config/local_setup.zsh | 59 +++ .../crane_plus_moveit_config/package.bash | 39 ++ .../crane_plus_moveit_config/package.dsv | 8 + .../crane_plus_moveit_config/package.ps1 | 116 +++++ .../share/crane_plus_moveit_config/package.sh | 87 ++++ .../crane_plus_moveit_config/package.xml | 51 +++ .../crane_plus_moveit_config/package.zsh | 50 +++ install/local_setup.bash | 121 ++++++ install/local_setup.ps1 | 55 +++ install/local_setup.sh | 137 ++++++ install/local_setup.zsh | 134 ++++++ install/setup.bash | 34 ++ install/setup.ps1 | 30 ++ install/setup.sh | 49 +++ install/setup.zsh | 34 ++ log/COLCON_IGNORE | 0 log/latest | 1 + log/latest_build | 1 + 82 files changed, 3559 insertions(+), 165 deletions(-) mode change 100644 => 100755 crane_plus_moveit_config/CHANGELOG.rst mode change 100644 => 100755 crane_plus_moveit_config/CMakeLists.txt mode change 100644 => 100755 crane_plus_moveit_config/README.md mode change 100644 => 100755 crane_plus_moveit_config/config/controllers.yaml mode change 100644 => 100755 crane_plus_moveit_config/config/crane_plus.srdf create mode 100755 crane_plus_moveit_config/config/joint_limits.yaml mode change 100644 => 100755 crane_plus_moveit_config/config/kinematics.yaml create mode 100644 crane_plus_moveit_config/config/moveit.rviz mode change 100644 => 100755 crane_plus_moveit_config/config/ompl_planning.yaml create mode 100644 crane_plus_moveit_config/config/pilz_cartesian_limits.yaml create mode 100644 crane_plus_moveit_config/config/sensors_3d.yaml create mode 100644 crane_plus_moveit_config/launch/demo.launch.py create mode 100644 crane_plus_moveit_config/launch/move_group.launch.py create mode 100644 crane_plus_moveit_config/launch/moveit_rviz.launch.py create mode 100644 crane_plus_moveit_config/launch/rsp.launch.py mode change 100644 => 100755 crane_plus_moveit_config/launch/run_move_group.launch.py mode change 100644 => 100755 crane_plus_moveit_config/launch/run_move_group.rviz create mode 100644 crane_plus_moveit_config/launch/setup_assistant.launch.py create mode 100644 crane_plus_moveit_config/launch/spawn_controllers.launch.py create mode 100644 crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py create mode 100644 crane_plus_moveit_config/launch/warehouse_db.launch.py mode change 100644 => 100755 crane_plus_moveit_config/package.xml create mode 100644 install/COLCON_IGNORE create mode 100644 install/_local_setup_util_ps1.py create mode 100644 install/_local_setup_util_sh.py create mode 100644 install/crane_plus_moveit_config/share/ament_index/resource_index/package_run_dependencies/crane_plus_moveit_config create mode 100644 install/crane_plus_moveit_config/share/ament_index/resource_index/packages/crane_plus_moveit_config create mode 100644 install/crane_plus_moveit_config/share/ament_index/resource_index/parent_prefix_path/crane_plus_moveit_config create mode 100644 install/crane_plus_moveit_config/share/colcon-core/packages/crane_plus_moveit_config create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/.setup_assistant create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig-version.cmake create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig.cmake create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/controllers.yaml create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/crane_plus.srdf create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/joint_limits.yaml create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/kinematics.yaml create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/moveit.rviz create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/ompl_planning.yaml create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/sensors_3d.yaml create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.dsv create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.sh create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.dsv create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.sh create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.dsv create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.ps1 create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.sh create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/demo.launch.py create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/move_group.launch.py create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/moveit_rviz.launch.py create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/rsp.launch.py create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.launch.py create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.rviz create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/setup_assistant.launch.py create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/spawn_controllers.launch.py create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/warehouse_db.launch.py create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.bash create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.dsv create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.sh create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.zsh create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.bash create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.dsv create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.ps1 create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.sh create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.xml create mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.zsh create mode 100644 install/local_setup.bash create mode 100644 install/local_setup.ps1 create mode 100644 install/local_setup.sh create mode 100644 install/local_setup.zsh create mode 100644 install/setup.bash create mode 100644 install/setup.ps1 create mode 100644 install/setup.sh create mode 100644 install/setup.zsh create mode 100644 log/COLCON_IGNORE create mode 120000 log/latest create mode 120000 log/latest_build diff --git a/crane_plus_description/package.xml b/crane_plus_description/package.xml index cf986cd..e8805be 100644 --- a/crane_plus_description/package.xml +++ b/crane_plus_description/package.xml @@ -13,8 +13,9 @@ ament_cmake ament_cmake_python - gazebo_ros2_control - ign_ros2_control + + gz_ros2_control joint_state_publisher_gui launch robot_state_publisher diff --git a/crane_plus_examples/launch/demo.launch.py b/crane_plus_examples/launch/demo.launch.py index 12a7dbe..16e3bd9 100644 --- a/crane_plus_examples/launch/demo.launch.py +++ b/crane_plus_examples/launch/demo.launch.py @@ -30,7 +30,6 @@ def generate_launch_description(): default_value='/dev/ttyUSB0', description='Set port name.' ) - declare_use_camera = DeclareLaunchArgument( 'use_camera', default_value='false', @@ -97,7 +96,7 @@ def generate_launch_description(): declare_use_camera, declare_video_device, move_group, - move_group_camera, + # move_group_camera, control_node, - usb_cam_node + # usb_cam_node ]) diff --git a/crane_plus_examples/src/aruco_detection.cpp b/crane_plus_examples/src/aruco_detection.cpp index bdf9b19..926726a 100644 --- a/crane_plus_examples/src/aruco_detection.cpp +++ b/crane_plus_examples/src/aruco_detection.cpp @@ -27,7 +27,8 @@ #include "sensor_msgs/msg/image.hpp" #include "opencv2/opencv.hpp" #include "opencv2/aruco.hpp" -#include "cv_bridge/cv_bridge.h" +// #include "cv_bridge/cv_bridge.h" +#include "cv_bridge/cv_bridge.hpp" #include "tf2/LinearMath/Quaternion.h" #include "tf2/LinearMath/Matrix3x3.h" #include "tf2_ros/transform_broadcaster.h" diff --git a/crane_plus_examples/src/color_detection.cpp b/crane_plus_examples/src/color_detection.cpp index 8590e51..5e27413 100644 --- a/crane_plus_examples/src/color_detection.cpp +++ b/crane_plus_examples/src/color_detection.cpp @@ -29,8 +29,10 @@ #include "tf2_ros/transform_broadcaster.h" #include "opencv2/opencv.hpp" #include "opencv2/imgproc/imgproc.hpp" -#include "cv_bridge/cv_bridge.h" -#include "image_geometry/pinhole_camera_model.h" +// #include "cv_bridge/cv_bridge.h" +#include "cv_bridge/cv_bridge.hpp" +// #include "image_geometry/pinhole_camera_model.h" +#include "image_geometry/pinhole_camera_model.hpp" using std::placeholders::_1; class ImageSubscriber : public rclcpp::Node diff --git a/crane_plus_moveit_config/CHANGELOG.rst b/crane_plus_moveit_config/CHANGELOG.rst old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/CMakeLists.txt b/crane_plus_moveit_config/CMakeLists.txt old mode 100644 new mode 100755 index b9b9f1f..895a3c1 --- a/crane_plus_moveit_config/CMakeLists.txt +++ b/crane_plus_moveit_config/CMakeLists.txt @@ -1,17 +1,13 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.22) project(crane_plus_moveit_config) find_package(ament_cmake REQUIRED) -install(DIRECTORY - launch - config - DESTINATION share/${PROJECT_NAME}/ -) - -if(BUILD_TESTING) - find_package(ament_lint_auto REQUIRED) - ament_lint_auto_find_test_dependencies() -endif() - ament_package() + +install( + DIRECTORY launch + DESTINATION share/${PROJECT_NAME} + PATTERN "setup_assistant.launch" EXCLUDE) +install(DIRECTORY config DESTINATION share/${PROJECT_NAME}) +install(FILES .setup_assistant DESTINATION share/${PROJECT_NAME}) diff --git a/crane_plus_moveit_config/README.md b/crane_plus_moveit_config/README.md old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/config/controllers.yaml b/crane_plus_moveit_config/config/controllers.yaml old mode 100644 new mode 100755 index 4625155..f30686d --- a/crane_plus_moveit_config/config/controllers.yaml +++ b/crane_plus_moveit_config/config/controllers.yaml @@ -1,20 +1,25 @@ -controller_names: - - crane_plus_arm_controller - - crane_plus_gripper_controller +# MoveIt uses this configuration for controller management +moveit_controller_manager: moveit_simple_controller_manager/MoveItSimpleControllerManager -crane_plus_arm_controller: - action_ns: follow_joint_trajectory - type: FollowJointTrajectory - default: true - joints: - - crane_plus_joint1 - - crane_plus_joint2 - - crane_plus_joint3 - - crane_plus_joint4 +moveit_simple_controller_manager: + controller_names: + - crane_plus_arm_controller + - crane_plus_gripper_controller + + crane_plus_arm_controller: + action_ns: follow_joint_trajectory + type: FollowJointTrajectory + default: true + joints: + - crane_plus_joint1 + - crane_plus_joint2 + - crane_plus_joint3 + - crane_plus_joint4 + + crane_plus_gripper_controller: + action_ns: follow_joint_trajectory + type: FollowJointTrajectory + default: true + joints: + - crane_plus_joint_hand -crane_plus_gripper_controller: - action_ns: follow_joint_trajectory - type: FollowJointTrajectory - default: true - joints: - - crane_plus_joint_hand diff --git a/crane_plus_moveit_config/config/crane_plus.srdf b/crane_plus_moveit_config/config/crane_plus.srdf old mode 100644 new mode 100755 index 7e3685c..af40281 --- a/crane_plus_moveit_config/config/crane_plus.srdf +++ b/crane_plus_moveit_config/config/crane_plus.srdf @@ -1,43 +1,42 @@ - + - + - + - - + + - - - - + + + + - - - - + + + + - + - + - - - - - - + + + + + diff --git a/crane_plus_moveit_config/config/joint_limits.yaml b/crane_plus_moveit_config/config/joint_limits.yaml new file mode 100755 index 0000000..ac0df2e --- /dev/null +++ b/crane_plus_moveit_config/config/joint_limits.yaml @@ -0,0 +1,40 @@ +# 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: + crane_plus_joint1: + has_velocity_limits: true + max_velocity: 2.0 + # has_acceleration_limits: false + has_acceleration_limits: true + max_acceleration: 1.0 + crane_plus_joint2: + has_velocity_limits: true + max_velocity: 2.0 + # has_acceleration_limits: false + has_acceleration_limits: true + max_acceleration: 1.0 + crane_plus_joint3: + has_velocity_limits: true + max_velocity: 2.0 + # has_acceleration_limits: false + has_acceleration_limits: true + max_acceleration: 1.0 + crane_plus_joint4: + has_velocity_limits: true + max_velocity: 2.0 + # has_acceleration_limits: false + has_acceleration_limits: true + max_acceleration: 1.0 + crane_plus_joint_hand: + has_velocity_limits: true + max_velocity: 2.0 + # has_acceleration_limits: false + has_acceleration_limits: true + max_acceleration: 1.0 \ No newline at end of file diff --git a/crane_plus_moveit_config/config/kinematics.yaml b/crane_plus_moveit_config/config/kinematics.yaml old mode 100644 new mode 100755 index a07a406..a1f17d0 --- a/crane_plus_moveit_config/config/kinematics.yaml +++ b/crane_plus_moveit_config/config/kinematics.yaml @@ -1,5 +1,5 @@ arm: - kinematics_solver: lma_kinematics_plugin/LMAKinematicsPlugin - kinematics_solver_attempts: 10 + kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin kinematics_solver_search_resolution: 0.005 kinematics_solver_timeout: 0.005 + kinematics_solver_attempts: 3 \ No newline at end of file diff --git a/crane_plus_moveit_config/config/moveit.rviz b/crane_plus_moveit_config/config/moveit.rviz new file mode 100644 index 0000000..f31651e --- /dev/null +++ b/crane_plus_moveit_config/config/moveit.rviz @@ -0,0 +1,51 @@ +Panels: + - Class: rviz_common/Displays + Name: Displays + Property Tree Widget: + Expanded: + - /MotionPlanning1 + - Class: rviz_common/Help + Name: Help + - Class: rviz_common/Views + Name: Views +Visualization Manager: + Displays: + - Class: rviz_default_plugins/Grid + Name: Grid + Value: true + - Class: moveit_rviz_plugin/MotionPlanning + Name: MotionPlanning + Planned Path: + Loop Animation: true + State Display Time: 0.05 s + Trajectory Topic: display_planned_path + Planning Scene Topic: monitored_planning_scene + Robot Description: robot_description + Scene Geometry: + Scene Alpha: 1 + Scene Robot: + Robot Alpha: 0.5 + Value: true + Global Options: + Fixed Frame: world + Tools: + - Class: rviz_default_plugins/Interact + - Class: rviz_default_plugins/MoveCamera + - Class: rviz_default_plugins/Select + Value: true + Views: + Current: + Class: rviz_default_plugins/Orbit + Distance: 2.0 + Focal Point: + X: -0.1 + Y: 0.25 + Z: 0.30 + Name: Current View + Pitch: 0.5 + Target Frame: world + Yaw: -0.623 +Window Geometry: + Height: 975 + QMainWindow State: 000000ff00000000fd0000000100000000000002b400000375fc0200000005fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100fffffffb000000100044006900730070006c006100790073010000003d00000123000000c900fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e00670100000166000001910000018800fffffffb0000000800480065006c0070000000029a0000006e0000006e00fffffffb0000000a0056006900650077007301000002fd000000b5000000a400ffffff000001f60000037500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Width: 1200 diff --git a/crane_plus_moveit_config/config/ompl_planning.yaml b/crane_plus_moveit_config/config/ompl_planning.yaml old mode 100644 new mode 100755 index 2e197f5..3e0299c --- a/crane_plus_moveit_config/config/ompl_planning.yaml +++ b/crane_plus_moveit_config/config/ompl_planning.yaml @@ -1,3 +1,19 @@ +planning_plugins: + - ompl_interface/OMPLPlanner +# To optionally use Ruckig for jerk-limited smoothing, add this line to the request adapters below +# default_planning_request_adapters/AddRuckigTrajectorySmoothing +request_adapters: + - default_planning_request_adapters/ResolveConstraintFrames + - default_planning_request_adapters/ValidateWorkspaceBounds + - default_planning_request_adapters/CheckStartStateBounds + - default_planning_request_adapters/CheckStartStateCollision +response_adapters: + - default_planning_response_adapters/AddTimeOptimalParameterization + - default_planning_response_adapters/ValidateSolution + - default_planning_response_adapters/DisplayMotionPath + +start_state_max_bounds_error: 0.1 + planner_configs: SBLkConfigDefault: type: geometric::SBL diff --git a/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml b/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml new file mode 100644 index 0000000..b2997ca --- /dev/null +++ b/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml @@ -0,0 +1,6 @@ +# Limits for the Pilz planner +cartesian_limits: + max_trans_vel: 1.0 + max_trans_acc: 2.25 + max_trans_dec: -5.0 + max_rot_vel: 1.57 diff --git a/crane_plus_moveit_config/config/sensors_3d.yaml b/crane_plus_moveit_config/config/sensors_3d.yaml new file mode 100644 index 0000000..5d90e51 --- /dev/null +++ b/crane_plus_moveit_config/config/sensors_3d.yaml @@ -0,0 +1,23 @@ +sensors: + - kinect_pointcloud + - kinect_depthimage +kinect_pointcloud: + filtered_cloud_topic: filtered_cloud + max_range: 5.0 + max_update_rate: 1.0 + padding_offset: 0.1 + padding_scale: 1.0 + point_cloud_topic: /head_mount_kinect/depth_registered/points + point_subsample: 1 + sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater +kinect_depthimage: + far_clipping_plane_distance: 5.0 + filtered_cloud_topic: filtered_cloud + image_topic: /head_mount_kinect/depth_registered/image_raw + max_update_rate: 1.0 + near_clipping_plane_distance: 0.3 + padding_offset: 0.03 + padding_scale: 4.0 + queue_size: 5 + sensor_plugin: occupancy_map_monitor/DepthImageOctomapUpdater + shadow_threshold: 0.2 \ No newline at end of file diff --git a/crane_plus_moveit_config/launch/demo.launch.py b/crane_plus_moveit_config/launch/demo.launch.py new file mode 100644 index 0000000..2b134ee --- /dev/null +++ b/crane_plus_moveit_config/launch/demo.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_demo_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_demo_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/move_group.launch.py b/crane_plus_moveit_config/launch/move_group.launch.py new file mode 100644 index 0000000..d05ee6c --- /dev/null +++ b/crane_plus_moveit_config/launch/move_group.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_move_group_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_move_group_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/moveit_rviz.launch.py b/crane_plus_moveit_config/launch/moveit_rviz.launch.py new file mode 100644 index 0000000..9034635 --- /dev/null +++ b/crane_plus_moveit_config/launch/moveit_rviz.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_moveit_rviz_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_moveit_rviz_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/rsp.launch.py b/crane_plus_moveit_config/launch/rsp.launch.py new file mode 100644 index 0000000..28439b3 --- /dev/null +++ b/crane_plus_moveit_config/launch/rsp.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_rsp_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_rsp_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/run_move_group.launch.py b/crane_plus_moveit_config/launch/run_move_group.launch.py old mode 100644 new mode 100755 index 7e442ba..bea9340 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -20,19 +20,35 @@ from launch.substitutions import LaunchConfiguration from launch_ros.actions import Node import yaml +from moveit_configs_utils import MoveItConfigsBuilder + +from moveit_configs_utils.launches import generate_move_group_launch +from moveit_configs_utils.launches import generate_moveit_rviz_launch + +from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch + +from moveit_configs_utils.launches import generate_rsp_launch + +from moveit_configs_utils.launch_utils import ( + add_debuggable_node, + DeclareBooleanLaunchArg, +) # Reference: https://github.com/ros-planning/moveit2/blob/main/moveit_demo_nodes/ # run_move_group/launch/run_move_group.launch.py + def load_file(package_name, file_path): package_path = get_package_share_directory(package_name) absolute_file_path = os.path.join(package_path, file_path) try: - with open(absolute_file_path, 'r') as file: + with open(absolute_file_path, "r") as file: return file.read() - except EnvironmentError: # parent of IOError, OSError *and* WindowsError where available + except ( + EnvironmentError + ): # parent of IOError, OSError *and* WindowsError where available return None @@ -41,107 +57,99 @@ def load_yaml(package_name, file_path): absolute_file_path = os.path.join(package_path, file_path) try: - with open(absolute_file_path, 'r') as file: + with open(absolute_file_path, "r") as file: return yaml.safe_load(file) - except EnvironmentError: # parent of IOError, OSError *and* WindowsError where available + except ( + EnvironmentError + ): # parent of IOError, OSError *and* WindowsError where available return None def generate_launch_description(): + ld = LaunchDescription() + declare_loaded_description = DeclareLaunchArgument( - 'loaded_description', - default_value='', - description='Set robot_description text. \ - It is recommended to use RobotDescriptionLoader() in crane_plus_description.' + "loaded_description", + default_value="", + description="Set robot_description text. \ + It is recommended to use RobotDescriptionLoader() in crane_plus_description.", ) - declare_rviz_config_file = DeclareLaunchArgument( - 'rviz_config_file', - default_value=get_package_share_directory( - 'crane_plus_moveit_config') + '/launch/run_move_group.rviz', - description='Set the path to rviz configuration file.' + ld.add_action(declare_loaded_description) + + # MoveItConfigBuilderによるパラメータ設定 + moveit_config = ( + # ロボット名の定義 + MoveItConfigsBuilder("crane_plus") + # URDFの設定 + .robot_description( + file_path=os.path.join( + get_package_share_directory("crane_plus_description"), + "urdf", + "crane_plus.urdf.xacro", + ), + mappings={}, + ) + # SRDFの設定 + .robot_description_semantic( + file_path="config/crane_plus.srdf", + mappings={"model": "crane_plus"}, + ) + .joint_limits(file_path="config/joint_limits.yaml") + # Planning Sceneのトピックの設定 + .planning_scene_monitor( + publish_planning_scene=True, + publish_geometry_updates=True, + publish_state_updates=True, + publish_transforms_updates=True, + publish_robot_description=True, + publish_robot_description_semantic=True, + ) + # 軌道追従制御ノードの設定 + .trajectory_execution( + file_path="config/controllers.yaml", + moveit_manage_controllers=True + ) + # 軌道計画のプラグイン設定 + .planning_pipelines(pipelines=["ompl"], default_planning_pipeline="ompl") + # キネマティクスの設定 + .robot_description_kinematics(file_path="config/kinematics.yaml") + .to_moveit_configs() ) - robot_description = {'robot_description': LaunchConfiguration('loaded_description')} - - robot_description_semantic_config = load_file( - 'crane_plus_moveit_config', 'config/crane_plus.srdf') - robot_description_semantic = { - 'robot_description_semantic': robot_description_semantic_config} - - kinematics_yaml = load_yaml('crane_plus_moveit_config', 'config/kinematics.yaml') - - # Planning Functionality - ompl_planning_pipeline_config = {'move_group': { - 'planning_plugin': 'ompl_interface/OMPLPlanner', - 'request_adapters': 'default_planner_request_adapters/AddTimeOptimalParameterization \ - default_planner_request_adapters/FixWorkspaceBounds \ - default_planner_request_adapters/FixStartStateBounds \ - default_planner_request_adapters/FixStartStateCollision \ - default_planner_request_adapters/FixStartStatePathConstraints', - 'start_state_max_bounds_error': 0.1}} - ompl_planning_yaml = load_yaml('crane_plus_moveit_config', 'config/ompl_planning.yaml') - ompl_planning_pipeline_config['move_group'].update(ompl_planning_yaml) - - # Trajectory Execution Functionality - controllers_yaml = load_yaml('crane_plus_moveit_config', 'config/controllers.yaml') - moveit_controllers = { - 'moveit_simple_controller_manager': controllers_yaml, - 'moveit_controller_manager': - 'moveit_simple_controller_manager/MoveItSimpleControllerManager'} - - trajectory_execution = {'moveit_manage_controllers': True, - 'trajectory_execution.allowed_execution_duration_scaling': 1.2, - 'trajectory_execution.allowed_goal_duration_margin': 0.5, - 'trajectory_execution.allowed_start_tolerance': 0.1} - - planning_scene_monitor_parameters = {'publish_planning_scene': True, - 'publish_geometry_updates': True, - 'publish_state_updates': True, - 'publish_transforms_updates': True} - - # Start the actual move_group node/action server - run_move_group_node = Node(package='moveit_ros_move_group', - executable='move_group', - output='screen', - parameters=[robot_description, - robot_description_semantic, - kinematics_yaml, - ompl_planning_pipeline_config, - trajectory_execution, - moveit_controllers, - planning_scene_monitor_parameters]) + moveit_config.robot_description = { + "robot_description": LaunchConfiguration("loaded_description") + } - # RViz - rviz_config_file = LaunchConfiguration('rviz_config_file') - rviz_node = Node(package='rviz2', - executable='rviz2', - name='rviz2', - output='log', - arguments=['-d', rviz_config_file], - parameters=[robot_description, - robot_description_semantic, - ompl_planning_pipeline_config, - kinematics_yaml]) + moveit_config.move_group_capabilities = {"capabilities": ""} + + # Move group + ld.add_entity(generate_move_group_launch(moveit_config)) + # RViz + ld.add_entity(generate_moveit_rviz_launch(moveit_config)) + ld.add_action(DeclareBooleanLaunchArg("debug", default_value=False)) + ld.add_action( + DeclareLaunchArgument( + "rviz_config", + default_value=get_package_share_directory("crane_plus_moveit_config") + + "/config/moveit.rviz", + description="Set the path to rviz configuration file.", + ) + ) + # Static TF - static_tf = Node(package='tf2_ros', - executable='static_transform_publisher', - name='static_transform_publisher', - output='log', - arguments=['0.0', '0.0', '0.0', '0.0', '0.0', '0.0', 'world', 'base_link']) + ld.add_action( + Node( + package="tf2_ros", + executable="static_transform_publisher", + name="static_transform_publisher", + output="log", + arguments=["0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "world", "base_link"], + ) + ) # Publish TF - robot_state_publisher = Node(package='robot_state_publisher', - executable='robot_state_publisher', - name='robot_state_publisher', - output='both', - parameters=[robot_description]) - - return LaunchDescription([declare_loaded_description, - declare_rviz_config_file, - run_move_group_node, - rviz_node, - static_tf, - robot_state_publisher, - ]) + ld.add_entity(generate_rsp_launch(moveit_config)) + + return ld \ No newline at end of file diff --git a/crane_plus_moveit_config/launch/run_move_group.rviz b/crane_plus_moveit_config/launch/run_move_group.rviz old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/launch/setup_assistant.launch.py b/crane_plus_moveit_config/launch/setup_assistant.launch.py new file mode 100644 index 0000000..e16485a --- /dev/null +++ b/crane_plus_moveit_config/launch/setup_assistant.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_setup_assistant_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_setup_assistant_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/spawn_controllers.launch.py b/crane_plus_moveit_config/launch/spawn_controllers.launch.py new file mode 100644 index 0000000..85a8dfc --- /dev/null +++ b/crane_plus_moveit_config/launch/spawn_controllers.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_spawn_controllers_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_spawn_controllers_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py b/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py new file mode 100644 index 0000000..7ff90d2 --- /dev/null +++ b/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_static_virtual_joint_tfs_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/warehouse_db.launch.py b/crane_plus_moveit_config/launch/warehouse_db.launch.py new file mode 100644 index 0000000..9298137 --- /dev/null +++ b/crane_plus_moveit_config/launch/warehouse_db.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_warehouse_db_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_warehouse_db_launch(moveit_config) diff --git a/crane_plus_moveit_config/package.xml b/crane_plus_moveit_config/package.xml old mode 100644 new mode 100755 index 857a4e8..108dd2c --- a/crane_plus_moveit_config/package.xml +++ b/crane_plus_moveit_config/package.xml @@ -2,26 +2,50 @@ crane_plus_moveit_config - 2.0.1 - CRANE+ V2 move_group config package + 0.3.0 + + An automatically generated package with all the configuration and launch files for using the crane_plus with the MoveIt Motion Planning Framework + RT Corporation - Apache License 2.0 - Shota Aoki - Atsushi Kuwagata + BSD-3-Clause + + http://moveit.ros.org/ + https://github.com/moveit/moveit2/issues + https://github.com/moveit/moveit2 + + RT Corporation ament_cmake - moveit - robot_state_publisher - rviz2 - tf2_ros - xacro + moveit_ros_move_group + moveit_kinematics + moveit_planners + moveit_simple_controller_manager + joint_state_publisher + joint_state_publisher_gui + tf2_ros + xacro + + + + controller_manager + crane_plus_description + moveit_configs_utils + moveit_ros_move_group + moveit_ros_visualization + moveit_ros_warehouse + moveit_setup_assistant + robot_state_publisher + rviz2 + rviz_common + rviz_default_plugins + tf2_ros + warehouse_ros_mongo - ament_lint_auto - ament_lint_common - ament_cmake + ament_cmake diff --git a/install/COLCON_IGNORE b/install/COLCON_IGNORE new file mode 100644 index 0000000..e69de29 diff --git a/install/_local_setup_util_ps1.py b/install/_local_setup_util_ps1.py new file mode 100644 index 0000000..3c6d9e8 --- /dev/null +++ b/install/_local_setup_util_ps1.py @@ -0,0 +1,407 @@ +# Copyright 2016-2019 Dirk Thomas +# Licensed under the Apache License, Version 2.0 + +import argparse +from collections import OrderedDict +import os +from pathlib import Path +import sys + + +FORMAT_STR_COMMENT_LINE = '# {comment}' +FORMAT_STR_SET_ENV_VAR = 'Set-Item -Path "Env:{name}" -Value "{value}"' +FORMAT_STR_USE_ENV_VAR = '$env:{name}' +FORMAT_STR_INVOKE_SCRIPT = '_colcon_prefix_powershell_source_script "{script_path}"' # noqa: E501 +FORMAT_STR_REMOVE_LEADING_SEPARATOR = '' # noqa: E501 +FORMAT_STR_REMOVE_TRAILING_SEPARATOR = '' # noqa: E501 + +DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate' +DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate' +DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists' +DSV_TYPE_SET = 'set' +DSV_TYPE_SET_IF_UNSET = 'set-if-unset' +DSV_TYPE_SOURCE = 'source' + + +def main(argv=sys.argv[1:]): # noqa: D103 + parser = argparse.ArgumentParser( + description='Output shell commands for the packages in topological ' + 'order') + parser.add_argument( + 'primary_extension', + help='The file extension of the primary shell') + parser.add_argument( + 'additional_extension', nargs='?', + help='The additional file extension to be considered') + parser.add_argument( + '--merged-install', action='store_true', + help='All install prefixes are merged into a single location') + args = parser.parse_args(argv) + + packages = get_packages(Path(__file__).parent, args.merged_install) + + ordered_packages = order_packages(packages) + for pkg_name in ordered_packages: + if _include_comments(): + print( + FORMAT_STR_COMMENT_LINE.format_map( + {'comment': 'Package: ' + pkg_name})) + prefix = os.path.abspath(os.path.dirname(__file__)) + if not args.merged_install: + prefix = os.path.join(prefix, pkg_name) + for line in get_commands( + pkg_name, prefix, args.primary_extension, + args.additional_extension + ): + print(line) + + for line in _remove_ending_separators(): + print(line) + + +def get_packages(prefix_path, merged_install): + """ + Find packages based on colcon-specific files created during installation. + + :param Path prefix_path: The install prefix path of all packages + :param bool merged_install: The flag if the packages are all installed + directly in the prefix or if each package is installed in a subdirectory + named after the package + :returns: A mapping from the package name to the set of runtime + dependencies + :rtype: dict + """ + packages = {} + # since importing colcon_core isn't feasible here the following constant + # must match colcon_core.location.get_relative_package_index_path() + subdirectory = 'share/colcon-core/packages' + if merged_install: + # return if workspace is empty + if not (prefix_path / subdirectory).is_dir(): + return packages + # find all files in the subdirectory + for p in (prefix_path / subdirectory).iterdir(): + if not p.is_file(): + continue + if p.name.startswith('.'): + continue + add_package_runtime_dependencies(p, packages) + else: + # for each subdirectory look for the package specific file + for p in prefix_path.iterdir(): + if not p.is_dir(): + continue + if p.name.startswith('.'): + continue + p = p / subdirectory / p.name + if p.is_file(): + add_package_runtime_dependencies(p, packages) + + # remove unknown dependencies + pkg_names = set(packages.keys()) + for k in packages.keys(): + packages[k] = {d for d in packages[k] if d in pkg_names} + + return packages + + +def add_package_runtime_dependencies(path, packages): + """ + Check the path and if it exists extract the packages runtime dependencies. + + :param Path path: The resource file containing the runtime dependencies + :param dict packages: A mapping from package names to the sets of runtime + dependencies to add to + """ + content = path.read_text() + dependencies = set(content.split(os.pathsep) if content else []) + packages[path.name] = dependencies + + +def order_packages(packages): + """ + Order packages topologically. + + :param dict packages: A mapping from package name to the set of runtime + dependencies + :returns: The package names + :rtype: list + """ + # select packages with no dependencies in alphabetical order + to_be_ordered = list(packages.keys()) + ordered = [] + while to_be_ordered: + pkg_names_without_deps = [ + name for name in to_be_ordered if not packages[name]] + if not pkg_names_without_deps: + reduce_cycle_set(packages) + raise RuntimeError( + 'Circular dependency between: ' + ', '.join(sorted(packages))) + pkg_names_without_deps.sort() + pkg_name = pkg_names_without_deps[0] + to_be_ordered.remove(pkg_name) + ordered.append(pkg_name) + # remove item from dependency lists + for k in list(packages.keys()): + if pkg_name in packages[k]: + packages[k].remove(pkg_name) + return ordered + + +def reduce_cycle_set(packages): + """ + Reduce the set of packages to the ones part of the circular dependency. + + :param dict packages: A mapping from package name to the set of runtime + dependencies which is modified in place + """ + last_depended = None + while len(packages) > 0: + # get all remaining dependencies + depended = set() + for pkg_name, dependencies in packages.items(): + depended = depended.union(dependencies) + # remove all packages which are not dependent on + for name in list(packages.keys()): + if name not in depended: + del packages[name] + if last_depended: + # if remaining packages haven't changed return them + if last_depended == depended: + return packages.keys() + # otherwise reduce again + last_depended = depended + + +def _include_comments(): + # skipping comment lines when COLCON_TRACE is not set speeds up the + # processing especially on Windows + return bool(os.environ.get('COLCON_TRACE')) + + +def get_commands(pkg_name, prefix, primary_extension, additional_extension): + commands = [] + package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv') + if os.path.exists(package_dsv_path): + commands += process_dsv_file( + package_dsv_path, prefix, primary_extension, additional_extension) + return commands + + +def process_dsv_file( + dsv_path, prefix, primary_extension=None, additional_extension=None +): + commands = [] + if _include_comments(): + commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path})) + with open(dsv_path, 'r') as h: + content = h.read() + lines = content.splitlines() + + basenames = OrderedDict() + for i, line in enumerate(lines): + # skip over empty or whitespace-only lines + if not line.strip(): + continue + # skip over comments + if line.startswith('#'): + continue + try: + type_, remainder = line.split(';', 1) + except ValueError: + raise RuntimeError( + "Line %d in '%s' doesn't contain a semicolon separating the " + 'type from the arguments' % (i + 1, dsv_path)) + if type_ != DSV_TYPE_SOURCE: + # handle non-source lines + try: + commands += handle_dsv_types_except_source( + type_, remainder, prefix) + except RuntimeError as e: + raise RuntimeError( + "Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e + else: + # group remaining source lines by basename + path_without_ext, ext = os.path.splitext(remainder) + if path_without_ext not in basenames: + basenames[path_without_ext] = set() + assert ext.startswith('.') + ext = ext[1:] + if ext in (primary_extension, additional_extension): + basenames[path_without_ext].add(ext) + + # add the dsv extension to each basename if the file exists + for basename, extensions in basenames.items(): + if not os.path.isabs(basename): + basename = os.path.join(prefix, basename) + if os.path.exists(basename + '.dsv'): + extensions.add('dsv') + + for basename, extensions in basenames.items(): + if not os.path.isabs(basename): + basename = os.path.join(prefix, basename) + if 'dsv' in extensions: + # process dsv files recursively + commands += process_dsv_file( + basename + '.dsv', prefix, primary_extension=primary_extension, + additional_extension=additional_extension) + elif primary_extension in extensions and len(extensions) == 1: + # source primary-only files + commands += [ + FORMAT_STR_INVOKE_SCRIPT.format_map({ + 'prefix': prefix, + 'script_path': basename + '.' + primary_extension})] + elif additional_extension in extensions: + # source non-primary files + commands += [ + FORMAT_STR_INVOKE_SCRIPT.format_map({ + 'prefix': prefix, + 'script_path': basename + '.' + additional_extension})] + + return commands + + +def handle_dsv_types_except_source(type_, remainder, prefix): + commands = [] + if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET): + try: + env_name, value = remainder.split(';', 1) + except ValueError: + raise RuntimeError( + "doesn't contain a semicolon separating the environment name " + 'from the value') + try_prefixed_value = os.path.join(prefix, value) if value else prefix + if os.path.exists(try_prefixed_value): + value = try_prefixed_value + if type_ == DSV_TYPE_SET: + commands += _set(env_name, value) + elif type_ == DSV_TYPE_SET_IF_UNSET: + commands += _set_if_unset(env_name, value) + else: + assert False + elif type_ in ( + DSV_TYPE_APPEND_NON_DUPLICATE, + DSV_TYPE_PREPEND_NON_DUPLICATE, + DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS + ): + try: + env_name_and_values = remainder.split(';') + except ValueError: + raise RuntimeError( + "doesn't contain a semicolon separating the environment name " + 'from the values') + env_name = env_name_and_values[0] + values = env_name_and_values[1:] + for value in values: + if not value: + value = prefix + elif not os.path.isabs(value): + value = os.path.join(prefix, value) + if ( + type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and + not os.path.exists(value) + ): + comment = f'skip extending {env_name} with not existing ' \ + f'path: {value}' + if _include_comments(): + commands.append( + FORMAT_STR_COMMENT_LINE.format_map({'comment': comment})) + elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE: + commands += _append_unique_value(env_name, value) + else: + commands += _prepend_unique_value(env_name, value) + else: + raise RuntimeError( + 'contains an unknown environment hook type: ' + type_) + return commands + + +env_state = {} + + +def _append_unique_value(name, value): + global env_state + if name not in env_state: + if os.environ.get(name): + env_state[name] = set(os.environ[name].split(os.pathsep)) + else: + env_state[name] = set() + # append even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional leading separator + extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': extend + value}) + if value not in env_state[name]: + env_state[name].add(value) + else: + if not _include_comments(): + return [] + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +def _prepend_unique_value(name, value): + global env_state + if name not in env_state: + if os.environ.get(name): + env_state[name] = set(os.environ[name].split(os.pathsep)) + else: + env_state[name] = set() + # prepend even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional trailing separator + extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value + extend}) + if value not in env_state[name]: + env_state[name].add(value) + else: + if not _include_comments(): + return [] + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +# generate commands for removing prepended underscores +def _remove_ending_separators(): + # do nothing if the shell extension does not implement the logic + if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None: + return [] + + global env_state + commands = [] + for name in env_state: + # skip variables that already had values before this script started prepending + if name in os.environ: + continue + commands += [ + FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}), + FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})] + return commands + + +def _set(name, value): + global env_state + env_state[name] = value + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value}) + return [line] + + +def _set_if_unset(name, value): + global env_state + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value}) + if env_state.get(name, os.environ.get(name)): + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +if __name__ == '__main__': # pragma: no cover + try: + rc = main() + except RuntimeError as e: + print(str(e), file=sys.stderr) + rc = 1 + sys.exit(rc) diff --git a/install/_local_setup_util_sh.py b/install/_local_setup_util_sh.py new file mode 100644 index 0000000..f67eaa9 --- /dev/null +++ b/install/_local_setup_util_sh.py @@ -0,0 +1,407 @@ +# Copyright 2016-2019 Dirk Thomas +# Licensed under the Apache License, Version 2.0 + +import argparse +from collections import OrderedDict +import os +from pathlib import Path +import sys + + +FORMAT_STR_COMMENT_LINE = '# {comment}' +FORMAT_STR_SET_ENV_VAR = 'export {name}="{value}"' +FORMAT_STR_USE_ENV_VAR = '${name}' +FORMAT_STR_INVOKE_SCRIPT = 'COLCON_CURRENT_PREFIX="{prefix}" _colcon_prefix_sh_source_script "{script_path}"' # noqa: E501 +FORMAT_STR_REMOVE_LEADING_SEPARATOR = 'if [ "$(echo -n ${name} | head -c 1)" = ":" ]; then export {name}=${{{name}#?}} ; fi' # noqa: E501 +FORMAT_STR_REMOVE_TRAILING_SEPARATOR = 'if [ "$(echo -n ${name} | tail -c 1)" = ":" ]; then export {name}=${{{name}%?}} ; fi' # noqa: E501 + +DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate' +DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate' +DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists' +DSV_TYPE_SET = 'set' +DSV_TYPE_SET_IF_UNSET = 'set-if-unset' +DSV_TYPE_SOURCE = 'source' + + +def main(argv=sys.argv[1:]): # noqa: D103 + parser = argparse.ArgumentParser( + description='Output shell commands for the packages in topological ' + 'order') + parser.add_argument( + 'primary_extension', + help='The file extension of the primary shell') + parser.add_argument( + 'additional_extension', nargs='?', + help='The additional file extension to be considered') + parser.add_argument( + '--merged-install', action='store_true', + help='All install prefixes are merged into a single location') + args = parser.parse_args(argv) + + packages = get_packages(Path(__file__).parent, args.merged_install) + + ordered_packages = order_packages(packages) + for pkg_name in ordered_packages: + if _include_comments(): + print( + FORMAT_STR_COMMENT_LINE.format_map( + {'comment': 'Package: ' + pkg_name})) + prefix = os.path.abspath(os.path.dirname(__file__)) + if not args.merged_install: + prefix = os.path.join(prefix, pkg_name) + for line in get_commands( + pkg_name, prefix, args.primary_extension, + args.additional_extension + ): + print(line) + + for line in _remove_ending_separators(): + print(line) + + +def get_packages(prefix_path, merged_install): + """ + Find packages based on colcon-specific files created during installation. + + :param Path prefix_path: The install prefix path of all packages + :param bool merged_install: The flag if the packages are all installed + directly in the prefix or if each package is installed in a subdirectory + named after the package + :returns: A mapping from the package name to the set of runtime + dependencies + :rtype: dict + """ + packages = {} + # since importing colcon_core isn't feasible here the following constant + # must match colcon_core.location.get_relative_package_index_path() + subdirectory = 'share/colcon-core/packages' + if merged_install: + # return if workspace is empty + if not (prefix_path / subdirectory).is_dir(): + return packages + # find all files in the subdirectory + for p in (prefix_path / subdirectory).iterdir(): + if not p.is_file(): + continue + if p.name.startswith('.'): + continue + add_package_runtime_dependencies(p, packages) + else: + # for each subdirectory look for the package specific file + for p in prefix_path.iterdir(): + if not p.is_dir(): + continue + if p.name.startswith('.'): + continue + p = p / subdirectory / p.name + if p.is_file(): + add_package_runtime_dependencies(p, packages) + + # remove unknown dependencies + pkg_names = set(packages.keys()) + for k in packages.keys(): + packages[k] = {d for d in packages[k] if d in pkg_names} + + return packages + + +def add_package_runtime_dependencies(path, packages): + """ + Check the path and if it exists extract the packages runtime dependencies. + + :param Path path: The resource file containing the runtime dependencies + :param dict packages: A mapping from package names to the sets of runtime + dependencies to add to + """ + content = path.read_text() + dependencies = set(content.split(os.pathsep) if content else []) + packages[path.name] = dependencies + + +def order_packages(packages): + """ + Order packages topologically. + + :param dict packages: A mapping from package name to the set of runtime + dependencies + :returns: The package names + :rtype: list + """ + # select packages with no dependencies in alphabetical order + to_be_ordered = list(packages.keys()) + ordered = [] + while to_be_ordered: + pkg_names_without_deps = [ + name for name in to_be_ordered if not packages[name]] + if not pkg_names_without_deps: + reduce_cycle_set(packages) + raise RuntimeError( + 'Circular dependency between: ' + ', '.join(sorted(packages))) + pkg_names_without_deps.sort() + pkg_name = pkg_names_without_deps[0] + to_be_ordered.remove(pkg_name) + ordered.append(pkg_name) + # remove item from dependency lists + for k in list(packages.keys()): + if pkg_name in packages[k]: + packages[k].remove(pkg_name) + return ordered + + +def reduce_cycle_set(packages): + """ + Reduce the set of packages to the ones part of the circular dependency. + + :param dict packages: A mapping from package name to the set of runtime + dependencies which is modified in place + """ + last_depended = None + while len(packages) > 0: + # get all remaining dependencies + depended = set() + for pkg_name, dependencies in packages.items(): + depended = depended.union(dependencies) + # remove all packages which are not dependent on + for name in list(packages.keys()): + if name not in depended: + del packages[name] + if last_depended: + # if remaining packages haven't changed return them + if last_depended == depended: + return packages.keys() + # otherwise reduce again + last_depended = depended + + +def _include_comments(): + # skipping comment lines when COLCON_TRACE is not set speeds up the + # processing especially on Windows + return bool(os.environ.get('COLCON_TRACE')) + + +def get_commands(pkg_name, prefix, primary_extension, additional_extension): + commands = [] + package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv') + if os.path.exists(package_dsv_path): + commands += process_dsv_file( + package_dsv_path, prefix, primary_extension, additional_extension) + return commands + + +def process_dsv_file( + dsv_path, prefix, primary_extension=None, additional_extension=None +): + commands = [] + if _include_comments(): + commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path})) + with open(dsv_path, 'r') as h: + content = h.read() + lines = content.splitlines() + + basenames = OrderedDict() + for i, line in enumerate(lines): + # skip over empty or whitespace-only lines + if not line.strip(): + continue + # skip over comments + if line.startswith('#'): + continue + try: + type_, remainder = line.split(';', 1) + except ValueError: + raise RuntimeError( + "Line %d in '%s' doesn't contain a semicolon separating the " + 'type from the arguments' % (i + 1, dsv_path)) + if type_ != DSV_TYPE_SOURCE: + # handle non-source lines + try: + commands += handle_dsv_types_except_source( + type_, remainder, prefix) + except RuntimeError as e: + raise RuntimeError( + "Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e + else: + # group remaining source lines by basename + path_without_ext, ext = os.path.splitext(remainder) + if path_without_ext not in basenames: + basenames[path_without_ext] = set() + assert ext.startswith('.') + ext = ext[1:] + if ext in (primary_extension, additional_extension): + basenames[path_without_ext].add(ext) + + # add the dsv extension to each basename if the file exists + for basename, extensions in basenames.items(): + if not os.path.isabs(basename): + basename = os.path.join(prefix, basename) + if os.path.exists(basename + '.dsv'): + extensions.add('dsv') + + for basename, extensions in basenames.items(): + if not os.path.isabs(basename): + basename = os.path.join(prefix, basename) + if 'dsv' in extensions: + # process dsv files recursively + commands += process_dsv_file( + basename + '.dsv', prefix, primary_extension=primary_extension, + additional_extension=additional_extension) + elif primary_extension in extensions and len(extensions) == 1: + # source primary-only files + commands += [ + FORMAT_STR_INVOKE_SCRIPT.format_map({ + 'prefix': prefix, + 'script_path': basename + '.' + primary_extension})] + elif additional_extension in extensions: + # source non-primary files + commands += [ + FORMAT_STR_INVOKE_SCRIPT.format_map({ + 'prefix': prefix, + 'script_path': basename + '.' + additional_extension})] + + return commands + + +def handle_dsv_types_except_source(type_, remainder, prefix): + commands = [] + if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET): + try: + env_name, value = remainder.split(';', 1) + except ValueError: + raise RuntimeError( + "doesn't contain a semicolon separating the environment name " + 'from the value') + try_prefixed_value = os.path.join(prefix, value) if value else prefix + if os.path.exists(try_prefixed_value): + value = try_prefixed_value + if type_ == DSV_TYPE_SET: + commands += _set(env_name, value) + elif type_ == DSV_TYPE_SET_IF_UNSET: + commands += _set_if_unset(env_name, value) + else: + assert False + elif type_ in ( + DSV_TYPE_APPEND_NON_DUPLICATE, + DSV_TYPE_PREPEND_NON_DUPLICATE, + DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS + ): + try: + env_name_and_values = remainder.split(';') + except ValueError: + raise RuntimeError( + "doesn't contain a semicolon separating the environment name " + 'from the values') + env_name = env_name_and_values[0] + values = env_name_and_values[1:] + for value in values: + if not value: + value = prefix + elif not os.path.isabs(value): + value = os.path.join(prefix, value) + if ( + type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and + not os.path.exists(value) + ): + comment = f'skip extending {env_name} with not existing ' \ + f'path: {value}' + if _include_comments(): + commands.append( + FORMAT_STR_COMMENT_LINE.format_map({'comment': comment})) + elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE: + commands += _append_unique_value(env_name, value) + else: + commands += _prepend_unique_value(env_name, value) + else: + raise RuntimeError( + 'contains an unknown environment hook type: ' + type_) + return commands + + +env_state = {} + + +def _append_unique_value(name, value): + global env_state + if name not in env_state: + if os.environ.get(name): + env_state[name] = set(os.environ[name].split(os.pathsep)) + else: + env_state[name] = set() + # append even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional leading separator + extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': extend + value}) + if value not in env_state[name]: + env_state[name].add(value) + else: + if not _include_comments(): + return [] + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +def _prepend_unique_value(name, value): + global env_state + if name not in env_state: + if os.environ.get(name): + env_state[name] = set(os.environ[name].split(os.pathsep)) + else: + env_state[name] = set() + # prepend even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional trailing separator + extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value + extend}) + if value not in env_state[name]: + env_state[name].add(value) + else: + if not _include_comments(): + return [] + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +# generate commands for removing prepended underscores +def _remove_ending_separators(): + # do nothing if the shell extension does not implement the logic + if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None: + return [] + + global env_state + commands = [] + for name in env_state: + # skip variables that already had values before this script started prepending + if name in os.environ: + continue + commands += [ + FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}), + FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})] + return commands + + +def _set(name, value): + global env_state + env_state[name] = value + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value}) + return [line] + + +def _set_if_unset(name, value): + global env_state + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value}) + if env_state.get(name, os.environ.get(name)): + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +if __name__ == '__main__': # pragma: no cover + try: + rc = main() + except RuntimeError as e: + print(str(e), file=sys.stderr) + rc = 1 + sys.exit(rc) diff --git a/install/crane_plus_moveit_config/share/ament_index/resource_index/package_run_dependencies/crane_plus_moveit_config b/install/crane_plus_moveit_config/share/ament_index/resource_index/package_run_dependencies/crane_plus_moveit_config new file mode 100644 index 0000000..72c9aca --- /dev/null +++ b/install/crane_plus_moveit_config/share/ament_index/resource_index/package_run_dependencies/crane_plus_moveit_config @@ -0,0 +1 @@ +moveit_ros_move_group;moveit_kinematics;moveit_planners;moveit_simple_controller_manager;joint_state_publisher;joint_state_publisher_gui;tf2_ros;xacro;controller_manager;crane_plus_description;moveit_configs_utils;moveit_ros_visualization;moveit_ros_warehouse;moveit_setup_assistant;robot_state_publisher;rviz2;rviz_common;rviz_default_plugins;warehouse_ros_mongo \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/ament_index/resource_index/packages/crane_plus_moveit_config b/install/crane_plus_moveit_config/share/ament_index/resource_index/packages/crane_plus_moveit_config new file mode 100644 index 0000000..e69de29 diff --git a/install/crane_plus_moveit_config/share/ament_index/resource_index/parent_prefix_path/crane_plus_moveit_config b/install/crane_plus_moveit_config/share/ament_index/resource_index/parent_prefix_path/crane_plus_moveit_config new file mode 100644 index 0000000..5516322 --- /dev/null +++ b/install/crane_plus_moveit_config/share/ament_index/resource_index/parent_prefix_path/crane_plus_moveit_config @@ -0,0 +1 @@ +/home/user/overlay_ws/install/crane_plus_moveit_config_new:/home/user/overlay_ws/install/crane_plus:/home/user/overlay_ws/install/crane_plus_gazebo:/home/user/overlay_ws/install/crane_plus_examples:/home/user/overlay_ws/install/crane_plus_moveit_config:/home/user/overlay_ws/install/crane_plus_control:/home/user/overlay_ws/install/crane_plus_description:/opt/ros/jazzy \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/colcon-core/packages/crane_plus_moveit_config b/install/crane_plus_moveit_config/share/colcon-core/packages/crane_plus_moveit_config new file mode 100644 index 0000000..c3a13fb --- /dev/null +++ b/install/crane_plus_moveit_config/share/colcon-core/packages/crane_plus_moveit_config @@ -0,0 +1 @@ +controller_manager:crane_plus_description:joint_state_publisher:joint_state_publisher_gui:moveit_configs_utils:moveit_kinematics:moveit_planners:moveit_ros_move_group:moveit_ros_visualization:moveit_ros_warehouse:moveit_setup_assistant:moveit_simple_controller_manager:robot_state_publisher:rviz2:rviz_common:rviz_default_plugins:tf2_ros:warehouse_ros_mongo:xacro \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/.setup_assistant b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/.setup_assistant new file mode 100644 index 0000000..b7b0cc0 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/.setup_assistant @@ -0,0 +1,10 @@ +moveit_setup_assistant_config: + urdf: + package: crane_plus_description + relative_path: urdf/crane_plus.urdf.xacro + srdf: + relative_path: config/crane_plus.srdf + package_settings: + author_name: RT Corporation + author_email: shop@rt-net.jp + generated_timestamp: 1721806216 \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig-version.cmake b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig-version.cmake new file mode 100644 index 0000000..9678949 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig-version.cmake @@ -0,0 +1,14 @@ +# generated from ament/cmake/core/templates/nameConfig-version.cmake.in +set(PACKAGE_VERSION "0.3.0") + +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() diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig.cmake b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig.cmake new file mode 100644 index 0000000..d79b905 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig.cmake @@ -0,0 +1,42 @@ +# generated from ament/cmake/core/templates/nameConfig.cmake.in + +# prevent multiple inclusion +if(_crane_plus_moveit_config_CONFIG_INCLUDED) + # ensure to keep the found flag the same + if(NOT DEFINED crane_plus_moveit_config_FOUND) + # explicitly set it to FALSE, otherwise CMake will set it to TRUE + set(crane_plus_moveit_config_FOUND FALSE) + elseif(NOT crane_plus_moveit_config_FOUND) + # use separate condition to avoid uninitialized variable warning + set(crane_plus_moveit_config_FOUND FALSE) + endif() + return() +endif() +set(_crane_plus_moveit_config_CONFIG_INCLUDED TRUE) + +# output package information +if(NOT crane_plus_moveit_config_FIND_QUIETLY) + message(STATUS "Found crane_plus_moveit_config: 0.3.0 (${crane_plus_moveit_config_DIR})") +endif() + +# warn when using a deprecated package +if(NOT "" STREQUAL "") + set(_msg "Package 'crane_plus_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 crane_plus_moveit_config_DEPRECATED_QUIET) + message(DEPRECATION "${_msg}") + endif() +endif() + +# flag package as ament-based to distinguish it after being find_package()-ed +set(crane_plus_moveit_config_FOUND_AMENT_PACKAGE TRUE) + +# include all config extra files +set(_extras "") +foreach(_extra ${_extras}) + include("${crane_plus_moveit_config_DIR}/${_extra}") +endforeach() diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/controllers.yaml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/controllers.yaml new file mode 100644 index 0000000..e108e7b --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/controllers.yaml @@ -0,0 +1,27 @@ +trajectory_execution: + - allowed_execution_duration_scaling: 1.2 + - allowed_goal_duration_margin: 0.5 + - allowed_start_tolerance: 0.1 + +moveit_controller_manager: moveit_simple_controller_manager/MoveItSimpleControllerManager + +controller_names: + - crane_plus_arm_controller + - crane_plus_gripper_controller + +crane_plus_arm_controller: + action_ns: follow_joint_trajectory + type: FollowJointTrajectory + default: true + joints: + - crane_plus_joint1 + - crane_plus_joint2 + - crane_plus_joint3 + - crane_plus_joint4 + +crane_plus_gripper_controller: + action_ns: follow_joint_trajectory + type: FollowJointTrajectory + default: true + joints: + - crane_plus_joint_hand diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/crane_plus.srdf b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/crane_plus.srdf new file mode 100644 index 0000000..af40281 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/crane_plus.srdf @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/joint_limits.yaml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/joint_limits.yaml new file mode 100644 index 0000000..bd4b95a --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/joint_limits.yaml @@ -0,0 +1,35 @@ +# 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: + crane_plus_joint1: + has_velocity_limits: true + max_velocity: 2 + has_acceleration_limits: false + max_acceleration: 0 + crane_plus_joint2: + has_velocity_limits: true + max_velocity: 2 + has_acceleration_limits: false + max_acceleration: 0 + crane_plus_joint3: + has_velocity_limits: true + max_velocity: 2 + has_acceleration_limits: false + max_acceleration: 0 + crane_plus_joint4: + has_velocity_limits: true + max_velocity: 2 + has_acceleration_limits: false + max_acceleration: 0 + crane_plus_joint_hand: + has_velocity_limits: true + max_velocity: 2 + has_acceleration_limits: false + max_acceleration: 0 \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/kinematics.yaml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/kinematics.yaml new file mode 100644 index 0000000..193fbb9 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/kinematics.yaml @@ -0,0 +1,4 @@ +arm: + kinematics_solver: lma_kinematics_plugin/LMAKinematicsPlugin + kinematics_solver_search_resolution: 0.0050000000000000001 + kinematics_solver_timeout: 0.0050000000000000001 \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/moveit.rviz b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/moveit.rviz new file mode 100644 index 0000000..f31651e --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/moveit.rviz @@ -0,0 +1,51 @@ +Panels: + - Class: rviz_common/Displays + Name: Displays + Property Tree Widget: + Expanded: + - /MotionPlanning1 + - Class: rviz_common/Help + Name: Help + - Class: rviz_common/Views + Name: Views +Visualization Manager: + Displays: + - Class: rviz_default_plugins/Grid + Name: Grid + Value: true + - Class: moveit_rviz_plugin/MotionPlanning + Name: MotionPlanning + Planned Path: + Loop Animation: true + State Display Time: 0.05 s + Trajectory Topic: display_planned_path + Planning Scene Topic: monitored_planning_scene + Robot Description: robot_description + Scene Geometry: + Scene Alpha: 1 + Scene Robot: + Robot Alpha: 0.5 + Value: true + Global Options: + Fixed Frame: world + Tools: + - Class: rviz_default_plugins/Interact + - Class: rviz_default_plugins/MoveCamera + - Class: rviz_default_plugins/Select + Value: true + Views: + Current: + Class: rviz_default_plugins/Orbit + Distance: 2.0 + Focal Point: + X: -0.1 + Y: 0.25 + Z: 0.30 + Name: Current View + Pitch: 0.5 + Target Frame: world + Yaw: -0.623 +Window Geometry: + Height: 975 + QMainWindow State: 000000ff00000000fd0000000100000000000002b400000375fc0200000005fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100fffffffb000000100044006900730070006c006100790073010000003d00000123000000c900fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e00670100000166000001910000018800fffffffb0000000800480065006c0070000000029a0000006e0000006e00fffffffb0000000a0056006900650077007301000002fd000000b5000000a400ffffff000001f60000037500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Width: 1200 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/ompl_planning.yaml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/ompl_planning.yaml new file mode 100644 index 0000000..f32aafd --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/ompl_planning.yaml @@ -0,0 +1,196 @@ +planning_plugins: + - ompl_interface/OMPLPlanner +# The order of the elements in the adapter corresponds to the order they are processed by the motion planning pipeline. +request_adapters: + # - default_planning_request_adapters/ResolveConstraintFrames + # - default_planning_request_adapters/ValidateWorkspaceBounds + # - default_planning_request_adapters/CheckStartStateBounds + # - default_planning_request_adapters/CheckStartStateCollision + - default_planning_request_adapters/AddTimeOptimalParameterization + - default_planning_request_adapters/FixWorkspaceBounds + - default_planning_request_adapters/FixStartStateBounds + - default_planning_request_adapters/FixStartStatePathConstraints +response_adapters: + # - default_planning_response_adapters/AddTimeOptimalParameterization + # - default_planning_response_adapters/ValidateSolution + # - default_planning_response_adapters/DisplayMotionPath + +start_state_max_bounds_error: 0.1 + +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 expresssion. 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 + +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 +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 \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml new file mode 100644 index 0000000..b2997ca --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml @@ -0,0 +1,6 @@ +# Limits for the Pilz planner +cartesian_limits: + max_trans_vel: 1.0 + max_trans_acc: 2.25 + max_trans_dec: -5.0 + max_rot_vel: 1.57 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/sensors_3d.yaml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/sensors_3d.yaml new file mode 100644 index 0000000..5d90e51 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/sensors_3d.yaml @@ -0,0 +1,23 @@ +sensors: + - kinect_pointcloud + - kinect_depthimage +kinect_pointcloud: + filtered_cloud_topic: filtered_cloud + max_range: 5.0 + max_update_rate: 1.0 + padding_offset: 0.1 + padding_scale: 1.0 + point_cloud_topic: /head_mount_kinect/depth_registered/points + point_subsample: 1 + sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater +kinect_depthimage: + far_clipping_plane_distance: 5.0 + filtered_cloud_topic: filtered_cloud + image_topic: /head_mount_kinect/depth_registered/image_raw + max_update_rate: 1.0 + near_clipping_plane_distance: 0.3 + padding_offset: 0.03 + padding_scale: 4.0 + queue_size: 5 + sensor_plugin: occupancy_map_monitor/DepthImageOctomapUpdater + shadow_threshold: 0.2 \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.dsv b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.dsv new file mode 100644 index 0000000..79d4c95 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.dsv @@ -0,0 +1 @@ +prepend-non-duplicate;AMENT_PREFIX_PATH; diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.sh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.sh new file mode 100644 index 0000000..02e441b --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.sh @@ -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" diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.dsv b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.dsv new file mode 100644 index 0000000..b94426a --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.dsv @@ -0,0 +1 @@ +prepend-non-duplicate-if-exists;PATH;bin diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.sh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.sh new file mode 100644 index 0000000..e59b749 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.sh @@ -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 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.dsv b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.dsv new file mode 100644 index 0000000..e119f32 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.dsv @@ -0,0 +1 @@ +prepend-non-duplicate;CMAKE_PREFIX_PATH; diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.ps1 b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.ps1 new file mode 100644 index 0000000..d03facc --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.ps1 @@ -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" diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.sh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.sh new file mode 100644 index 0000000..a948e68 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.sh @@ -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" diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/demo.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/demo.launch.py new file mode 100644 index 0000000..2b134ee --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/demo.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_demo_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_demo_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/move_group.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/move_group.launch.py new file mode 100644 index 0000000..d05ee6c --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/move_group.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_move_group_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_move_group_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/moveit_rviz.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/moveit_rviz.launch.py new file mode 100644 index 0000000..9034635 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/moveit_rviz.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_moveit_rviz_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_moveit_rviz_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/rsp.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/rsp.launch.py new file mode 100644 index 0000000..28439b3 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/rsp.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_rsp_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_rsp_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.launch.py new file mode 100644 index 0000000..398f880 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -0,0 +1,237 @@ +# Copyright 2020 RT Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +from ament_index_python.packages import get_package_share_directory +from launch import LaunchDescription +from launch.actions import DeclareLaunchArgument +from launch.substitutions import LaunchConfiguration +from launch_ros.actions import Node +import yaml +from moveit_configs_utils import MoveItConfigsBuilder + +# from moveit_configs_utils.launches import generate_move_group_launch +# from moveit_configs_utils.launches import generate_moveit_rviz_launch +# from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch +# from moveit_configs_utils.launches import generate_rsp_launch + +# Reference: https://github.com/ros-planning/moveit2/blob/main/moveit_demo_nodes/ +# run_move_group/launch/run_move_group.launch.py + + +def load_file(package_name, file_path): + package_path = get_package_share_directory(package_name) + absolute_file_path = os.path.join(package_path, file_path) + + try: + with open(absolute_file_path, "r") as file: + return file.read() + except ( + EnvironmentError + ): # parent of IOError, OSError *and* WindowsError where available + return None + + +def load_yaml(package_name, file_path): + package_path = get_package_share_directory(package_name) + absolute_file_path = os.path.join(package_path, file_path) + + try: + with open(absolute_file_path, "r") as file: + return yaml.safe_load(file) + except ( + EnvironmentError + ): # parent of IOError, OSError *and* WindowsError where available + return None + +def generate_launch_description(): + declare_loaded_description = DeclareLaunchArgument( + "loaded_description", + default_value="", + description="Set robot_description text. \ + It is recommended to use RobotDescriptionLoader() in crane_plus_description.", + ) + + declare_rviz_config_file = DeclareLaunchArgument( + "rviz_config_file", + default_value=get_package_share_directory("crane_plus_moveit_config") + + "/launch/run_move_group.rviz", + description="Set the path to rviz configuration file.", + ) + + # robot_description = {"robot_description": LaunchConfiguration("loaded_description")} + + # robot_description_semantic_config = load_file( + # "crane_plus_moveit_config", "config/crane_plus.srdf" + # ) + # robot_description_semantic = { + # "robot_description_semantic": robot_description_semantic_config + # } + + # kinematics_yaml = load_yaml("crane_plus_moveit_config", "config/kinematics.yaml") + + # Planning Functionality + # ompl_planning_pipeline_config = {'move_group': { + # 'planning_plugin': 'ompl_interface/OMPLPlanner', + # 'request_adapters': 'default_planner_request_adapters/AddTimeOptimalParameterization \ + # default_planner_request_adapters/FixWorkspaceBounds \ + # default_planner_request_adapters/FixStartStateBounds \ + # default_planner_request_adapters/FixStartStateCollision \ + # default_planner_request_adapters/FixStartStatePathConstraints', + # 'start_state_max_bounds_error': 0.1}} + # ompl_planning_yaml = load_yaml('crane_plus_moveit_config', 'config/ompl_planning.yaml') + # ompl_planning_pipeline_config['move_group'].update(ompl_planning_yaml) + + # Trajectory Execution Functionality + # controllers_yaml = load_yaml('crane_plus_moveit_config', 'config/controllers.yaml') + # moveit_controllers = { + # 'moveit_simple_controller_manager': controllers_yaml, + # 'moveit_controller_manager': + # 'moveit_simple_controller_manager/MoveItSimpleControllerManager'} + + # trajectory_execution= {'moveit_manage_controllers': True, + # 'trajectory_execution.allowed_execution_duration_scaling': 1.2, + # 'trajectory_execution.allowed_goal_duration_margin': 0.5, + # 'trajectory_execution.allowed_start_tolerance': 0.1} + + # planning_scene_monitor_parameters = {'publish_planning_scene': True, + # 'publish_geometry_updates': True, + # 'publish_state_updates': True, + # 'publish_transforms_updates': True} + + + # MoveItConfigBuilderによるパラメータ設定 + moveit_config = ( + # ロボット名の定義 + MoveItConfigsBuilder("crane_plus") + # URDFの設定 + .robot_description( + mappings={"robot_description": LaunchConfiguration("loaded_description")} + ) + # SRDFの設定 + .robot_description_semantic(file_path="config/crane_plus.srdf") + # キネマティクスの設定 + .robot_description_kinematics(file_path="config/kinematics.yaml") + # 軌道計画のプラグイン設定 + .planning_pipelines( + pipelines=["ompl"], + default_planning_pipeline="ompl", + ) + # 軌道追従制御ノードの設定 + .trajectory_execution( + # file_path="controllers.yaml", + file_path="config/controllers.yaml", + moveit_manage_controllers=True, + ) + .joint_limits( + file_path="config/joint_limits.yaml" + ) + # Planning Sceneのトピックの設定 + .planning_scene_monitor( + publish_planning_scene=True, + publish_geometry_updates=True, + publish_state_updates=True, + publish_transforms_updates=True, + ).to_moveit_configs() + ) + + # Start the actual move_group node/action server + # run_move_group_node = Node(package='moveit_ros_move_group', + # executable='move_group', + # output='screen', + # parameters=[robot_description, + # robot_description_semantic, + # kinematics_yaml, + # ompl_planning_pipeline_config, + # trajectory_execution, + # moveit_controllers, + # planning_scene_monitor_parameters]) + + # Start the actual move_group node/action server + # パラメータをMoveItConfigsBuilderを使った渡し方に変更 + run_move_group_node = Node( + package="moveit_ros_move_group", + executable="move_group", + output="screen", + parameters=[moveit_config.to_dict()], + arguments=["--ros-args", "--log-level", "info"], + ) + + # RViz + rviz_config_file = LaunchConfiguration("rviz_config_file") + # rviz_node = Node(package='rviz2', + # executable='rviz2', + # name='rviz2', + # output='log', + # arguments=['-d', rviz_config_file], + # parameters=[robot_description, + # robot_description_semantic, + # ompl_planning_pipeline_config, + # kinematics_yaml]) + + # MoveitConfigsBuilderのparameter指定に書き直す + rviz_node = Node( + package="rviz2", + executable="rviz2", + name="rviz2", + output="log", + arguments=["-d", rviz_config_file], + parameters=[ + moveit_config.robot_description, + moveit_config.robot_description_semantic, + moveit_config.planning_pipelines, + moveit_config.robot_description_kinematics, + moveit_config.joint_limits, + ], + ) + + # Static TF + static_tf = Node( + package="tf2_ros", + executable="static_transform_publisher", + name="static_transform_publisher", + output="log", + arguments=["0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "world", "base_link"], + ) + + # Publish TF + # MoveitConfigsBuilderのparameter指定に書き直す + # robot_state_publisher = Node( + # package="robot_state_publisher", + # executable="robot_state_publisher", + # name="robot_state_publisher", + # output="both", + # parameters=[robot_description], + # ) + + # Publish TF + robot_state_publisher = Node( + package="robot_state_publisher", + executable="robot_state_publisher", + name="robot_state_publisher", + output="both", + parameters=[moveit_config.robot_description], + ) + + return LaunchDescription( + [ + declare_loaded_description, + declare_rviz_config_file, + run_move_group_node, + rviz_node, + static_tf, + robot_state_publisher, + ] + ) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.rviz b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.rviz new file mode 100644 index 0000000..44b5c6a --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.rviz @@ -0,0 +1,351 @@ +Panels: + - Class: rviz_common/Displays + Help Height: 78 + Name: Displays + Property Tree Widget: + Expanded: + - /Global Options1 + - /Status1 + - /MotionPlanning1 + - /Trajectory1 + Splitter Ratio: 0.5 + Tree Height: 295 + - 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: + Value: true + - Acceleration_Scaling_Factor: 1 + Class: moveit_rviz_plugin/MotionPlanning + Enabled: true + Move Group Namespace: "" + MoveIt_Allow_Approximate_IK: false + MoveIt_Allow_External_Program: false + MoveIt_Allow_Replanning: false + MoveIt_Allow_Sensor_Positioning: false + MoveIt_Goal_Tolerance: 0 + MoveIt_Planning_Attempts: 10 + MoveIt_Planning_Time: 5 + MoveIt_Use_Cartesian_Path: false + MoveIt_Use_Constraint_Aware_IK: true + 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 + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + crane_plus_base: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link4: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link_hand: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + world: + Alpha: 1 + Show Axes: false + Show Trail: false + Loop Animation: false + Robot Alpha: 0.5 + Robot Color: 150; 50; 150 + Show Robot Collision: false + Show Robot Visual: true + Show Trail: false + State Display Time: 0.05 s + Trail Step Size: 1 + Trajectory Topic: /move_group/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: 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 + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + crane_plus_base: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link4: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link_hand: + 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 + Velocity_Scaling_Factor: 1 + - 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 + crane_plus_base: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link4: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link_hand: + 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 + 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: 0.8449440598487854 + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Focal Point: + X: -0.04136588051915169 + Y: -0.017012163996696472 + Z: 0.08837244659662247 + Focal Shape Fixed Size: true + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.009999999776482582 + Pitch: 0.44539815187454224 + Target Frame: + Value: Orbit (rviz) + Yaw: 0.5553978681564331 + Saved: ~ +Window Geometry: + Displays: + collapsed: false + Height: 1056 + Hide Left Dock: false + Hide Right Dock: false + MotionPlanning: + collapsed: false + MotionPlanning - Trajectory Slider: + collapsed: false + QMainWindow State: 000000ff00000000fd000000040000000000000236000003c6fc020000000cfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d000001b2000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e006701000001f50000020e0000018900fffffffb000000280020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000000000000000fb0000003c005400720061006a006500630074006f007200790020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100ffffff000000010000010f000003c6fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d000003c6000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d006501000000000000045000000000000000000000042f000003c600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + Tool Properties: + collapsed: false + Trajectory - Trajectory Slider: + collapsed: false + Views: + collapsed: false + Width: 1920 + X: 0 + Y: 0 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/setup_assistant.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/setup_assistant.launch.py new file mode 100644 index 0000000..e16485a --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/setup_assistant.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_setup_assistant_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_setup_assistant_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/spawn_controllers.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/spawn_controllers.launch.py new file mode 100644 index 0000000..85a8dfc --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/spawn_controllers.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_spawn_controllers_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_spawn_controllers_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py new file mode 100644 index 0000000..7ff90d2 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_static_virtual_joint_tfs_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/warehouse_db.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/warehouse_db.launch.py new file mode 100644 index 0000000..9298137 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/warehouse_db.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_warehouse_db_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_warehouse_db_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.bash b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.bash new file mode 100644 index 0000000..49782f2 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.bash @@ -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 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.dsv b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.dsv new file mode 100644 index 0000000..a504757 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.dsv @@ -0,0 +1,2 @@ +source;share/crane_plus_moveit_config/environment/ament_prefix_path.sh +source;share/crane_plus_moveit_config/environment/path.sh diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.sh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.sh new file mode 100644 index 0000000..4f258b1 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.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/user/overlay_ws/src/crane_plus/install/crane_plus_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/crane_plus_moveit_config/environment/ament_prefix_path.sh" +ament_append_value AMENT_ENVIRONMENT_HOOKS "$AMENT_CURRENT_PREFIX/share/crane_plus_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 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.zsh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.zsh new file mode 100644 index 0000000..fe161be --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.zsh @@ -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 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.bash b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.bash new file mode 100644 index 0000000..27a9ab6 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.bash @@ -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/crane_plus_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/crane_plus_moveit_config/local_setup.bash" + +unset COLCON_CURRENT_PREFIX + +unset _colcon_package_bash_source_script +unset _colcon_package_bash_COLCON_CURRENT_PREFIX diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.dsv b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.dsv new file mode 100644 index 0000000..bf76ced --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.dsv @@ -0,0 +1,8 @@ +source;share/crane_plus_moveit_config/hook/cmake_prefix_path.ps1 +source;share/crane_plus_moveit_config/hook/cmake_prefix_path.dsv +source;share/crane_plus_moveit_config/hook/cmake_prefix_path.sh +source;share/crane_plus_moveit_config/local_setup.bash +source;share/crane_plus_moveit_config/local_setup.dsv +source;share/crane_plus_moveit_config/local_setup.ps1 +source;share/crane_plus_moveit_config/local_setup.sh +source;share/crane_plus_moveit_config/local_setup.zsh diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.ps1 b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.ps1 new file mode 100644 index 0000000..6e321cf --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.ps1 @@ -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/crane_plus_moveit_config/hook/cmake_prefix_path.ps1" +colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/crane_plus_moveit_config/local_setup.ps1" + +Remove-Item Env:\COLCON_CURRENT_PREFIX diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.sh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.sh new file mode 100644 index 0000000..57bb435 --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.sh @@ -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/user/overlay_ws/src/crane_plus/install/crane_plus_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/crane_plus_moveit_config/hook/cmake_prefix_path.sh" +_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/crane_plus_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 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.xml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.xml new file mode 100644 index 0000000..108dd2c --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.xml @@ -0,0 +1,51 @@ + + + + crane_plus_moveit_config + 0.3.0 + + An automatically generated package with all the configuration and launch files for using the crane_plus with the MoveIt Motion Planning Framework + + RT Corporation + + BSD-3-Clause + + http://moveit.ros.org/ + https://github.com/moveit/moveit2/issues + https://github.com/moveit/moveit2 + + RT Corporation + + ament_cmake + + moveit_ros_move_group + moveit_kinematics + moveit_planners + moveit_simple_controller_manager + joint_state_publisher + joint_state_publisher_gui + tf2_ros + xacro + + + + controller_manager + crane_plus_description + moveit_configs_utils + moveit_ros_move_group + moveit_ros_visualization + moveit_ros_warehouse + moveit_setup_assistant + robot_state_publisher + rviz2 + rviz_common + rviz_default_plugins + tf2_ros + warehouse_ros_mongo + + + + ament_cmake + + diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.zsh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.zsh new file mode 100644 index 0000000..8e6006d --- /dev/null +++ b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.zsh @@ -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/crane_plus_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/crane_plus_moveit_config/local_setup.zsh" + +unset COLCON_CURRENT_PREFIX + +unset _colcon_package_zsh_source_script +unset _colcon_package_zsh_COLCON_CURRENT_PREFIX diff --git a/install/local_setup.bash b/install/local_setup.bash new file mode 100644 index 0000000..03f0025 --- /dev/null +++ b/install/local_setup.bash @@ -0,0 +1,121 @@ +# generated from colcon_bash/shell/template/prefix.bash.em + +# This script extends the environment with all packages contained in this +# prefix path. + +# a bash script is able to determine its own path if necessary +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)" +else + _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# 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_prefix_bash_prepend_unique_value() { + # arguments + _listname="$1" + _value="$2" + + # get values from variable + eval _values=\"\$$_listname\" + # backup the field separator + _colcon_prefix_bash_prepend_unique_value_IFS="$IFS" + IFS=":" + # start with the new value + _all_values="$_value" + _contained_value="" + # 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 + _contained_value=1 + continue + fi + # keep non-duplicate values + _all_values="$_all_values:$_item" + done + unset _item + if [ -z "$_contained_value" ]; then + if [ -n "$COLCON_TRACE" ]; then + if [ "$_all_values" = "$_value" ]; then + echo "export $_listname=$_value" + else + echo "export $_listname=$_value:\$$_listname" + fi + fi + fi + unset _contained_value + # restore the field separator + IFS="$_colcon_prefix_bash_prepend_unique_value_IFS" + unset _colcon_prefix_bash_prepend_unique_value_IFS + # export the updated variable + eval export $_listname=\"$_all_values\" + unset _all_values + unset _values + + unset _value + unset _listname +} + +# add this prefix to the COLCON_PREFIX_PATH +_colcon_prefix_bash_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX" +unset _colcon_prefix_bash_prepend_unique_value + +# check environment variable for custom Python executable +if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then + if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then + echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist" + return 1 + fi + _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE" +else + # try the Python executable known at configure time + _colcon_python_executable="/usr/bin/python3" + # if it doesn't exist try a fall back + if [ ! -f "$_colcon_python_executable" ]; then + if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then + echo "error: unable to find python3 executable" + return 1 + fi + _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"` + fi +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# get all commands in topological order +_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh bash)" +unset _colcon_python_executable +if [ -n "$COLCON_TRACE" ]; then + echo "$(declare -f _colcon_prefix_sh_source_script)" + echo "# Execute generated script:" + echo "# <<<" + echo "${_colcon_ordered_commands}" + echo "# >>>" + echo "unset _colcon_prefix_sh_source_script" +fi +eval "${_colcon_ordered_commands}" +unset _colcon_ordered_commands + +unset _colcon_prefix_sh_source_script + +unset _colcon_prefix_bash_COLCON_CURRENT_PREFIX diff --git a/install/local_setup.ps1 b/install/local_setup.ps1 new file mode 100644 index 0000000..6f68c8d --- /dev/null +++ b/install/local_setup.ps1 @@ -0,0 +1,55 @@ +# generated from colcon_powershell/shell/template/prefix.ps1.em + +# This script extends the environment with all packages contained in this +# prefix path. + +# check environment variable for custom Python executable +if ($env:COLCON_PYTHON_EXECUTABLE) { + if (!(Test-Path "$env:COLCON_PYTHON_EXECUTABLE" -PathType Leaf)) { + echo "error: COLCON_PYTHON_EXECUTABLE '$env:COLCON_PYTHON_EXECUTABLE' doesn't exist" + exit 1 + } + $_colcon_python_executable="$env:COLCON_PYTHON_EXECUTABLE" +} else { + # use the Python executable known at configure time + $_colcon_python_executable="/usr/bin/python3" + # if it doesn't exist try a fall back + if (!(Test-Path "$_colcon_python_executable" -PathType Leaf)) { + if (!(Get-Command "python3" -ErrorAction SilentlyContinue)) { + echo "error: unable to find python3 executable" + exit 1 + } + $_colcon_python_executable="python3" + } +} + +# function to source another script with conditional trace output +# first argument: the path of the script +function _colcon_prefix_powershell_source_script { + param ( + $_colcon_prefix_powershell_source_script_param + ) + # source script with conditional trace output + if (Test-Path $_colcon_prefix_powershell_source_script_param) { + if ($env:COLCON_TRACE) { + echo ". '$_colcon_prefix_powershell_source_script_param'" + } + . "$_colcon_prefix_powershell_source_script_param" + } else { + Write-Error "not found: '$_colcon_prefix_powershell_source_script_param'" + } +} + +# get all commands in topological order +$_colcon_ordered_commands = & "$_colcon_python_executable" "$(Split-Path $PSCommandPath -Parent)/_local_setup_util_ps1.py" ps1 + +# execute all commands in topological order +if ($env:COLCON_TRACE) { + echo "Execute generated script:" + echo "<<<" + $_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Write-Output + echo ">>>" +} +if ($_colcon_ordered_commands) { + $_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Invoke-Expression +} diff --git a/install/local_setup.sh b/install/local_setup.sh new file mode 100644 index 0000000..78e2b40 --- /dev/null +++ b/install/local_setup.sh @@ -0,0 +1,137 @@ +# generated from colcon_core/shell/template/prefix.sh.em + +# This script extends the environment with all packages contained in this +# prefix path. + +# 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_prefix_sh_COLCON_CURRENT_PREFIX="/home/user/overlay_ws/src/crane_plus/install" +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + if [ ! -d "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX" ]; then + echo "The build time path \"$_colcon_prefix_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_prefix_sh_COLCON_CURRENT_PREFIX + return 1 + fi +else + _colcon_prefix_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# 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_prefix_sh_prepend_unique_value() { + # arguments + _listname="$1" + _value="$2" + + # get values from variable + eval _values=\"\$$_listname\" + # backup the field separator + _colcon_prefix_sh_prepend_unique_value_IFS="$IFS" + IFS=":" + # start with the new value + _all_values="$_value" + _contained_value="" + # 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 + _contained_value=1 + continue + fi + # keep non-duplicate values + _all_values="$_all_values:$_item" + done + unset _item + if [ -z "$_contained_value" ]; then + if [ -n "$COLCON_TRACE" ]; then + if [ "$_all_values" = "$_value" ]; then + echo "export $_listname=$_value" + else + echo "export $_listname=$_value:\$$_listname" + fi + fi + fi + unset _contained_value + # restore the field separator + IFS="$_colcon_prefix_sh_prepend_unique_value_IFS" + unset _colcon_prefix_sh_prepend_unique_value_IFS + # export the updated variable + eval export $_listname=\"$_all_values\" + unset _all_values + unset _values + + unset _value + unset _listname +} + +# add this prefix to the COLCON_PREFIX_PATH +_colcon_prefix_sh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX" +unset _colcon_prefix_sh_prepend_unique_value + +# check environment variable for custom Python executable +if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then + if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then + echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist" + return 1 + fi + _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE" +else + # try the Python executable known at configure time + _colcon_python_executable="/usr/bin/python3" + # if it doesn't exist try a fall back + if [ ! -f "$_colcon_python_executable" ]; then + if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then + echo "error: unable to find python3 executable" + return 1 + fi + _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"` + fi +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# get all commands in topological order +_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh)" +unset _colcon_python_executable +if [ -n "$COLCON_TRACE" ]; then + echo "_colcon_prefix_sh_source_script() { + if [ -f \"\$1\" ]; then + if [ -n \"\$COLCON_TRACE\" ]; then + echo \"# . \\\"\$1\\\"\" + fi + . \"\$1\" + else + echo \"not found: \\\"\$1\\\"\" 1>&2 + fi + }" + echo "# Execute generated script:" + echo "# <<<" + echo "${_colcon_ordered_commands}" + echo "# >>>" + echo "unset _colcon_prefix_sh_source_script" +fi +eval "${_colcon_ordered_commands}" +unset _colcon_ordered_commands + +unset _colcon_prefix_sh_source_script + +unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX diff --git a/install/local_setup.zsh b/install/local_setup.zsh new file mode 100644 index 0000000..b648710 --- /dev/null +++ b/install/local_setup.zsh @@ -0,0 +1,134 @@ +# generated from colcon_zsh/shell/template/prefix.zsh.em + +# This script extends the environment with all packages contained in this +# prefix path. + +# a zsh script is able to determine its own path if necessary +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + _colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)" +else + _colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# function to convert array-like strings into arrays +# to workaround SH_WORD_SPLIT not being set +_colcon_prefix_zsh_convert_to_array() { + local _listname=$1 + local _dollar="$" + local _split="{=" + local _to_array="(\"$_dollar$_split$_listname}\")" + eval $_listname=$_to_array +} + +# 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_prefix_zsh_prepend_unique_value() { + # arguments + _listname="$1" + _value="$2" + + # get values from variable + eval _values=\"\$$_listname\" + # backup the field separator + _colcon_prefix_zsh_prepend_unique_value_IFS="$IFS" + IFS=":" + # start with the new value + _all_values="$_value" + _contained_value="" + # workaround SH_WORD_SPLIT not being set + _colcon_prefix_zsh_convert_to_array _values + # 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 + _contained_value=1 + continue + fi + # keep non-duplicate values + _all_values="$_all_values:$_item" + done + unset _item + if [ -z "$_contained_value" ]; then + if [ -n "$COLCON_TRACE" ]; then + if [ "$_all_values" = "$_value" ]; then + echo "export $_listname=$_value" + else + echo "export $_listname=$_value:\$$_listname" + fi + fi + fi + unset _contained_value + # restore the field separator + IFS="$_colcon_prefix_zsh_prepend_unique_value_IFS" + unset _colcon_prefix_zsh_prepend_unique_value_IFS + # export the updated variable + eval export $_listname=\"$_all_values\" + unset _all_values + unset _values + + unset _value + unset _listname +} + +# add this prefix to the COLCON_PREFIX_PATH +_colcon_prefix_zsh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX" +unset _colcon_prefix_zsh_prepend_unique_value +unset _colcon_prefix_zsh_convert_to_array + +# check environment variable for custom Python executable +if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then + if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then + echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist" + return 1 + fi + _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE" +else + # try the Python executable known at configure time + _colcon_python_executable="/usr/bin/python3" + # if it doesn't exist try a fall back + if [ ! -f "$_colcon_python_executable" ]; then + if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then + echo "error: unable to find python3 executable" + return 1 + fi + _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"` + fi +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# get all commands in topological order +_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh zsh)" +unset _colcon_python_executable +if [ -n "$COLCON_TRACE" ]; then + echo "$(declare -f _colcon_prefix_sh_source_script)" + echo "# Execute generated script:" + echo "# <<<" + echo "${_colcon_ordered_commands}" + echo "# >>>" + echo "unset _colcon_prefix_sh_source_script" +fi +eval "${_colcon_ordered_commands}" +unset _colcon_ordered_commands + +unset _colcon_prefix_sh_source_script + +unset _colcon_prefix_zsh_COLCON_CURRENT_PREFIX diff --git a/install/setup.bash b/install/setup.bash new file mode 100644 index 0000000..07a556c --- /dev/null +++ b/install/setup.bash @@ -0,0 +1,34 @@ +# generated from colcon_bash/shell/template/prefix_chain.bash.em + +# This script extends the environment with the environment of other prefix +# paths which were sourced when this file was generated as well as all packages +# contained in this prefix path. + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_chain_bash_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source chained prefixes +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="/opt/ros/jazzy" +_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash" +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="/home/user/overlay_ws/install" +_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash" + +# source this prefix +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)" +_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash" + +unset COLCON_CURRENT_PREFIX +unset _colcon_prefix_chain_bash_source_script diff --git a/install/setup.ps1 b/install/setup.ps1 new file mode 100644 index 0000000..2d91df9 --- /dev/null +++ b/install/setup.ps1 @@ -0,0 +1,30 @@ +# generated from colcon_powershell/shell/template/prefix_chain.ps1.em + +# This script extends the environment with the environment of other prefix +# paths which were sourced when this file was generated as well as all packages +# contained in this prefix path. + +# function to source another script with conditional trace output +# first argument: the path of the script +function _colcon_prefix_chain_powershell_source_script { + param ( + $_colcon_prefix_chain_powershell_source_script_param + ) + # source script with conditional trace output + if (Test-Path $_colcon_prefix_chain_powershell_source_script_param) { + if ($env:COLCON_TRACE) { + echo ". '$_colcon_prefix_chain_powershell_source_script_param'" + } + . "$_colcon_prefix_chain_powershell_source_script_param" + } else { + Write-Error "not found: '$_colcon_prefix_chain_powershell_source_script_param'" + } +} + +# source chained prefixes +_colcon_prefix_chain_powershell_source_script "/opt/ros/jazzy\local_setup.ps1" +_colcon_prefix_chain_powershell_source_script "/home/user/overlay_ws/install\local_setup.ps1" + +# source this prefix +$env:COLCON_CURRENT_PREFIX=(Split-Path $PSCommandPath -Parent) +_colcon_prefix_chain_powershell_source_script "$env:COLCON_CURRENT_PREFIX\local_setup.ps1" diff --git a/install/setup.sh b/install/setup.sh new file mode 100644 index 0000000..7879277 --- /dev/null +++ b/install/setup.sh @@ -0,0 +1,49 @@ +# generated from colcon_core/shell/template/prefix_chain.sh.em + +# This script extends the environment with the environment of other prefix +# paths which were sourced when this file was generated as well as all packages +# contained in this prefix path. + +# 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_prefix_chain_sh_COLCON_CURRENT_PREFIX=/home/user/overlay_ws/src/crane_plus/install +if [ ! -z "$COLCON_CURRENT_PREFIX" ]; then + _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +elif [ ! -d "$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX" ]; then + echo "The build time path \"$_colcon_prefix_chain_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_prefix_chain_sh_COLCON_CURRENT_PREFIX + return 1 +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_chain_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source chained prefixes +# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script +COLCON_CURRENT_PREFIX="/opt/ros/jazzy" +_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh" + +# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script +COLCON_CURRENT_PREFIX="/home/user/overlay_ws/install" +_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh" + + +# source this prefix +# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script +COLCON_CURRENT_PREFIX="$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX" +_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh" + +unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX +unset _colcon_prefix_chain_sh_source_script +unset COLCON_CURRENT_PREFIX diff --git a/install/setup.zsh b/install/setup.zsh new file mode 100644 index 0000000..99962a2 --- /dev/null +++ b/install/setup.zsh @@ -0,0 +1,34 @@ +# generated from colcon_zsh/shell/template/prefix_chain.zsh.em + +# This script extends the environment with the environment of other prefix +# paths which were sourced when this file was generated as well as all packages +# contained in this prefix path. + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_chain_zsh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source chained prefixes +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="/opt/ros/jazzy" +_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh" +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="/home/user/overlay_ws/install" +_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh" + +# source this prefix +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)" +_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh" + +unset COLCON_CURRENT_PREFIX +unset _colcon_prefix_chain_zsh_source_script diff --git a/log/COLCON_IGNORE b/log/COLCON_IGNORE new file mode 100644 index 0000000..e69de29 diff --git a/log/latest b/log/latest new file mode 120000 index 0000000..b57d247 --- /dev/null +++ b/log/latest @@ -0,0 +1 @@ +latest_build \ No newline at end of file diff --git a/log/latest_build b/log/latest_build new file mode 120000 index 0000000..2552edd --- /dev/null +++ b/log/latest_build @@ -0,0 +1 @@ +build_2024-07-24_16-33-58 \ No newline at end of file From 1374d50e84a6fa3f5af662a36da6db3a159ee12a Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Fri, 9 Aug 2024 11:48:37 +0900 Subject: [PATCH 02/41] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E3=82=B3?= =?UTF-8?q?=E3=83=A1=E3=83=B3=E3=83=88=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_description/package.xml | 2 -- crane_plus_examples/launch/demo.launch.py | 2 -- crane_plus_examples/src/aruco_detection.cpp | 1 - crane_plus_examples/src/color_detection.cpp | 2 -- crane_plus_moveit_config/.setup_assistant | 25 +++++++++++++++++++ .../config/joint_limits.yaml | 8 ++---- .../config/kinematics.yaml | 3 ++- .../config/sensors_3d.yaml | 3 ++- .../launch/run_move_group.launch.py | 2 +- crane_plus_moveit_config/package.xml | 4 --- .../crane_plus_moveit_config | 1 - 11 files changed, 32 insertions(+), 21 deletions(-) create mode 100755 crane_plus_moveit_config/.setup_assistant delete mode 100644 install/crane_plus_moveit_config/share/ament_index/resource_index/package_run_dependencies/crane_plus_moveit_config diff --git a/crane_plus_description/package.xml b/crane_plus_description/package.xml index e8805be..1e5ff7e 100644 --- a/crane_plus_description/package.xml +++ b/crane_plus_description/package.xml @@ -13,8 +13,6 @@ ament_cmake ament_cmake_python - gz_ros2_control joint_state_publisher_gui launch diff --git a/crane_plus_examples/launch/demo.launch.py b/crane_plus_examples/launch/demo.launch.py index 16e3bd9..49e90d0 100644 --- a/crane_plus_examples/launch/demo.launch.py +++ b/crane_plus_examples/launch/demo.launch.py @@ -96,7 +96,5 @@ def generate_launch_description(): declare_use_camera, declare_video_device, move_group, - # move_group_camera, control_node, - # usb_cam_node ]) diff --git a/crane_plus_examples/src/aruco_detection.cpp b/crane_plus_examples/src/aruco_detection.cpp index 926726a..7a70f07 100644 --- a/crane_plus_examples/src/aruco_detection.cpp +++ b/crane_plus_examples/src/aruco_detection.cpp @@ -27,7 +27,6 @@ #include "sensor_msgs/msg/image.hpp" #include "opencv2/opencv.hpp" #include "opencv2/aruco.hpp" -// #include "cv_bridge/cv_bridge.h" #include "cv_bridge/cv_bridge.hpp" #include "tf2/LinearMath/Quaternion.h" #include "tf2/LinearMath/Matrix3x3.h" diff --git a/crane_plus_examples/src/color_detection.cpp b/crane_plus_examples/src/color_detection.cpp index 5e27413..73d9868 100644 --- a/crane_plus_examples/src/color_detection.cpp +++ b/crane_plus_examples/src/color_detection.cpp @@ -29,9 +29,7 @@ #include "tf2_ros/transform_broadcaster.h" #include "opencv2/opencv.hpp" #include "opencv2/imgproc/imgproc.hpp" -// #include "cv_bridge/cv_bridge.h" #include "cv_bridge/cv_bridge.hpp" -// #include "image_geometry/pinhole_camera_model.h" #include "image_geometry/pinhole_camera_model.hpp" using std::placeholders::_1; diff --git a/crane_plus_moveit_config/.setup_assistant b/crane_plus_moveit_config/.setup_assistant new file mode 100755 index 0000000..3058c8a --- /dev/null +++ b/crane_plus_moveit_config/.setup_assistant @@ -0,0 +1,25 @@ +moveit_setup_assistant_config: + urdf: + package: crane_plus_description + relative_path: urdf/crane_plus.urdf.xacro + srdf: + relative_path: config/crane_plus.srdf + package_settings: + author_name: RT Corporation + author_email: shop@rt-net.jp + generated_timestamp: 1721799427 + control_xacro: + command: + - position + state: + - position + - velocity + modified_urdf: + xacros: + - control_xacro + control_xacro: + command: + - position + state: + - position + - velocity \ No newline at end of file diff --git a/crane_plus_moveit_config/config/joint_limits.yaml b/crane_plus_moveit_config/config/joint_limits.yaml index ac0df2e..4554480 100755 --- a/crane_plus_moveit_config/config/joint_limits.yaml +++ b/crane_plus_moveit_config/config/joint_limits.yaml @@ -11,30 +11,26 @@ joint_limits: crane_plus_joint1: has_velocity_limits: true max_velocity: 2.0 - # has_acceleration_limits: false has_acceleration_limits: true max_acceleration: 1.0 crane_plus_joint2: has_velocity_limits: true max_velocity: 2.0 - # has_acceleration_limits: false has_acceleration_limits: true max_acceleration: 1.0 crane_plus_joint3: has_velocity_limits: true max_velocity: 2.0 - # has_acceleration_limits: false has_acceleration_limits: true max_acceleration: 1.0 crane_plus_joint4: has_velocity_limits: true max_velocity: 2.0 - # has_acceleration_limits: false has_acceleration_limits: true max_acceleration: 1.0 crane_plus_joint_hand: has_velocity_limits: true max_velocity: 2.0 - # has_acceleration_limits: false has_acceleration_limits: true - max_acceleration: 1.0 \ No newline at end of file + max_acceleration: 1.0 + \ No newline at end of file diff --git a/crane_plus_moveit_config/config/kinematics.yaml b/crane_plus_moveit_config/config/kinematics.yaml index a1f17d0..c9fd73d 100755 --- a/crane_plus_moveit_config/config/kinematics.yaml +++ b/crane_plus_moveit_config/config/kinematics.yaml @@ -2,4 +2,5 @@ arm: kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin kinematics_solver_search_resolution: 0.005 kinematics_solver_timeout: 0.005 - kinematics_solver_attempts: 3 \ No newline at end of file + kinematics_solver_attempts: 3 + \ No newline at end of file diff --git a/crane_plus_moveit_config/config/sensors_3d.yaml b/crane_plus_moveit_config/config/sensors_3d.yaml index 5d90e51..ab5c1e1 100644 --- a/crane_plus_moveit_config/config/sensors_3d.yaml +++ b/crane_plus_moveit_config/config/sensors_3d.yaml @@ -20,4 +20,5 @@ kinect_depthimage: padding_scale: 4.0 queue_size: 5 sensor_plugin: occupancy_map_monitor/DepthImageOctomapUpdater - shadow_threshold: 0.2 \ No newline at end of file + shadow_threshold: 0.2 + \ No newline at end of file diff --git a/crane_plus_moveit_config/launch/run_move_group.launch.py b/crane_plus_moveit_config/launch/run_move_group.launch.py index bea9340..fb4e9a8 100755 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -152,4 +152,4 @@ def generate_launch_description(): # Publish TF ld.add_entity(generate_rsp_launch(moveit_config)) - return ld \ No newline at end of file + return ld diff --git a/crane_plus_moveit_config/package.xml b/crane_plus_moveit_config/package.xml index 108dd2c..d4e6741 100755 --- a/crane_plus_moveit_config/package.xml +++ b/crane_plus_moveit_config/package.xml @@ -26,10 +26,6 @@ joint_state_publisher_gui tf2_ros xacro - - - controller_manager crane_plus_description moveit_configs_utils diff --git a/install/crane_plus_moveit_config/share/ament_index/resource_index/package_run_dependencies/crane_plus_moveit_config b/install/crane_plus_moveit_config/share/ament_index/resource_index/package_run_dependencies/crane_plus_moveit_config deleted file mode 100644 index 72c9aca..0000000 --- a/install/crane_plus_moveit_config/share/ament_index/resource_index/package_run_dependencies/crane_plus_moveit_config +++ /dev/null @@ -1 +0,0 @@ -moveit_ros_move_group;moveit_kinematics;moveit_planners;moveit_simple_controller_manager;joint_state_publisher;joint_state_publisher_gui;tf2_ros;xacro;controller_manager;crane_plus_description;moveit_configs_utils;moveit_ros_visualization;moveit_ros_warehouse;moveit_setup_assistant;robot_state_publisher;rviz2;rviz_common;rviz_default_plugins;warehouse_ros_mongo \ No newline at end of file From 6b10a749600b01235c5d5554b645155a9568b667 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Tue, 13 Aug 2024 10:53:39 +0900 Subject: [PATCH 03/41] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=83=95=E3=82=A1?= =?UTF-8?q?=E3=82=A4=E3=83=AB=E3=81=AEignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .docker/README.md | 0 .docker/source/Dockerfile | 0 .dockerignore | 0 .github/workflows/build_docker_image.yml | 0 .github/workflows/industrial_ci.yml | 0 .gitignore | 6 + LICENSE | 0 README.md | 0 crane_plus/CHANGELOG.rst | 0 crane_plus/CMakeLists.txt | 0 crane_plus/package.xml | 0 crane_plus_control/CHANGELOG.rst | 0 crane_plus_control/CMakeLists.txt | 0 crane_plus_control/README.md | 0 .../config/crane_plus_controllers.yaml | 0 crane_plus_control/crane_plus_hardware.xml | 0 .../crane_plus_control/crane_plus_driver.hpp | 0 .../crane_plus_hardware.hpp | 0 .../crane_plus_control/visibility_control.h | 0 .../launch/crane_plus_control.launch.py | 0 crane_plus_control/package.xml | 0 crane_plus_control/src/crane_plus_driver.cpp | 0 .../src/crane_plus_hardware.cpp | 0 crane_plus_description/CHANGELOG.rst | 0 crane_plus_description/CMakeLists.txt | 0 crane_plus_description/README.md | 0 .../crane_plus_description/__init__.py | 0 .../launch/display.launch.py | 0 crane_plus_description/launch/display.rviz | 0 .../collision/Hand_collision_20201013.stl | Bin .../collision/Link1_collision_20201013.stl | Bin .../collision/Link2_collision_20201013.stl | Bin .../collision/Link3_collision_20201013.stl | Bin .../collision/Link4_collision_20201013.stl | Bin .../collision/body_collision_20201013.stl | Bin .../meshes/visual/Hand_20201013.stl | Bin .../meshes/visual/Link1_20201013.stl | Bin .../meshes/visual/Link2_20201013.stl | Bin .../meshes/visual/Link3_20201013.stl | Bin .../meshes/visual/Link4_20201013.stl | Bin .../meshes/visual/body_20201013.stl | Bin crane_plus_description/package.xml | 0 .../test/dummy_controllers.yaml | 0 .../test/test_robot_description_loader.py | 0 crane_plus_description/urdf/camera.urdf.xacro | 0 .../urdf/camera_stand.urdf.xacro | 0 .../urdf/crane_plus.gazebo.xacro | 0 .../urdf/crane_plus.gazebo_ros2_control.xacro | 0 .../urdf/crane_plus.ros2_control.xacro | 0 .../urdf/crane_plus.urdf.xacro | 0 crane_plus_description/urdf/crane_plus.xacro | 0 crane_plus_examples/CHANGELOG.rst | 0 crane_plus_examples/CMakeLists.txt | 0 crane_plus_examples/README.md | 0 crane_plus_examples/aruco_markers.pdf | Bin crane_plus_examples/config/camera_info.yaml | 0 .../launch/camera_example.launch.py | 0 .../launch/camera_example.rviz | 0 crane_plus_examples/launch/demo.launch.py | 0 crane_plus_examples/launch/example.launch.py | 0 crane_plus_examples/package.xml | 0 crane_plus_examples/src/aruco_detection.cpp | 0 crane_plus_examples/src/color_detection.cpp | 0 crane_plus_examples/src/gripper_control.cpp | 0 crane_plus_examples/src/joint_values.cpp | 0 crane_plus_examples/src/pick_and_place.cpp | 0 crane_plus_examples/src/pick_and_place_tf.cpp | 0 crane_plus_examples/src/pose_groupstate.cpp | 0 crane_plus_gazebo/CHANGELOG.rst | 0 crane_plus_gazebo/CMakeLists.txt | 0 crane_plus_gazebo/README.md | 0 crane_plus_gazebo/gui/gui.config | 0 .../launch/crane_plus_with_table.launch.py | 0 crane_plus_gazebo/package.xml | 0 crane_plus_gazebo/worlds/table.sdf | 0 crane_plus_moveit_config/.setup_assistant | 25 -- crane_plus_moveit_config/config/moveit.rviz | 0 .../config/pilz_cartesian_limits.yaml | 0 .../config/sensors_3d.yaml | 0 .../launch/demo.launch.py | 0 .../launch/move_group.launch.py | 0 .../launch/moveit_rviz.launch.py | 0 crane_plus_moveit_config/launch/rsp.launch.py | 0 .../launch/setup_assistant.launch.py | 0 .../launch/spawn_controllers.launch.py | 0 .../launch/static_virtual_joint_tfs.launch.py | 0 .../launch/warehouse_db.launch.py | 0 install/COLCON_IGNORE | 0 install/_local_setup_util_ps1.py | 407 ------------------ install/_local_setup_util_sh.py | 407 ------------------ .../packages/crane_plus_moveit_config | 0 .../crane_plus_moveit_config | 1 - .../packages/crane_plus_moveit_config | 1 - .../crane_plus_moveit_config/.setup_assistant | 10 - ...ane_plus_moveit_configConfig-version.cmake | 14 - .../crane_plus_moveit_configConfig.cmake | 42 -- .../config/controllers.yaml | 27 -- .../config/crane_plus.srdf | 42 -- .../config/joint_limits.yaml | 35 -- .../config/kinematics.yaml | 4 - .../config/moveit.rviz | 51 --- .../config/ompl_planning.yaml | 196 --------- .../config/pilz_cartesian_limits.yaml | 6 - .../config/sensors_3d.yaml | 23 - .../environment/ament_prefix_path.dsv | 1 - .../environment/ament_prefix_path.sh | 4 - .../environment/path.dsv | 1 - .../environment/path.sh | 5 - .../hook/cmake_prefix_path.dsv | 1 - .../hook/cmake_prefix_path.ps1 | 3 - .../hook/cmake_prefix_path.sh | 3 - .../launch/demo.launch.py | 7 - .../launch/move_group.launch.py | 7 - .../launch/moveit_rviz.launch.py | 7 - .../launch/rsp.launch.py | 7 - .../launch/run_move_group.launch.py | 237 ---------- .../launch/run_move_group.rviz | 351 --------------- .../launch/setup_assistant.launch.py | 7 - .../launch/spawn_controllers.launch.py | 7 - .../launch/static_virtual_joint_tfs.launch.py | 7 - .../launch/warehouse_db.launch.py | 7 - .../crane_plus_moveit_config/local_setup.bash | 46 -- .../crane_plus_moveit_config/local_setup.dsv | 2 - .../crane_plus_moveit_config/local_setup.sh | 184 -------- .../crane_plus_moveit_config/local_setup.zsh | 59 --- .../crane_plus_moveit_config/package.bash | 39 -- .../crane_plus_moveit_config/package.dsv | 8 - .../crane_plus_moveit_config/package.ps1 | 116 ----- .../share/crane_plus_moveit_config/package.sh | 87 ---- .../crane_plus_moveit_config/package.xml | 51 --- .../crane_plus_moveit_config/package.zsh | 50 --- install/local_setup.bash | 121 ------ install/local_setup.ps1 | 55 --- install/local_setup.sh | 137 ------ install/local_setup.zsh | 134 ------ install/setup.bash | 34 -- install/setup.ps1 | 30 -- install/setup.sh | 49 --- install/setup.zsh | 34 -- log/COLCON_IGNORE | 0 log/latest | 1 - log/latest_build | 1 - 142 files changed, 6 insertions(+), 3191 deletions(-) mode change 100644 => 100755 .docker/README.md mode change 100644 => 100755 .docker/source/Dockerfile mode change 100644 => 100755 .dockerignore mode change 100644 => 100755 .github/workflows/build_docker_image.yml mode change 100644 => 100755 .github/workflows/industrial_ci.yml mode change 100644 => 100755 .gitignore mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.md mode change 100644 => 100755 crane_plus/CHANGELOG.rst mode change 100644 => 100755 crane_plus/CMakeLists.txt mode change 100644 => 100755 crane_plus/package.xml mode change 100644 => 100755 crane_plus_control/CHANGELOG.rst mode change 100644 => 100755 crane_plus_control/CMakeLists.txt mode change 100644 => 100755 crane_plus_control/README.md mode change 100644 => 100755 crane_plus_control/config/crane_plus_controllers.yaml mode change 100644 => 100755 crane_plus_control/crane_plus_hardware.xml mode change 100644 => 100755 crane_plus_control/include/crane_plus_control/crane_plus_driver.hpp mode change 100644 => 100755 crane_plus_control/include/crane_plus_control/crane_plus_hardware.hpp mode change 100644 => 100755 crane_plus_control/include/crane_plus_control/visibility_control.h mode change 100644 => 100755 crane_plus_control/launch/crane_plus_control.launch.py mode change 100644 => 100755 crane_plus_control/package.xml mode change 100644 => 100755 crane_plus_control/src/crane_plus_driver.cpp mode change 100644 => 100755 crane_plus_control/src/crane_plus_hardware.cpp mode change 100644 => 100755 crane_plus_description/CHANGELOG.rst mode change 100644 => 100755 crane_plus_description/CMakeLists.txt mode change 100644 => 100755 crane_plus_description/README.md mode change 100644 => 100755 crane_plus_description/crane_plus_description/__init__.py mode change 100644 => 100755 crane_plus_description/launch/display.launch.py mode change 100644 => 100755 crane_plus_description/launch/display.rviz mode change 100644 => 100755 crane_plus_description/meshes/collision/Hand_collision_20201013.stl mode change 100644 => 100755 crane_plus_description/meshes/collision/Link1_collision_20201013.stl mode change 100644 => 100755 crane_plus_description/meshes/collision/Link2_collision_20201013.stl mode change 100644 => 100755 crane_plus_description/meshes/collision/Link3_collision_20201013.stl mode change 100644 => 100755 crane_plus_description/meshes/collision/Link4_collision_20201013.stl mode change 100644 => 100755 crane_plus_description/meshes/collision/body_collision_20201013.stl mode change 100644 => 100755 crane_plus_description/meshes/visual/Hand_20201013.stl mode change 100644 => 100755 crane_plus_description/meshes/visual/Link1_20201013.stl mode change 100644 => 100755 crane_plus_description/meshes/visual/Link2_20201013.stl mode change 100644 => 100755 crane_plus_description/meshes/visual/Link3_20201013.stl mode change 100644 => 100755 crane_plus_description/meshes/visual/Link4_20201013.stl mode change 100644 => 100755 crane_plus_description/meshes/visual/body_20201013.stl mode change 100644 => 100755 crane_plus_description/package.xml mode change 100644 => 100755 crane_plus_description/test/dummy_controllers.yaml mode change 100644 => 100755 crane_plus_description/test/test_robot_description_loader.py mode change 100644 => 100755 crane_plus_description/urdf/camera.urdf.xacro mode change 100644 => 100755 crane_plus_description/urdf/camera_stand.urdf.xacro mode change 100644 => 100755 crane_plus_description/urdf/crane_plus.gazebo.xacro mode change 100644 => 100755 crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro mode change 100644 => 100755 crane_plus_description/urdf/crane_plus.ros2_control.xacro mode change 100644 => 100755 crane_plus_description/urdf/crane_plus.urdf.xacro mode change 100644 => 100755 crane_plus_description/urdf/crane_plus.xacro mode change 100644 => 100755 crane_plus_examples/CHANGELOG.rst mode change 100644 => 100755 crane_plus_examples/CMakeLists.txt mode change 100644 => 100755 crane_plus_examples/README.md mode change 100644 => 100755 crane_plus_examples/aruco_markers.pdf mode change 100644 => 100755 crane_plus_examples/config/camera_info.yaml mode change 100644 => 100755 crane_plus_examples/launch/camera_example.launch.py mode change 100644 => 100755 crane_plus_examples/launch/camera_example.rviz mode change 100644 => 100755 crane_plus_examples/launch/demo.launch.py mode change 100644 => 100755 crane_plus_examples/launch/example.launch.py mode change 100644 => 100755 crane_plus_examples/package.xml mode change 100644 => 100755 crane_plus_examples/src/aruco_detection.cpp mode change 100644 => 100755 crane_plus_examples/src/color_detection.cpp mode change 100644 => 100755 crane_plus_examples/src/gripper_control.cpp mode change 100644 => 100755 crane_plus_examples/src/joint_values.cpp mode change 100644 => 100755 crane_plus_examples/src/pick_and_place.cpp mode change 100644 => 100755 crane_plus_examples/src/pick_and_place_tf.cpp mode change 100644 => 100755 crane_plus_examples/src/pose_groupstate.cpp mode change 100644 => 100755 crane_plus_gazebo/CHANGELOG.rst mode change 100644 => 100755 crane_plus_gazebo/CMakeLists.txt mode change 100644 => 100755 crane_plus_gazebo/README.md mode change 100644 => 100755 crane_plus_gazebo/gui/gui.config mode change 100644 => 100755 crane_plus_gazebo/launch/crane_plus_with_table.launch.py mode change 100644 => 100755 crane_plus_gazebo/package.xml mode change 100644 => 100755 crane_plus_gazebo/worlds/table.sdf delete mode 100755 crane_plus_moveit_config/.setup_assistant mode change 100644 => 100755 crane_plus_moveit_config/config/moveit.rviz mode change 100644 => 100755 crane_plus_moveit_config/config/pilz_cartesian_limits.yaml mode change 100644 => 100755 crane_plus_moveit_config/config/sensors_3d.yaml mode change 100644 => 100755 crane_plus_moveit_config/launch/demo.launch.py mode change 100644 => 100755 crane_plus_moveit_config/launch/move_group.launch.py mode change 100644 => 100755 crane_plus_moveit_config/launch/moveit_rviz.launch.py mode change 100644 => 100755 crane_plus_moveit_config/launch/rsp.launch.py mode change 100644 => 100755 crane_plus_moveit_config/launch/setup_assistant.launch.py mode change 100644 => 100755 crane_plus_moveit_config/launch/spawn_controllers.launch.py mode change 100644 => 100755 crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py mode change 100644 => 100755 crane_plus_moveit_config/launch/warehouse_db.launch.py delete mode 100644 install/COLCON_IGNORE delete mode 100644 install/_local_setup_util_ps1.py delete mode 100644 install/_local_setup_util_sh.py delete mode 100644 install/crane_plus_moveit_config/share/ament_index/resource_index/packages/crane_plus_moveit_config delete mode 100644 install/crane_plus_moveit_config/share/ament_index/resource_index/parent_prefix_path/crane_plus_moveit_config delete mode 100644 install/crane_plus_moveit_config/share/colcon-core/packages/crane_plus_moveit_config delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/.setup_assistant delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig-version.cmake delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig.cmake delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/controllers.yaml delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/crane_plus.srdf delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/joint_limits.yaml delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/kinematics.yaml delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/moveit.rviz delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/ompl_planning.yaml delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/sensors_3d.yaml delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.dsv delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.sh delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.dsv delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.sh delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.dsv delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.ps1 delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.sh delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/demo.launch.py delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/move_group.launch.py delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/moveit_rviz.launch.py delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/rsp.launch.py delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.launch.py delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.rviz delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/setup_assistant.launch.py delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/spawn_controllers.launch.py delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/warehouse_db.launch.py delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.bash delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.dsv delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.sh delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.zsh delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.bash delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.dsv delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.ps1 delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.sh delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.xml delete mode 100644 install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.zsh delete mode 100644 install/local_setup.bash delete mode 100644 install/local_setup.ps1 delete mode 100644 install/local_setup.sh delete mode 100644 install/local_setup.zsh delete mode 100644 install/setup.bash delete mode 100644 install/setup.ps1 delete mode 100644 install/setup.sh delete mode 100644 install/setup.zsh delete mode 100644 log/COLCON_IGNORE delete mode 120000 log/latest delete mode 120000 log/latest_build diff --git a/.docker/README.md b/.docker/README.md old mode 100644 new mode 100755 diff --git a/.docker/source/Dockerfile b/.docker/source/Dockerfile old mode 100644 new mode 100755 diff --git a/.dockerignore b/.dockerignore old mode 100644 new mode 100755 diff --git a/.github/workflows/build_docker_image.yml b/.github/workflows/build_docker_image.yml old mode 100644 new mode 100755 diff --git a/.github/workflows/industrial_ci.yml b/.github/workflows/industrial_ci.yml old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index ba6ffec..6d61153 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,9 @@ target/ .pytest_cache .vscode + +# unnecessary +crane_plus_moveit_config/.setup_assistant +install/ +log/ +crane_plus_examples/scripts/ diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/crane_plus/CHANGELOG.rst b/crane_plus/CHANGELOG.rst old mode 100644 new mode 100755 diff --git a/crane_plus/CMakeLists.txt b/crane_plus/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/crane_plus/package.xml b/crane_plus/package.xml old mode 100644 new mode 100755 diff --git a/crane_plus_control/CHANGELOG.rst b/crane_plus_control/CHANGELOG.rst old mode 100644 new mode 100755 diff --git a/crane_plus_control/CMakeLists.txt b/crane_plus_control/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/crane_plus_control/README.md b/crane_plus_control/README.md old mode 100644 new mode 100755 diff --git a/crane_plus_control/config/crane_plus_controllers.yaml b/crane_plus_control/config/crane_plus_controllers.yaml old mode 100644 new mode 100755 diff --git a/crane_plus_control/crane_plus_hardware.xml b/crane_plus_control/crane_plus_hardware.xml old mode 100644 new mode 100755 diff --git a/crane_plus_control/include/crane_plus_control/crane_plus_driver.hpp b/crane_plus_control/include/crane_plus_control/crane_plus_driver.hpp old mode 100644 new mode 100755 diff --git a/crane_plus_control/include/crane_plus_control/crane_plus_hardware.hpp b/crane_plus_control/include/crane_plus_control/crane_plus_hardware.hpp old mode 100644 new mode 100755 diff --git a/crane_plus_control/include/crane_plus_control/visibility_control.h b/crane_plus_control/include/crane_plus_control/visibility_control.h old mode 100644 new mode 100755 diff --git a/crane_plus_control/launch/crane_plus_control.launch.py b/crane_plus_control/launch/crane_plus_control.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_control/package.xml b/crane_plus_control/package.xml old mode 100644 new mode 100755 diff --git a/crane_plus_control/src/crane_plus_driver.cpp b/crane_plus_control/src/crane_plus_driver.cpp old mode 100644 new mode 100755 diff --git a/crane_plus_control/src/crane_plus_hardware.cpp b/crane_plus_control/src/crane_plus_hardware.cpp old mode 100644 new mode 100755 diff --git a/crane_plus_description/CHANGELOG.rst b/crane_plus_description/CHANGELOG.rst old mode 100644 new mode 100755 diff --git a/crane_plus_description/CMakeLists.txt b/crane_plus_description/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/crane_plus_description/README.md b/crane_plus_description/README.md old mode 100644 new mode 100755 diff --git a/crane_plus_description/crane_plus_description/__init__.py b/crane_plus_description/crane_plus_description/__init__.py old mode 100644 new mode 100755 diff --git a/crane_plus_description/launch/display.launch.py b/crane_plus_description/launch/display.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_description/launch/display.rviz b/crane_plus_description/launch/display.rviz old mode 100644 new mode 100755 diff --git a/crane_plus_description/meshes/collision/Hand_collision_20201013.stl b/crane_plus_description/meshes/collision/Hand_collision_20201013.stl old mode 100644 new mode 100755 diff --git a/crane_plus_description/meshes/collision/Link1_collision_20201013.stl b/crane_plus_description/meshes/collision/Link1_collision_20201013.stl old mode 100644 new mode 100755 diff --git a/crane_plus_description/meshes/collision/Link2_collision_20201013.stl b/crane_plus_description/meshes/collision/Link2_collision_20201013.stl old mode 100644 new mode 100755 diff --git a/crane_plus_description/meshes/collision/Link3_collision_20201013.stl b/crane_plus_description/meshes/collision/Link3_collision_20201013.stl old mode 100644 new mode 100755 diff --git a/crane_plus_description/meshes/collision/Link4_collision_20201013.stl b/crane_plus_description/meshes/collision/Link4_collision_20201013.stl old mode 100644 new mode 100755 diff --git a/crane_plus_description/meshes/collision/body_collision_20201013.stl b/crane_plus_description/meshes/collision/body_collision_20201013.stl old mode 100644 new mode 100755 diff --git a/crane_plus_description/meshes/visual/Hand_20201013.stl b/crane_plus_description/meshes/visual/Hand_20201013.stl old mode 100644 new mode 100755 diff --git a/crane_plus_description/meshes/visual/Link1_20201013.stl b/crane_plus_description/meshes/visual/Link1_20201013.stl old mode 100644 new mode 100755 diff --git a/crane_plus_description/meshes/visual/Link2_20201013.stl b/crane_plus_description/meshes/visual/Link2_20201013.stl old mode 100644 new mode 100755 diff --git a/crane_plus_description/meshes/visual/Link3_20201013.stl b/crane_plus_description/meshes/visual/Link3_20201013.stl old mode 100644 new mode 100755 diff --git a/crane_plus_description/meshes/visual/Link4_20201013.stl b/crane_plus_description/meshes/visual/Link4_20201013.stl old mode 100644 new mode 100755 diff --git a/crane_plus_description/meshes/visual/body_20201013.stl b/crane_plus_description/meshes/visual/body_20201013.stl old mode 100644 new mode 100755 diff --git a/crane_plus_description/package.xml b/crane_plus_description/package.xml old mode 100644 new mode 100755 diff --git a/crane_plus_description/test/dummy_controllers.yaml b/crane_plus_description/test/dummy_controllers.yaml old mode 100644 new mode 100755 diff --git a/crane_plus_description/test/test_robot_description_loader.py b/crane_plus_description/test/test_robot_description_loader.py old mode 100644 new mode 100755 diff --git a/crane_plus_description/urdf/camera.urdf.xacro b/crane_plus_description/urdf/camera.urdf.xacro old mode 100644 new mode 100755 diff --git a/crane_plus_description/urdf/camera_stand.urdf.xacro b/crane_plus_description/urdf/camera_stand.urdf.xacro old mode 100644 new mode 100755 diff --git a/crane_plus_description/urdf/crane_plus.gazebo.xacro b/crane_plus_description/urdf/crane_plus.gazebo.xacro old mode 100644 new mode 100755 diff --git a/crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro b/crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro old mode 100644 new mode 100755 diff --git a/crane_plus_description/urdf/crane_plus.ros2_control.xacro b/crane_plus_description/urdf/crane_plus.ros2_control.xacro old mode 100644 new mode 100755 diff --git a/crane_plus_description/urdf/crane_plus.urdf.xacro b/crane_plus_description/urdf/crane_plus.urdf.xacro old mode 100644 new mode 100755 diff --git a/crane_plus_description/urdf/crane_plus.xacro b/crane_plus_description/urdf/crane_plus.xacro old mode 100644 new mode 100755 diff --git a/crane_plus_examples/CHANGELOG.rst b/crane_plus_examples/CHANGELOG.rst old mode 100644 new mode 100755 diff --git a/crane_plus_examples/CMakeLists.txt b/crane_plus_examples/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/crane_plus_examples/README.md b/crane_plus_examples/README.md old mode 100644 new mode 100755 diff --git a/crane_plus_examples/aruco_markers.pdf b/crane_plus_examples/aruco_markers.pdf old mode 100644 new mode 100755 diff --git a/crane_plus_examples/config/camera_info.yaml b/crane_plus_examples/config/camera_info.yaml old mode 100644 new mode 100755 diff --git a/crane_plus_examples/launch/camera_example.launch.py b/crane_plus_examples/launch/camera_example.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_examples/launch/camera_example.rviz b/crane_plus_examples/launch/camera_example.rviz old mode 100644 new mode 100755 diff --git a/crane_plus_examples/launch/demo.launch.py b/crane_plus_examples/launch/demo.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_examples/launch/example.launch.py b/crane_plus_examples/launch/example.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_examples/package.xml b/crane_plus_examples/package.xml old mode 100644 new mode 100755 diff --git a/crane_plus_examples/src/aruco_detection.cpp b/crane_plus_examples/src/aruco_detection.cpp old mode 100644 new mode 100755 diff --git a/crane_plus_examples/src/color_detection.cpp b/crane_plus_examples/src/color_detection.cpp old mode 100644 new mode 100755 diff --git a/crane_plus_examples/src/gripper_control.cpp b/crane_plus_examples/src/gripper_control.cpp old mode 100644 new mode 100755 diff --git a/crane_plus_examples/src/joint_values.cpp b/crane_plus_examples/src/joint_values.cpp old mode 100644 new mode 100755 diff --git a/crane_plus_examples/src/pick_and_place.cpp b/crane_plus_examples/src/pick_and_place.cpp old mode 100644 new mode 100755 diff --git a/crane_plus_examples/src/pick_and_place_tf.cpp b/crane_plus_examples/src/pick_and_place_tf.cpp old mode 100644 new mode 100755 diff --git a/crane_plus_examples/src/pose_groupstate.cpp b/crane_plus_examples/src/pose_groupstate.cpp old mode 100644 new mode 100755 diff --git a/crane_plus_gazebo/CHANGELOG.rst b/crane_plus_gazebo/CHANGELOG.rst old mode 100644 new mode 100755 diff --git a/crane_plus_gazebo/CMakeLists.txt b/crane_plus_gazebo/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/crane_plus_gazebo/README.md b/crane_plus_gazebo/README.md old mode 100644 new mode 100755 diff --git a/crane_plus_gazebo/gui/gui.config b/crane_plus_gazebo/gui/gui.config old mode 100644 new mode 100755 diff --git a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_gazebo/package.xml b/crane_plus_gazebo/package.xml old mode 100644 new mode 100755 diff --git a/crane_plus_gazebo/worlds/table.sdf b/crane_plus_gazebo/worlds/table.sdf old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/.setup_assistant b/crane_plus_moveit_config/.setup_assistant deleted file mode 100755 index 3058c8a..0000000 --- a/crane_plus_moveit_config/.setup_assistant +++ /dev/null @@ -1,25 +0,0 @@ -moveit_setup_assistant_config: - urdf: - package: crane_plus_description - relative_path: urdf/crane_plus.urdf.xacro - srdf: - relative_path: config/crane_plus.srdf - package_settings: - author_name: RT Corporation - author_email: shop@rt-net.jp - generated_timestamp: 1721799427 - control_xacro: - command: - - position - state: - - position - - velocity - modified_urdf: - xacros: - - control_xacro - control_xacro: - command: - - position - state: - - position - - velocity \ No newline at end of file diff --git a/crane_plus_moveit_config/config/moveit.rviz b/crane_plus_moveit_config/config/moveit.rviz old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml b/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/config/sensors_3d.yaml b/crane_plus_moveit_config/config/sensors_3d.yaml old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/launch/demo.launch.py b/crane_plus_moveit_config/launch/demo.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/launch/move_group.launch.py b/crane_plus_moveit_config/launch/move_group.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/launch/moveit_rviz.launch.py b/crane_plus_moveit_config/launch/moveit_rviz.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/launch/rsp.launch.py b/crane_plus_moveit_config/launch/rsp.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/launch/setup_assistant.launch.py b/crane_plus_moveit_config/launch/setup_assistant.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/launch/spawn_controllers.launch.py b/crane_plus_moveit_config/launch/spawn_controllers.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py b/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py old mode 100644 new mode 100755 diff --git a/crane_plus_moveit_config/launch/warehouse_db.launch.py b/crane_plus_moveit_config/launch/warehouse_db.launch.py old mode 100644 new mode 100755 diff --git a/install/COLCON_IGNORE b/install/COLCON_IGNORE deleted file mode 100644 index e69de29..0000000 diff --git a/install/_local_setup_util_ps1.py b/install/_local_setup_util_ps1.py deleted file mode 100644 index 3c6d9e8..0000000 --- a/install/_local_setup_util_ps1.py +++ /dev/null @@ -1,407 +0,0 @@ -# Copyright 2016-2019 Dirk Thomas -# Licensed under the Apache License, Version 2.0 - -import argparse -from collections import OrderedDict -import os -from pathlib import Path -import sys - - -FORMAT_STR_COMMENT_LINE = '# {comment}' -FORMAT_STR_SET_ENV_VAR = 'Set-Item -Path "Env:{name}" -Value "{value}"' -FORMAT_STR_USE_ENV_VAR = '$env:{name}' -FORMAT_STR_INVOKE_SCRIPT = '_colcon_prefix_powershell_source_script "{script_path}"' # noqa: E501 -FORMAT_STR_REMOVE_LEADING_SEPARATOR = '' # noqa: E501 -FORMAT_STR_REMOVE_TRAILING_SEPARATOR = '' # noqa: E501 - -DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate' -DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate' -DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists' -DSV_TYPE_SET = 'set' -DSV_TYPE_SET_IF_UNSET = 'set-if-unset' -DSV_TYPE_SOURCE = 'source' - - -def main(argv=sys.argv[1:]): # noqa: D103 - parser = argparse.ArgumentParser( - description='Output shell commands for the packages in topological ' - 'order') - parser.add_argument( - 'primary_extension', - help='The file extension of the primary shell') - parser.add_argument( - 'additional_extension', nargs='?', - help='The additional file extension to be considered') - parser.add_argument( - '--merged-install', action='store_true', - help='All install prefixes are merged into a single location') - args = parser.parse_args(argv) - - packages = get_packages(Path(__file__).parent, args.merged_install) - - ordered_packages = order_packages(packages) - for pkg_name in ordered_packages: - if _include_comments(): - print( - FORMAT_STR_COMMENT_LINE.format_map( - {'comment': 'Package: ' + pkg_name})) - prefix = os.path.abspath(os.path.dirname(__file__)) - if not args.merged_install: - prefix = os.path.join(prefix, pkg_name) - for line in get_commands( - pkg_name, prefix, args.primary_extension, - args.additional_extension - ): - print(line) - - for line in _remove_ending_separators(): - print(line) - - -def get_packages(prefix_path, merged_install): - """ - Find packages based on colcon-specific files created during installation. - - :param Path prefix_path: The install prefix path of all packages - :param bool merged_install: The flag if the packages are all installed - directly in the prefix or if each package is installed in a subdirectory - named after the package - :returns: A mapping from the package name to the set of runtime - dependencies - :rtype: dict - """ - packages = {} - # since importing colcon_core isn't feasible here the following constant - # must match colcon_core.location.get_relative_package_index_path() - subdirectory = 'share/colcon-core/packages' - if merged_install: - # return if workspace is empty - if not (prefix_path / subdirectory).is_dir(): - return packages - # find all files in the subdirectory - for p in (prefix_path / subdirectory).iterdir(): - if not p.is_file(): - continue - if p.name.startswith('.'): - continue - add_package_runtime_dependencies(p, packages) - else: - # for each subdirectory look for the package specific file - for p in prefix_path.iterdir(): - if not p.is_dir(): - continue - if p.name.startswith('.'): - continue - p = p / subdirectory / p.name - if p.is_file(): - add_package_runtime_dependencies(p, packages) - - # remove unknown dependencies - pkg_names = set(packages.keys()) - for k in packages.keys(): - packages[k] = {d for d in packages[k] if d in pkg_names} - - return packages - - -def add_package_runtime_dependencies(path, packages): - """ - Check the path and if it exists extract the packages runtime dependencies. - - :param Path path: The resource file containing the runtime dependencies - :param dict packages: A mapping from package names to the sets of runtime - dependencies to add to - """ - content = path.read_text() - dependencies = set(content.split(os.pathsep) if content else []) - packages[path.name] = dependencies - - -def order_packages(packages): - """ - Order packages topologically. - - :param dict packages: A mapping from package name to the set of runtime - dependencies - :returns: The package names - :rtype: list - """ - # select packages with no dependencies in alphabetical order - to_be_ordered = list(packages.keys()) - ordered = [] - while to_be_ordered: - pkg_names_without_deps = [ - name for name in to_be_ordered if not packages[name]] - if not pkg_names_without_deps: - reduce_cycle_set(packages) - raise RuntimeError( - 'Circular dependency between: ' + ', '.join(sorted(packages))) - pkg_names_without_deps.sort() - pkg_name = pkg_names_without_deps[0] - to_be_ordered.remove(pkg_name) - ordered.append(pkg_name) - # remove item from dependency lists - for k in list(packages.keys()): - if pkg_name in packages[k]: - packages[k].remove(pkg_name) - return ordered - - -def reduce_cycle_set(packages): - """ - Reduce the set of packages to the ones part of the circular dependency. - - :param dict packages: A mapping from package name to the set of runtime - dependencies which is modified in place - """ - last_depended = None - while len(packages) > 0: - # get all remaining dependencies - depended = set() - for pkg_name, dependencies in packages.items(): - depended = depended.union(dependencies) - # remove all packages which are not dependent on - for name in list(packages.keys()): - if name not in depended: - del packages[name] - if last_depended: - # if remaining packages haven't changed return them - if last_depended == depended: - return packages.keys() - # otherwise reduce again - last_depended = depended - - -def _include_comments(): - # skipping comment lines when COLCON_TRACE is not set speeds up the - # processing especially on Windows - return bool(os.environ.get('COLCON_TRACE')) - - -def get_commands(pkg_name, prefix, primary_extension, additional_extension): - commands = [] - package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv') - if os.path.exists(package_dsv_path): - commands += process_dsv_file( - package_dsv_path, prefix, primary_extension, additional_extension) - return commands - - -def process_dsv_file( - dsv_path, prefix, primary_extension=None, additional_extension=None -): - commands = [] - if _include_comments(): - commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path})) - with open(dsv_path, 'r') as h: - content = h.read() - lines = content.splitlines() - - basenames = OrderedDict() - for i, line in enumerate(lines): - # skip over empty or whitespace-only lines - if not line.strip(): - continue - # skip over comments - if line.startswith('#'): - continue - try: - type_, remainder = line.split(';', 1) - except ValueError: - raise RuntimeError( - "Line %d in '%s' doesn't contain a semicolon separating the " - 'type from the arguments' % (i + 1, dsv_path)) - if type_ != DSV_TYPE_SOURCE: - # handle non-source lines - try: - commands += handle_dsv_types_except_source( - type_, remainder, prefix) - except RuntimeError as e: - raise RuntimeError( - "Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e - else: - # group remaining source lines by basename - path_without_ext, ext = os.path.splitext(remainder) - if path_without_ext not in basenames: - basenames[path_without_ext] = set() - assert ext.startswith('.') - ext = ext[1:] - if ext in (primary_extension, additional_extension): - basenames[path_without_ext].add(ext) - - # add the dsv extension to each basename if the file exists - for basename, extensions in basenames.items(): - if not os.path.isabs(basename): - basename = os.path.join(prefix, basename) - if os.path.exists(basename + '.dsv'): - extensions.add('dsv') - - for basename, extensions in basenames.items(): - if not os.path.isabs(basename): - basename = os.path.join(prefix, basename) - if 'dsv' in extensions: - # process dsv files recursively - commands += process_dsv_file( - basename + '.dsv', prefix, primary_extension=primary_extension, - additional_extension=additional_extension) - elif primary_extension in extensions and len(extensions) == 1: - # source primary-only files - commands += [ - FORMAT_STR_INVOKE_SCRIPT.format_map({ - 'prefix': prefix, - 'script_path': basename + '.' + primary_extension})] - elif additional_extension in extensions: - # source non-primary files - commands += [ - FORMAT_STR_INVOKE_SCRIPT.format_map({ - 'prefix': prefix, - 'script_path': basename + '.' + additional_extension})] - - return commands - - -def handle_dsv_types_except_source(type_, remainder, prefix): - commands = [] - if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET): - try: - env_name, value = remainder.split(';', 1) - except ValueError: - raise RuntimeError( - "doesn't contain a semicolon separating the environment name " - 'from the value') - try_prefixed_value = os.path.join(prefix, value) if value else prefix - if os.path.exists(try_prefixed_value): - value = try_prefixed_value - if type_ == DSV_TYPE_SET: - commands += _set(env_name, value) - elif type_ == DSV_TYPE_SET_IF_UNSET: - commands += _set_if_unset(env_name, value) - else: - assert False - elif type_ in ( - DSV_TYPE_APPEND_NON_DUPLICATE, - DSV_TYPE_PREPEND_NON_DUPLICATE, - DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS - ): - try: - env_name_and_values = remainder.split(';') - except ValueError: - raise RuntimeError( - "doesn't contain a semicolon separating the environment name " - 'from the values') - env_name = env_name_and_values[0] - values = env_name_and_values[1:] - for value in values: - if not value: - value = prefix - elif not os.path.isabs(value): - value = os.path.join(prefix, value) - if ( - type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and - not os.path.exists(value) - ): - comment = f'skip extending {env_name} with not existing ' \ - f'path: {value}' - if _include_comments(): - commands.append( - FORMAT_STR_COMMENT_LINE.format_map({'comment': comment})) - elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE: - commands += _append_unique_value(env_name, value) - else: - commands += _prepend_unique_value(env_name, value) - else: - raise RuntimeError( - 'contains an unknown environment hook type: ' + type_) - return commands - - -env_state = {} - - -def _append_unique_value(name, value): - global env_state - if name not in env_state: - if os.environ.get(name): - env_state[name] = set(os.environ[name].split(os.pathsep)) - else: - env_state[name] = set() - # append even if the variable has not been set yet, in case a shell script sets the - # same variable without the knowledge of this Python script. - # later _remove_ending_separators() will cleanup any unintentional leading separator - extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep - line = FORMAT_STR_SET_ENV_VAR.format_map( - {'name': name, 'value': extend + value}) - if value not in env_state[name]: - env_state[name].add(value) - else: - if not _include_comments(): - return [] - line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) - return [line] - - -def _prepend_unique_value(name, value): - global env_state - if name not in env_state: - if os.environ.get(name): - env_state[name] = set(os.environ[name].split(os.pathsep)) - else: - env_state[name] = set() - # prepend even if the variable has not been set yet, in case a shell script sets the - # same variable without the knowledge of this Python script. - # later _remove_ending_separators() will cleanup any unintentional trailing separator - extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) - line = FORMAT_STR_SET_ENV_VAR.format_map( - {'name': name, 'value': value + extend}) - if value not in env_state[name]: - env_state[name].add(value) - else: - if not _include_comments(): - return [] - line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) - return [line] - - -# generate commands for removing prepended underscores -def _remove_ending_separators(): - # do nothing if the shell extension does not implement the logic - if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None: - return [] - - global env_state - commands = [] - for name in env_state: - # skip variables that already had values before this script started prepending - if name in os.environ: - continue - commands += [ - FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}), - FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})] - return commands - - -def _set(name, value): - global env_state - env_state[name] = value - line = FORMAT_STR_SET_ENV_VAR.format_map( - {'name': name, 'value': value}) - return [line] - - -def _set_if_unset(name, value): - global env_state - line = FORMAT_STR_SET_ENV_VAR.format_map( - {'name': name, 'value': value}) - if env_state.get(name, os.environ.get(name)): - line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) - return [line] - - -if __name__ == '__main__': # pragma: no cover - try: - rc = main() - except RuntimeError as e: - print(str(e), file=sys.stderr) - rc = 1 - sys.exit(rc) diff --git a/install/_local_setup_util_sh.py b/install/_local_setup_util_sh.py deleted file mode 100644 index f67eaa9..0000000 --- a/install/_local_setup_util_sh.py +++ /dev/null @@ -1,407 +0,0 @@ -# Copyright 2016-2019 Dirk Thomas -# Licensed under the Apache License, Version 2.0 - -import argparse -from collections import OrderedDict -import os -from pathlib import Path -import sys - - -FORMAT_STR_COMMENT_LINE = '# {comment}' -FORMAT_STR_SET_ENV_VAR = 'export {name}="{value}"' -FORMAT_STR_USE_ENV_VAR = '${name}' -FORMAT_STR_INVOKE_SCRIPT = 'COLCON_CURRENT_PREFIX="{prefix}" _colcon_prefix_sh_source_script "{script_path}"' # noqa: E501 -FORMAT_STR_REMOVE_LEADING_SEPARATOR = 'if [ "$(echo -n ${name} | head -c 1)" = ":" ]; then export {name}=${{{name}#?}} ; fi' # noqa: E501 -FORMAT_STR_REMOVE_TRAILING_SEPARATOR = 'if [ "$(echo -n ${name} | tail -c 1)" = ":" ]; then export {name}=${{{name}%?}} ; fi' # noqa: E501 - -DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate' -DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate' -DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists' -DSV_TYPE_SET = 'set' -DSV_TYPE_SET_IF_UNSET = 'set-if-unset' -DSV_TYPE_SOURCE = 'source' - - -def main(argv=sys.argv[1:]): # noqa: D103 - parser = argparse.ArgumentParser( - description='Output shell commands for the packages in topological ' - 'order') - parser.add_argument( - 'primary_extension', - help='The file extension of the primary shell') - parser.add_argument( - 'additional_extension', nargs='?', - help='The additional file extension to be considered') - parser.add_argument( - '--merged-install', action='store_true', - help='All install prefixes are merged into a single location') - args = parser.parse_args(argv) - - packages = get_packages(Path(__file__).parent, args.merged_install) - - ordered_packages = order_packages(packages) - for pkg_name in ordered_packages: - if _include_comments(): - print( - FORMAT_STR_COMMENT_LINE.format_map( - {'comment': 'Package: ' + pkg_name})) - prefix = os.path.abspath(os.path.dirname(__file__)) - if not args.merged_install: - prefix = os.path.join(prefix, pkg_name) - for line in get_commands( - pkg_name, prefix, args.primary_extension, - args.additional_extension - ): - print(line) - - for line in _remove_ending_separators(): - print(line) - - -def get_packages(prefix_path, merged_install): - """ - Find packages based on colcon-specific files created during installation. - - :param Path prefix_path: The install prefix path of all packages - :param bool merged_install: The flag if the packages are all installed - directly in the prefix or if each package is installed in a subdirectory - named after the package - :returns: A mapping from the package name to the set of runtime - dependencies - :rtype: dict - """ - packages = {} - # since importing colcon_core isn't feasible here the following constant - # must match colcon_core.location.get_relative_package_index_path() - subdirectory = 'share/colcon-core/packages' - if merged_install: - # return if workspace is empty - if not (prefix_path / subdirectory).is_dir(): - return packages - # find all files in the subdirectory - for p in (prefix_path / subdirectory).iterdir(): - if not p.is_file(): - continue - if p.name.startswith('.'): - continue - add_package_runtime_dependencies(p, packages) - else: - # for each subdirectory look for the package specific file - for p in prefix_path.iterdir(): - if not p.is_dir(): - continue - if p.name.startswith('.'): - continue - p = p / subdirectory / p.name - if p.is_file(): - add_package_runtime_dependencies(p, packages) - - # remove unknown dependencies - pkg_names = set(packages.keys()) - for k in packages.keys(): - packages[k] = {d for d in packages[k] if d in pkg_names} - - return packages - - -def add_package_runtime_dependencies(path, packages): - """ - Check the path and if it exists extract the packages runtime dependencies. - - :param Path path: The resource file containing the runtime dependencies - :param dict packages: A mapping from package names to the sets of runtime - dependencies to add to - """ - content = path.read_text() - dependencies = set(content.split(os.pathsep) if content else []) - packages[path.name] = dependencies - - -def order_packages(packages): - """ - Order packages topologically. - - :param dict packages: A mapping from package name to the set of runtime - dependencies - :returns: The package names - :rtype: list - """ - # select packages with no dependencies in alphabetical order - to_be_ordered = list(packages.keys()) - ordered = [] - while to_be_ordered: - pkg_names_without_deps = [ - name for name in to_be_ordered if not packages[name]] - if not pkg_names_without_deps: - reduce_cycle_set(packages) - raise RuntimeError( - 'Circular dependency between: ' + ', '.join(sorted(packages))) - pkg_names_without_deps.sort() - pkg_name = pkg_names_without_deps[0] - to_be_ordered.remove(pkg_name) - ordered.append(pkg_name) - # remove item from dependency lists - for k in list(packages.keys()): - if pkg_name in packages[k]: - packages[k].remove(pkg_name) - return ordered - - -def reduce_cycle_set(packages): - """ - Reduce the set of packages to the ones part of the circular dependency. - - :param dict packages: A mapping from package name to the set of runtime - dependencies which is modified in place - """ - last_depended = None - while len(packages) > 0: - # get all remaining dependencies - depended = set() - for pkg_name, dependencies in packages.items(): - depended = depended.union(dependencies) - # remove all packages which are not dependent on - for name in list(packages.keys()): - if name not in depended: - del packages[name] - if last_depended: - # if remaining packages haven't changed return them - if last_depended == depended: - return packages.keys() - # otherwise reduce again - last_depended = depended - - -def _include_comments(): - # skipping comment lines when COLCON_TRACE is not set speeds up the - # processing especially on Windows - return bool(os.environ.get('COLCON_TRACE')) - - -def get_commands(pkg_name, prefix, primary_extension, additional_extension): - commands = [] - package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv') - if os.path.exists(package_dsv_path): - commands += process_dsv_file( - package_dsv_path, prefix, primary_extension, additional_extension) - return commands - - -def process_dsv_file( - dsv_path, prefix, primary_extension=None, additional_extension=None -): - commands = [] - if _include_comments(): - commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path})) - with open(dsv_path, 'r') as h: - content = h.read() - lines = content.splitlines() - - basenames = OrderedDict() - for i, line in enumerate(lines): - # skip over empty or whitespace-only lines - if not line.strip(): - continue - # skip over comments - if line.startswith('#'): - continue - try: - type_, remainder = line.split(';', 1) - except ValueError: - raise RuntimeError( - "Line %d in '%s' doesn't contain a semicolon separating the " - 'type from the arguments' % (i + 1, dsv_path)) - if type_ != DSV_TYPE_SOURCE: - # handle non-source lines - try: - commands += handle_dsv_types_except_source( - type_, remainder, prefix) - except RuntimeError as e: - raise RuntimeError( - "Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e - else: - # group remaining source lines by basename - path_without_ext, ext = os.path.splitext(remainder) - if path_without_ext not in basenames: - basenames[path_without_ext] = set() - assert ext.startswith('.') - ext = ext[1:] - if ext in (primary_extension, additional_extension): - basenames[path_without_ext].add(ext) - - # add the dsv extension to each basename if the file exists - for basename, extensions in basenames.items(): - if not os.path.isabs(basename): - basename = os.path.join(prefix, basename) - if os.path.exists(basename + '.dsv'): - extensions.add('dsv') - - for basename, extensions in basenames.items(): - if not os.path.isabs(basename): - basename = os.path.join(prefix, basename) - if 'dsv' in extensions: - # process dsv files recursively - commands += process_dsv_file( - basename + '.dsv', prefix, primary_extension=primary_extension, - additional_extension=additional_extension) - elif primary_extension in extensions and len(extensions) == 1: - # source primary-only files - commands += [ - FORMAT_STR_INVOKE_SCRIPT.format_map({ - 'prefix': prefix, - 'script_path': basename + '.' + primary_extension})] - elif additional_extension in extensions: - # source non-primary files - commands += [ - FORMAT_STR_INVOKE_SCRIPT.format_map({ - 'prefix': prefix, - 'script_path': basename + '.' + additional_extension})] - - return commands - - -def handle_dsv_types_except_source(type_, remainder, prefix): - commands = [] - if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET): - try: - env_name, value = remainder.split(';', 1) - except ValueError: - raise RuntimeError( - "doesn't contain a semicolon separating the environment name " - 'from the value') - try_prefixed_value = os.path.join(prefix, value) if value else prefix - if os.path.exists(try_prefixed_value): - value = try_prefixed_value - if type_ == DSV_TYPE_SET: - commands += _set(env_name, value) - elif type_ == DSV_TYPE_SET_IF_UNSET: - commands += _set_if_unset(env_name, value) - else: - assert False - elif type_ in ( - DSV_TYPE_APPEND_NON_DUPLICATE, - DSV_TYPE_PREPEND_NON_DUPLICATE, - DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS - ): - try: - env_name_and_values = remainder.split(';') - except ValueError: - raise RuntimeError( - "doesn't contain a semicolon separating the environment name " - 'from the values') - env_name = env_name_and_values[0] - values = env_name_and_values[1:] - for value in values: - if not value: - value = prefix - elif not os.path.isabs(value): - value = os.path.join(prefix, value) - if ( - type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and - not os.path.exists(value) - ): - comment = f'skip extending {env_name} with not existing ' \ - f'path: {value}' - if _include_comments(): - commands.append( - FORMAT_STR_COMMENT_LINE.format_map({'comment': comment})) - elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE: - commands += _append_unique_value(env_name, value) - else: - commands += _prepend_unique_value(env_name, value) - else: - raise RuntimeError( - 'contains an unknown environment hook type: ' + type_) - return commands - - -env_state = {} - - -def _append_unique_value(name, value): - global env_state - if name not in env_state: - if os.environ.get(name): - env_state[name] = set(os.environ[name].split(os.pathsep)) - else: - env_state[name] = set() - # append even if the variable has not been set yet, in case a shell script sets the - # same variable without the knowledge of this Python script. - # later _remove_ending_separators() will cleanup any unintentional leading separator - extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep - line = FORMAT_STR_SET_ENV_VAR.format_map( - {'name': name, 'value': extend + value}) - if value not in env_state[name]: - env_state[name].add(value) - else: - if not _include_comments(): - return [] - line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) - return [line] - - -def _prepend_unique_value(name, value): - global env_state - if name not in env_state: - if os.environ.get(name): - env_state[name] = set(os.environ[name].split(os.pathsep)) - else: - env_state[name] = set() - # prepend even if the variable has not been set yet, in case a shell script sets the - # same variable without the knowledge of this Python script. - # later _remove_ending_separators() will cleanup any unintentional trailing separator - extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) - line = FORMAT_STR_SET_ENV_VAR.format_map( - {'name': name, 'value': value + extend}) - if value not in env_state[name]: - env_state[name].add(value) - else: - if not _include_comments(): - return [] - line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) - return [line] - - -# generate commands for removing prepended underscores -def _remove_ending_separators(): - # do nothing if the shell extension does not implement the logic - if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None: - return [] - - global env_state - commands = [] - for name in env_state: - # skip variables that already had values before this script started prepending - if name in os.environ: - continue - commands += [ - FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}), - FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})] - return commands - - -def _set(name, value): - global env_state - env_state[name] = value - line = FORMAT_STR_SET_ENV_VAR.format_map( - {'name': name, 'value': value}) - return [line] - - -def _set_if_unset(name, value): - global env_state - line = FORMAT_STR_SET_ENV_VAR.format_map( - {'name': name, 'value': value}) - if env_state.get(name, os.environ.get(name)): - line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) - return [line] - - -if __name__ == '__main__': # pragma: no cover - try: - rc = main() - except RuntimeError as e: - print(str(e), file=sys.stderr) - rc = 1 - sys.exit(rc) diff --git a/install/crane_plus_moveit_config/share/ament_index/resource_index/packages/crane_plus_moveit_config b/install/crane_plus_moveit_config/share/ament_index/resource_index/packages/crane_plus_moveit_config deleted file mode 100644 index e69de29..0000000 diff --git a/install/crane_plus_moveit_config/share/ament_index/resource_index/parent_prefix_path/crane_plus_moveit_config b/install/crane_plus_moveit_config/share/ament_index/resource_index/parent_prefix_path/crane_plus_moveit_config deleted file mode 100644 index 5516322..0000000 --- a/install/crane_plus_moveit_config/share/ament_index/resource_index/parent_prefix_path/crane_plus_moveit_config +++ /dev/null @@ -1 +0,0 @@ -/home/user/overlay_ws/install/crane_plus_moveit_config_new:/home/user/overlay_ws/install/crane_plus:/home/user/overlay_ws/install/crane_plus_gazebo:/home/user/overlay_ws/install/crane_plus_examples:/home/user/overlay_ws/install/crane_plus_moveit_config:/home/user/overlay_ws/install/crane_plus_control:/home/user/overlay_ws/install/crane_plus_description:/opt/ros/jazzy \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/colcon-core/packages/crane_plus_moveit_config b/install/crane_plus_moveit_config/share/colcon-core/packages/crane_plus_moveit_config deleted file mode 100644 index c3a13fb..0000000 --- a/install/crane_plus_moveit_config/share/colcon-core/packages/crane_plus_moveit_config +++ /dev/null @@ -1 +0,0 @@ -controller_manager:crane_plus_description:joint_state_publisher:joint_state_publisher_gui:moveit_configs_utils:moveit_kinematics:moveit_planners:moveit_ros_move_group:moveit_ros_visualization:moveit_ros_warehouse:moveit_setup_assistant:moveit_simple_controller_manager:robot_state_publisher:rviz2:rviz_common:rviz_default_plugins:tf2_ros:warehouse_ros_mongo:xacro \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/.setup_assistant b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/.setup_assistant deleted file mode 100644 index b7b0cc0..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/.setup_assistant +++ /dev/null @@ -1,10 +0,0 @@ -moveit_setup_assistant_config: - urdf: - package: crane_plus_description - relative_path: urdf/crane_plus.urdf.xacro - srdf: - relative_path: config/crane_plus.srdf - package_settings: - author_name: RT Corporation - author_email: shop@rt-net.jp - generated_timestamp: 1721806216 \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig-version.cmake b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig-version.cmake deleted file mode 100644 index 9678949..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig-version.cmake +++ /dev/null @@ -1,14 +0,0 @@ -# generated from ament/cmake/core/templates/nameConfig-version.cmake.in -set(PACKAGE_VERSION "0.3.0") - -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() diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig.cmake b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig.cmake deleted file mode 100644 index d79b905..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/cmake/crane_plus_moveit_configConfig.cmake +++ /dev/null @@ -1,42 +0,0 @@ -# generated from ament/cmake/core/templates/nameConfig.cmake.in - -# prevent multiple inclusion -if(_crane_plus_moveit_config_CONFIG_INCLUDED) - # ensure to keep the found flag the same - if(NOT DEFINED crane_plus_moveit_config_FOUND) - # explicitly set it to FALSE, otherwise CMake will set it to TRUE - set(crane_plus_moveit_config_FOUND FALSE) - elseif(NOT crane_plus_moveit_config_FOUND) - # use separate condition to avoid uninitialized variable warning - set(crane_plus_moveit_config_FOUND FALSE) - endif() - return() -endif() -set(_crane_plus_moveit_config_CONFIG_INCLUDED TRUE) - -# output package information -if(NOT crane_plus_moveit_config_FIND_QUIETLY) - message(STATUS "Found crane_plus_moveit_config: 0.3.0 (${crane_plus_moveit_config_DIR})") -endif() - -# warn when using a deprecated package -if(NOT "" STREQUAL "") - set(_msg "Package 'crane_plus_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 crane_plus_moveit_config_DEPRECATED_QUIET) - message(DEPRECATION "${_msg}") - endif() -endif() - -# flag package as ament-based to distinguish it after being find_package()-ed -set(crane_plus_moveit_config_FOUND_AMENT_PACKAGE TRUE) - -# include all config extra files -set(_extras "") -foreach(_extra ${_extras}) - include("${crane_plus_moveit_config_DIR}/${_extra}") -endforeach() diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/controllers.yaml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/controllers.yaml deleted file mode 100644 index e108e7b..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/controllers.yaml +++ /dev/null @@ -1,27 +0,0 @@ -trajectory_execution: - - allowed_execution_duration_scaling: 1.2 - - allowed_goal_duration_margin: 0.5 - - allowed_start_tolerance: 0.1 - -moveit_controller_manager: moveit_simple_controller_manager/MoveItSimpleControllerManager - -controller_names: - - crane_plus_arm_controller - - crane_plus_gripper_controller - -crane_plus_arm_controller: - action_ns: follow_joint_trajectory - type: FollowJointTrajectory - default: true - joints: - - crane_plus_joint1 - - crane_plus_joint2 - - crane_plus_joint3 - - crane_plus_joint4 - -crane_plus_gripper_controller: - action_ns: follow_joint_trajectory - type: FollowJointTrajectory - default: true - joints: - - crane_plus_joint_hand diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/crane_plus.srdf b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/crane_plus.srdf deleted file mode 100644 index af40281..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/crane_plus.srdf +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/joint_limits.yaml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/joint_limits.yaml deleted file mode 100644 index bd4b95a..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/joint_limits.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed - -# For beginners, we downscale velocity and acceleration limits. -# You can always specify higher scaling factors (<= 1.0) in your motion requests. # Increase the values below to 1.0 to always move at maximum speed. -default_velocity_scaling_factor: 0.1 -default_acceleration_scaling_factor: 0.1 - -# Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] -# Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] -joint_limits: - crane_plus_joint1: - has_velocity_limits: true - max_velocity: 2 - has_acceleration_limits: false - max_acceleration: 0 - crane_plus_joint2: - has_velocity_limits: true - max_velocity: 2 - has_acceleration_limits: false - max_acceleration: 0 - crane_plus_joint3: - has_velocity_limits: true - max_velocity: 2 - has_acceleration_limits: false - max_acceleration: 0 - crane_plus_joint4: - has_velocity_limits: true - max_velocity: 2 - has_acceleration_limits: false - max_acceleration: 0 - crane_plus_joint_hand: - has_velocity_limits: true - max_velocity: 2 - has_acceleration_limits: false - max_acceleration: 0 \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/kinematics.yaml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/kinematics.yaml deleted file mode 100644 index 193fbb9..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/kinematics.yaml +++ /dev/null @@ -1,4 +0,0 @@ -arm: - kinematics_solver: lma_kinematics_plugin/LMAKinematicsPlugin - kinematics_solver_search_resolution: 0.0050000000000000001 - kinematics_solver_timeout: 0.0050000000000000001 \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/moveit.rviz b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/moveit.rviz deleted file mode 100644 index f31651e..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/moveit.rviz +++ /dev/null @@ -1,51 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Name: Displays - Property Tree Widget: - Expanded: - - /MotionPlanning1 - - Class: rviz_common/Help - Name: Help - - Class: rviz_common/Views - Name: Views -Visualization Manager: - Displays: - - Class: rviz_default_plugins/Grid - Name: Grid - Value: true - - Class: moveit_rviz_plugin/MotionPlanning - Name: MotionPlanning - Planned Path: - Loop Animation: true - State Display Time: 0.05 s - Trajectory Topic: display_planned_path - Planning Scene Topic: monitored_planning_scene - Robot Description: robot_description - Scene Geometry: - Scene Alpha: 1 - Scene Robot: - Robot Alpha: 0.5 - Value: true - Global Options: - Fixed Frame: world - Tools: - - Class: rviz_default_plugins/Interact - - Class: rviz_default_plugins/MoveCamera - - Class: rviz_default_plugins/Select - Value: true - Views: - Current: - Class: rviz_default_plugins/Orbit - Distance: 2.0 - Focal Point: - X: -0.1 - Y: 0.25 - Z: 0.30 - Name: Current View - Pitch: 0.5 - Target Frame: world - Yaw: -0.623 -Window Geometry: - Height: 975 - QMainWindow State: 000000ff00000000fd0000000100000000000002b400000375fc0200000005fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100fffffffb000000100044006900730070006c006100790073010000003d00000123000000c900fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e00670100000166000001910000018800fffffffb0000000800480065006c0070000000029a0000006e0000006e00fffffffb0000000a0056006900650077007301000002fd000000b5000000a400ffffff000001f60000037500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Width: 1200 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/ompl_planning.yaml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/ompl_planning.yaml deleted file mode 100644 index f32aafd..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/ompl_planning.yaml +++ /dev/null @@ -1,196 +0,0 @@ -planning_plugins: - - ompl_interface/OMPLPlanner -# The order of the elements in the adapter corresponds to the order they are processed by the motion planning pipeline. -request_adapters: - # - default_planning_request_adapters/ResolveConstraintFrames - # - default_planning_request_adapters/ValidateWorkspaceBounds - # - default_planning_request_adapters/CheckStartStateBounds - # - default_planning_request_adapters/CheckStartStateCollision - - default_planning_request_adapters/AddTimeOptimalParameterization - - default_planning_request_adapters/FixWorkspaceBounds - - default_planning_request_adapters/FixStartStateBounds - - default_planning_request_adapters/FixStartStatePathConstraints -response_adapters: - # - default_planning_response_adapters/AddTimeOptimalParameterization - # - default_planning_response_adapters/ValidateSolution - # - default_planning_response_adapters/DisplayMotionPath - -start_state_max_bounds_error: 0.1 - -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 expresssion. 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 - -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 -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 \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml deleted file mode 100644 index b2997ca..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Limits for the Pilz planner -cartesian_limits: - max_trans_vel: 1.0 - max_trans_acc: 2.25 - max_trans_dec: -5.0 - max_rot_vel: 1.57 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/sensors_3d.yaml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/sensors_3d.yaml deleted file mode 100644 index 5d90e51..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/config/sensors_3d.yaml +++ /dev/null @@ -1,23 +0,0 @@ -sensors: - - kinect_pointcloud - - kinect_depthimage -kinect_pointcloud: - filtered_cloud_topic: filtered_cloud - max_range: 5.0 - max_update_rate: 1.0 - padding_offset: 0.1 - padding_scale: 1.0 - point_cloud_topic: /head_mount_kinect/depth_registered/points - point_subsample: 1 - sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater -kinect_depthimage: - far_clipping_plane_distance: 5.0 - filtered_cloud_topic: filtered_cloud - image_topic: /head_mount_kinect/depth_registered/image_raw - max_update_rate: 1.0 - near_clipping_plane_distance: 0.3 - padding_offset: 0.03 - padding_scale: 4.0 - queue_size: 5 - sensor_plugin: occupancy_map_monitor/DepthImageOctomapUpdater - shadow_threshold: 0.2 \ No newline at end of file diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.dsv b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.dsv deleted file mode 100644 index 79d4c95..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.dsv +++ /dev/null @@ -1 +0,0 @@ -prepend-non-duplicate;AMENT_PREFIX_PATH; diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.sh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.sh deleted file mode 100644 index 02e441b..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/ament_prefix_path.sh +++ /dev/null @@ -1,4 +0,0 @@ -# copied from -# ament_cmake_core/cmake/environment_hooks/environment/ament_prefix_path.sh - -ament_prepend_unique_value AMENT_PREFIX_PATH "$AMENT_CURRENT_PREFIX" diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.dsv b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.dsv deleted file mode 100644 index b94426a..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.dsv +++ /dev/null @@ -1 +0,0 @@ -prepend-non-duplicate-if-exists;PATH;bin diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.sh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.sh deleted file mode 100644 index e59b749..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/environment/path.sh +++ /dev/null @@ -1,5 +0,0 @@ -# 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 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.dsv b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.dsv deleted file mode 100644 index e119f32..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.dsv +++ /dev/null @@ -1 +0,0 @@ -prepend-non-duplicate;CMAKE_PREFIX_PATH; diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.ps1 b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.ps1 deleted file mode 100644 index d03facc..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.ps1 +++ /dev/null @@ -1,3 +0,0 @@ -# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em - -colcon_prepend_unique_value CMAKE_PREFIX_PATH "$env:COLCON_CURRENT_PREFIX" diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.sh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.sh deleted file mode 100644 index a948e68..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/hook/cmake_prefix_path.sh +++ /dev/null @@ -1,3 +0,0 @@ -# generated from colcon_core/shell/template/hook_prepend_value.sh.em - -_colcon_prepend_unique_value CMAKE_PREFIX_PATH "$COLCON_CURRENT_PREFIX" diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/demo.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/demo.launch.py deleted file mode 100644 index 2b134ee..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/demo.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_demo_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_demo_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/move_group.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/move_group.launch.py deleted file mode 100644 index d05ee6c..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/move_group.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_move_group_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_move_group_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/moveit_rviz.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/moveit_rviz.launch.py deleted file mode 100644 index 9034635..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/moveit_rviz.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_moveit_rviz_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_moveit_rviz_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/rsp.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/rsp.launch.py deleted file mode 100644 index 28439b3..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/rsp.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_rsp_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_rsp_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.launch.py deleted file mode 100644 index 398f880..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.launch.py +++ /dev/null @@ -1,237 +0,0 @@ -# Copyright 2020 RT Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import os - -from ament_index_python.packages import get_package_share_directory -from launch import LaunchDescription -from launch.actions import DeclareLaunchArgument -from launch.substitutions import LaunchConfiguration -from launch_ros.actions import Node -import yaml -from moveit_configs_utils import MoveItConfigsBuilder - -# from moveit_configs_utils.launches import generate_move_group_launch -# from moveit_configs_utils.launches import generate_moveit_rviz_launch -# from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch -# from moveit_configs_utils.launches import generate_rsp_launch - -# Reference: https://github.com/ros-planning/moveit2/blob/main/moveit_demo_nodes/ -# run_move_group/launch/run_move_group.launch.py - - -def load_file(package_name, file_path): - package_path = get_package_share_directory(package_name) - absolute_file_path = os.path.join(package_path, file_path) - - try: - with open(absolute_file_path, "r") as file: - return file.read() - except ( - EnvironmentError - ): # parent of IOError, OSError *and* WindowsError where available - return None - - -def load_yaml(package_name, file_path): - package_path = get_package_share_directory(package_name) - absolute_file_path = os.path.join(package_path, file_path) - - try: - with open(absolute_file_path, "r") as file: - return yaml.safe_load(file) - except ( - EnvironmentError - ): # parent of IOError, OSError *and* WindowsError where available - return None - -def generate_launch_description(): - declare_loaded_description = DeclareLaunchArgument( - "loaded_description", - default_value="", - description="Set robot_description text. \ - It is recommended to use RobotDescriptionLoader() in crane_plus_description.", - ) - - declare_rviz_config_file = DeclareLaunchArgument( - "rviz_config_file", - default_value=get_package_share_directory("crane_plus_moveit_config") - + "/launch/run_move_group.rviz", - description="Set the path to rviz configuration file.", - ) - - # robot_description = {"robot_description": LaunchConfiguration("loaded_description")} - - # robot_description_semantic_config = load_file( - # "crane_plus_moveit_config", "config/crane_plus.srdf" - # ) - # robot_description_semantic = { - # "robot_description_semantic": robot_description_semantic_config - # } - - # kinematics_yaml = load_yaml("crane_plus_moveit_config", "config/kinematics.yaml") - - # Planning Functionality - # ompl_planning_pipeline_config = {'move_group': { - # 'planning_plugin': 'ompl_interface/OMPLPlanner', - # 'request_adapters': 'default_planner_request_adapters/AddTimeOptimalParameterization \ - # default_planner_request_adapters/FixWorkspaceBounds \ - # default_planner_request_adapters/FixStartStateBounds \ - # default_planner_request_adapters/FixStartStateCollision \ - # default_planner_request_adapters/FixStartStatePathConstraints', - # 'start_state_max_bounds_error': 0.1}} - # ompl_planning_yaml = load_yaml('crane_plus_moveit_config', 'config/ompl_planning.yaml') - # ompl_planning_pipeline_config['move_group'].update(ompl_planning_yaml) - - # Trajectory Execution Functionality - # controllers_yaml = load_yaml('crane_plus_moveit_config', 'config/controllers.yaml') - # moveit_controllers = { - # 'moveit_simple_controller_manager': controllers_yaml, - # 'moveit_controller_manager': - # 'moveit_simple_controller_manager/MoveItSimpleControllerManager'} - - # trajectory_execution= {'moveit_manage_controllers': True, - # 'trajectory_execution.allowed_execution_duration_scaling': 1.2, - # 'trajectory_execution.allowed_goal_duration_margin': 0.5, - # 'trajectory_execution.allowed_start_tolerance': 0.1} - - # planning_scene_monitor_parameters = {'publish_planning_scene': True, - # 'publish_geometry_updates': True, - # 'publish_state_updates': True, - # 'publish_transforms_updates': True} - - - # MoveItConfigBuilderによるパラメータ設定 - moveit_config = ( - # ロボット名の定義 - MoveItConfigsBuilder("crane_plus") - # URDFの設定 - .robot_description( - mappings={"robot_description": LaunchConfiguration("loaded_description")} - ) - # SRDFの設定 - .robot_description_semantic(file_path="config/crane_plus.srdf") - # キネマティクスの設定 - .robot_description_kinematics(file_path="config/kinematics.yaml") - # 軌道計画のプラグイン設定 - .planning_pipelines( - pipelines=["ompl"], - default_planning_pipeline="ompl", - ) - # 軌道追従制御ノードの設定 - .trajectory_execution( - # file_path="controllers.yaml", - file_path="config/controllers.yaml", - moveit_manage_controllers=True, - ) - .joint_limits( - file_path="config/joint_limits.yaml" - ) - # Planning Sceneのトピックの設定 - .planning_scene_monitor( - publish_planning_scene=True, - publish_geometry_updates=True, - publish_state_updates=True, - publish_transforms_updates=True, - ).to_moveit_configs() - ) - - # Start the actual move_group node/action server - # run_move_group_node = Node(package='moveit_ros_move_group', - # executable='move_group', - # output='screen', - # parameters=[robot_description, - # robot_description_semantic, - # kinematics_yaml, - # ompl_planning_pipeline_config, - # trajectory_execution, - # moveit_controllers, - # planning_scene_monitor_parameters]) - - # Start the actual move_group node/action server - # パラメータをMoveItConfigsBuilderを使った渡し方に変更 - run_move_group_node = Node( - package="moveit_ros_move_group", - executable="move_group", - output="screen", - parameters=[moveit_config.to_dict()], - arguments=["--ros-args", "--log-level", "info"], - ) - - # RViz - rviz_config_file = LaunchConfiguration("rviz_config_file") - # rviz_node = Node(package='rviz2', - # executable='rviz2', - # name='rviz2', - # output='log', - # arguments=['-d', rviz_config_file], - # parameters=[robot_description, - # robot_description_semantic, - # ompl_planning_pipeline_config, - # kinematics_yaml]) - - # MoveitConfigsBuilderのparameter指定に書き直す - rviz_node = Node( - package="rviz2", - executable="rviz2", - name="rviz2", - output="log", - arguments=["-d", rviz_config_file], - parameters=[ - moveit_config.robot_description, - moveit_config.robot_description_semantic, - moveit_config.planning_pipelines, - moveit_config.robot_description_kinematics, - moveit_config.joint_limits, - ], - ) - - # Static TF - static_tf = Node( - package="tf2_ros", - executable="static_transform_publisher", - name="static_transform_publisher", - output="log", - arguments=["0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "world", "base_link"], - ) - - # Publish TF - # MoveitConfigsBuilderのparameter指定に書き直す - # robot_state_publisher = Node( - # package="robot_state_publisher", - # executable="robot_state_publisher", - # name="robot_state_publisher", - # output="both", - # parameters=[robot_description], - # ) - - # Publish TF - robot_state_publisher = Node( - package="robot_state_publisher", - executable="robot_state_publisher", - name="robot_state_publisher", - output="both", - parameters=[moveit_config.robot_description], - ) - - return LaunchDescription( - [ - declare_loaded_description, - declare_rviz_config_file, - run_move_group_node, - rviz_node, - static_tf, - robot_state_publisher, - ] - ) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.rviz b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.rviz deleted file mode 100644 index 44b5c6a..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/run_move_group.rviz +++ /dev/null @@ -1,351 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /MotionPlanning1 - - /Trajectory1 - Splitter Ratio: 0.5 - Tree Height: 295 - - 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: - Value: true - - Acceleration_Scaling_Factor: 1 - Class: moveit_rviz_plugin/MotionPlanning - Enabled: true - Move Group Namespace: "" - MoveIt_Allow_Approximate_IK: false - MoveIt_Allow_External_Program: false - MoveIt_Allow_Replanning: false - MoveIt_Allow_Sensor_Positioning: false - MoveIt_Goal_Tolerance: 0 - MoveIt_Planning_Attempts: 10 - MoveIt_Planning_Time: 5 - MoveIt_Use_Cartesian_Path: false - MoveIt_Use_Constraint_Aware_IK: true - 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 - base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - crane_plus_base: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link1: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link2: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link3: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link4: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link_hand: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - world: - Alpha: 1 - Show Axes: false - Show Trail: false - Loop Animation: false - Robot Alpha: 0.5 - Robot Color: 150; 50; 150 - Show Robot Collision: false - Show Robot Visual: true - Show Trail: false - State Display Time: 0.05 s - Trail Step Size: 1 - Trajectory Topic: /move_group/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: 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 - base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - crane_plus_base: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link1: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link2: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link3: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link4: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link_hand: - 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 - Velocity_Scaling_Factor: 1 - - 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 - crane_plus_base: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link1: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link2: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link3: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link4: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link_hand: - 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 - 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: 0.8449440598487854 - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: -0.04136588051915169 - Y: -0.017012163996696472 - Z: 0.08837244659662247 - Focal Shape Fixed Size: true - Focal Shape Size: 0.05000000074505806 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Pitch: 0.44539815187454224 - Target Frame: - Value: Orbit (rviz) - Yaw: 0.5553978681564331 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1056 - Hide Left Dock: false - Hide Right Dock: false - MotionPlanning: - collapsed: false - MotionPlanning - Trajectory Slider: - collapsed: false - QMainWindow State: 000000ff00000000fd000000040000000000000236000003c6fc020000000cfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d000001b2000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e006701000001f50000020e0000018900fffffffb000000280020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000000000000000fb0000003c005400720061006a006500630074006f007200790020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100ffffff000000010000010f000003c6fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d000003c6000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d006501000000000000045000000000000000000000042f000003c600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Tool Properties: - collapsed: false - Trajectory - Trajectory Slider: - collapsed: false - Views: - collapsed: false - Width: 1920 - X: 0 - Y: 0 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/setup_assistant.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/setup_assistant.launch.py deleted file mode 100644 index e16485a..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/setup_assistant.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_setup_assistant_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_setup_assistant_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/spawn_controllers.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/spawn_controllers.launch.py deleted file mode 100644 index 85a8dfc..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/spawn_controllers.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_spawn_controllers_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_spawn_controllers_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py deleted file mode 100644 index 7ff90d2..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_static_virtual_joint_tfs_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/warehouse_db.launch.py b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/warehouse_db.launch.py deleted file mode 100644 index 9298137..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/launch/warehouse_db.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_warehouse_db_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_warehouse_db_launch(moveit_config) diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.bash b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.bash deleted file mode 100644 index 49782f2..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.bash +++ /dev/null @@ -1,46 +0,0 @@ -# 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 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.dsv b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.dsv deleted file mode 100644 index a504757..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.dsv +++ /dev/null @@ -1,2 +0,0 @@ -source;share/crane_plus_moveit_config/environment/ament_prefix_path.sh -source;share/crane_plus_moveit_config/environment/path.sh diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.sh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.sh deleted file mode 100644 index 4f258b1..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.sh +++ /dev/null @@ -1,184 +0,0 @@ -# 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/user/overlay_ws/src/crane_plus/install/crane_plus_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/crane_plus_moveit_config/environment/ament_prefix_path.sh" -ament_append_value AMENT_ENVIRONMENT_HOOKS "$AMENT_CURRENT_PREFIX/share/crane_plus_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 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.zsh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.zsh deleted file mode 100644 index fe161be..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/local_setup.zsh +++ /dev/null @@ -1,59 +0,0 @@ -# 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 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.bash b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.bash deleted file mode 100644 index 27a9ab6..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.bash +++ /dev/null @@ -1,39 +0,0 @@ -# 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/crane_plus_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/crane_plus_moveit_config/local_setup.bash" - -unset COLCON_CURRENT_PREFIX - -unset _colcon_package_bash_source_script -unset _colcon_package_bash_COLCON_CURRENT_PREFIX diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.dsv b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.dsv deleted file mode 100644 index bf76ced..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.dsv +++ /dev/null @@ -1,8 +0,0 @@ -source;share/crane_plus_moveit_config/hook/cmake_prefix_path.ps1 -source;share/crane_plus_moveit_config/hook/cmake_prefix_path.dsv -source;share/crane_plus_moveit_config/hook/cmake_prefix_path.sh -source;share/crane_plus_moveit_config/local_setup.bash -source;share/crane_plus_moveit_config/local_setup.dsv -source;share/crane_plus_moveit_config/local_setup.ps1 -source;share/crane_plus_moveit_config/local_setup.sh -source;share/crane_plus_moveit_config/local_setup.zsh diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.ps1 b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.ps1 deleted file mode 100644 index 6e321cf..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.ps1 +++ /dev/null @@ -1,116 +0,0 @@ -# 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/crane_plus_moveit_config/hook/cmake_prefix_path.ps1" -colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/crane_plus_moveit_config/local_setup.ps1" - -Remove-Item Env:\COLCON_CURRENT_PREFIX diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.sh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.sh deleted file mode 100644 index 57bb435..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.sh +++ /dev/null @@ -1,87 +0,0 @@ -# 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/user/overlay_ws/src/crane_plus/install/crane_plus_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/crane_plus_moveit_config/hook/cmake_prefix_path.sh" -_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/crane_plus_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 diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.xml b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.xml deleted file mode 100644 index 108dd2c..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - crane_plus_moveit_config - 0.3.0 - - An automatically generated package with all the configuration and launch files for using the crane_plus with the MoveIt Motion Planning Framework - - RT Corporation - - BSD-3-Clause - - http://moveit.ros.org/ - https://github.com/moveit/moveit2/issues - https://github.com/moveit/moveit2 - - RT Corporation - - ament_cmake - - moveit_ros_move_group - moveit_kinematics - moveit_planners - moveit_simple_controller_manager - joint_state_publisher - joint_state_publisher_gui - tf2_ros - xacro - - - - controller_manager - crane_plus_description - moveit_configs_utils - moveit_ros_move_group - moveit_ros_visualization - moveit_ros_warehouse - moveit_setup_assistant - robot_state_publisher - rviz2 - rviz_common - rviz_default_plugins - tf2_ros - warehouse_ros_mongo - - - - ament_cmake - - diff --git a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.zsh b/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.zsh deleted file mode 100644 index 8e6006d..0000000 --- a/install/crane_plus_moveit_config/share/crane_plus_moveit_config/package.zsh +++ /dev/null @@ -1,50 +0,0 @@ -# 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/crane_plus_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/crane_plus_moveit_config/local_setup.zsh" - -unset COLCON_CURRENT_PREFIX - -unset _colcon_package_zsh_source_script -unset _colcon_package_zsh_COLCON_CURRENT_PREFIX diff --git a/install/local_setup.bash b/install/local_setup.bash deleted file mode 100644 index 03f0025..0000000 --- a/install/local_setup.bash +++ /dev/null @@ -1,121 +0,0 @@ -# generated from colcon_bash/shell/template/prefix.bash.em - -# This script extends the environment with all packages contained in this -# prefix path. - -# a bash script is able to determine its own path if necessary -if [ -z "$COLCON_CURRENT_PREFIX" ]; then - _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)" -else - _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" -fi - -# 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_prefix_bash_prepend_unique_value() { - # arguments - _listname="$1" - _value="$2" - - # get values from variable - eval _values=\"\$$_listname\" - # backup the field separator - _colcon_prefix_bash_prepend_unique_value_IFS="$IFS" - IFS=":" - # start with the new value - _all_values="$_value" - _contained_value="" - # 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 - _contained_value=1 - continue - fi - # keep non-duplicate values - _all_values="$_all_values:$_item" - done - unset _item - if [ -z "$_contained_value" ]; then - if [ -n "$COLCON_TRACE" ]; then - if [ "$_all_values" = "$_value" ]; then - echo "export $_listname=$_value" - else - echo "export $_listname=$_value:\$$_listname" - fi - fi - fi - unset _contained_value - # restore the field separator - IFS="$_colcon_prefix_bash_prepend_unique_value_IFS" - unset _colcon_prefix_bash_prepend_unique_value_IFS - # export the updated variable - eval export $_listname=\"$_all_values\" - unset _all_values - unset _values - - unset _value - unset _listname -} - -# add this prefix to the COLCON_PREFIX_PATH -_colcon_prefix_bash_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX" -unset _colcon_prefix_bash_prepend_unique_value - -# check environment variable for custom Python executable -if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then - if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then - echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist" - return 1 - fi - _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE" -else - # try the Python executable known at configure time - _colcon_python_executable="/usr/bin/python3" - # if it doesn't exist try a fall back - if [ ! -f "$_colcon_python_executable" ]; then - if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then - echo "error: unable to find python3 executable" - return 1 - fi - _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"` - fi -fi - -# function to source another script with conditional trace output -# first argument: the path of the script -_colcon_prefix_sh_source_script() { - if [ -f "$1" ]; then - if [ -n "$COLCON_TRACE" ]; then - echo "# . \"$1\"" - fi - . "$1" - else - echo "not found: \"$1\"" 1>&2 - fi -} - -# get all commands in topological order -_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh bash)" -unset _colcon_python_executable -if [ -n "$COLCON_TRACE" ]; then - echo "$(declare -f _colcon_prefix_sh_source_script)" - echo "# Execute generated script:" - echo "# <<<" - echo "${_colcon_ordered_commands}" - echo "# >>>" - echo "unset _colcon_prefix_sh_source_script" -fi -eval "${_colcon_ordered_commands}" -unset _colcon_ordered_commands - -unset _colcon_prefix_sh_source_script - -unset _colcon_prefix_bash_COLCON_CURRENT_PREFIX diff --git a/install/local_setup.ps1 b/install/local_setup.ps1 deleted file mode 100644 index 6f68c8d..0000000 --- a/install/local_setup.ps1 +++ /dev/null @@ -1,55 +0,0 @@ -# generated from colcon_powershell/shell/template/prefix.ps1.em - -# This script extends the environment with all packages contained in this -# prefix path. - -# check environment variable for custom Python executable -if ($env:COLCON_PYTHON_EXECUTABLE) { - if (!(Test-Path "$env:COLCON_PYTHON_EXECUTABLE" -PathType Leaf)) { - echo "error: COLCON_PYTHON_EXECUTABLE '$env:COLCON_PYTHON_EXECUTABLE' doesn't exist" - exit 1 - } - $_colcon_python_executable="$env:COLCON_PYTHON_EXECUTABLE" -} else { - # use the Python executable known at configure time - $_colcon_python_executable="/usr/bin/python3" - # if it doesn't exist try a fall back - if (!(Test-Path "$_colcon_python_executable" -PathType Leaf)) { - if (!(Get-Command "python3" -ErrorAction SilentlyContinue)) { - echo "error: unable to find python3 executable" - exit 1 - } - $_colcon_python_executable="python3" - } -} - -# function to source another script with conditional trace output -# first argument: the path of the script -function _colcon_prefix_powershell_source_script { - param ( - $_colcon_prefix_powershell_source_script_param - ) - # source script with conditional trace output - if (Test-Path $_colcon_prefix_powershell_source_script_param) { - if ($env:COLCON_TRACE) { - echo ". '$_colcon_prefix_powershell_source_script_param'" - } - . "$_colcon_prefix_powershell_source_script_param" - } else { - Write-Error "not found: '$_colcon_prefix_powershell_source_script_param'" - } -} - -# get all commands in topological order -$_colcon_ordered_commands = & "$_colcon_python_executable" "$(Split-Path $PSCommandPath -Parent)/_local_setup_util_ps1.py" ps1 - -# execute all commands in topological order -if ($env:COLCON_TRACE) { - echo "Execute generated script:" - echo "<<<" - $_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Write-Output - echo ">>>" -} -if ($_colcon_ordered_commands) { - $_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Invoke-Expression -} diff --git a/install/local_setup.sh b/install/local_setup.sh deleted file mode 100644 index 78e2b40..0000000 --- a/install/local_setup.sh +++ /dev/null @@ -1,137 +0,0 @@ -# generated from colcon_core/shell/template/prefix.sh.em - -# This script extends the environment with all packages contained in this -# prefix path. - -# 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_prefix_sh_COLCON_CURRENT_PREFIX="/home/user/overlay_ws/src/crane_plus/install" -if [ -z "$COLCON_CURRENT_PREFIX" ]; then - if [ ! -d "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX" ]; then - echo "The build time path \"$_colcon_prefix_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_prefix_sh_COLCON_CURRENT_PREFIX - return 1 - fi -else - _colcon_prefix_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" -fi - -# 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_prefix_sh_prepend_unique_value() { - # arguments - _listname="$1" - _value="$2" - - # get values from variable - eval _values=\"\$$_listname\" - # backup the field separator - _colcon_prefix_sh_prepend_unique_value_IFS="$IFS" - IFS=":" - # start with the new value - _all_values="$_value" - _contained_value="" - # 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 - _contained_value=1 - continue - fi - # keep non-duplicate values - _all_values="$_all_values:$_item" - done - unset _item - if [ -z "$_contained_value" ]; then - if [ -n "$COLCON_TRACE" ]; then - if [ "$_all_values" = "$_value" ]; then - echo "export $_listname=$_value" - else - echo "export $_listname=$_value:\$$_listname" - fi - fi - fi - unset _contained_value - # restore the field separator - IFS="$_colcon_prefix_sh_prepend_unique_value_IFS" - unset _colcon_prefix_sh_prepend_unique_value_IFS - # export the updated variable - eval export $_listname=\"$_all_values\" - unset _all_values - unset _values - - unset _value - unset _listname -} - -# add this prefix to the COLCON_PREFIX_PATH -_colcon_prefix_sh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX" -unset _colcon_prefix_sh_prepend_unique_value - -# check environment variable for custom Python executable -if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then - if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then - echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist" - return 1 - fi - _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE" -else - # try the Python executable known at configure time - _colcon_python_executable="/usr/bin/python3" - # if it doesn't exist try a fall back - if [ ! -f "$_colcon_python_executable" ]; then - if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then - echo "error: unable to find python3 executable" - return 1 - fi - _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"` - fi -fi - -# function to source another script with conditional trace output -# first argument: the path of the script -_colcon_prefix_sh_source_script() { - if [ -f "$1" ]; then - if [ -n "$COLCON_TRACE" ]; then - echo "# . \"$1\"" - fi - . "$1" - else - echo "not found: \"$1\"" 1>&2 - fi -} - -# get all commands in topological order -_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh)" -unset _colcon_python_executable -if [ -n "$COLCON_TRACE" ]; then - echo "_colcon_prefix_sh_source_script() { - if [ -f \"\$1\" ]; then - if [ -n \"\$COLCON_TRACE\" ]; then - echo \"# . \\\"\$1\\\"\" - fi - . \"\$1\" - else - echo \"not found: \\\"\$1\\\"\" 1>&2 - fi - }" - echo "# Execute generated script:" - echo "# <<<" - echo "${_colcon_ordered_commands}" - echo "# >>>" - echo "unset _colcon_prefix_sh_source_script" -fi -eval "${_colcon_ordered_commands}" -unset _colcon_ordered_commands - -unset _colcon_prefix_sh_source_script - -unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX diff --git a/install/local_setup.zsh b/install/local_setup.zsh deleted file mode 100644 index b648710..0000000 --- a/install/local_setup.zsh +++ /dev/null @@ -1,134 +0,0 @@ -# generated from colcon_zsh/shell/template/prefix.zsh.em - -# This script extends the environment with all packages contained in this -# prefix path. - -# a zsh script is able to determine its own path if necessary -if [ -z "$COLCON_CURRENT_PREFIX" ]; then - _colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)" -else - _colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" -fi - -# function to convert array-like strings into arrays -# to workaround SH_WORD_SPLIT not being set -_colcon_prefix_zsh_convert_to_array() { - local _listname=$1 - local _dollar="$" - local _split="{=" - local _to_array="(\"$_dollar$_split$_listname}\")" - eval $_listname=$_to_array -} - -# 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_prefix_zsh_prepend_unique_value() { - # arguments - _listname="$1" - _value="$2" - - # get values from variable - eval _values=\"\$$_listname\" - # backup the field separator - _colcon_prefix_zsh_prepend_unique_value_IFS="$IFS" - IFS=":" - # start with the new value - _all_values="$_value" - _contained_value="" - # workaround SH_WORD_SPLIT not being set - _colcon_prefix_zsh_convert_to_array _values - # 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 - _contained_value=1 - continue - fi - # keep non-duplicate values - _all_values="$_all_values:$_item" - done - unset _item - if [ -z "$_contained_value" ]; then - if [ -n "$COLCON_TRACE" ]; then - if [ "$_all_values" = "$_value" ]; then - echo "export $_listname=$_value" - else - echo "export $_listname=$_value:\$$_listname" - fi - fi - fi - unset _contained_value - # restore the field separator - IFS="$_colcon_prefix_zsh_prepend_unique_value_IFS" - unset _colcon_prefix_zsh_prepend_unique_value_IFS - # export the updated variable - eval export $_listname=\"$_all_values\" - unset _all_values - unset _values - - unset _value - unset _listname -} - -# add this prefix to the COLCON_PREFIX_PATH -_colcon_prefix_zsh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX" -unset _colcon_prefix_zsh_prepend_unique_value -unset _colcon_prefix_zsh_convert_to_array - -# check environment variable for custom Python executable -if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then - if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then - echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist" - return 1 - fi - _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE" -else - # try the Python executable known at configure time - _colcon_python_executable="/usr/bin/python3" - # if it doesn't exist try a fall back - if [ ! -f "$_colcon_python_executable" ]; then - if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then - echo "error: unable to find python3 executable" - return 1 - fi - _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"` - fi -fi - -# function to source another script with conditional trace output -# first argument: the path of the script -_colcon_prefix_sh_source_script() { - if [ -f "$1" ]; then - if [ -n "$COLCON_TRACE" ]; then - echo "# . \"$1\"" - fi - . "$1" - else - echo "not found: \"$1\"" 1>&2 - fi -} - -# get all commands in topological order -_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh zsh)" -unset _colcon_python_executable -if [ -n "$COLCON_TRACE" ]; then - echo "$(declare -f _colcon_prefix_sh_source_script)" - echo "# Execute generated script:" - echo "# <<<" - echo "${_colcon_ordered_commands}" - echo "# >>>" - echo "unset _colcon_prefix_sh_source_script" -fi -eval "${_colcon_ordered_commands}" -unset _colcon_ordered_commands - -unset _colcon_prefix_sh_source_script - -unset _colcon_prefix_zsh_COLCON_CURRENT_PREFIX diff --git a/install/setup.bash b/install/setup.bash deleted file mode 100644 index 07a556c..0000000 --- a/install/setup.bash +++ /dev/null @@ -1,34 +0,0 @@ -# generated from colcon_bash/shell/template/prefix_chain.bash.em - -# This script extends the environment with the environment of other prefix -# paths which were sourced when this file was generated as well as all packages -# contained in this prefix path. - -# function to source another script with conditional trace output -# first argument: the path of the script -_colcon_prefix_chain_bash_source_script() { - if [ -f "$1" ]; then - if [ -n "$COLCON_TRACE" ]; then - echo "# . \"$1\"" - fi - . "$1" - else - echo "not found: \"$1\"" 1>&2 - fi -} - -# source chained prefixes -# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script -COLCON_CURRENT_PREFIX="/opt/ros/jazzy" -_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash" -# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script -COLCON_CURRENT_PREFIX="/home/user/overlay_ws/install" -_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash" - -# source this prefix -# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script -COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)" -_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash" - -unset COLCON_CURRENT_PREFIX -unset _colcon_prefix_chain_bash_source_script diff --git a/install/setup.ps1 b/install/setup.ps1 deleted file mode 100644 index 2d91df9..0000000 --- a/install/setup.ps1 +++ /dev/null @@ -1,30 +0,0 @@ -# generated from colcon_powershell/shell/template/prefix_chain.ps1.em - -# This script extends the environment with the environment of other prefix -# paths which were sourced when this file was generated as well as all packages -# contained in this prefix path. - -# function to source another script with conditional trace output -# first argument: the path of the script -function _colcon_prefix_chain_powershell_source_script { - param ( - $_colcon_prefix_chain_powershell_source_script_param - ) - # source script with conditional trace output - if (Test-Path $_colcon_prefix_chain_powershell_source_script_param) { - if ($env:COLCON_TRACE) { - echo ". '$_colcon_prefix_chain_powershell_source_script_param'" - } - . "$_colcon_prefix_chain_powershell_source_script_param" - } else { - Write-Error "not found: '$_colcon_prefix_chain_powershell_source_script_param'" - } -} - -# source chained prefixes -_colcon_prefix_chain_powershell_source_script "/opt/ros/jazzy\local_setup.ps1" -_colcon_prefix_chain_powershell_source_script "/home/user/overlay_ws/install\local_setup.ps1" - -# source this prefix -$env:COLCON_CURRENT_PREFIX=(Split-Path $PSCommandPath -Parent) -_colcon_prefix_chain_powershell_source_script "$env:COLCON_CURRENT_PREFIX\local_setup.ps1" diff --git a/install/setup.sh b/install/setup.sh deleted file mode 100644 index 7879277..0000000 --- a/install/setup.sh +++ /dev/null @@ -1,49 +0,0 @@ -# generated from colcon_core/shell/template/prefix_chain.sh.em - -# This script extends the environment with the environment of other prefix -# paths which were sourced when this file was generated as well as all packages -# contained in this prefix path. - -# 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_prefix_chain_sh_COLCON_CURRENT_PREFIX=/home/user/overlay_ws/src/crane_plus/install -if [ ! -z "$COLCON_CURRENT_PREFIX" ]; then - _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" -elif [ ! -d "$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX" ]; then - echo "The build time path \"$_colcon_prefix_chain_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_prefix_chain_sh_COLCON_CURRENT_PREFIX - return 1 -fi - -# function to source another script with conditional trace output -# first argument: the path of the script -_colcon_prefix_chain_sh_source_script() { - if [ -f "$1" ]; then - if [ -n "$COLCON_TRACE" ]; then - echo "# . \"$1\"" - fi - . "$1" - else - echo "not found: \"$1\"" 1>&2 - fi -} - -# source chained prefixes -# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script -COLCON_CURRENT_PREFIX="/opt/ros/jazzy" -_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh" - -# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script -COLCON_CURRENT_PREFIX="/home/user/overlay_ws/install" -_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh" - - -# source this prefix -# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script -COLCON_CURRENT_PREFIX="$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX" -_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh" - -unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX -unset _colcon_prefix_chain_sh_source_script -unset COLCON_CURRENT_PREFIX diff --git a/install/setup.zsh b/install/setup.zsh deleted file mode 100644 index 99962a2..0000000 --- a/install/setup.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# generated from colcon_zsh/shell/template/prefix_chain.zsh.em - -# This script extends the environment with the environment of other prefix -# paths which were sourced when this file was generated as well as all packages -# contained in this prefix path. - -# function to source another script with conditional trace output -# first argument: the path of the script -_colcon_prefix_chain_zsh_source_script() { - if [ -f "$1" ]; then - if [ -n "$COLCON_TRACE" ]; then - echo "# . \"$1\"" - fi - . "$1" - else - echo "not found: \"$1\"" 1>&2 - fi -} - -# source chained prefixes -# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script -COLCON_CURRENT_PREFIX="/opt/ros/jazzy" -_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh" -# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script -COLCON_CURRENT_PREFIX="/home/user/overlay_ws/install" -_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh" - -# source this prefix -# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script -COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)" -_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh" - -unset COLCON_CURRENT_PREFIX -unset _colcon_prefix_chain_zsh_source_script diff --git a/log/COLCON_IGNORE b/log/COLCON_IGNORE deleted file mode 100644 index e69de29..0000000 diff --git a/log/latest b/log/latest deleted file mode 120000 index b57d247..0000000 --- a/log/latest +++ /dev/null @@ -1 +0,0 @@ -latest_build \ No newline at end of file diff --git a/log/latest_build b/log/latest_build deleted file mode 120000 index 2552edd..0000000 --- a/log/latest_build +++ /dev/null @@ -1 +0,0 @@ -build_2024-07-24_16-33-58 \ No newline at end of file From 89bdf8bee350a57c33853a64b430158667c5555e Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Tue, 13 Aug 2024 12:40:44 +0900 Subject: [PATCH 04/41] =?UTF-8?q?crane=5Fplus=5Fmoveit=5Fconfig/launch?= =?UTF-8?q?=E3=81=AE=E4=B8=AD=E3=81=AE=E4=B8=8D=E8=A6=81=E3=83=95=E3=82=A1?= =?UTF-8?q?=E3=82=A4=E3=83=AB=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 10 +++++++++- crane_plus_moveit_config/launch/demo.launch.py | 7 ------- crane_plus_moveit_config/launch/move_group.launch.py | 7 ------- crane_plus_moveit_config/launch/moveit_rviz.launch.py | 7 ------- crane_plus_moveit_config/launch/rsp.launch.py | 7 ------- .../launch/setup_assistant.launch.py | 7 ------- .../launch/spawn_controllers.launch.py | 7 ------- .../launch/static_virtual_joint_tfs.launch.py | 7 ------- crane_plus_moveit_config/launch/warehouse_db.launch.py | 7 ------- 9 files changed, 9 insertions(+), 57 deletions(-) delete mode 100755 crane_plus_moveit_config/launch/demo.launch.py delete mode 100755 crane_plus_moveit_config/launch/move_group.launch.py delete mode 100755 crane_plus_moveit_config/launch/moveit_rviz.launch.py delete mode 100755 crane_plus_moveit_config/launch/rsp.launch.py delete mode 100755 crane_plus_moveit_config/launch/setup_assistant.launch.py delete mode 100755 crane_plus_moveit_config/launch/spawn_controllers.launch.py delete mode 100755 crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py delete mode 100755 crane_plus_moveit_config/launch/warehouse_db.launch.py diff --git a/.gitignore b/.gitignore index 6d61153..36a17eb 100755 --- a/.gitignore +++ b/.gitignore @@ -61,6 +61,14 @@ target/ # unnecessary crane_plus_moveit_config/.setup_assistant +crane_plus_moveit_config/launch/demo.launch.py +crane_plus_moveit_config/launch/move_group.launch.py +crane_plus_moveit_config/launch/rsp.launch.py +crane_plus_moveit_config/launch/setup_assistant.launch.py +crane_plus_moveit_config/launch/spawn_controllers.launch.py +crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py +crane_plus_moveit_config/launch/warehouse_db.launch.py +crane_plus_moveit_config/launch/moveit_rviz.launch.py install/ log/ -crane_plus_examples/scripts/ +crane_plus_examples/scripts diff --git a/crane_plus_moveit_config/launch/demo.launch.py b/crane_plus_moveit_config/launch/demo.launch.py deleted file mode 100755 index 2b134ee..0000000 --- a/crane_plus_moveit_config/launch/demo.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_demo_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_demo_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/move_group.launch.py b/crane_plus_moveit_config/launch/move_group.launch.py deleted file mode 100755 index d05ee6c..0000000 --- a/crane_plus_moveit_config/launch/move_group.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_move_group_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_move_group_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/moveit_rviz.launch.py b/crane_plus_moveit_config/launch/moveit_rviz.launch.py deleted file mode 100755 index 9034635..0000000 --- a/crane_plus_moveit_config/launch/moveit_rviz.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_moveit_rviz_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_moveit_rviz_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/rsp.launch.py b/crane_plus_moveit_config/launch/rsp.launch.py deleted file mode 100755 index 28439b3..0000000 --- a/crane_plus_moveit_config/launch/rsp.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_rsp_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_rsp_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/setup_assistant.launch.py b/crane_plus_moveit_config/launch/setup_assistant.launch.py deleted file mode 100755 index e16485a..0000000 --- a/crane_plus_moveit_config/launch/setup_assistant.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_setup_assistant_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_setup_assistant_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/spawn_controllers.launch.py b/crane_plus_moveit_config/launch/spawn_controllers.launch.py deleted file mode 100755 index 85a8dfc..0000000 --- a/crane_plus_moveit_config/launch/spawn_controllers.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_spawn_controllers_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_spawn_controllers_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py b/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py deleted file mode 100755 index 7ff90d2..0000000 --- a/crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_static_virtual_joint_tfs_launch(moveit_config) diff --git a/crane_plus_moveit_config/launch/warehouse_db.launch.py b/crane_plus_moveit_config/launch/warehouse_db.launch.py deleted file mode 100755 index 9298137..0000000 --- a/crane_plus_moveit_config/launch/warehouse_db.launch.py +++ /dev/null @@ -1,7 +0,0 @@ -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launches import generate_warehouse_db_launch - - -def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() - return generate_warehouse_db_launch(moveit_config) From 96186f6938ca26495de608cf72a06be35fa237d8 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 15 Aug 2024 10:16:27 +0900 Subject: [PATCH 05/41] =?UTF-8?q?default=5F***=5Fscaling=5Ffactor=E3=82=92?= =?UTF-8?q?0.1->1.0=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/config/joint_limits.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crane_plus_moveit_config/config/joint_limits.yaml b/crane_plus_moveit_config/config/joint_limits.yaml index 4554480..20737bc 100755 --- a/crane_plus_moveit_config/config/joint_limits.yaml +++ b/crane_plus_moveit_config/config/joint_limits.yaml @@ -2,8 +2,8 @@ # 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 +default_velocity_scaling_factor: 1.0 +default_acceleration_scaling_factor: 1.0 # 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] From e3898ed5bc34ef72d3746108e66a49e137a9c173 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 15 Aug 2024 11:33:16 +0900 Subject: [PATCH 06/41] =?UTF-8?q?setup=20assistant=E3=81=AB=E3=82=88?= =?UTF-8?q?=E3=82=8B=E6=9B=B8=E6=8F=9B=E3=82=8F=E3=82=8A=E3=82=92=E5=85=83?= =?UTF-8?q?=E3=81=AE=E6=9B=B8=E3=81=8D=E6=96=B9=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/CMakeLists.txt | 20 ++++++++++++-------- crane_plus_moveit_config/package.xml | 18 +++++++++--------- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/crane_plus_moveit_config/CMakeLists.txt b/crane_plus_moveit_config/CMakeLists.txt index 895a3c1..20da915 100755 --- a/crane_plus_moveit_config/CMakeLists.txt +++ b/crane_plus_moveit_config/CMakeLists.txt @@ -1,13 +1,17 @@ -cmake_minimum_required(VERSION 3.22) +cmake_minimum_required(VERSION 3.5) project(crane_plus_moveit_config) find_package(ament_cmake REQUIRED) -ament_package() +install(DIRECTORY + launch + config + DESTINATION share/${PROJECT_NAME}/ +) -install( - DIRECTORY launch - DESTINATION share/${PROJECT_NAME} - PATTERN "setup_assistant.launch" EXCLUDE) -install(DIRECTORY config DESTINATION share/${PROJECT_NAME}) -install(FILES .setup_assistant DESTINATION share/${PROJECT_NAME}) +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + ament_lint_auto_find_test_dependencies() +endif() + +ament_package() \ No newline at end of file diff --git a/crane_plus_moveit_config/package.xml b/crane_plus_moveit_config/package.xml index d4e6741..5e8554b 100755 --- a/crane_plus_moveit_config/package.xml +++ b/crane_plus_moveit_config/package.xml @@ -2,20 +2,18 @@ crane_plus_moveit_config - 0.3.0 - - An automatically generated package with all the configuration and launch files for using the crane_plus with the MoveIt Motion Planning Framework - + 2.0.1 + CRANE+ V2 move_group config package RT Corporation - - BSD-3-Clause + Apache License 2.0 + Shota Aoki + Atsushi Kuwagata + Nozomi Mizoguchi http://moveit.ros.org/ https://github.com/moveit/moveit2/issues https://github.com/moveit/moveit2 - RT Corporation - ament_cmake moveit_ros_move_group @@ -40,7 +38,9 @@ tf2_ros warehouse_ros_mongo - + ament_lint_auto + ament_lint_common + ament_cmake From 553e522b344d6e94c1ed00cc1ef7ca1be738aae3 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 15 Aug 2024 11:48:51 +0900 Subject: [PATCH 07/41] =?UTF-8?q?example=E3=81=AEdemo.lauch=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_examples/launch/demo.launch.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crane_plus_examples/launch/demo.launch.py b/crane_plus_examples/launch/demo.launch.py index 49e90d0..17cd579 100755 --- a/crane_plus_examples/launch/demo.launch.py +++ b/crane_plus_examples/launch/demo.launch.py @@ -30,6 +30,7 @@ def generate_launch_description(): default_value='/dev/ttyUSB0', description='Set port name.' ) + declare_use_camera = DeclareLaunchArgument( 'use_camera', default_value='false', @@ -96,5 +97,7 @@ def generate_launch_description(): declare_use_camera, declare_video_device, move_group, + move_group_camera, control_node, + usb_cam_node ]) From 384f2b49b70fd742e88e7390cc5f0dc46d9b0560 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 15 Aug 2024 13:55:12 +0900 Subject: [PATCH 08/41] =?UTF-8?q?run=5Fmove=5Fgroup.rviz=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../launch/run_move_group.rviz | 351 ------------------ 1 file changed, 351 deletions(-) delete mode 100755 crane_plus_moveit_config/launch/run_move_group.rviz diff --git a/crane_plus_moveit_config/launch/run_move_group.rviz b/crane_plus_moveit_config/launch/run_move_group.rviz deleted file mode 100755 index 44b5c6a..0000000 --- a/crane_plus_moveit_config/launch/run_move_group.rviz +++ /dev/null @@ -1,351 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /MotionPlanning1 - - /Trajectory1 - Splitter Ratio: 0.5 - Tree Height: 295 - - 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: - Value: true - - Acceleration_Scaling_Factor: 1 - Class: moveit_rviz_plugin/MotionPlanning - Enabled: true - Move Group Namespace: "" - MoveIt_Allow_Approximate_IK: false - MoveIt_Allow_External_Program: false - MoveIt_Allow_Replanning: false - MoveIt_Allow_Sensor_Positioning: false - MoveIt_Goal_Tolerance: 0 - MoveIt_Planning_Attempts: 10 - MoveIt_Planning_Time: 5 - MoveIt_Use_Cartesian_Path: false - MoveIt_Use_Constraint_Aware_IK: true - 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 - base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - crane_plus_base: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link1: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link2: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link3: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link4: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link_hand: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - world: - Alpha: 1 - Show Axes: false - Show Trail: false - Loop Animation: false - Robot Alpha: 0.5 - Robot Color: 150; 50; 150 - Show Robot Collision: false - Show Robot Visual: true - Show Trail: false - State Display Time: 0.05 s - Trail Step Size: 1 - Trajectory Topic: /move_group/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: 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 - base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - crane_plus_base: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link1: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link2: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link3: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link4: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link_hand: - 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 - Velocity_Scaling_Factor: 1 - - 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 - crane_plus_base: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link1: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link2: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link3: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link4: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - crane_plus_link_hand: - 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 - 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: 0.8449440598487854 - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: -0.04136588051915169 - Y: -0.017012163996696472 - Z: 0.08837244659662247 - Focal Shape Fixed Size: true - Focal Shape Size: 0.05000000074505806 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Pitch: 0.44539815187454224 - Target Frame: - Value: Orbit (rviz) - Yaw: 0.5553978681564331 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1056 - Hide Left Dock: false - Hide Right Dock: false - MotionPlanning: - collapsed: false - MotionPlanning - Trajectory Slider: - collapsed: false - QMainWindow State: 000000ff00000000fd000000040000000000000236000003c6fc020000000cfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d000001b2000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e006701000001f50000020e0000018900fffffffb000000280020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000000000000000fb0000003c005400720061006a006500630074006f007200790020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100ffffff000000010000010f000003c6fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d000003c6000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d006501000000000000045000000000000000000000042f000003c600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Tool Properties: - collapsed: false - Trajectory - Trajectory Slider: - collapsed: false - Views: - collapsed: false - Width: 1920 - X: 0 - Y: 0 From 7147e27211a90f4350125b2c3cca576bc33e4594 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 15 Aug 2024 14:02:53 +0900 Subject: [PATCH 09/41] =?UTF-8?q?sensors=5F3d.yaml=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/sensors_3d.yaml | 24 ------------------- 1 file changed, 24 deletions(-) delete mode 100755 crane_plus_moveit_config/config/sensors_3d.yaml diff --git a/crane_plus_moveit_config/config/sensors_3d.yaml b/crane_plus_moveit_config/config/sensors_3d.yaml deleted file mode 100755 index ab5c1e1..0000000 --- a/crane_plus_moveit_config/config/sensors_3d.yaml +++ /dev/null @@ -1,24 +0,0 @@ -sensors: - - kinect_pointcloud - - kinect_depthimage -kinect_pointcloud: - filtered_cloud_topic: filtered_cloud - max_range: 5.0 - max_update_rate: 1.0 - padding_offset: 0.1 - padding_scale: 1.0 - point_cloud_topic: /head_mount_kinect/depth_registered/points - point_subsample: 1 - sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater -kinect_depthimage: - far_clipping_plane_distance: 5.0 - filtered_cloud_topic: filtered_cloud - image_topic: /head_mount_kinect/depth_registered/image_raw - max_update_rate: 1.0 - near_clipping_plane_distance: 0.3 - padding_offset: 0.03 - padding_scale: 4.0 - queue_size: 5 - sensor_plugin: occupancy_map_monitor/DepthImageOctomapUpdater - shadow_threshold: 0.2 - \ No newline at end of file From de86b8d600d939983f231aff9550cc9f6b72a217 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 15 Aug 2024 14:09:53 +0900 Subject: [PATCH 10/41] =?UTF-8?q?solver=E3=82=92=E5=85=83=E3=81=AB?= =?UTF-8?q?=E6=88=BB=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/config/kinematics.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/crane_plus_moveit_config/config/kinematics.yaml b/crane_plus_moveit_config/config/kinematics.yaml index c9fd73d..084a052 100755 --- a/crane_plus_moveit_config/config/kinematics.yaml +++ b/crane_plus_moveit_config/config/kinematics.yaml @@ -1,6 +1,5 @@ arm: - kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin + kinematics_solver: lma_kinematics_plugin/LMAKinematicsPlugin + kinematics_solver_attempts: 10 kinematics_solver_search_resolution: 0.005 - kinematics_solver_timeout: 0.005 - kinematics_solver_attempts: 3 - \ No newline at end of file + kinematics_solver_timeout: 0.005 From 0314d62217dc86198108e66ec8a6a3c6434bb816 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 15 Aug 2024 14:39:44 +0900 Subject: [PATCH 11/41] =?UTF-8?q?.gitignore=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/.gitignore b/.gitignore index 36a17eb..04d4c3a 100755 --- a/.gitignore +++ b/.gitignore @@ -56,19 +56,4 @@ docs/_build/ # PyBuilder target/ .pytest_cache - .vscode - -# unnecessary -crane_plus_moveit_config/.setup_assistant -crane_plus_moveit_config/launch/demo.launch.py -crane_plus_moveit_config/launch/move_group.launch.py -crane_plus_moveit_config/launch/rsp.launch.py -crane_plus_moveit_config/launch/setup_assistant.launch.py -crane_plus_moveit_config/launch/spawn_controllers.launch.py -crane_plus_moveit_config/launch/static_virtual_joint_tfs.launch.py -crane_plus_moveit_config/launch/warehouse_db.launch.py -crane_plus_moveit_config/launch/moveit_rviz.launch.py -install/ -log/ -crane_plus_examples/scripts From 185c6bd36a2364602c0819326c0ae0eb393275c5 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 15 Aug 2024 14:43:03 +0900 Subject: [PATCH 12/41] =?UTF-8?q?setup=5Fassistant=E9=96=A2=E9=80=A3?= =?UTF-8?q?=E3=81=AE=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/.setup_assistant | 25 +++++++++++++++++++ .../launch/setup_assistant.launch.py | 7 ++++++ 2 files changed, 32 insertions(+) create mode 100755 crane_plus_moveit_config/.setup_assistant create mode 100755 crane_plus_moveit_config/launch/setup_assistant.launch.py diff --git a/crane_plus_moveit_config/.setup_assistant b/crane_plus_moveit_config/.setup_assistant new file mode 100755 index 0000000..3058c8a --- /dev/null +++ b/crane_plus_moveit_config/.setup_assistant @@ -0,0 +1,25 @@ +moveit_setup_assistant_config: + urdf: + package: crane_plus_description + relative_path: urdf/crane_plus.urdf.xacro + srdf: + relative_path: config/crane_plus.srdf + package_settings: + author_name: RT Corporation + author_email: shop@rt-net.jp + generated_timestamp: 1721799427 + control_xacro: + command: + - position + state: + - position + - velocity + modified_urdf: + xacros: + - control_xacro + control_xacro: + command: + - position + state: + - position + - velocity \ No newline at end of file diff --git a/crane_plus_moveit_config/launch/setup_assistant.launch.py b/crane_plus_moveit_config/launch/setup_assistant.launch.py new file mode 100755 index 0000000..e16485a --- /dev/null +++ b/crane_plus_moveit_config/launch/setup_assistant.launch.py @@ -0,0 +1,7 @@ +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launches import generate_setup_assistant_launch + + +def generate_launch_description(): + moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + return generate_setup_assistant_launch(moveit_config) From 2e0161004d0cb2ea3bdbbcc54c3c2e39b7d6334d Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 15 Aug 2024 14:47:36 +0900 Subject: [PATCH 13/41] =?UTF-8?q?ci=E3=81=AEjazzy=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/industrial_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/industrial_ci.yml b/.github/workflows/industrial_ci.yml index f539e58..d809d96 100755 --- a/.github/workflows/industrial_ci.yml +++ b/.github/workflows/industrial_ci.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: env: - - { ROS_DISTRO: humble, ROS_REPO: ros } + - { ROS_DISTRO: jazzy, ROS_REPO: ros } runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 From 4ba5ed88b306955f014e7611ae8d3414857937da Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 15 Aug 2024 16:25:37 +0900 Subject: [PATCH 14/41] =?UTF-8?q?run=5Fmove=5Ffroup.lauch.py=E3=81=AE?= =?UTF-8?q?=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../launch/run_move_group.launch.py | 76 ++++++------------- 1 file changed, 23 insertions(+), 53 deletions(-) diff --git a/crane_plus_moveit_config/launch/run_move_group.launch.py b/crane_plus_moveit_config/launch/run_move_group.launch.py index fb4e9a8..e20593c 100755 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -18,26 +18,13 @@ from launch import LaunchDescription from launch.actions import DeclareLaunchArgument from launch.substitutions import LaunchConfiguration -from launch_ros.actions import Node import yaml from moveit_configs_utils import MoveItConfigsBuilder - from moveit_configs_utils.launches import generate_move_group_launch from moveit_configs_utils.launches import generate_moveit_rviz_launch - from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch - from moveit_configs_utils.launches import generate_rsp_launch - -from moveit_configs_utils.launch_utils import ( - add_debuggable_node, - DeclareBooleanLaunchArg, -) - - -# Reference: https://github.com/ros-planning/moveit2/blob/main/moveit_demo_nodes/ -# run_move_group/launch/run_move_group.launch.py - +from moveit_configs_utils.launch_utils import DeclareBooleanLaunchArg def load_file(package_name, file_path): package_path = get_package_share_directory(package_name) @@ -77,11 +64,23 @@ def generate_launch_description(): ld.add_action(declare_loaded_description) - # MoveItConfigBuilderによるパラメータ設定 + ld.add_action(DeclareBooleanLaunchArg("debug", default_value=False)) + + ld.add_action( + DeclareLaunchArgument( + "rviz_config", + default_value=get_package_share_directory("crane_plus_moveit_config") + + "/config/moveit.rviz", + description="Set the path to rviz configuration file.", + ) + ) + moveit_config = ( - # ロボット名の定義 MoveItConfigsBuilder("crane_plus") - # URDFの設定 + .planning_scene_monitor( + publish_robot_description=True, + publish_robot_description_semantic=True, + ) .robot_description( file_path=os.path.join( get_package_share_directory("crane_plus_description"), @@ -90,29 +89,15 @@ def generate_launch_description(): ), mappings={}, ) - # SRDFの設定 .robot_description_semantic( file_path="config/crane_plus.srdf", mappings={"model": "crane_plus"}, ) .joint_limits(file_path="config/joint_limits.yaml") - # Planning Sceneのトピックの設定 - .planning_scene_monitor( - publish_planning_scene=True, - publish_geometry_updates=True, - publish_state_updates=True, - publish_transforms_updates=True, - publish_robot_description=True, - publish_robot_description_semantic=True, - ) - # 軌道追従制御ノードの設定 .trajectory_execution( - file_path="config/controllers.yaml", - moveit_manage_controllers=True + file_path="config/controllers.yaml", moveit_manage_controllers=True ) - # 軌道計画のプラグイン設定 - .planning_pipelines(pipelines=["ompl"], default_planning_pipeline="ompl") - # キネマティクスの設定 + .planning_pipelines(pipelines=["ompl"]) .robot_description_kinematics(file_path="config/kinematics.yaml") .to_moveit_configs() ) @@ -121,33 +106,18 @@ def generate_launch_description(): "robot_description": LaunchConfiguration("loaded_description") } - moveit_config.move_group_capabilities = {"capabilities": ""} + moveit_config.move_group_capabilities = { + "capabilities": "" + } # Move group ld.add_entity(generate_move_group_launch(moveit_config)) # RViz ld.add_entity(generate_moveit_rviz_launch(moveit_config)) - ld.add_action(DeclareBooleanLaunchArg("debug", default_value=False)) - ld.add_action( - DeclareLaunchArgument( - "rviz_config", - default_value=get_package_share_directory("crane_plus_moveit_config") - + "/config/moveit.rviz", - description="Set the path to rviz configuration file.", - ) - ) - + # Static TF - ld.add_action( - Node( - package="tf2_ros", - executable="static_transform_publisher", - name="static_transform_publisher", - output="log", - arguments=["0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "world", "base_link"], - ) - ) + ld.add_entity(generate_static_virtual_joint_tfs_launch(moveit_config)) # Publish TF ld.add_entity(generate_rsp_launch(moveit_config)) From 92f9340b576988bf84dbc8cb0a7e968561ac542f Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 15 Aug 2024 17:50:00 +0900 Subject: [PATCH 15/41] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E6=A8=A9?= =?UTF-8?q?=E9=99=90=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .docker/README.md | 0 .docker/source/Dockerfile | 0 .dockerignore | 0 .github/workflows/build_docker_image.yml | 0 LICENSE | 0 README.md | 0 crane_plus/CHANGELOG.rst | 0 crane_plus/CMakeLists.txt | 0 crane_plus/package.xml | 0 crane_plus_control/CMakeLists.txt | 0 crane_plus_control/README.md | 0 .../config/crane_plus_controllers.yaml | 0 crane_plus_control/crane_plus_hardware.xml | 0 .../crane_plus_control/crane_plus_driver.hpp | 0 .../crane_plus_hardware.hpp | 0 .../crane_plus_control/visibility_control.h | 0 .../launch/crane_plus_control.launch.py | 0 crane_plus_control/package.xml | 0 crane_plus_control/src/crane_plus_driver.cpp | 0 .../src/crane_plus_hardware.cpp | 0 crane_plus_description/CHANGELOG.rst | 0 crane_plus_description/CMakeLists.txt | 0 crane_plus_description/README.md | 0 .../crane_plus_description/__init__.py | 0 .../launch/display.launch.py | 0 crane_plus_description/launch/display.rviz | 0 .../collision/Hand_collision_20201013.stl | Bin .../collision/Link1_collision_20201013.stl | Bin .../collision/Link2_collision_20201013.stl | Bin .../collision/Link3_collision_20201013.stl | Bin .../collision/Link4_collision_20201013.stl | Bin .../collision/body_collision_20201013.stl | Bin .../meshes/visual/Hand_20201013.stl | Bin .../meshes/visual/Link1_20201013.stl | Bin .../meshes/visual/Link2_20201013.stl | Bin .../meshes/visual/Link3_20201013.stl | Bin .../meshes/visual/Link4_20201013.stl | Bin .../meshes/visual/body_20201013.stl | Bin .../test/dummy_controllers.yaml | 0 .../test/test_robot_description_loader.py | 0 crane_plus_description/urdf/camera.urdf.xacro | 0 .../urdf/camera_stand.urdf.xacro | 0 .../urdf/crane_plus.gazebo.xacro | 0 .../urdf/crane_plus.gazebo_ros2_control.xacro | 0 .../urdf/crane_plus.ros2_control.xacro | 0 .../urdf/crane_plus.urdf.xacro | 0 crane_plus_description/urdf/crane_plus.xacro | 0 crane_plus_examples/CHANGELOG.rst | 0 crane_plus_examples/CMakeLists.txt | 0 crane_plus_examples/README.md | 0 crane_plus_examples/aruco_markers.pdf | Bin crane_plus_examples/config/camera_info.yaml | 0 .../launch/camera_example.launch.py | 0 .../launch/camera_example.rviz | 0 crane_plus_examples/launch/demo.launch.py | 0 crane_plus_examples/launch/example.launch.py | 0 crane_plus_examples/package.xml | 0 .../scripts/aruco_detection.py | 51 ++++++++++++++++++ .../scripts/color_detection.py | 14 +++++ .../scripts/gripper_control.py | 48 +++++++++++++++++ crane_plus_examples/scripts/joint_values.py | 14 +++++ crane_plus_examples/scripts/pick_and_place.py | 14 +++++ .../scripts/pick_and_place_tf.py | 14 +++++ .../scripts/pose_groupstate.py | 14 +++++ crane_plus_examples/src/aruco_detection.cpp | 0 crane_plus_examples/src/color_detection.cpp | 0 crane_plus_examples/src/gripper_control.cpp | 0 crane_plus_examples/src/joint_values.cpp | 0 crane_plus_examples/src/pick_and_place.cpp | 0 crane_plus_examples/src/pick_and_place_tf.cpp | 0 crane_plus_examples/src/pose_groupstate.cpp | 0 crane_plus_gazebo/CHANGELOG.rst | 0 crane_plus_gazebo/CMakeLists.txt | 0 crane_plus_gazebo/README.md | 0 crane_plus_gazebo/gui/gui.config | 0 .../launch/crane_plus_with_table.launch.py | 0 crane_plus_gazebo/package.xml | 0 crane_plus_gazebo/worlds/table.sdf | 0 crane_plus_moveit_config/.setup_assistant | 0 crane_plus_moveit_config/CHANGELOG.rst | 0 crane_plus_moveit_config/CMakeLists.txt | 0 crane_plus_moveit_config/README.md | 0 .../config/controllers.yaml | 0 .../config/crane_plus.srdf | 0 .../config/joint_limits.yaml | 0 .../config/kinematics.yaml | 11 ++-- crane_plus_moveit_config/config/moveit.rviz | 0 .../config/ompl_planning.yaml | 0 .../config/pilz_cartesian_limits.yaml | 0 89 files changed, 177 insertions(+), 3 deletions(-) mode change 100755 => 100644 .docker/README.md mode change 100755 => 100644 .docker/source/Dockerfile mode change 100755 => 100644 .dockerignore mode change 100755 => 100644 .github/workflows/build_docker_image.yml mode change 100755 => 100644 LICENSE mode change 100755 => 100644 README.md mode change 100755 => 100644 crane_plus/CHANGELOG.rst mode change 100755 => 100644 crane_plus/CMakeLists.txt mode change 100755 => 100644 crane_plus/package.xml mode change 100755 => 100644 crane_plus_control/CMakeLists.txt mode change 100755 => 100644 crane_plus_control/README.md mode change 100755 => 100644 crane_plus_control/config/crane_plus_controllers.yaml mode change 100755 => 100644 crane_plus_control/crane_plus_hardware.xml mode change 100755 => 100644 crane_plus_control/include/crane_plus_control/crane_plus_driver.hpp mode change 100755 => 100644 crane_plus_control/include/crane_plus_control/crane_plus_hardware.hpp mode change 100755 => 100644 crane_plus_control/include/crane_plus_control/visibility_control.h mode change 100755 => 100644 crane_plus_control/launch/crane_plus_control.launch.py mode change 100755 => 100644 crane_plus_control/package.xml mode change 100755 => 100644 crane_plus_control/src/crane_plus_driver.cpp mode change 100755 => 100644 crane_plus_control/src/crane_plus_hardware.cpp mode change 100755 => 100644 crane_plus_description/CHANGELOG.rst mode change 100755 => 100644 crane_plus_description/CMakeLists.txt mode change 100755 => 100644 crane_plus_description/README.md mode change 100755 => 100644 crane_plus_description/crane_plus_description/__init__.py mode change 100755 => 100644 crane_plus_description/launch/display.launch.py mode change 100755 => 100644 crane_plus_description/launch/display.rviz mode change 100755 => 100644 crane_plus_description/meshes/collision/Hand_collision_20201013.stl mode change 100755 => 100644 crane_plus_description/meshes/collision/Link1_collision_20201013.stl mode change 100755 => 100644 crane_plus_description/meshes/collision/Link2_collision_20201013.stl mode change 100755 => 100644 crane_plus_description/meshes/collision/Link3_collision_20201013.stl mode change 100755 => 100644 crane_plus_description/meshes/collision/Link4_collision_20201013.stl mode change 100755 => 100644 crane_plus_description/meshes/collision/body_collision_20201013.stl mode change 100755 => 100644 crane_plus_description/meshes/visual/Hand_20201013.stl mode change 100755 => 100644 crane_plus_description/meshes/visual/Link1_20201013.stl mode change 100755 => 100644 crane_plus_description/meshes/visual/Link2_20201013.stl mode change 100755 => 100644 crane_plus_description/meshes/visual/Link3_20201013.stl mode change 100755 => 100644 crane_plus_description/meshes/visual/Link4_20201013.stl mode change 100755 => 100644 crane_plus_description/meshes/visual/body_20201013.stl mode change 100755 => 100644 crane_plus_description/test/dummy_controllers.yaml mode change 100755 => 100644 crane_plus_description/test/test_robot_description_loader.py mode change 100755 => 100644 crane_plus_description/urdf/camera.urdf.xacro mode change 100755 => 100644 crane_plus_description/urdf/camera_stand.urdf.xacro mode change 100755 => 100644 crane_plus_description/urdf/crane_plus.gazebo.xacro mode change 100755 => 100644 crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro mode change 100755 => 100644 crane_plus_description/urdf/crane_plus.ros2_control.xacro mode change 100755 => 100644 crane_plus_description/urdf/crane_plus.urdf.xacro mode change 100755 => 100644 crane_plus_description/urdf/crane_plus.xacro mode change 100755 => 100644 crane_plus_examples/CHANGELOG.rst mode change 100755 => 100644 crane_plus_examples/CMakeLists.txt mode change 100755 => 100644 crane_plus_examples/README.md mode change 100755 => 100644 crane_plus_examples/aruco_markers.pdf mode change 100755 => 100644 crane_plus_examples/config/camera_info.yaml mode change 100755 => 100644 crane_plus_examples/launch/camera_example.launch.py mode change 100755 => 100644 crane_plus_examples/launch/camera_example.rviz mode change 100755 => 100644 crane_plus_examples/launch/demo.launch.py mode change 100755 => 100644 crane_plus_examples/launch/example.launch.py mode change 100755 => 100644 crane_plus_examples/package.xml create mode 100644 crane_plus_examples/scripts/aruco_detection.py create mode 100644 crane_plus_examples/scripts/color_detection.py create mode 100644 crane_plus_examples/scripts/gripper_control.py create mode 100644 crane_plus_examples/scripts/joint_values.py create mode 100644 crane_plus_examples/scripts/pick_and_place.py create mode 100644 crane_plus_examples/scripts/pick_and_place_tf.py create mode 100644 crane_plus_examples/scripts/pose_groupstate.py mode change 100755 => 100644 crane_plus_examples/src/aruco_detection.cpp mode change 100755 => 100644 crane_plus_examples/src/color_detection.cpp mode change 100755 => 100644 crane_plus_examples/src/gripper_control.cpp mode change 100755 => 100644 crane_plus_examples/src/joint_values.cpp mode change 100755 => 100644 crane_plus_examples/src/pick_and_place.cpp mode change 100755 => 100644 crane_plus_examples/src/pick_and_place_tf.cpp mode change 100755 => 100644 crane_plus_examples/src/pose_groupstate.cpp mode change 100755 => 100644 crane_plus_gazebo/CHANGELOG.rst mode change 100755 => 100644 crane_plus_gazebo/CMakeLists.txt mode change 100755 => 100644 crane_plus_gazebo/README.md mode change 100755 => 100644 crane_plus_gazebo/gui/gui.config mode change 100755 => 100644 crane_plus_gazebo/launch/crane_plus_with_table.launch.py mode change 100755 => 100644 crane_plus_gazebo/package.xml mode change 100755 => 100644 crane_plus_gazebo/worlds/table.sdf mode change 100755 => 100644 crane_plus_moveit_config/.setup_assistant mode change 100755 => 100644 crane_plus_moveit_config/CHANGELOG.rst mode change 100755 => 100644 crane_plus_moveit_config/CMakeLists.txt mode change 100755 => 100644 crane_plus_moveit_config/README.md mode change 100755 => 100644 crane_plus_moveit_config/config/controllers.yaml mode change 100755 => 100644 crane_plus_moveit_config/config/crane_plus.srdf mode change 100755 => 100644 crane_plus_moveit_config/config/joint_limits.yaml mode change 100755 => 100644 crane_plus_moveit_config/config/kinematics.yaml mode change 100755 => 100644 crane_plus_moveit_config/config/moveit.rviz mode change 100755 => 100644 crane_plus_moveit_config/config/ompl_planning.yaml mode change 100755 => 100644 crane_plus_moveit_config/config/pilz_cartesian_limits.yaml diff --git a/.docker/README.md b/.docker/README.md old mode 100755 new mode 100644 diff --git a/.docker/source/Dockerfile b/.docker/source/Dockerfile old mode 100755 new mode 100644 diff --git a/.dockerignore b/.dockerignore old mode 100755 new mode 100644 diff --git a/.github/workflows/build_docker_image.yml b/.github/workflows/build_docker_image.yml old mode 100755 new mode 100644 diff --git a/LICENSE b/LICENSE old mode 100755 new mode 100644 diff --git a/README.md b/README.md old mode 100755 new mode 100644 diff --git a/crane_plus/CHANGELOG.rst b/crane_plus/CHANGELOG.rst old mode 100755 new mode 100644 diff --git a/crane_plus/CMakeLists.txt b/crane_plus/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/crane_plus/package.xml b/crane_plus/package.xml old mode 100755 new mode 100644 diff --git a/crane_plus_control/CMakeLists.txt b/crane_plus_control/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/crane_plus_control/README.md b/crane_plus_control/README.md old mode 100755 new mode 100644 diff --git a/crane_plus_control/config/crane_plus_controllers.yaml b/crane_plus_control/config/crane_plus_controllers.yaml old mode 100755 new mode 100644 diff --git a/crane_plus_control/crane_plus_hardware.xml b/crane_plus_control/crane_plus_hardware.xml old mode 100755 new mode 100644 diff --git a/crane_plus_control/include/crane_plus_control/crane_plus_driver.hpp b/crane_plus_control/include/crane_plus_control/crane_plus_driver.hpp old mode 100755 new mode 100644 diff --git a/crane_plus_control/include/crane_plus_control/crane_plus_hardware.hpp b/crane_plus_control/include/crane_plus_control/crane_plus_hardware.hpp old mode 100755 new mode 100644 diff --git a/crane_plus_control/include/crane_plus_control/visibility_control.h b/crane_plus_control/include/crane_plus_control/visibility_control.h old mode 100755 new mode 100644 diff --git a/crane_plus_control/launch/crane_plus_control.launch.py b/crane_plus_control/launch/crane_plus_control.launch.py old mode 100755 new mode 100644 diff --git a/crane_plus_control/package.xml b/crane_plus_control/package.xml old mode 100755 new mode 100644 diff --git a/crane_plus_control/src/crane_plus_driver.cpp b/crane_plus_control/src/crane_plus_driver.cpp old mode 100755 new mode 100644 diff --git a/crane_plus_control/src/crane_plus_hardware.cpp b/crane_plus_control/src/crane_plus_hardware.cpp old mode 100755 new mode 100644 diff --git a/crane_plus_description/CHANGELOG.rst b/crane_plus_description/CHANGELOG.rst old mode 100755 new mode 100644 diff --git a/crane_plus_description/CMakeLists.txt b/crane_plus_description/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/crane_plus_description/README.md b/crane_plus_description/README.md old mode 100755 new mode 100644 diff --git a/crane_plus_description/crane_plus_description/__init__.py b/crane_plus_description/crane_plus_description/__init__.py old mode 100755 new mode 100644 diff --git a/crane_plus_description/launch/display.launch.py b/crane_plus_description/launch/display.launch.py old mode 100755 new mode 100644 diff --git a/crane_plus_description/launch/display.rviz b/crane_plus_description/launch/display.rviz old mode 100755 new mode 100644 diff --git a/crane_plus_description/meshes/collision/Hand_collision_20201013.stl b/crane_plus_description/meshes/collision/Hand_collision_20201013.stl old mode 100755 new mode 100644 diff --git a/crane_plus_description/meshes/collision/Link1_collision_20201013.stl b/crane_plus_description/meshes/collision/Link1_collision_20201013.stl old mode 100755 new mode 100644 diff --git a/crane_plus_description/meshes/collision/Link2_collision_20201013.stl b/crane_plus_description/meshes/collision/Link2_collision_20201013.stl old mode 100755 new mode 100644 diff --git a/crane_plus_description/meshes/collision/Link3_collision_20201013.stl b/crane_plus_description/meshes/collision/Link3_collision_20201013.stl old mode 100755 new mode 100644 diff --git a/crane_plus_description/meshes/collision/Link4_collision_20201013.stl b/crane_plus_description/meshes/collision/Link4_collision_20201013.stl old mode 100755 new mode 100644 diff --git a/crane_plus_description/meshes/collision/body_collision_20201013.stl b/crane_plus_description/meshes/collision/body_collision_20201013.stl old mode 100755 new mode 100644 diff --git a/crane_plus_description/meshes/visual/Hand_20201013.stl b/crane_plus_description/meshes/visual/Hand_20201013.stl old mode 100755 new mode 100644 diff --git a/crane_plus_description/meshes/visual/Link1_20201013.stl b/crane_plus_description/meshes/visual/Link1_20201013.stl old mode 100755 new mode 100644 diff --git a/crane_plus_description/meshes/visual/Link2_20201013.stl b/crane_plus_description/meshes/visual/Link2_20201013.stl old mode 100755 new mode 100644 diff --git a/crane_plus_description/meshes/visual/Link3_20201013.stl b/crane_plus_description/meshes/visual/Link3_20201013.stl old mode 100755 new mode 100644 diff --git a/crane_plus_description/meshes/visual/Link4_20201013.stl b/crane_plus_description/meshes/visual/Link4_20201013.stl old mode 100755 new mode 100644 diff --git a/crane_plus_description/meshes/visual/body_20201013.stl b/crane_plus_description/meshes/visual/body_20201013.stl old mode 100755 new mode 100644 diff --git a/crane_plus_description/test/dummy_controllers.yaml b/crane_plus_description/test/dummy_controllers.yaml old mode 100755 new mode 100644 diff --git a/crane_plus_description/test/test_robot_description_loader.py b/crane_plus_description/test/test_robot_description_loader.py old mode 100755 new mode 100644 diff --git a/crane_plus_description/urdf/camera.urdf.xacro b/crane_plus_description/urdf/camera.urdf.xacro old mode 100755 new mode 100644 diff --git a/crane_plus_description/urdf/camera_stand.urdf.xacro b/crane_plus_description/urdf/camera_stand.urdf.xacro old mode 100755 new mode 100644 diff --git a/crane_plus_description/urdf/crane_plus.gazebo.xacro b/crane_plus_description/urdf/crane_plus.gazebo.xacro old mode 100755 new mode 100644 diff --git a/crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro b/crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro old mode 100755 new mode 100644 diff --git a/crane_plus_description/urdf/crane_plus.ros2_control.xacro b/crane_plus_description/urdf/crane_plus.ros2_control.xacro old mode 100755 new mode 100644 diff --git a/crane_plus_description/urdf/crane_plus.urdf.xacro b/crane_plus_description/urdf/crane_plus.urdf.xacro old mode 100755 new mode 100644 diff --git a/crane_plus_description/urdf/crane_plus.xacro b/crane_plus_description/urdf/crane_plus.xacro old mode 100755 new mode 100644 diff --git a/crane_plus_examples/CHANGELOG.rst b/crane_plus_examples/CHANGELOG.rst old mode 100755 new mode 100644 diff --git a/crane_plus_examples/CMakeLists.txt b/crane_plus_examples/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/crane_plus_examples/README.md b/crane_plus_examples/README.md old mode 100755 new mode 100644 diff --git a/crane_plus_examples/aruco_markers.pdf b/crane_plus_examples/aruco_markers.pdf old mode 100755 new mode 100644 diff --git a/crane_plus_examples/config/camera_info.yaml b/crane_plus_examples/config/camera_info.yaml old mode 100755 new mode 100644 diff --git a/crane_plus_examples/launch/camera_example.launch.py b/crane_plus_examples/launch/camera_example.launch.py old mode 100755 new mode 100644 diff --git a/crane_plus_examples/launch/camera_example.rviz b/crane_plus_examples/launch/camera_example.rviz old mode 100755 new mode 100644 diff --git a/crane_plus_examples/launch/demo.launch.py b/crane_plus_examples/launch/demo.launch.py old mode 100755 new mode 100644 diff --git a/crane_plus_examples/launch/example.launch.py b/crane_plus_examples/launch/example.launch.py old mode 100755 new mode 100644 diff --git a/crane_plus_examples/package.xml b/crane_plus_examples/package.xml old mode 100755 new mode 100644 diff --git a/crane_plus_examples/scripts/aruco_detection.py b/crane_plus_examples/scripts/aruco_detection.py new file mode 100644 index 0000000..e549d42 --- /dev/null +++ b/crane_plus_examples/scripts/aruco_detection.py @@ -0,0 +1,51 @@ +import rclpy +from rclpy.node import Node + +import math + +# from std_msgs.msg import String +from geometry_msgs.msg import TransformStamped +from sensor_msgs.msg import CameraInfo +from sensor_msgs.msg import Image +import cv2 +from cv_bridge import CvBridge +from geometry_msgs.msg import Quaternion +import tf2_ros + + +class ImageSubscriber(Node): + def __init__(self): + super().__init__("aruco_detection") + self.image_subscription = self.create_subscription( + Image, "image_raw", self.listener_callback, 10 + ) + self.image_subscription # prevent unused variable warning + + self.camera_info_subscription = self.create_subscription( + Image, "camera_info", self.listener_callback, 10 + ) + self.camera_info_subscription # prevent unused variable warning + + self.camera_info = None + + def image_callback(self, msg): + self.get_logger().info('I heard: "%s"' % msg.data) + + def camera_info_callback(self, msg): + self.get_logger().info('I heard: "%s"' % msg.data) + +def main(args=None): + rclpy.init(args=args) + + image_subscriber = ImageSubscriber() + rclpy.spin(image_subscriber) + + # Destroy the node explicitly + # (optional - otherwise it will be done automatically + # when the garbage collector destroys the node object) + image_subscriber.destroy_node() + rclpy.shutdown() + + +if __name__ == "__main__": + main() diff --git a/crane_plus_examples/scripts/color_detection.py b/crane_plus_examples/scripts/color_detection.py new file mode 100644 index 0000000..4ca7027 --- /dev/null +++ b/crane_plus_examples/scripts/color_detection.py @@ -0,0 +1,14 @@ +import rclpy +from rclpy.executors import ExternalShutdownException +from rclpy.node import Node + +from std_msgs.msg import String + + + +def main(args=None): + try: + except: + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/crane_plus_examples/scripts/gripper_control.py b/crane_plus_examples/scripts/gripper_control.py new file mode 100644 index 0000000..37ec8e7 --- /dev/null +++ b/crane_plus_examples/scripts/gripper_control.py @@ -0,0 +1,48 @@ +import math + +import rclpy +from rclpy.executors import ExternalShutdownException +from rclpy.node import Node +from std_msgs.msg import String + + +# generic ros libraries +from rclpy.logging import get_logger + +# moveit python library +from moveit.core.robot_state import RobotState +from moveit.planning import ( + MoveItPy, + MultiPipelinePlanRequestParameters, +) + +from config import moveit_config + +def to_radians(deg_angle): + return deg_angle * math.pi / 180.0 + + +def main(args=None): + # ros2の初期化 + rclpy.init(args=args) + + # ロガー生成 + logger = get_logger("gripper_control") + + # MoveItPy初期化 + crane_plus = MoveItPy(node_name="moveit_py", config_dict=moveit_config) + crane_plus_gripper = crane_plus.get_planning_component("gripper") + logger.info("MoveItPy instance created") + + + + + + + + # MoveItPyの終了 + crane_plus.shutdown() + + # rclpy.shutdown() +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/crane_plus_examples/scripts/joint_values.py b/crane_plus_examples/scripts/joint_values.py new file mode 100644 index 0000000..4ca7027 --- /dev/null +++ b/crane_plus_examples/scripts/joint_values.py @@ -0,0 +1,14 @@ +import rclpy +from rclpy.executors import ExternalShutdownException +from rclpy.node import Node + +from std_msgs.msg import String + + + +def main(args=None): + try: + except: + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/crane_plus_examples/scripts/pick_and_place.py b/crane_plus_examples/scripts/pick_and_place.py new file mode 100644 index 0000000..4ca7027 --- /dev/null +++ b/crane_plus_examples/scripts/pick_and_place.py @@ -0,0 +1,14 @@ +import rclpy +from rclpy.executors import ExternalShutdownException +from rclpy.node import Node + +from std_msgs.msg import String + + + +def main(args=None): + try: + except: + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/crane_plus_examples/scripts/pick_and_place_tf.py b/crane_plus_examples/scripts/pick_and_place_tf.py new file mode 100644 index 0000000..4ca7027 --- /dev/null +++ b/crane_plus_examples/scripts/pick_and_place_tf.py @@ -0,0 +1,14 @@ +import rclpy +from rclpy.executors import ExternalShutdownException +from rclpy.node import Node + +from std_msgs.msg import String + + + +def main(args=None): + try: + except: + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/crane_plus_examples/scripts/pose_groupstate.py b/crane_plus_examples/scripts/pose_groupstate.py new file mode 100644 index 0000000..4ca7027 --- /dev/null +++ b/crane_plus_examples/scripts/pose_groupstate.py @@ -0,0 +1,14 @@ +import rclpy +from rclpy.executors import ExternalShutdownException +from rclpy.node import Node + +from std_msgs.msg import String + + + +def main(args=None): + try: + except: + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/crane_plus_examples/src/aruco_detection.cpp b/crane_plus_examples/src/aruco_detection.cpp old mode 100755 new mode 100644 diff --git a/crane_plus_examples/src/color_detection.cpp b/crane_plus_examples/src/color_detection.cpp old mode 100755 new mode 100644 diff --git a/crane_plus_examples/src/gripper_control.cpp b/crane_plus_examples/src/gripper_control.cpp old mode 100755 new mode 100644 diff --git a/crane_plus_examples/src/joint_values.cpp b/crane_plus_examples/src/joint_values.cpp old mode 100755 new mode 100644 diff --git a/crane_plus_examples/src/pick_and_place.cpp b/crane_plus_examples/src/pick_and_place.cpp old mode 100755 new mode 100644 diff --git a/crane_plus_examples/src/pick_and_place_tf.cpp b/crane_plus_examples/src/pick_and_place_tf.cpp old mode 100755 new mode 100644 diff --git a/crane_plus_examples/src/pose_groupstate.cpp b/crane_plus_examples/src/pose_groupstate.cpp old mode 100755 new mode 100644 diff --git a/crane_plus_gazebo/CHANGELOG.rst b/crane_plus_gazebo/CHANGELOG.rst old mode 100755 new mode 100644 diff --git a/crane_plus_gazebo/CMakeLists.txt b/crane_plus_gazebo/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/crane_plus_gazebo/README.md b/crane_plus_gazebo/README.md old mode 100755 new mode 100644 diff --git a/crane_plus_gazebo/gui/gui.config b/crane_plus_gazebo/gui/gui.config old mode 100755 new mode 100644 diff --git a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py old mode 100755 new mode 100644 diff --git a/crane_plus_gazebo/package.xml b/crane_plus_gazebo/package.xml old mode 100755 new mode 100644 diff --git a/crane_plus_gazebo/worlds/table.sdf b/crane_plus_gazebo/worlds/table.sdf old mode 100755 new mode 100644 diff --git a/crane_plus_moveit_config/.setup_assistant b/crane_plus_moveit_config/.setup_assistant old mode 100755 new mode 100644 diff --git a/crane_plus_moveit_config/CHANGELOG.rst b/crane_plus_moveit_config/CHANGELOG.rst old mode 100755 new mode 100644 diff --git a/crane_plus_moveit_config/CMakeLists.txt b/crane_plus_moveit_config/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/crane_plus_moveit_config/README.md b/crane_plus_moveit_config/README.md old mode 100755 new mode 100644 diff --git a/crane_plus_moveit_config/config/controllers.yaml b/crane_plus_moveit_config/config/controllers.yaml old mode 100755 new mode 100644 diff --git a/crane_plus_moveit_config/config/crane_plus.srdf b/crane_plus_moveit_config/config/crane_plus.srdf old mode 100755 new mode 100644 diff --git a/crane_plus_moveit_config/config/joint_limits.yaml b/crane_plus_moveit_config/config/joint_limits.yaml old mode 100755 new mode 100644 diff --git a/crane_plus_moveit_config/config/kinematics.yaml b/crane_plus_moveit_config/config/kinematics.yaml old mode 100755 new mode 100644 index 084a052..d298df2 --- a/crane_plus_moveit_config/config/kinematics.yaml +++ b/crane_plus_moveit_config/config/kinematics.yaml @@ -1,5 +1,10 @@ +# arm: +# kinematics_solver: lma_kinematics_plugin/LMAKinematicsPlugin +# kinematics_solver_attempts: 10 +# kinematics_solver_search_resolution: 0.005 +# kinematics_solver_timeout: 0.005 arm: - kinematics_solver: lma_kinematics_plugin/LMAKinematicsPlugin - kinematics_solver_attempts: 10 + kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin kinematics_solver_search_resolution: 0.005 - kinematics_solver_timeout: 0.005 + kinematics_solver_timeout: 0.005 + kinematics_solver_attempts: 3 diff --git a/crane_plus_moveit_config/config/moveit.rviz b/crane_plus_moveit_config/config/moveit.rviz old mode 100755 new mode 100644 diff --git a/crane_plus_moveit_config/config/ompl_planning.yaml b/crane_plus_moveit_config/config/ompl_planning.yaml old mode 100755 new mode 100644 diff --git a/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml b/crane_plus_moveit_config/config/pilz_cartesian_limits.yaml old mode 100755 new mode 100644 From b6e6962d5e0476d0148e53957c776f1aada1e216 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 15 Aug 2024 17:52:22 +0900 Subject: [PATCH 16/41] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E6=A8=A9?= =?UTF-8?q?=E9=99=90=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_control/CHANGELOG.rst | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 crane_plus_control/CHANGELOG.rst diff --git a/crane_plus_control/CHANGELOG.rst b/crane_plus_control/CHANGELOG.rst old mode 100755 new mode 100644 From bde95e1cb07a100f50a5f6122fee96302569018d Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Fri, 16 Aug 2024 09:37:54 +0900 Subject: [PATCH 17/41] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AAscript?= =?UTF-8?q?=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scripts/aruco_detection.py | 51 ------------------- .../scripts/color_detection.py | 14 ----- .../scripts/gripper_control.py | 48 ----------------- crane_plus_examples/scripts/joint_values.py | 14 ----- crane_plus_examples/scripts/pick_and_place.py | 14 ----- .../scripts/pick_and_place_tf.py | 14 ----- .../scripts/pose_groupstate.py | 14 ----- 7 files changed, 169 deletions(-) delete mode 100644 crane_plus_examples/scripts/aruco_detection.py delete mode 100644 crane_plus_examples/scripts/color_detection.py delete mode 100644 crane_plus_examples/scripts/gripper_control.py delete mode 100644 crane_plus_examples/scripts/joint_values.py delete mode 100644 crane_plus_examples/scripts/pick_and_place.py delete mode 100644 crane_plus_examples/scripts/pick_and_place_tf.py delete mode 100644 crane_plus_examples/scripts/pose_groupstate.py diff --git a/crane_plus_examples/scripts/aruco_detection.py b/crane_plus_examples/scripts/aruco_detection.py deleted file mode 100644 index e549d42..0000000 --- a/crane_plus_examples/scripts/aruco_detection.py +++ /dev/null @@ -1,51 +0,0 @@ -import rclpy -from rclpy.node import Node - -import math - -# from std_msgs.msg import String -from geometry_msgs.msg import TransformStamped -from sensor_msgs.msg import CameraInfo -from sensor_msgs.msg import Image -import cv2 -from cv_bridge import CvBridge -from geometry_msgs.msg import Quaternion -import tf2_ros - - -class ImageSubscriber(Node): - def __init__(self): - super().__init__("aruco_detection") - self.image_subscription = self.create_subscription( - Image, "image_raw", self.listener_callback, 10 - ) - self.image_subscription # prevent unused variable warning - - self.camera_info_subscription = self.create_subscription( - Image, "camera_info", self.listener_callback, 10 - ) - self.camera_info_subscription # prevent unused variable warning - - self.camera_info = None - - def image_callback(self, msg): - self.get_logger().info('I heard: "%s"' % msg.data) - - def camera_info_callback(self, msg): - self.get_logger().info('I heard: "%s"' % msg.data) - -def main(args=None): - rclpy.init(args=args) - - image_subscriber = ImageSubscriber() - rclpy.spin(image_subscriber) - - # Destroy the node explicitly - # (optional - otherwise it will be done automatically - # when the garbage collector destroys the node object) - image_subscriber.destroy_node() - rclpy.shutdown() - - -if __name__ == "__main__": - main() diff --git a/crane_plus_examples/scripts/color_detection.py b/crane_plus_examples/scripts/color_detection.py deleted file mode 100644 index 4ca7027..0000000 --- a/crane_plus_examples/scripts/color_detection.py +++ /dev/null @@ -1,14 +0,0 @@ -import rclpy -from rclpy.executors import ExternalShutdownException -from rclpy.node import Node - -from std_msgs.msg import String - - - -def main(args=None): - try: - except: - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/crane_plus_examples/scripts/gripper_control.py b/crane_plus_examples/scripts/gripper_control.py deleted file mode 100644 index 37ec8e7..0000000 --- a/crane_plus_examples/scripts/gripper_control.py +++ /dev/null @@ -1,48 +0,0 @@ -import math - -import rclpy -from rclpy.executors import ExternalShutdownException -from rclpy.node import Node -from std_msgs.msg import String - - -# generic ros libraries -from rclpy.logging import get_logger - -# moveit python library -from moveit.core.robot_state import RobotState -from moveit.planning import ( - MoveItPy, - MultiPipelinePlanRequestParameters, -) - -from config import moveit_config - -def to_radians(deg_angle): - return deg_angle * math.pi / 180.0 - - -def main(args=None): - # ros2の初期化 - rclpy.init(args=args) - - # ロガー生成 - logger = get_logger("gripper_control") - - # MoveItPy初期化 - crane_plus = MoveItPy(node_name="moveit_py", config_dict=moveit_config) - crane_plus_gripper = crane_plus.get_planning_component("gripper") - logger.info("MoveItPy instance created") - - - - - - - - # MoveItPyの終了 - crane_plus.shutdown() - - # rclpy.shutdown() -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/crane_plus_examples/scripts/joint_values.py b/crane_plus_examples/scripts/joint_values.py deleted file mode 100644 index 4ca7027..0000000 --- a/crane_plus_examples/scripts/joint_values.py +++ /dev/null @@ -1,14 +0,0 @@ -import rclpy -from rclpy.executors import ExternalShutdownException -from rclpy.node import Node - -from std_msgs.msg import String - - - -def main(args=None): - try: - except: - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/crane_plus_examples/scripts/pick_and_place.py b/crane_plus_examples/scripts/pick_and_place.py deleted file mode 100644 index 4ca7027..0000000 --- a/crane_plus_examples/scripts/pick_and_place.py +++ /dev/null @@ -1,14 +0,0 @@ -import rclpy -from rclpy.executors import ExternalShutdownException -from rclpy.node import Node - -from std_msgs.msg import String - - - -def main(args=None): - try: - except: - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/crane_plus_examples/scripts/pick_and_place_tf.py b/crane_plus_examples/scripts/pick_and_place_tf.py deleted file mode 100644 index 4ca7027..0000000 --- a/crane_plus_examples/scripts/pick_and_place_tf.py +++ /dev/null @@ -1,14 +0,0 @@ -import rclpy -from rclpy.executors import ExternalShutdownException -from rclpy.node import Node - -from std_msgs.msg import String - - - -def main(args=None): - try: - except: - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/crane_plus_examples/scripts/pose_groupstate.py b/crane_plus_examples/scripts/pose_groupstate.py deleted file mode 100644 index 4ca7027..0000000 --- a/crane_plus_examples/scripts/pose_groupstate.py +++ /dev/null @@ -1,14 +0,0 @@ -import rclpy -from rclpy.executors import ExternalShutdownException -from rclpy.node import Node - -from std_msgs.msg import String - - - -def main(args=None): - try: - except: - -if __name__ == '__main__': - main() \ No newline at end of file From 9013d35b9491ecaddfa4747d6dd7dda783d676b5 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Fri, 16 Aug 2024 09:46:09 +0900 Subject: [PATCH 18/41] =?UTF-8?q?kinematic=E3=81=AE=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/config/kinematics.yaml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/crane_plus_moveit_config/config/kinematics.yaml b/crane_plus_moveit_config/config/kinematics.yaml index d298df2..084a052 100644 --- a/crane_plus_moveit_config/config/kinematics.yaml +++ b/crane_plus_moveit_config/config/kinematics.yaml @@ -1,10 +1,5 @@ -# arm: -# kinematics_solver: lma_kinematics_plugin/LMAKinematicsPlugin -# kinematics_solver_attempts: 10 -# kinematics_solver_search_resolution: 0.005 -# kinematics_solver_timeout: 0.005 arm: - kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin + kinematics_solver: lma_kinematics_plugin/LMAKinematicsPlugin + kinematics_solver_attempts: 10 kinematics_solver_search_resolution: 0.005 - kinematics_solver_timeout: 0.005 - kinematics_solver_attempts: 3 + kinematics_solver_timeout: 0.005 From 82a96db68b55eb0d2d1387f664172905b25914e4 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Tue, 20 Aug 2024 14:06:18 +0900 Subject: [PATCH 19/41] =?UTF-8?q?=E3=82=BD=E3=83=AB=E3=83=90=E3=83=BC?= =?UTF-8?q?=E3=82=92KDL=E3=81=AB=E6=88=BB=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/config/kinematics.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crane_plus_moveit_config/config/kinematics.yaml b/crane_plus_moveit_config/config/kinematics.yaml index 084a052..a1f17d0 100644 --- a/crane_plus_moveit_config/config/kinematics.yaml +++ b/crane_plus_moveit_config/config/kinematics.yaml @@ -1,5 +1,5 @@ arm: - kinematics_solver: lma_kinematics_plugin/LMAKinematicsPlugin - kinematics_solver_attempts: 10 + kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin kinematics_solver_search_resolution: 0.005 - kinematics_solver_timeout: 0.005 + kinematics_solver_timeout: 0.005 + kinematics_solver_attempts: 3 \ No newline at end of file From 91add60423440e97cc23b642db469e8f34c79b52 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Thu, 19 Sep 2024 15:21:16 +0900 Subject: [PATCH 20/41] =?UTF-8?q?warehouse=5Fros=5Fmongo=E3=82=92crane=5Fp?= =?UTF-8?q?lus=5Fmoveit=5Fconfig=E3=81=AEpackage.xml=E3=81=AB=E5=90=AB?= =?UTF-8?q?=E3=82=81=E3=81=AA=E3=81=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/package.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/crane_plus_moveit_config/package.xml b/crane_plus_moveit_config/package.xml index 5e8554b..879c221 100755 --- a/crane_plus_moveit_config/package.xml +++ b/crane_plus_moveit_config/package.xml @@ -36,7 +36,6 @@ rviz_common rviz_default_plugins tf2_ros - warehouse_ros_mongo ament_lint_auto ament_lint_common From 1c3b113978e397513c4a1afc7d1d8cb64e4e9955 Mon Sep 17 00:00:00 2001 From: mizonon Date: Fri, 4 Oct 2024 11:30:49 +0900 Subject: [PATCH 21/41] =?UTF-8?q?=E3=83=AC=E3=83=93=E3=83=A5=E3=83=BC?= =?UTF-8?q?=E7=B5=90=E6=9E=9C=E5=8F=8D=E6=98=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- crane_plus_examples/launch/demo.launch.py | 2 +- .../launch/run_move_group.launch.py | 36 +++++-------------- crane_plus_moveit_config/package.xml | 2 +- 4 files changed, 12 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index 04d4c3a..2152342 100755 --- a/.gitignore +++ b/.gitignore @@ -55,5 +55,4 @@ docs/_build/ # PyBuilder target/ -.pytest_cache -.vscode +.pytest_cache \ No newline at end of file diff --git a/crane_plus_examples/launch/demo.launch.py b/crane_plus_examples/launch/demo.launch.py index 17cd579..12a7dbe 100644 --- a/crane_plus_examples/launch/demo.launch.py +++ b/crane_plus_examples/launch/demo.launch.py @@ -30,7 +30,7 @@ def generate_launch_description(): default_value='/dev/ttyUSB0', description='Set port name.' ) - + declare_use_camera = DeclareLaunchArgument( 'use_camera', default_value='false', diff --git a/crane_plus_moveit_config/launch/run_move_group.launch.py b/crane_plus_moveit_config/launch/run_move_group.launch.py index e20593c..c51d7ad 100755 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -26,31 +26,6 @@ from moveit_configs_utils.launches import generate_rsp_launch from moveit_configs_utils.launch_utils import DeclareBooleanLaunchArg -def load_file(package_name, file_path): - package_path = get_package_share_directory(package_name) - absolute_file_path = os.path.join(package_path, file_path) - - try: - with open(absolute_file_path, "r") as file: - return file.read() - except ( - EnvironmentError - ): # parent of IOError, OSError *and* WindowsError where available - return None - - -def load_yaml(package_name, file_path): - package_path = get_package_share_directory(package_name) - absolute_file_path = os.path.join(package_path, file_path) - - try: - with open(absolute_file_path, "r") as file: - return yaml.safe_load(file) - except ( - EnvironmentError - ): # parent of IOError, OSError *and* WindowsError where available - return None - def generate_launch_description(): ld = LaunchDescription() @@ -74,7 +49,15 @@ def generate_launch_description(): description="Set the path to rviz configuration file.", ) ) - + + declare_rviz_config_file = DeclareLaunchArgument( + 'rviz_config_file', + default_value=get_package_share_directory('crane_plus_moveit_config') + '/launch/run_move_group.rviz', + description='Set the path to rviz configuration file.' + ) + + ld.add_action(declare_rviz_config_file) + moveit_config = ( MoveItConfigsBuilder("crane_plus") .planning_scene_monitor( @@ -112,7 +95,6 @@ def generate_launch_description(): # Move group ld.add_entity(generate_move_group_launch(moveit_config)) - # RViz ld.add_entity(generate_moveit_rviz_launch(moveit_config)) diff --git a/crane_plus_moveit_config/package.xml b/crane_plus_moveit_config/package.xml index 879c221..df03651 100755 --- a/crane_plus_moveit_config/package.xml +++ b/crane_plus_moveit_config/package.xml @@ -39,7 +39,7 @@ ament_lint_auto ament_lint_common - + ament_cmake From b227184b6d1dee6a1f3b8044abe900baa7ccb35a Mon Sep 17 00:00:00 2001 From: mizonon Date: Mon, 21 Oct 2024 11:58:13 +0900 Subject: [PATCH 22/41] =?UTF-8?q?README.md(jazzy=E5=AF=BE=E5=BF=9C?= =?UTF-8?q?=EF=BC=86=E3=83=90=E3=82=A4=E3=83=8A=E3=83=AA=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E3=82=B9=E3=83=88=E3=83=BC=E3=83=AB=E6=96=B9=E6=B3=95=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 99fbaba..b30a063 100644 --- a/README.md +++ b/README.md @@ -21,17 +21,17 @@ ROS 2 package suite of CRANE+ V2. ## Supported ROS 2 distributions - [Foxy](https://github.com/rt-net/crane_plus/tree/foxy-devel) -- Humble - +- [Humble](https://github.com/rt-net/crane_plus/tree/humble-devel) +- Jazzy ## Requirements - CRANE+ V2 - [Product Introduction](https://rt-net.jp/products/cranev2/) - [Web Shop](https://www.rt-shop.jp/index.php?main_page=product_info&cPath=1348_1&products_id=3626&language=ja) - Linux OS - - Ubuntu 22.04 + - Ubuntu 24.04 - ROS - - [Humble Hawksbill](https://docs.ros.org/en/humble/Installation.html) + - [Jazzy Jalisco](https://docs.ros.org/en/jazzy/Installation.html) ## Installation @@ -43,14 +43,15 @@ ROS 2 package suite of CRANE+ V2. ### Binary installation ```sh -TBD +$ sudo apt update +$ sudo apt install ros-jazzy-crane-plus ``` ### Source Build ```sh # Setup ROS environment -$ source /opt/ros/humble/setup.bash +$ source /opt/ros/jazzy/setup.bash # Download crane_plus repository $ mkdir -p ~/ros2_ws/src From 88f431342ddc5c9ef3e26ad8a99a1fd9cc19f405 Mon Sep 17 00:00:00 2001 From: mizonon Date: Mon, 21 Oct 2024 12:02:04 +0900 Subject: [PATCH 23/41] =?UTF-8?q?.docker=E3=81=AEREADME.md=E3=81=AEjazzy?= =?UTF-8?q?=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .docker/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.docker/README.md b/.docker/README.md index 51fda6e..c570f38 100644 --- a/.docker/README.md +++ b/.docker/README.md @@ -7,10 +7,10 @@ https://github.com/rt-net/crane_plus/pkgs/container/crane_plus をアップロードしています。 tagにはROSのディストリビューションを指定してください。 -Humbleディストリビューションのイメージをダウンロードする場合は次のコマンドを実行します。 +Jazzyディストリビューションのイメージをダウンロードする場合は次のコマンドを実行します。 ```sh -$ docker pull ghcr.io/rt-net/crane_plus:humble +$ docker pull ghcr.io/rt-net/crane_plus:jazzy ``` ### ノードの起動 @@ -67,9 +67,9 @@ $ rocker --x11 --net=host --privileged \ `./build_source.sh $ROS_DISTRO`を実行してイメージを作成します。 ```sh -# humbleディストリビューションのイメージを作成する +# jazzyディストリビューションのイメージを作成する $ cd crane_plus/.docker -$ ./build_source.sh humble +$ ./build_source.sh jazzy ... -Successfully tagged crane_plus:humble +Successfully tagged crane_plus:jazzy ``` From e9a548f4ad9a13f393fc907622046ed95dc1168c Mon Sep 17 00:00:00 2001 From: mizonon Date: Mon, 21 Oct 2024 17:02:29 +0900 Subject: [PATCH 24/41] =?UTF-8?q?CI=E5=AF=BE=E5=BF=9C=EF=BC=88copyright?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../launch/setup_assistant.launch.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/crane_plus_moveit_config/launch/setup_assistant.launch.py b/crane_plus_moveit_config/launch/setup_assistant.launch.py index e16485a..3fcdd9d 100755 --- a/crane_plus_moveit_config/launch/setup_assistant.launch.py +++ b/crane_plus_moveit_config/launch/setup_assistant.launch.py @@ -1,3 +1,18 @@ +# Copyright 2020 RT Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + from moveit_configs_utils import MoveItConfigsBuilder from moveit_configs_utils.launches import generate_setup_assistant_launch From bf56ec0646730d113f2ae9aadf3acde893dc0557 Mon Sep 17 00:00:00 2001 From: mizonon Date: Tue, 22 Oct 2024 11:48:42 +0900 Subject: [PATCH 25/41] =?UTF-8?q?CI=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../launch/run_move_group.launch.py | 62 ++++++++++--------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/crane_plus_moveit_config/launch/run_move_group.launch.py b/crane_plus_moveit_config/launch/run_move_group.launch.py index c51d7ad..ba9c9b6 100755 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -18,79 +18,83 @@ from launch import LaunchDescription from launch.actions import DeclareLaunchArgument from launch.substitutions import LaunchConfiguration -import yaml from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launch_utils import DeclareBooleanLaunchArg from moveit_configs_utils.launches import generate_move_group_launch from moveit_configs_utils.launches import generate_moveit_rviz_launch -from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch from moveit_configs_utils.launches import generate_rsp_launch -from moveit_configs_utils.launch_utils import DeclareBooleanLaunchArg +from moveit_configs_utils.launches \ + import generate_static_virtual_joint_tfs_launch def generate_launch_description(): ld = LaunchDescription() declare_loaded_description = DeclareLaunchArgument( - "loaded_description", - default_value="", - description="Set robot_description text. \ - It is recommended to use RobotDescriptionLoader() in crane_plus_description.", + 'loaded_description', + default_value='', + description='Set robot_description text. \ + It is recommended to use RobotDescriptionLoader() in \ + crane_plus_description.', ) ld.add_action(declare_loaded_description) - ld.add_action(DeclareBooleanLaunchArg("debug", default_value=False)) - + ld.add_action(DeclareBooleanLaunchArg('debug', default_value=False)) + ld.add_action( DeclareLaunchArgument( - "rviz_config", - default_value=get_package_share_directory("crane_plus_moveit_config") - + "/config/moveit.rviz", - description="Set the path to rviz configuration file.", + 'rviz_config', + default_value=get_package_share_directory( + 'crane_plus_moveit_config' + ) + + '/config/moveit.rviz', + description='Set the path to rviz configuration file.', ) ) - + declare_rviz_config_file = DeclareLaunchArgument( 'rviz_config_file', - default_value=get_package_share_directory('crane_plus_moveit_config') + '/launch/run_move_group.rviz', + default_value=get_package_share_directory('crane_plus_moveit_config') + + '/launch/run_move_group.rviz', description='Set the path to rviz configuration file.' ) - + ld.add_action(declare_rviz_config_file) - + moveit_config = ( - MoveItConfigsBuilder("crane_plus") + MoveItConfigsBuilder('crane_plus') .planning_scene_monitor( publish_robot_description=True, publish_robot_description_semantic=True, ) .robot_description( file_path=os.path.join( - get_package_share_directory("crane_plus_description"), - "urdf", - "crane_plus.urdf.xacro", + get_package_share_directory('crane_plus_description'), + 'urdf', + 'crane_plus.urdf.xacro', ), mappings={}, ) .robot_description_semantic( - file_path="config/crane_plus.srdf", - mappings={"model": "crane_plus"}, + file_path='config/crane_plus.srdf', + mappings={'model': 'crane_plus'}, ) - .joint_limits(file_path="config/joint_limits.yaml") + .joint_limits(file_path='config/joint_limits.yaml') .trajectory_execution( - file_path="config/controllers.yaml", moveit_manage_controllers=True + file_path='config/controllers.yaml', moveit_manage_controllers=True ) - .planning_pipelines(pipelines=["ompl"]) - .robot_description_kinematics(file_path="config/kinematics.yaml") + .planning_pipelines(pipelines=['ompl']) + .robot_description_kinematics(file_path='config/kinematics.yaml') .to_moveit_configs() ) moveit_config.robot_description = { - "robot_description": LaunchConfiguration("loaded_description") + 'robot_description': LaunchConfiguration('loaded_description') } moveit_config.move_group_capabilities = { - "capabilities": "" + 'capabilities': '' } # Move group From a74f3b74eb078fb62c3392d7e9a88e4790eac0e8 Mon Sep 17 00:00:00 2001 From: mizonon Date: Tue, 22 Oct 2024 12:24:20 +0900 Subject: [PATCH 26/41] =?UTF-8?q?CI=E5=AF=BE=E5=BF=9C(setup=5Fassistant.la?= =?UTF-8?q?unch.py)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/launch/setup_assistant.launch.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crane_plus_moveit_config/launch/setup_assistant.launch.py b/crane_plus_moveit_config/launch/setup_assistant.launch.py index 3fcdd9d..77eb4d9 100755 --- a/crane_plus_moveit_config/launch/setup_assistant.launch.py +++ b/crane_plus_moveit_config/launch/setup_assistant.launch.py @@ -18,5 +18,7 @@ def generate_launch_description(): - moveit_config = MoveItConfigsBuilder("crane_plus", package_name="crane_plus_moveit_config").to_moveit_configs() + moveit_config = MoveItConfigsBuilder( + 'crane_plus', package_name='crane_plus_moveit_config' + ).to_moveit_configs() return generate_setup_assistant_launch(moveit_config) From a671d5e6e218dd6c394e3d5b42cd367f0adcde20 Mon Sep 17 00:00:00 2001 From: mizonon Date: Tue, 22 Oct 2024 14:33:45 +0900 Subject: [PATCH 27/41] =?UTF-8?q?CI=E5=AF=BE=E5=BF=9C(package.xml=E3=81=AE?= =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E9=83=A8=E5=88=86=E5=89=8A=E9=99=A4?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/package.xml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/crane_plus_moveit_config/package.xml b/crane_plus_moveit_config/package.xml index df03651..f0ee884 100755 --- a/crane_plus_moveit_config/package.xml +++ b/crane_plus_moveit_config/package.xml @@ -10,13 +10,8 @@ Atsushi Kuwagata Nozomi Mizoguchi - http://moveit.ros.org/ - https://github.com/moveit/moveit2/issues - https://github.com/moveit/moveit2 - ament_cmake - moveit_ros_move_group moveit_kinematics moveit_planners moveit_simple_controller_manager @@ -35,7 +30,7 @@ rviz2 rviz_common rviz_default_plugins - tf2_ros + ament_lint_auto ament_lint_common From 86513fbcfca651861ce1aeb7c32c8f347c792e16 Mon Sep 17 00:00:00 2001 From: mizonon Date: Tue, 22 Oct 2024 14:46:56 +0900 Subject: [PATCH 28/41] =?UTF-8?q?=E3=82=B3=E3=83=A1=E3=83=B3=E3=83=88?= =?UTF-8?q?=E3=82=92jazzy=E3=81=AB=E5=90=88=E3=82=8F=E3=81=9B=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .docker/build_source.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.docker/build_source.sh b/.docker/build_source.sh index 26ae5e9..b49c45b 100755 --- a/.docker/build_source.sh +++ b/.docker/build_source.sh @@ -4,7 +4,7 @@ set -e if [ $# -eq 0 ]; then echo "Please set ROS_DISTRO to the argument." - echo "e.g. ./build_source.sh humble" + echo "e.g. ./build_source.sh jazzy" fi ROS_DISTRO=$1 From 2de4b1401a2f15498759ad43e1e0a5c41e096884 Mon Sep 17 00:00:00 2001 From: mizonon Date: Tue, 22 Oct 2024 15:13:07 +0900 Subject: [PATCH 29/41] =?UTF-8?q?ign=20fuel=E3=81=A7gazebo=E3=81=AE?= =?UTF-8?q?=E3=83=A2=E3=83=87=E3=83=AB=E3=82=92=E3=83=80=E3=82=A6=E3=83=B3?= =?UTF-8?q?=E3=83=AD=E3=83=BC=E3=83=89=E3=81=99=E3=82=8B=E8=A8=98=E8=BF=B0?= =?UTF-8?q?=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .docker/source/Dockerfile | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.docker/source/Dockerfile b/.docker/source/Dockerfile index fa674b6..f5da789 100644 --- a/.docker/source/Dockerfile +++ b/.docker/source/Dockerfile @@ -1,4 +1,4 @@ -ARG ROS_DISTRO="humble" +ARG ROS_DISTRO="jazzy" FROM osrf/ros:${ROS_DISTRO}-desktop ENV OVERLAY_WS /root/overlay_ws WORKDIR $OVERLAY_WS/src @@ -31,12 +31,6 @@ RUN mkdir -p /root/.gazebo/models && \ git pull origin master && \ rm -rf .git -# Download ignition model -RUN ign fuel download -v 4 -u https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/sun && \ - ign fuel download -v 4 -u https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/ground%20plane && \ - ign fuel download -v 4 -u https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/wood%20cube%205cm && \ - ign fuel download -v 4 -u https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/table - # Edit entrypoint to source overlay setup file WORKDIR $OVERLAY_WS RUN sed --in-place --expression \ From 8a157cc2e9d82785bb9674a662a68852c3097e3c Mon Sep 17 00:00:00 2001 From: mizonon Date: Tue, 22 Oct 2024 16:32:57 +0900 Subject: [PATCH 30/41] =?UTF-8?q?ci=E3=81=AEDocker=E3=82=A4=E3=83=A1?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=82=92jazzy=E3=81=AB=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build_docker_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_docker_image.yml b/.github/workflows/build_docker_image.yml index ff08350..0c5f9cd 100644 --- a/.github/workflows/build_docker_image.yml +++ b/.github/workflows/build_docker_image.yml @@ -7,7 +7,7 @@ on: workflow_dispatch: env: - ROS_DISTRO: humble + ROS_DISTRO: jazzy REGISTRY: ghcr.io jobs: From f1bfe95f9c9c2682d6be8f71d2dca0de23908599 Mon Sep 17 00:00:00 2001 From: mizonon Date: Tue, 22 Oct 2024 16:50:10 +0900 Subject: [PATCH 31/41] =?UTF-8?q?=E4=BB=96=E3=81=AE=E8=A3=BD=E5=93=81?= =?UTF-8?q?=E3=81=A8=E8=A8=AD=E5=AE=9A=E3=82=92=E5=85=B1=E9=80=9A=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/config/ompl_planning.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/crane_plus_moveit_config/config/ompl_planning.yaml b/crane_plus_moveit_config/config/ompl_planning.yaml index 3e0299c..2c04552 100644 --- a/crane_plus_moveit_config/config/ompl_planning.yaml +++ b/crane_plus_moveit_config/config/ompl_planning.yaml @@ -11,10 +11,14 @@ response_adapters: - default_planning_response_adapters/AddTimeOptimalParameterization - default_planning_response_adapters/ValidateSolution - default_planning_response_adapters/DisplayMotionPath - -start_state_max_bounds_error: 0.1 - planner_configs: + APSConfigDefault: + type: geometric::AnytimePathShortening + shortcut: 1 # Attempt to shortcut all new solution paths + hybridize: 1 # Compute hybrid solution trajectories + max_hybrid_paths: 36 # Number of hybrid paths generated per iteration + num_planners: 8 # The number of default planners to use for planning + planners: "RRTConnect,RRTConnect,RRTConnect,RRTConnect,RRTConnect,RRTConnect,RRTConnect,RRTConnect" # A comma-separated list of planner types (e.g., "PRM,EST,RRTConnect"Optionally, planner parameters can be passed to change the default:"PRM[max_nearest_neighbors=5],EST[goal_bias=.5],RRT[range=10. goal_bias=.1]" SBLkConfigDefault: type: geometric::SBL range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() From e6866a2fe777eb3d80dbaa397f5d7e27b72d19af Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 23 Oct 2024 11:44:30 +0900 Subject: [PATCH 32/41] =?UTF-8?q?crane=5Fplus=5Fdescription/package.xml?= =?UTF-8?q?=E3=81=AEauthor=E3=81=AB=E6=BA=9D=E5=8F=A3=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_description/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/crane_plus_description/package.xml b/crane_plus_description/package.xml index 1e5ff7e..2ac4018 100755 --- a/crane_plus_description/package.xml +++ b/crane_plus_description/package.xml @@ -9,6 +9,7 @@ Shota Aoki Atsushi Kuwagata + Nozomi Mizoguchi ament_cmake ament_cmake_python From f2e153ac6d3904a7692bf571afc184501deed07e Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 23 Oct 2024 17:19:52 +0900 Subject: [PATCH 33/41] =?UTF-8?q?ompl=5Fplanning.yaml=E3=81=AB=E6=8A=9C?= =?UTF-8?q?=E3=81=91=E3=81=A6=E3=81=84=E3=81=9F=E8=A8=98=E8=BF=B0=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/config/ompl_planning.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crane_plus_moveit_config/config/ompl_planning.yaml b/crane_plus_moveit_config/config/ompl_planning.yaml index 2c04552..0d88b7f 100644 --- a/crane_plus_moveit_config/config/ompl_planning.yaml +++ b/crane_plus_moveit_config/config/ompl_planning.yaml @@ -145,6 +145,7 @@ planner_configs: arm: planner_configs: + - APSConfigDefault - SBLkConfigDefault - ESTkConfigDefault - LBKPIECEkConfigDefault @@ -171,6 +172,7 @@ arm: - TrajOptDefault gripper: planner_configs: + - APSConfigDefault - SBLkConfigDefault - ESTkConfigDefault - LBKPIECEkConfigDefault From 4d1c0f96b4d6be7edf61201cb167422985232aba Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 13 Nov 2024 14:26:56 +0900 Subject: [PATCH 34/41] =?UTF-8?q?.gitignore=E3=81=AE=E6=9C=AB=E5=B0=BE?= =?UTF-8?q?=E3=81=AB.vscode=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2152342..6b73f63 100755 --- a/.gitignore +++ b/.gitignore @@ -55,4 +55,5 @@ docs/_build/ # PyBuilder target/ -.pytest_cache \ No newline at end of file +.pytest_cache +.vscode \ No newline at end of file From cfe737313fa0c714954e1de32d52a09eee2bf738 Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 13 Nov 2024 14:33:59 +0900 Subject: [PATCH 35/41] =?UTF-8?q?=E6=97=A7115=E8=A1=8C=E7=9B=AE=E3=81=AE?= =?UTF-8?q?=E6=94=B9=E8=A1=8C=E5=BE=A9=E6=B4=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/launch/run_move_group.launch.py | 1 + 1 file changed, 1 insertion(+) diff --git a/crane_plus_moveit_config/launch/run_move_group.launch.py b/crane_plus_moveit_config/launch/run_move_group.launch.py index ba9c9b6..a559544 100755 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -99,6 +99,7 @@ def generate_launch_description(): # Move group ld.add_entity(generate_move_group_launch(moveit_config)) + # RViz ld.add_entity(generate_moveit_rviz_launch(moveit_config)) From 35a03216a513f3d5ae10ccb518b98d3956dbca17 Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 13 Nov 2024 14:46:04 +0900 Subject: [PATCH 36/41] =?UTF-8?q?=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?= =?UTF-8?q?=E5=90=8D=E5=A4=89=E6=9B=B4controllers.yaml->moveit=5Fcontrolle?= =?UTF-8?q?rs.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/{controllers.yaml => moveit_controllers.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename crane_plus_moveit_config/config/{controllers.yaml => moveit_controllers.yaml} (100%) diff --git a/crane_plus_moveit_config/config/controllers.yaml b/crane_plus_moveit_config/config/moveit_controllers.yaml similarity index 100% rename from crane_plus_moveit_config/config/controllers.yaml rename to crane_plus_moveit_config/config/moveit_controllers.yaml From 538f8b399e5871ec99797e8e40a4b67a606dbf87 Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 13 Nov 2024 15:02:45 +0900 Subject: [PATCH 37/41] =?UTF-8?q?kinematics=5Fsolver=5Fattempts=E3=81=AE?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/kinematics.yaml | 3 +- .../launch/run_move_group.launch.py | 112 ------------------ 2 files changed, 1 insertion(+), 114 deletions(-) delete mode 100755 crane_plus_moveit_config/launch/run_move_group.launch.py diff --git a/crane_plus_moveit_config/config/kinematics.yaml b/crane_plus_moveit_config/config/kinematics.yaml index a1f17d0..05573e5 100644 --- a/crane_plus_moveit_config/config/kinematics.yaml +++ b/crane_plus_moveit_config/config/kinematics.yaml @@ -1,5 +1,4 @@ arm: kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin kinematics_solver_search_resolution: 0.005 - kinematics_solver_timeout: 0.005 - kinematics_solver_attempts: 3 \ No newline at end of file + kinematics_solver_timeout: 0.005 \ No newline at end of file diff --git a/crane_plus_moveit_config/launch/run_move_group.launch.py b/crane_plus_moveit_config/launch/run_move_group.launch.py deleted file mode 100755 index a559544..0000000 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ /dev/null @@ -1,112 +0,0 @@ -# Copyright 2020 RT Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import os - -from ament_index_python.packages import get_package_share_directory -from launch import LaunchDescription -from launch.actions import DeclareLaunchArgument -from launch.substitutions import LaunchConfiguration -from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launch_utils import DeclareBooleanLaunchArg -from moveit_configs_utils.launches import generate_move_group_launch -from moveit_configs_utils.launches import generate_moveit_rviz_launch -from moveit_configs_utils.launches import generate_rsp_launch -from moveit_configs_utils.launches \ - import generate_static_virtual_joint_tfs_launch - - -def generate_launch_description(): - ld = LaunchDescription() - - declare_loaded_description = DeclareLaunchArgument( - 'loaded_description', - default_value='', - description='Set robot_description text. \ - It is recommended to use RobotDescriptionLoader() in \ - crane_plus_description.', - ) - - ld.add_action(declare_loaded_description) - - ld.add_action(DeclareBooleanLaunchArg('debug', default_value=False)) - - ld.add_action( - DeclareLaunchArgument( - 'rviz_config', - default_value=get_package_share_directory( - 'crane_plus_moveit_config' - ) - + '/config/moveit.rviz', - description='Set the path to rviz configuration file.', - ) - ) - - declare_rviz_config_file = DeclareLaunchArgument( - 'rviz_config_file', - default_value=get_package_share_directory('crane_plus_moveit_config') - + '/launch/run_move_group.rviz', - description='Set the path to rviz configuration file.' - ) - - ld.add_action(declare_rviz_config_file) - - moveit_config = ( - MoveItConfigsBuilder('crane_plus') - .planning_scene_monitor( - publish_robot_description=True, - publish_robot_description_semantic=True, - ) - .robot_description( - file_path=os.path.join( - get_package_share_directory('crane_plus_description'), - 'urdf', - 'crane_plus.urdf.xacro', - ), - mappings={}, - ) - .robot_description_semantic( - file_path='config/crane_plus.srdf', - mappings={'model': 'crane_plus'}, - ) - .joint_limits(file_path='config/joint_limits.yaml') - .trajectory_execution( - file_path='config/controllers.yaml', moveit_manage_controllers=True - ) - .planning_pipelines(pipelines=['ompl']) - .robot_description_kinematics(file_path='config/kinematics.yaml') - .to_moveit_configs() - ) - - moveit_config.robot_description = { - 'robot_description': LaunchConfiguration('loaded_description') - } - - moveit_config.move_group_capabilities = { - 'capabilities': '' - } - - # Move group - ld.add_entity(generate_move_group_launch(moveit_config)) - - # RViz - ld.add_entity(generate_moveit_rviz_launch(moveit_config)) - - # Static TF - ld.add_entity(generate_static_virtual_joint_tfs_launch(moveit_config)) - - # Publish TF - ld.add_entity(generate_rsp_launch(moveit_config)) - - return ld From ad45926e11b3db087c09b93be905aef5a874ef02 Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 13 Nov 2024 15:22:17 +0900 Subject: [PATCH 38/41] =?UTF-8?q?RobotDescriptionLoader=E5=AF=BE=E5=BF=9C?= =?UTF-8?q?=E3=81=A8moveit=5Fconfig=E3=81=AE=E4=B8=8D=E5=BF=85=E8=A6=81?= =?UTF-8?q?=E3=81=AA=E5=AE=9A=E7=BE=A9=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../launch/run_move_group.launch.py | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100755 crane_plus_moveit_config/launch/run_move_group.launch.py diff --git a/crane_plus_moveit_config/launch/run_move_group.launch.py b/crane_plus_moveit_config/launch/run_move_group.launch.py new file mode 100755 index 0000000..14bfdcc --- /dev/null +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -0,0 +1,100 @@ +# Copyright 2020 RT Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +from ament_index_python.packages import get_package_share_directory +from crane_plus_description.robot_description_loader \ + import RobotDescriptionLoader +from launch import LaunchDescription +from launch.actions import DeclareLaunchArgument +from launch.substitutions import LaunchConfiguration +from moveit_configs_utils import MoveItConfigsBuilder +from moveit_configs_utils.launch_utils import DeclareBooleanLaunchArg +from moveit_configs_utils.launches import generate_move_group_launch +from moveit_configs_utils.launches import generate_moveit_rviz_launch +from moveit_configs_utils.launches import generate_rsp_launch +from moveit_configs_utils.launches \ + import generate_static_virtual_joint_tfs_launch + + +def generate_launch_description(): + ld = LaunchDescription() + + description_loader = RobotDescriptionLoader() + + ld.add_action( + DeclareLaunchArgument( + 'loaded_description', + default_value=description_loader.load(), + description='Set robot_description text. \ + It is recommended to use RobotDescriptionLoader() \ + in crane_plus_description.', + ) + ) + + ld.add_action(DeclareBooleanLaunchArg('debug', default_value=False)) + + ld.add_action( + DeclareLaunchArgument( + 'rviz_config', + default_value=get_package_share_directory( + 'crane_plus_moveit_config' + ) + + '/config/moveit.rviz', + description='Set the path to rviz configuration file.', + ) + ) + + declare_rviz_config_file = DeclareLaunchArgument( + 'rviz_config_file', + default_value=get_package_share_directory('crane_plus_moveit_config') + + '/launch/run_move_group.rviz', + description='Set the path to rviz configuration file.' + ) + + ld.add_action(declare_rviz_config_file) + + moveit_config = ( + MoveItConfigsBuilder('crane_plus') + .planning_scene_monitor( + publish_robot_description=True, + publish_robot_description_semantic=True, + ) + .planning_pipelines(pipelines=['ompl']) + .robot_description_kinematics(file_path='config/kinematics.yaml') + .to_moveit_configs() + ) + + moveit_config.robot_description = { + 'robot_description': LaunchConfiguration('loaded_description') + } + + moveit_config.move_group_capabilities = { + 'capabilities': '' + } + + # Move group + ld.add_entity(generate_move_group_launch(moveit_config)) + + # RViz + ld.add_entity(generate_moveit_rviz_launch(moveit_config)) + + # Static TF + ld.add_entity(generate_static_virtual_joint_tfs_launch(moveit_config)) + + # Publish TF + ld.add_entity(generate_rsp_launch(moveit_config)) + + return ld From a9fb79e871d349b0d3721188f87b7c5b23f45ca8 Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 13 Nov 2024 15:35:44 +0900 Subject: [PATCH 39/41] =?UTF-8?q?robot=5Fdescription=5Fkinematics=E3=81=AE?= =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/launch/run_move_group.launch.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/crane_plus_moveit_config/launch/run_move_group.launch.py b/crane_plus_moveit_config/launch/run_move_group.launch.py index 14bfdcc..146cd80 100755 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -12,8 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import os - from ament_index_python.packages import get_package_share_directory from crane_plus_description.robot_description_loader \ import RobotDescriptionLoader @@ -73,7 +71,6 @@ def generate_launch_description(): publish_robot_description_semantic=True, ) .planning_pipelines(pipelines=['ompl']) - .robot_description_kinematics(file_path='config/kinematics.yaml') .to_moveit_configs() ) From 4fc16b3945c952e18581e8be9faa798382824976 Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 13 Nov 2024 16:13:15 +0900 Subject: [PATCH 40/41] =?UTF-8?q?=E5=89=8A=E9=99=A4=E3=81=97=E3=81=9Frun?= =?UTF-8?q?=5Fmove=5Fgroup.rviz=E3=81=AE=E5=86=85=E5=AE=B9=E3=82=92moveit.?= =?UTF-8?q?rviz=E3=81=A8=E3=81=97=E3=81=A6=E5=8F=8D=E6=98=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_moveit_config/config/moveit.rviz | 336 ++++++++++++++++++-- 1 file changed, 318 insertions(+), 18 deletions(-) diff --git a/crane_plus_moveit_config/config/moveit.rviz b/crane_plus_moveit_config/config/moveit.rviz index f31651e..23014c9 100644 --- a/crane_plus_moveit_config/config/moveit.rviz +++ b/crane_plus_moveit_config/config/moveit.rviz @@ -1,51 +1,351 @@ Panels: - Class: rviz_common/Displays + Help Height: 78 Name: Displays Property Tree Widget: Expanded: + - /Global Options1 + - /Status1 - /MotionPlanning1 - - Class: rviz_common/Help - Name: Help + - /Trajectory1 + Splitter Ratio: 0.5 + Tree Height: 295 + - 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: - - Class: rviz_default_plugins/Grid + - 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: Value: true - - Class: moveit_rviz_plugin/MotionPlanning + - Acceleration_Scaling_Factor: 1 + Class: moveit_rviz_plugin/MotionPlanning + Enabled: true + Move Group Namespace: "" + MoveIt_Allow_Approximate_IK: false + MoveIt_Allow_External_Program: false + MoveIt_Allow_Replanning: false + MoveIt_Allow_Sensor_Positioning: false + MoveIt_Goal_Tolerance: 0 + MoveIt_Planning_Attempts: 10 + MoveIt_Planning_Time: 5 + MoveIt_Use_Cartesian_Path: false + MoveIt_Use_Constraint_Aware_IK: true + 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: - Loop Animation: true + 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 + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + crane_plus_base: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link4: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link_hand: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + world: + Alpha: 1 + Show Axes: false + Show Trail: false + Loop Animation: false + Robot Alpha: 0.5 + Robot Color: 150; 50; 150 + Show Robot Collision: false + Show Robot Visual: true + Show Trail: false State Display Time: 0.05 s - Trajectory Topic: display_planned_path + Trail Step Size: 1 + Trajectory Topic: /move_group/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: 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: 1 + 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: - Robot Alpha: 0.5 + 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 + crane_plus_base: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link4: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link_hand: + 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 + Velocity_Scaling_Factor: 1 + - 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 + crane_plus_base: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link4: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + crane_plus_link_hand: + 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 + 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.0 + Distance: 0.8449440598487854 + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false Focal Point: - X: -0.1 - Y: 0.25 - Z: 0.30 + X: -0.04136588051915169 + Y: -0.017012163996696472 + Z: 0.08837244659662247 + Focal Shape Fixed Size: true + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false Name: Current View - Pitch: 0.5 - Target Frame: world - Yaw: -0.623 + Near Clip Distance: 0.009999999776482582 + Pitch: 0.44539815187454224 + Target Frame: + Value: Orbit (rviz) + Yaw: 0.5553978681564331 + Saved: ~ Window Geometry: - Height: 975 - QMainWindow State: 000000ff00000000fd0000000100000000000002b400000375fc0200000005fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100fffffffb000000100044006900730070006c006100790073010000003d00000123000000c900fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e00670100000166000001910000018800fffffffb0000000800480065006c0070000000029a0000006e0000006e00fffffffb0000000a0056006900650077007301000002fd000000b5000000a400ffffff000001f60000037500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Width: 1200 + Displays: + collapsed: false + Height: 1056 + Hide Left Dock: false + Hide Right Dock: false + MotionPlanning: + collapsed: false + MotionPlanning - Trajectory Slider: + collapsed: false + QMainWindow State: 000000ff00000000fd000000040000000000000236000003c6fc020000000cfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d000001b2000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e006701000001f50000020e0000018900fffffffb000000280020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000000000000000fb0000003c005400720061006a006500630074006f007200790020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100ffffff000000010000010f000003c6fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d000003c6000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d006501000000000000045000000000000000000000042f000003c600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + Tool Properties: + collapsed: false + Trajectory - Trajectory Slider: + collapsed: false + Views: + collapsed: false + Width: 1920 + X: 0 + Y: 0 \ No newline at end of file From d6a4e16f3f363e78aa23673bd46fab413a8710f1 Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 13 Nov 2024 18:08:40 +0900 Subject: [PATCH 41/41] =?UTF-8?q?Sciurus17=E3=81=AErun=5Fmove=5Fgroup.laun?= =?UTF-8?q?ch.py=E3=81=AE=E6=9B=B8=E3=81=8D=E6=96=B9=E3=81=AB=E5=90=88?= =?UTF-8?q?=E3=82=8F=E3=81=9B=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../launch/run_move_group.launch.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/crane_plus_moveit_config/launch/run_move_group.launch.py b/crane_plus_moveit_config/launch/run_move_group.launch.py index 146cd80..a72bd21 100755 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -19,7 +19,6 @@ from launch.actions import DeclareLaunchArgument from launch.substitutions import LaunchConfiguration from moveit_configs_utils import MoveItConfigsBuilder -from moveit_configs_utils.launch_utils import DeclareBooleanLaunchArg from moveit_configs_utils.launches import generate_move_group_launch from moveit_configs_utils.launches import generate_moveit_rviz_launch from moveit_configs_utils.launches import generate_rsp_launch @@ -42,8 +41,6 @@ def generate_launch_description(): ) ) - ld.add_action(DeclareBooleanLaunchArg('debug', default_value=False)) - ld.add_action( DeclareLaunchArgument( 'rviz_config', @@ -55,15 +52,6 @@ def generate_launch_description(): ) ) - declare_rviz_config_file = DeclareLaunchArgument( - 'rviz_config_file', - default_value=get_package_share_directory('crane_plus_moveit_config') - + '/launch/run_move_group.rviz', - description='Set the path to rviz configuration file.' - ) - - ld.add_action(declare_rviz_config_file) - moveit_config = ( MoveItConfigsBuilder('crane_plus') .planning_scene_monitor(