{"action":"created","issue":{"url":"https://api.github.com/repos/ros-planning/moveit_ikfast/issues/60","repository_url":"https://api.github.com/repos/ros-planning/moveit_ikfast","labels_url":"https://api.github.com/repos/ros-planning/moveit_ikfast/issues/60/labels{/name}","comments_url":"https://api.github.com/repos/ros-planning/moveit_ikfast/issues/60/comments","events_url":"https://api.github.com/repos/ros-planning/moveit_ikfast/issues/60/events","html_url":"https://github.com/ros-planning/moveit_ikfast/issues/60","id":150475897,"number":60,"title":"Encoding the Base & Tool Frames of the IK Solver Into the Plugin","user":{"login":"Jmeyer1292","id":4960180,"avatar_url":"https://avatars.githubusercontent.com/u/4960180?v=3","gravatar_id":"","url":"https://api.github.com/users/Jmeyer1292","html_url":"https://github.com/Jmeyer1292","followers_url":"https://api.github.com/users/Jmeyer1292/followers","following_url":"https://api.github.com/users/Jmeyer1292/following{/other_user}","gists_url":"https://api.github.com/users/Jmeyer1292/gists{/gist_id}","starred_url":"https://api.github.com/users/Jmeyer1292/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jmeyer1292/subscriptions","organizations_url":"https://api.github.com/users/Jmeyer1292/orgs","repos_url":"https://api.github.com/users/Jmeyer1292/repos","events_url":"https://api.github.com/users/Jmeyer1292/events{/privacy}","received_events_url":"https://api.github.com/users/Jmeyer1292/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-04-22T21:34:02Z","updated_at":"2016-04-26T13:29:11Z","closed_at":null,"body":"I've recently run into an issue that I wanted to put to the greater `moveit_ikfast` audience in the hopes of guidance on the best path to fix my issue: @gavanderhoorn @davetcoleman @jrgnicho \r\n\r\nThe scenario is this:\r\n\r\nWe generate an IKFast solution for a given kinematic chain, say `base_link` to `tool0`. This plugin will work for planning with respect to `tool0`. Now let's say that I will add a new frame `tool_tip` with a fixed transformation relative to `tool0` and I wish to plan for this. I change the URDF and MoveIt SRDF configuration to add this new link to the move group, but I do not regenerate the IK. The kinematics will still solve poses as if `tool0` was the active point. The plugin remains blissfully unaware of this discrepancy and will tell you that the solver tip frame is `tool_tip`.\r\n\r\nCan you confirm that this behaviour is expected? If so, what do you see as the proposed solution.\r\n\r\nIt seems as if there is some need to encode the underlying IKFast's base & tool frames into the plugin and perform relevant translations there. "},"comment":{"url":"https://api.github.com/repos/ros-planning/moveit_ikfast/issues/comments/214744953","html_url":"https://github.com/ros-planning/moveit_ikfast/issues/60#issuecomment-214744953","issue_url":"https://api.github.com/repos/ros-planning/moveit_ikfast/issues/60","id":214744953,"user":{"login":"gavanderhoorn","id":4550046,"avatar_url":"https://avatars.githubusercontent.com/u/4550046?v=3","gravatar_id":"","url":"https://api.github.com/users/gavanderhoorn","html_url":"https://github.com/gavanderhoorn","followers_url":"https://api.github.com/users/gavanderhoorn/followers","following_url":"https://api.github.com/users/gavanderhoorn/following{/other_user}","gists_url":"https://api.github.com/users/gavanderhoorn/gists{/gist_id}","starred_url":"https://api.github.com/users/gavanderhoorn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavanderhoorn/subscriptions","organizations_url":"https://api.github.com/users/gavanderhoorn/orgs","repos_url":"https://api.github.com/users/gavanderhoorn/repos","events_url":"https://api.github.com/users/gavanderhoorn/events{/privacy}","received_events_url":"https://api.github.com/users/gavanderhoorn/received_events","type":"User","site_admin":false},"created_at":"2016-04-26T13:29:11Z","updated_at":"2016-04-26T13:29:11Z","body":"Just a quick comment:\r\n\r\n> It seems as if there is some need to encode the underlying IKFast's base & tool frames into the plugin and perform relevant translations there. \r\n\r\nI'm a bit of a minimalist, and I'd rather not have an IK plugin do transforms actually.\r\n\r\nI agree there should be some checking somewhere, but it'd be better to extend the plugin(s) to return a specific error code whenever they are asked to solve for something they were not created/configured for: I consider it the callers responsibility to satisfy the pre-condition of expressing the query in the frame(s) the plugin was generated for.\r\n"}}