From 587ec53806889dbdc09029e5007a66adbdcc2ac4 Mon Sep 17 00:00:00 2001 From: Nozomi Mizoguchi Date: Fri, 19 Jul 2024 11:21:01 +0900 Subject: [PATCH 01/61] =?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 cf986cda..e8805be6 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 12a7dbeb..16e3bd93 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 bdf9b19d..926726a6 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 8590e51e..5e274136 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 b9b9f1f6..895a3c1e --- 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 4625155f..f30686de --- 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 7e3685c5..af40281f --- 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 00000000..ac0df2e2 --- /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 a07a406d..a1f17d08 --- 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 00000000..f31651ed --- /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 2e197f5a..3e0299c2 --- 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 00000000..b2997caf --- /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 00000000..5d90e51d --- /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 00000000..2b134ee0 --- /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 00000000..d05ee6c5 --- /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 00000000..9034635d --- /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 00000000..28439b32 --- /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 7e442baf..bea9340b --- 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 00000000..e16485a5 --- /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 00000000..85a8dfc7 --- /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 00000000..7ff90d29 --- /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 00000000..92981372 --- /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 857a4e80..108dd2cf --- 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 00000000..e69de29b diff --git a/install/_local_setup_util_ps1.py b/install/_local_setup_util_ps1.py new file mode 100644 index 00000000..3c6d9e87 --- /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 00000000..f67eaa98 --- /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 00000000..72c9aca4 --- /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 00000000..e69de29b 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 00000000..55163222 --- /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 00000000..c3a13fbd --- /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 00000000..b7b0cc0e --- /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 00000000..96789497 --- /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 00000000..d79b9053 --- /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 00000000..e108e7b3 --- /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 00000000..af40281f --- /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 00000000..bd4b95ae --- /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 00000000..193fbb96 --- /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 00000000..f31651ed --- /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 00000000..f32aafdf --- /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 00000000..b2997caf --- /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 00000000..5d90e51d --- /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 00000000..79d4c95b --- /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 00000000..02e441b7 --- /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 00000000..b94426af --- /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 00000000..e59b749a --- /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 00000000..e119f32c --- /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 00000000..d03facc1 --- /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 00000000..a948e685 --- /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 00000000..2b134ee0 --- /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 00000000..d05ee6c5 --- /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 00000000..9034635d --- /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 00000000..28439b32 --- /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 00000000..398f8808 --- /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 00000000..44b5c6a9 --- /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 00000000..e16485a5 --- /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 00000000..85a8dfc7 --- /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 00000000..7ff90d29 --- /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 00000000..92981372 --- /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 00000000..49782f24 --- /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 00000000..a5047579 --- /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 00000000..4f258b12 --- /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 00000000..fe161be5 --- /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 00000000..27a9ab68 --- /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 00000000..bf76ceda --- /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 00000000..6e321cf1 --- /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 00000000..57bb4350 --- /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 00000000..108dd2cf --- /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 00000000..8e6006dc --- /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 00000000..03f00256 --- /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 00000000..6f68c8de --- /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 00000000..78e2b408 --- /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 00000000..b6487102 --- /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 00000000..07a556ce --- /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 00000000..2d91df92 --- /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 00000000..78792771 --- /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 00000000..99962a2a --- /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 00000000..e69de29b diff --git a/log/latest b/log/latest new file mode 120000 index 00000000..b57d247c --- /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 00000000..2552eddc --- /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/61] =?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 e8805be6..1e5ff7ec 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 16e3bd93..49e90d08 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 926726a6..7a70f071 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 5e274136..73d98682 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 00000000..3058c8a2 --- /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 ac0df2e2..45544801 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 a1f17d08..c9fd73d3 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 5d90e51d..ab5c1e18 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 bea9340b..fb4e9a8d 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 108dd2cf..d4e67418 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 72c9aca4..00000000 --- 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/61] =?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 ba6ffecc..6d611533 --- 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 3058c8a2..00000000 --- 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 e69de29b..00000000 diff --git a/install/_local_setup_util_ps1.py b/install/_local_setup_util_ps1.py deleted file mode 100644 index 3c6d9e87..00000000 --- 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 f67eaa98..00000000 --- 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 e69de29b..00000000 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 55163222..00000000 --- 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 c3a13fbd..00000000 --- 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 b7b0cc0e..00000000 --- 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 96789497..00000000 --- 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 d79b9053..00000000 --- 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 e108e7b3..00000000 --- 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 af40281f..00000000 --- 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 bd4b95ae..00000000 --- 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 193fbb96..00000000 --- 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 f31651ed..00000000 --- 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 f32aafdf..00000000 --- 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 b2997caf..00000000 --- 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 5d90e51d..00000000 --- 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 79d4c95b..00000000 --- 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 02e441b7..00000000 --- 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 b94426af..00000000 --- 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 e59b749a..00000000 --- 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 e119f32c..00000000 --- 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 d03facc1..00000000 --- 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 a948e685..00000000 --- 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 2b134ee0..00000000 --- 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 d05ee6c5..00000000 --- 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 9034635d..00000000 --- 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 28439b32..00000000 --- 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 398f8808..00000000 --- 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 44b5c6a9..00000000 --- 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 e16485a5..00000000 --- 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 85a8dfc7..00000000 --- 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 7ff90d29..00000000 --- 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 92981372..00000000 --- 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 49782f24..00000000 --- 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 a5047579..00000000 --- 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 4f258b12..00000000 --- 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 fe161be5..00000000 --- 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 27a9ab68..00000000 --- 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 bf76ceda..00000000 --- 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 6e321cf1..00000000 --- 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 57bb4350..00000000 --- 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 108dd2cf..00000000 --- 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 8e6006dc..00000000 --- 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 03f00256..00000000 --- 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 6f68c8de..00000000 --- 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 78e2b408..00000000 --- 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 b6487102..00000000 --- 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 07a556ce..00000000 --- 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 2d91df92..00000000 --- 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 78792771..00000000 --- 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 99962a2a..00000000 --- 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 e69de29b..00000000 diff --git a/log/latest b/log/latest deleted file mode 120000 index b57d247c..00000000 --- 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 2552eddc..00000000 --- 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/61] =?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 6d611533..36a17eb9 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 2b134ee0..00000000 --- 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 d05ee6c5..00000000 --- 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 9034635d..00000000 --- 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 28439b32..00000000 --- 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 e16485a5..00000000 --- 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 85a8dfc7..00000000 --- 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 7ff90d29..00000000 --- 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 92981372..00000000 --- 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/61] =?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 45544801..20737bce 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/61] =?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 895a3c1e..20da915b 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 d4e67418..5e8554ba 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/61] =?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 49e90d08..17cd579c 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/61] =?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 44b5c6a9..00000000 --- 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/61] =?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 ab5c1e18..00000000 --- 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/61] =?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 c9fd73d3..084a052c 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/61] =?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 36a17eb9..04d4c3a6 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/61] =?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 00000000..3058c8a2 --- /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 00000000..e16485a5 --- /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/61] =?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 f539e586..d809d96e 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/61] =?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 fb4e9a8d..e20593ca 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/61] =?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 00000000..e549d42b --- /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 00000000..4ca70279 --- /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 00000000..37ec8e75 --- /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 00000000..4ca70279 --- /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 00000000..4ca70279 --- /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 00000000..4ca70279 --- /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 00000000..4ca70279 --- /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 084a052c..d298df20 --- 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/61] =?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/61] =?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 e549d42b..00000000 --- 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 4ca70279..00000000 --- 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 37ec8e75..00000000 --- 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 4ca70279..00000000 --- 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 4ca70279..00000000 --- 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 4ca70279..00000000 --- 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 4ca70279..00000000 --- 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/61] =?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 d298df20..084a052c 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/61] =?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 084a052c..a1f17d08 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/61] =?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 5e8554ba..879c2211 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/61] =?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 04d4c3a6..2152342c 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 17cd579c..12a7dbeb 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 e20593ca..c51d7ad4 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 879c2211..df03651c 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/61] =?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 99fbaba5..b30a063f 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/61] =?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 51fda6ee..c570f387 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/61] =?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 e16485a5..3fcdd9d9 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/61] =?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 c51d7ad4..ba9c9b6b 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/61] =?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 3fcdd9d9..77eb4d9f 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/61] =?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 df03651c..f0ee884e 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/61] =?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 26ae5e94..b49c45bc 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/61] =?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 fa674b61..f5da789d 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/61] =?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 ff083505..0c5f9cd4 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/61] =?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 3e0299c2..2c045524 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/61] =?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 1e5ff7ec..2ac40181 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/61] =?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 2c045524..0d88b7fa 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/61] =?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 2152342c..6b73f639 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/61] =?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 ba9c9b6b..a559544c 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/61] =?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/61] =?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 a1f17d08..05573e5c 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 a559544c..00000000 --- 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/61] =?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 00000000..14bfdcc9 --- /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/61] =?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 14bfdcc9..146cd80e 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/61] =?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 f31651ed..23014c90 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/61] =?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 146cd80e..a72bd213 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( From d0fa64aa85f57986f4699bae6bec5c014617162b Mon Sep 17 00:00:00 2001 From: mizonon Date: Tue, 26 Nov 2024 18:14:34 +0900 Subject: [PATCH 42/61] =?UTF-8?q?gz=5Fsim=E5=AF=BE=E5=BF=9C(crane=5Fplus?= =?UTF-8?q?=5Fgazebo=E3=83=91=E3=83=83=E3=82=B1=E3=83=BC=E3=82=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_gazebo/gui/gui.config | 32 +++++++++---------- .../launch/crane_plus_with_table.launch.py | 12 +++---- crane_plus_gazebo/worlds/table.sdf | 20 ++++++------ 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/crane_plus_gazebo/gui/gui.config b/crane_plus_gazebo/gui/gui.config index 6f8b4dce..2b0ecdae 100644 --- a/crane_plus_gazebo/gui/gui.config +++ b/crane_plus_gazebo/gui/gui.config @@ -28,11 +28,11 @@ - + 3D View false docked - + ogre2 scene @@ -43,7 +43,7 @@ - + World control false false @@ -56,7 +56,7 @@ - + true true @@ -66,7 +66,7 @@ - + World stats false false @@ -79,7 +79,7 @@ - + true true @@ -90,7 +90,7 @@ - + false 0 0 @@ -99,12 +99,12 @@ floating false #666666 - + - + false 250 0 @@ -113,12 +113,12 @@ floating false #666666 - + - + false 400 0 @@ -127,21 +127,21 @@ floating false #666666 - + - + false docked - + - + false docked - + diff --git a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py index 67a2187d..5041565b 100644 --- a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py +++ b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py @@ -26,16 +26,16 @@ def generate_launch_description(): # PATHを追加で通さないとSTLファイルが読み込まれない - env = {'IGN_GAZEBO_SYSTEM_PLUGIN_PATH': os.environ['LD_LIBRARY_PATH'], - 'IGN_GAZEBO_RESOURCE_PATH': os.path.dirname( + env = {'GZ_SIM_SYSTEM_PLUGIN_PATH': os.environ['LD_LIBRARY_PATH'], + 'GZ_SIM_RESOURCE_PATH': os.path.dirname( get_package_share_directory('crane_plus_description'))} world_file = os.path.join( get_package_share_directory('crane_plus_gazebo'), 'worlds', 'table.sdf') gui_config = os.path.join( get_package_share_directory('crane_plus_gazebo'), 'gui', 'gui.config') # -r オプションで起動時にシミュレーションをスタートしないと、コントローラが起動しない - ign_gazebo = ExecuteProcess( - cmd=['ign gazebo -r', world_file, '--gui-config', gui_config], + gz_sim = ExecuteProcess( + cmd=['gz sim -r', world_file, '--gui-config', gui_config], output='screen', additional_env=env, shell=True @@ -86,13 +86,13 @@ def generate_launch_description(): bridge = Node( package='ros_gz_bridge', executable='parameter_bridge', - arguments=['/clock@rosgraph_msgs/msg/Clock[ignition.msgs.Clock'], + arguments=['/clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock'], output='screen' ) return LaunchDescription([ SetParameter(name='use_sim_time', value=True), - ign_gazebo, + gz_sim, gazebo_spawn_entity, move_group, spawn_joint_state_controller, diff --git a/crane_plus_gazebo/worlds/table.sdf b/crane_plus_gazebo/worlds/table.sdf index bc2925b3..0fb60148 100644 --- a/crane_plus_gazebo/worlds/table.sdf +++ b/crane_plus_gazebo/worlds/table.sdf @@ -6,40 +6,40 @@ 1.0 + filename="gz-sim-physics-system" + name="gz::sim::systems::Physics"> + filename="gz-sim-user-commands-system" + name="gz::sim::systems::UserCommands"> + filename="gz-sim-scene-broadcaster-system" + name="gz::sim::systems::SceneBroadcaster"> - https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Sun + https://fuel.gazebosim.org/1.0/OpenRobotics/models/Sun - https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Ground%20Plane + https://fuel.gazebosim.org/1.0/OpenRobotics/models/Ground%20Plane - https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Table + https://fuel.gazebosim.org/1.0/OpenRobotics/models/Table 0.29 0 0 0 0 1.5708 - https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Wood%20cube%205cm + https://fuel.gazebosim.org/1.0/OpenRobotics/models/Wood%20cube%205cm 0 -0.1 1.0 0 0 0 From 9359f4dd32c712d0d3337d6849279c984bcbea5c Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 27 Nov 2024 15:23:35 +0900 Subject: [PATCH 43/61] =?UTF-8?q?gz=5Fsim=E5=AF=BE=E5=BF=9C(crane=5Fplus?= =?UTF-8?q?=5Fdescription=E3=83=91=E3=83=83=E3=82=B1=E3=83=BC=E3=82=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/test_robot_description_loader.py | 10 ---------- .../urdf/crane_plus.gazebo.xacro | 15 +++------------ .../urdf/crane_plus.gazebo_ros2_control.xacro | 8 +------- 3 files changed, 4 insertions(+), 29 deletions(-) diff --git a/crane_plus_description/test/test_robot_description_loader.py b/crane_plus_description/test/test_robot_description_loader.py index ea93d343..b8e45745 100644 --- a/crane_plus_description/test/test_robot_description_loader.py +++ b/crane_plus_description/test/test_robot_description_loader.py @@ -55,16 +55,6 @@ def test_use_gazebo(): assert 'gazebo_ros2_control/GazeboSystem' in exec_load(rdl) -def test_use_ignition(): - # use_gazeboとuse_ignitionが変更され、xacroにign_ros2_controlがセットされることを期待 - rdl = RobotDescriptionLoader() - rdl.use_gazebo = 'true' - rdl.use_ignition = 'true' - rdl.gz_control_config_package = 'crane_plus_description' - rdl.gz_control_config_file_path = 'test/dummy_controllers.yaml' - assert 'ign_ros2_control/IgnitionSystem' in exec_load(rdl) - - def test_use_camera(): # use_cameraが変更されて、xacroにcameraがセットされることを期待 rdl = RobotDescriptionLoader() diff --git a/crane_plus_description/urdf/crane_plus.gazebo.xacro b/crane_plus_description/urdf/crane_plus.gazebo.xacro index 791a00b9..9c8984d1 100644 --- a/crane_plus_description/urdf/crane_plus.gazebo.xacro +++ b/crane_plus_description/urdf/crane_plus.gazebo.xacro @@ -32,18 +32,9 @@ "> - - - $(find ${config_package})/${config_file_path} - - - - - - gazebo_ros2_control/GazeboSystem - $(find ${config_package})/${config_file_path} - - + + $(find ${config_package})/${config_file_path} + diff --git a/crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro b/crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro index 5ae8c744..2572255b 100644 --- a/crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro +++ b/crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro @@ -23,13 +23,7 @@ - - ign_ros2_control/IgnitionSystem - - - - gazebo_ros2_control/GazeboSystem - + gz_ros2_control/GazeboSimSystem From af8dbaa06c01893801d33421788a0d4d6cc4da22 Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 27 Nov 2024 18:03:39 +0900 Subject: [PATCH 44/61] =?UTF-8?q?Ignition=E3=82=92=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=81=8B=E3=81=AE=E3=83=91=E3=83=A9=E3=83=A1?= =?UTF-8?q?=E3=82=BFuse=5Fignition=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../crane_plus_description/robot_description_loader.py | 2 -- crane_plus_description/urdf/crane_plus.gazebo.xacro | 1 - .../urdf/crane_plus.gazebo_ros2_control.xacro | 1 - crane_plus_description/urdf/crane_plus.urdf.xacro | 5 +---- crane_plus_gazebo/launch/crane_plus_with_table.launch.py | 1 - 5 files changed, 1 insertion(+), 9 deletions(-) diff --git a/crane_plus_description/crane_plus_description/robot_description_loader.py b/crane_plus_description/crane_plus_description/robot_description_loader.py index ebb9950f..48e271c3 100755 --- a/crane_plus_description/crane_plus_description/robot_description_loader.py +++ b/crane_plus_description/crane_plus_description/robot_description_loader.py @@ -27,7 +27,6 @@ def __init__(self): 'crane_plus.urdf.xacro') self.port_name = '/dev/ttyUSB0' self.use_gazebo = 'false' - self.use_ignition = 'false' self.use_camera = 'false' self.gz_control_config_package = '' self.gz_control_config_file_path = '' @@ -38,7 +37,6 @@ def load(self): self.robot_description_path, ' port_name:=', self.port_name, ' use_gazebo:=', self.use_gazebo, - ' use_ignition:=', self.use_ignition, ' use_camera:=', self.use_camera, ' gz_control_config_package:=', self.gz_control_config_package, ' gz_control_config_file_path:=', self.gz_control_config_file_path diff --git a/crane_plus_description/urdf/crane_plus.gazebo.xacro b/crane_plus_description/urdf/crane_plus.gazebo.xacro index 9c8984d1..3faf9ddd 100644 --- a/crane_plus_description/urdf/crane_plus.gazebo.xacro +++ b/crane_plus_description/urdf/crane_plus.gazebo.xacro @@ -26,7 +26,6 @@ name_link_3 name_link_4 name_link_hand - use_ignition config_package config_file_path "> diff --git a/crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro b/crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro index 2572255b..95678218 100644 --- a/crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro +++ b/crane_plus_description/urdf/crane_plus.gazebo_ros2_control.xacro @@ -18,7 +18,6 @@ joint_4_upper_limit joint_hand_lower_limit joint_hand_upper_limit - use_ignition "> diff --git a/crane_plus_description/urdf/crane_plus.urdf.xacro b/crane_plus_description/urdf/crane_plus.urdf.xacro index d783b819..8855bd19 100644 --- a/crane_plus_description/urdf/crane_plus.urdf.xacro +++ b/crane_plus_description/urdf/crane_plus.urdf.xacro @@ -13,7 +13,6 @@ - @@ -130,7 +129,6 @@ name_link_3="${NAME_LINK_3}" name_link_4="${NAME_LINK_4}" name_link_hand="${NAME_LINK_HAND}" - use_ignition="$(arg use_ignition)" config_package="$(arg gz_control_config_package)" config_file_path="$(arg gz_control_config_file_path)" /> @@ -150,8 +148,7 @@ joint_4_lower_limit="${JOINT_4_LOWER_LIMIT}" joint_4_upper_limit="${JOINT_4_UPPER_LIMIT}" joint_hand_lower_limit="${JOINT_HAND_LOWER_LIMIT}" - joint_hand_upper_limit="${JOINT_HAND_UPPER_LIMIT}" - use_ignition="$(arg use_ignition)" /> + joint_hand_upper_limit="${JOINT_HAND_UPPER_LIMIT}"/> diff --git a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py index 5041565b..2d614d77 100644 --- a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py +++ b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py @@ -53,7 +53,6 @@ def generate_launch_description(): description_loader = RobotDescriptionLoader() description_loader.use_gazebo = 'true' - description_loader.use_ignition = 'true' description_loader.gz_control_config_package = 'crane_plus_control' description_loader.gz_control_config_file_path = 'config/crane_plus_controllers.yaml' description = description_loader.load() From a0e8330adb391f1d9c08d9700ee7e4f81eefd22b Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 27 Nov 2024 18:38:22 +0900 Subject: [PATCH 45/61] =?UTF-8?q?test=5Fuse=5Fgazebo=E3=82=92Gazebo=20Harm?= =?UTF-8?q?onic=E3=81=AB=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_description/test/test_robot_description_loader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crane_plus_description/test/test_robot_description_loader.py b/crane_plus_description/test/test_robot_description_loader.py index b8e45745..47358fd3 100644 --- a/crane_plus_description/test/test_robot_description_loader.py +++ b/crane_plus_description/test/test_robot_description_loader.py @@ -52,7 +52,7 @@ def test_use_gazebo(): rdl.use_gazebo = 'true' rdl.gz_control_config_package = 'crane_plus_description' rdl.gz_control_config_file_path = 'test/dummy_controllers.yaml' - assert 'gazebo_ros2_control/GazeboSystem' in exec_load(rdl) + assert 'gz_ros2_control/GazeboSimSystem' in exec_load(rdl) def test_use_camera(): From 3fdea40e1bd59b9b5af68d935e668cb2def9f193 Mon Sep 17 00:00:00 2001 From: mizonon Date: Wed, 27 Nov 2024 19:54:59 +0900 Subject: [PATCH 46/61] =?UTF-8?q?3D=20Scene=E3=81=AEGUI=E3=82=92Gazebo=20H?= =?UTF-8?q?armonic=E3=81=AB=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_gazebo/gui/gui.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crane_plus_gazebo/gui/gui.config b/crane_plus_gazebo/gui/gui.config index 2b0ecdae..99ca7a8c 100644 --- a/crane_plus_gazebo/gui/gui.config +++ b/crane_plus_gazebo/gui/gui.config @@ -27,7 +27,7 @@ - + 3D View false From 30b83f49662859d0968a4d499e17eb61fa5164f9 Mon Sep 17 00:00:00 2001 From: mizonon Date: Fri, 29 Nov 2024 19:10:27 +0900 Subject: [PATCH 47/61] =?UTF-8?q?MoveitConfigsBuilder=E3=82=92=E4=BD=BF?= =?UTF-8?q?=E3=81=84=E3=81=A4=E3=81=A4=E3=80=81rviz=E3=81=AE=E8=A8=AD?= =?UTF-8?q?=E5=AE=9A=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E3=82=92=E9=81=A9?= =?UTF-8?q?=E5=88=87=E3=81=AB=E8=A8=AD=E5=AE=9A=E3=81=99=E3=82=8B=E8=A6=81?= =?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_examples/launch/demo.launch.py | 14 ++++++++++---- .../launch/run_move_group.launch.py | 9 +++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/crane_plus_examples/launch/demo.launch.py b/crane_plus_examples/launch/demo.launch.py index 12a7dbeb..5e164b06 100644 --- a/crane_plus_examples/launch/demo.launch.py +++ b/crane_plus_examples/launch/demo.launch.py @@ -48,18 +48,24 @@ def generate_launch_description(): description_loader.use_camera = LaunchConfiguration('use_camera') description = description_loader.load() + rviz_config_file_move_group = get_package_share_directory( + 'crane_plus_moveit_config' + ) + '/config/moveit.rviz' + rviz_config_file_camera = get_package_share_directory( + 'crane_plus_examples' + ) + '/launch/camera_example.rviz' + move_group = IncludeLaunchDescription( PythonLaunchDescriptionSource([ get_package_share_directory('crane_plus_moveit_config'), '/launch/run_move_group.launch.py']), condition=UnlessCondition(LaunchConfiguration('use_camera')), launch_arguments={ - 'loaded_description': description + 'loaded_description': description, + 'rviz_config': rviz_config_file_move_group }.items() ) - rviz_config_file = get_package_share_directory( - 'crane_plus_examples') + '/launch/camera_example.rviz' move_group_camera = IncludeLaunchDescription( PythonLaunchDescriptionSource([ get_package_share_directory('crane_plus_moveit_config'), @@ -67,7 +73,7 @@ def generate_launch_description(): condition=IfCondition(LaunchConfiguration('use_camera')), launch_arguments={ 'loaded_description': description, - 'rviz_config_file': rviz_config_file + 'rviz_config': rviz_config_file_camera }.items() ) 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 a72bd213..3b7d728d 100755 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -18,6 +18,7 @@ from launch import LaunchDescription from launch.actions import DeclareLaunchArgument from launch.substitutions import LaunchConfiguration +from launch_ros.actions import Node 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 @@ -51,6 +52,8 @@ def generate_launch_description(): description='Set the path to rviz configuration file.', ) ) + + rviz_config = LaunchConfiguration('rviz_config') moveit_config = ( MoveItConfigsBuilder('crane_plus') @@ -74,6 +77,12 @@ def generate_launch_description(): ld.add_entity(generate_move_group_launch(moveit_config)) # RViz + rviz_entities = generate_moveit_rviz_launch(moveit_config).entities + for entity in rviz_entities: + if isinstance(entity, Node): + entity.cmd.extend(['--ros-args', '--params-file', rviz_config]) + ld.add_entity(entity) + ld.add_entity(generate_moveit_rviz_launch(moveit_config)) # Static TF From 89749f5d5abf7b8cd191fca4359677d2002d28ab Mon Sep 17 00:00:00 2001 From: mizonon Date: Fri, 29 Nov 2024 19:19:32 +0900 Subject: [PATCH 48/61] =?UTF-8?q?MoveitConfigsBuilder=E3=82=92=E4=BD=BF?= =?UTF-8?q?=E3=81=84=E3=81=A4=E3=81=A4=E3=80=81rviz=E3=81=AE=E8=A8=AD?= =?UTF-8?q?=E5=AE=9A=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E3=82=92=E9=81=A9?= =?UTF-8?q?=E5=88=87=E3=81=AB=E8=A8=AD=E5=AE=9A=E3=81=99=E3=82=8B=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_moveit_config/launch/run_move_group.launch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 3b7d728d..99fdc906 100755 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -52,7 +52,7 @@ def generate_launch_description(): description='Set the path to rviz configuration file.', ) ) - + rviz_config = LaunchConfiguration('rviz_config') moveit_config = ( From f6a5c394c8d400d566f08a6324d083087959d6a9 Mon Sep 17 00:00:00 2001 From: Kuwamai Date: Tue, 3 Dec 2024 10:54:03 +0900 Subject: [PATCH 49/61] =?UTF-8?q?Gazebo=E7=92=B0=E5=A2=83=E3=81=AB?= =?UTF-8?q?=E3=82=AB=E3=83=A1=E3=83=A9=E3=82=92=E8=BF=BD=E5=8A=A0=20(#83)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * カメラ追加 * use_sim_timeオプション追加 * カメラの画角調整 * 色検出サンプルの色しきい値調整 * 把持位置調整 * 現バージョンのデフォルト設定を反映 * ArUcoマーカ付きの立方体を追加 * ワールド、launchファイル追加 * use_cameraの有効化 * use_cameraを引数で切り替えられるように変更 * カメラスタンドのURDF修正 --- crane_plus_description/urdf/camera.urdf.xacro | 15 +- .../urdf/camera_stand.urdf.xacro | 61 ++++++-- .../urdf/crane_plus.gazebo.xacro | 51 +++++++ .../urdf/crane_plus.urdf.xacro | 2 + crane_plus_examples/README.md | 22 +++ .../launch/camera_example.launch.py | 16 ++ crane_plus_examples/launch/example.launch.py | 8 + crane_plus_examples/src/color_detection.cpp | 6 +- crane_plus_examples/src/pick_and_place_tf.cpp | 4 +- crane_plus_gazebo/CMakeLists.txt | 1 + crane_plus_gazebo/README.md | 18 +++ crane_plus_gazebo/gui/gui.config | 137 ++++++++++++++++-- .../crane_plus_with_aruco_cube.launch.py | 41 ++++++ .../launch/crane_plus_with_red_cube.launch.py | 41 ++++++ .../launch/crane_plus_with_table.launch.py | 56 +++++-- .../aruco_cube_0/meshes/aruco_cube_0.dae | 115 +++++++++++++++ .../aruco_cube_0/meshes/aruco_cube_0.png | Bin 0 -> 4044 bytes .../models/aruco_cube_0/model.config | 16 ++ .../models/aruco_cube_0/model.sdf | 38 +++++ crane_plus_gazebo/worlds/table.sdf | 16 +- .../worlds/table_with_aruco_cube.sdf | 50 +++++++ .../worlds/table_with_red_cube.sdf | 50 +++++++ 22 files changed, 712 insertions(+), 52 deletions(-) create mode 100644 crane_plus_gazebo/launch/crane_plus_with_aruco_cube.launch.py create mode 100644 crane_plus_gazebo/launch/crane_plus_with_red_cube.launch.py create mode 100644 crane_plus_gazebo/models/aruco_cube_0/meshes/aruco_cube_0.dae create mode 100644 crane_plus_gazebo/models/aruco_cube_0/meshes/aruco_cube_0.png create mode 100644 crane_plus_gazebo/models/aruco_cube_0/model.config create mode 100644 crane_plus_gazebo/models/aruco_cube_0/model.sdf create mode 100644 crane_plus_gazebo/worlds/table_with_aruco_cube.sdf create mode 100644 crane_plus_gazebo/worlds/table_with_red_cube.sdf diff --git a/crane_plus_description/urdf/camera.urdf.xacro b/crane_plus_description/urdf/camera.urdf.xacro index 8e467e36..1fd58bd9 100644 --- a/crane_plus_description/urdf/camera.urdf.xacro +++ b/crane_plus_description/urdf/camera.urdf.xacro @@ -7,14 +7,23 @@ - + - + + + + + + + + + + - + diff --git a/crane_plus_description/urdf/camera_stand.urdf.xacro b/crane_plus_description/urdf/camera_stand.urdf.xacro index d5c3d866..e4db139e 100644 --- a/crane_plus_description/urdf/camera_stand.urdf.xacro +++ b/crane_plus_description/urdf/camera_stand.urdf.xacro @@ -7,16 +7,23 @@ - + + + + + + + + - + @@ -31,11 +38,18 @@ + + + + + + + - - + + @@ -43,17 +57,24 @@ - + + + + + + + + - - + + @@ -61,17 +82,24 @@ - + + + + + + + + - - + + @@ -79,17 +107,24 @@ - + + + + + + + + - - + + diff --git a/crane_plus_description/urdf/crane_plus.gazebo.xacro b/crane_plus_description/urdf/crane_plus.gazebo.xacro index 3faf9ddd..78a34a05 100644 --- a/crane_plus_description/urdf/crane_plus.gazebo.xacro +++ b/crane_plus_description/urdf/crane_plus.gazebo.xacro @@ -26,6 +26,8 @@ name_link_3 name_link_4 name_link_hand + use_camera + use_ignition config_package config_file_path "> @@ -72,5 +74,54 @@ + + + + ogre2 + + + + + + 0 0 0 ${radians(90)} ${radians(-90)} 0 + 10 + true + image_raw + camera_color_optical_frame + + + + + + ${camera_hfov} + + ${camera_width} + ${camera_height} + + + 0.1 + 10.0 + + + + ${camera_focal_length} + ${camera_focal_length} + ${(camera_width + 1) / 2} + ${(camera_height + 1) / 2} + 1.0 + + + ${camera_focal_length} + ${camera_focal_length} + ${(camera_width + 1) / 2} + ${(camera_height + 1) / 2} + 0 + 0 + + + + + + diff --git a/crane_plus_description/urdf/crane_plus.urdf.xacro b/crane_plus_description/urdf/crane_plus.urdf.xacro index 8855bd19..6741ac2c 100644 --- a/crane_plus_description/urdf/crane_plus.urdf.xacro +++ b/crane_plus_description/urdf/crane_plus.urdf.xacro @@ -129,6 +129,8 @@ name_link_3="${NAME_LINK_3}" name_link_4="${NAME_LINK_4}" name_link_hand="${NAME_LINK_HAND}" + use_camera="$(arg use_camera)" + use_ignition="$(arg use_ignition)" config_package="$(arg gz_control_config_package)" config_file_path="$(arg gz_control_config_file_path)" /> diff --git a/crane_plus_examples/README.md b/crane_plus_examples/README.md index 872e7bd1..6d25c562 100644 --- a/crane_plus_examples/README.md +++ b/crane_plus_examples/README.md @@ -53,6 +53,28 @@ $ ros2 launch crane_plus_examples demo.launch.py port_name:=/dev/ttyUSB0 use_cam $ ros2 launch crane_plus_gazebo crane_plus_with_table.launch.py ``` +#### Webカメラ搭載モデルを使用する場合 + +Webカメラ搭載モデルの場合は、次のコマンドを実行してください。 + +```sh +$ ros2 launch crane_plus_gazebo crane_plus_with_table.launch.py use_camera:=true +``` + +CRANE+ V2の前にArUcoマーカ付きのBoxを置いたシミュレータ環境を使用する場合は次のコマンドを実行します。 +[aruco\_detection](#aruco_detection)サンプルを実行する際に使用することを想定しています。 + +```sh +$ ros2 launch crane_plus_gazebo crane_plus_with_aruco_cube.launch.py use_camera:=true +``` + +CRANE+ V2の前に赤いBoxを置いたシミュレータ環境を使用する場合は次のコマンドを実行します。 +[color\_detection](#color_detection)サンプルを実行する際に使用すること想定しています。 + +```sh +$ ros2 launch crane_plus_gazebo crane_plus_with_red_cube.launch.py use_camera:=true +``` + ## サンプルプログラムを実行する 準備ができたらサンプルプログラムを実行します。 diff --git a/crane_plus_examples/launch/camera_example.launch.py b/crane_plus_examples/launch/camera_example.launch.py index 3bd94dfa..e0a7b1b4 100644 --- a/crane_plus_examples/launch/camera_example.launch.py +++ b/crane_plus_examples/launch/camera_example.launch.py @@ -20,6 +20,7 @@ from launch.actions import DeclareLaunchArgument from launch.substitutions import LaunchConfiguration from launch_ros.actions import Node +from launch_ros.actions import SetParameter import yaml @@ -46,7 +47,14 @@ def load_yaml(package_name, file_path): def generate_launch_description(): + declare_use_camera = DeclareLaunchArgument( + 'use_camera', + default_value='true', + description='Use camera.' + ) + description_loader = RobotDescriptionLoader() + description_loader.use_camera = LaunchConfiguration('use_camera') robot_description_semantic_config = load_file( 'crane_plus_moveit_config', 'config/crane_plus.srdf') @@ -61,6 +69,11 @@ def generate_launch_description(): '[color_detection]') ) + declare_use_sim_time = DeclareLaunchArgument( + 'use_sim_time', default_value='false', + description=('Set true when using the gazebo simulator.') + ) + picking_node = Node(name='pick_and_place_tf', package='crane_plus_examples', executable='pick_and_place_tf', @@ -75,6 +88,9 @@ def generate_launch_description(): output='screen') return LaunchDescription([ + declare_use_camera, + declare_use_sim_time, + SetParameter(name='use_sim_time', value=LaunchConfiguration('use_sim_time')), detection_node, picking_node, declare_example_name diff --git a/crane_plus_examples/launch/example.launch.py b/crane_plus_examples/launch/example.launch.py index 01ea6343..e5f98740 100644 --- a/crane_plus_examples/launch/example.launch.py +++ b/crane_plus_examples/launch/example.launch.py @@ -47,7 +47,14 @@ def load_yaml(package_name, file_path): def generate_launch_description(): + declare_use_camera = DeclareLaunchArgument( + 'use_camera', + default_value='false', + description='Use camera.' + ) + description_loader = RobotDescriptionLoader() + description_loader.use_camera = LaunchConfiguration('use_camera') robot_description_semantic_config = load_file( 'crane_plus_moveit_config', 'config/crane_plus.srdf') @@ -76,6 +83,7 @@ def generate_launch_description(): kinematics_yaml]) return LaunchDescription([ + declare_use_camera, declare_use_sim_time, SetParameter(name='use_sim_time', value=LaunchConfiguration('use_sim_time')), declare_example_name, diff --git a/crane_plus_examples/src/color_detection.cpp b/crane_plus_examples/src/color_detection.cpp index 73d98682..b6c46b67 100644 --- a/crane_plus_examples/src/color_detection.cpp +++ b/crane_plus_examples/src/color_detection.cpp @@ -65,10 +65,10 @@ class ImageSubscriber : public rclcpp::Node if (camera_info_) { // 赤い物体を検出するようにHSVの範囲を設定 // 周囲の明るさ等の動作環境に合わせて調整 - const int LOW_H_1 = 0, HIGH_H_1 = 20; - const int LOW_H_2 = 160, HIGH_H_2 = 179; + const int LOW_H_1 = 0, HIGH_H_1 = 10; + const int LOW_H_2 = 170, HIGH_H_2 = 179; const int LOW_S = 100, HIGH_S = 255; - const int LOW_V = 50, HIGH_V = 255; + const int LOW_V = 100, HIGH_V = 255; // ウェブカメラの画像を受け取る auto cv_img = cv_bridge::toCvShare(msg, msg->encoding); diff --git a/crane_plus_examples/src/pick_and_place_tf.cpp b/crane_plus_examples/src/pick_and_place_tf.cpp index 6a49915f..d91bdbc0 100644 --- a/crane_plus_examples/src/pick_and_place_tf.cpp +++ b/crane_plus_examples/src/pick_and_place_tf.cpp @@ -155,7 +155,7 @@ class PickAndPlaceTf : public rclcpp::Node const double GRIPPER_OFFSET = 0.13; double gripper_offset_x = GRIPPER_OFFSET * std::cos(theta_rad); double gripper_offset_y = GRIPPER_OFFSET * std::sin(theta_rad); - if (!control_arm(x - gripper_offset_x, y - gripper_offset_y, 0.05, 0, 90, theta_deg)) { + if (!control_arm(x - gripper_offset_x, y - gripper_offset_y, 0.04, 0, 90, theta_deg)) { // アーム動作に失敗した時はpick_and_placeを中断して待機姿勢に戻る control_arm(0.0, 0.0, 0.17, 0, 0, 0); return; @@ -168,7 +168,7 @@ class PickAndPlaceTf : public rclcpp::Node control_arm(0.0, 0.0, 0.17, 0, 90, 0); // 下ろす - control_arm(0.0, -0.15, 0.06, 0, 90, -90); + control_arm(0.0, -0.15, 0.05, 0, 90, -90); // ハンドを開く control_gripper(GRIPPER_OPEN); diff --git a/crane_plus_gazebo/CMakeLists.txt b/crane_plus_gazebo/CMakeLists.txt index 8709f0e1..a139c358 100644 --- a/crane_plus_gazebo/CMakeLists.txt +++ b/crane_plus_gazebo/CMakeLists.txt @@ -7,6 +7,7 @@ install(DIRECTORY launch worlds gui + models DESTINATION share/${PROJECT_NAME}/ ) diff --git a/crane_plus_gazebo/README.md b/crane_plus_gazebo/README.md index 07a43ed5..d76b9b2b 100644 --- a/crane_plus_gazebo/README.md +++ b/crane_plus_gazebo/README.md @@ -15,4 +15,22 @@ CRANE+ V2 の[Gazebo](https://gazebosim.org/home) $ ros2 launch crane_plus_gazebo crane_plus_with_table.launch.py ``` +カメラ付きモデルを使用する場合は下記コマンドを実行します。 + +```sh +$ ros2 launch crane_plus_gazebo crane_plus_with_table.launch.py use_camera:=true +``` + +CRANE+ V2の前にArUcoマーカ付きのBoxを置いたシミュレータ環境を使用する場合は下記コマンドを実行します。 + +```sh +$ ros2 launch crane_plus_gazebo crane_plus_with_aruco_cube.launch.py +``` + +CRANE+ V2の前に赤いBoxを置いたシミュレータ環境を使用する場合は下記コマンドを実行します。 + +```sh +$ ros2 launch crane_plus_gazebo crane_plus_with_red_cube.launch.py +``` + ![crane_plus_ignition](https://rt-net.github.io/images/crane-plus/crane_plus_ignition.png) diff --git a/crane_plus_gazebo/gui/gui.config b/crane_plus_gazebo/gui/gui.config index 99ca7a8c..2c82af0b 100644 --- a/crane_plus_gazebo/gui/gui.config +++ b/crane_plus_gazebo/gui/gui.config @@ -28,7 +28,7 @@ - + 3D View false docked @@ -38,10 +38,86 @@ scene 0.4 0.4 0.4 0.8 0.8 0.8 - 0.4 0 1.4 0 0.4 3.14 + 0.7 0 1.5 0 0.4 3.14 + 50 - + + + + floating + 5 + 5 + false + + + + + false + 5 + 5 + floating + false + + + + + false + 5 + 5 + floating + false + + + + + false + 5 + 5 + floating + false + + + + + false + 5 + 5 + floating + false + + + + + false + 5 + 5 + floating + false + + + + + + false + 5 + 5 + floating + false + + + + + + false + 5 + 5 + floating + false + + + + World control @@ -61,10 +137,11 @@ true true true + true - + World stats @@ -85,12 +162,11 @@ true true true - - - - + + + false 0 0 @@ -102,9 +178,9 @@ - - - + + + false 250 0 @@ -116,18 +192,49 @@ + + + + false + 0 + 50 + 250 + 50 + floating + false + #777777 + + + + false + + false - 400 - 0 + 250 + 50 50 50 floating false - #666666 - + #777777 + + + + + + + false + 300 + 50 + 100 + 50 + floating + false + #777777 + diff --git a/crane_plus_gazebo/launch/crane_plus_with_aruco_cube.launch.py b/crane_plus_gazebo/launch/crane_plus_with_aruco_cube.launch.py new file mode 100644 index 00000000..077e9b4c --- /dev/null +++ b/crane_plus_gazebo/launch/crane_plus_with_aruco_cube.launch.py @@ -0,0 +1,41 @@ +# Copyright 2024 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 IncludeLaunchDescription +from launch_ros.actions import SetParameter +from launch.launch_description_sources import PythonLaunchDescriptionSource + + +def generate_launch_description(): + world_file = os.path.join( + get_package_share_directory('crane_plus_gazebo'), + 'worlds', + 'table_with_aruco_cube.sdf') + world_launch = IncludeLaunchDescription( + PythonLaunchDescriptionSource([ + get_package_share_directory('crane_plus_gazebo'), + '/launch/crane_plus_with_table.launch.py']), + launch_arguments={ + 'world_name': world_file + }.items() + ) + + return LaunchDescription([ + SetParameter(name='use_sim_time', value=True), + world_launch + ]) diff --git a/crane_plus_gazebo/launch/crane_plus_with_red_cube.launch.py b/crane_plus_gazebo/launch/crane_plus_with_red_cube.launch.py new file mode 100644 index 00000000..8d7130a2 --- /dev/null +++ b/crane_plus_gazebo/launch/crane_plus_with_red_cube.launch.py @@ -0,0 +1,41 @@ +# Copyright 2024 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 IncludeLaunchDescription +from launch_ros.actions import SetParameter +from launch.launch_description_sources import PythonLaunchDescriptionSource + + +def generate_launch_description(): + world_file = os.path.join( + get_package_share_directory('crane_plus_gazebo'), + 'worlds', + 'table_with_red_cube.sdf') + world_launch = IncludeLaunchDescription( + PythonLaunchDescriptionSource([ + get_package_share_directory('crane_plus_gazebo'), + '/launch/crane_plus_with_table.launch.py']), + launch_arguments={ + 'world_name': world_file + }.items() + ) + + return LaunchDescription([ + SetParameter(name='use_sim_time', value=True), + world_launch + ]) diff --git a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py index 2d614d77..024cdbda 100644 --- a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py +++ b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py @@ -17,25 +17,43 @@ 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.actions import ExecuteProcess from launch.actions import IncludeLaunchDescription +from launch.conditions import IfCondition +from launch.conditions import UnlessCondition from launch.launch_description_sources import PythonLaunchDescriptionSource from launch_ros.actions import Node from launch_ros.actions import SetParameter +from launch.substitutions import LaunchConfiguration def generate_launch_description(): + declare_use_camera = DeclareLaunchArgument( + 'use_camera', + default_value='false', + description='Use camera.' + ) + + declare_world_name = DeclareLaunchArgument( + 'world_name', + default_value=os.path.join( + get_package_share_directory('crane_plus_gazebo'), 'worlds', 'table.sdf'), + description='Set world name.' + ) + # PATHを追加で通さないとSTLファイルが読み込まれない - env = {'GZ_SIM_SYSTEM_PLUGIN_PATH': os.environ['LD_LIBRARY_PATH'], - 'GZ_SIM_RESOURCE_PATH': os.path.dirname( - get_package_share_directory('crane_plus_description'))} - world_file = os.path.join( - get_package_share_directory('crane_plus_gazebo'), 'worlds', 'table.sdf') + env = {'IGN_GAZEBO_SYSTEM_PLUGIN_PATH': os.environ['LD_LIBRARY_PATH'], + 'IGN_GAZEBO_RESOURCE_PATH': os.path.dirname( + get_package_share_directory('crane_plus_description')) + ':' + + os.path.join(get_package_share_directory('crane_plus_gazebo'), 'models'), + } + gui_config = os.path.join( get_package_share_directory('crane_plus_gazebo'), 'gui', 'gui.config') # -r オプションで起動時にシミュレーションをスタートしないと、コントローラが起動しない - gz_sim = ExecuteProcess( - cmd=['gz sim -r', world_file, '--gui-config', gui_config], + ign_gazebo = ExecuteProcess( + cmd=['ign gazebo -r', LaunchConfiguration('world_name'), '--gui-config', gui_config], output='screen', additional_env=env, shell=True @@ -52,6 +70,7 @@ def generate_launch_description(): ) description_loader = RobotDescriptionLoader() + description_loader.use_camera = LaunchConfiguration('use_camera') description_loader.use_gazebo = 'true' description_loader.gz_control_config_package = 'crane_plus_control' description_loader.gz_control_config_file_path = 'config/crane_plus_controllers.yaml' @@ -61,9 +80,23 @@ def generate_launch_description(): PythonLaunchDescriptionSource([ get_package_share_directory('crane_plus_moveit_config'), '/launch/run_move_group.launch.py']), + condition=UnlessCondition(LaunchConfiguration('use_camera')), launch_arguments={'loaded_description': description}.items() ) + rviz_config_file = get_package_share_directory( + 'crane_plus_examples') + '/launch/camera_example.rviz' + move_group_camera = IncludeLaunchDescription( + PythonLaunchDescriptionSource([ + get_package_share_directory('crane_plus_moveit_config'), + '/launch/run_move_group.launch.py']), + condition=IfCondition(LaunchConfiguration('use_camera')), + launch_arguments={ + 'loaded_description': description, + 'rviz_config_file': rviz_config_file + }.items() + ) + spawn_joint_state_controller = ExecuteProcess( cmd=['ros2 run controller_manager spawner joint_state_broadcaster'], shell=True, @@ -85,15 +118,20 @@ def generate_launch_description(): bridge = Node( package='ros_gz_bridge', executable='parameter_bridge', - arguments=['/clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock'], + arguments=['/clock@rosgraph_msgs/msg/Clock[ignition.msgs.Clock', + 'image_raw@sensor_msgs/msg/Image[ignition.msgs.Image', + 'camera_info@sensor_msgs/msg/CameraInfo[ignition.msgs.CameraInfo'], output='screen' ) return LaunchDescription([ SetParameter(name='use_sim_time', value=True), - gz_sim, + declare_use_camera, + declare_world_name, + ign_gazebo, gazebo_spawn_entity, move_group, + move_group_camera, spawn_joint_state_controller, spawn_arm_controller, spawn_gripper_controller, diff --git a/crane_plus_gazebo/models/aruco_cube_0/meshes/aruco_cube_0.dae b/crane_plus_gazebo/models/aruco_cube_0/meshes/aruco_cube_0.dae new file mode 100644 index 00000000..099e173a --- /dev/null +++ b/crane_plus_gazebo/models/aruco_cube_0/meshes/aruco_cube_0.dae @@ -0,0 +1,115 @@ + + + + + Blender User + Blender 4.3.0 commit date:2024-11-19, commit time:08:52, hash:2b18cad88b13 + + 2024-11-27T02:32:31 + 2024-11-27T02:32:31 + + Z_UP + + + + + + + aruco_cube_0_png + + + + + aruco_cube_0_png-surface + + + + + + 0 0 0 1 + + + + + + 1.5 + + + + + + + + + aruco_cube_0.png + + + + + + + + + + + + -0.5 -0.5 -0.5 -0.5 -0.5 0.5 -0.5 0.5 -0.5 -0.5 0.5 0.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 0.5 0.5 -0.5 0.5 0.5 0.5 -0.5 -0.5 -0.5 -0.5 -0.5 0.5 -0.5 0.5 -0.5 -0.5 0.5 0.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 0.5 0.5 -0.5 0.5 0.5 0.5 + + + + + + + + + + -1 0 0 0 1 0 1 0 0 0 -1 0 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 -1 0 0 0 1 0 1 0 0 0 -1 0 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 + + + + + + + + + + 0.625 0 0.375 0.25 0.375 0 0.625 0.25 0.375 0.5 0.375 0.25 0.625 0.5 0.375 0.75 0.375 0.5 0.625 0.75 0.375 1 0.375 0.75 0.375 0.5 0.125 0.75 0.125 0.5 0.875 0.5 0.625 0.75 0.625 0.5 0.375 0 0.375 0.25 0.375 0.25 0.375 0.75 0.625 0.75 0.625 0.75 0.375 0.5 0.375 0.75 0.375 0.75 0.375 0.25 0.625 0.25 0.625 0.25 0.625 0 0.375 0 0.375 0 0.375 0.75 0.375 1 0.375 1 0.375 0.5 0.625 0.5 0.625 0.5 0.625 0 0.625 0.25 0.375 0.25 0.625 0.25 0.625 0.5 0.375 0.5 0.625 0.5 0.625 0.75 0.375 0.75 0.625 0.75 0.625 1 0.375 1 0.375 0.5 0.375 0.75 0.125 0.75 0.875 0.5 0.875 0.75 0.625 0.75 0.375 0 0.375 0 0.375 0.25 0.375 0.75 0.375 0.75 0.625 0.75 0.375 0.5 0.375 0.5 0.375 0.75 0.375 0.25 0.375 0.25 0.625 0.25 0.625 0 0.625 0 0.375 0 0.375 0.75 0.375 0.75 0.375 1 0.375 0.5 0.375 0.5 0.625 0.5 + + + + + + + + + + + + + + +

1 0 0 2 0 1 0 0 2 3 1 3 6 1 4 2 1 5 7 2 6 4 2 7 6 2 8 5 3 9 0 3 10 4 3 11 6 4 12 0 4 13 2 4 14 3 5 15 5 5 16 7 5 17 0 6 18 10 6 19 2 6 20 4 7 21 13 7 22 5 7 23 6 8 24 12 8 25 4 8 26 2 9 27 11 9 28 3 9 29 1 10 30 8 10 31 0 10 32 4 11 33 8 11 34 0 11 35 6 12 36 15 12 37 7 12 38 1 13 39 3 13 40 2 13 41 3 14 42 7 14 43 6 14 44 7 15 45 5 15 46 4 15 47 5 16 48 1 16 49 0 16 50 6 17 51 4 17 52 0 17 53 3 18 54 1 18 55 5 18 56 0 19 57 8 19 58 10 19 59 4 20 60 12 20 61 13 20 62 6 21 63 14 21 64 12 21 65 2 22 66 10 22 67 11 22 68 1 23 69 9 23 70 8 23 71 4 24 72 12 24 73 8 24 74 6 25 75 14 25 76 15 25 77

+
+
+
+
+ + + + 0.05000001 0 0 0 0 0.05000001 0 0 0 0 0.05000001 0 0 0 0 1 + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/crane_plus_gazebo/models/aruco_cube_0/meshes/aruco_cube_0.png b/crane_plus_gazebo/models/aruco_cube_0/meshes/aruco_cube_0.png new file mode 100644 index 0000000000000000000000000000000000000000..42d74b34b8810179b29711a0d3a6cc141aa2eb00 GIT binary patch literal 4044 zcmeHKdsGuw8o!~Sz^drF2vuCO@qv%#DM2zzKuLJS8j64hPAxW&Nf=0G(#!zE!$`Zk zthj1V>sCD21%-C4x{z9Gk%ko;idL(!N8z|sD1!CDDuN(j1##~L<*^)<{d3PT=ghft z@9%fN`+eX2ecznqM@5EDcc1GH0GO_bkVgaH1YeziD>G!zm6ZYD;)%t^QE|$3ND^V- zsWn6*%A*ZNhyxH9OdHinsVK!xM0FT0<#bwWIBZNK<*39;fzl{Lld*^_6B?5h8Jm=q znk3P1f`i-xX#^TDpp=?T8}vAd&{B@WE&|_~Wj=@Ppirq&PMk7|Eh9`QTg(&l1e_pu zcA!b4MWW?lPd3Aul#@(RMugAL$jIPjtmF|U9bYJsNcaK~UnJr}2A9mlDK*W-$%TxG zVH?}evN4&U2r`*? z#+DIy!bX(FMq?Ov41-LdQ<(M{bOxC~hq+cNpC5(6FfI_13QdQJc#_m{4n2*VjLkHn z{AiRU(o9KcXgZ2h3mv(Dry(*Es-{pme54$aK;*|23b~?Hu>t`i6d?l13V}o*7$GYO z4W`YUNERVtAtDq*GBTD8<)Kki>dEj&5{@wJVW*%ppX<@+9vPu0Owc(P!%ByfOb;$}yS5;5XSTYxNmq3_7~Ww_#>SPPDXkiibEBdU?;maxcyH6u-?U>9wz7jfTbU#ebBPv z59_^82hS@p6t;z!j{22{nd^0>B^@4mwO5eH5b|?7jEWU$SksF&iGeS{9;{wzl^uJzVtw@ju+I4<=7Ncai3|v zzmd&*Uv8`avhq#+#_GGrQW}E#Es}!hJg2XgvwW*R}<7ZXZpad53E&y3dasN?cre^N-iB(`4g^-Q0yZl zwC|MlA6KS_<2 z+V;>5uj93iQ@(6Tb(7xXHsoK~;92zk0m+Oq)z!Gq?%&ZBm;QcR*%{SaHaqYBcbWZd zUR&yPU1jzb<}>DIjEE-zn6sF9Sc>RHT>!ZLppdVLr9bXy5=PF8_c_^mZ~39)EZ_YK zPsFtC=Q(l_oN?E#S!&Ajsr`hy&gm9!I^LIlq{08U{<5$e{aXsV+y5E7r|XTPHtvj9 zKr5`RUFE0<;@{pn$o12^Q%6tt^yju1iIx-dXXl>RRy68Q`J4@|c5<4W?61ChBIlPcyw$eZ z7K_DW;f^ZRuE+mN*}UzY*E%$0KKHlOOLIv}Q*UqY-d_kDKgEPRbg}qnw^@@azRy;X z9-um;rDkh!%8|`A=ADfl&DIQ+N)vEN{M+VBX`k2pG?XIp=y&ZLBVL*B1s1b8_~r y)nL7u_2PP&L`l7*Os4U?%+kv&js287n(k~*{d$RSzM1(Gt_Y2kmxsLl-hTktKcd?J literal 0 HcmV?d00001 diff --git a/crane_plus_gazebo/models/aruco_cube_0/model.config b/crane_plus_gazebo/models/aruco_cube_0/model.config new file mode 100644 index 00000000..75ee5511 --- /dev/null +++ b/crane_plus_gazebo/models/aruco_cube_0/model.config @@ -0,0 +1,16 @@ + + + + aruco_cube_0 + 1.0 + model.sdf + + + Atsushi Kuwagata + kuwagata@rt-net.jp + + + + 5 cm cube with ArUco marker + + diff --git a/crane_plus_gazebo/models/aruco_cube_0/model.sdf b/crane_plus_gazebo/models/aruco_cube_0/model.sdf new file mode 100644 index 00000000..22e7ad9b --- /dev/null +++ b/crane_plus_gazebo/models/aruco_cube_0/model.sdf @@ -0,0 +1,38 @@ + + + + + 0 0 0 0 0 0 + + + + model://aruco_cube_0/meshes/aruco_cube_0.dae + + + + + + + 0.05 0.05 0.05 + + + + + + 0.9 + 0.9 + + + + + + + 0.00002 + 0.00002 + 0.00002 + + 0.05 + + + + diff --git a/crane_plus_gazebo/worlds/table.sdf b/crane_plus_gazebo/worlds/table.sdf index 0fb60148..ec7e7548 100644 --- a/crane_plus_gazebo/worlds/table.sdf +++ b/crane_plus_gazebo/worlds/table.sdf @@ -1,5 +1,5 @@ - + 0.001 @@ -37,12 +37,14 @@ 0.29 0 0 0 0 1.5708 - - - https://fuel.gazebosim.org/1.0/OpenRobotics/models/Wood%20cube%205cm - - 0 -0.1 1.0 0 0 0 - + + + + model://aruco_cube_0 + + + 0 -0.1 1.05 0 0 0 + \ No newline at end of file diff --git a/crane_plus_gazebo/worlds/table_with_aruco_cube.sdf b/crane_plus_gazebo/worlds/table_with_aruco_cube.sdf new file mode 100644 index 00000000..fbc4ce8c --- /dev/null +++ b/crane_plus_gazebo/worlds/table_with_aruco_cube.sdf @@ -0,0 +1,50 @@ + + + + + 0.001 + 1.0 + + + + + + + + + + + https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Sun + + + + + + https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Ground%20Plane + + + + + + https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Table + + 0.29 0 0 0 0 1.5708 + + + + + + model://aruco_cube_0 + + + 0.2 0.05 1.05 0 0 0 + + + + \ No newline at end of file diff --git a/crane_plus_gazebo/worlds/table_with_red_cube.sdf b/crane_plus_gazebo/worlds/table_with_red_cube.sdf new file mode 100644 index 00000000..0804c9f5 --- /dev/null +++ b/crane_plus_gazebo/worlds/table_with_red_cube.sdf @@ -0,0 +1,50 @@ + + + + + 0.001 + 1.0 + + + + + + + + + + + https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Sun + + + + + + https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Ground%20Plane + + + + + + https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Table + + 0.29 0 0 0 0 1.5708 + + + + + + model://aruco_cube_0 + + + 0.2 0.05 1.05 3.1415 0 0 + + + + \ No newline at end of file From bd9e24d90f708562bf096a88986832294eb4df41 Mon Sep 17 00:00:00 2001 From: mizonon Date: Thu, 5 Dec 2024 15:44:58 +0900 Subject: [PATCH 50/61] =?UTF-8?q?Gazebo=E3=81=AECamera=E3=83=A2=E3=83=87?= =?UTF-8?q?=E3=83=AB=E5=AF=BE=E5=BF=9C=E3=81=97=E3=81=9F=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=81=AEign->gz=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../urdf/crane_plus.gazebo.xacro | 7 ++- .../urdf/crane_plus.urdf.xacro | 1 - crane_plus_gazebo/gui/gui.config | 48 +++++++++---------- .../launch/crane_plus_with_table.launch.py | 45 +++++++++++------ .../worlds/table_with_aruco_cube.sdf | 18 +++---- .../worlds/table_with_red_cube.sdf | 19 ++++---- 6 files changed, 76 insertions(+), 62 deletions(-) diff --git a/crane_plus_description/urdf/crane_plus.gazebo.xacro b/crane_plus_description/urdf/crane_plus.gazebo.xacro index 78a34a05..30a7611a 100644 --- a/crane_plus_description/urdf/crane_plus.gazebo.xacro +++ b/crane_plus_description/urdf/crane_plus.gazebo.xacro @@ -27,7 +27,6 @@ name_link_4 name_link_hand use_camera - use_ignition config_package config_file_path "> @@ -76,9 +75,9 @@ - - ogre2 - + + ogre2 + diff --git a/crane_plus_description/urdf/crane_plus.urdf.xacro b/crane_plus_description/urdf/crane_plus.urdf.xacro index 6741ac2c..e0906ead 100644 --- a/crane_plus_description/urdf/crane_plus.urdf.xacro +++ b/crane_plus_description/urdf/crane_plus.urdf.xacro @@ -130,7 +130,6 @@ name_link_4="${NAME_LINK_4}" name_link_hand="${NAME_LINK_HAND}" use_camera="$(arg use_camera)" - use_ignition="$(arg use_ignition)" config_package="$(arg gz_control_config_package)" config_file_path="$(arg gz_control_config_file_path)" /> diff --git a/crane_plus_gazebo/gui/gui.config b/crane_plus_gazebo/gui/gui.config index 2c82af0b..5bbd025d 100644 --- a/crane_plus_gazebo/gui/gui.config +++ b/crane_plus_gazebo/gui/gui.config @@ -28,7 +28,7 @@ - + 3D View false docked @@ -44,77 +44,77 @@ - + floating 5 5 false - + - + false 5 5 floating false - +
- + false 5 5 floating false - + - + false 5 5 floating false - + - + false 5 5 floating false - + - + false 5 5 floating false - + - + false 5 5 floating false - + - + false 5 5 floating false - + @@ -166,7 +166,7 @@ - + false 0 0 @@ -180,7 +180,7 @@ - + false 250 0 @@ -194,7 +194,7 @@ - + false 0 50 @@ -203,7 +203,7 @@ floating false #777777 - + false @@ -220,12 +220,12 @@ floating false #777777 - + - + false 300 50 @@ -234,7 +234,7 @@ floating false #777777 - + diff --git a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py index 024cdbda..5258e37f 100644 --- a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py +++ b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py @@ -15,7 +15,8 @@ import os from ament_index_python.packages import get_package_share_directory -from crane_plus_description.robot_description_loader import RobotDescriptionLoader +from crane_plus_description.robot_description_loader \ + import RobotDescriptionLoader from launch import LaunchDescription from launch.actions import DeclareLaunchArgument from launch.actions import ExecuteProcess @@ -38,22 +39,27 @@ def generate_launch_description(): declare_world_name = DeclareLaunchArgument( 'world_name', default_value=os.path.join( - get_package_share_directory('crane_plus_gazebo'), 'worlds', 'table.sdf'), + get_package_share_directory('crane_plus_gazebo'), 'worlds', + 'table.sdf'), description='Set world name.' ) # PATHを追加で通さないとSTLファイルが読み込まれない - env = {'IGN_GAZEBO_SYSTEM_PLUGIN_PATH': os.environ['LD_LIBRARY_PATH'], - 'IGN_GAZEBO_RESOURCE_PATH': os.path.dirname( + env = {'GZ_SIM_SYSTEM_PLUGIN_PATH': os.environ['LD_LIBRARY_PATH'], + 'GZ_SIM_RESOURCE_PATH': os.path.dirname( get_package_share_directory('crane_plus_description')) + ':' + - os.path.join(get_package_share_directory('crane_plus_gazebo'), 'models'), + os.path.join(get_package_share_directory('crane_plus_gazebo'), + 'models'), } gui_config = os.path.join( get_package_share_directory('crane_plus_gazebo'), 'gui', 'gui.config') # -r オプションで起動時にシミュレーションをスタートしないと、コントローラが起動しない - ign_gazebo = ExecuteProcess( - cmd=['ign gazebo -r', LaunchConfiguration('world_name'), '--gui-config', gui_config], + gz_gazebo = ExecuteProcess( + cmd=['gz sim -r', + LaunchConfiguration('world_name'), + '--gui-config', + gui_config], output='screen', additional_env=env, shell=True @@ -73,7 +79,9 @@ def generate_launch_description(): description_loader.use_camera = LaunchConfiguration('use_camera') description_loader.use_gazebo = 'true' description_loader.gz_control_config_package = 'crane_plus_control' - description_loader.gz_control_config_file_path = 'config/crane_plus_controllers.yaml' + description_loader.gz_control_config_file_path = ( + 'config/crane_plus_controllers.yaml' + ) description = description_loader.load() move_group = IncludeLaunchDescription( @@ -98,19 +106,24 @@ def generate_launch_description(): ) spawn_joint_state_controller = ExecuteProcess( - cmd=['ros2 run controller_manager spawner joint_state_broadcaster'], + cmd=['ros2 run controller_manager spawner ' + 'joint_state_broadcaster'], shell=True, output='screen', ) spawn_arm_controller = ExecuteProcess( - cmd=['ros2 run controller_manager spawner crane_plus_arm_controller'], + cmd=['ros2 run controller_manager spawner ' + 'crane_plus_arm_controller'], shell=True, output='screen', ) spawn_gripper_controller = ExecuteProcess( - cmd=['ros2 run controller_manager spawner crane_plus_gripper_controller'], + cmd=[ + 'ros2 run controller_manager spawner ' + 'crane_plus_gripper_controller' + ], shell=True, output='screen', ) @@ -118,9 +131,11 @@ def generate_launch_description(): bridge = Node( package='ros_gz_bridge', executable='parameter_bridge', - arguments=['/clock@rosgraph_msgs/msg/Clock[ignition.msgs.Clock', - 'image_raw@sensor_msgs/msg/Image[ignition.msgs.Image', - 'camera_info@sensor_msgs/msg/CameraInfo[ignition.msgs.CameraInfo'], + arguments=[ + '/clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock', + 'image_raw@sensor_msgs/msg/Image[gz.msgs.Image', + 'camera_info@sensor_msgs/msg/CameraInfo[gz.msgs.CameraInfo' + ], output='screen' ) @@ -128,7 +143,7 @@ def generate_launch_description(): SetParameter(name='use_sim_time', value=True), declare_use_camera, declare_world_name, - ign_gazebo, + gz_gazebo, gazebo_spawn_entity, move_group, move_group_camera, diff --git a/crane_plus_gazebo/worlds/table_with_aruco_cube.sdf b/crane_plus_gazebo/worlds/table_with_aruco_cube.sdf index fbc4ce8c..7750d857 100644 --- a/crane_plus_gazebo/worlds/table_with_aruco_cube.sdf +++ b/crane_plus_gazebo/worlds/table_with_aruco_cube.sdf @@ -6,33 +6,33 @@ 1.0 + filename="gz-sim-physics-system" + name="gz::sim::systems::Physics"> + filename="gz-sim-user-commands-system" + name="gz::sim::systems::UserCommands"> + filename="gz-sim-scene-broadcaster-system" + name="gz::sim::systems::SceneBroadcaster"> - https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Sun + https://fuel.gazebosim.org/1.0/OpenRobotics/models/Sun - https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Ground%20Plane + https://fuel.gazebosim.org/1.0/OpenRobotics/models/Ground%20Plane - https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Table + https://fuel.gazebosim.org/1.0/OpenRobotics/models/Table 0.29 0 0 0 0 1.5708 diff --git a/crane_plus_gazebo/worlds/table_with_red_cube.sdf b/crane_plus_gazebo/worlds/table_with_red_cube.sdf index 0804c9f5..f073c528 100644 --- a/crane_plus_gazebo/worlds/table_with_red_cube.sdf +++ b/crane_plus_gazebo/worlds/table_with_red_cube.sdf @@ -5,34 +5,35 @@ 0.001 1.0 + + filename="gz-sim-physics-system" + name="gz::sim::systems::Physics"> + filename="gz-sim-user-commands-system" + name="gz::sim::systems::UserCommands"> + filename="gz-sim-scene-broadcaster-system" + name="gz::sim::systems::SceneBroadcaster"> - https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Sun + https://fuel.gazebosim.org/1.0/OpenRobotics/models/Sun - https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Ground%20Plane + https://fuel.gazebosim.or/1.0/OpenRobotics/models/Ground%20Plane - https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Table + https://fuel.gazebosim.or/1.0/OpenRobotics/models/Table 0.29 0 0 0 0 1.5708 From aa875bf188d94f7b1bd7d571e0eeb587f1cc6e79 Mon Sep 17 00:00:00 2001 From: mizonon Date: Thu, 5 Dec 2024 16:15:31 +0900 Subject: [PATCH 51/61] =?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/crane_plus_with_aruco_cube.launch.py | 2 +- .../launch/crane_plus_with_red_cube.launch.py | 2 +- .../launch/crane_plus_with_table.launch.py | 11 ++++------- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/crane_plus_gazebo/launch/crane_plus_with_aruco_cube.launch.py b/crane_plus_gazebo/launch/crane_plus_with_aruco_cube.launch.py index 077e9b4c..f56fb086 100644 --- a/crane_plus_gazebo/launch/crane_plus_with_aruco_cube.launch.py +++ b/crane_plus_gazebo/launch/crane_plus_with_aruco_cube.launch.py @@ -17,8 +17,8 @@ from ament_index_python.packages import get_package_share_directory from launch import LaunchDescription from launch.actions import IncludeLaunchDescription -from launch_ros.actions import SetParameter from launch.launch_description_sources import PythonLaunchDescriptionSource +from launch_ros.actions import SetParameter def generate_launch_description(): diff --git a/crane_plus_gazebo/launch/crane_plus_with_red_cube.launch.py b/crane_plus_gazebo/launch/crane_plus_with_red_cube.launch.py index 8d7130a2..4a081ed8 100644 --- a/crane_plus_gazebo/launch/crane_plus_with_red_cube.launch.py +++ b/crane_plus_gazebo/launch/crane_plus_with_red_cube.launch.py @@ -17,8 +17,8 @@ from ament_index_python.packages import get_package_share_directory from launch import LaunchDescription from launch.actions import IncludeLaunchDescription -from launch_ros.actions import SetParameter from launch.launch_description_sources import PythonLaunchDescriptionSource +from launch_ros.actions import SetParameter def generate_launch_description(): diff --git a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py index 5258e37f..9534c121 100644 --- a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py +++ b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py @@ -18,14 +18,11 @@ from crane_plus_description.robot_description_loader \ import RobotDescriptionLoader from launch import LaunchDescription -from launch.actions import DeclareLaunchArgument -from launch.actions import ExecuteProcess -from launch.actions import IncludeLaunchDescription -from launch.conditions import IfCondition -from launch.conditions import UnlessCondition +from launch.actions \ + import DeclareLaunchArgument, ExecuteProcess, IncludeLaunchDescription +from launch.conditions import IfCondition, UnlessCondition from launch.launch_description_sources import PythonLaunchDescriptionSource -from launch_ros.actions import Node -from launch_ros.actions import SetParameter +from launch_ros.actions import Node, SetParameter from launch.substitutions import LaunchConfiguration From 9ec7323b542448e0bb1d537b20ee6ca00b72b63a Mon Sep 17 00:00:00 2001 From: mizonon Date: Thu, 5 Dec 2024 16:27:32 +0900 Subject: [PATCH 52/61] =?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 --- crane_plus_gazebo/launch/crane_plus_with_table.launch.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py index 9534c121..6cc90de7 100644 --- a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py +++ b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py @@ -18,12 +18,12 @@ from crane_plus_description.robot_description_loader \ import RobotDescriptionLoader from launch import LaunchDescription -from launch.actions \ +from launch.actions \ import DeclareLaunchArgument, ExecuteProcess, IncludeLaunchDescription from launch.conditions import IfCondition, UnlessCondition from launch.launch_description_sources import PythonLaunchDescriptionSource -from launch_ros.actions import Node, SetParameter from launch.substitutions import LaunchConfiguration +from launch_ros.actions import Node, SetParameter def generate_launch_description(): From f216effc31d13a050cf1b439019077d4f58a98fb Mon Sep 17 00:00:00 2001 From: mizonon Date: Thu, 12 Dec 2024 11:17:51 +0900 Subject: [PATCH 53/61] =?UTF-8?q?rviz=5Fconfig=E3=81=AE=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_examples/launch/demo.launch.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crane_plus_examples/launch/demo.launch.py b/crane_plus_examples/launch/demo.launch.py index 5e164b06..b09565a0 100644 --- a/crane_plus_examples/launch/demo.launch.py +++ b/crane_plus_examples/launch/demo.launch.py @@ -48,10 +48,10 @@ def generate_launch_description(): description_loader.use_camera = LaunchConfiguration('use_camera') description = description_loader.load() - rviz_config_file_move_group = get_package_share_directory( + rviz_config_moveit = get_package_share_directory( 'crane_plus_moveit_config' ) + '/config/moveit.rviz' - rviz_config_file_camera = get_package_share_directory( + rviz_config_camera = get_package_share_directory( 'crane_plus_examples' ) + '/launch/camera_example.rviz' @@ -62,7 +62,7 @@ def generate_launch_description(): condition=UnlessCondition(LaunchConfiguration('use_camera')), launch_arguments={ 'loaded_description': description, - 'rviz_config': rviz_config_file_move_group + 'rviz_config': rviz_config_moveit }.items() ) @@ -73,7 +73,7 @@ def generate_launch_description(): condition=IfCondition(LaunchConfiguration('use_camera')), launch_arguments={ 'loaded_description': description, - 'rviz_config': rviz_config_file_camera + 'rviz_config': rviz_config_camera }.items() ) From cad9fff173412bc03bc6a0deb3cad6c8381241ba Mon Sep 17 00:00:00 2001 From: mizonon Date: Thu, 12 Dec 2024 12:10:35 +0900 Subject: [PATCH 54/61] =?UTF-8?q?spawn=5Fgripper=5Fcontololler=E3=81=AE?= =?UTF-8?q?=E8=A8=98=E8=BF=B0=E3=82=92=E4=BB=96=E3=81=AE=E3=82=B3=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=83=AD=E3=83=BC=E3=83=A9=E3=81=AE=E8=A8=98=E8=BF=B0?= =?UTF-8?q?=E3=81=A8=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 --- crane_plus_gazebo/launch/crane_plus_with_table.launch.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py index 6cc90de7..38c56e05 100644 --- a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py +++ b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py @@ -117,10 +117,8 @@ def generate_launch_description(): ) spawn_gripper_controller = ExecuteProcess( - cmd=[ - 'ros2 run controller_manager spawner ' - 'crane_plus_gripper_controller' - ], + cmd=['ros2 run controller_manager spawner ' + 'crane_plus_gripper_controller'], shell=True, output='screen', ) From 3fcac1418dde8d8e63e567b9dc8126d7e8dd0394 Mon Sep 17 00:00:00 2001 From: mizonon Date: Thu, 12 Dec 2024 15:22:57 +0900 Subject: [PATCH 55/61] =?UTF-8?q?rviz=5Fconfig=E3=81=AE=E5=88=87=E6=9B=BF?= =?UTF-8?q?=E3=81=88=E3=81=AE=E4=BB=95=E6=96=B9=E3=82=92=E4=BF=AE=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 | 56 +++++++++---------- .../launch/run_move_group.launch.py | 23 +------- 2 files changed, 30 insertions(+), 49 deletions(-) diff --git a/crane_plus_examples/launch/demo.launch.py b/crane_plus_examples/launch/demo.launch.py index b09565a0..1099c8bb 100644 --- a/crane_plus_examples/launch/demo.launch.py +++ b/crane_plus_examples/launch/demo.launch.py @@ -43,39 +43,38 @@ def generate_launch_description(): description='Set video device.' ) + declare_rviz_config = DeclareLaunchArgument( + 'rviz_config', + default_value=get_package_share_directory( + 'crane_plus_moveit_config' + ) + '/config/moveit.rviz', + description='Set the path to rviz configuration file.', + condition=UnlessCondition(LaunchConfiguration('use_camera')), + ) + + declare_rviz_config_camera = DeclareLaunchArgument( + 'rviz_config', + default_value=get_package_share_directory( + 'crane_plus_examples' + ) + '/launch/camera_example.rviz', + description='Set the path to rviz configuration file.', + condition=IfCondition(LaunchConfiguration('use_camera')), + ) + description_loader = RobotDescriptionLoader() description_loader.port_name = LaunchConfiguration('port_name') description_loader.use_camera = LaunchConfiguration('use_camera') description = description_loader.load() - rviz_config_moveit = get_package_share_directory( - 'crane_plus_moveit_config' - ) + '/config/moveit.rviz' - rviz_config_camera = get_package_share_directory( - 'crane_plus_examples' - ) + '/launch/camera_example.rviz' - move_group = IncludeLaunchDescription( - PythonLaunchDescriptionSource([ - get_package_share_directory('crane_plus_moveit_config'), - '/launch/run_move_group.launch.py']), - condition=UnlessCondition(LaunchConfiguration('use_camera')), - launch_arguments={ - 'loaded_description': description, - 'rviz_config': rviz_config_moveit - }.items() - ) - - move_group_camera = IncludeLaunchDescription( - PythonLaunchDescriptionSource([ - get_package_share_directory('crane_plus_moveit_config'), - '/launch/run_move_group.launch.py']), - condition=IfCondition(LaunchConfiguration('use_camera')), - launch_arguments={ - 'loaded_description': description, - 'rviz_config': rviz_config_camera - }.items() - ) + PythonLaunchDescriptionSource([ + get_package_share_directory('crane_plus_moveit_config'), + '/launch/run_move_group.launch.py']), + launch_arguments={ + 'loaded_description': description, + 'rviz_config': LaunchConfiguration('rviz_config') + }.items() + ) control_node = IncludeLaunchDescription( PythonLaunchDescriptionSource([ @@ -102,8 +101,9 @@ def generate_launch_description(): declare_port_name, declare_use_camera, declare_video_device, + declare_rviz_config, + declare_rviz_config_camera, move_group, - move_group_camera, control_node, usb_cam_node ]) 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 99fdc906..82fb40dc 100755 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -12,13 +12,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ament_index_python.packages import get_package_share_directory + +# 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 launch_ros.actions import Node 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 @@ -42,19 +42,6 @@ def generate_launch_description(): ) ) - 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 = LaunchConfiguration('rviz_config') - moveit_config = ( MoveItConfigsBuilder('crane_plus') .planning_scene_monitor( @@ -77,12 +64,6 @@ def generate_launch_description(): ld.add_entity(generate_move_group_launch(moveit_config)) # RViz - rviz_entities = generate_moveit_rviz_launch(moveit_config).entities - for entity in rviz_entities: - if isinstance(entity, Node): - entity.cmd.extend(['--ros-args', '--params-file', rviz_config]) - ld.add_entity(entity) - ld.add_entity(generate_moveit_rviz_launch(moveit_config)) # Static TF From d744e913ef53c314d362d19b5aed23a1c359ccbf Mon Sep 17 00:00:00 2001 From: Atsushi Kuwagata Date: Fri, 20 Dec 2024 14:17:54 +0900 Subject: [PATCH 56/61] =?UTF-8?q?=E3=82=B9=E3=82=BF=E3=82=A4=E3=83=AB?= =?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_gazebo/launch/crane_plus_with_aruco_cube.launch.py | 1 - 1 file changed, 1 deletion(-) diff --git a/crane_plus_gazebo/launch/crane_plus_with_aruco_cube.launch.py b/crane_plus_gazebo/launch/crane_plus_with_aruco_cube.launch.py index b6ca7ff2..f56fb086 100644 --- a/crane_plus_gazebo/launch/crane_plus_with_aruco_cube.launch.py +++ b/crane_plus_gazebo/launch/crane_plus_with_aruco_cube.launch.py @@ -21,7 +21,6 @@ from launch_ros.actions import SetParameter - def generate_launch_description(): world_file = os.path.join( get_package_share_directory('crane_plus_gazebo'), From 9010b44b45c708ac63874a04fad65d74c68e5733 Mon Sep 17 00:00:00 2001 From: Atsushi Kuwagata Date: Fri, 20 Dec 2024 14:18:22 +0900 Subject: [PATCH 57/61] =?UTF-8?q?declare=5Frviz=5Fconfig=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../launch/crane_plus_with_table.launch.py | 54 +++++++++++-------- 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py index 38c56e05..b138df35 100644 --- a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py +++ b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py @@ -15,15 +15,17 @@ import os from ament_index_python.packages import get_package_share_directory -from crane_plus_description.robot_description_loader \ - import RobotDescriptionLoader +from crane_plus_description.robot_description_loader import RobotDescriptionLoader from launch import LaunchDescription -from launch.actions \ - import DeclareLaunchArgument, ExecuteProcess, IncludeLaunchDescription -from launch.conditions import IfCondition, UnlessCondition +from launch.actions import DeclareLaunchArgument +from launch.actions import ExecuteProcess +from launch.actions import IncludeLaunchDescription +from launch.conditions import IfCondition +from launch.conditions import UnlessCondition from launch.launch_description_sources import PythonLaunchDescriptionSource from launch.substitutions import LaunchConfiguration -from launch_ros.actions import Node, SetParameter +from launch_ros.actions import Node +from launch_ros.actions import SetParameter def generate_launch_description(): @@ -33,6 +35,24 @@ def generate_launch_description(): description='Use camera.' ) + declare_rviz_config = DeclareLaunchArgument( + 'rviz_config', + default_value=get_package_share_directory( + 'crane_plus_moveit_config' + ) + '/config/moveit.rviz', + description='Set the path to rviz configuration file.', + condition=UnlessCondition(LaunchConfiguration('use_camera')), + ) + + declare_rviz_config_camera = DeclareLaunchArgument( + 'rviz_config', + default_value=get_package_share_directory( + 'crane_plus_examples' + ) + '/launch/camera_example.rviz', + description='Set the path to rviz configuration file.', + condition=IfCondition(LaunchConfiguration('use_camera')), + ) + declare_world_name = DeclareLaunchArgument( 'world_name', default_value=os.path.join( @@ -76,30 +96,17 @@ def generate_launch_description(): description_loader.use_camera = LaunchConfiguration('use_camera') description_loader.use_gazebo = 'true' description_loader.gz_control_config_package = 'crane_plus_control' - description_loader.gz_control_config_file_path = ( - 'config/crane_plus_controllers.yaml' - ) + description_loader.gz_control_config_file_path = 'config/crane_plus_controllers.yaml' description = description_loader.load() move_group = IncludeLaunchDescription( PythonLaunchDescriptionSource([ get_package_share_directory('crane_plus_moveit_config'), '/launch/run_move_group.launch.py']), - condition=UnlessCondition(LaunchConfiguration('use_camera')), - launch_arguments={'loaded_description': description}.items() - ) - - rviz_config_file = get_package_share_directory( - 'crane_plus_examples') + '/launch/camera_example.rviz' - move_group_camera = IncludeLaunchDescription( - PythonLaunchDescriptionSource([ - get_package_share_directory('crane_plus_moveit_config'), - '/launch/run_move_group.launch.py']), - condition=IfCondition(LaunchConfiguration('use_camera')), launch_arguments={ 'loaded_description': description, - 'rviz_config_file': rviz_config_file - }.items() + 'rviz_config': LaunchConfiguration('rviz_config') + }.items() ) spawn_joint_state_controller = ExecuteProcess( @@ -137,11 +144,12 @@ def generate_launch_description(): return LaunchDescription([ SetParameter(name='use_sim_time', value=True), declare_use_camera, + declare_rviz_config, + declare_rviz_config_camera, declare_world_name, gz_gazebo, gazebo_spawn_entity, move_group, - move_group_camera, spawn_joint_state_controller, spawn_arm_controller, spawn_gripper_controller, From e43fd76d36e1cef73bf6a76139810ddcbbfa5199 Mon Sep 17 00:00:00 2001 From: Atsushi Kuwagata Date: Fri, 20 Dec 2024 15:07:19 +0900 Subject: [PATCH 58/61] =?UTF-8?q?config=E3=83=95=E3=82=A1=E3=82=A4?= =?UTF-8?q?=E3=83=AB=E3=81=AE=E3=83=91=E3=82=B9=E8=A8=AD=E5=AE=9A=E3=82=92?= =?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/CMakeLists.txt | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/crane_plus_moveit_config/CMakeLists.txt b/crane_plus_moveit_config/CMakeLists.txt index 20da915b..5d8995a7 100644 --- a/crane_plus_moveit_config/CMakeLists.txt +++ b/crane_plus_moveit_config/CMakeLists.txt @@ -3,15 +3,9 @@ project(crane_plus_moveit_config) find_package(ament_cmake REQUIRED) -install(DIRECTORY - launch - config - DESTINATION share/${PROJECT_NAME}/ -) +ament_package() -if(BUILD_TESTING) - find_package(ament_lint_auto REQUIRED) - ament_lint_auto_find_test_dependencies() -endif() - -ament_package() \ No newline at end of file +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}) \ No newline at end of file From d58ec1a1b6ef72a80d4e03aaab7e337b28ca09f2 Mon Sep 17 00:00:00 2001 From: Atsushi Kuwagata Date: Fri, 20 Dec 2024 15:34:11 +0900 Subject: [PATCH 59/61] =?UTF-8?q?gazebo=E8=A1=A8=E8=A8=98=E3=82=92gz?= =?UTF-8?q?=E3=81=AB=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_gazebo/launch/crane_plus_with_table.launch.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py index b138df35..b17b5a7f 100644 --- a/crane_plus_gazebo/launch/crane_plus_with_table.launch.py +++ b/crane_plus_gazebo/launch/crane_plus_with_table.launch.py @@ -72,7 +72,7 @@ def generate_launch_description(): gui_config = os.path.join( get_package_share_directory('crane_plus_gazebo'), 'gui', 'gui.config') # -r オプションで起動時にシミュレーションをスタートしないと、コントローラが起動しない - gz_gazebo = ExecuteProcess( + gz_sim = ExecuteProcess( cmd=['gz sim -r', LaunchConfiguration('world_name'), '--gui-config', @@ -82,7 +82,7 @@ def generate_launch_description(): shell=True ) - gazebo_spawn_entity = Node( + gz_sim_spawn_entity = Node( package='ros_gz_sim', executable='create', output='screen', @@ -147,8 +147,8 @@ def generate_launch_description(): declare_rviz_config, declare_rviz_config_camera, declare_world_name, - gz_gazebo, - gazebo_spawn_entity, + gz_sim, + gz_sim_spawn_entity, move_group, spawn_joint_state_controller, spawn_arm_controller, From e0d05fd0ccbc4f93abe01276b0ab107eda526788 Mon Sep 17 00:00:00 2001 From: Atsushi Kuwagata Date: Fri, 20 Dec 2024 15:34:40 +0900 Subject: [PATCH 60/61] =?UTF-8?q?=E3=82=B9=E3=82=BF=E3=82=A4=E3=83=AB?= =?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/CMakeLists.txt | 11 ++++++++--- .../launch/run_move_group.launch.py | 7 ++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/crane_plus_moveit_config/CMakeLists.txt b/crane_plus_moveit_config/CMakeLists.txt index 5d8995a7..1227603e 100644 --- a/crane_plus_moveit_config/CMakeLists.txt +++ b/crane_plus_moveit_config/CMakeLists.txt @@ -3,9 +3,14 @@ project(crane_plus_moveit_config) find_package(ament_cmake REQUIRED) -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}) \ No newline at end of file +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() 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 82fb40dc..0a8ec0b8 100755 --- a/crane_plus_moveit_config/launch/run_move_group.launch.py +++ b/crane_plus_moveit_config/launch/run_move_group.launch.py @@ -13,9 +13,7 @@ # limitations under the License. -# from ament_index_python.packages import get_package_share_directory -from crane_plus_description.robot_description_loader \ - import RobotDescriptionLoader +from crane_plus_description.robot_description_loader import RobotDescriptionLoader from launch import LaunchDescription from launch.actions import DeclareLaunchArgument from launch.substitutions import LaunchConfiguration @@ -23,8 +21,7 @@ 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 +from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch def generate_launch_description(): From 17a3da56d1630a168ee4310d3289d559cc450166 Mon Sep 17 00:00:00 2001 From: Atsushi Kuwagata Date: Fri, 20 Dec 2024 15:58:56 +0900 Subject: [PATCH 61/61] =?UTF-8?q?gui.config=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crane_plus_gazebo/gui/gui.config | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/crane_plus_gazebo/gui/gui.config b/crane_plus_gazebo/gui/gui.config index 35bb9150..172e60d7 100644 --- a/crane_plus_gazebo/gui/gui.config +++ b/crane_plus_gazebo/gui/gui.config @@ -115,8 +115,8 @@ floating false -
+ @@ -124,7 +124,6 @@ false false 72 - 121 1 floating @@ -204,26 +203,6 @@ false #777777 - - - false - - - - - - false - 0 - 50 - 250 - 50 - floating - false - #777777 - - - - false