{"action":"created","issue":{"url":"https://api.github.com/repos/tork-a/rtmros_nextage/issues/220","repository_url":"https://api.github.com/repos/tork-a/rtmros_nextage","labels_url":"https://api.github.com/repos/tork-a/rtmros_nextage/issues/220/labels{/name}","comments_url":"https://api.github.com/repos/tork-a/rtmros_nextage/issues/220/comments","events_url":"https://api.github.com/repos/tork-a/rtmros_nextage/issues/220/events","html_url":"https://github.com/tork-a/rtmros_nextage/issues/220","id":126885307,"number":220,"title":"Update the kinematics parameters of the robot after an external geometric calibration","user":{"login":"TecnaliaRobotics","id":8737410,"avatar_url":"https://avatars.githubusercontent.com/u/8737410?v=3","gravatar_id":"","url":"https://api.github.com/users/TecnaliaRobotics","html_url":"https://github.com/TecnaliaRobotics","followers_url":"https://api.github.com/users/TecnaliaRobotics/followers","following_url":"https://api.github.com/users/TecnaliaRobotics/following{/other_user}","gists_url":"https://api.github.com/users/TecnaliaRobotics/gists{/gist_id}","starred_url":"https://api.github.com/users/TecnaliaRobotics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TecnaliaRobotics/subscriptions","organizations_url":"https://api.github.com/users/TecnaliaRobotics/orgs","repos_url":"https://api.github.com/users/TecnaliaRobotics/repos","events_url":"https://api.github.com/users/TecnaliaRobotics/events{/privacy}","received_events_url":"https://api.github.com/users/TecnaliaRobotics/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-01-15T14:42:07Z","updated_at":"2016-09-05T05:42:07Z","closed_at":null,"body":"In order to achieve good accuracy in a robotic system, one need to have:\r\n- a good robot geometric calibration (ensure that the robot direct geometric model -the Denavit Hartenberg parameters- used in the control system are accurately matching the real hardware). A few decimals or errors on a the orientation of the shoulder will lead to many millimeters of errors on the tool tip Cartesian position.\r\n- a good TCP (Tool Center Point) Calibration: making sure that the rigid transform from the robot flange to the drilling tool tip or the welding torch are accurate and constant.\r\n\r\nThose 2 calibrations are widely used in the standard industrial robots:\r\n- the geometric calibration can be \"bought\" to the robot manufacturer before shipping: they proceed to the real hardware measurement procedure and calibration and send you’re the calibration file to use in the robot controller. You can otherwise contract later on a service company to perform this calibration.\r\n- the TCP calibration is a standard function in all the industrial robot controllers. You follow they procedure and get the accurate TCP calibration.\r\n\r\nSo in Tecnalia using the Nextage-Open and Tecnalia software library:\r\n- No geometric calibration have been performed in Kawada before shipment (confirmed directly with them).\r\n- TCP calibration: we implemented our code for a 4 points reference. I'd like to improve our code to increase to any number of points to reach a better accuracy.\r\n\r\nI understand that this is not a common requirement for the industrial Nextage since it is mainly used with Online task teaching. So the main requirement is repeatabiltity.\r\n\r\nI'm really getting close to the conclusion that to meet the accuracy my application requires I will need to perform a Geometric calibration of our Nextage open robot. This calibration will provide us with \"real\" values of the kinematics model (DH paramters or any other convention). \r\n\r\nThose values should be used by the open source controller... \r\n\r\nSo the 1 million dollar question is.... Do we have the capability to update those parameters??\r\n\r\nSo, this underlying question is: How does the open source controller manages these geometric configuration parameters?\r\n- Are they all provided by the collada file we load at startup? This would mean that only adjusting the parameters in the collada will make our robot accurate... would be great! Easy fix :-)\r\n- Are they hard coded in some openRTM component?\r\n- Are they provided by config file in the QNX PC? If so, which file and which convention should we use?\r\n\r\nThanks for updating us on this topic...\r\nDamien Sallé\r\nTecnalia\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/tork-a/rtmros_nextage/issues/comments/244662785","html_url":"https://github.com/tork-a/rtmros_nextage/issues/220#issuecomment-244662785","issue_url":"https://api.github.com/repos/tork-a/rtmros_nextage/issues/220","id":244662785,"user":{"login":"k-okada","id":493276,"avatar_url":"https://avatars.githubusercontent.com/u/493276?v=3","gravatar_id":"","url":"https://api.github.com/users/k-okada","html_url":"https://github.com/k-okada","followers_url":"https://api.github.com/users/k-okada/followers","following_url":"https://api.github.com/users/k-okada/following{/other_user}","gists_url":"https://api.github.com/users/k-okada/gists{/gist_id}","starred_url":"https://api.github.com/users/k-okada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k-okada/subscriptions","organizations_url":"https://api.github.com/users/k-okada/orgs","repos_url":"https://api.github.com/users/k-okada/repos","events_url":"https://api.github.com/users/k-okada/events{/privacy}","received_events_url":"https://api.github.com/users/k-okada/received_events","type":"User","site_admin":false},"created_at":"2016-09-05T05:42:07Z","updated_at":"2016-09-05T05:42:07Z","body":"Hi, sorry for super late, \r\n\r\nWhen you start up the nextage-ros systems, the robot model is stored in two locations, one ins wrl file in QNX side (RTM system)\r\nhttps://github.com/tork-a/rtmros_nextage/blob/indigo-devel/nextage_ros_bridge/launch/nextage_ros_bridge_real.launch#L5\r\nand the other is collada file used in ROS system.\r\nhttps://github.com/tork-a/rtmros_nextage/blob/indigo-devel/nextage_ros_bridge/launch/nextage_ros_bridge_real.launch#L2\r\n\r\nAnd collada file is generated from wrl file using \r\n```\r\nrosrun openhrp3 export-collada -i main.wrl -o main.dae\r\n```\r\n\r\nhope this helps."}}
{"actor":{"display_login":"k-okada"}}