From 01217229cf9a5cf458ab9636ab1747c085b9450a Mon Sep 17 00:00:00 2001
From: wangWking <842749351@qq.com>
Date: Fri, 22 Apr 2022 16:23:19 +0800
Subject: [PATCH] add new_320_pi_moveit ROS
---
.../new_mycobot_320_pi_moveit/CMakeLists.txt | 14 +
mycobot_320/new_mycobot_320_pi_moveit/LICENSE | 25 ++
.../config/chomp_planning.yaml | 18 ++
.../config/fake_controllers.yaml | 9 +
.../config/firefighter.srdf | 38 +++
.../config/joint_limits.yaml | 34 +++
.../config/kinematics.yaml | 5 +
.../config/ompl_planning.yaml | 150 +++++++++++
.../config/ros_controllers.yaml | 25 ++
.../config/sensors_3d.yaml | 10 +
.../launch/chomp_planning_pipeline.launch.xml | 10 +
.../launch/default_warehouse_db.launch | 15 ++
.../launch/demo.launch | 57 ++++
.../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 +
.../launch/gazebo.launch | 23 ++
.../launch/joystick_control.launch | 17 ++
.../launch/move_group.launch | 77 ++++++
.../launch/moveit.rviz | 250 ++++++++++++++++++
.../launch/moveit_rviz.launch | 16 ++
.../launch/mycobot320_moveit.launch | 57 ++++
.../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 ++
.../new_mycobot_320_pi_moveit/package.xml | 33 +++
...th_planning_and_obstacle_avoidance_demo.py | 137 ++++++++++
.../scripts/sync_plan.py | 43 +++
36 files changed, 1327 insertions(+)
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/CMakeLists.txt
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/LICENSE
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/config/chomp_planning.yaml
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/config/fake_controllers.yaml
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/config/firefighter.srdf
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/config/joint_limits.yaml
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/config/kinematics.yaml
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/config/ompl_planning.yaml
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/config/ros_controllers.yaml
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/config/sensors_3d.yaml
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/launch/chomp_planning_pipeline.launch.xml
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/default_warehouse_db.launch
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/demo.launch
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/demo_gazebo.launch
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/launch/fake_moveit_controller_manager.launch.xml
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/launch/firefighter_moveit_controller_manager.launch.xml
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/launch/firefighter_moveit_sensor_manager.launch.xml
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/gazebo.launch
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/joystick_control.launch
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/move_group.launch
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/launch/moveit.rviz
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/moveit_rviz.launch
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/mycobot320_moveit.launch
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/launch/ompl_planning_pipeline.launch.xml
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/planning_context.launch
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/launch/planning_pipeline.launch.xml
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/ros_controllers.launch
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/run_benchmark_ompl.launch
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/launch/sensor_manager.launch.xml
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/setup_assistant.launch
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/launch/trajectory_execution.launch.xml
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/launch/warehouse.launch
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/launch/warehouse_settings.launch.xml
create mode 100644 mycobot_320/new_mycobot_320_pi_moveit/package.xml
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/scripts/path_planning_and_obstacle_avoidance_demo.py
create mode 100755 mycobot_320/new_mycobot_320_pi_moveit/scripts/sync_plan.py
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/CMakeLists.txt b/mycobot_320/new_mycobot_320_pi_moveit/CMakeLists.txt
new file mode 100644
index 0000000..961d78c
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/CMakeLists.txt
@@ -0,0 +1,14 @@
+cmake_minimum_required(VERSION 3.0.2)
+project(new_mycobot_320_pi_moveit)
+
+## Compile as C++11, supported in ROS Kinetic and newer
+# add_compile_options(-std=c++11)
+
+
+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/new_mycobot_320_pi_moveit/LICENSE b/mycobot_320/new_mycobot_320_pi_moveit/LICENSE
new file mode 100644
index 0000000..b8468e6
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_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/new_mycobot_320_pi_moveit/config/chomp_planning.yaml b/mycobot_320/new_mycobot_320_pi_moveit/config/chomp_planning.yaml
new file mode 100644
index 0000000..75258e5
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_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/new_mycobot_320_pi_moveit/config/fake_controllers.yaml b/mycobot_320/new_mycobot_320_pi_moveit/config/fake_controllers.yaml
new file mode 100644
index 0000000..47a2eb3
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_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/new_mycobot_320_pi_moveit/config/firefighter.srdf b/mycobot_320/new_mycobot_320_pi_moveit/config/firefighter.srdf
new file mode 100644
index 0000000..a7b6c89
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/config/firefighter.srdf
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/config/joint_limits.yaml b/mycobot_320/new_mycobot_320_pi_moveit/config/joint_limits.yaml
new file mode 100644
index 0000000..6e9612a
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_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/new_mycobot_320_pi_moveit/config/kinematics.yaml b/mycobot_320/new_mycobot_320_pi_moveit/config/kinematics.yaml
new file mode 100644
index 0000000..031b273
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_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/new_mycobot_320_pi_moveit/config/ompl_planning.yaml b/mycobot_320/new_mycobot_320_pi_moveit/config/ompl_planning.yaml
new file mode 100644
index 0000000..3f4d0c2
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_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/new_mycobot_320_pi_moveit/config/ros_controllers.yaml b/mycobot_320/new_mycobot_320_pi_moveit/config/ros_controllers.yaml
new file mode 100644
index 0000000..cfae48a
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_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/new_mycobot_320_pi_moveit/config/sensors_3d.yaml b/mycobot_320/new_mycobot_320_pi_moveit/config/sensors_3d.yaml
new file mode 100644
index 0000000..a4bb13e
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_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/new_mycobot_320_pi_moveit/launch/chomp_planning_pipeline.launch.xml b/mycobot_320/new_mycobot_320_pi_moveit/launch/chomp_planning_pipeline.launch.xml
new file mode 100644
index 0000000..9181edc
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/chomp_planning_pipeline.launch.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/default_warehouse_db.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/default_warehouse_db.launch
new file mode 100755
index 0000000..4d09f5f
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/default_warehouse_db.launch
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/demo.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/demo.launch
new file mode 100755
index 0000000..6474547
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/demo.launch
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [move_group/fake_controller_joint_states]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/demo_gazebo.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/demo_gazebo.launch
new file mode 100755
index 0000000..7799658
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/demo_gazebo.launch
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [/joint_states]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/fake_moveit_controller_manager.launch.xml b/mycobot_320/new_mycobot_320_pi_moveit/launch/fake_moveit_controller_manager.launch.xml
new file mode 100644
index 0000000..a33aa79
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/fake_moveit_controller_manager.launch.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/firefighter_moveit_controller_manager.launch.xml b/mycobot_320/new_mycobot_320_pi_moveit/launch/firefighter_moveit_controller_manager.launch.xml
new file mode 100644
index 0000000..89acd60
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/firefighter_moveit_controller_manager.launch.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/firefighter_moveit_sensor_manager.launch.xml b/mycobot_320/new_mycobot_320_pi_moveit/launch/firefighter_moveit_sensor_manager.launch.xml
new file mode 100644
index 0000000..5d02698
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/firefighter_moveit_sensor_manager.launch.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/gazebo.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/gazebo.launch
new file mode 100755
index 0000000..0bfa8b2
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/gazebo.launch
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/joystick_control.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/joystick_control.launch
new file mode 100755
index 0000000..9411f6e
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/joystick_control.launch
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/move_group.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/move_group.launch
new file mode 100755
index 0000000..f541e89
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/move_group.launch
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/moveit.rviz b/mycobot_320/new_mycobot_320_pi_moveit/launch/moveit.rviz
new file mode 100644
index 0000000..ecece4d
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_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: 195
+ - 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.0797968805
+ Target Frame: base
+ Value: XYOrbit (rviz)
+ Yaw: 2.89994884
+ Saved: ~
+Window Geometry:
+ Displays:
+ collapsed: false
+ Height: 898
+ Help:
+ collapsed: false
+ Hide Left Dock: false
+ Hide Right Dock: false
+ MotionPlanning:
+ collapsed: false
+ MotionPlanning - Trajectory Slider:
+ collapsed: false
+ QMainWindow State: 000000ff00000000fd0000000100000000000002ad0000033cfc0200000007fb000000100044006900730070006c006100790073010000002800000158000000d700fffffffb0000000800480065006c00700000000342000000bb0000007300fffffffb0000000a0056006900650077007300000003b0000000b0000000ad00fffffffb0000000c00430061006d00650072006100000002ff000001610000000000000000fb0000001e004d006f00740069006f006e00200050006c0061006e006e0069006e00670100000374000001890000000000000000fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c006900640065007201000001860000004a0000004a00fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e006701000001d60000018e0000018300ffffff0000048c0000033c00000001000000020000000100000002fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
+ Views:
+ collapsed: false
+ Width: 1855
+ X: 58
+ Y: 24
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/moveit_rviz.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/moveit_rviz.launch
new file mode 100755
index 0000000..e05875b
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/moveit_rviz.launch
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/mycobot320_moveit.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/mycobot320_moveit.launch
new file mode 100755
index 0000000..6efa196
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/mycobot320_moveit.launch
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [move_group/fake_controller_joint_states]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/ompl_planning_pipeline.launch.xml b/mycobot_320/new_mycobot_320_pi_moveit/launch/ompl_planning_pipeline.launch.xml
new file mode 100644
index 0000000..1081c15
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/ompl_planning_pipeline.launch.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/planning_context.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/planning_context.launch
new file mode 100755
index 0000000..d2adb4a
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/planning_context.launch
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/planning_pipeline.launch.xml b/mycobot_320/new_mycobot_320_pi_moveit/launch/planning_pipeline.launch.xml
new file mode 100644
index 0000000..7deaa46
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/planning_pipeline.launch.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/ros_controllers.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/ros_controllers.launch
new file mode 100755
index 0000000..c2bfee2
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/ros_controllers.launch
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/run_benchmark_ompl.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/run_benchmark_ompl.launch
new file mode 100755
index 0000000..d9e17a7
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/run_benchmark_ompl.launch
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/sensor_manager.launch.xml b/mycobot_320/new_mycobot_320_pi_moveit/launch/sensor_manager.launch.xml
new file mode 100644
index 0000000..45f5de3
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/sensor_manager.launch.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/setup_assistant.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/setup_assistant.launch
new file mode 100755
index 0000000..7bb4d33
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/setup_assistant.launch
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/trajectory_execution.launch.xml b/mycobot_320/new_mycobot_320_pi_moveit/launch/trajectory_execution.launch.xml
new file mode 100644
index 0000000..2a51583
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/trajectory_execution.launch.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/warehouse.launch b/mycobot_320/new_mycobot_320_pi_moveit/launch/warehouse.launch
new file mode 100755
index 0000000..ffc2052
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/warehouse.launch
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/launch/warehouse_settings.launch.xml b/mycobot_320/new_mycobot_320_pi_moveit/launch/warehouse_settings.launch.xml
new file mode 100644
index 0000000..e473b08
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/launch/warehouse_settings.launch.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/package.xml b/mycobot_320/new_mycobot_320_pi_moveit/package.xml
new file mode 100644
index 0000000..b6526cb
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/package.xml
@@ -0,0 +1,33 @@
+
+
+ new_mycobot_320_pi_moveit
+ 0.0.0
+ The new_mycobot_320_pi_moveit package
+
+ 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/new_mycobot_320_pi_moveit/scripts/path_planning_and_obstacle_avoidance_demo.py b/mycobot_320/new_mycobot_320_pi_moveit/scripts/path_planning_and_obstacle_avoidance_demo.py
new file mode 100755
index 0000000..cd4024d
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/scripts/path_planning_and_obstacle_avoidance_demo.py
@@ -0,0 +1,137 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import rospy, roslib, sys
+import moveit_commander
+from moveit_msgs.msg import RobotTrajectory
+from trajectory_msgs.msg import JointTrajectoryPoint
+
+from geometry_msgs.msg import PoseStamped, Pose
+from tf.transformations import euler_from_quaternion, quaternion_from_euler
+
+
+class MoveItPlanningDemo:
+ def __init__(self):
+ # API to initialize move_group,初始化move_group的API
+ moveit_commander.roscpp_initialize(sys.argv)
+
+ # Initialize the ROS node,初始化ROS节点
+ rospy.init_node("moveit_ik_demo")
+
+ # Initialize the scene object to monitor changes in the external environment
+ # 初始化场景对象,用来监听外部环境的变化
+ self.scene = moveit_commander.PlanningSceneInterface()
+ rospy.sleep(1)
+
+ # Initialize self.arm group in the robotic arm that needs to be controlled by move group
+ # 初始化需要使用move group控制的机械臂中的self.arm group
+ self.arm = moveit_commander.MoveGroupCommander("arm_group")
+
+ # Get the name of the terminal link,获取终端link的名称
+ self.end_effector_link = self.arm.get_end_effector_link()
+
+ # Set the reference coordinate system used for the target position
+ # 设置目标位置所使用的参考坐标系
+ self.reference_frame = "joint1"
+ self.arm.set_pose_reference_frame(self.reference_frame)
+
+ # Allow replanning when motion planning fails,当运动规划失败后,允许重新规划
+ self.arm.allow_replanning(True)
+
+ # Set the allowable error of position (unit: meter) and attitude (unit: radian)
+ # 设置位置(单位:米)和姿态(单位:弧度)的允许误差
+ self.arm.set_goal_position_tolerance(0.01)
+ self.arm.set_goal_orientation_tolerance(0.05)
+
+ def moving(self):
+ # # Control the robotic arm to return to the initialization position first
+ # 控制机械臂先回到初始化位置
+ self.arm.set_named_target("init_pose")
+ self.arm.go()
+ rospy.sleep(2)
+
+ # Set the target pose in the robotic arm workspace, the position is described by x, y, z coordinates,
+ # 设置机械臂工作空间中的目标位姿,位置使用x、y、z坐标描述,
+ # Pose is described by quaternion, based on base_link coordinate system
+ # 姿态使用四元数描述,基于base_link坐标系
+ target_pose = PoseStamped()
+ target_pose.header.frame_id = self.reference_frame
+ target_pose.header.stamp = rospy.Time.now()
+ target_pose.pose.position.x = 0.132
+ target_pose.pose.position.y = -0.150
+ target_pose.pose.position.z = 0.075
+ target_pose.pose.orientation.x = 0.026
+ target_pose.pose.orientation.y = 1.0
+ target_pose.pose.orientation.z = 0.0
+ target_pose.pose.orientation.w = 0.014
+
+ # Set the current state of the robot arm as the initial state of motion
+ # 设置机器臂当前的状态作为运动初始状态
+ self.arm.set_start_state_to_current_state()
+
+ # Set the target pose of the terminal motion of the robotic arm
+ # 设置机械臂终端运动的目标位姿
+ self.arm.set_pose_target(target_pose, self.end_effector_link)
+
+ # Plan the movement path,规划运动路径
+ traj = self.arm.plan()
+
+ # Control the motion of the robotic arm according to the planned motion path
+ # 按照规划的运动路径控制机械臂运动
+ self.arm.execute(traj)
+ rospy.sleep(1)
+
+ # Control the terminal of the robotic arm to move 5cm to the right. Parameter 1 represents y, 0,1,2,3,4,5 represents xyzrpy
+ # 控制机械臂终端向右移动5cm 參數1是代表y, 0,1,2,3,4,5 代表xyzrpy
+ self.arm.shift_pose_target(1, 0.12, self.end_effector_link)
+ self.arm.go()
+ rospy.sleep(1)
+
+ self.arm.shift_pose_target(1, 0.1, self.end_effector_link)
+ self.arm.go()
+ rospy.sleep(1)
+
+ # Control the terminal of the robotic arm to rotate 90 degrees in the opposite direction. 0,1,2,3,4,5 represent xyzrpy
+ # 控制机械臂终端反向旋转90度 0,1,2,3,4,5 代表xyzrpy
+ # self.arm.shift_pose_target(3, -1.57, end_effector_link)
+ # self.arm.go()
+ # rospy.sleep(1)
+
+ def run(self):
+ self.scene.remove_world_object("suit")
+
+ # Run once without obstacles,没有障碍物运行一次
+ self.moving()
+
+ # Add environment,添加环境
+ quat = quaternion_from_euler(3.1415, 0, -1.57)
+
+ suit_post = PoseStamped()
+ suit_post.header.frame_id = self.reference_frame
+ suit_post.pose.position.x = 0.0
+ suit_post.pose.position.y = 0.0
+ suit_post.pose.position.z = -0.02
+ suit_post.pose.orientation.x = quat[0]
+ suit_post.pose.orientation.y = quat[1]
+ suit_post.pose.orientation.z = quat[2]
+ suit_post.pose.orientation.w = quat[3]
+
+ suit_path = (
+ roslib.packages.get_pkg_dir("mycobot_description")
+ + "/urdf/mycobot/suit_env.dae"
+ )
+ # need `pyassimp==3.3`
+ self.scene.add_mesh("suit", suit_post, suit_path)
+ rospy.sleep(2)
+
+ # Run it again if there is an environmental impact,有环境影响后再运行一次
+ self.moving()
+
+ # close and exit moveit,关闭并退出moveit
+ moveit_commander.roscpp_shutdown()
+ moveit_commander.os._exit(0)
+
+
+if __name__ == "__main__":
+ o = MoveItPlanningDemo()
+ o.run()
diff --git a/mycobot_320/new_mycobot_320_pi_moveit/scripts/sync_plan.py b/mycobot_320/new_mycobot_320_pi_moveit/scripts/sync_plan.py
new file mode 100755
index 0000000..e93730b
--- /dev/null
+++ b/mycobot_320/new_mycobot_320_pi_moveit/scripts/sync_plan.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python2
+# -*- coding: utf-8 -*-
+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/ttyAMA*'],
+ shell=True)
+
+ port = rospy.get_param("~port", port)
+ baud = rospy.get_param("~baud", 1000000)
+ # 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()