{"action":"created","issue":{"url":"https://api.github.com/repos/ros-planning/moveit/issues/1288","repository_url":"https://api.github.com/repos/ros-planning/moveit","labels_url":"https://api.github.com/repos/ros-planning/moveit/issues/1288/labels{/name}","comments_url":"https://api.github.com/repos/ros-planning/moveit/issues/1288/comments","events_url":"https://api.github.com/repos/ros-planning/moveit/issues/1288/events","html_url":"https://github.com/ros-planning/moveit/pull/1288","id":394835932,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQxNDcwMjc1","number":1288,"title":"Remove (redundant) random seeding and #attempts from RobotState::setFromIK","user":{"login":"rhaschke","id":5376030,"node_id":"MDQ6VXNlcjUzNzYwMzA=","avatar_url":"https://avatars2.githubusercontent.com/u/5376030?v=4","gravatar_id":"","url":"https://api.github.com/users/rhaschke","html_url":"https://github.com/rhaschke","followers_url":"https://api.github.com/users/rhaschke/followers","following_url":"https://api.github.com/users/rhaschke/following{/other_user}","gists_url":"https://api.github.com/users/rhaschke/gists{/gist_id}","starred_url":"https://api.github.com/users/rhaschke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhaschke/subscriptions","organizations_url":"https://api.github.com/users/rhaschke/orgs","repos_url":"https://api.github.com/users/rhaschke/repos","events_url":"https://api.github.com/users/rhaschke/events{/privacy}","received_events_url":"https://api.github.com/users/rhaschke/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-12-30T00:36:15Z","updated_at":"2019-01-04T10:49:00Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/ros-planning/moveit/pulls/1288","html_url":"https://github.com/ros-planning/moveit/pull/1288","diff_url":"https://github.com/ros-planning/moveit/pull/1288.diff","patch_url":"https://github.com/ros-planning/moveit/pull/1288.patch"},"body":"As originally pointed out in https://github.com/ros-planning/moveit/pull/725, both `RobotState::setFromIK()` and (all?) actual kinematics solvers in `searchPositionIK()` perform _random seeding_ if IK attempts fail, until the given timeout is reached. In `setFromIK()` the number of attempts was - additionally to the timeout - limited by a max number of attempts.\r\n\r\n@v4hn suggested to remove the random sampling from `RobotState` as all important IK solvers (KDL, IKFast, TracIK) perform this random seeding internally anyway, and sometimes (IKFast) they rely on it.\r\n\r\nThis PR removes the random sampling from `RobotState::setFromIK()` and, simultaneously, removes the notion of max IK attempts from MoveIt. Thus, the number of attempts can only be limited by a timeout or appropriate measures in IK solvers (but there is no general support by `KinematicsBase` for this).\r\n\r\nIn my point of view, the only relevant use for a max number of attempts is to request a single attempt only (finding the one and only solution closest to the initial seed). In all other cases, when we just want to find any solution, there is no need to limit the attempts other than by a timeout.\r\n\r\nIf this PR is accepted, we should also remove `attempts` from [PositionIKRequest](http://docs.ros.org/melodic/api/moveit_msgs/html/msg/PositionIKRequest.html)."},"comment":{"url":"https://api.github.com/repos/ros-planning/moveit/issues/comments/451411857","html_url":"https://github.com/ros-planning/moveit/pull/1288#issuecomment-451411857","issue_url":"https://api.github.com/repos/ros-planning/moveit/issues/1288","id":451411857,"node_id":"MDEyOklzc3VlQ29tbWVudDQ1MTQxMTg1Nw==","user":{"login":"rhaschke","id":5376030,"node_id":"MDQ6VXNlcjUzNzYwMzA=","avatar_url":"https://avatars2.githubusercontent.com/u/5376030?v=4","gravatar_id":"","url":"https://api.github.com/users/rhaschke","html_url":"https://github.com/rhaschke","followers_url":"https://api.github.com/users/rhaschke/followers","following_url":"https://api.github.com/users/rhaschke/following{/other_user}","gists_url":"https://api.github.com/users/rhaschke/gists{/gist_id}","starred_url":"https://api.github.com/users/rhaschke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhaschke/subscriptions","organizations_url":"https://api.github.com/users/rhaschke/orgs","repos_url":"https://api.github.com/users/rhaschke/repos","events_url":"https://api.github.com/users/rhaschke/events{/privacy}","received_events_url":"https://api.github.com/users/rhaschke/received_events","type":"User","site_admin":false},"created_at":"2019-01-04T10:49:00Z","updated_at":"2019-01-04T10:49:00Z","author_association":"CONTRIBUTOR","body":"Rebased to resolve merge conflicts."}}
{"actor":{"display_login":"rhaschke"}}