tag:blogger.com,1999:blog-1401946013611713191.post8756694643466687295..comments2022-05-12T02:53:48.556-07:00Comments on Acumen: Differential steering challenge problemWalid Tahahttp://www.blogger.com/profile/01616333334672611519noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-1401946013611713191.post-24364402589084033952010-12-12T22:04:09.064-08:002010-12-12T22:04:09.064-08:00Hello!
The robot only turns right to avoid the pr...Hello!<br /><br />The robot only turns right to avoid the problem of determining whether the target is actually to the right or to the left of the current destination. In designing your own controller, you have the option of making that decision, and then turning the robot right or left. If you are able to do that, it could certainly lead to a better controller!Walid Tahahttps://www.blogger.com/profile/01616333334672611519noreply@blogger.comtag:blogger.com,1999:blog-1401946013611713191.post-76292513115185317502010-12-08T00:03:00.477-08:002010-12-08T00:03:00.477-08:00Dear Sir
It seems to be perfect,but I was wonderin...Dear Sir<br />It seems to be perfect,but I was wondering what makes you turn clockwise only,I mean is there any reason that has made you stick to clockwise turn.I need oyur answer to come up with a better code if possible.<br />BRs.<br />S.MoradpourAnonymoushttps://www.blogger.com/profile/10997059712036852970noreply@blogger.comtag:blogger.com,1999:blog-1401946013611713191.post-64895345757443812552010-12-07T21:24:20.173-08:002010-12-07T21:24:20.173-08:00class controller () // A simple controller
priva...class controller () // A simple controller<br /> private t =0; t'=0; // local time<br /> ex = 0; ey = 0; // Error in x and y<br /> ia = 0; // Input angle<br /> ov = 0; oap = 0; // Ouput v and a'<br /> end<br /> t' [=] 1;<br /> if t<0.1<br /> t = 0;<br /> // Control code goes here<br /> if (ex*ex + ey*ey) < 2.5 // Robot is close enough. Slow down <br /> ov = 1 <br /> else<br /> ov = 4; <br /> if ( (ex>0 && cos(ia)<0) <br /> || (ey>0 && sin(ia)<0)) <br /> || ( (ex<0 && cos(ia)>0) <br /> ||(ey<0 && sin(ia)>0))<br /> oap = -10<br /> else<br /> oap = 0<br /> end<br /> end<br /> else<br /> end<br />end<br /><br /><br />1- if we just change the 1 meter distance that we designed to check whether the robot is approaching to target, if we just DECREASE it to 0.25 meter then we get the total energy (e) decreased at the <br />I discovered that the total energy is oscillating (105 - 185) with the variation of the distance from the target when approaching.<br />• If we fix this distance to 0.25 meter we get the total energy (e) decreased to 123.<br />• If we fix this distance to 0.5 meter we get the total energy (e) decreased to 139.<br />• If we fix this distance to 2.5 meter we get the total energy (e) decreased to 109.<br />• If we fix this distance to 3.5 meter we get the total energy (e) decreased to 147.<br />• If we fix this distance to 2 meter we get the total energy (e) decreased to 134.<br />• Walid Taha’s distance is 1 meter, so we get the total energy (e) of 161.<br /><br /><br />2- Similarly, if we increase lightly the output velocity V when heading toward target after checking the fixed distance when approaching to target, if we just increase it then we get the total energy (e) decreased. BUT if we increase this velocity to high value, then we get the get the total energy (e) increased.<br /><br />• If we increase the velocity to 2, then we get the total energy (e) decreased to 129.<br />• If we increase the velocity to 4, then we get the total energy (e) decreased to 186.<br />• Walid Taha’s velocity was 1, then we get the total energy (e) of 161.<br /><br /><br />EIS Master Student<br />Musab AlhayaniAnonymousnoreply@blogger.com