From e7d0da0c07ffe2a00a7ee5e49f25343e83f3db98 Mon Sep 17 00:00:00 2001 From: ligerfotis Date: Tue, 19 Mar 2024 12:18:30 +0100 Subject: [PATCH] add rviz for combined modules --- .idea/misc.xml | 2 +- .idea/ws_universal_robotics.iml | 8 +- .vscode/c_cpp_properties.json | 66 +++++++ .vscode/settings.json | 26 +++ src/ur_robotiq_description/CMakeLists.txt | 4 + .../urdf/ur_robotiq.urdf | 36 ++-- src/ur_robotiq_moveit_config/.setup_assistant | 27 +++ src/ur_robotiq_moveit_config/CMakeLists.txt | 11 ++ .../config/initial_positions.yaml | 10 ++ .../config/joint_limits.yaml | 45 +++++ .../config/kinematics.yaml | 4 + .../config/moveit.rviz | 51 ++++++ .../config/moveit_controllers.yaml | 26 +++ .../config/pilz_cartesian_limits.yaml | 6 + .../config/ros2_controllers.yaml | 41 +++++ .../config/ur3e_robotiq.ros2_control.xacro | 70 ++++++++ .../config/ur3e_robotiq.srdf | 164 ++++++++++++++++++ .../config/ur3e_robotiq.urdf.xacro | 14 ++ .../launch/demo.launch.py | 9 + .../launch/move_group.launch.py | 7 + .../launch/moveit_rviz.launch.py | 9 + .../launch/rsp.launch.py | 7 + .../launch/setup_assistant.launch.py | 7 + .../launch/spawn_controllers.launch.py | 7 + .../launch/static_virtual_joint_tfs.launch.py | 7 + .../launch/ur3e_robotiq_description.launch.py | 40 +++++ .../launch/warehouse_db.launch.py | 7 + src/ur_robotiq_moveit_config/package.xml | 53 ++++++ 28 files changed, 743 insertions(+), 21 deletions(-) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/settings.json create mode 100644 src/ur_robotiq_moveit_config/.setup_assistant create mode 100644 src/ur_robotiq_moveit_config/CMakeLists.txt create mode 100644 src/ur_robotiq_moveit_config/config/initial_positions.yaml create mode 100644 src/ur_robotiq_moveit_config/config/joint_limits.yaml create mode 100644 src/ur_robotiq_moveit_config/config/kinematics.yaml create mode 100644 src/ur_robotiq_moveit_config/config/moveit.rviz create mode 100644 src/ur_robotiq_moveit_config/config/moveit_controllers.yaml create mode 100644 src/ur_robotiq_moveit_config/config/pilz_cartesian_limits.yaml create mode 100644 src/ur_robotiq_moveit_config/config/ros2_controllers.yaml create mode 100644 src/ur_robotiq_moveit_config/config/ur3e_robotiq.ros2_control.xacro create mode 100644 src/ur_robotiq_moveit_config/config/ur3e_robotiq.srdf create mode 100644 src/ur_robotiq_moveit_config/config/ur3e_robotiq.urdf.xacro create mode 100644 src/ur_robotiq_moveit_config/launch/demo.launch.py create mode 100644 src/ur_robotiq_moveit_config/launch/move_group.launch.py create mode 100644 src/ur_robotiq_moveit_config/launch/moveit_rviz.launch.py create mode 100644 src/ur_robotiq_moveit_config/launch/rsp.launch.py create mode 100644 src/ur_robotiq_moveit_config/launch/setup_assistant.launch.py create mode 100644 src/ur_robotiq_moveit_config/launch/spawn_controllers.launch.py create mode 100644 src/ur_robotiq_moveit_config/launch/static_virtual_joint_tfs.launch.py create mode 100644 src/ur_robotiq_moveit_config/launch/ur3e_robotiq_description.launch.py create mode 100644 src/ur_robotiq_moveit_config/launch/warehouse_db.launch.py create mode 100644 src/ur_robotiq_moveit_config/package.xml 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 + +