diff --git a/.idea/misc.xml b/.idea/misc.xml
index 9de2865..0ace756 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,5 +3,5 @@
-
+
\ No newline at end of file
diff --git a/.idea/ws_universal_robotics.iml b/.idea/ws_universal_robotics.iml
index 5fdd65b..fa6c41a 100644
--- a/.idea/ws_universal_robotics.iml
+++ b/.idea/ws_universal_robotics.iml
@@ -1,8 +1,12 @@
-
-
+
+
+
+
+
+
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
new file mode 100644
index 0000000..13f0a13
--- /dev/null
+++ b/.vscode/c_cpp_properties.json
@@ -0,0 +1,66 @@
+{
+ "configurations": [
+ {
+ "browse": {
+ "databaseFilename": "${default}",
+ "limitSymbolsToIncludedHeaders": false
+ },
+ "includePath": [
+ "/home/fotis/UR_Robotiq/install/ur_calibration/include/**",
+ "/home/fotis/UR_Robotiq/install/ur_robot_driver/include/**",
+ "/home/fotis/UR_Robotiq/install/ur_controllers/include/**",
+ "/home/fotis/UR_Robotiq/install/ur_dashboard_msgs/include/**",
+ "/home/fotis/UR_Robotiq/install/robotiq_driver/include/**",
+ "/home/fotis/UR_Robotiq/install/serial/include/**",
+ "/home/fotis/UR_Robotiq/install/robotiq_controllers/include/**",
+ "/home/fotis/ws_moveit2/install/pilz_industrial_motion_planner_testutils/include/**",
+ "/home/fotis/ws_moveit2/install/pilz_industrial_motion_planner/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_visual_tools/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_task_constructor_visualization/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_task_constructor_demo/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_task_constructor_core/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_ros_control_interface/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_simple_controller_manager/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_setup_assistant/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_setup_srdf_plugins/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_setup_core_plugins/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_setup_controllers/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_setup_app_plugins/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_setup_framework/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_servo/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_ros_visualization/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_hybrid_planning/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_ros_planning_interface/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_ros_benchmarks/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_ros_warehouse/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_ros_robot_interaction/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_ros_perception/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_ros_move_group/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_planners_ompl/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_ros_planning/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_ros_occupancy_map_monitor/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_kinematics/include/**",
+ "/home/fotis/ws_moveit2/install/chomp_motion_planner/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_core/include/**",
+ "/home/fotis/ws_moveit2/install/srdfdom/include/**",
+ "/home/fotis/ws_moveit2/install/rviz_marker_tools/include/**",
+ "/home/fotis/ws_moveit2/install/rosparam_shortcuts/include/**",
+ "/home/fotis/ws_moveit2/install/moveit_task_constructor_msgs/include/**",
+ "/opt/ros/humble/include/**",
+ "/home/fotis/UR_Robotiq/src/Universal_Robots_ROS2_Driver/ur_calibration/include/**",
+ "/home/fotis/UR_Robotiq/src/Universal_Robots_ROS2_Driver/ur_controllers/include/**",
+ "/home/fotis/UR_Robotiq/src/Universal_Robots_ROS2_Driver/ur_robot_driver/include/**",
+ "/home/fotis/UR_Robotiq/src/ros2_robotiq_gripper/robotiq_controllers/include/**",
+ "/home/fotis/UR_Robotiq/src/ros2_robotiq_gripper/robotiq_driver/include/**",
+ "/home/fotis/UR_Robotiq/src/serial/include/**",
+ "/usr/include/**"
+ ],
+ "name": "ROS",
+ "intelliSenseMode": "gcc-x64",
+ "compilerPath": "/usr/bin/gcc",
+ "cStandard": "gnu11",
+ "cppStandard": "c++14"
+ }
+ ],
+ "version": 4
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..cea386d
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,26 @@
+{
+ "python.autoComplete.extraPaths": [
+ "/home/fotis/UR_Robotiq/install/ur_robot_driver/local/lib/python3.10/dist-packages",
+ "/home/fotis/UR_Robotiq/install/ur_moveit_config/local/lib/python3.10/dist-packages",
+ "/home/fotis/UR_Robotiq/install/ur_dashboard_msgs/local/lib/python3.10/dist-packages",
+ "/home/fotis/UR_Robotiq/install/my-test-package/lib/python3.10/site-packages",
+ "/home/fotis/ws_moveit2/install/moveit_configs_utils/lib/python3.10/site-packages",
+ "/home/fotis/ws_moveit2/install/srdfdom/local/lib/python3.10/dist-packages",
+ "/home/fotis/ws_moveit2/install/moveit_task_constructor_msgs/local/lib/python3.10/dist-packages",
+ "/home/fotis/ws_moveit2/install/launch_param_builder/lib/python3.10/site-packages",
+ "/opt/ros/humble/lib/python3.10/site-packages",
+ "/opt/ros/humble/local/lib/python3.10/dist-packages"
+ ],
+ "python.analysis.extraPaths": [
+ "/home/fotis/UR_Robotiq/install/ur_robot_driver/local/lib/python3.10/dist-packages",
+ "/home/fotis/UR_Robotiq/install/ur_moveit_config/local/lib/python3.10/dist-packages",
+ "/home/fotis/UR_Robotiq/install/ur_dashboard_msgs/local/lib/python3.10/dist-packages",
+ "/home/fotis/UR_Robotiq/install/my-test-package/lib/python3.10/site-packages",
+ "/home/fotis/ws_moveit2/install/moveit_configs_utils/lib/python3.10/site-packages",
+ "/home/fotis/ws_moveit2/install/srdfdom/local/lib/python3.10/dist-packages",
+ "/home/fotis/ws_moveit2/install/moveit_task_constructor_msgs/local/lib/python3.10/dist-packages",
+ "/home/fotis/ws_moveit2/install/launch_param_builder/lib/python3.10/site-packages",
+ "/opt/ros/humble/lib/python3.10/site-packages",
+ "/opt/ros/humble/local/lib/python3.10/dist-packages"
+ ]
+}
\ No newline at end of file
diff --git a/src/ur_robotiq_description/CMakeLists.txt b/src/ur_robotiq_description/CMakeLists.txt
index 5e86e05..5fd7cc4 100644
--- a/src/ur_robotiq_description/CMakeLists.txt
+++ b/src/ur_robotiq_description/CMakeLists.txt
@@ -5,6 +5,10 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
+install(DIRECTORY urdf/
+ DESTINATION share/${PROJECT_NAME}/urdf)
+
+
# find dependencies
find_package(ament_cmake REQUIRED)
# uncomment the following section in order to fill in
diff --git a/src/ur_robotiq_description/urdf/ur_robotiq.urdf b/src/ur_robotiq_description/urdf/ur_robotiq.urdf
index 7678bf1..2b63c0c 100644
--- a/src/ur_robotiq_description/urdf/ur_robotiq.urdf
+++ b/src/ur_robotiq_description/urdf/ur_robotiq.urdf
@@ -591,7 +591,7 @@
-
+
@@ -600,7 +600,7 @@
-
+
@@ -618,7 +618,7 @@
-
+
@@ -627,7 +627,7 @@
-
+
@@ -640,7 +640,7 @@
-
+
@@ -649,7 +649,7 @@
-
+
@@ -662,7 +662,7 @@
-
+
@@ -671,7 +671,7 @@
-
+
@@ -704,7 +704,7 @@
-
+
@@ -713,7 +713,7 @@
-
+
@@ -726,7 +726,7 @@
-
+
@@ -735,7 +735,7 @@
-
+
@@ -748,7 +748,7 @@
-
+
@@ -757,7 +757,7 @@
-
+
@@ -770,7 +770,7 @@
-
+
@@ -779,7 +779,7 @@
-
+
@@ -812,7 +812,7 @@
-
+
@@ -821,7 +821,7 @@
-
+
diff --git a/src/ur_robotiq_moveit_config/.setup_assistant b/src/ur_robotiq_moveit_config/.setup_assistant
new file mode 100644
index 0000000..411385c
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/.setup_assistant
@@ -0,0 +1,27 @@
+moveit_setup_assistant_config:
+ urdf:
+ package: ur_robotiq_description
+ relative_path: urdf/ur_robotiq.urdf
+ srdf:
+ relative_path: config/ur3e_robotiq.srdf
+ package_settings:
+ author_name: Fotios Lygerakis
+ author_email: fotios.lygerakis@unileoben.ac.at
+ generated_timestamp: 1709822028
+ control_xacro:
+ command:
+ - position
+ - velocity
+ state:
+ - position
+ - velocity
+ modified_urdf:
+ xacros:
+ - control_xacro
+ control_xacro:
+ command:
+ - position
+ - velocity
+ state:
+ - position
+ - velocity
\ No newline at end of file
diff --git a/src/ur_robotiq_moveit_config/CMakeLists.txt b/src/ur_robotiq_moveit_config/CMakeLists.txt
new file mode 100644
index 0000000..2c40b44
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/CMakeLists.txt
@@ -0,0 +1,11 @@
+cmake_minimum_required(VERSION 3.22)
+project(ur_robotiq_moveit_config)
+
+find_package(ament_cmake REQUIRED)
+
+ament_package()
+
+install(DIRECTORY launch DESTINATION share/${PROJECT_NAME}
+ PATTERN "setup_assistant.launch" EXCLUDE)
+install(DIRECTORY config DESTINATION share/${PROJECT_NAME})
+install(FILES .setup_assistant DESTINATION share/${PROJECT_NAME})
diff --git a/src/ur_robotiq_moveit_config/config/initial_positions.yaml b/src/ur_robotiq_moveit_config/config/initial_positions.yaml
new file mode 100644
index 0000000..2e29228
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/config/initial_positions.yaml
@@ -0,0 +1,10 @@
+# Default initial positions for ur3e_robotiq's ros2_control fake system
+
+initial_positions:
+ elbow_joint: 0
+ finger_joint: 0
+ shoulder_lift_joint: 0
+ shoulder_pan_joint: 0
+ wrist_1_joint: 0
+ wrist_2_joint: 0
+ wrist_3_joint: 0
\ No newline at end of file
diff --git a/src/ur_robotiq_moveit_config/config/joint_limits.yaml b/src/ur_robotiq_moveit_config/config/joint_limits.yaml
new file mode 100644
index 0000000..bc7e250
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/config/joint_limits.yaml
@@ -0,0 +1,45 @@
+# joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed
+
+# For beginners, we downscale velocity and acceleration limits.
+# You can always specify higher scaling factors (<= 1.0) in your motion requests. # Increase the values below to 1.0 to always move at maximum speed.
+default_velocity_scaling_factor: 0.1
+default_acceleration_scaling_factor: 0.1
+
+# Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration]
+# Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits]
+joint_limits:
+ elbow_joint:
+ has_velocity_limits: true
+ max_velocity: 3.1415926535897931
+ has_acceleration_limits: false
+ max_acceleration: 0
+ finger_joint:
+ has_velocity_limits: true
+ max_velocity: 2
+ has_acceleration_limits: false
+ max_acceleration: 0
+ shoulder_lift_joint:
+ has_velocity_limits: true
+ max_velocity: 3.1415926535897931
+ has_acceleration_limits: false
+ max_acceleration: 0
+ shoulder_pan_joint:
+ has_velocity_limits: true
+ max_velocity: 3.1415926535897931
+ has_acceleration_limits: false
+ max_acceleration: 0
+ wrist_1_joint:
+ has_velocity_limits: true
+ max_velocity: 6.2831853071795862
+ has_acceleration_limits: false
+ max_acceleration: 0
+ wrist_2_joint:
+ has_velocity_limits: true
+ max_velocity: 6.2831853071795862
+ has_acceleration_limits: false
+ max_acceleration: 0
+ wrist_3_joint:
+ has_velocity_limits: true
+ max_velocity: 6.2831853071795862
+ has_acceleration_limits: false
+ max_acceleration: 0
\ No newline at end of file
diff --git a/src/ur_robotiq_moveit_config/config/kinematics.yaml b/src/ur_robotiq_moveit_config/config/kinematics.yaml
new file mode 100644
index 0000000..2f6bb96
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/config/kinematics.yaml
@@ -0,0 +1,4 @@
+arm:
+ kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
+ kinematics_solver_search_resolution: 0.0050000000000000001
+ kinematics_solver_timeout: 0.0050000000000000001
\ No newline at end of file
diff --git a/src/ur_robotiq_moveit_config/config/moveit.rviz b/src/ur_robotiq_moveit_config/config/moveit.rviz
new file mode 100644
index 0000000..f31651e
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/config/moveit.rviz
@@ -0,0 +1,51 @@
+Panels:
+ - Class: rviz_common/Displays
+ Name: Displays
+ Property Tree Widget:
+ Expanded:
+ - /MotionPlanning1
+ - Class: rviz_common/Help
+ Name: Help
+ - Class: rviz_common/Views
+ Name: Views
+Visualization Manager:
+ Displays:
+ - Class: rviz_default_plugins/Grid
+ Name: Grid
+ Value: true
+ - Class: moveit_rviz_plugin/MotionPlanning
+ Name: MotionPlanning
+ Planned Path:
+ Loop Animation: true
+ State Display Time: 0.05 s
+ Trajectory Topic: display_planned_path
+ Planning Scene Topic: monitored_planning_scene
+ Robot Description: robot_description
+ Scene Geometry:
+ Scene Alpha: 1
+ Scene Robot:
+ Robot Alpha: 0.5
+ Value: true
+ Global Options:
+ Fixed Frame: world
+ Tools:
+ - Class: rviz_default_plugins/Interact
+ - Class: rviz_default_plugins/MoveCamera
+ - Class: rviz_default_plugins/Select
+ Value: true
+ Views:
+ Current:
+ Class: rviz_default_plugins/Orbit
+ Distance: 2.0
+ Focal Point:
+ X: -0.1
+ Y: 0.25
+ Z: 0.30
+ Name: Current View
+ Pitch: 0.5
+ Target Frame: world
+ Yaw: -0.623
+Window Geometry:
+ Height: 975
+ QMainWindow State: 000000ff00000000fd0000000100000000000002b400000375fc0200000005fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100fffffffb000000100044006900730070006c006100790073010000003d00000123000000c900fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e00670100000166000001910000018800fffffffb0000000800480065006c0070000000029a0000006e0000006e00fffffffb0000000a0056006900650077007301000002fd000000b5000000a400ffffff000001f60000037500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
+ Width: 1200
diff --git a/src/ur_robotiq_moveit_config/config/moveit_controllers.yaml b/src/ur_robotiq_moveit_config/config/moveit_controllers.yaml
new file mode 100644
index 0000000..5b39bf6
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/config/moveit_controllers.yaml
@@ -0,0 +1,26 @@
+# MoveIt uses this configuration for controller management
+
+moveit_controller_manager: moveit_simple_controller_manager/MoveItSimpleControllerManager
+
+moveit_simple_controller_manager:
+ controller_names:
+ - arm_controller
+ - gripper_controller
+
+ arm_controller:
+ type: FollowJointTrajectory
+ action_ns: follow_joint_trajectory
+ default: true
+ joints:
+ - shoulder_pan_joint
+ - shoulder_lift_joint
+ - elbow_joint
+ - wrist_1_joint
+ - wrist_2_joint
+ - wrist_3_joint
+ gripper_controller:
+ type: FollowJointTrajectory
+ action_ns: follow_joint_trajectory
+ default: true
+ joints:
+ - finger_joint
\ No newline at end of file
diff --git a/src/ur_robotiq_moveit_config/config/pilz_cartesian_limits.yaml b/src/ur_robotiq_moveit_config/config/pilz_cartesian_limits.yaml
new file mode 100644
index 0000000..b2997ca
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/config/pilz_cartesian_limits.yaml
@@ -0,0 +1,6 @@
+# Limits for the Pilz planner
+cartesian_limits:
+ max_trans_vel: 1.0
+ max_trans_acc: 2.25
+ max_trans_dec: -5.0
+ max_rot_vel: 1.57
diff --git a/src/ur_robotiq_moveit_config/config/ros2_controllers.yaml b/src/ur_robotiq_moveit_config/config/ros2_controllers.yaml
new file mode 100644
index 0000000..20bb825
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/config/ros2_controllers.yaml
@@ -0,0 +1,41 @@
+# This config file is used by ros2_control
+controller_manager:
+ ros__parameters:
+ update_rate: 100 # Hz
+
+ arm_controller:
+ type: joint_trajectory_controller/JointTrajectoryController
+
+
+ gripper_controller:
+ type: joint_trajectory_controller/JointTrajectoryController
+
+
+ joint_state_broadcaster:
+ type: joint_state_broadcaster/JointStateBroadcaster
+
+arm_controller:
+ ros__parameters:
+ joints:
+ - shoulder_pan_joint
+ - shoulder_lift_joint
+ - elbow_joint
+ - wrist_1_joint
+ - wrist_2_joint
+ - wrist_3_joint
+ command_interfaces:
+ - position
+ - velocity
+ state_interfaces:
+ - position
+ - velocity
+gripper_controller:
+ ros__parameters:
+ joints:
+ - finger_joint
+ command_interfaces:
+ - position
+ - velocity
+ state_interfaces:
+ - position
+ - velocity
\ No newline at end of file
diff --git a/src/ur_robotiq_moveit_config/config/ur3e_robotiq.ros2_control.xacro b/src/ur_robotiq_moveit_config/config/ur3e_robotiq.ros2_control.xacro
new file mode 100644
index 0000000..4c73aec
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/config/ur3e_robotiq.ros2_control.xacro
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+ mock_components/GenericSystem
+
+
+
+
+
+ ${initial_positions['shoulder_pan_joint']}
+
+
+
+
+
+
+
+ ${initial_positions['shoulder_lift_joint']}
+
+
+
+
+
+
+
+ ${initial_positions['elbow_joint']}
+
+
+
+
+
+
+
+ ${initial_positions['wrist_1_joint']}
+
+
+
+
+
+
+
+ ${initial_positions['wrist_2_joint']}
+
+
+
+
+
+
+
+ ${initial_positions['wrist_3_joint']}
+
+
+
+
+
+
+
+ ${initial_positions['finger_joint']}
+
+
+
+
+
+
+
diff --git a/src/ur_robotiq_moveit_config/config/ur3e_robotiq.srdf b/src/ur_robotiq_moveit_config/config/ur3e_robotiq.srdf
new file mode 100644
index 0000000..537e9b8
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/config/ur3e_robotiq.srdf
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/ur_robotiq_moveit_config/config/ur3e_robotiq.urdf.xacro b/src/ur_robotiq_moveit_config/config/ur3e_robotiq.urdf.xacro
new file mode 100644
index 0000000..f7bf8ed
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/config/ur3e_robotiq.urdf.xacro
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/ur_robotiq_moveit_config/launch/demo.launch.py b/src/ur_robotiq_moveit_config/launch/demo.launch.py
new file mode 100644
index 0000000..b714053
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/launch/demo.launch.py
@@ -0,0 +1,9 @@
+from moveit_configs_utils import MoveItConfigsBuilder
+from moveit_configs_utils.launches import generate_demo_launch
+
+
+def generate_launch_description():
+ builder = MoveItConfigsBuilder("ur3_robotiq_2f_140.urdf", robot_description= "urdf/ur_robotiq.urdf", package_name="ur_robotiq_moveit_config")
+ print(builder)
+ moveit_config = builder.to_moveit_configs()
+ return generate_demo_launch(moveit_config)
diff --git a/src/ur_robotiq_moveit_config/launch/move_group.launch.py b/src/ur_robotiq_moveit_config/launch/move_group.launch.py
new file mode 100644
index 0000000..38076e8
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/launch/move_group.launch.py
@@ -0,0 +1,7 @@
+from moveit_configs_utils import MoveItConfigsBuilder
+from moveit_configs_utils.launches import generate_move_group_launch
+
+
+def generate_launch_description():
+ moveit_config = MoveItConfigsBuilder("ur3e_robotiq", package_name="ur_robotiq_moveit_config").to_moveit_configs()
+ return generate_move_group_launch(moveit_config)
diff --git a/src/ur_robotiq_moveit_config/launch/moveit_rviz.launch.py b/src/ur_robotiq_moveit_config/launch/moveit_rviz.launch.py
new file mode 100644
index 0000000..72a9368
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/launch/moveit_rviz.launch.py
@@ -0,0 +1,9 @@
+from moveit_configs_utils import MoveItConfigsBuilder
+from moveit_configs_utils.launches import generate_moveit_rviz_launch
+
+
+def generate_launch_description():
+ moveit_config = MoveItConfigsBuilder("ur3e_robotiq", package_name="ur_robotiq_moveit_config").to_moveit_configs()
+ print(moveit_config.robot_description_kinematics)
+ return generate_moveit_rviz_launch(moveit_config)
+
diff --git a/src/ur_robotiq_moveit_config/launch/rsp.launch.py b/src/ur_robotiq_moveit_config/launch/rsp.launch.py
new file mode 100644
index 0000000..b2dfc9c
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/launch/rsp.launch.py
@@ -0,0 +1,7 @@
+from moveit_configs_utils import MoveItConfigsBuilder
+from moveit_configs_utils.launches import generate_rsp_launch
+
+
+def generate_launch_description():
+ moveit_config = MoveItConfigsBuilder("ur3e_robotiq", package_name="ur_robotiq_moveit_config").to_moveit_configs()
+ return generate_rsp_launch(moveit_config)
diff --git a/src/ur_robotiq_moveit_config/launch/setup_assistant.launch.py b/src/ur_robotiq_moveit_config/launch/setup_assistant.launch.py
new file mode 100644
index 0000000..5c1f832
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/launch/setup_assistant.launch.py
@@ -0,0 +1,7 @@
+from moveit_configs_utils import MoveItConfigsBuilder
+from moveit_configs_utils.launches import generate_setup_assistant_launch
+
+
+def generate_launch_description():
+ moveit_config = MoveItConfigsBuilder("ur3e_robotiq", package_name="ur_robotiq_moveit_config").to_moveit_configs()
+ return generate_setup_assistant_launch(moveit_config)
diff --git a/src/ur_robotiq_moveit_config/launch/spawn_controllers.launch.py b/src/ur_robotiq_moveit_config/launch/spawn_controllers.launch.py
new file mode 100644
index 0000000..e716754
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/launch/spawn_controllers.launch.py
@@ -0,0 +1,7 @@
+from moveit_configs_utils import MoveItConfigsBuilder
+from moveit_configs_utils.launches import generate_spawn_controllers_launch
+
+
+def generate_launch_description():
+ moveit_config = MoveItConfigsBuilder("ur3e_robotiq", package_name="ur_robotiq_moveit_config").to_moveit_configs()
+ return generate_spawn_controllers_launch(moveit_config)
diff --git a/src/ur_robotiq_moveit_config/launch/static_virtual_joint_tfs.launch.py b/src/ur_robotiq_moveit_config/launch/static_virtual_joint_tfs.launch.py
new file mode 100644
index 0000000..35f8b7d
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/launch/static_virtual_joint_tfs.launch.py
@@ -0,0 +1,7 @@
+from moveit_configs_utils import MoveItConfigsBuilder
+from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch
+
+
+def generate_launch_description():
+ moveit_config = MoveItConfigsBuilder("ur3e_robotiq", package_name="ur_robotiq_moveit_config").to_moveit_configs()
+ return generate_static_virtual_joint_tfs_launch(moveit_config)
diff --git a/src/ur_robotiq_moveit_config/launch/ur3e_robotiq_description.launch.py b/src/ur_robotiq_moveit_config/launch/ur3e_robotiq_description.launch.py
new file mode 100644
index 0000000..c423602
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/launch/ur3e_robotiq_description.launch.py
@@ -0,0 +1,40 @@
+from launch import LaunchDescription
+from launch_ros.actions import Node
+import os
+from ament_index_python.packages import get_package_share_directory
+import xacro
+
+def generate_launch_description():
+
+ # Define the path to the Xacro file
+ ur_robotiq_desc_pkg_path = get_package_share_directory('ur_robotiq_description')
+ xacro_file_path = os.path.join(ur_robotiq_desc_pkg_path, 'urdf', 'ur_robotiq.urdf.xacro')
+
+ # Process the Xacro file to generate URDF
+ doc = xacro.process_file(xacro_file_path)
+ robot_description = {'robot_description': doc.toxml()}
+
+ # Node to publish robot state to TF
+ robot_state_publisher_node = Node(
+ package='robot_state_publisher',
+ executable='robot_state_publisher',
+ output='both',
+ parameters=[robot_description],
+ )
+
+ # Node to launch RViz
+ rviz_node = Node(
+ package='rviz2',
+ executable='rviz2',
+ name='rviz2',
+ arguments=['-d', os.path.join(ur_robotiq_desc_pkg_path, 'rviz', 'ur3e_robotiq.rviz')],
+ output='screen'
+ )
+
+ # Define and return LaunchDescription
+ return LaunchDescription([
+ robot_state_publisher_node,
+ rviz_node,
+ # Add other necessary nodes and configurations here
+ ])
+
diff --git a/src/ur_robotiq_moveit_config/launch/warehouse_db.launch.py b/src/ur_robotiq_moveit_config/launch/warehouse_db.launch.py
new file mode 100644
index 0000000..55ea6df
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/launch/warehouse_db.launch.py
@@ -0,0 +1,7 @@
+from moveit_configs_utils import MoveItConfigsBuilder
+from moveit_configs_utils.launches import generate_warehouse_db_launch
+
+
+def generate_launch_description():
+ moveit_config = MoveItConfigsBuilder("ur3e_robotiq", package_name="ur_robotiq_moveit_config").to_moveit_configs()
+ return generate_warehouse_db_launch(moveit_config)
diff --git a/src/ur_robotiq_moveit_config/package.xml b/src/ur_robotiq_moveit_config/package.xml
new file mode 100644
index 0000000..5a075b7
--- /dev/null
+++ b/src/ur_robotiq_moveit_config/package.xml
@@ -0,0 +1,53 @@
+
+
+
+ ur_robotiq_moveit_config
+ 0.3.0
+
+ An automatically generated package with all the configuration and launch files for using the ur3e_robotiq with the MoveIt Motion Planning Framework
+
+ Fotios Lygerakis
+
+ BSD
+
+ http://moveit.ros.org/
+ https://github.com/ros-planning/moveit2/issues
+ https://github.com/ros-planning/moveit2
+
+ Fotios Lygerakis
+
+ ament_cmake
+
+ moveit_ros_move_group
+ moveit_kinematics
+ moveit_planners
+ moveit_simple_controller_manager
+ joint_state_publisher
+ joint_state_publisher_gui
+ tf2_ros
+ xacro
+
+
+
+ controller_manager
+ moveit_configs_utils
+ moveit_ros_move_group
+ moveit_ros_visualization
+ moveit_ros_warehouse
+ moveit_setup_assistant
+ robot_state_publisher
+ rviz2
+ rviz_common
+ rviz_default_plugins
+ tf2_ros
+ ur_robotiq_description
+ warehouse_ros_mongo
+ xacro
+ ament_index_python
+
+
+
+ ament_cmake
+
+