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()