diff --git a/fanuc_m20id_support/CMakeLists.txt b/fanuc_m20id_support/CMakeLists.txt new file mode 100644 index 00000000..cf57e3f0 --- /dev/null +++ b/fanuc_m20id_support/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.0.2) + +project(fanuc_m20id_support) + +find_package(catkin REQUIRED) + +catkin_package() + +if (CATKIN_ENABLE_TESTING) + find_package(roslaunch REQUIRED) + roslaunch_add_file_check(tests/roslaunch_test_m20id25.xml) +endif() + +install(DIRECTORY config launch meshes urdf + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) + +install(FILES readme.md DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) diff --git a/fanuc_m20id_support/config/joint_names_m20id25.yaml b/fanuc_m20id_support/config/joint_names_m20id25.yaml new file mode 100644 index 00000000..b02f7ba3 --- /dev/null +++ b/fanuc_m20id_support/config/joint_names_m20id25.yaml @@ -0,0 +1 @@ +controller_joint_names: ['joint_1', 'joint_2', 'joint_3', 'joint_4', 'joint_5', 'joint_6'] diff --git a/fanuc_m20id_support/config/opw_parameters_m20id25.yaml b/fanuc_m20id_support/config/opw_parameters_m20id25.yaml new file mode 100644 index 00000000..f32716af --- /dev/null +++ b/fanuc_m20id_support/config/opw_parameters_m20id25.yaml @@ -0,0 +1,21 @@ +# +# Parameters for use with IK solvers which support OPW (Ortho-Parallel Wrist) +# kinematic configurations, as described in the paper "An Analytical Solution +# of the Inverse Kinematics Problem of Industrial Serial Manipulators with an +# Ortho-parallel Basis and a Spherical Wrist" by Mathias Brandstötter, Arthur +# Angerer, and Michael Hofbaur (Proceedings of the Austrian Robotics Workshop +# 2014, 22-23 May, 2014, Linz, Austria). +# +# The moveit_opw_kinematics_plugin package provides such a solver. +# +opw_kinematics_geometric_parameters: + a1: 0.075 + a2: -0.215 + b: 0.0 + c1: 0.425 + c2: 0.84 + c3: 0.89 + c4: 0.09 + +opw_kinematics_joint_offsets: [0.0, 0.0, deg(-90.0), 0.0, 0.0, 0.0] +opw_kinematics_joint_sign_corrections: [1, 1, -1, -1, -1, -1] diff --git a/fanuc_m20id_support/launch/load_m20id25.launch b/fanuc_m20id_support/launch/load_m20id25.launch new file mode 100644 index 00000000..6bd93383 --- /dev/null +++ b/fanuc_m20id_support/launch/load_m20id25.launch @@ -0,0 +1,4 @@ + + + + diff --git a/fanuc_m20id_support/launch/robot_interface_streaming_m20id25.launch b/fanuc_m20id_support/launch/robot_interface_streaming_m20id25.launch new file mode 100644 index 00000000..19f82064 --- /dev/null +++ b/fanuc_m20id_support/launch/robot_interface_streaming_m20id25.launch @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + diff --git a/fanuc_m20id_support/launch/robot_state_visualize_m20id25.launch b/fanuc_m20id_support/launch/robot_state_visualize_m20id25.launch new file mode 100644 index 00000000..7858689b --- /dev/null +++ b/fanuc_m20id_support/launch/robot_state_visualize_m20id25.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/fanuc_m20id_support/launch/test_m20id25.launch b/fanuc_m20id_support/launch/test_m20id25.launch new file mode 100644 index 00000000..ec4adcab --- /dev/null +++ b/fanuc_m20id_support/launch/test_m20id25.launch @@ -0,0 +1,7 @@ + + + + + + + diff --git a/fanuc_m20id_support/meshes/m20id25/collision/base_link.stl b/fanuc_m20id_support/meshes/m20id25/collision/base_link.stl new file mode 100644 index 00000000..2598ac0d Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/collision/base_link.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/collision/link_1.stl b/fanuc_m20id_support/meshes/m20id25/collision/link_1.stl new file mode 100644 index 00000000..27d04098 Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/collision/link_1.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/collision/link_2.stl b/fanuc_m20id_support/meshes/m20id25/collision/link_2.stl new file mode 100644 index 00000000..110af01b Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/collision/link_2.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/collision/link_3.stl b/fanuc_m20id_support/meshes/m20id25/collision/link_3.stl new file mode 100644 index 00000000..17cd15e4 Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/collision/link_3.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/collision/link_4.stl b/fanuc_m20id_support/meshes/m20id25/collision/link_4.stl new file mode 100644 index 00000000..93029937 Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/collision/link_4.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/collision/link_5.stl b/fanuc_m20id_support/meshes/m20id25/collision/link_5.stl new file mode 100644 index 00000000..c2b1ad9d Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/collision/link_5.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/collision/link_6.stl b/fanuc_m20id_support/meshes/m20id25/collision/link_6.stl new file mode 100644 index 00000000..60100b32 Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/collision/link_6.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/visual/base_link.stl b/fanuc_m20id_support/meshes/m20id25/visual/base_link.stl new file mode 100644 index 00000000..2598ac0d Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/visual/base_link.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/visual/link_1.stl b/fanuc_m20id_support/meshes/m20id25/visual/link_1.stl new file mode 100644 index 00000000..27d04098 Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/visual/link_1.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/visual/link_2.stl b/fanuc_m20id_support/meshes/m20id25/visual/link_2.stl new file mode 100644 index 00000000..110af01b Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/visual/link_2.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/visual/link_3.stl b/fanuc_m20id_support/meshes/m20id25/visual/link_3.stl new file mode 100644 index 00000000..17cd15e4 Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/visual/link_3.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/visual/link_4.stl b/fanuc_m20id_support/meshes/m20id25/visual/link_4.stl new file mode 100644 index 00000000..93029937 Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/visual/link_4.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/visual/link_5.stl b/fanuc_m20id_support/meshes/m20id25/visual/link_5.stl new file mode 100644 index 00000000..c2b1ad9d Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/visual/link_5.stl differ diff --git a/fanuc_m20id_support/meshes/m20id25/visual/link_6.stl b/fanuc_m20id_support/meshes/m20id25/visual/link_6.stl new file mode 100644 index 00000000..60100b32 Binary files /dev/null and b/fanuc_m20id_support/meshes/m20id25/visual/link_6.stl differ diff --git a/fanuc_m20id_support/package.xml b/fanuc_m20id_support/package.xml new file mode 100644 index 00000000..9ddba7ac --- /dev/null +++ b/fanuc_m20id_support/package.xml @@ -0,0 +1,67 @@ + + + + fanuc_m20id_support + 0.6.0 + +

+ ROS-Industrial support for the Fanuc M-20iD (and variants). +

+

+ This package contains configuration data, 3D models and launch files + for Fanuc M-20iD manipulators. This currently includes the /25 model only. +

+

Specifications:

+ +

+ Joint limits and maximum joint velocities are based on the information in + the FANUC Robot M-20iD Mechanical Unit Operator's Manual version + B-84074EN/08. All urdfs are based on the default motion and + joint velocity limits, unless noted otherwise (ie: no support for high + speed joints, extended / limited motion ranges or other options). +

+

+ Before using any of the configuration files and / or meshes included + in this package, be sure to check they are correct for the particular + robot model and configuration you intend to use them with. +

+
+ Timo Birnkraut + G.A. vd. Hoorn (TU Delft Robotics Institute) + BSD + + http://wiki.ros.org/fanuc_m20id_support + https://github.com/ros-industrial/fanuc/issues + https://github.com/ros-industrial/fanuc + + catkin + + roslaunch + + fanuc_driver + fanuc_resources + industrial_robot_client + joint_state_publisher_gui + robot_state_publisher + rviz + xacro + + + + + + support_package + description + fanuc + industrial + ros-industrial + m20id + + + + + + +
diff --git a/fanuc_m20id_support/readme.md b/fanuc_m20id_support/readme.md new file mode 100644 index 00000000..b244ea49 --- /dev/null +++ b/fanuc_m20id_support/readme.md @@ -0,0 +1,14 @@ +# fanuc_m20id_support + +## Overview + +This package is part of the [ROS-Industrial][] program. See the main [fanuc][] +page on the ROS wiki for more information on usage. + +## Contents + +See `package.xml` for information about the contents of this package. + + +[ROS-Industrial]: http://wiki.ros.org/Industrial +[fanuc]: http://wiki.ros.org/fanuc diff --git a/fanuc_m20id_support/tests/roslaunch_test_m20id25.xml b/fanuc_m20id_support/tests/roslaunch_test_m20id25.xml new file mode 100644 index 00000000..2d66a69d --- /dev/null +++ b/fanuc_m20id_support/tests/roslaunch_test_m20id25.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fanuc_m20id_support/urdf/m20id25.xacro b/fanuc_m20id_support/urdf/m20id25.xacro new file mode 100644 index 00000000..a6cb677b --- /dev/null +++ b/fanuc_m20id_support/urdf/m20id25.xacro @@ -0,0 +1,5 @@ + + + + + diff --git a/fanuc_m20id_support/urdf/m20id25_macro.xacro b/fanuc_m20id_support/urdf/m20id25_macro.xacro new file mode 100644 index 00000000..6f76ed5a --- /dev/null +++ b/fanuc_m20id_support/urdf/m20id25_macro.xacro @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +