{"action":"created","issue":{"url":"https://api.github.com/repos/RMRobotics/FTC_5421_2014-2015/issues/61","labels_url":"https://api.github.com/repos/RMRobotics/FTC_5421_2014-2015/issues/61/labels{/name}","comments_url":"https://api.github.com/repos/RMRobotics/FTC_5421_2014-2015/issues/61/comments","events_url":"https://api.github.com/repos/RMRobotics/FTC_5421_2014-2015/issues/61/events","html_url":"https://github.com/RMRobotics/FTC_5421_2014-2015/issues/61","id":52204371,"number":61,"title":"Implement our own version of PID control","user":{"login":"jimmyli97","id":1155874,"avatar_url":"https://avatars.githubusercontent.com/u/1155874?v=3","gravatar_id":"","url":"https://api.github.com/users/jimmyli97","html_url":"https://github.com/jimmyli97","followers_url":"https://api.github.com/users/jimmyli97/followers","following_url":"https://api.github.com/users/jimmyli97/following{/other_user}","gists_url":"https://api.github.com/users/jimmyli97/gists{/gist_id}","starred_url":"https://api.github.com/users/jimmyli97/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jimmyli97/subscriptions","organizations_url":"https://api.github.com/users/jimmyli97/orgs","repos_url":"https://api.github.com/users/jimmyli97/repos","events_url":"https://api.github.com/users/jimmyli97/events{/privacy}","received_events_url":"https://api.github.com/users/jimmyli97/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/RMRobotics/FTC_5421_2014-2015/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2014-12-17T05:52:47Z","updated_at":"2015-03-08T04:55:03Z","closed_at":null,"body":"Frank suggested today that we turn off RobotC's PID control and instead write our own - that way we know what it is doing and we don't have a third party's code messing with ours."},"comment":{"url":"https://api.github.com/repos/RMRobotics/FTC_5421_2014-2015/issues/comments/77733283","html_url":"https://github.com/RMRobotics/FTC_5421_2014-2015/issues/61#issuecomment-77733283","issue_url":"https://api.github.com/repos/RMRobotics/FTC_5421_2014-2015/issues/61","id":77733283,"user":{"login":"jimmyli97","id":1155874,"avatar_url":"https://avatars.githubusercontent.com/u/1155874?v=3","gravatar_id":"","url":"https://api.github.com/users/jimmyli97","html_url":"https://github.com/jimmyli97","followers_url":"https://api.github.com/users/jimmyli97/followers","following_url":"https://api.github.com/users/jimmyli97/following{/other_user}","gists_url":"https://api.github.com/users/jimmyli97/gists{/gist_id}","starred_url":"https://api.github.com/users/jimmyli97/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jimmyli97/subscriptions","organizations_url":"https://api.github.com/users/jimmyli97/orgs","repos_url":"https://api.github.com/users/jimmyli97/repos","events_url":"https://api.github.com/users/jimmyli97/events{/privacy}","received_events_url":"https://api.github.com/users/jimmyli97/received_events","type":"User","site_admin":false},"created_at":"2015-03-08T04:55:03Z","updated_at":"2015-03-08T04:55:03Z","body":"From the HiTex website, tuning guidelines:\r\n\r\nThere are many ways to arrive at an initial setting of the gains but here is one we found worked reasonably well; Ideally there needs to be some means of easily applying a zero to full speed step change to the setpoint input or at least a single transition from the minimum to maximum expected setpoint. This is so that the response of the controller to step changes can be observed. Set the setpoint to maximum speed and with the integral and derivative gains at zero, increase the proportional gain so that the speed reaches the maximum possible before a speed oscillation sets in. Reduce the setpoint to zero. Repeatedly apply a step change in setpoint to 75% of full speed and increase the integral gain gradually until the speed starts to overshoot.\r\nThe speed should now rise quickly with the step change and settle at the setpoint without significant overshoot. The integral gain setting will be particularly influenced by the moment of inertia of the load and some experimentation will be required. The controller is now configure as a proportional-integral controller which should quickly correct speed errors without oscillation."}}