moveit / moveit_ros

THIS REPO HAS MOVED TO https://github.com/ros-planning/moveit
69 stars 118 forks source link

Added kinematics plugin that uses Levenberg-Marquardt method #723

Closed fsuarez6 closed 7 years ago

fsuarez6 commented 7 years ago

Moved from pull request #460:

Here I propose to include a new kinematics plugin: lma_kinematics_plugin

This could be a good alternative to the default Newton-Raphson plugin (aka. kdl_kinematics_plugin) because is faster and more effective.

I've performed a test with 100.000 valid goals (poses) for this 6 DoF robot and these are the results:

Plugin Solved (%) Mean Time (ms.)
ikfast61 99,6 1,8
kdl_kinematics_plugin 81.3 9,2
lma_kinematics_plugin 96,2 1,6

All of them check that the solution is within the joint limits defined in the URDF.

davetcoleman commented 7 years ago

There are stylistic things I don't like, but since you copied it almost exactly from the kdl_kinematic_plugin I feel like I can't complain. Also, it bothers me how much code duplication we'll have to maintain, but I guess this is easier than modifying the kdl solver.

Can you also document this change:

Thanks!

fsuarez6 commented 7 years ago

Can you also document this change:

  • [x] In this tutorial by editing this ?
  • [ ] Announcing it on the mailing list when its merged?

I just created the pull request for the tutorial. Once this pull request is merged I'll announce it on the mailing list.

davetcoleman commented 7 years ago

transplanted to newer branches: https://github.com/ros-planning/moveit_ros/pull/739 https://github.com/ros-planning/moveit_ros/pull/740