{"action":"created","issue":{"url":"https://api.github.com/repos/robotology/QA/issues/62","labels_url":"https://api.github.com/repos/robotology/QA/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/robotology/QA/issues/62/comments","events_url":"https://api.github.com/repos/robotology/QA/issues/62/events","html_url":"https://github.com/robotology/QA/issues/62","id":111146335,"number":62,"title":"What does yarp::dev::IVelocityControl::stop() actually do at the lowest level?","user":{"login":"pattacini","id":3738070,"avatar_url":"https://avatars.githubusercontent.com/u/3738070?v=3","gravatar_id":"","url":"https://api.github.com/users/pattacini","html_url":"https://github.com/pattacini","followers_url":"https://api.github.com/users/pattacini/followers","following_url":"https://api.github.com/users/pattacini/following{/other_user}","gists_url":"https://api.github.com/users/pattacini/gists{/gist_id}","starred_url":"https://api.github.com/users/pattacini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pattacini/subscriptions","organizations_url":"https://api.github.com/users/pattacini/orgs","repos_url":"https://api.github.com/users/pattacini/repos","events_url":"https://api.github.com/users/pattacini/events{/privacy}","received_events_url":"https://api.github.com/users/pattacini/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/robotology/QA/labels/control","name":"control","color":"fbca04"},{"url":"https://api.github.com/repos/robotology/QA/labels/firmware","name":"firmware","color":"0052cc"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-10-13T09:54:09Z","updated_at":"2015-10-13T12:32:17Z","closed_at":null,"body":"We all know that velocity commands are integrated by the `FW` to retrieve position references to follow by means of the `PID`.\r\n\r\nWhenever a `yarp::dev::IVelocityControl::stop()` is issued, what actually happens at the lowest level? Two possibilities are given:\r\n\r\n1. The `FW` simply stops integrating as it received a `velocityMove(0.0)`.\r\n2. The `FW` sets the internal position reference equal to the current encoder reading.\r\n\r\nIs there any third one?\r\n\r\nI'm a bit concerned about hypothesis **1**: because of a poorly tuned `PID`, the joint will be still moving for a while after the `stop` command is received.\r\n\r\nI hope the implementation resorts to **2**, indeed.\r\n\r\n##### Second question\r\nDoes the _joints subset_ version of the `stop` command travel over the _rpc_ channel or over the _streaming_ channel? Can we be sure that the `stop` command is never lost?\r\n\r\n/cc @randaz81 @barbalberto "},"comment":{"url":"https://api.github.com/repos/robotology/QA/issues/comments/147701660","html_url":"https://github.com/robotology/QA/issues/62#issuecomment-147701660","issue_url":"https://api.github.com/repos/robotology/QA/issues/62","id":147701660,"user":{"login":"pattacini","id":3738070,"avatar_url":"https://avatars.githubusercontent.com/u/3738070?v=3","gravatar_id":"","url":"https://api.github.com/users/pattacini","html_url":"https://github.com/pattacini","followers_url":"https://api.github.com/users/pattacini/followers","following_url":"https://api.github.com/users/pattacini/following{/other_user}","gists_url":"https://api.github.com/users/pattacini/gists{/gist_id}","starred_url":"https://api.github.com/users/pattacini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pattacini/subscriptions","organizations_url":"https://api.github.com/users/pattacini/orgs","repos_url":"https://api.github.com/users/pattacini/repos","events_url":"https://api.github.com/users/pattacini/events{/privacy}","received_events_url":"https://api.github.com/users/pattacini/received_events","type":"User","site_admin":false},"created_at":"2015-10-13T12:32:17Z","updated_at":"2015-10-13T12:32:17Z","body":"Thanks @barbalberto :+1: \r\nThus, only one doubt (the main one) remaining."}}