From a9f3df705eaa03148c1f5009bc7c712485beb8b6 Mon Sep 17 00:00:00 2001 From: wangWking <842749351@qq.com> Date: Thu, 7 Apr 2022 14:50:16 +0800 Subject: [PATCH] code integrate --- mycobot_320/{ => mycobot_320}/CMakeLists.txt | 0 mycobot_320/{ => mycobot_320}/LICENSE | 0 .../{ => mycobot_320}/config/mycobot_320.rviz | 0 .../launch/mycobot_320_slider.launch | 0 mycobot_320/{ => mycobot_320}/package.xml | 0 .../{ => mycobot_320}/scripts/.gitkeep | 0 .../mycobot_320_moveit/.setup_assistant | 11 + mycobot_320/mycobot_320_moveit/CMakeLists.txt | 10 + mycobot_320/mycobot_320_moveit/LICENSE | 25 ++ .../config/chomp_planning.yaml | 18 ++ .../config/fake_controllers.yaml | 9 + .../config/firefighter.srdf | 38 +++ .../config/joint_limits.yaml | 34 +++ .../mycobot_320_moveit/config/kinematics.yaml | 5 + .../config/ompl_planning.yaml | 150 +++++++++++ .../config/ros_controllers.yaml | 25 ++ .../mycobot_320_moveit/config/sensors_3d.yaml | 10 + .../launch/chomp_planning_pipeline.launch.xml | 10 + .../launch/default_warehouse_db.launch | 15 ++ .../mycobot_320_moveit/launch/demo.launch | 66 +++++ .../launch/demo_gazebo.launch | 70 +++++ .../fake_moveit_controller_manager.launch.xml | 9 + ...ghter_moveit_controller_manager.launch.xml | 10 + ...refighter_moveit_sensor_manager.launch.xml | 3 + .../mycobot_320_moveit/launch/gazebo.launch | 23 ++ .../launch/joystick_control.launch | 17 ++ .../launch/move_group.launch | 77 ++++++ .../mycobot_320_moveit/launch/moveit.rviz | 250 ++++++++++++++++++ .../launch/moveit_rviz.launch | 16 ++ .../launch/mycobot320_moveit.launch | 65 +++++ .../launch/ompl_planning_pipeline.launch.xml | 22 ++ .../launch/planning_context.launch | 24 ++ .../launch/planning_pipeline.launch.xml | 10 + .../launch/ros_controllers.launch | 11 + .../launch/run_benchmark_ompl.launch | 22 ++ .../launch/sensor_manager.launch.xml | 17 ++ .../launch/setup_assistant.launch | 15 ++ .../launch/trajectory_execution.launch.xml | 20 ++ .../launch/warehouse.launch | 15 ++ .../launch/warehouse_settings.launch.xml | 16 ++ mycobot_320/mycobot_320_moveit/package.xml | 34 +++ .../mycobot_320_moveit/scripts/sync_plan.py | 41 +++ 42 files changed, 1213 insertions(+) rename mycobot_320/{ => mycobot_320}/CMakeLists.txt (100%) rename mycobot_320/{ => mycobot_320}/LICENSE (100%) rename mycobot_320/{ => mycobot_320}/config/mycobot_320.rviz (100%) rename mycobot_320/{ => mycobot_320}/launch/mycobot_320_slider.launch (100%) rename mycobot_320/{ => mycobot_320}/package.xml (100%) rename mycobot_320/{ => mycobot_320}/scripts/.gitkeep (100%) create mode 100644 mycobot_320/mycobot_320_moveit/.setup_assistant create mode 100644 mycobot_320/mycobot_320_moveit/CMakeLists.txt create mode 100644 mycobot_320/mycobot_320_moveit/LICENSE create mode 100644 mycobot_320/mycobot_320_moveit/config/chomp_planning.yaml create mode 100644 mycobot_320/mycobot_320_moveit/config/fake_controllers.yaml create mode 100644 mycobot_320/mycobot_320_moveit/config/firefighter.srdf create mode 100644 mycobot_320/mycobot_320_moveit/config/joint_limits.yaml create mode 100644 mycobot_320/mycobot_320_moveit/config/kinematics.yaml create mode 100644 mycobot_320/mycobot_320_moveit/config/ompl_planning.yaml create mode 100644 mycobot_320/mycobot_320_moveit/config/ros_controllers.yaml create mode 100644 mycobot_320/mycobot_320_moveit/config/sensors_3d.yaml create mode 100644 mycobot_320/mycobot_320_moveit/launch/chomp_planning_pipeline.launch.xml create mode 100644 mycobot_320/mycobot_320_moveit/launch/default_warehouse_db.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/demo.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/demo_gazebo.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/fake_moveit_controller_manager.launch.xml create mode 100644 mycobot_320/mycobot_320_moveit/launch/firefighter_moveit_controller_manager.launch.xml create mode 100644 mycobot_320/mycobot_320_moveit/launch/firefighter_moveit_sensor_manager.launch.xml create mode 100644 mycobot_320/mycobot_320_moveit/launch/gazebo.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/joystick_control.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/move_group.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/moveit.rviz create mode 100644 mycobot_320/mycobot_320_moveit/launch/moveit_rviz.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/mycobot320_moveit.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/ompl_planning_pipeline.launch.xml create mode 100644 mycobot_320/mycobot_320_moveit/launch/planning_context.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/planning_pipeline.launch.xml create mode 100644 mycobot_320/mycobot_320_moveit/launch/ros_controllers.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/run_benchmark_ompl.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/sensor_manager.launch.xml create mode 100644 mycobot_320/mycobot_320_moveit/launch/setup_assistant.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/trajectory_execution.launch.xml create mode 100644 mycobot_320/mycobot_320_moveit/launch/warehouse.launch create mode 100644 mycobot_320/mycobot_320_moveit/launch/warehouse_settings.launch.xml create mode 100644 mycobot_320/mycobot_320_moveit/package.xml create mode 100644 mycobot_320/mycobot_320_moveit/scripts/sync_plan.py diff --git a/mycobot_320/CMakeLists.txt b/mycobot_320/mycobot_320/CMakeLists.txt similarity index 100% rename from mycobot_320/CMakeLists.txt rename to mycobot_320/mycobot_320/CMakeLists.txt diff --git a/mycobot_320/LICENSE b/mycobot_320/mycobot_320/LICENSE similarity index 100% rename from mycobot_320/LICENSE rename to mycobot_320/mycobot_320/LICENSE diff --git a/mycobot_320/config/mycobot_320.rviz b/mycobot_320/mycobot_320/config/mycobot_320.rviz similarity index 100% rename from mycobot_320/config/mycobot_320.rviz rename to mycobot_320/mycobot_320/config/mycobot_320.rviz diff --git a/mycobot_320/launch/mycobot_320_slider.launch b/mycobot_320/mycobot_320/launch/mycobot_320_slider.launch similarity index 100% rename from mycobot_320/launch/mycobot_320_slider.launch rename to mycobot_320/mycobot_320/launch/mycobot_320_slider.launch diff --git a/mycobot_320/package.xml b/mycobot_320/mycobot_320/package.xml similarity index 100% rename from mycobot_320/package.xml rename to mycobot_320/mycobot_320/package.xml diff --git a/mycobot_320/scripts/.gitkeep b/mycobot_320/mycobot_320/scripts/.gitkeep similarity index 100% rename from mycobot_320/scripts/.gitkeep rename to mycobot_320/mycobot_320/scripts/.gitkeep diff --git a/mycobot_320/mycobot_320_moveit/.setup_assistant b/mycobot_320/mycobot_320_moveit/.setup_assistant new file mode 100644 index 0000000..f9f5f2d --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/.setup_assistant @@ -0,0 +1,11 @@ +moveit_setup_assistant_config: + URDF: + package: mycobot_description + relative_path: urdf/320_urdf/mycobot_pro_320.urdf + xacro_args: "--inorder " + SRDF: + relative_path: config/firefighter.srdf + CONFIG: + author_name: zachary + author_email: lijun.zhang@elephantrobotics.com + generated_timestamp: 1626077105 \ No newline at end of file diff --git a/mycobot_320/mycobot_320_moveit/CMakeLists.txt b/mycobot_320/mycobot_320_moveit/CMakeLists.txt new file mode 100644 index 0000000..e617d6c --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 2.8.3) +project(mycobot_320_moveit) + +find_package(catkin REQUIRED) + +catkin_package() + +install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} + PATTERN "setup_assistant.launch" EXCLUDE) +install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) diff --git a/mycobot_320/mycobot_320_moveit/LICENSE b/mycobot_320/mycobot_320_moveit/LICENSE new file mode 100644 index 0000000..b8468e6 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/LICENSE @@ -0,0 +1,25 @@ +BSD 2-Clause License + +Copyright (c) 2020, Elephant Robotics +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/mycobot_320/mycobot_320_moveit/config/chomp_planning.yaml b/mycobot_320/mycobot_320_moveit/config/chomp_planning.yaml new file mode 100644 index 0000000..75258e5 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/config/chomp_planning.yaml @@ -0,0 +1,18 @@ +planning_time_limit: 10.0 +max_iterations: 200 +max_iterations_after_collision_free: 5 +smoothness_cost_weight: 0.1 +obstacle_cost_weight: 1.0 +learning_rate: 0.01 +smoothness_cost_velocity: 0.0 +smoothness_cost_acceleration: 1.0 +smoothness_cost_jerk: 0.0 +ridge_factor: 0.01 +use_pseudo_inverse: false +pseudo_inverse_ridge_factor: 1e-4 +joint_update_limit: 0.1 +collision_clearence: 0.2 +collision_threshold: 0.07 +use_stochastic_descent: true +enable_failure_recovery: true +max_recovery_attempts: 5 \ No newline at end of file diff --git a/mycobot_320/mycobot_320_moveit/config/fake_controllers.yaml b/mycobot_320/mycobot_320_moveit/config/fake_controllers.yaml new file mode 100644 index 0000000..47a2eb3 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/config/fake_controllers.yaml @@ -0,0 +1,9 @@ +controller_list: + - name: fake_arm_group_controller + joints: + - joint2_to_joint1 + - joint3_to_joint2 + - joint4_to_joint3 + - joint5_to_joint4 + - joint6_to_joint5 + - joint6output_to_joint6 \ No newline at end of file diff --git a/mycobot_320/mycobot_320_moveit/config/firefighter.srdf b/mycobot_320/mycobot_320_moveit/config/firefighter.srdf new file mode 100644 index 0000000..a7b6c89 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/config/firefighter.srdf @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/config/joint_limits.yaml b/mycobot_320/mycobot_320_moveit/config/joint_limits.yaml new file mode 100644 index 0000000..6e9612a --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/config/joint_limits.yaml @@ -0,0 +1,34 @@ +# joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed +# 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: + joint2_to_joint1: + has_velocity_limits: false + max_velocity: 0 + has_acceleration_limits: false + max_acceleration: 0 + joint3_to_joint2: + has_velocity_limits: false + max_velocity: 0 + has_acceleration_limits: false + max_acceleration: 0 + joint4_to_joint3: + has_velocity_limits: false + max_velocity: 0 + has_acceleration_limits: false + max_acceleration: 0 + joint5_to_joint4: + has_velocity_limits: false + max_velocity: 0 + has_acceleration_limits: false + max_acceleration: 0 + joint6_to_joint5: + has_velocity_limits: false + max_velocity: 0 + has_acceleration_limits: false + max_acceleration: 0 + joint6output_to_joint6: + has_velocity_limits: false + max_velocity: 0 + has_acceleration_limits: false + max_acceleration: 0 \ No newline at end of file diff --git a/mycobot_320/mycobot_320_moveit/config/kinematics.yaml b/mycobot_320/mycobot_320_moveit/config/kinematics.yaml new file mode 100644 index 0000000..031b273 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/config/kinematics.yaml @@ -0,0 +1,5 @@ +arm_group: + 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/mycobot_320/mycobot_320_moveit/config/ompl_planning.yaml b/mycobot_320/mycobot_320_moveit/config/ompl_planning.yaml new file mode 100644 index 0000000..3f4d0c2 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/config/ompl_planning.yaml @@ -0,0 +1,150 @@ +planner_configs: + SBL: + type: geometric::SBL + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + EST: + type: geometric::EST + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0 setup() + goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 + LBKPIECE: + type: geometric::LBKPIECE + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9 + min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5 + BKPIECE: + type: geometric::BKPIECE + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9 + failed_expansion_score_factor: 0.5 # When extending motion fails, scale score by factor. default: 0.5 + min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5 + KPIECE: + type: geometric::KPIECE + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 + border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9 (0.0,1.] + failed_expansion_score_factor: 0.5 # When extending motion fails, scale score by factor. default: 0.5 + min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5 + RRT: + type: geometric::RRT + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + goal_bias: 0.05 # When close to goal select goal, with this probability? default: 0.05 + RRTConnect: + type: geometric::RRTConnect + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + RRTstar: + type: geometric::RRTstar + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + goal_bias: 0.05 # When close to goal select goal, with this probability? default: 0.05 + delay_collision_checking: 1 # Stop collision checking as soon as C-free parent found. default 1 + TRRT: + type: geometric::TRRT + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + goal_bias: 0.05 # When close to goal select goal, with this probability? default: 0.05 + max_states_failed: 10 # when to start increasing temp. default: 10 + temp_change_factor: 2.0 # how much to increase or decrease temp. default: 2.0 + min_temperature: 10e-10 # lower limit of temp change. default: 10e-10 + init_temperature: 10e-6 # initial temperature. default: 10e-6 + frountier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup() + frountierNodeRatio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1 + k_constant: 0.0 # value used to normalize expresssion. default: 0.0 set in setup() + PRM: + type: geometric::PRM + max_nearest_neighbors: 10 # use k nearest neighbors. default: 10 + PRMstar: + type: geometric::PRMstar + FMT: + type: geometric::FMT + num_samples: 1000 # number of states that the planner should sample. default: 1000 + radius_multiplier: 1.1 # multiplier used for the nearest neighbors search radius. default: 1.1 + nearest_k: 1 # use Knearest strategy. default: 1 + cache_cc: 1 # use collision checking cache. default: 1 + heuristics: 0 # activate cost to go heuristics. default: 0 + extended_fmt: 1 # activate the extended FMT*: adding new samples if planner does not finish successfully. default: 1 + BFMT: + type: geometric::BFMT + num_samples: 1000 # number of states that the planner should sample. default: 1000 + radius_multiplier: 1.0 # multiplier used for the nearest neighbors search radius. default: 1.0 + nearest_k: 1 # use the Knearest strategy. default: 1 + balanced: 0 # exploration strategy: balanced true expands one tree every iteration. False will select the tree with lowest maximum cost to go. default: 1 + optimality: 1 # termination strategy: optimality true finishes when the best possible path is found. Otherwise, the algorithm will finish when the first feasible path is found. default: 1 + heuristics: 1 # activates cost to go heuristics. default: 1 + cache_cc: 1 # use the collision checking cache. default: 1 + extended_fmt: 1 # Activates the extended FMT*: adding new samples if planner does not finish successfully. default: 1 + PDST: + type: geometric::PDST + STRIDE: + type: geometric::STRIDE + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 + use_projected_distance: 0 # whether nearest neighbors are computed based on distances in a projection of the state rather distances in the state space itself. default: 0 + degree: 16 # desired degree of a node in the Geometric Near-neightbor Access Tree (GNAT). default: 16 + max_degree: 18 # max degree of a node in the GNAT. default: 12 + min_degree: 12 # min degree of a node in the GNAT. default: 12 + max_pts_per_leaf: 6 # max points per leaf in the GNAT. default: 6 + estimated_dimension: 0.0 # estimated dimension of the free space. default: 0.0 + min_valid_path_fraction: 0.2 # Accept partially valid moves above fraction. default: 0.2 + BiTRRT: + type: geometric::BiTRRT + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + temp_change_factor: 0.1 # how much to increase or decrease temp. default: 0.1 + init_temperature: 100 # initial temperature. default: 100 + frountier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup() + frountier_node_ratio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1 + cost_threshold: 1e300 # the cost threshold. Any motion cost that is not better will not be expanded. default: inf + LBTRRT: + type: geometric::LBTRRT + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 + epsilon: 0.4 # optimality approximation factor. default: 0.4 + BiEST: + type: geometric::BiEST + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + ProjEST: + type: geometric::ProjEST + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 + LazyPRM: + type: geometric::LazyPRM + range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() + LazyPRMstar: + type: geometric::LazyPRMstar + SPARS: + type: geometric::SPARS + stretch_factor: 3.0 # roadmap spanner stretch factor. multiplicative upper bound on path quality. It does not make sense to make this parameter more than 3. default: 3.0 + sparse_delta_fraction: 0.25 # delta fraction for connection distance. This value represents the visibility range of sparse samples. default: 0.25 + dense_delta_fraction: 0.001 # delta fraction for interface detection. default: 0.001 + max_failures: 1000 # maximum consecutive failure limit. default: 1000 + SPARStwo: + type: geometric::SPARStwo + stretch_factor: 3.0 # roadmap spanner stretch factor. multiplicative upper bound on path quality. It does not make sense to make this parameter more than 3. default: 3.0 + sparse_delta_fraction: 0.25 # delta fraction for connection distance. This value represents the visibility range of sparse samples. default: 0.25 + dense_delta_fraction: 0.001 # delta fraction for interface detection. default: 0.001 + max_failures: 5000 # maximum consecutive failure limit. default: 5000 +arm_group: + default_planner_config: None + planner_configs: + - SBL + - EST + - LBKPIECE + - BKPIECE + - KPIECE + - RRT + - RRTConnect + - RRTstar + - TRRT + - PRM + - PRMstar + - FMT + - BFMT + - PDST + - STRIDE + - BiTRRT + - LBTRRT + - BiEST + - ProjEST + - LazyPRM + - LazyPRMstar + - SPARS + - SPARStwo + projection_evaluator: joints(joint2_to_joint1,joint3_to_joint2) + longest_valid_segment_fraction: 0.005 \ No newline at end of file diff --git a/mycobot_320/mycobot_320_moveit/config/ros_controllers.yaml b/mycobot_320/mycobot_320_moveit/config/ros_controllers.yaml new file mode 100644 index 0000000..cfae48a --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/config/ros_controllers.yaml @@ -0,0 +1,25 @@ +# Simulation settings for using moveit_sim_controllers +moveit_sim_hw_interface: + joint_model_group: arm_group + joint_model_group_pose: init_pose +# Settings for ros_control_boilerplate control loop +generic_hw_control_loop: + loop_hz: 300 + cycle_time_error_threshold: 0.01 +# Settings for ros_control hardware interface +hardware_interface: + joints: + - joint2_to_joint1 + - joint3_to_joint2 + - joint4_to_joint3 + - joint5_to_joint4 + - joint6_to_joint5 + - joint6output_to_joint6 + sim_control_mode: 1 # 0: position, 1: velocity +# Publish all joint states +# Creates the /joint_states topic necessary in ROS +joint_state_controller: + type: joint_state_controller/JointStateController + publish_rate: 50 +controller_list: + [] \ No newline at end of file diff --git a/mycobot_320/mycobot_320_moveit/config/sensors_3d.yaml b/mycobot_320/mycobot_320_moveit/config/sensors_3d.yaml new file mode 100644 index 0000000..a4bb13e --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/config/sensors_3d.yaml @@ -0,0 +1,10 @@ +# The name of this file shouldn't be changed, or else the Setup Assistant won't detect it +sensors: + - 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 \ No newline at end of file diff --git a/mycobot_320/mycobot_320_moveit/launch/chomp_planning_pipeline.launch.xml b/mycobot_320/mycobot_320_moveit/launch/chomp_planning_pipeline.launch.xml new file mode 100644 index 0000000..adb55bb --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/chomp_planning_pipeline.launch.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/default_warehouse_db.launch b/mycobot_320/mycobot_320_moveit/launch/default_warehouse_db.launch new file mode 100644 index 0000000..2aa3cfd --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/default_warehouse_db.launch @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/demo.launch b/mycobot_320/mycobot_320_moveit/launch/demo.launch new file mode 100644 index 0000000..23a254c --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/demo.launch @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [move_group/fake_controller_joint_states] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/demo_gazebo.launch b/mycobot_320/mycobot_320_moveit/launch/demo_gazebo.launch new file mode 100644 index 0000000..05326c8 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/demo_gazebo.launch @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [/joint_states] + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/fake_moveit_controller_manager.launch.xml b/mycobot_320/mycobot_320_moveit/launch/fake_moveit_controller_manager.launch.xml new file mode 100644 index 0000000..daa6896 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/fake_moveit_controller_manager.launch.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/firefighter_moveit_controller_manager.launch.xml b/mycobot_320/mycobot_320_moveit/launch/firefighter_moveit_controller_manager.launch.xml new file mode 100644 index 0000000..fbebe59 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/firefighter_moveit_controller_manager.launch.xml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/firefighter_moveit_sensor_manager.launch.xml b/mycobot_320/mycobot_320_moveit/launch/firefighter_moveit_sensor_manager.launch.xml new file mode 100644 index 0000000..5d02698 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/firefighter_moveit_sensor_manager.launch.xml @@ -0,0 +1,3 @@ + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/gazebo.launch b/mycobot_320/mycobot_320_moveit/launch/gazebo.launch new file mode 100644 index 0000000..1b30113 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/gazebo.launch @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/joystick_control.launch b/mycobot_320/mycobot_320_moveit/launch/joystick_control.launch new file mode 100644 index 0000000..9411f6e --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/joystick_control.launch @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/move_group.launch b/mycobot_320/mycobot_320_moveit/launch/move_group.launch new file mode 100644 index 0000000..461eb0e --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/move_group.launch @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/moveit.rviz b/mycobot_320/mycobot_320_moveit/launch/moveit.rviz new file mode 100644 index 0000000..13fe2c6 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/moveit.rviz @@ -0,0 +1,250 @@ +Panels: + - Class: rviz/Displays + Help Height: 84 + Name: Displays + Property Tree Widget: + Expanded: + - /MotionPlanning1 + - /MotionPlanning1/Scene Geometry1 + - /MotionPlanning1/Scene Robot1 + - /MotionPlanning1/Planning Request1 + - /MotionPlanning1/Planned Path1 + Splitter Ratio: 0.742560029 + Tree Height: 218 + - Class: rviz/Help + Name: Help + - Class: rviz/Views + Expanded: + - /Current View1 + Name: Views + Splitter Ratio: 0.5 +Toolbars: + toolButtonStyle: 2 +Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz/Grid + Color: 160; 160; 164 + Enabled: true + Line Style: + Line Width: 0.0299999993 + 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_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: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + link1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + link2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + link3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + link4: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + link5: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + link6: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + 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.0799999982 + 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_group + Query Goal State: true + Query Start State: true + Show Workspace: false + Start State Alpha: 1 + Start State Color: 0; 255; 0 + Planning Scene Topic: move_group/monitored_planning_scene + Robot Description: robot_description + Scene Geometry: + Scene Alpha: 1 + Scene Color: 50; 230; 50 + Scene Display Time: 0.200000003 + 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: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + link1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + link2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + link3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + link4: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + link5: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + link6: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + Robot Alpha: 0.5 + Show Robot Collision: false + Show Robot Visual: false + Value: true + Velocity_Scaling_Factor: 1 + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Default Light: true + Fixed Frame: base + Frame Rate: 30 + Name: root + Tools: + - Class: rviz/Interact + Hide Inactive Objects: true + - Class: rviz/MoveCamera + - Class: rviz/Select + Value: true + Views: + Current: + Class: rviz/XYOrbit + Distance: 2.99650002 + Enable Stereo Rendering: + Stereo Eye Separation: 0.0599999987 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Focal Point: + X: 0.113567002 + Y: 0.105920002 + Z: 2.23518001e-07 + Focal Shape Fixed Size: true + Focal Shape Size: 0.0500000007 + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.00999999978 + Pitch: 0.509796977 + Target Frame: base + Value: XYOrbit (rviz) + Yaw: 5.65994978 + Saved: ~ +Window Geometry: + Displays: + collapsed: false + Height: 926 + Help: + collapsed: false + Hide Left Dock: false + Hide Right Dock: false + MotionPlanning: + collapsed: false + MotionPlanning - Trajectory Slider: + collapsed: false + QMainWindow State: 000000ff00000000fd0000000100000000000002ad00000358fc0200000007fb000000100044006900730070006c00610079007301000000280000016f000000d700fffffffb0000000800480065006c00700000000342000000bb0000007300fffffffb0000000a0056006900650077007300000003b0000000b0000000ad00fffffffb0000000c00430061006d00650072006100000002ff000001610000000000000000fb0000001e004d006f00740069006f006e00200050006c0061006e006e0069006e00670100000374000001890000000000000000fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c0069006400650072010000019d0000004d0000004a00fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e006701000001f0000001900000018300ffffff0000048c0000035800000001000000020000000100000002fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Views: + collapsed: false + Width: 1855 + X: 65 + Y: 24 diff --git a/mycobot_320/mycobot_320_moveit/launch/moveit_rviz.launch b/mycobot_320/mycobot_320_moveit/launch/moveit_rviz.launch new file mode 100644 index 0000000..bc3e62e --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/moveit_rviz.launch @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/mycobot320_moveit.launch b/mycobot_320/mycobot_320_moveit/launch/mycobot320_moveit.launch new file mode 100644 index 0000000..f24485e --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/mycobot320_moveit.launch @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [move_group/fake_controller_joint_states] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/ompl_planning_pipeline.launch.xml b/mycobot_320/mycobot_320_moveit/launch/ompl_planning_pipeline.launch.xml new file mode 100644 index 0000000..c9d9e91 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/ompl_planning_pipeline.launch.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/planning_context.launch b/mycobot_320/mycobot_320_moveit/launch/planning_context.launch new file mode 100644 index 0000000..d323880 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/planning_context.launch @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/planning_pipeline.launch.xml b/mycobot_320/mycobot_320_moveit/launch/planning_pipeline.launch.xml new file mode 100644 index 0000000..ca8a9fa --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/planning_pipeline.launch.xml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/ros_controllers.launch b/mycobot_320/mycobot_320_moveit/launch/ros_controllers.launch new file mode 100644 index 0000000..aadea62 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/ros_controllers.launch @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/run_benchmark_ompl.launch b/mycobot_320/mycobot_320_moveit/launch/run_benchmark_ompl.launch new file mode 100644 index 0000000..0677982 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/run_benchmark_ompl.launch @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/sensor_manager.launch.xml b/mycobot_320/mycobot_320_moveit/launch/sensor_manager.launch.xml new file mode 100644 index 0000000..b51f873 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/sensor_manager.launch.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/setup_assistant.launch b/mycobot_320/mycobot_320_moveit/launch/setup_assistant.launch new file mode 100644 index 0000000..62d1bf9 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/setup_assistant.launch @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/trajectory_execution.launch.xml b/mycobot_320/mycobot_320_moveit/launch/trajectory_execution.launch.xml new file mode 100644 index 0000000..ee53c1b --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/trajectory_execution.launch.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/warehouse.launch b/mycobot_320/mycobot_320_moveit/launch/warehouse.launch new file mode 100644 index 0000000..8ba07c8 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/warehouse.launch @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/launch/warehouse_settings.launch.xml b/mycobot_320/mycobot_320_moveit/launch/warehouse_settings.launch.xml new file mode 100644 index 0000000..e473b08 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/launch/warehouse_settings.launch.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/mycobot_320/mycobot_320_moveit/package.xml b/mycobot_320/mycobot_320_moveit/package.xml new file mode 100644 index 0000000..18a2fe9 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/package.xml @@ -0,0 +1,34 @@ + + + mycobot_320_moveit + 0.3.0 + + An automatically generated package with all the configuration and launch files for using the firefighter with the MoveIt! Motion Planning Framework + + zachary + zachary + + BSD + + http://moveit.ros.org/ + https://github.com/ros-planning/moveit/issues + https://github.com/ros-planning/moveit + + catkin + + moveit_ros_move_group + moveit_fake_controller_manager + moveit_kinematics + moveit_planners_ompl + moveit_ros_visualization + moveit_setup_assistant + joint_state_publisher + robot_state_publisher + xacro + + + mycobot_description + mycobot_description + + + diff --git a/mycobot_320/mycobot_320_moveit/scripts/sync_plan.py b/mycobot_320/mycobot_320_moveit/scripts/sync_plan.py new file mode 100644 index 0000000..405ec36 --- /dev/null +++ b/mycobot_320/mycobot_320_moveit/scripts/sync_plan.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python2 +import time +import subprocess +import rospy +from sensor_msgs.msg import JointState + +from pymycobot.mycobot import MyCobot + + +mc = None + + +def callback(data): + rospy.loginfo(rospy.get_caller_id() + "%s", data) + data_list = [] + for index, value in enumerate(data.position): + # if index != 2: + # value *= -1 + data_list.append(value) + + mc.send_radians(data_list, 80) + + +def listener(): + global mc + rospy.init_node("mycobot_reciver", anonymous=True) + port = subprocess.check_output(['echo -n /dev/ttyUSB*'], + shell=True) + + port = rospy.get_param("~port", port) + baud = rospy.get_param("~baud", 1000000) + mc = MyCobot(port, baud) + + rospy.Subscriber("joint_states", JointState, callback) + + # spin() simply keeps python from exiting until this node is stopped + rospy.spin() + + +if __name__ == "__main__": + listener()