Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ur kinematics #616

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions melodic.ignored
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ur_kinematics
1 change: 1 addition & 0 deletions noetic.ignored
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ur_kinematics
1 change: 0 additions & 1 deletion ur10_moveit_config/config/kinematics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
# kinematics_solver: ur_kinematics/UR10KinematicsPlugin
# kinematics_solver_search_resolution: 0.005
# kinematics_solver_timeout: 0.005
# kinematics_solver_attempts: 3
manipulator:
kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
solve_type: Distance
Expand Down
3 changes: 1 addition & 2 deletions ur10e_moveit_config/config/kinematics.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#manipulator:
# kinematics_solver: ur_kinematics/UR10KinematicsPlugin
# kinematics_solver: ur_kinematics/UR10eKinematicsPlugin
# kinematics_solver_search_resolution: 0.005
# kinematics_solver_timeout: 0.005
# kinematics_solver_attempts: 3
manipulator:
kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
solve_type: Distance
Expand Down
3 changes: 1 addition & 2 deletions ur16e_moveit_config/config/kinematics.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#manipulator:
# kinematics_solver: ur_kinematics/UR10KinematicsPlugin
# kinematics_solver: ur_kinematics/UR16eKinematicsPlugin
# kinematics_solver_search_resolution: 0.005
# kinematics_solver_timeout: 0.005
# kinematics_solver_attempts: 3
manipulator:
kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
solve_type: Distance
Expand Down
3 changes: 1 addition & 2 deletions ur3_moveit_config/config/kinematics.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#manipulator:
# kinematics_solver: ur_kinematics/UR10KinematicsPlugin
# kinematics_solver: ur_kinematics/UR3KinematicsPlugin
# kinematics_solver_search_resolution: 0.005
# kinematics_solver_timeout: 0.005
# kinematics_solver_attempts: 3
manipulator:
kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
solve_type: Distance
Expand Down
3 changes: 1 addition & 2 deletions ur3e_moveit_config/config/kinematics.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#manipulator:
# kinematics_solver: ur_kinematics/UR10KinematicsPlugin
# kinematics_solver: ur_kinematics/UR3eKinematicsPlugin
# kinematics_solver_search_resolution: 0.005
# kinematics_solver_timeout: 0.005
# kinematics_solver_attempts: 3
manipulator:
kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
solve_type: Distance
Expand Down
3 changes: 1 addition & 2 deletions ur5_moveit_config/config/kinematics.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#manipulator:
# kinematics_solver: ur_kinematics/UR10KinematicsPlugin
# kinematics_solver: ur_kinematics/UR5KinematicsPlugin
# kinematics_solver_search_resolution: 0.005
# kinematics_solver_timeout: 0.005
# kinematics_solver_attempts: 3
manipulator:
kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
solve_type: Distance
Expand Down
3 changes: 1 addition & 2 deletions ur5e_moveit_config/config/kinematics.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#manipulator:
# kinematics_solver: ur_kinematics/UR10KinematicsPlugin
# kinematics_solver: ur_kinematics/UR5eKinematicsPlugin
# kinematics_solver_search_resolution: 0.005
# kinematics_solver_timeout: 0.005
# kinematics_solver_attempts: 3
manipulator:
kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
solve_type: Distance
Expand Down
55 changes: 54 additions & 1 deletion ur_kinematics/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,24 @@ include_directories(include ${catkin_INCLUDE_DIRS})
add_library(ur3_kin src/ur_kin.cpp)
set_target_properties(ur3_kin PROPERTIES COMPILE_DEFINITIONS "UR3_PARAMS")

add_library(ur3e_kin src/ur_kin.cpp)
set_target_properties(ur3e_kin PROPERTIES COMPILE_DEFINITIONS "UR3e_PARAMS")

add_library(ur5_kin src/ur_kin.cpp)
set_target_properties(ur5_kin PROPERTIES COMPILE_DEFINITIONS "UR5_PARAMS")

add_library(ur5e_kin src/ur_kin.cpp)
set_target_properties(ur5e_kin PROPERTIES COMPILE_DEFINITIONS "UR5e_PARAMS")

add_library(ur10_kin src/ur_kin.cpp)
set_target_properties(ur10_kin PROPERTIES COMPILE_DEFINITIONS "UR10_PARAMS")

add_library(ur10e_kin src/ur_kin.cpp)
set_target_properties(ur10e_kin PROPERTIES COMPILE_DEFINITIONS "UR10e_PARAMS")

add_library(ur16e_kin src/ur_kin.cpp)
set_target_properties(ur16e_kin PROPERTIES COMPILE_DEFINITIONS "UR16e_PARAMS")


add_library(ur3_moveit_plugin src/ur_moveit_plugin.cpp)
set_target_properties(ur3_moveit_plugin PROPERTIES COMPILE_DEFINITIONS "UR3_PARAMS")
Expand All @@ -43,26 +55,67 @@ target_link_libraries(ur3_moveit_plugin
${Boost_LIBRARIES}
ur3_kin)

add_library(ur3e_moveit_plugin src/ur_moveit_plugin.cpp)
set_target_properties(ur3e_moveit_plugin PROPERTIES COMPILE_DEFINITIONS "UR3e_PARAMS")
target_link_libraries(ur3e_moveit_plugin
${catkin_LIBRARIES}
${Boost_LIBRARIES}
ur3e_kin)

add_library(ur5_moveit_plugin src/ur_moveit_plugin.cpp)
set_target_properties(ur5_moveit_plugin PROPERTIES COMPILE_DEFINITIONS "UR5_PARAMS")
target_link_libraries(ur5_moveit_plugin
${catkin_LIBRARIES}
${Boost_LIBRARIES}
ur5_kin)

add_library(ur5e_moveit_plugin src/ur_moveit_plugin.cpp)
set_target_properties(ur5e_moveit_plugin PROPERTIES COMPILE_DEFINITIONS "UR5e_PARAMS")
target_link_libraries(ur5e_moveit_plugin
${catkin_LIBRARIES}
${Boost_LIBRARIES}
ur5e_kin)

add_library(ur10_moveit_plugin src/ur_moveit_plugin.cpp)
set_target_properties(ur10_moveit_plugin PROPERTIES COMPILE_DEFINITIONS "UR10_PARAMS")
target_link_libraries(ur10_moveit_plugin
${catkin_LIBRARIES}
${Boost_LIBRARIES}
ur10_kin)

add_library(ur10e_moveit_plugin src/ur_moveit_plugin.cpp)
set_target_properties(ur10e_moveit_plugin PROPERTIES COMPILE_DEFINITIONS "UR10e_PARAMS")
target_link_libraries(ur10e_moveit_plugin
${catkin_LIBRARIES}
${Boost_LIBRARIES}
ur10e_kin)

add_library(ur16e_moveit_plugin src/ur_moveit_plugin.cpp)
set_target_properties(ur16e_moveit_plugin PROPERTIES COMPILE_DEFINITIONS "UR16e_PARAMS")
target_link_libraries(ur16e_moveit_plugin
${catkin_LIBRARIES}
${Boost_LIBRARIES}
ur16e_kin)


#############
## Install ##
#############

install(TARGETS ur3_kin ur5_kin ur10_kin ur3_moveit_plugin ur5_moveit_plugin ur10_moveit_plugin
install(TARGETS
ur3_kin
ur3e_kin
ur5_kin
ur5e_kin
ur10_kin
ur10e_kin
ur3_moveit_plugin
ur3_moveit_plugin
ur5_moveit_plugin
ur5e_moveit_plugin
ur10_moveit_plugin
ur10e_moveit_plugin
ur16e_moveit_plugin
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
Expand Down
5 changes: 5 additions & 0 deletions ur_kinematics/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# ur_kinematics
IKFast plugin to use as an IK solver with MoveIt!

**NOTE**: This does not use the calibrated robot information but the hardcoded uncalibrated robot
model which is why it is not suggested to use this.
42 changes: 41 additions & 1 deletion ur_kinematics/src/ur_kin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,16 @@ namespace ur_kinematics {
}
const double PI = M_PI;

//#define UR16e_PARAMS
#ifdef UR16e_PARAMS
const double d1 = 0.1807;
const double a2 = -0.4784;
const double a3 = -0.36;
const double d4 = 0.17415;
const double d5 = 0.11985;
const double d6 = 0.11655;
#endif

//#define UR10_PARAMS
#ifdef UR10_PARAMS
const double d1 = 0.1273;
Expand All @@ -23,6 +33,16 @@ namespace ur_kinematics {
const double d6 = 0.0922;
#endif

//#define UR10e_PARAMS
#ifdef UR10e_PARAMS
const double d1 = 0.1807;
const double a2 = -0.6127;
const double a3 = -0.57155;
const double d4 = 0.17415;
const double d5 = 0.11985;
const double d6 = 0.11655;
#endif

//#define UR5_PARAMS
#ifdef UR5_PARAMS
const double d1 = 0.089159;
Expand All @@ -32,7 +52,17 @@ namespace ur_kinematics {
const double d5 = 0.09465;
const double d6 = 0.0823;
#endif


//#define UR5e_PARAMS
#ifdef UR5e_PARAMS
const double d1 = 0.1625;
const double a2 = -0.425;
const double a3 = -0.3922;
const double d4 = 0.1333;
const double d5 = 0.0997;
const double d6 = 0.0996;
#endif

//#define UR3_PARAMS
#ifdef UR3_PARAMS
const double d1 = 0.1519;
Expand All @@ -42,6 +72,16 @@ namespace ur_kinematics {
const double d5 = 0.08535;
const double d6 = 0.0819;
#endif

//#define UR3e_PARAMS
#ifdef UR3e_PARAMS
const double d1 = 0.15185;
const double a2 = -0.24355;
const double a3 = -0.2132;
const double d4 = 0.13105;
const double d5 = 0.08535;
const double d6 = 0.0921;
#endif
}

void forward(const double* q, double* T) {
Expand Down
40 changes: 40 additions & 0 deletions ur_kinematics/ur_moveit_plugins.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,16 @@
</class>
</library>

<library path="lib/libur3e_moveit_plugin">
<class name="ur_kinematics/UR3eKinematicsPlugin" type="ur_kinematics::URKinematicsPlugin" base_class_type="kinematics::KinematicsBase">
<description>
Analytic kinematics for the Universal Robots UR3e.
Developed by Kelsey Hawkins from Georgia Tech.
See http://hdl.handle.net/1853/50782 for details.
</description>
</class>
</library>

<library path="lib/libur5_moveit_plugin">
<class name="ur_kinematics/UR5KinematicsPlugin" type="ur_kinematics::URKinematicsPlugin" base_class_type="kinematics::KinematicsBase">
<description>
Expand All @@ -18,6 +28,16 @@
</class>
</library>

<library path="lib/libur5e_moveit_plugin">
<class name="ur_kinematics/UR5eKinematicsPlugin" type="ur_kinematics::URKinematicsPlugin" base_class_type="kinematics::KinematicsBase">
<description>
Analytic kinematics for the Universal Robots UR5e.
Developed by Kelsey Hawkins from Georgia Tech.
See http://hdl.handle.net/1853/50782 for details.
</description>
</class>
</library>

<library path="lib/libur10_moveit_plugin">
<class name="ur_kinematics/UR10KinematicsPlugin" type="ur_kinematics::URKinematicsPlugin" base_class_type="kinematics::KinematicsBase">
<description>
Expand All @@ -27,3 +47,23 @@
</description>
</class>
</library>

<library path="lib/libur10e_moveit_plugin">
<class name="ur_kinematics/UR10eKinematicsPlugin" type="ur_kinematics::URKinematicsPlugin" base_class_type="kinematics::KinematicsBase">
<description>
Analytic kinematics for the Universal Robots UR10e.
Developed by Kelsey Hawkins from Georgia Tech.
See http://hdl.handle.net/1853/50782 for details.
</description>
</class>
</library>

<library path="lib/libur16e_moveit_plugin">
<class name="ur_kinematics/UR16eKinematicsPlugin" type="ur_kinematics::URKinematicsPlugin" base_class_type="kinematics::KinematicsBase">
<description>
Analytic kinematics for the Universal Robots UR16e.
Developed by Kelsey Hawkins from Georgia Tech.
See http://hdl.handle.net/1853/50782 for details.
</description>
</class>
</library>