<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7290913772622700580</id><updated>2012-02-08T08:59:59.102+01:00</updated><category term='Plans'/><category term='Climbing Gait'/><category term='Kinematic calculations'/><category term='Related Projects'/><category term='Simulation'/><category term='Rapid Prototyping'/><category term='End Effector'/><category term='Photos'/><category term='Positioning'/><category term='Image Processing'/><category term='Design'/><category term='Supervisor meetings'/><category term='Arduino Technology'/><category term='ideas'/><category term='Streaming Solutions'/><category term='3D Printing'/><category term='Programming'/><category term='Theory'/><category term='Testing'/><category term='External links'/><category term='Zero Positioning'/><category term='Electronics'/><category term='Walloid'/><category term='Pictures'/><category term='Drawings'/><category term='Serial Communication'/><category term='Climbing Solutions'/><category term='FPGA'/><category term='Mechanics'/><category term='Challenges'/><category term='Video'/><category term='Thesis'/><title type='text'>Walloid Porject</title><subtitle type='html'>Walloid is my master project and here is where I publish my work online ...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>76</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-8981128008923018914</id><published>2012-02-02T23:57:00.000+01:00</published><updated>2012-02-02T23:57:24.716+01:00</updated><title type='text'>Thesis is handed, I am tiered ...</title><content type='html'>The master thesis is handed in. I am tiered. I need some time to update contents of last months work online ... I am very tiered ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-8981128008923018914?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/8981128008923018914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2012/02/thesis-is-handed-i-am-tiered.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8981128008923018914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8981128008923018914'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2012/02/thesis-is-handed-i-am-tiered.html' title='Thesis is handed, I am tiered ...'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-382571357091546481</id><published>2011-09-25T14:12:00.000+02:00</published><updated>2011-09-25T14:18:00.692+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><category scheme='http://www.blogger.com/atom/ns#' term='Challenges'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><category scheme='http://www.blogger.com/atom/ns#' term='Thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='End Effector'/><category scheme='http://www.blogger.com/atom/ns#' term='Rapid Prototyping'/><category scheme='http://www.blogger.com/atom/ns#' term='Design'/><category scheme='http://www.blogger.com/atom/ns#' term='3D Printing'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><title type='text'>End Effector Design</title><content type='html'>&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/nNMCaSnk18w" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-MUdC3bWtKHA/Tn8aFWJRlzI/AAAAAAAACEg/u0d-uNvj0mY/s1600/end_effector.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-MUdC3bWtKHA/Tn8aFWJRlzI/AAAAAAAACEg/u0d-uNvj0mY/s320/end_effector.png" width="314" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-R6q_8Lj0dSM/Tn8Z1fuZVtI/AAAAAAAACEY/fMwfVqHUi8I/s1600/end_effector.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-QvPeaWF2N6Y/Tn8Z1zTcKWI/AAAAAAAACEc/IKaGm6llwa4/s1600/end_effector2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="294" src="http://3.bp.blogspot.com/-QvPeaWF2N6Y/Tn8Z1zTcKWI/AAAAAAAACEc/IKaGm6llwa4/s320/end_effector2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-382571357091546481?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/382571357091546481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/09/end-effector-design.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/382571357091546481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/382571357091546481'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/09/end-effector-design.html' title='End Effector Design'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/nNMCaSnk18w/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-735500574966305971</id><published>2011-09-24T22:34:00.000+02:00</published><updated>2011-09-24T22:34:18.034+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pictures'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Photos'/><title type='text'>Preparing for Xbee practical test for distributed embedded systems</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7C0nr1ahUMI/Tn4-HZK6xyI/AAAAAAAACD8/ioj_ZJfs214/s1600/Xbee_Test.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-7C0nr1ahUMI/Tn4-HZK6xyI/AAAAAAAACD8/ioj_ZJfs214/s320/Xbee_Test.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Arduino Fio(x4), Arduino Mega(x1), Arduino Ethernet shield(x1), Xbee modules(x5), Xbee shileld(x1), Xbee Explorer(x1)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-735500574966305971?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/735500574966305971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/09/preparing-for-xbee-practical-test-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/735500574966305971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/735500574966305971'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/09/preparing-for-xbee-practical-test-for.html' title='Preparing for Xbee practical test for distributed embedded systems'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-7C0nr1ahUMI/Tn4-HZK6xyI/AAAAAAAACD8/ioj_ZJfs214/s72-c/Xbee_Test.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-2223161318462880917</id><published>2011-09-15T01:11:00.002+02:00</published><updated>2011-09-15T01:12:37.237+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pictures'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Gait'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><category scheme='http://www.blogger.com/atom/ns#' term='Photos'/><title type='text'>Climbing gait 3D motion design, ongoing</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-SXy1p-4gmK0/TnE0odkhecI/AAAAAAAACBM/8miP4VD167A/s1600/new.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://4.bp.blogspot.com/-SXy1p-4gmK0/TnE0odkhecI/AAAAAAAACBM/8miP4VD167A/s320/new.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Not ready yet ...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-2223161318462880917?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/2223161318462880917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/09/climbing-gait-3d-motion-design-ongoing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2223161318462880917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2223161318462880917'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/09/climbing-gait-3d-motion-design-ongoing.html' title='Climbing gait 3D motion design, ongoing'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-SXy1p-4gmK0/TnE0odkhecI/AAAAAAAACBM/8miP4VD167A/s72-c/new.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-8617051669326842626</id><published>2011-09-10T19:31:00.002+02:00</published><updated>2011-09-10T19:31:22.263+02:00</updated><title type='text'>Taking action is important</title><content type='html'>To do something, however small, to make others happier and better, is the highest ambition, the most elevating hope, which can inspire a human being.&lt;br /&gt;- Sir John Lubbock&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-8617051669326842626?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/8617051669326842626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/09/taking-action-is-important.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8617051669326842626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8617051669326842626'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/09/taking-action-is-important.html' title='Taking action is important'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-3448264163917762652</id><published>2011-09-08T01:18:00.002+02:00</published><updated>2011-09-08T01:18:50.934+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><category scheme='http://www.blogger.com/atom/ns#' term='Thesis'/><title type='text'>Thesis progress</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-PYTQCmU--tk/Tmf7rvBBxZI/AAAAAAAACAE/ywmObdwuZ3g/s1600/Progress_Chart.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://1.bp.blogspot.com/-PYTQCmU--tk/Tmf7rvBBxZI/AAAAAAAACAE/ywmObdwuZ3g/s320/Progress_Chart.bmp" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;The numbers on the right side are numbers of pages while the numbers in the bottom are the dates.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-3448264163917762652?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/3448264163917762652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/09/thesis-progress.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3448264163917762652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3448264163917762652'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/09/thesis-progress.html' title='Thesis progress'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-PYTQCmU--tk/Tmf7rvBBxZI/AAAAAAAACAE/ywmObdwuZ3g/s72-c/Progress_Chart.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-2628336315936288760</id><published>2011-09-06T18:18:00.002+02:00</published><updated>2011-09-06T18:18:34.940+02:00</updated><title type='text'>The benefits of taking action</title><content type='html'>Thinking will not overcome fear but action will.&lt;br /&gt;- W Clement Stone&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-2628336315936288760?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/2628336315936288760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/09/benefits-of-taking-action.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2628336315936288760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2628336315936288760'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/09/benefits-of-taking-action.html' title='The benefits of taking action'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-1552771799727938319</id><published>2011-09-06T15:56:00.000+02:00</published><updated>2011-09-06T15:56:16.717+02:00</updated><title type='text'>3D visualization of the climbing gait</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-bwR-hVewLV8/TmYmWMNxJwI/AAAAAAAAB_8/iG6yoDJLsdI/s1600/walloid.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-bwR-hVewLV8/TmYmWMNxJwI/AAAAAAAAB_8/iG6yoDJLsdI/s320/walloid.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;early design&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-1552771799727938319?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/1552771799727938319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/09/3d-visualization-of-climbing-gait.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1552771799727938319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1552771799727938319'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/09/3d-visualization-of-climbing-gait.html' title='3D visualization of the climbing gait'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-bwR-hVewLV8/TmYmWMNxJwI/AAAAAAAAB_8/iG6yoDJLsdI/s72-c/walloid.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-2785344003647758966</id><published>2011-09-04T02:16:00.002+02:00</published><updated>2011-09-04T02:16:24.629+02:00</updated><title type='text'>Ethics &amp; Robotics</title><content type='html'>&lt;b&gt;The Three Laws of Robotics&lt;/b&gt; (often shortened to &lt;b&gt;The Three Laws&lt;/b&gt; or &lt;b&gt;Three Laws&lt;/b&gt;) are a set of rules devised by the &lt;a href="http://en.wikipedia.org/wiki/Science_fiction" title="Science fiction"&gt;science fiction&lt;/a&gt; author &lt;a href="http://en.wikipedia.org/wiki/Isaac_Asimov" title="Isaac Asimov"&gt;Isaac Asimov&lt;/a&gt; and later expanded upon. The rules are introduced in his 1942 short story "&lt;a href="http://en.wikipedia.org/wiki/Runaround" title="Runaround"&gt;Runaround&lt;/a&gt;", although they were foreshadowed in a few earlier stories. The Three Laws are:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A robot may not injure a human being or, through inaction, allow a human being to come to harm.&lt;/li&gt;&lt;li&gt;A robot must obey any orders given to it by human beings, except where such orders would conflict with the First Law.&lt;/li&gt;&lt;li&gt;A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.&lt;/li&gt;&lt;/ol&gt;Source : Wiki &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-2785344003647758966?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/2785344003647758966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/09/ethics-robotics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2785344003647758966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2785344003647758966'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/09/ethics-robotics.html' title='Ethics &amp; Robotics'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-434231380989242199</id><published>2011-09-02T15:53:00.001+02:00</published><updated>2011-09-02T15:54:02.093+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Challenges'/><title type='text'>Thread programming is a key element</title><content type='html'>Thread programming in writing high speed stream of data is a key point in navigation systems. Effective DAQ system is critical in such systems and the idea of synchronization between different threads and the communication channels between different threads are also very important. More about this later ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-434231380989242199?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/434231380989242199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/09/thread-programming-is-key-element.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/434231380989242199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/434231380989242199'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/09/thread-programming-is-key-element.html' title='Thread programming is a key element'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-8513966418033687986</id><published>2011-08-26T12:48:00.000+02:00</published><updated>2011-08-27T12:48:54.545+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pictures'/><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='Photos'/><title type='text'>Brain storming</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-bpHxrMOfmUQ/TljLZTNSApI/AAAAAAAAB-M/GAFsA40kI-M/s1600/IMG_20110826_220303.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://3.bp.blogspot.com/-bpHxrMOfmUQ/TljLZTNSApI/AAAAAAAAB-M/GAFsA40kI-M/s320/IMG_20110826_220303.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-RU-sYFzMr_w/TljLZx-FJuI/AAAAAAAAB-Q/36q03hLAAUw/s1600/IMG_20110826_215346.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://2.bp.blogspot.com/-RU-sYFzMr_w/TljLZx-FJuI/AAAAAAAAB-Q/36q03hLAAUw/s320/IMG_20110826_215346.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-8513966418033687986?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/8513966418033687986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/08/brain-storming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8513966418033687986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8513966418033687986'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/08/brain-storming.html' title='Brain storming'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-bpHxrMOfmUQ/TljLZTNSApI/AAAAAAAAB-M/GAFsA40kI-M/s72-c/IMG_20110826_220303.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-8906741844934825771</id><published>2011-08-23T02:39:00.002+02:00</published><updated>2011-08-23T02:40:30.708+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Thesis'/><title type='text'>Engineers facing the world ...</title><content type='html'>Engineers believe they can fix everything and in case of failure, they are humble enough to accept carry the guilt personally and mention that it is them who can not solve the challenge, but &lt;i&gt;&lt;u&gt;a&amp;nbsp;challenge always has a solution&lt;/u&gt;&lt;/i&gt; :-)&lt;br /&gt;&lt;br /&gt;I like to be an engineer ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-8906741844934825771?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/8906741844934825771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/08/engineers-believe-they-can-fix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8906741844934825771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8906741844934825771'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/08/engineers-believe-they-can-fix.html' title='Engineers facing the world ...'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-3157299596527227428</id><published>2011-08-11T04:17:00.000+02:00</published><updated>2011-08-11T04:17:00.002+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Thesis'/><title type='text'>:-S</title><content type='html'>I feel I got a lot to do ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-3157299596527227428?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/3157299596527227428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/08/s.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3157299596527227428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3157299596527227428'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/08/s.html' title=':-S'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-4620084603978818045</id><published>2011-08-08T02:46:00.000+02:00</published><updated>2011-08-08T02:46:21.172+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><title type='text'>Nice quote ...</title><content type='html'>&lt;span class="Apple-style-span" style="background-color: white; color: #202020; font-family: 'Droid Sans', arial, sans-serif; font-size: 13px;"&gt;To solve any problem, here are three questions to ask yourself:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #202020; font-family: 'Droid Sans', arial, sans-serif; font-size: 13px;"&gt;- First, what could I do?&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #202020; font-family: 'Droid Sans', arial, sans-serif; font-size: 13px;"&gt;- Second, what could I read?&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #202020; font-family: 'Droid Sans', arial, sans-serif; font-size: 13px;"&gt;- And third, who could I ask?&lt;/span&gt;&lt;/i&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #202020; font-family: 'Droid Sans', arial, sans-serif; font-size: 13px;"&gt;- Jim Rohn&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-4620084603978818045?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/4620084603978818045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/08/nice-quote.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4620084603978818045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4620084603978818045'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/08/nice-quote.html' title='Nice quote ...'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-5928417151823660701</id><published>2011-08-05T03:50:00.001+02:00</published><updated>2011-08-05T03:51:49.669+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pictures'/><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='Simulation'/><category scheme='http://www.blogger.com/atom/ns#' term='Positioning'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><category scheme='http://www.blogger.com/atom/ns#' term='Photos'/><title type='text'>Climbing patterns</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-PWH9SqQtmL0/TjtL4CefibI/AAAAAAAAB04/W27kb0tJxo0/s1600/Robotclimbingpattern+%25281%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="181" src="http://3.bp.blogspot.com/-PWH9SqQtmL0/TjtL4CefibI/AAAAAAAAB04/W27kb0tJxo0/s320/Robotclimbingpattern+%25281%2529.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Fast climbing with degrees from 0 - 360 degrees&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-FwmfqmYFOSE/TjtL4jZ3ExI/AAAAAAAAB08/_QTNxRQ8cNQ/s1600/Robotclimbingpattern_Slow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="181" src="http://4.bp.blogspot.com/-FwmfqmYFOSE/TjtL4jZ3ExI/AAAAAAAAB08/_QTNxRQ8cNQ/s320/Robotclimbingpattern_Slow.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Slow climbing with either upwards and downwards, or right and left&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The combination of these two types of climbing can give a combination of very fast climbing plus precise climbing when needed. Also fast climbing method gives robot the chance to move to directions from 0 - 360 degrees.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-5928417151823660701?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/5928417151823660701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/08/climbing-patterns.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5928417151823660701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5928417151823660701'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/08/climbing-patterns.html' title='Climbing patterns'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-PWH9SqQtmL0/TjtL4CefibI/AAAAAAAAB04/W27kb0tJxo0/s72-c/Robotclimbingpattern+%25281%2529.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-7169417939329568039</id><published>2011-08-05T03:05:00.001+02:00</published><updated>2011-08-20T17:16:13.365+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><title type='text'>Bluetooth Technology</title><content type='html'>&lt;div style="background-color: transparent;"&gt;&lt;div dir="ltr" id="internal-source-marker_0.9029400895815343"&gt;Bluetooth uses very little energy !!! They are used in Tsunami detectors (ZIGBEE tech) ...&lt;/div&gt;&lt;div dir="ltr" id="internal-source-marker_0.9029400895815343"&gt;&lt;br /&gt;&lt;table style="border-bottom-style: none; border-collapse: collapse; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; width: 624px;"&gt;&lt;colgroup&gt;&lt;col width="*"&gt;&lt;/col&gt;&lt;col width="*"&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style="height: 0px;"&gt;&lt;td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Times New Roman'; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Advantages&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Times New Roman'; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Disadvantages&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 0px;"&gt;&lt;td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Times New Roman'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;High throughput&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Times New Roman'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Device discovery is slow in term of power usage and time&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 0px;"&gt;&lt;td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Times New Roman'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Resilience against interference&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Times New Roman'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Keeping connections open is expensive in term of power usage&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 0px;"&gt;&lt;td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;????????&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;??????????&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-7169417939329568039?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/7169417939329568039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/08/bluetooth-technology.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/7169417939329568039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/7169417939329568039'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/08/bluetooth-technology.html' title='Bluetooth Technology'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-133191277207649499</id><published>2011-08-04T16:55:00.001+02:00</published><updated>2011-08-05T01:38:43.876+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><category scheme='http://www.blogger.com/atom/ns#' term='Rapid Prototyping'/><title type='text'>Infrared Technology</title><content type='html'>Using &lt;a href="http://en.wikipedia.org/wiki/Infrared"&gt;Infrared &lt;/a&gt;for connecting micro-controllers is one of the available choices of wireless intercommunication between micro-controllers. Here is a short list of &lt;i&gt;challenges &lt;/i&gt;and the &lt;i&gt;benefits &lt;/i&gt;that using such technology would provide us :&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Advantages&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Very &lt;b&gt;low power requirement&lt;/b&gt;, hence it is best suitable for machinery with limited battery capacity, like mobile robots, laptops, pads, phones, etc.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Inexpensive&lt;/b&gt; -&amp;gt; Not a very important issue in designing a revolutionary system. The redundancy is the most important feature.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Very secure&lt;/b&gt;. The data flow among the source and target is &lt;b&gt;unidirectional&lt;/b&gt;, meaning the direction of the infrared beam ensures that there in no leaked or move to nearby devices as it’s transmitted.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;Disadvantages&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Data&amp;nbsp;transmission&amp;nbsp;happens in eye sight&lt;/b&gt;. -&amp;gt; Meaning you can not have it in a big robot.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Short range&lt;/b&gt; communication -&amp;gt; Actually this is an advantage in our case, which brings more security.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Easily gets interrupted&lt;/b&gt; by obstacle&amp;nbsp;&amp;nbsp;-&amp;gt; Meaning you can not have it in a robot with several layers between micro-controllers. Almost any kind of obstacle interrupt the signal.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Not a good choice under extreme weather conditions&lt;/b&gt;(sunlight, rain, pollution etc) -&amp;gt; This is the most&amp;nbsp;negative&amp;nbsp;point for this technology not be used in an offshore robot.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Depending on the area of application Infrared might be or might not be the right choice. E.g. the short range of availability would increase our security a lot, while exactly in Walloid project the harsh weather condition is very common in future platforms. Today, there are many technologies exists that are much better than &lt;a href="http://en.wikipedia.org/wiki/Infrared"&gt;IR&lt;/a&gt;&amp;nbsp;like Bluetooth, Wi-Fi etc.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-133191277207649499?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/133191277207649499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/08/infrared-technology.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/133191277207649499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/133191277207649499'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/08/infrared-technology.html' title='Infrared Technology'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-776402640142332915</id><published>2011-08-02T23:54:00.000+02:00</published><updated>2011-08-02T23:54:02.262+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>Arduino boards LAN</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;A wild idea which I hope it's going to work ...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-NHleaWpLcjM/TjhxrumOPkI/AAAAAAAAB0M/lA6dSiOAi_k/s1600/Arduino_LAN.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-NHleaWpLcjM/TjhxrumOPkI/AAAAAAAAB0M/lA6dSiOAi_k/s320/Arduino_LAN.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;Arduino LAN&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-776402640142332915?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/776402640142332915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/08/arduino-boards-lan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/776402640142332915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/776402640142332915'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/08/arduino-boards-lan.html' title='Arduino boards LAN'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-NHleaWpLcjM/TjhxrumOPkI/AAAAAAAAB0M/lA6dSiOAi_k/s72-c/Arduino_LAN.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-8433398558525915752</id><published>2011-07-24T00:12:00.000+02:00</published><updated>2011-07-30T00:13:01.375+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><title type='text'>It is all about making a SYSTEM !!!</title><content type='html'>After visiting the&amp;nbsp;Mercedes&amp;nbsp;Benz factory in Bremen, and reading some articles/research&amp;nbsp;papers form&amp;nbsp;integrated&amp;nbsp;operation in offshore world, I think the solution is all about System ... A system that can put both human&amp;nbsp;controllers&amp;nbsp;and robots in one system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-8433398558525915752?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/8433398558525915752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/07/it-is-all-about-making-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8433398558525915752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8433398558525915752'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/07/it-is-all-about-making-system.html' title='It is all about making a SYSTEM !!!'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-5132057062633428826</id><published>2011-07-13T21:36:00.000+02:00</published><updated>2011-07-13T21:36:08.705+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Simulation'/><title type='text'>Simulation with Processing</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-uZhUEtq0k-M/Th3zblykaEI/AAAAAAAABrQ/-vj_Q__7Yq0/s1600/simulation.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-uZhUEtq0k-M/Th3zblykaEI/AAAAAAAABrQ/-vj_Q__7Yq0/s320/simulation.png" width="237" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Snapshot of the simulation of the climbing robot&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-5132057062633428826?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/5132057062633428826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/07/simulation-with-processing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5132057062633428826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5132057062633428826'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/07/simulation-with-processing.html' title='Simulation with Processing'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-uZhUEtq0k-M/Th3zblykaEI/AAAAAAAABrQ/-vj_Q__7Yq0/s72-c/simulation.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-892809005019273245</id><published>2011-06-21T20:40:00.000+02:00</published><updated>2011-08-21T20:41:01.271+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='External links'/><category scheme='http://www.blogger.com/atom/ns#' term='Related Projects'/><title type='text'>TAIL IO project</title><content type='html'>TAIL Integrated Operation, is a project leaded by Statoilhydro, trying to connect offshore platforms to the onshore offices, bringing down the number of staff on platforms and let expert, regardless of where they are, to communicate with the people on site. More about this comes later ...&lt;br /&gt;&lt;br /&gt;Source : &lt;a href="http://www.statoil.com/en/NewsAndMedia/Multimedia/features/Pages/io.aspx"&gt;http://www.statoil.com/en/NewsAndMedia/Multimedia/features/Pages/io.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-892809005019273245?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/892809005019273245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/08/tail-io-project.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/892809005019273245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/892809005019273245'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/08/tail-io-project.html' title='TAIL IO project'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-8073787868232597764</id><published>2011-05-10T03:56:00.000+02:00</published><updated>2011-05-10T03:56:05.211+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pictures'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Challenges'/><category scheme='http://www.blogger.com/atom/ns#' term='Mechanics'/><category scheme='http://www.blogger.com/atom/ns#' term='3D Printing'/><title type='text'>The tolerance issue in 3D printing</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;These broken parts are gonna delay my work ...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-zXhusVAkYmk/TciY_Lm4pWI/AAAAAAAABok/w-PsgB78Tdo/s1600/IMAG0232.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://2.bp.blogspot.com/-zXhusVAkYmk/TciY_Lm4pWI/AAAAAAAABok/w-PsgB78Tdo/s320/IMAG0232.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;The conjunction between the motor led and the robot body&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/--OTPfZyPWA8/TciZQBgyYQI/AAAAAAAABo0/YNECGnf3yQM/s1600/IMAG1765.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/--OTPfZyPWA8/TciZQBgyYQI/AAAAAAAABo0/YNECGnf3yQM/s320/IMAG1765.jpg" width="191" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;The broken conjunction on robot body side&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-fsm8UlMvU3c/TciZPkSUrLI/AAAAAAAABow/61585rwQS-k/s1600/IMAG1764.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://4.bp.blogspot.com/-fsm8UlMvU3c/TciZPkSUrLI/AAAAAAAABow/61585rwQS-k/s320/IMAG1764.jpg" style="cursor: move;" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;The broken conjunction on Motor side&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/--nbMDN7K-n0/TciY_mJUVII/AAAAAAAABoo/-MCv6qaV28U/s1600/IMAG1759.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://2.bp.blogspot.com/--nbMDN7K-n0/TciY_mJUVII/AAAAAAAABoo/-MCv6qaV28U/s320/IMAG1759.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;Totally new printed encoder parts were&amp;nbsp;received on 9th of May 2011,&amp;nbsp;and one of them(picture below) was broken into two pieces while being mounted on the same day&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hUjqwdWB3X4/TciZAFVbB6I/AAAAAAAABos/wl8Yv7COeB8/s1600/IMAG1762.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://3.bp.blogspot.com/-hUjqwdWB3X4/TciZAFVbB6I/AAAAAAAABos/wl8Yv7COeB8/s320/IMAG1762.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;The old broken encoder part(black one) beside the new one that was broken under mounting&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-8073787868232597764?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/8073787868232597764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/05/tolerance-issue-in-3d-printing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8073787868232597764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8073787868232597764'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/05/tolerance-issue-in-3d-printing.html' title='The tolerance issue in 3D printing'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-zXhusVAkYmk/TciY_Lm4pWI/AAAAAAAABok/w-PsgB78Tdo/s72-c/IMAG0232.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-4316880711484128067</id><published>2011-05-09T14:32:00.000+02:00</published><updated>2011-05-09T14:32:42.568+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Supervisor meetings'/><title type='text'>Supervisor Meeting</title><content type='html'>Today I had a very quick supervisor meeting with my supervisor. Results :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I got the spare part for encoders, so now I can start to test my positioning code&lt;/li&gt;&lt;li&gt;I got some tips about I2C technology(Several cards connected together with the same wire)&lt;/li&gt;&lt;li&gt;I will have wired(RxTx, I2C, Dig2Dig, etc) &amp;amp; wireless(Xbee, ...) networking of Arduino cards discussed in my thesis&lt;/li&gt;&lt;li&gt;I got tips that there are more products/technologies than Xbee&amp;nbsp;&lt;/li&gt;&lt;li&gt;I get to write more about "&lt;i&gt;Van der Waals&lt;/i&gt;" technology &amp;amp; discuss related to the conditions in offshore.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-4316880711484128067?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/4316880711484128067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/05/supervisor-meeting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4316880711484128067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4316880711484128067'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/05/supervisor-meeting.html' title='Supervisor Meeting'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-3176536980013885182</id><published>2011-05-05T04:12:00.001+02:00</published><updated>2011-05-10T03:56:47.997+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Streaming Solutions'/><category scheme='http://www.blogger.com/atom/ns#' term='Pictures'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Image Processing'/><title type='text'>Finally OpenCV 2.1 &amp; MS VC++ 2008 worked together ...</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-4GfWGp68rtk/TcIG0I3p0WI/AAAAAAAABog/zDIYz78lDiA/s1600/op.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="198" src="http://1.bp.blogspot.com/-4GfWGp68rtk/TcIG0I3p0WI/AAAAAAAABog/zDIYz78lDiA/s320/op.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This is OpenCV helloWord program which is an easy code that just opens one picture. Too sleepy to&amp;nbsp;continue&amp;nbsp;today ... OpenCV 2.2 is too much unstable and I couldn't get to make it work with MS VC++ 2010. Downgrade worked :-)&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Good night&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-3176536980013885182?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/3176536980013885182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/05/finally-opencv-21-ms-vc-2008-worked.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3176536980013885182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3176536980013885182'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/05/finally-opencv-21-ms-vc-2008-worked.html' title='Finally OpenCV 2.1 &amp; MS VC++ 2008 worked together ...'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-4GfWGp68rtk/TcIG0I3p0WI/AAAAAAAABog/zDIYz78lDiA/s72-c/op.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-4669665019218593280</id><published>2011-05-03T03:27:00.001+02:00</published><updated>2011-05-10T03:57:06.341+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pictures'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><title type='text'>Model - Controller - View design</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wEVcaalUo7k/Tb9Zwe2MBrI/AAAAAAAABoc/KlN_yM-YBAc/s1600/Modelviewcontroller.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-wEVcaalUo7k/Tb9Zwe2MBrI/AAAAAAAABoc/KlN_yM-YBAc/s320/Modelviewcontroller.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-4669665019218593280?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/4669665019218593280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/05/model-controller-view-design.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4669665019218593280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4669665019218593280'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/05/model-controller-view-design.html' title='Model - Controller - View design'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-wEVcaalUo7k/Tb9Zwe2MBrI/AAAAAAAABoc/KlN_yM-YBAc/s72-c/Modelviewcontroller.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-2663195061886399770</id><published>2011-04-30T21:04:00.001+02:00</published><updated>2011-04-30T21:06:03.093+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>Arduino Nano and new possibilities in electronic design</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 20px;"&gt;The new&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 20px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 20px;"&gt;&lt;a href="http://www.arduino.cc/en/Main/ArduinoBoardNano" style="border-bottom-color: initial; border-bottom-style: dotted; border-bottom-width: 1px; color: #e34c00; text-decoration: none;"&gt;Arduino Nano&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 20px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 20px;"&gt;is the smallest and most versatile Arduino board yet. &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 20px;"&gt;It contains an&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 20px;"&gt; ATmega168&amp;nbsp;micro-controller&amp;nbsp;(w/&amp;nbsp;boot loader), integrated USB (FTDI chip) w/ Mini-B jack, a full complement of i/o pins, an ICSP programming header, and on-board regulator. Measuring 0.73″ x 1.70″, it’s smaller and cheaper than the combination of Arduino Mini and Mini-USB adapter.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 20px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 20px;"&gt;The&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 20px;"&gt;possibilities&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 20px;"&gt;&amp;nbsp;that this state of art design brings to Walloid project can be new electronics design as it is now very easy to have a network of Arduino boards, communicating data, processing things faster, etc ... My previous post about I2C is about the same idea; connecting multiple Arduino boards ...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe width="425" height="349" src="http://www.youtube.com/embed/FJR5wqiGLjM" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-2663195061886399770?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/2663195061886399770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/04/arduino-nano-and-new-possibilities-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2663195061886399770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2663195061886399770'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/04/arduino-nano-and-new-possibilities-in.html' title='Arduino Nano and new possibilities in electronic design'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/FJR5wqiGLjM/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-4490296664529177985</id><published>2011-04-28T12:13:00.002+02:00</published><updated>2011-04-28T12:17:08.915+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Serial Communication'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>I2C</title><content type='html'>I2C inter micro controller communication&lt;br /&gt;&lt;br /&gt;First experiment, failed !!! &lt;b&gt;The &lt;span class="Apple-style-span" style="color: red;"&gt;&lt;u&gt;problem &lt;/u&gt;&lt;/span&gt;: Grounds were not connected together !!!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Second experiment,&amp;nbsp;Succeeded&amp;nbsp;:-)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;I2C connection between one master Arduino &amp;amp; one Slave Arduino over a&amp;nbsp;serial clock pin (&lt;b&gt;SCL&lt;/b&gt;, pin number &lt;b&gt;4 &lt;/b&gt;in the picture down here, &lt;b&gt;&lt;span class="Apple-style-span" style="color: yellow;"&gt;YELLOW &lt;/span&gt;&lt;/b&gt;wire) that the Arduino pulses at a regular interval, and a serial data pin (&lt;b&gt;SDA&lt;/b&gt;, Pin number &lt;b&gt;5&lt;/b&gt; in the picture down here, &lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;RED &lt;/span&gt;&lt;/b&gt;wire) over which data is sent between the two devices. Also make sure that the grounds are connected together.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-9JTPlA-ylxQ/Tbk9OzLp-uI/AAAAAAAABoU/jY1iGaFycMY/s1600/i2c_arduino.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://1.bp.blogspot.com/-9JTPlA-ylxQ/Tbk9OzLp-uI/AAAAAAAABoU/jY1iGaFycMY/s320/i2c_arduino.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-z94pHZozEtA/Tbk55SO_hTI/AAAAAAAABoQ/BBaWdGR18OQ/s1600/i2c_connection.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-z94pHZozEtA/Tbk55SO_hTI/AAAAAAAABoQ/BBaWdGR18OQ/s320/i2c_connection.PNG" width="275" /&gt;&lt;/a&gt;&lt;/div&gt;Master Writer Code - Program for Arduino 1&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 90%;"&gt;&lt;code&gt;&lt;br /&gt;// Wire Master Writer&lt;br /&gt;// by Nicholas Zambetti &lt;http: www.zambetti.com=""&gt;&lt;br /&gt;&lt;br /&gt;// Demonstrates use of the Wire library&lt;br /&gt;// Writes data to an I2C/TWI slave device&lt;br /&gt;// Refer to the "Wire Slave Receiver" example for use with this&lt;br /&gt;&lt;br /&gt;// Created 29 March 2006&lt;br /&gt;&lt;br /&gt;// This example code is in the public domain.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include &lt;wire.h&gt;&lt;br /&gt;&lt;br /&gt;void setup()&lt;br /&gt;{&lt;br /&gt;  Wire.begin(); // join i2c bus (address optional for master)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;byte x = 0;&lt;br /&gt;&lt;br /&gt;void loop()&lt;br /&gt;{&lt;br /&gt;  Wire.beginTransmission(4); // transmit to device #4&lt;br /&gt;  Wire.send("x is ");        // sends five bytes&lt;br /&gt;  Wire.send(x);              // sends one byte  &lt;br /&gt;  Wire.endTransmission();    // stop transmitting&lt;br /&gt;&lt;br /&gt;  x++;&lt;br /&gt;  delay(500);&lt;br /&gt;}&lt;br /&gt;&lt;/wire.h&gt;&lt;/http:&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Slave Receiver Code - Program for Arduino 2&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 90%;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Wire Slave Receiver&lt;br /&gt;// by Nicholas Zambetti &lt;http: www.zambetti.com=""&gt;&lt;br /&gt;&lt;br /&gt;// Demonstrates use of the Wire library&lt;br /&gt;// Receives data as an I2C/TWI slave device&lt;br /&gt;// Refer to the "Wire Master Writer" example for use with this&lt;br /&gt;&lt;br /&gt;// Created 29 March 2006&lt;br /&gt;&lt;br /&gt;// This example code is in the public domain.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include &lt;wire.h&gt;&lt;br /&gt;&lt;br /&gt;void setup()&lt;br /&gt;{&lt;br /&gt;  Wire.begin(4);                // join i2c bus with address #4&lt;br /&gt;  Wire.onReceive(receiveEvent); // register event&lt;br /&gt;  Serial.begin(9600);           // start serial for output&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop()&lt;br /&gt;{&lt;br /&gt;  delay(100);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// function that executes whenever data is received from master&lt;br /&gt;// this function is registered as an event, see setup()&lt;br /&gt;void receiveEvent(int howMany)&lt;br /&gt;{&lt;br /&gt;  while(1 &amp;lt; Wire.available()) // loop through all but the last&lt;br /&gt;  {&lt;br /&gt;    char c = Wire.receive(); // receive byte as a character&lt;br /&gt;    Serial.print(c);         // print the character&lt;br /&gt;  }&lt;br /&gt;  int x = Wire.receive();    // receive byte as an integer&lt;br /&gt;  Serial.println(x);         // print the integer&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/wire.h&gt;&lt;/http:&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;Source :&amp;nbsp;&lt;a href="http://arduino.cc/en/Tutorial/MasterWriter"&gt;http://arduino.cc/en/Tutorial/MasterWriter&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-4490296664529177985?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/4490296664529177985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/04/i2c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4490296664529177985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4490296664529177985'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/04/i2c.html' title='I2C'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-9JTPlA-ylxQ/Tbk9OzLp-uI/AAAAAAAABoU/jY1iGaFycMY/s72-c/i2c_arduino.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-6288285511897354796</id><published>2011-03-31T00:23:00.002+02:00</published><updated>2011-03-31T00:31:28.511+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='FPGA'/><category scheme='http://www.blogger.com/atom/ns#' term='Challenges'/><category scheme='http://www.blogger.com/atom/ns#' term='External links'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>Use of FPGA, Pros &amp; Cos vs. use of Arduino</title><content type='html'>&lt;iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/L2wsockKwPQ" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;FPGA advantages&lt;br /&gt;&lt;iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/gLxS9SvniA0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;One of the main disadvantages can be complexity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-6288285511897354796?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/6288285511897354796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/03/use-of-fpga-pros-cos-vs-use-of-arduino.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/6288285511897354796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/6288285511897354796'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/03/use-of-fpga-pros-cos-vs-use-of-arduino.html' title='Use of FPGA, Pros &amp; Cos vs. use of Arduino'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/L2wsockKwPQ/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-5359215297324163498</id><published>2011-03-29T16:00:00.000+02:00</published><updated>2011-04-11T16:01:16.253+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Supervisor meetings'/><title type='text'>Supervisor meeting, new milestones</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-vhb7vfYS94g/TaMJejx7r7I/AAAAAAAABoI/ETWjD9MPkjM/s1600/mats.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="320" width="192" src="http://3.bp.blogspot.com/-vhb7vfYS94g/TaMJejx7r7I/AAAAAAAABoI/ETWjD9MPkjM/s320/mats.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-5359215297324163498?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/5359215297324163498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/04/supervisor-meeting-new-milestones.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5359215297324163498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5359215297324163498'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/04/supervisor-meeting-new-milestones.html' title='Supervisor meeting, new milestones'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-vhb7vfYS94g/TaMJejx7r7I/AAAAAAAABoI/ETWjD9MPkjM/s72-c/mats.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-6865599030756828456</id><published>2011-03-18T02:01:00.002+01:00</published><updated>2011-03-18T06:05:54.239+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kinematic calculations'/><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><category scheme='http://www.blogger.com/atom/ns#' term='Positioning'/><category scheme='http://www.blogger.com/atom/ns#' term='Photos'/><title type='text'>New calculations for positioning</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;Update &lt;/b&gt;: &lt;i&gt;06:01, 18.03.201, I am almost done with the C code on Arduino ... Too sleepy, going back home now ...&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;i&gt;I should write a program that can simulate the workspace as I have no idea what are the valid points on workspace that are reachable by the feet.&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;----------------------&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;New calculations for positioning, the whole thing could not be&amp;nbsp;easier&amp;nbsp;than this ...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-WVFLasFdM5o/TYKuXRJKydI/AAAAAAAABnU/cmn4W7mN6LM/s1600/IMAG1657.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="https://lh6.googleusercontent.com/-WVFLasFdM5o/TYKuXRJKydI/AAAAAAAABnU/cmn4W7mN6LM/s320/IMAG1657.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-4Fnsh0Awaec/TYKuX6ubHWI/AAAAAAAABnY/AlwarTUfGac/s1600/IMAG1658.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="https://lh5.googleusercontent.com/-4Fnsh0Awaec/TYKuX6ubHWI/AAAAAAAABnY/AlwarTUfGac/s320/IMAG1658.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-HwJPY7qVCxY/TYKuYv4-AmI/AAAAAAAABnc/ih6U9PRr_Wc/s1600/IMAG1659.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://lh3.googleusercontent.com/-HwJPY7qVCxY/TYKuYv4-AmI/AAAAAAAABnc/ih6U9PRr_Wc/s320/IMAG1659.jpg" width="191" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-FiSHoMF4gh0/TYKuZAaF17I/AAAAAAAABng/1CEh9rjSd_I/s1600/IMAG1660.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="https://lh4.googleusercontent.com/-FiSHoMF4gh0/TYKuZAaF17I/AAAAAAAABng/1CEh9rjSd_I/s320/IMAG1660.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-6865599030756828456?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/6865599030756828456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/03/new-calculations-for-positioning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/6865599030756828456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/6865599030756828456'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/03/new-calculations-for-positioning.html' title='New calculations for positioning'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-WVFLasFdM5o/TYKuXRJKydI/AAAAAAAABnU/cmn4W7mN6LM/s72-c/IMAG1657.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-7696306084623295636</id><published>2011-03-15T05:45:00.001+01:00</published><updated>2011-03-15T05:47:29.578+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Challenges'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>I2C Inter Board communication, Arduino</title><content type='html'>http://www.arduino.cc/playground/Learning/I2C&lt;br /&gt;http://en.wikipedia.org/wiki/I%C2%B2C&lt;br /&gt;http://www.lammertbies.nl/comm/info/I2C-bus.html&lt;br /&gt;http://absences.sofianaudry.com/en/node/10&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-7696306084623295636?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/7696306084623295636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/03/i2c-inter-board-communication-arduino.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/7696306084623295636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/7696306084623295636'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/03/i2c-inter-board-communication-arduino.html' title='I2C Inter Board communication, Arduino'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-916189984130862940</id><published>2011-03-15T04:27:00.004+01:00</published><updated>2011-03-18T06:06:28.942+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kinematic calculations'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Challenges'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><title type='text'>Kinematic Calculations #2</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-HTexqaKxEoo/TX7cWHajlVI/AAAAAAAABm4/1wnqp8F0hd4/s1600/IMAG1648.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://4.bp.blogspot.com/-HTexqaKxEoo/TX7cWHajlVI/AAAAAAAABm4/1wnqp8F0hd4/s320/IMAG1648.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;center&gt;No results yet ...&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-916189984130862940?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/916189984130862940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/03/no-clear-results-yet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/916189984130862940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/916189984130862940'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/03/no-clear-results-yet.html' title='Kinematic Calculations #2'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-HTexqaKxEoo/TX7cWHajlVI/AAAAAAAABm4/1wnqp8F0hd4/s72-c/IMAG1648.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-4329206398841457537</id><published>2011-03-14T01:11:00.002+01:00</published><updated>2011-05-09T14:58:22.410+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Streaming Solutions'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Image Processing'/><title type='text'>OpenCV, finally configured ...</title><content type='html'>After 3 days struggling and working to make OpenCV to work with any possible programming language on Windows 7, I gave up. Today I thought to try it on my Ubuntu and after couple of hours struggling finally I got it. Now I should learn how to code with processing for image processing, as a possible decision making base for the robot and of course streaming ...&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-zlEbecAijxI/TX1dNuhXnFI/AAAAAAAABmw/M4xIfVVmvrw/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://1.bp.blogspot.com/-zlEbecAijxI/TX1dNuhXnFI/AAAAAAAABmw/M4xIfVVmvrw/s320/Screenshot.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;this is a demo from OpenCV C++ sample library...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-4329206398841457537?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/4329206398841457537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/03/opencv-finally-configured.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4329206398841457537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4329206398841457537'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/03/opencv-finally-configured.html' title='OpenCV, finally configured ...'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-zlEbecAijxI/TX1dNuhXnFI/AAAAAAAABmw/M4xIfVVmvrw/s72-c/Screenshot.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-4332756727757008690</id><published>2011-03-13T22:06:00.000+01:00</published><updated>2011-03-13T22:06:02.294+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Challenges'/><category scheme='http://www.blogger.com/atom/ns#' term='Mechanics'/><title type='text'>Challenges ...</title><content type='html'>New challenges with the robot arm, while I am working with positioning. The prototype(robot arm) is not totally functional as just &lt;b&gt;one&lt;/b&gt; of the three motors work the way it should. Problems with mechanic design, and the motor axle is worn away(3D printer product in plastic) ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-4332756727757008690?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/4332756727757008690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/03/challenges.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4332756727757008690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4332756727757008690'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/03/challenges.html' title='Challenges ...'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-8571812042161511557</id><published>2011-03-11T13:01:00.000+01:00</published><updated>2011-03-11T13:01:04.894+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Streaming Solutions'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Rapid Prototyping'/><category scheme='http://www.blogger.com/atom/ns#' term='Positioning'/><title type='text'>OpenCV &amp; Positioning; Today's focus</title><content type='html'>&lt;p&gt;Today I'll be focusing on Positioning of a point and OpenCV(Computer Vision) with Processing. I will start to work on positioning and hope to have my first streaming ready by today or early tomorrow morning(before 7:00 a.m.), as I work usually at nights.  &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-8571812042161511557?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/8571812042161511557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/03/opencv-positioning-todays-focus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8571812042161511557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8571812042161511557'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/03/opencv-positioning-todays-focus.html' title='OpenCV &amp; Positioning; Today&apos;s focus'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-276272806991663785</id><published>2011-03-10T16:09:00.003+01:00</published><updated>2011-03-11T04:46:08.708+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Zero Positioning'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Positioning'/><title type='text'>Zero positioning, EEPROM implementation</title><content type='html'>Today I am planning to finish this one, Will come up here with code.&lt;br /&gt;&lt;br /&gt;04:34, 11.03.2011 : I am totally finished with current positioning &amp;amp; Zero Positioning of the robot. I can start to call Walloid a smart system ... Even in case of loosing power, or sudden improper shutdown of program, Walloid will still be able to recover and send commands to the motors without ANY crashing fear. Very effective logging system is&amp;nbsp;another&amp;nbsp;specification of current system.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-8njs17Xwmqs/TXmaZwmfeDI/AAAAAAAABms/ghw9jnjV9QA/s1600/java_cp.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="220" src="https://lh4.googleusercontent.com/-8njs17Xwmqs/TXmaZwmfeDI/AAAAAAAABms/ghw9jnjV9QA/s320/java_cp.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;b&gt;Java CP&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-wDCSWEdUnig/TXmaZigFiBI/AAAAAAAABmo/wGZk8HEikNc/s1600/errorlog.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="211" src="https://lh5.googleusercontent.com/-wDCSWEdUnig/TXmaZigFiBI/AAAAAAAABmo/wGZk8HEikNc/s320/errorlog.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;b&gt;Logging systems which logs everything with time in details(Translating Error codes which exist in my own defined Arduino-Java Protocol)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Arduino code :&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;*Differences with previous code : &lt;br /&gt;* 1 - It stops when reaching negative values which result in preventing it to crash with the motor&lt;br /&gt;* 2 - It stops when reaching MAX values which result in preventing the feet to go loose&lt;br /&gt;* 3 - Error protocol ready&lt;br /&gt;* 4 - Current positioning &amp;amp; Zero positioning in place :-)&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;#include EEPROM.h&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;byte pinEncA[] = {3,5,7}; // digital inputs&lt;br /&gt;byte pinEncB[] = {2,4,6}; // digital inputs&lt;br /&gt;&lt;br /&gt;// MOTOR OUTPUTS&lt;br /&gt;byte pinDir[] = {13,8,12}; // digital output, controls direction for motor nr. [x]&lt;br /&gt;byte pinPwm[] = {10,11,9}; // analog output, controls motor speed, nr. [x]&lt;br /&gt;&lt;br /&gt;//Global variables&lt;br /&gt;int readValue;&lt;br /&gt;int pwmValue;&lt;br /&gt;int motorDir;&lt;br /&gt;//int channelA = 2;&lt;br /&gt;//int channelB = 3;&lt;br /&gt;int cycle[] = {0, 0, 0};&lt;br /&gt;&lt;br /&gt;boolean f = false, b = false, r = false, l = false;&lt;br /&gt;int cyclecounter[] = {-1, -1, -1};&lt;br /&gt;int cyclecounterold[] = {-1, -1, -1};&lt;br /&gt;&lt;br /&gt;//13 , 10 right, down&lt;br /&gt;//8 , 11 middle, top&lt;br /&gt;//9, 12 left, down&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void setup(){&lt;br /&gt;  &lt;br /&gt;  Serial.begin(115200);&lt;br /&gt;  //Serial.print("WELCOME TO C1S0");  &lt;br /&gt;  for (int i=0; i &amp;lt; 3; i++){&lt;br /&gt;    pinMode(pinDir[i], OUTPUT);&lt;br /&gt;    pinMode(pinPwm[i], OUTPUT);&lt;br /&gt;    //in case, just to be sure ...&lt;br /&gt;    digitalWrite(pinPwm[i], LOW);&lt;br /&gt;    // just in case to be sure&lt;br /&gt;    digitalWrite(pinDir[i], LOW);&lt;br /&gt;    pinMode(pinEncA[i], INPUT);&lt;br /&gt;    pinMode(pinEncB[i], INPUT);&lt;br /&gt;    digitalWrite(pinEncA[i], LOW);&lt;br /&gt;    digitalWrite(pinEncB[i], LOW);&lt;br /&gt;    //cyclecounter[i] = -1;&lt;br /&gt;    //cyclecounterold[i] = -1;&lt;br /&gt;  }//end of for&lt;br /&gt;  //findCurrentPosition();&lt;br /&gt;&lt;br /&gt;}//end of setup()&lt;br /&gt;&lt;br /&gt;void loop(){&lt;br /&gt;    commandCenter();&lt;br /&gt;    checkEncoder();&lt;br /&gt;}//end of loop&lt;br /&gt;int value;&lt;br /&gt;void commandCenter(){&lt;br /&gt;  //variables&lt;br /&gt;  int temp = 0;&lt;br /&gt;  if ( Serial.available() &amp;gt; 0 ){&lt;br /&gt;    readValue = Serial.read();&lt;br /&gt;  //delay(50);&lt;br /&gt;    switch (readValue){&lt;br /&gt;      case 'h' : //handshake&lt;br /&gt;        Serial.print("h");&lt;br /&gt;        delay(50);&lt;br /&gt;        break;&lt;br /&gt;      case 'P' : //handshake&lt;br /&gt;        findCurrentPosition();&lt;br /&gt;        delay(50);&lt;br /&gt;        break;        &lt;br /&gt;      case '0' ://motor #0&lt;br /&gt;        int temp__;&lt;br /&gt;        temp__ = 0;&lt;br /&gt;        if(Serial.available() &amp;lt; 0)&lt;br /&gt;          ;&lt;br /&gt;        delay(500);&lt;br /&gt;        temp__ = Serial.read();&lt;br /&gt;        if (temp__ == 102){// -f -&amp;gt; forward&lt;br /&gt;          //Serial.print("*** Right forward ***");&lt;br /&gt;          digitalWrite(pinDir[0], LOW);&lt;br /&gt;          digitalWrite(pinPwm[0], HIGH);&lt;br /&gt;        }//end of if&lt;br /&gt;        else if(temp__ == 98){// -b -&amp;gt; backward&lt;br /&gt;          //Serial.print("*** Right backward ***");&lt;br /&gt;          digitalWrite(pinDir[0], HIGH);&lt;br /&gt;          digitalWrite(pinPwm[0], HIGH);&lt;br /&gt;        }&lt;br /&gt;        else{&lt;br /&gt;          Serial.println("E00");&lt;br /&gt;          //Serial.print(temp__);&lt;br /&gt;        }&lt;br /&gt;        f = false;&lt;br /&gt;        b = false;&lt;br /&gt;        l = true;&lt;br /&gt;        r = false;&lt;br /&gt;        break;&lt;br /&gt;      case '1' ://motor #1&lt;br /&gt;        int temp_;&lt;br /&gt;        if(Serial.available() &amp;lt; 1)&lt;br /&gt;          ;&lt;br /&gt;          delay(500);&lt;br /&gt;          temp_ = Serial.read();&lt;br /&gt;        if (temp_ == 102){// -f&lt;br /&gt;          //Serial.print("*1FW*");&lt;br /&gt;          digitalWrite(pinDir[1], LOW);&lt;br /&gt;          digitalWrite(pinPwm[1], HIGH);&lt;br /&gt;        }//end of if&lt;br /&gt;        else if(temp_ == 98){// -b&lt;br /&gt;          //Serial.print("*1BW*");&lt;br /&gt;          digitalWrite(pinDir[1], HIGH);&lt;br /&gt;          digitalWrite(pinPwm[1], HIGH);&lt;br /&gt;        }&lt;br /&gt;        else{&lt;br /&gt;         &lt;br /&gt;          Serial.println("E00");&lt;br /&gt;          //Serial.print(temp_);&lt;br /&gt;        }&lt;br /&gt;        f = true;&lt;br /&gt;        b = false;&lt;br /&gt;        l = false;&lt;br /&gt;        r = false;&lt;br /&gt;        break;&lt;br /&gt;      case '2' ://l -&amp;gt; left&lt;br /&gt;        temp_ = 0;&lt;br /&gt;        if(Serial.available() &amp;lt; 1)&lt;br /&gt;          ;&lt;br /&gt;          delay(500);&lt;br /&gt;          temp_ = Serial.read();&lt;br /&gt;        if (temp_ == 102){//motor #2&lt;br /&gt;          //Serial.print("*2FW*");&lt;br /&gt;          digitalWrite(pinDir[2], LOW);&lt;br /&gt;          digitalWrite(pinPwm[2], HIGH);&lt;br /&gt;        }//end of if&lt;br /&gt;        else if(temp_ == 98){// -b&lt;br /&gt;          //Serial.print("*2BW*");&lt;br /&gt;          digitalWrite(pinDir[2], HIGH);&lt;br /&gt;          digitalWrite(pinPwm[2], HIGH);&lt;br /&gt;        }&lt;br /&gt;        else{&lt;br /&gt;          Serial.println("E00");&lt;br /&gt;          //Serial.print(temp_);&lt;br /&gt;        }        &lt;br /&gt;        f = false;&lt;br /&gt;        b = false;&lt;br /&gt;        l = false;&lt;br /&gt;        r = true;&lt;br /&gt;        break;&lt;br /&gt;      case 82 : //R-&amp;gt;RESET&lt;br /&gt;        Serial.println("R");&lt;br /&gt;        resetAll();&lt;br /&gt;        f = false;&lt;br /&gt;        b = false;&lt;br /&gt;        l = false;&lt;br /&gt;        r = false;&lt;br /&gt;        break;&lt;br /&gt;    }//end of switch  &lt;br /&gt;  } &lt;br /&gt;  /*&lt;br /&gt;  if (f || b || r || l){&lt;br /&gt;    Serial.print("cycle[i]: ");&lt;br /&gt;    convertToThreeDigits(cycle[i]);&lt;br /&gt;  }//end of if&lt;br /&gt;  */&lt;br /&gt;}//end of commandCenter&lt;br /&gt;&lt;br /&gt;//int angleMaalt;&lt;br /&gt;&lt;br /&gt;void checkEncoder(){&lt;br /&gt;  int A;&lt;br /&gt;  int B;&lt;br /&gt;  int i;&lt;br /&gt;  for (i = 0; i &amp;lt; 3; i++){&lt;br /&gt;      cyclecounterold[i] = cyclecounter[i];&lt;br /&gt;      A = digitalRead(pinEncA[i]);&lt;br /&gt;      B = digitalRead(pinEncB[i]);&lt;br /&gt;    &lt;br /&gt;      if ( (A==LOW) &amp;amp;&amp;amp; (B==LOW) )&lt;br /&gt;        cyclecounter[i] = 0;&lt;br /&gt;      else if ( (A==LOW) &amp;amp;&amp;amp; (B==HIGH) )&lt;br /&gt;        cyclecounter[i] = 1;&lt;br /&gt;      else if ( (A==HIGH) &amp;amp;&amp;amp; (B==HIGH) )&lt;br /&gt;        cyclecounter[i] = 2;&lt;br /&gt;      else if ( (A==HIGH) &amp;amp;&amp;amp; (B==LOW) )&lt;br /&gt;        cyclecounter[i] = 3;   &lt;br /&gt;    &lt;br /&gt;      switch (cyclecounter[i]){&lt;br /&gt;        case (0) : {&lt;br /&gt;           if ( cyclecounterold[i] == 0){&lt;br /&gt;              ;//Do nothing&lt;br /&gt;           }&lt;br /&gt;           else if ( cyclecounterold[i] == 1){&lt;br /&gt;             if (cycle[i] + 1 &amp;gt; 213){&lt;br /&gt;                 criticalSituation(i, 1);&lt;br /&gt;             }&lt;br /&gt;             else{&lt;br /&gt;                cycle[i]++;&lt;br /&gt;                saveCurrentPosition();&lt;br /&gt;                Serial.print("C");&lt;br /&gt;                Serial.print(i);&lt;br /&gt;                Serial.print("*");            &lt;br /&gt;                convertToThreeDigits(cycle[i]);&lt;br /&gt;             }&lt;br /&gt;           }&lt;br /&gt;           else if ( cyclecounterold[i] == 2){&lt;br /&gt;                Serial.println("E01");//Error reading from Encoder-&lt;br /&gt;            }&lt;br /&gt;           else if ( cyclecounterold[i] == 3){&lt;br /&gt;             if (cycle[i] -1 &amp;lt; 0){&lt;br /&gt;                 criticalSituation(i, 0);&lt;br /&gt;             }&lt;br /&gt;             else{&lt;br /&gt;                cycle[i]--;&lt;br /&gt;                saveCurrentPosition();&lt;br /&gt;                Serial.print("C");&lt;br /&gt;                Serial.print(i);&lt;br /&gt;                Serial.print("*");            &lt;br /&gt;                convertToThreeDigits(cycle[i]);&lt;br /&gt;             }&lt;br /&gt;            }&lt;br /&gt;            else &lt;br /&gt;                ;//Serial.print("ERROR");&lt;br /&gt;            break;&lt;br /&gt;        }//end of case-0&lt;br /&gt;        case (1) : {&lt;br /&gt;            if ( cyclecounterold[i] == 0){&lt;br /&gt;               if (cycle[i] -1 &amp;lt; 0){&lt;br /&gt;                 criticalSituation(i, 0);&lt;br /&gt;             }&lt;br /&gt;             else{&lt;br /&gt;              cycle[i]--;&lt;br /&gt;              saveCurrentPosition();&lt;br /&gt;              Serial.print("C");&lt;br /&gt;              Serial.print(i);&lt;br /&gt;              Serial.print("*");            &lt;br /&gt;              convertToThreeDigits(cycle[i]);            &lt;br /&gt;             }&lt;br /&gt;            }&lt;br /&gt;            if ( cyclecounterold[i] == 2){&lt;br /&gt;             if (cycle[i] + 1 &amp;gt; 213){&lt;br /&gt;                 criticalSituation(i, 1);&lt;br /&gt;             }&lt;br /&gt;             else{&lt;br /&gt;                cycle[i]++;&lt;br /&gt;                saveCurrentPosition();&lt;br /&gt;                Serial.print("C");&lt;br /&gt;                Serial.print(i);&lt;br /&gt;                Serial.print("*");            &lt;br /&gt;                convertToThreeDigits(cycle[i]);&lt;br /&gt;             }&lt;br /&gt;            }&lt;br /&gt;            else if ( cyclecounterold[i] == 3){&lt;br /&gt;                Serial.println("E01");//Error reading from Encoder-&lt;br /&gt;            }&lt;br /&gt;            else &lt;br /&gt;                ;//Serial.print("ERROR");&lt;br /&gt;            break;&lt;br /&gt;        }&lt;br /&gt;        case (2) : {&lt;br /&gt;            if ( cyclecounterold[i] == 1){&lt;br /&gt;             if (cycle[i] -1 &amp;lt; 0){&lt;br /&gt;                 criticalSituation(i, 0);&lt;br /&gt;             }&lt;br /&gt;             else{              &lt;br /&gt;              cycle[i]--;&lt;br /&gt;              saveCurrentPosition();&lt;br /&gt;              Serial.print("C");&lt;br /&gt;              Serial.print(i);&lt;br /&gt;              Serial.print("*");            &lt;br /&gt;              convertToThreeDigits(cycle[i]);&lt;br /&gt;             }&lt;br /&gt;            } &lt;br /&gt;            else if ( cyclecounterold[i] == 2)&lt;br /&gt;              ;&lt;br /&gt;            else if ( cyclecounterold[i] == 3){&lt;br /&gt;             if (cycle[i] + 1 &amp;gt; 213){&lt;br /&gt;                 criticalSituation(i, 1);&lt;br /&gt;             }&lt;br /&gt;             else{&lt;br /&gt;                cycle[i]++;&lt;br /&gt;                saveCurrentPosition();&lt;br /&gt;                Serial.print("C");&lt;br /&gt;                Serial.print(i);&lt;br /&gt;                Serial.print("*");            &lt;br /&gt;                convertToThreeDigits(cycle[i]);&lt;br /&gt;             }&lt;br /&gt;            }&lt;br /&gt;            else if ( cyclecounterold[i] == 0){&lt;br /&gt;                Serial.println("E01");//Error reading from Encoder-&lt;br /&gt;            }&lt;br /&gt;            else &lt;br /&gt;                ;//Serial.print("ERROR");&lt;br /&gt;            break;&lt;br /&gt;        }//end of case-2&lt;br /&gt;        case(3) : {&lt;br /&gt;            if (cyclecounterold[i] == 0){&lt;br /&gt;             if (cycle[i] + 1 &amp;gt; 213){&lt;br /&gt;                 criticalSituation(i, 1);&lt;br /&gt;             }&lt;br /&gt;             else{&lt;br /&gt;                cycle[i]++;&lt;br /&gt;                saveCurrentPosition();&lt;br /&gt;                Serial.print("C");&lt;br /&gt;                Serial.print(i);&lt;br /&gt;                Serial.print("*");            &lt;br /&gt;                convertToThreeDigits(cycle[i]);&lt;br /&gt;             }&lt;br /&gt;            }&lt;br /&gt;            else if (cyclecounterold[i] == 1){&lt;br /&gt;              Serial.println("E01");//Error reading from Encoder-&lt;br /&gt;            }&lt;br /&gt;            else if ( cyclecounterold[i] == 2){&lt;br /&gt;             if (cycle[i] -1 &amp;lt; 0){&lt;br /&gt;                 criticalSituation(i, 0);&lt;br /&gt;             }&lt;br /&gt;             else{              &lt;br /&gt;              cycle[i]--;&lt;br /&gt;              saveCurrentPosition();&lt;br /&gt;              Serial.print("C");&lt;br /&gt;              Serial.print(i);&lt;br /&gt;              Serial.print("*");            &lt;br /&gt;              convertToThreeDigits(cycle[i]);&lt;br /&gt;             }&lt;br /&gt;            }&lt;br /&gt;            else if ( cyclecounterold[i] == 3)&lt;br /&gt;              ;&lt;br /&gt;            else &lt;br /&gt;              ;//Serial.print("ERROR");&lt;br /&gt;            break;&lt;br /&gt;        }//end of case-3&lt;br /&gt;      }&lt;br /&gt;  }//end of for&lt;br /&gt;}//end of checkEncoder()&lt;br /&gt;&lt;br /&gt;int criticalSituation(int motorNumber, int type){&lt;br /&gt;      digitalWrite(pinPwm[motorNumber], LOW);//Setting all PWM's to LOW&lt;br /&gt;      if (type == 0)&lt;br /&gt;        Serial.println("E02");//*** FATAL ERROR, CRASH POSSIBLE, STOPPING MOTOR ***&lt;br /&gt;      else if (type == 1)&lt;br /&gt;        Serial.println("E03");//*** FATAL ERROR, ROBOT ARM MIGHT GO LOOSE, STOPPING MOTOR ***&lt;br /&gt;      //Serial.print(motorNumber);&lt;br /&gt;      return 0;&lt;br /&gt;}//end of criticalSituation&lt;br /&gt;&lt;br /&gt;int resetAll(){&lt;br /&gt;  for (int i=0; i &amp;lt; 3; i++){&lt;br /&gt;          digitalWrite(pinPwm[i], LOW);//Setting all PWM's to LOW&lt;br /&gt;          Serial.print("C");&lt;br /&gt;          Serial.print(i);&lt;br /&gt;          Serial.print("=");&lt;br /&gt;          convertToThreeDigits(cycle[i]);&lt;br /&gt;        }//end of for&lt;br /&gt;        return 0;&lt;br /&gt;}//end of resetAll()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void convertToThreeDigits(int input){&lt;br /&gt;  if (input &amp;gt;= 0 &amp;amp;&amp;amp; input &amp;lt; 10){&lt;br /&gt;    /*switch (input){&lt;br /&gt;      case 0 :&lt;br /&gt;        Serial.print("00");&lt;br /&gt;        break;&lt;br /&gt;      case 1 :&lt;br /&gt;        Serial.print("01");&lt;br /&gt;        break;      &lt;br /&gt;      case 2 :&lt;br /&gt;        Serial.print("02");&lt;br /&gt;        break;      &lt;br /&gt;      case 3 :&lt;br /&gt;        Serial.print("03");&lt;br /&gt;        break;      &lt;br /&gt;      case 4 :&lt;br /&gt;        Serial.print("04");&lt;br /&gt;        break;      &lt;br /&gt;      case 5 :&lt;br /&gt;        Serial.print("05");&lt;br /&gt;        break;      &lt;br /&gt;      case 6 :&lt;br /&gt;        Serial.print("06");&lt;br /&gt;        break;      &lt;br /&gt;      case 7 :&lt;br /&gt;        Serial.print("07");&lt;br /&gt;        break;      &lt;br /&gt;      case 8 :&lt;br /&gt;        Serial.print("08");&lt;br /&gt;        break;      &lt;br /&gt;      case 9 :&lt;br /&gt;        Serial.print("09");&lt;br /&gt;        break;      &lt;br /&gt;      default :&lt;br /&gt;        Serial.print("00");&lt;br /&gt;        break;      &lt;br /&gt;    }//end of switch&lt;br /&gt;    */&lt;br /&gt;    Serial.print("00");&lt;br /&gt;    Serial.print(input);&lt;br /&gt;  }&lt;br /&gt;  else if ( input &amp;gt;= 10 &amp;amp;&amp;amp; input &amp;lt; 100){&lt;br /&gt;    Serial.print("0");&lt;br /&gt;    Serial.print(input);&lt;br /&gt;  }&lt;br /&gt;  else{&lt;br /&gt;    Serial.print(input);    &lt;br /&gt;  }&lt;br /&gt;}//end of convertToThreeDigits()&lt;br /&gt;&lt;br /&gt;void saveCurrentPosition(){&lt;br /&gt;  for (int i = 0; i &amp;lt; 3; i++){&lt;br /&gt;    EEPROM.write(i, cycle[i]);&lt;br /&gt;  }  &lt;br /&gt;}//end of saveCurrentPosition&lt;br /&gt;&lt;br /&gt;void findCurrentPosition(){&lt;br /&gt;  for (int i = 0; i &amp;lt; 3; i++){&lt;br /&gt;    value = EEPROM.read(i);&lt;br /&gt;    cycle[i] = value;&lt;br /&gt;    Serial.print("P");&lt;br /&gt;    Serial.print(i);&lt;br /&gt;    Serial.print("*");&lt;br /&gt;    convertToThreeDigits(value);&lt;br /&gt;  }&lt;br /&gt;}//end of findCurrentPosition&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-276272806991663785?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/276272806991663785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/03/zero-positioning-sw-type.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/276272806991663785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/276272806991663785'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/03/zero-positioning-sw-type.html' title='Zero positioning, EEPROM implementation'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-8njs17Xwmqs/TXmaZwmfeDI/AAAAAAAABms/ghw9jnjV9QA/s72-c/java_cp.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-3948237845570418321</id><published>2011-03-09T03:38:00.001+01:00</published><updated>2011-03-09T03:50:10.128+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Serial Communication'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Zero Positioning'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><category scheme='http://www.blogger.com/atom/ns#' term='Positioning'/><title type='text'>My status on the 6th day of my holidays that I use for working on my thesis</title><content type='html'>&lt;ul&gt;&lt;li&gt;Counter code fixed in Arduino C code&lt;/li&gt;&lt;li&gt;Problems with wrong usage of RxTxLibrary(mis match which wasted enough of my time during 6 days ago; unstable connection from Arduino to Java Control System)&lt;/li&gt;&lt;li&gt;Java Simulator works fine, just need to finish the fancy java demonstration&lt;/li&gt;&lt;li&gt;Logging system works very good&lt;/li&gt;&lt;li&gt;Help through HTML file, online&lt;/li&gt;&lt;li&gt;Java &amp;amp; Arduino are communicating perfectly&lt;/li&gt;&lt;li&gt;Some problems with the prototype feet I have as just one motor functions&lt;/li&gt;&lt;li&gt;Working on positioning &amp;amp; zero positioning&lt;/li&gt;&lt;li&gt;Safety system for preventing the motor to crash backwards or too much forward&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-QtScxWVcxm8/TXbqjB3PejI/AAAAAAAABmg/tMkDDtRQfvg/s1600/crash_prevent.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="290" src="https://lh6.googleusercontent.com/-QtScxWVcxm8/TXbqjB3PejI/AAAAAAAABmg/tMkDDtRQfvg/s320/crash_prevent.PNG" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;Prevention of motor crash in C, offline Robot&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Prevention of motor crash in Java, online Robot, Simulation &amp;amp; Real world&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-3948237845570418321?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/3948237845570418321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/03/my-status-on-6th-day-of-my-holidays.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3948237845570418321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3948237845570418321'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/03/my-status-on-6th-day-of-my-holidays.html' title='My status on the 6th day of my holidays that I use for working on my thesis'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-QtScxWVcxm8/TXbqjB3PejI/AAAAAAAABmg/tMkDDtRQfvg/s72-c/crash_prevent.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-5506687771362503978</id><published>2011-03-07T02:45:00.004+01:00</published><updated>2011-03-18T06:05:42.113+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kinematic calculations'/><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><category scheme='http://www.blogger.com/atom/ns#' term='Thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='Positioning'/><title type='text'>Positioning calculations, Walloid</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;Update &lt;/b&gt;17.03.2011 : &lt;i&gt;These calculations are totally wrong ... The whole concept is much easier than these things. See the &lt;a href="http://walloid.blogspot.com/2011/03/new-calculations-for-positioning.html"&gt;new post about the positioning calculations&lt;/a&gt;.&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;-----------------------------------&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Although my supervisor meant that the positioning is happening through very easy&amp;nbsp;geometrical&amp;nbsp;calculation but I struggled a lot to find these equations. I am soon going to code this in my program for Walloid and come up with practical results. I should thank my dear friend Puya Afsharian who helped me a lot in figuring out some of the details.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-qRP9icQcY4s/TXbk1ChKshI/AAAAAAAABmA/GngGR3Yt8Lw/s1600/2011-03-08+01.54.05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh5.googleusercontent.com/-qRP9icQcY4s/TXbk1ChKshI/AAAAAAAABmA/GngGR3Yt8Lw/s320/2011-03-08+01.54.05.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-v65Jn4rWMkc/TXbk2GkE7oI/AAAAAAAABmE/Muj6O3k35u0/s1600/2011-03-08+01.54.11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://lh3.googleusercontent.com/-v65Jn4rWMkc/TXbk2GkE7oI/AAAAAAAABmE/Muj6O3k35u0/s320/2011-03-08+01.54.11.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-V4CNlqHMdVI/TXbk3h8atnI/AAAAAAAABmM/qVwbsA-qUFM/s1600/2011-03-08+01.59.58.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh3.googleusercontent.com/-V4CNlqHMdVI/TXbk3h8atnI/AAAAAAAABmM/qVwbsA-qUFM/s320/2011-03-08+01.59.58.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-II3untKAJCg/TXbk4dWID2I/AAAAAAAABmQ/V1LZvczFn8c/s1600/2011-03-08+02.00.05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh4.googleusercontent.com/-II3untKAJCg/TXbk4dWID2I/AAAAAAAABmQ/V1LZvczFn8c/s320/2011-03-08+02.00.05.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-aiUw21NmWE0/TXbk0Rk_IgI/AAAAAAAABl8/xxZF-Rei7CM/s1600/2011-03-08+02.15.34.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh3.googleusercontent.com/-aiUw21NmWE0/TXbk0Rk_IgI/AAAAAAAABl8/xxZF-Rei7CM/s320/2011-03-08+02.15.34.jpg" style="cursor: move;" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-gWVHR5KkB68/TXbk3DljHwI/AAAAAAAABmI/miKbt75TIGE/s1600/2011-03-08+01.54.21.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh6.googleusercontent.com/-gWVHR5KkB68/TXbk3DljHwI/AAAAAAAABmI/miKbt75TIGE/s320/2011-03-08+01.54.21.jpg" style="cursor: move;" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-uSiALIzprZI/TXbk5hI3ITI/AAAAAAAABmY/rmGwoDAZXic/s1600/2011-03-08+02.15.21.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh4.googleusercontent.com/-uSiALIzprZI/TXbk5hI3ITI/AAAAAAAABmY/rmGwoDAZXic/s320/2011-03-08+02.15.21.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-GHxl4F9D0ZM/TXbk6TBJ6DI/AAAAAAAABmc/J8x1X4dPhLo/s1600/2011-03-08+02.15.28.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh5.googleusercontent.com/-GHxl4F9D0ZM/TXbk6TBJ6DI/AAAAAAAABmc/J8x1X4dPhLo/s320/2011-03-08+02.15.28.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-5506687771362503978?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/5506687771362503978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/03/positioning-calculations-walloid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5506687771362503978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5506687771362503978'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/03/positioning-calculations-walloid.html' title='Positioning calculations, Walloid'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-qRP9icQcY4s/TXbk1ChKshI/AAAAAAAABmA/GngGR3Yt8Lw/s72-c/2011-03-08+01.54.05.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-5601892058513367767</id><published>2011-03-03T01:10:00.002+01:00</published><updated>2011-03-03T01:10:41.422+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><title type='text'>Robot ideas</title><content type='html'>&lt;a href="http://www.newscientist.com/article/mg20928015.000-sticky-feet-send-insectbot-climbing-up-the-walls.html"&gt;http://www.newscientist.com/article/mg20928015.000-sticky-feet-send-insectbot-climbing-up-the-walls.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-5601892058513367767?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/5601892058513367767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/03/robot-ideas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5601892058513367767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5601892058513367767'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/03/robot-ideas.html' title='Robot ideas'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-2107760039629741400</id><published>2011-02-25T13:50:00.004+01:00</published><updated>2011-03-09T03:38:31.661+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Rapid Prototyping'/><title type='text'>Ignite Oslo, Rapid Prototyping</title><content type='html'>&lt;iframe allowfullscreen="" frameborder="0" height="350" src="http://www.youtube.com/embed/sL6Ci31nJYY" title="YouTube video player" width="440"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-2107760039629741400?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/2107760039629741400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/02/youtube-video-player.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2107760039629741400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2107760039629741400'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/02/youtube-video-player.html' title='Ignite Oslo, Rapid Prototyping'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/sL6Ci31nJYY/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-7013249608508888322</id><published>2011-02-19T00:08:00.007+01:00</published><updated>2011-02-22T23:23:30.620+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Streaming Solutions'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><title type='text'>Webcam &amp; Processing</title><content type='html'>&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Updated, 22nd of February 2011&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;a href="http://opencv.willowgarage.com/wiki/"&gt;&lt;b&gt;OpenCV&lt;/b&gt;&lt;/a&gt; seems to be the perfect tool to do the image processing calculation. A &lt;a href="http://mechomaniac.com/OpenCVBallTracking"&gt;&lt;b&gt;practical example&lt;/b&gt;&lt;/a&gt;.&lt;br /&gt;---&lt;br /&gt;Hey Shahab,&lt;br /&gt;You should look at the flob library for blob detection. Its listed on the libraries page on processing.org. Its pretty simple to use. Also for better object detection, you might have more luck with openFrameworks, which is c++ based and has a better library for OpenCV.&lt;br /&gt;For my project, I used the flob library and using the OSC protocol (oscp5 library for processing) I sent the data from the webcam to the sound generation program.&lt;br /&gt;Using the OSC protocol you could also use something call openTSPS, by Rockwell Labs, which would be much more easier and exact since its also based on openFrameworks. So sense people with openTSPS and send the data via OSC to your program that controls the micro-controller.&lt;br /&gt;Hope it helps.&lt;br /&gt;Sumit&lt;br /&gt;------------&lt;br /&gt;&lt;em&gt;On Feb 16, 2011, at 3:20 PM, Shahab F. M. wrote:&lt;/em&gt;&lt;br /&gt;Hi. &lt;br /&gt;I was wondering if u can give me some tips/tutorial links about webcam &amp;amp; processing. I am working on Walloid as my master thesis. &lt;br /&gt;&lt;a href="http://walloid.blogspot.com/"&gt;http://walloid.blogspot.com/&lt;/a&gt;&lt;br /&gt;Shahab&lt;br /&gt;Sent from my HTC&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-7013249608508888322?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/7013249608508888322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/02/webcam-processing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/7013249608508888322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/7013249608508888322'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/02/webcam-processing.html' title='Webcam &amp; Processing'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-3474782319345038344</id><published>2011-02-19T00:03:00.000+01:00</published><updated>2011-02-19T00:03:35.014+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>Internal Arduino Communication</title><content type='html'>&lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1153415010"&gt;http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1153415010&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-3474782319345038344?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/3474782319345038344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/02/internal-arduino-communication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3474782319345038344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3474782319345038344'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/02/internal-arduino-communication.html' title='Internal Arduino Communication'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-3498765465634742569</id><published>2011-02-17T22:09:00.000+01:00</published><updated>2011-02-17T22:09:07.460+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><title type='text'>Test units(JUnit) on the way ...</title><content type='html'>Today I got some tips from a very experienced programmer who is a team leader at a leading IT consulting company here at Norway. He advised to me to no matter what have test codes in my java code. No matter what use a version control system and have a structure in my coding. I think as long as I am so keen of having things planned and well-structured I would do implement his ideas into my master thesis to have a much clear expectation from myself and be able to plan better my way ahead. I think this would also give me the chance to do implement white box testing on my code and of-course more things to write about :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-3498765465634742569?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/3498765465634742569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/02/test-unitsjunit-on-way.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3498765465634742569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3498765465634742569'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/02/test-unitsjunit-on-way.html' title='Test units(JUnit) on the way ...'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-1138956514799683516</id><published>2011-02-17T14:32:00.002+01:00</published><updated>2011-02-17T22:04:28.138+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><title type='text'>More structured and better plans a head</title><content type='html'>I need more of structure on coding and planing for my thesis. Things like simple UML diagrams that makes understanding the whole thing much easier. UML diagrams in different levels for different tasks. I also need &lt;i&gt;&lt;b&gt;test scripting&lt;/b&gt;&lt;/i&gt; to test my code while running it. &lt;br /&gt;will be updated&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ZkgQJD2W2yM/TV2NVOX3GvI/AAAAAAAABlU/gZAvoRAyLV4/s1600/UML_environment.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="129" src="http://1.bp.blogspot.com/-ZkgQJD2W2yM/TV2NVOX3GvI/AAAAAAAABlU/gZAvoRAyLV4/s320/UML_environment.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-s8W6JrQ8QCY/TV2IZWMzsOI/AAAAAAAABlM/7ut3DWMyMtw/s1600/UML_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="230" j6="true" src="http://1.bp.blogspot.com/-s8W6JrQ8QCY/TV2IZWMzsOI/AAAAAAAABlM/7ut3DWMyMtw/s320/UML_1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="center"&gt;﻿&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-1138956514799683516?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/1138956514799683516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/02/more-structured-and-better-plans-head.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1138956514799683516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1138956514799683516'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/02/more-structured-and-better-plans-head.html' title='More structured and better plans a head'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ZkgQJD2W2yM/TV2NVOX3GvI/AAAAAAAABlU/gZAvoRAyLV4/s72-c/UML_environment.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-2243378068255778283</id><published>2011-02-10T14:19:00.000+01:00</published><updated>2011-02-17T22:09:25.441+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><category scheme='http://www.blogger.com/atom/ns#' term='Thesis'/><title type='text'>Artificial Intelligence</title><content type='html'>I am taking an Artificial Intelligence course at department of Informatics(&lt;a href="http://www.uio.no/studier/emner/matnat/ifi/INF5390/index.xml"&gt;INF5390&lt;/a&gt;), where &lt;b&gt;&lt;i&gt;&lt;a href="http://aima.cs.berkeley.edu/"&gt;Artificial Intelligence - A Modern Approach&lt;/a&gt;&lt;/i&gt;&lt;/b&gt; is the book. Our lecture believes in this book as a bible for AI and this makes it as a good&amp;nbsp;reference&amp;nbsp;in my master thesis as I see LOTS of&amp;nbsp;similarities&amp;nbsp;between what I have done/do/will do and what I learn here in an academic way. I think I can use this source both as an theory back-up for my master thesis and an&amp;nbsp;explanation&amp;nbsp;of my decision making process in my codes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-2243378068255778283?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/2243378068255778283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/02/artificial-intelligence.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2243378068255778283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2243378068255778283'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/02/artificial-intelligence.html' title='Artificial Intelligence'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-956345559604300766</id><published>2011-01-20T16:25:00.002+01:00</published><updated>2011-01-22T02:23:14.665+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Zero Positioning'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Photos'/><title type='text'>Zero positioning, new ideas</title><content type='html'>Lately I have been working on mounting an Open Source 3D printer called &lt;a href="http://www.reprap.org/wiki/Main_Page"&gt;RepRap&lt;/a&gt;(Version 1.0, Darwin). While working on it, I learnt about their brilliant idea for &lt;b&gt;&lt;i&gt;Zero Positioning&lt;/i&gt;&lt;/b&gt;. They use a tiny &lt;u&gt;&lt;i&gt;beam light sensor(&lt;a href="http://reprap.org/wiki/OptoEndstop_2.1"&gt;Opto endstop V2.1&lt;/a&gt;)&lt;/i&gt;&lt;/u&gt; which is interrupted by a small stick which is connected to the moving joint. The interrupted state defines that the moving joint is in the zero position.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_yFCWPawZNdA/TToxVWz80ZI/AAAAAAAABkk/J0Xw2g8J-uU/s1600/opto_Endstop.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/_yFCWPawZNdA/TToxVWz80ZI/AAAAAAAABkk/J0Xw2g8J-uU/s320/opto_Endstop.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;b&gt;Picture from : &lt;a href="http://blog.reprap.org/"&gt;RepRap Blog&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-956345559604300766?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/956345559604300766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/zero-positioning-new-ideas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/956345559604300766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/956345559604300766'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/zero-positioning-new-ideas.html' title='Zero positioning, new ideas'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_yFCWPawZNdA/TToxVWz80ZI/AAAAAAAABkk/J0Xw2g8J-uU/s72-c/opto_Endstop.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-3311392336428798315</id><published>2011-01-15T02:54:00.008+01:00</published><updated>2011-03-11T01:05:45.974+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Zero Positioning'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>What is EEPROM / E2PROM ?</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;"&gt;We do need a way to save the numbers which represents the current situation of the robot actuators somewhere(either at PC or somewhere on Arduino microcontroller, EEPROM here). This post dedicates itself to storing data on Arduino &lt;i&gt;&lt;b&gt;non-volatile memory and use this information for zero positioning of the moving joint&lt;/b&gt;&lt;/i&gt;. First an introduction to EEPROM from Wikipedia and later code example and links to its API's at Arduino website.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is EEPROM ?&lt;/b&gt;&lt;br /&gt;&lt;b&gt;EEPROM&lt;/b&gt;&amp;nbsp;(also written&amp;nbsp;&lt;b&gt;E&lt;sup style="line-height: 1em;"&gt;2&lt;/sup&gt;PROM&lt;/b&gt;&amp;nbsp;and pronounced "e-e-prom," "double-e prom" or simply "e-squared") stands for&amp;nbsp;&lt;b&gt;E&lt;/b&gt;lectrically&amp;nbsp;&lt;b&gt;E&lt;/b&gt;rasable&amp;nbsp;&lt;b&gt;P&lt;/b&gt;rogrammable&amp;nbsp;&lt;b&gt;R&lt;/b&gt;ead-&lt;b&gt;O&lt;/b&gt;nly&amp;nbsp;&lt;b&gt;M&lt;/b&gt;emory and is a type of&lt;a href="http://en.wikipedia.org/wiki/Non-volatile_memory" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;" title="Non-volatile memory"&gt;non-volatile memory&lt;/a&gt;&amp;nbsp;used in computers and other electronic devices to store small amounts of data that must be saved when power is removed, e.g., calibration tables or device configuration.&lt;/div&gt;&lt;div style="line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;"&gt;When larger amounts of static data are to be stored (such as in&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/USB_flash_drive" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;" title="USB flash drive"&gt;USB flash drives&lt;/a&gt;) a specific type of EEPROM such as&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Flash_memory" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;" title="Flash memory"&gt;flash memory&lt;/a&gt;&amp;nbsp;is more economical than traditional EEPROM devices. EEPROMs are realized as arrays of&amp;nbsp;&lt;a class="mw-redirect" href="http://en.wikipedia.org/wiki/Floating-gate_transistor" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;" title="Floating-gate transistor"&gt;floating-gate transistors&lt;/a&gt;.&lt;/div&gt;&lt;div style="line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;"&gt;EEPROM is user-modifiable read-only memory (ROM) that can be erased and reprogrammed (written to) repeatedly through the application of higher than normal electrical voltage generated externally or internally in the case of modern EEPROMs. EPROM usually must be removed from the device for erasing and programming, whereas EEPROMs can be programmed and erased in circuit. Originally, EEPROMs were limited to single byte operations which made them slower, but modern EEPROMs allow multi-byte page operations. It also has a limited life - that is, the number of times it could be reprogrammed was limited to tens or hundreds of thousands of times. That limitation has been extended to a million write operations in modern EEPROMs. In an EEPROM that is frequently reprogrammed while the computer is in use, the life of the EEPROM can be an important design consideration. It is for this reason that EEPROMs were used for configuration information, rather than random access memory.&lt;b&gt;*&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;"&gt;&lt;div style="line-height: 1.5em;"&gt;Practical Information about how to get things to work :&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;a href="http://www.arduino.cc/playground/Main/InterfacingWithHardware#Storage"&gt;http://www.arduino.cc/playground/Main/InterfacingWithHardware#Storage&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://arduino.cc/en/Reference/EEPROMWrite"&gt;http://arduino.cc/en/Reference/EEPROMWrite&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Source Code :&amp;nbsp;&lt;/div&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;#include EEPROM.h&lt;br /&gt;&lt;br /&gt;int a = 0;&lt;br /&gt;int value;&lt;br /&gt;&lt;br /&gt;void setup()&lt;br /&gt;{&lt;br /&gt;Serial.begin(9600);&lt;br /&gt;for (int i = 0; i &amp;lt; 20; i++){&lt;br /&gt;    Serial.println("***");&lt;br /&gt;    EEPROM.write(i, i);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop()&lt;br /&gt;{&lt;br /&gt;  value = EEPROM.read(a);&lt;br /&gt;&lt;br /&gt;  Serial.print(a);&lt;br /&gt;  Serial.print("\t");&lt;br /&gt;  Serial.print(value);&lt;br /&gt;  Serial.println("***");&lt;br /&gt;  a++;&lt;br /&gt;&lt;br /&gt;  if (a == 20){&lt;br /&gt;    a = 0;&lt;br /&gt;    Serial.println("DONE");&lt;br /&gt;    delay(5000000);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style="line-height: 1.5em;"&gt;* : Source : &lt;a href="http://en.wikipedia.org/wiki/EEPROM"&gt;Wikipedia&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-3311392336428798315?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/3311392336428798315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/what-is-eeprom-e2prom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3311392336428798315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3311392336428798315'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/what-is-eeprom-e2prom.html' title='What is EEPROM / E2PROM ?'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-6355259130459741614</id><published>2011-01-13T02:00:00.005+01:00</published><updated>2011-01-20T16:28:42.986+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Zero Positioning'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='External links'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>Problem of current position in case of loosing power &amp; possible fixes ...</title><content type='html'>I think I have found my way to bear in mind the current position of the robot in case of the robot loosing power &amp;amp; not being able to drive itself back to the ZERO. The way is to either use the built in EEPROM(512 bytes), or other external storages which can be connected to Arduino. More info about EEPROM :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.arduino.cc/playground/Main/InterfacingWithHardware#Storage"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;http://www.arduino.cc/playground/Main/InterfacingWithHardware#Storage&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The 2nd option is to always send the position to the computer and save it somewhere there at the program(Lots of traffic on serial port, higher risk to encounter problem or missing packages).&lt;br /&gt;&lt;br /&gt;Too tiered to fix it now ... Later ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-6355259130459741614?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/6355259130459741614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/i-think-i-have-found-my-way-to-bear-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/6355259130459741614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/6355259130459741614'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/i-think-i-have-found-my-way-to-bear-in.html' title='Problem of current position in case of loosing power &amp; possible fixes ...'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-4278375727328290808</id><published>2011-01-13T01:30:00.007+01:00</published><updated>2011-01-15T03:06:53.718+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>It matters to choose BYTE or INTEGER, BUG fixed + Handshaked protocol added</title><content type='html'>Just now fixed a bug in my code. Choosing &lt;b&gt;BYTE&amp;nbsp;&lt;/b&gt;as my variable type made some confusions on startup for the program as it couldn't&amp;nbsp;initialize&amp;nbsp;the variable with 0 value. The problem was fixed as soon as I changed the type to &lt;b&gt;INTEGER&lt;/b&gt;. This resulted in errors in my program as no value made some random cases to launch which was&amp;nbsp;totally&amp;nbsp;wrong. This means that the &lt;b&gt;bug &lt;/b&gt;on startup of my program which I talked to my supervisor today about is &lt;b&gt;fixed &lt;/b&gt;:-) I was thinking as it just&amp;nbsp;happened&amp;nbsp;on startup to be a noise or some wrong reading from ports on Arduino, but it seems to be just a confusion on defining the variable as byte !!! I have also changed the startup value from 0 to -1 which result in no possible meaningful combination ...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Differences with previous code :&lt;/u&gt;&lt;/b&gt; Handshake added, Startup bug fixed, Some changes in standard writing to serial port from Arduino side.&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;//the code is entering saving with Java and we are printing as little as possible in Serial ports&lt;br /&gt;// Encoders inputs&lt;br /&gt;byte pinEncA[] = {7,5,3}; // digital inputs&lt;br /&gt;byte pinEncB[] = {6,4,2}; // digital inputs&lt;br /&gt;&lt;br /&gt;// MOTOR OUTPUTS&lt;br /&gt;byte pinDir[] = {13,8,12}; // digital output, controls direction for motor nr. [x]&lt;br /&gt;byte pinPwm[] = {10,11,9}; // analog output, controls motor speed, nr. [x]&lt;br /&gt;&lt;br /&gt;//Global variables&lt;br /&gt;int readValue;&lt;br /&gt;int pwmValue;&lt;br /&gt;int motorDir;&lt;br /&gt;//int channelA = 2;&lt;br /&gt;//int channelB = 3;&lt;br /&gt;int cycle[] = {0, 0, 0};&lt;br /&gt;&lt;br /&gt;boolean f = false, b = false, r = false, l = false;&lt;br /&gt;int cyclecounter[] = {0, 0, 0};&lt;br /&gt;int cyclecounterold[] = {0, 0, 0};&lt;br /&gt;&lt;br /&gt;//13 , 10 right, down&lt;br /&gt;//8 , 11 middle, top&lt;br /&gt;//9, 12 left, down&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void setup(){&lt;br /&gt;  &lt;br /&gt;  Serial.begin(115200);&lt;br /&gt;  Serial.println("WELCOME TO C1S0");  &lt;br /&gt;  for (int i=0; i &amp;lt; 3; i++){&lt;br /&gt;    pinMode(pinDir[i], OUTPUT);&lt;br /&gt;    pinMode(pinPwm[i], OUTPUT);&lt;br /&gt;    //in case, just to be sure ...&lt;br /&gt;    digitalWrite(pinPwm[i], LOW);&lt;br /&gt;    // just in case to be sure&lt;br /&gt;    digitalWrite(pinDir[i], LOW);&lt;br /&gt;    pinMode(pinEncA[i], INPUT);&lt;br /&gt;    pinMode(pinEncB[i], INPUT);&lt;br /&gt;    digitalWrite(pinEncA[i], LOW);&lt;br /&gt;    digitalWrite(pinEncB[i], LOW);&lt;br /&gt;    cyclecounter[i] = -1;&lt;br /&gt;    cyclecounterold[i] = -1;&lt;br /&gt;  }//end of for&lt;br /&gt;&lt;br /&gt;}//end of setup()&lt;br /&gt;&lt;br /&gt;void loop(){&lt;br /&gt;    commandCenter();&lt;br /&gt;    checkEncoder();&lt;br /&gt;}//end of loop&lt;br /&gt;&lt;br /&gt;void commandCenter(){&lt;br /&gt;  //variables&lt;br /&gt;  int temp = 0;&lt;br /&gt;  if ( Serial.available() &amp;gt; 0 ){&lt;br /&gt;    readValue = Serial.read();&lt;br /&gt;    switch (readValue){&lt;br /&gt;      case 'h' : //handshake&lt;br /&gt;        Serial.println("h");&lt;br /&gt;        break;&lt;br /&gt;      case '0' ://motor #0&lt;br /&gt;        int temp__;&lt;br /&gt;        temp__ = 0;&lt;br /&gt;        if(Serial.available() &amp;lt; 0)&lt;br /&gt;          ;&lt;br /&gt;        delay(500);&lt;br /&gt;        temp__ = Serial.read();&lt;br /&gt;        if (temp__ == 102){// -f -&amp;gt; forward&lt;br /&gt;          Serial.println("*** Right forward ***");&lt;br /&gt;          digitalWrite(pinDir[0], LOW);&lt;br /&gt;          digitalWrite(pinPwm[0], HIGH);&lt;br /&gt;        }//end of if&lt;br /&gt;        else if(temp__ == 98){// -b -&amp;gt; backward&lt;br /&gt;          Serial.println("*** Right backward ***");&lt;br /&gt;          digitalWrite(pinDir[0], HIGH);&lt;br /&gt;          digitalWrite(pinPwm[0], HIGH);&lt;br /&gt;        }&lt;br /&gt;        else{&lt;br /&gt;         &lt;br /&gt;          Serial.print("error ");&lt;br /&gt;          Serial.println(temp__);&lt;br /&gt;        }&lt;br /&gt;        f = false;&lt;br /&gt;        b = false;&lt;br /&gt;        l = false;&lt;br /&gt;        r = true;&lt;br /&gt;        break;&lt;br /&gt;      case '1' ://motor #1&lt;br /&gt;        int temp_;&lt;br /&gt;        if(Serial.available() &amp;lt; 1)&lt;br /&gt;          ;&lt;br /&gt;          delay(500);&lt;br /&gt;          temp_ = Serial.read();&lt;br /&gt;        if (temp_ == 102){// -f&lt;br /&gt;          Serial.println("*1FW*");&lt;br /&gt;          digitalWrite(pinDir[1], LOW);&lt;br /&gt;          digitalWrite(pinPwm[1], HIGH);&lt;br /&gt;        }//end of if&lt;br /&gt;        else if(temp_ == 98){// -b&lt;br /&gt;          Serial.println("*1BW*");&lt;br /&gt;          digitalWrite(pinDir[1], HIGH);&lt;br /&gt;          digitalWrite(pinPwm[1], HIGH);&lt;br /&gt;        }&lt;br /&gt;        else{&lt;br /&gt;         &lt;br /&gt;          Serial.print("error ");&lt;br /&gt;          Serial.println(temp_);&lt;br /&gt;        }&lt;br /&gt;        f = true;&lt;br /&gt;        b = false;&lt;br /&gt;        l = false;&lt;br /&gt;        r = false;&lt;br /&gt;        break;&lt;br /&gt;      case '2' ://l -&amp;gt; left&lt;br /&gt;        temp_ = 0;&lt;br /&gt;        if(Serial.available() &amp;lt; 1)&lt;br /&gt;          ;&lt;br /&gt;          delay(500);&lt;br /&gt;          temp_ = Serial.read();&lt;br /&gt;        if (temp_ == 102){//motor #2&lt;br /&gt;          Serial.println("*2FW*");&lt;br /&gt;          digitalWrite(pinDir[2], LOW);&lt;br /&gt;          digitalWrite(pinPwm[2], HIGH);&lt;br /&gt;        }//end of if&lt;br /&gt;        else if(temp_ == 98){// -b&lt;br /&gt;          Serial.println("*2BW*");&lt;br /&gt;          digitalWrite(pinDir[2], HIGH);&lt;br /&gt;          digitalWrite(pinPwm[2], HIGH);&lt;br /&gt;        }&lt;br /&gt;        else{&lt;br /&gt;         &lt;br /&gt;          Serial.print("error ");&lt;br /&gt;          Serial.println(temp_);&lt;br /&gt;        }        &lt;br /&gt;        f = false;&lt;br /&gt;        b = false;&lt;br /&gt;        l = true;&lt;br /&gt;        r = false;&lt;br /&gt;        break;&lt;br /&gt;      case 82 : //R-&amp;gt;RESET&lt;br /&gt;        Serial.println("*** Resetting ***");&lt;br /&gt;        for (int i=0; i &amp;lt; 3; i++){&lt;br /&gt;          digitalWrite(pinPwm[i], LOW);//Setting all PWM's to LOW&lt;br /&gt;          Serial.print("C");&lt;br /&gt;          Serial.print(i);&lt;br /&gt;          Serial.print("=");&lt;br /&gt;          Serial.println(cycle[i]);          &lt;br /&gt;        }//end of for&lt;br /&gt;        f = false;&lt;br /&gt;        b = false;&lt;br /&gt;        l = false;&lt;br /&gt;        r = false;&lt;br /&gt;        break;&lt;br /&gt;    }//end of switch  &lt;br /&gt;  } &lt;br /&gt;  /*&lt;br /&gt;  if (f || b || r || l){&lt;br /&gt;    Serial.print("cycle[i]: ");&lt;br /&gt;    Serial.println(cycle[i]);&lt;br /&gt;  }//end of if&lt;br /&gt;  */&lt;br /&gt;}//end of commandCenter&lt;br /&gt;&lt;br /&gt;//int angleMaalt;&lt;br /&gt;&lt;br /&gt;void checkEncoder(){&lt;br /&gt;  int A;&lt;br /&gt;  int B;&lt;br /&gt;  int i;&lt;br /&gt;  for (i = 0; i &amp;lt; 3; i++){&lt;br /&gt;      A = digitalRead(pinEncA[i]);&lt;br /&gt;      B = digitalRead(pinEncB[i]);&lt;br /&gt;    &lt;br /&gt;      if ( (A==LOW) &amp;amp;&amp;amp; (B==LOW) )&lt;br /&gt;        cyclecounter[i] = 0;&lt;br /&gt;      else if ( (A==LOW) &amp;amp;&amp;amp; (B==HIGH) )&lt;br /&gt;        cyclecounter[i] = 1;&lt;br /&gt;      else if ( (A==HIGH) &amp;amp;&amp;amp; (B==HIGH) )&lt;br /&gt;        cyclecounter[i] = 2;&lt;br /&gt;      else if ( (A==HIGH) &amp;amp;&amp;amp; (B==LOW) )&lt;br /&gt;        cyclecounter[i] = 3;&lt;br /&gt;    &lt;br /&gt;      switch (cyclecounter[i]){&lt;br /&gt;        case (0) : {&lt;br /&gt;           if ( cyclecounterold[i] == 0){&lt;br /&gt;              ;//Do nothing&lt;br /&gt;           }&lt;br /&gt;           else if ( cyclecounterold[i] == 1){&lt;br /&gt;             cycle[i]++;&lt;br /&gt;              Serial.print("C");&lt;br /&gt;              Serial.print(i);&lt;br /&gt;              Serial.print("-");            &lt;br /&gt;              Serial.println(cycle[i]);&lt;br /&gt;           }&lt;br /&gt;           else if ( cyclecounterold[i] == 2){&lt;br /&gt;                Serial.println("Error reading from Encoder-");&lt;br /&gt;            }&lt;br /&gt;           else if ( cyclecounterold[i] == 3){&lt;br /&gt;              cycle[i]--;&lt;br /&gt;              Serial.print("C");&lt;br /&gt;              Serial.print(i);&lt;br /&gt;              Serial.print("-");            &lt;br /&gt;              Serial.println(cycle[i]);&lt;br /&gt;            }&lt;br /&gt;            else &lt;br /&gt;                ;//Serial.print("ERROR");&lt;br /&gt;            break;&lt;br /&gt;        }//end of case-0&lt;br /&gt;        case (1) : {&lt;br /&gt;            if ( cyclecounterold[i] == 0){&lt;br /&gt;              cycle[i]++;              &lt;br /&gt;              Serial.print("C");&lt;br /&gt;              Serial.print(i);&lt;br /&gt;              Serial.print("-");            &lt;br /&gt;              Serial.println(cycle[i]);&lt;br /&gt;            }&lt;br /&gt;            if ( cyclecounterold[i] == 2){&lt;br /&gt;              cycle[i]--;&lt;br /&gt;              Serial.print("C");&lt;br /&gt;              Serial.print(i);&lt;br /&gt;              Serial.print("-");            &lt;br /&gt;              Serial.println(cycle[i]);            &lt;br /&gt;            }&lt;br /&gt;            else if ( cyclecounterold[i] == 3){&lt;br /&gt;                Serial.println("Error reading from Encoder--");&lt;br /&gt;            }&lt;br /&gt;            else &lt;br /&gt;                ;//Serial.print("ERROR");&lt;br /&gt;            break;&lt;br /&gt;        }&lt;br /&gt;        case (2) : {&lt;br /&gt;            if ( cyclecounterold[i] == 1){&lt;br /&gt;              cycle[i]--;&lt;br /&gt;              Serial.print("C");&lt;br /&gt;              Serial.print(i);&lt;br /&gt;              Serial.print("-");            &lt;br /&gt;              Serial.println(cycle[i]);&lt;br /&gt;            } &lt;br /&gt;            else if ( cyclecounterold[i] == 2)&lt;br /&gt;              ;&lt;br /&gt;            else if ( cyclecounterold[i] == 3){&lt;br /&gt;              cycle[i]++;&lt;br /&gt;              Serial.print("C");&lt;br /&gt;              Serial.print(i);&lt;br /&gt;              Serial.print("-");            &lt;br /&gt;              Serial.println(cycle[i]);&lt;br /&gt;            }&lt;br /&gt;            else if ( cyclecounterold[i] == 0){&lt;br /&gt;                Serial.println("Error reading from Encoder---");&lt;br /&gt;            }&lt;br /&gt;            else &lt;br /&gt;                ;//Serial.print("ERROR");&lt;br /&gt;            break;&lt;br /&gt;        }//end of case-2&lt;br /&gt;        case(3) : {&lt;br /&gt;            if (cyclecounterold[i] == 0){&lt;br /&gt;              cycle[i]--;             &lt;br /&gt;              Serial.print("C");&lt;br /&gt;              Serial.print(i);&lt;br /&gt;              Serial.print("-");&lt;br /&gt;              Serial.println(cycle[i]);&lt;br /&gt;            }&lt;br /&gt;            else if (cyclecounterold[i] == 1){&lt;br /&gt;              Serial.println("Error reading from Encoder----");&lt;br /&gt;            }&lt;br /&gt;            else if ( cyclecounterold[i] == 2){&lt;br /&gt;              cycle[i]++;              &lt;br /&gt;              Serial.print("C");&lt;br /&gt;              Serial.print(i);&lt;br /&gt;              Serial.print("-");            &lt;br /&gt;              Serial.println(cycle[i]);&lt;br /&gt;            }&lt;br /&gt;            else if ( cyclecounterold[i] == 3)&lt;br /&gt;              ;&lt;br /&gt;            else &lt;br /&gt;              ;//Serial.print("ERROR");&lt;br /&gt;            break;&lt;br /&gt;        }//end of case-3&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      cyclecounterold[i] = cyclecounter[i];&lt;br /&gt;      &lt;br /&gt;  }//end of for&lt;br /&gt;&lt;br /&gt;}//end of checkEncoder()&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-4278375727328290808?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/4278375727328290808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/it-matters-to-choose-byte-or-integer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4278375727328290808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4278375727328290808'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/it-matters-to-choose-byte-or-integer.html' title='It matters to choose BYTE or INTEGER, BUG fixed + Handshaked protocol added'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-1696605730227374618</id><published>2011-01-12T22:17:00.003+01:00</published><updated>2011-04-17T23:10:47.992+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Streaming Solutions'/><category scheme='http://www.blogger.com/atom/ns#' term='Serial Communication'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Supervisor meetings'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><title type='text'>Meeting with my supervisor Mats Høvin, Summary</title><content type='html'>Today I met my supervisor &lt;a href="http://www.ifi.uio.no/ansatte/matsh.html"&gt;Mats Høvin(associated professor at IFI,UiO)&lt;/a&gt;. Here comes a summary of what he thinks I should be focusing on :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Handshake protocol&lt;/b&gt;. I do not have this protocol &amp;amp; this is something that according to Mats, I better have it implemented in my code&lt;/li&gt;&lt;li&gt;&lt;b&gt;Zero Positioning&lt;/b&gt;. My suggestion to this challenge is to save the current position all the time either at PC side or at the Arduino non-volatile memory.&lt;/li&gt;&lt;li&gt;Sending data packages back &amp;amp; forth in serial communication would possibly result in &lt;b&gt;loss of data&lt;/b&gt; packages. &lt;b&gt;How can my code handle this kind of problems ?&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Error on startup&lt;/b&gt;, fix for it ? Is it a programming error, or a hardware error because of Noise on reading inputs from ports ???&lt;/li&gt;&lt;li&gt;Sending many bytes and the delays resulting by that&lt;/li&gt;&lt;li&gt;The &lt;b&gt;speed control&lt;/b&gt;, should be handled in java or Arduino ??? Maybe fast in the beginning and  slow down little by little while reaching the end of the axle&lt;/li&gt;&lt;li&gt;&lt;b&gt;Play off modus&lt;/b&gt; &amp;amp; Should it be target based, or follow every detail from the log blindly  ??? Discuss ... &lt;/li&gt;&lt;li&gt;&lt;b&gt;Camera&lt;/b&gt; candidates &amp;amp; streaming , but not image processing -&amp;gt; Intelligent cameras with output ports(how many???) for sending commands to Arduino according to the image processing done by camera itself.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Using WiFi tech &amp;amp; how ??? WiFly component ?&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Programing a &lt;b&gt;simulator&lt;/b&gt; in JAVA (xyz generation and visualization in JAVA)&lt;/li&gt;&lt;li&gt;PHP/JAVA Applet GUI &amp;amp; &lt;b&gt;Streaming show on website&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Multi Arduino card solutions&lt;/b&gt; ? Benefits and disadvantages ??? Discuss ...&lt;/li&gt;&lt;li&gt;&lt;b&gt;FPGA&lt;/b&gt;??? A possible solution instead of Arduino? Discuss ...&lt;/li&gt;&lt;li&gt;Different methods to read data from encoders, &lt;b&gt;External interruptions or software methods&lt;/b&gt; reading encoders value by analogRead() on loop frequence. Discuss based on Atmel/AVR architecture&lt;/li&gt;&lt;li&gt;Positioning in the room &amp;amp; semi-Kinect sensors&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://i55.tinypic.com/nejgaf.jpg" /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-1696605730227374618?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/1696605730227374618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/meeting-with-my-supervisor-mats-hvin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1696605730227374618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1696605730227374618'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/meeting-with-my-supervisor-mats-hvin.html' title='Meeting with my supervisor Mats Høvin, Summary'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i55.tinypic.com/nejgaf_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-3504983030224197104</id><published>2011-01-11T10:40:00.003+01:00</published><updated>2011-01-11T11:43:52.527+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Serial Communication'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>Multi Arduino card solution ?</title><content type='html'>Discussion about using more than one Arduino card in this project on Arduino.cc froum&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1294709114/"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1294709114/&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-3504983030224197104?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/3504983030224197104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/multi-arduino-card-solution.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3504983030224197104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3504983030224197104'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/multi-arduino-card-solution.html' title='Multi Arduino card solution ?'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-8131671302199296007</id><published>2011-01-07T15:07:00.001+01:00</published><updated>2011-01-07T15:07:43.876+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Serial Communication'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Photos'/><title type='text'>Robot foot Control Panel(in Java) for the robot feet, version 0.01</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_yFCWPawZNdA/TScdfsNNU-I/AAAAAAAABkE/rXZQxzoHQl4/s1600/javaCode.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="235" src="http://1.bp.blogspot.com/_yFCWPawZNdA/TScdfsNNU-I/AAAAAAAABkE/rXZQxzoHQl4/s400/javaCode.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This is the first snapshot of a GUI for the Robot foot Control Panel in Java that I am designing right now. I do not have much trouble with it and it looks promissing :-) Updates of the code and more snapshots come soon ...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-8131671302199296007?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/8131671302199296007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/robot-foot-control-panelin-java-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8131671302199296007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8131671302199296007'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/robot-foot-control-panelin-java-for.html' title='Robot foot Control Panel(in Java) for the robot feet, version 0.01'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yFCWPawZNdA/TScdfsNNU-I/AAAAAAAABkE/rXZQxzoHQl4/s72-c/javaCode.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-5325094536434943295</id><published>2011-01-07T12:49:00.000+01:00</published><updated>2011-01-07T12:49:53.374+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Serial Communication'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Serial data transmission and problem with it being SLOW !!!</title><content type='html'>A while ago I was facing a problem reading some inputs from Serial Communication(USB port) in Arduino. The Arduino would work perfect(read all the inputs from Serial Communication&amp;nbsp;Window&amp;nbsp;as planned) if I was having my debug print outs but not if I would remove them(they also could be substituted by &lt;b&gt;&lt;i&gt;Delays&lt;/i&gt;&lt;/b&gt;) !!! I later tried to find out about them and here was the answer :&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 11px;"&gt;"Serial data transmission is slow. The Serial.print statement takes time, which allows time for more data to arrive.&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 11px;"&gt;&lt;b&gt;&lt;i&gt;You have two choices.&lt;/i&gt;&lt;/b&gt; Add a &lt;u&gt;delay&lt;/u&gt; statement to the while loop, and hope all the data arrives in time is the first choice. The longer you waste time waiting for data, the better your chances of it all arriving in time.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 11px;"&gt;The second choice is to add an&lt;u&gt; end-of-packet marker&lt;/u&gt;, and keep appending to temp until that end of packet marker arrives. Only use the data in temp when the end of packet marker has arrived.&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 11px;"&gt;The delay masks the issue of not being able to read a complete packet in one pass. &lt;b&gt;&lt;i&gt;If the delay is too small, the whole packet will not arrive before the delay(s) expire. If the delay is too large, you are just wasting time.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 11px;"&gt;The better approach is to add an end of packet marker to the packer, wo you can read the packet as quickly as possible.."&lt;/span&gt;&lt;/blockquote&gt;Source :&amp;nbsp;&lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1294185714/1#1"&gt;http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1294185714/1#1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-5325094536434943295?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/5325094536434943295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/serial-data-transmission-and-problem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5325094536434943295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5325094536434943295'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/serial-data-transmission-and-problem.html' title='Serial data transmission and problem with it being SLOW !!!'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-625198330451444557</id><published>2011-01-07T12:41:00.005+01:00</published><updated>2011-01-07T12:44:38.587+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Serial Communication'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>RxTx API, Java</title><content type='html'>By clicking on the following link you can have access to the full directory of RxTx library API's in Java :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://users.frii.com/jarvi/rxtx/doc/index.html"&gt;http://users.frii.com/jarvi/rxtx/doc/index.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-625198330451444557?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/625198330451444557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/rxtx-api.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/625198330451444557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/625198330451444557'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/rxtx-api.html' title='RxTx API, Java'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-121105200315055229</id><published>2011-01-06T01:46:00.000+01:00</published><updated>2011-01-06T01:46:12.241+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>Encoders &amp; Cycles 2, All DC motors are monitored now -&gt; All_Encoders.pde</title><content type='html'>This code can monitor the changes in cycles of all the DC motors used in the robot feet.&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;// Encoders inputsbyte pinEncA[] = {7,5,3}; // digital inputsbyte pinEncB[] = {6,4,2}; // digital inputs// MOTOR OUTPUTSbyte pinDir[] = {13,8,12}; // digital output, controls direction for motor nr. [x]byte pinPwm[] = {10,11,9}; // analog output, controls motor speed, nr. [x]//Global variablesint readValue;int pwmValue;int motorDir;//int channelA = 2;//int channelB = 3;int cycle[] = {0, 0, 0};boolean f = false, b = false, r = false, l = false;byte cyclecounter[] = {0, 0, 0};byte cyclecounterold[] = {0, 0, 0};//13 , 10 right, down//8 , 11 middle, top//9, 12 left, downvoid setup(){    Serial.begin(9600);  Serial.println("WELCOME TO C1S0");    for (int i=0; i &lt; 3; i++){    pinMode(pinDir[i], OUTPUT);    pinMode(pinPwm[i], OUTPUT);    //in case, just to be sure ...    digitalWrite(pinPwm[i], LOW);    // just in case to be sure    digitalWrite(pinDir[i], LOW);    pinMode(pinEncA[i], INPUT);    pinMode(pinEncB[i], INPUT);    digitalWrite(pinEncA[i], LOW);    digitalWrite(pinEncB[i], LOW);    cyclecounter[i] = 0;    cyclecounterold[i] = 0;  }//end of for  }//end of setup()void loop(){    commandCenter();    checkEncoder();}//end of loopvoid commandCenter(){  //variables  int temp = 0;  if ( Serial.available() &gt; 0 ){    readValue = Serial.read();    switch (readValue){      case 102 ://f -&gt; forward        Serial.println("*** Forward ***");        digitalWrite(pinDir[1], LOW);        digitalWrite(pinPwm[1], HIGH);        f = true;        b = false;        l = false;        r = false;        break;      case 98 ://b -&gt; back        Serial.println("*** Backward ***");        digitalWrite(pinDir[1], HIGH);        digitalWrite(pinPwm[1], HIGH);        f = false;        b = true;        l = false;        r = false;                break;      case 108 ://l -&gt; left        int temp_;        temp_ = 0;        if(Serial.available() &lt; 1)          ;          delay(5);          temp_ = Serial.read();        if (temp_ == 102){// -f          Serial.println("*** Left forward ***");          digitalWrite(pinDir[2], LOW);          digitalWrite(pinPwm[2], HIGH);        }//end of if        else if(temp_ == 98){// -b          Serial.println("*** Left backward ***");          digitalWrite(pinDir[2], HIGH);          digitalWrite(pinPwm[2], HIGH);        }        else Serial.println("*** NOTHING ***");        f = false;        b = false;        l = true;        r = false;        break;      case 114 ://r -&gt; right        int temp__;        temp__ = 0;        if(Serial.available() &lt; 0)          ;        delay(5);        temp__ = Serial.read();        if (temp__ == 102){// -f          Serial.println("*** Right forward ***");          digitalWrite(pinDir[0], LOW);          digitalWrite(pinPwm[0], HIGH);        }//end of if        else if(temp__ == 98){// -b          Serial.println("*** Right backward ***");          digitalWrite(pinDir[0], HIGH);          digitalWrite(pinPwm[0], HIGH);        }        f = false;        b = false;        l = false;        r = true;        break;      case 82 : //R-&gt;RESET        Serial.println("*** Resetting ***");        for (int i=0; i &lt; 3; i++){          digitalWrite(pinPwm[i], LOW);//Setting all PWM's to LOW          Serial.print("*** Cycle[");          Serial.print(i);          Serial.print("] = ");          Serial.println(cycle[i]);                  }//end of for        f = false;        b = false;        l = false;        r = false;        break;    }//end of switch    }   /*  if (f || b || r || l){    Serial.print("cycle[i]: ");    Serial.println(cycle[i]);  }//end of if  */}//end of commandCenter//int angleMaalt;void checkEncoder(){  int A;  int B;  int i;  for (i = 0; i &lt; 3; i++){      A = digitalRead(pinEncA[i]);      B = digitalRead(pinEncB[i]);          if ( (A==LOW) &amp;&amp; (B==LOW) )        cyclecounter[i] = 0;      else if ( (A==LOW) &amp;&amp; (B==HIGH) )        cyclecounter[i] = 1;      else if ( (A==HIGH) &amp;&amp; (B==HIGH) )        cyclecounter[i] = 2;      else if ( (A==HIGH) &amp;&amp; (B==LOW) )        cyclecounter[i] = 3;          if (cyclecounter[i] == 0){        Serial.print("CAME IN AS 0");         if ( cyclecounterold[i] == 0){            Serial.print("Case old is 0");         }         else if ( cyclecounterold[i] == 3){            //angleMaalt++;            Serial.println(cycle[i]);                        Serial.print("*** Changed cycle[");            Serial.print(i);            Serial.print("] = ");            cycle[i]--;            Serial.println(cycle[i]);            Serial.println("++++++");                        Serial.print("cyccleCounter is : ");            Serial.println(cyclecounter[i]);            Serial.print("cyccleCounterOld is : ");                          Serial.println(cyclecounterold[i]);          }          else if ( cyclecounterold[i] == 2){              Serial.println("Error reading from Encoder-");              Serial.println("cyclecounter[i]");              Serial.println(cyclecounter[i]);              Serial.println("cyclecounterold[i]");              Serial.println(cyclecounterold[i]);          }          else Serial.print("CRAP");      }      else if (cyclecounter[i] == 1){          /*if ( cyclecounterold[i] == 2)            angleMaalt--;          else if ( cyclecounterold[i] == 0)            angleMaalt++;          else*/ if ( cyclecounterold[i] == 3){              Serial.println("Error reading from Encoder--");              Serial.println("cyclecounter[i]");              Serial.println(cyclecounter[i]);              Serial.println("cyclecounterold[i]");              Serial.println(cyclecounterold[i]);          }      }      else if (cyclecounter[i] == 2){          /*if ( cyclecounterold[i] == 3)            angleMaalt--;          else if ( cyclecounterold[i] == 1)            angleMaalt++;          else*/ if ( cyclecounterold[i] == 0){              Serial.println("Error reading from Encoder---");              Serial.println("cyclecounter[i]");              Serial.println(cyclecounter[i]);              Serial.println("cyclecounterold[i]");              Serial.println(cyclecounterold[i]);          }      }      else if (cyclecounter[i] == 3){                 if (cyclecounterold[i] == 0){            //angleMaalt--;            Serial.println(cycle[i]);                        Serial.print("*** Changed cycle[");            Serial.print(i);            Serial.print("] = ");            cycle[i]++;            Serial.println(cycle[i]);            Serial.print("++++++");                        Serial.print("cyccleCounter is : ");            Serial.println(cyclecounter[i]);            Serial.print("cyccleCounterOld is : ");                          Serial.println(cyclecounterold[i]);          }          /*else if ( cyclecounterold[i] == 2)            angleMaalt++;*/          else if ( cyclecounterold[i] == 1){              Serial.println("Error reading from Encoder----");              Serial.println("cyclecounter[i]");              Serial.println(cyclecounter[i]);              Serial.println("cyclecounterold[i]");              Serial.println(cyclecounterold[i]);          }      }          cyclecounterold[i] = cyclecounter[i];  }//end of for}//end of checkEncoder()&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-121105200315055229?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/121105200315055229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/encoders-cycles-2-all-dc-motors-are.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/121105200315055229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/121105200315055229'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/encoders-cycles-2-all-dc-motors-are.html' title='Encoders &amp; Cycles 2, All DC motors are monitored now -&gt; All_Encoders.pde'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-7302984293476004003</id><published>2011-01-05T03:45:00.000+01:00</published><updated>2011-01-05T22:52:58.901+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>Encoders &amp; Cycles</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;Tonight(or better say this morning at 4:00 a.m.) I managed to make a code to finally count the cycles(it takes around 70 cycles for a motor to screw totally open)&amp;nbsp;that the&lt;b&gt;&lt;i&gt; &lt;a href="http://3.bp.blogspot.com/_yFCWPawZNdA/TSO3QC_snDI/AAAAAAAABjM/6I3pGqhkQYw/s1600/EncoderMedRotor.jpg"&gt;light fork encoder&lt;/a&gt;&lt;/i&gt;&lt;/b&gt; on this foot counts. This code is an alpha version which &lt;b&gt;&lt;i&gt;monitors just one of the &lt;a href="http://3.bp.blogspot.com/_yFCWPawZNdA/TSO3K6mlgKI/AAAAAAAABjE/4MPCRnyMoV8/s1600/actuatorPinoutPix.jpg"&gt;DC motors&lt;/a&gt;&lt;/i&gt;&lt;/b&gt;(the one in the middle, motor with index "1" in the code).&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The&amp;nbsp;challenge&amp;nbsp;to discus here is a &lt;a href="http://walloid.blogspot.com/2011/01/external-interrupts-in-arduino-its.html"&gt;limitation in Arduino&lt;/a&gt; which I have discussed in my previous post here(few external interruption on Arduino ). Most Arduino boards, so do mine, have &lt;b&gt;&lt;i&gt;&lt;u&gt;just two external interruptions&lt;/u&gt;&lt;/i&gt;&lt;/b&gt; and this makes me not to use this method(which looks to be a perfect one) to monitor the changes on the pins received from the motor driver(&lt;a href="http://en.wikipedia.org/wiki/File:Quadrature_Diagram.svg"&gt;changes in A &amp;amp; B state from Motor driver which tells us about the current position of the DC motor connected to it&lt;/a&gt;). With external interruptions out of the picture the only way that I came to is to solve this with a software trick. I tried to monitor the changes sent from the encoder which is connected to a moving motors &lt;i&gt;as fast as I can&lt;/i&gt;. This is done by &lt;i&gt;&lt;u&gt;placing readFromEncoder() method in loop() method&lt;/u&gt;&lt;/i&gt; which repeats pretty fast and up to now has given satisfactory results. Check the code down here :&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_yFCWPawZNdA/TSPa60_Y-iI/AAAAAAAABjk/9K7S5bS-QfQ/s1600/IMAG1306.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://2.bp.blogspot.com/_yFCWPawZNdA/TSPa60_Y-iI/AAAAAAAABjk/9K7S5bS-QfQ/s320/IMAG1306.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;// Encoders inputs&lt;br /&gt;byte pinEncA[] = {7,5,3}; // digital inputs&lt;br /&gt;byte pinEncB[] = {6,4,2}; // digital inputs&lt;br /&gt;&lt;br /&gt;// MOTOR OUTPUTS&lt;br /&gt;// digital output, controls direction for motor nr. [x]&lt;br /&gt;byte pinDir[] = {13,8,12}; &lt;br /&gt;// analog output, controls motor speed, nr. [x]&lt;br /&gt;byte pinPwm[] = {10,11,9}; &lt;br /&gt;&lt;br /&gt;//Global variables&lt;br /&gt;int readValue;&lt;br /&gt;int pwmValue;&lt;br /&gt;int motorDir;&lt;br /&gt;int cycle;&lt;br /&gt;&lt;br /&gt;boolean f = false, b = false, r = false, l = false;&lt;br /&gt;byte cycleCounter;&lt;br /&gt;byte cycleCounterOld;&lt;br /&gt;&lt;br /&gt;void setup(){&lt;br /&gt;  Serial.begin(9600);&lt;br /&gt;  Serial.println("WELCOME TO C1S0");  &lt;br /&gt;  for (int i=0; i &amp;lt; 3; i++){&lt;br /&gt;    pinMode(pinDir[i], OUTPUT);&lt;br /&gt;    pinMode(pinPwm[i], OUTPUT);&lt;br /&gt;    //in case, just to be sure ...&lt;br /&gt;    digitalWrite(pinPwm[i], LOW);&lt;br /&gt;    //in case, just to be sure ...&lt;br /&gt;    digitalWrite(pinDir[i], LOW); &lt;br /&gt;    pinMode(pinEncA[i], INPUT);&lt;br /&gt;    pinMode(pinEncB[i], INPUT);&lt;br /&gt;  }//end of for&lt;br /&gt;}//end of setup()&lt;br /&gt;&lt;br /&gt;void loop(){&lt;br /&gt;&lt;br /&gt;//  digitalWrite(pinDir[2], LOW);&lt;br /&gt;//  digitalWrite(pinPwm[2], HIGH);&lt;br /&gt;//  Serial.println("...");&lt;br /&gt;  //if ( Serial.available() &amp;gt; 0 )&lt;br /&gt;    commandCenter();&lt;br /&gt;    readFromEncoder();&lt;br /&gt;    //Serial.print("cycle: ");&lt;br /&gt;    //Serial.println(cycle);&lt;br /&gt;}//end of loop&lt;br /&gt;&lt;br /&gt;void commandCenter(){&lt;br /&gt;  //variables&lt;br /&gt;  int temp = 0;&lt;br /&gt;//  while (Serial.available() &amp;lt; 0)&lt;br /&gt;//    ;&lt;br /&gt;  if ( Serial.available() &amp;gt; 0 ){&lt;br /&gt;    readValue = Serial.read();&lt;br /&gt;    switch (readValue){&lt;br /&gt;      case 102 ://f -&amp;gt; forward&lt;br /&gt;        Serial.println("*** Forward ***");&lt;br /&gt;        digitalWrite(pinDir[1], LOW);&lt;br /&gt;        digitalWrite(pinPwm[1], HIGH);&lt;br /&gt;        f = true;&lt;br /&gt;        b = false;&lt;br /&gt;        l = false;&lt;br /&gt;        r = false;&lt;br /&gt;        break;&lt;br /&gt;      case 98 ://b -&amp;gt; back&lt;br /&gt;        Serial.println("*** Backward ***");&lt;br /&gt;        digitalWrite(pinDir[1], HIGH);&lt;br /&gt;        digitalWrite(pinPwm[1], HIGH);&lt;br /&gt;        f = false;&lt;br /&gt;        b = true;&lt;br /&gt;        l = false;&lt;br /&gt;        r = false;        &lt;br /&gt;        break;&lt;br /&gt;      case 108 ://l -&amp;gt; left&lt;br /&gt;        Serial.println("*** Left ***");&lt;br /&gt;        digitalWrite(pinDir[2], LOW);&lt;br /&gt;        digitalWrite(pinPwm[2], HIGH);&lt;br /&gt;        f = false;&lt;br /&gt;        b = false;&lt;br /&gt;        l = true;&lt;br /&gt;        r = false;        &lt;br /&gt;        break;        &lt;br /&gt;      case 114 ://r -&amp;gt; right&lt;br /&gt;        Serial.println("*** Right ***");&lt;br /&gt;        digitalWrite(pinDir[0], LOW);&lt;br /&gt;        digitalWrite(pinPwm[0], HIGH);&lt;br /&gt;        f = false;&lt;br /&gt;        b = false;&lt;br /&gt;        l = false;&lt;br /&gt;        r = true;&lt;br /&gt;        break;&lt;br /&gt;      case 82 : //R-&amp;gt;RESET&lt;br /&gt;        Serial.println("*** Resetting ***");&lt;br /&gt;        for (int i=0; i &amp;lt; 3; i++){&lt;br /&gt;          //Setting all PWM's to LOW&lt;br /&gt;          digitalWrite(pinPwm[i], LOW);&lt;br /&gt;        }//end of for&lt;br /&gt;        f = false;&lt;br /&gt;        b = false;&lt;br /&gt;        l = false;&lt;br /&gt;        r = false;&lt;br /&gt;        break;&lt;br /&gt;    }//end of switch  &lt;br /&gt;  } &lt;br /&gt;}//end of commandCenter&lt;br /&gt;&lt;br /&gt;int angleCount;&lt;br /&gt;&lt;br /&gt;void readFromEncoder(){&lt;br /&gt;  int A;&lt;br /&gt;  int B;&lt;br /&gt;&lt;br /&gt;  A = digitalRead(pinEncA[1]);&lt;br /&gt;  B = digitalRead(pinEncB[1]);&lt;br /&gt;  digitalWrite(13, A);&lt;br /&gt;&lt;br /&gt;  if ( (A==LOW) &amp;amp;&amp;amp; (B==LOW) )&lt;br /&gt;    cycleCounter = 0;&lt;br /&gt;  else if ( (A==LOW) &amp;amp;&amp;amp; (B==HIGH) )&lt;br /&gt;    cycleCounter = 1;&lt;br /&gt;  else if ( (A==HIGH) &amp;amp;&amp;amp; (B==HIGH) )&lt;br /&gt;    cycleCounter = 2;&lt;br /&gt;  else if ( (A==HIGH) &amp;amp;&amp;amp; (B==LOW) )&lt;br /&gt;    cycleCounter = 3;&lt;br /&gt;&lt;br /&gt;  switch(cycleCounter)&lt;br /&gt;  {&lt;br /&gt;  case 0:&lt;br /&gt;    if ( cycleCounterOld == 1)&lt;br /&gt;      angleCount--;&lt;br /&gt;    else if ( cycleCounterOld == 3){&lt;br /&gt;      angleCount++;&lt;br /&gt;      Serial.print("cycle: ");&lt;br /&gt;      Serial.println(cycle);&lt;br /&gt;      cycle--;&lt;br /&gt;    }&lt;br /&gt;    else if ( cycleCounterOld == 2){&lt;br /&gt;        Serial.println("Error reading from Encoder");&lt;br /&gt;        Serial.println("cycleCounter");&lt;br /&gt;        Serial.println(cycleCounter);&lt;br /&gt;        Serial.println("cycleCounterOld");&lt;br /&gt;        Serial.println(cycleCounterOld);&lt;br /&gt;    }&lt;br /&gt;    break;  &lt;br /&gt;&lt;br /&gt;  case 1:&lt;br /&gt;    if ( cycleCounterOld == 2)&lt;br /&gt;      angleCount--;&lt;br /&gt;    else if ( cycleCounterOld == 0)&lt;br /&gt;      angleCount++;&lt;br /&gt;    else if ( cycleCounterOld == 3){&lt;br /&gt;        Serial.println("Error reading from Encoder");&lt;br /&gt;        Serial.println("cycleCounter");&lt;br /&gt;        Serial.println(cycleCounter);&lt;br /&gt;        Serial.println("cycleCounterOld");&lt;br /&gt;        Serial.println(cycleCounterOld);&lt;br /&gt;    }&lt;br /&gt;    break;  &lt;br /&gt;&lt;br /&gt;  case 2:&lt;br /&gt;    if ( cycleCounterOld == 3)&lt;br /&gt;      angleCount--;&lt;br /&gt;    else if ( cycleCounterOld == 1)&lt;br /&gt;      angleCount++;&lt;br /&gt;    else if ( cycleCounterOld == 0){&lt;br /&gt;        Serial.println("Error reading from Encoder");&lt;br /&gt;        Serial.println("cycleCounter");&lt;br /&gt;        Serial.println(cycleCounter);&lt;br /&gt;        Serial.println("cycleCounterOld");&lt;br /&gt;        Serial.println(cycleCounterOld);&lt;br /&gt;    }&lt;br /&gt;    break;  &lt;br /&gt;&lt;br /&gt;  case 3:&lt;br /&gt;    if ( cycleCounterOld == 0){&lt;br /&gt;      angleCount--;&lt;br /&gt;      Serial.print("cycle: ");&lt;br /&gt;      Serial.println(cycle);&lt;br /&gt;      cycle++;&lt;br /&gt;    }&lt;br /&gt;    else if ( cycleCounterOld == 2)&lt;br /&gt;      angleCount++;&lt;br /&gt;    else if ( cycleCounterOld == 1){&lt;br /&gt;        Serial.println("Error reading from Encoder");&lt;br /&gt;        Serial.println("cycleCounter");&lt;br /&gt;        Serial.println(cycleCounter);&lt;br /&gt;        Serial.println("cycleCounterOld");&lt;br /&gt;        Serial.println(cycleCounterOld);&lt;br /&gt;    }&lt;br /&gt;    break;            &lt;br /&gt;  }&lt;br /&gt;  cycleCounterOld = cycleCounter;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_yFCWPawZNdA/TSPa7uuaxKI/AAAAAAAABjo/W84E1kro-Kg/s1600/IMAG1307.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://4.bp.blogspot.com/_yFCWPawZNdA/TSPa7uuaxKI/AAAAAAAABjo/W84E1kro-Kg/s320/IMAG1307.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The plan a head is to make a complete Arduino code that monitors all three motors and connect it to a Java code. Java code can communicate with Arudino through serial communication and monitors all the three motors, being able to report the current cycle that the motor is right now at.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-7302984293476004003?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/7302984293476004003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/encoders-cycles.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/7302984293476004003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/7302984293476004003'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/encoders-cycles.html' title='Encoders &amp; Cycles'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yFCWPawZNdA/TSPa60_Y-iI/AAAAAAAABjk/9K7S5bS-QfQ/s72-c/IMAG1306.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-513590328703289860</id><published>2011-01-05T02:24:00.000+01:00</published><updated>2011-01-05T02:24:51.154+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='External links'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino Technology'/><title type='text'>External interrupts in Arduino &amp; its limitations</title><content type='html'>&lt;h4 style="color: #e34c00; font-family: 'Lucida Sans', Lucida, Verdana, sans-serif; font-size: 14px; font-weight: normal !important; letter-spacing: 0.1em; line-height: 23px; margin-bottom: 5px;"&gt;Description&lt;/h4&gt;&lt;div style="font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 23px; margin-bottom: 0px; margin-top: 0px;"&gt;&lt;u style="color: #555555;"&gt;Specifies a function to call when an external interrupt occurs&lt;/u&gt;&lt;span class="Apple-style-span" style="color: #555555;"&gt;. Replaces any previous function that was attached to the interrupt. &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #555555;"&gt;Most Arduino boards have &lt;/span&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;two external interrupts&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="color: #555555;"&gt;: numbers 0 (on digital pin 2) and 1 (on digital pin 3). &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;The Arduino Mega has an additional four&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="color: #555555;"&gt;: numbers 2 (pin 21), 3 (pin 20), 4 (pin 19), and 5 (pin 18).&lt;/span&gt;&lt;/div&gt;&lt;div class="vspace" style="color: #555555; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 23px; margin-bottom: 0px; margin-top: 1.33em;"&gt;&lt;/div&gt;&lt;h4 style="color: #e34c00; font-family: 'Lucida Sans', Lucida, Verdana, sans-serif; font-size: 14px; font-weight: normal !important; letter-spacing: 0.1em; line-height: 23px; margin-bottom: 5px;"&gt;Parameters&lt;/h4&gt;&lt;div style="color: #555555; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 23px; margin-bottom: 0px; margin-top: 0px;"&gt;&lt;strong&gt;interrupt&lt;/strong&gt;: the number of the interrupt (&lt;em&gt;int&lt;/em&gt;)&lt;/div&gt;&lt;div class="vspace" style="color: #555555; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 23px; margin-bottom: 0px; margin-top: 1.33em;"&gt;&lt;/div&gt;&lt;div style="color: #555555; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 23px; margin-bottom: 0px; margin-top: 0px;"&gt;&lt;strong&gt;function&lt;/strong&gt;: the function to call when the interrupt occurs; this function must take no parameters and return nothing. This function is sometimes referred to as an&amp;nbsp;&lt;em&gt;interrupt service routine.&lt;/em&gt;&lt;/div&gt;&lt;div class="vspace" style="color: #555555; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 23px; margin-bottom: 0px; margin-top: 1.33em;"&gt;&lt;/div&gt;&lt;div style="color: #555555; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 23px; margin-bottom: 0px; margin-top: 0px;"&gt;&lt;strong&gt;mode&lt;/strong&gt;&amp;nbsp;defines when the interrupt should be triggered. Four contstants are predefined as valid values:&lt;/div&gt;&lt;ul style="color: #555555; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 23px; list-style-image: url(http://arduino.cc/en/pub/skins/arduinoUno/img/bullet.gif); list-style-position: inside; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-left: 10px;"&gt;&lt;li&gt;&lt;strong&gt;LOW&lt;/strong&gt;&amp;nbsp;to trigger the interrupt whenever the pin is low,&lt;/li&gt;&lt;li&gt;&lt;strong&gt;CHANGE&lt;/strong&gt;&amp;nbsp;to trigger the interrupt whenever the pin changes value&lt;/li&gt;&lt;li&gt;&lt;strong&gt;RISING&lt;/strong&gt;&amp;nbsp;to trigger when the pin goes from low to high,&lt;/li&gt;&lt;li&gt;&lt;strong&gt;FALLING&lt;/strong&gt;&amp;nbsp;for when the pin goes from high to low.&lt;/li&gt;&lt;/ul&gt;&lt;div class="vspace" style="color: #555555; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 23px; margin-bottom: 0px; margin-top: 1.33em;"&gt;&lt;/div&gt;&lt;h4 style="color: #e34c00; font-family: 'Lucida Sans', Lucida, Verdana, sans-serif; font-size: 14px; font-weight: normal !important; letter-spacing: 0.1em; line-height: 23px; margin-bottom: 5px;"&gt;Returns&lt;/h4&gt;&lt;div style="color: #555555; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 23px; margin-bottom: 0px; margin-top: 0px;"&gt;none&lt;/div&gt;&lt;div style="color: #555555; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 23px; margin-bottom: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;h4 style="color: #e34c00; font-family: 'Lucida Sans', Lucida, Verdana, sans-serif; font-size: 14px; font-weight: normal !important; letter-spacing: 0.1em; margin-bottom: 5px;"&gt;Example&lt;/h4&gt;&lt;pre style="margin-bottom: 0px; margin-top: 0px;"&gt;int pin = 13;&lt;br /&gt;volatile int state = LOW;&lt;br /&gt;&lt;br /&gt;void setup()&lt;br /&gt;{&lt;br /&gt;  pinMode(pin, OUTPUT);&lt;br /&gt;  attachInterrupt(0, blink, CHANGE);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop()&lt;br /&gt;{&lt;br /&gt;  digitalWrite(pin, state);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void blink()&lt;br /&gt;{&lt;br /&gt;  state = !state;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-top: 0px;"&gt;}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-513590328703289860?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/513590328703289860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/external-interrupts-in-arduino-its.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/513590328703289860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/513590328703289860'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/external-interrupts-in-arduino-its.html' title='External interrupts in Arduino &amp; its limitations'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-6669224691136710562</id><published>2010-11-17T08:36:00.002+01:00</published><updated>2011-01-13T01:32:54.983+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><category scheme='http://www.blogger.com/atom/ns#' term='Photos'/><title type='text'>Climbing robot, brain storming</title><content type='html'>&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;This project is an ongoing rapid prototype which is under development by Puya Afsharian &amp;amp; me …&lt;/div&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Requirements&amp;nbsp;:&lt;/strong&gt;&lt;/div&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;4 x step motor&lt;a href="http://www.shahabfm.com/wp-content/uploads/2010/11/IMAG1103.jpg" style="color: #2d83d5; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;&lt;img alt="" class="alignright size-medium wp-image-708" height="179" src="http://www.shahabfm.com/wp-content/uploads/2010/11/IMAG1103-300x179.jpg" style="border-bottom-color: rgb(231, 232, 230); border-bottom-left-radius: 4px 4px; border-bottom-right-radius: 4px 4px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(231, 232, 230); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(231, 232, 230); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(231, 232, 230); border-top-left-radius: 4px 4px; border-top-right-radius: 4px 4px; border-top-style: solid; border-top-width: 1px; float: right; margin-bottom: 4px; margin-left: 10px; margin-right: 0px; margin-top: 4px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;" title="Climbing robot, brain storming" width="300" /&gt;&lt;/a&gt;&lt;br /&gt;4 x El. Magnet&lt;br /&gt;1 x Arduino&lt;br /&gt;1 x Thin Aluminium plate&lt;/div&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Components :&lt;/strong&gt;&lt;/div&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Magnet #1&lt;br /&gt;Magnet #2&lt;br /&gt;Magnet #3&lt;/div&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Motor #1-1&lt;br /&gt;Motor #1-2&lt;br /&gt;Motor #2-1&lt;br /&gt;Motor #2-2&lt;/div&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Algorithm &amp;amp; states :&lt;/strong&gt;&lt;/div&gt;&lt;ul style="line-height: 18px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="list-style-position: outside; margin-bottom: 0px; margin-left: 2em; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Initial state :&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Mag. 1,2,3 -&amp;gt; ON&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Motor 11,12,21,22 -&amp;gt; OFF&lt;/li&gt;&lt;li style="list-style-position: outside; margin-bottom: 0px; margin-left: 2em; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Lift state :&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Mag3 -&amp;gt; OFF&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Mag 1,2 -&amp;gt; ON&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Motor 12, 22 -&amp;gt; CCW ON&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Mag3 -&amp;gt; ON&lt;/li&gt;&lt;li style="list-style-position: outside; margin-bottom: 0px; margin-left: 2em; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Move Up Right state :&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Mag2 -&amp;gt; OFF&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Motor 11 CW ON MAX&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Motor 12 &amp;nbsp;CW ON -&amp;gt; Vertical(Parallel with chassis)&lt;a href="http://www.shahabfm.com/wp-content/uploads/2010/11/IMAG1104.jpg" style="color: #2d83d5; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;&lt;img alt="" class="alignright size-medium wp-image-710" height="179" src="http://www.shahabfm.com/wp-content/uploads/2010/11/IMAG1104-300x179.jpg" style="border-bottom-color: rgb(231, 232, 230); border-bottom-left-radius: 4px 4px; border-bottom-right-radius: 4px 4px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(231, 232, 230); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(231, 232, 230); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(231, 232, 230); border-top-left-radius: 4px 4px; border-top-right-radius: 4px 4px; border-top-style: solid; border-top-width: 1px; float: right; margin-bottom: 4px; margin-left: 10px; margin-right: 0px; margin-top: 4px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;" title="brain storming" width="300" /&gt;&lt;/a&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Mag 2 -&amp;gt; ON&lt;/li&gt;&lt;li style="list-style-position: outside; margin-bottom: 0px; margin-left: 2em; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Move Up Left state :&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Mag1 -&amp;gt; OFF&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Motor 21 CW ON MAX&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Motor 12 &amp;nbsp;CW ON -&amp;gt; Vertical(Parallel with chassis)&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Mag 1 -&amp;gt; ON&lt;/li&gt;&lt;/ul&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;and again to Lift state&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-6669224691136710562?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/6669224691136710562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/11/climbing-robot-brain-storming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/6669224691136710562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/6669224691136710562'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/11/climbing-robot-brain-storming.html' title='Climbing robot, brain storming'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-1456588546074373647</id><published>2010-09-05T01:15:00.000+02:00</published><updated>2011-01-05T03:47:29.153+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><category scheme='http://www.blogger.com/atom/ns#' term='Photos'/><title type='text'>New foot design details</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;I have&amp;nbsp;received&amp;nbsp;these along with the foot from my supervisor &lt;a href="http://www.robotikk.com/"&gt;Mats Høvin&lt;/a&gt;.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_yFCWPawZNdA/TSO3E0MaUiI/AAAAAAAABjA/QR-Cuh4SmjM/s1600/actuatorPinout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="289" src="http://4.bp.blogspot.com/_yFCWPawZNdA/TSO3E0MaUiI/AAAAAAAABjA/QR-Cuh4SmjM/s320/actuatorPinout.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Actuator Design&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_yFCWPawZNdA/TSO3K6mlgKI/AAAAAAAABjE/4MPCRnyMoV8/s1600/actuatorPinoutPix.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_yFCWPawZNdA/TSO3K6mlgKI/AAAAAAAABjE/4MPCRnyMoV8/s320/actuatorPinoutPix.jpg" width="148" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Encoders mounted on Motor jacket&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_yFCWPawZNdA/TSO3POnho7I/AAAAAAAABjI/eTwJR__4omw/s1600/controllerPinout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="211" src="http://3.bp.blogspot.com/_yFCWPawZNdA/TSO3POnho7I/AAAAAAAABjI/eTwJR__4omw/s320/controllerPinout.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;Arudino + Motor drivers&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_yFCWPawZNdA/TSO3QC_snDI/AAAAAAAABjM/6I3pGqhkQYw/s1600/EncoderMedRotor.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_yFCWPawZNdA/TSO3QC_snDI/AAAAAAAABjM/6I3pGqhkQYw/s320/EncoderMedRotor.jpg" width="314" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Encoder&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Source of all details is &lt;a href="http://www.robotikk.com/student/projects/klatreFisk/howTo/"&gt;www.robotikk.com&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-1456588546074373647?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/1456588546074373647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2011/01/new-foot-design-details.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1456588546074373647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1456588546074373647'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2011/01/new-foot-design-details.html' title='New foot design details'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_yFCWPawZNdA/TSO3E0MaUiI/AAAAAAAABjA/QR-Cuh4SmjM/s72-c/actuatorPinout.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-2916990879466517995</id><published>2010-08-03T16:57:00.001+02:00</published><updated>2011-01-05T03:47:56.391+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><category scheme='http://www.blogger.com/atom/ns#' term='Photos'/><title type='text'>New feet received</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_yFCWPawZNdA/TFguYOn3NMI/AAAAAAAABgk/VBJ68JVE79Q/IMAG0232.jpg"&gt;&lt;img src="http://lh4.ggpht.com/_yFCWPawZNdA/TFguYOn3NMI/AAAAAAAABgk/VBJ68JVE79Q/s400/IMAG0232.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="clear: both; font-size: xx-small; text-align: center;"&gt;Published with Blogger-droid v1.4.9&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;a href="http://www.robotikk.com/student/projects/klatreFisk/howTo/"&gt;More info&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-2916990879466517995?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/2916990879466517995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/08/new-feet-received.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2916990879466517995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2916990879466517995'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/08/new-feet-received.html' title='New feet received'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_yFCWPawZNdA/TFguYOn3NMI/AAAAAAAABgk/VBJ68JVE79Q/s72-c/IMAG0232.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-8554117501226388416</id><published>2010-07-16T11:53:00.000+02:00</published><updated>2010-07-16T11:53:56.632+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='External links'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><title type='text'>Found useful/inspiring designs on Youtube ...</title><content type='html'>Inspiring&amp;nbsp;:-)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=n99PbbntBOY"&gt;http://www.youtube.com/watch?v=n99PbbntBOY&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=naI-DpEBhmo"&gt;http://www.youtube.com/watch?v=naI-DpEBhmo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=BRm3pvuxXUc"&gt;http://www.youtube.com/watch?v=BRm3pvuxXUc&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-8554117501226388416?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/8554117501226388416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/07/found-usefulinspiring-designs-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8554117501226388416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8554117501226388416'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/07/found-usefulinspiring-designs-on.html' title='Found useful/inspiring designs on Youtube ...'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-1666882960183681792</id><published>2010-07-15T19:11:00.000+02:00</published><updated>2010-07-16T11:54:09.179+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><title type='text'>New feet design for walloid</title><content type='html'>&lt;div style="text-align: left;"&gt;As explained in the &lt;a href="http://walloid.blogspot.com/2010/07/new-feet-design-to-my-master-thesis.html"&gt;previous post&lt;/a&gt;, I received new robot design which is under development by &lt;b&gt;&lt;a href="http://heim.ifi.uio.no/~matsh/x/"&gt;Mats Høvin&lt;/a&gt;&lt;/b&gt; a while ago. While working on a summer-project which is highly related to my master thesis &amp;amp; receiving some tips discussing the new design with some friends*, I came up with &lt;i&gt;&lt;b&gt;some new ideas regarding climbing solutions&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;My idea is a very simple grip for each foot which gives the climbing robot the ability to hang on a nail(bolt) on the wall. The &lt;b&gt;curved(bent) part&lt;/b&gt; in the middle will be where the robot would grip the nail. I am thinking of using a &lt;b&gt;&lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8606"&gt;flex sensor&lt;/a&gt;&lt;/b&gt; there to&amp;nbsp;receive&amp;nbsp;a signal every time a foot is hanging to a bolt. Meaning if we want to &lt;i&gt;make a move at a time&lt;/i&gt;, before moving the foot, we should receive &lt;b&gt;4 bent resistor signals&lt;/b&gt; from the robot feet and while moving, all the way we should be receiving&amp;nbsp;&lt;b&gt;3&amp;nbsp;&lt;/b&gt;&lt;b&gt;bent&amp;nbsp;&lt;/b&gt;&lt;b&gt;resistor signals&lt;/b&gt; from other three remaining hanging feet.When we are finished with moving our foot to the new point of griping, we should again receive the 4th signal again ...&amp;nbsp;I am still working on this idea and going to discus it as soon as my supervisor is back from his holiday.&lt;br /&gt;*Thanks to my colleague Tarjei &amp;amp; my friend Magnus :-)&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_yFCWPawZNdA/TD9Bzf_2-VI/AAAAAAAABd4/ga6NdvH6P98/s1600/climbing+solution+1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_yFCWPawZNdA/TD9Bzf_2-VI/AAAAAAAABd4/ga6NdvH6P98/s320/climbing+solution+1.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;object height="385" width="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/vqdVV5BNHUo&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/vqdVV5BNHUo&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_yFCWPawZNdA/TD9BBA5o_sI/AAAAAAAABdY/mKDY3ef5Pbo/s1600/climbing+solution+3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_yFCWPawZNdA/TD9BBA5o_sI/AAAAAAAABdY/mKDY3ef5Pbo/s320/climbing+solution+3.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;For more snapshots click read more ...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_yFCWPawZNdA/TD9B5yihimI/AAAAAAAABeQ/EDZ4RGIs8uw/s1600/climbing+solution+5.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_yFCWPawZNdA/TD9B5yihimI/AAAAAAAABeQ/EDZ4RGIs8uw/s320/climbing+solution+5.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_yFCWPawZNdA/TD9B0g3nsWI/AAAAAAAABeA/VG6CFEyyYZE/s1600/climbing+solution+2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_yFCWPawZNdA/TD9B0g3nsWI/AAAAAAAABeA/VG6CFEyyYZE/s320/climbing+solution+2.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_yFCWPawZNdA/TD9B2ZneMtI/AAAAAAAABeI/X0R-WQA395E/s1600/climbing+solution+4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_yFCWPawZNdA/TD9B2ZneMtI/AAAAAAAABeI/X0R-WQA395E/s320/climbing+solution+4.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_yFCWPawZNdA/TD9B6u5i_9I/AAAAAAAABeY/E-KgvUeWPrQ/s1600/climbing+solution+6.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_yFCWPawZNdA/TD9B6u5i_9I/AAAAAAAABeY/E-KgvUeWPrQ/s320/climbing+solution+6.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-1666882960183681792?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/1666882960183681792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/07/new-feet-design-for-walloid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1666882960183681792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1666882960183681792'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/07/new-feet-design-for-walloid.html' title='New feet design for walloid'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yFCWPawZNdA/TD9Bzf_2-VI/AAAAAAAABd4/ga6NdvH6P98/s72-c/climbing+solution+1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-4461055545495254351</id><published>2010-07-13T16:52:00.000+02:00</published><updated>2010-07-16T11:54:23.147+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><category scheme='http://www.blogger.com/atom/ns#' term='External links'/><title type='text'>New design received from Mats</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;I have received new robot design, plus new motor designs from Mats Høvin(my supervisor). Right now I am working on two things at the same time. One is the new motor design which is used in this chassis and at the same time I am working on Mats design to develop a&amp;nbsp;&lt;b&gt;grip(feet)&lt;/b&gt; for this chassis. I have came up with some ideas that will soon be posted here ...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Down here you see the Mats Høvin chassis for the climbing robot :&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://heim.ifi.uio.no/~matsh/x/e2/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="195" src="http://heim.ifi.uio.no/~matsh/x/e2/1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;New chassis designed by Mats&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://heim.ifi.uio.no/~matsh/x/e2/2.jpg"&gt;&lt;img border="0" height="182" src="http://heim.ifi.uio.no/~matsh/x/e2/2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;New Motor designed by Mats&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://heim.ifi.uio.no/~matsh/x/e2/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://heim.ifi.uio.no/~matsh/x/e2/3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;New Motor chassis designed by Mats, &lt;b&gt;printed in 3D printer&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-4461055545495254351?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/4461055545495254351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/07/new-feet-design-to-my-master-thesis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4461055545495254351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4461055545495254351'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/07/new-feet-design-to-my-master-thesis.html' title='New design received from Mats'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-3953957729847776271</id><published>2010-07-13T12:23:00.000+02:00</published><updated>2010-07-13T12:26:31.845+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><title type='text'>LATEST NEWS, Working on summer project which is highly related to my thesis</title><content type='html'>Right now I am&amp;nbsp;leading&amp;nbsp;a team consist of 7 students, doing a summer-project called &lt;a href="http://supercrawler.blogspot.com/"&gt;&lt;b&gt;Super Crawler&lt;/b&gt;&lt;/a&gt;(a tank-type robot which roles around with the belt) at &lt;b&gt;&lt;a href="http://robotica.ifi.uio.no/"&gt;Robotica Osloensis&lt;/a&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;(Robotics student community at university of Oslo)&lt;/span&gt;&lt;/b&gt;. My team and I have gained many new experiences(&lt;b&gt;&lt;i&gt;reverse engineering techniques, Programming different motors to work with Arudino boards in C, Communicating with Arduino borads with Java on Serial communication port, signal processing, etc&lt;/i&gt;&lt;/b&gt;) and have developed &amp;nbsp;different codes for our&amp;nbsp;purposes. You can read all about it, see the photos &amp;amp; videos and have direct access to our codes on our &lt;a href="http://robotica.ifi.uio.no/forum/viewtopic.php?f=8&amp;amp;t=5"&gt;&lt;b&gt;project worklog&lt;/b&gt;&lt;/a&gt;. I have also added a RSS-reader on the right side of this weblog about latest news on Super Crawler project ...&lt;br /&gt;&lt;br /&gt;&lt;i&gt;These experiences &lt;/i&gt;would help me a lot in future development of my climbing robot, &lt;b&gt;&lt;i&gt;Walloid&lt;/i&gt;&lt;/b&gt; :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-3953957729847776271?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/3953957729847776271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/07/latest-news-working-on-summer-project.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3953957729847776271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3953957729847776271'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/07/latest-news-working-on-summer-project.html' title='LATEST NEWS, Working on summer project which is highly related to my thesis'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-4294947781605183103</id><published>2010-06-11T09:49:00.001+02:00</published><updated>2010-06-15T17:21:32.414+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><title type='text'>Category-partition Testing</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Testing, Verification &amp;amp; Validation&lt;br /&gt;X Robot families&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;INF4290&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Semester Project Report&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;Title : Testing of a X family Robots&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Akbar Faghihi Moghaddam - (Shahab)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;TABLE OF CONTENTS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="writely-toc" id="WritelyTableOfContents" toctype="decimal+disc"&gt;&lt;ol class="writely-toc-decimal"&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;INTRODUCTION&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;BACKGROUND&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;DESIGN OF CASE STUDY&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;ol class="writely-toc-disc writely-toc-subheading" style="margin-left: 0;"&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;The SUT&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;The System Specification&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;Testing Phase&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;ol class="writely-toc-disc writely-toc-subheading" style="margin-left: 0;"&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;Enable / Disable Motor&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;Restart&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;Rotation of the robot arm&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;ol class="writely-toc-disc writely-toc-subheading" style="margin-left: 0;"&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;Base Choice(BC)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;Each Choice(EC)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;All combinations (AC)&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;ANALYSIS OF THE RESULT&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;LESSONS LEARNED AND OPEN ISSUES&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #b45f06;"&gt;REFERENCES&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: 24px; font-weight: bold;"&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;INTRODUCTION&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;This is my semester project in testing and verification in INF4290 course(Testing, Verification &amp;amp; Validation) at institute for informatics at university of Oslo. The semester project is &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;supposed to apply some of the testing techniques &lt;img src="http://docs.google.com/File?id=ddv9bbz2_135g74vs3dh_b" style="float: right; height: 227.642px; margin-left: 1em; margin-right: 0px; width: 200px;" /&gt;to actual software and quantitatively compare techniques,assess drawbacks and advantages.&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt; My project is testing a system which is a robotic package solution, used in different projects here at institute of Informatics(IFI). The System Under Test(SUT) is a robotic solution of X family robots developed here at Robotics and Intelligent Systems(ROBIN) group. These solutions are designed to be used as the foundation of&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;master projects&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;and&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;other educational purposes&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;(INF3480, Introduction to Robotics). Three generations of X family robotic solutions has been developed by Mats Høvin up to now. You can see the X2 version of this family on the right side of the page. The X3 version is much smaller, with some design improvements, as the new 3D printer here at Robotic group allows us to print our designs in even smaller scales. The main goal of all of these designs are to rotate the jointed arms to reach to final point at the robots workspace.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;My interest in this particular project is because of its involvement in my own master thesis. My master project is a climbing robot, which will benefit from four X3 modules as the its arms. The reason of choosing this specific system as my SUT was to &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;deeply understand the functionality and the way it is developed through testing it&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;. Clearly another goal of this testing project is to&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;find the errors,&lt;/span&gt;&lt;/i&gt;&amp;nbsp;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;document and map them&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt; and &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;finally debug it later, &lt;/span&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-size: x-small;"&gt;as re-developing this system is a part of my master thesis&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;. It should be mentioned here that testing this system has given me a deep understanding of almost all the advantages and disadvantages of the SUT and has made me the right person to re-develop an error-free version of it in future. I also have plans of improving my own skills in testing and maybe having an improved version of this report as a part of my thesis. One of my goals here in this project was to have a deep understanding of the code and I would reach that by using White Box testing. This was not possible as is explained in detail later in Background part of this report.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;Here in this report I will be describing the challenges I have been facing writing this report. Challenges which made me at the end to set a side some of the choices I had and choose Black Box testing, category-partition as the right choice for this paper. The report is structured in a way to give a good description of the system itself, methods and techniques in details with test cases used to perform the functional testing and finally the results and analysis of the result which I reached through this test.&lt;/span&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="BACKGROUND_5476238140836358_11" name="BACKGROUND_5476238140836358_11"&gt;&lt;/a&gt;&lt;b&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;BACKGROUND&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h2&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;To my knowledge no one has ever written a report on testing the X family robots and this report is not only the first paper written about this product family, but generally testing as a separate work is not so usual at the Robotic group&lt;img src="http://docs.google.com/File?id=ddv9bbz2_136fxktthj8_b" style="float: right; height: 142.966px; margin-left: 1em; margin-right: 0px; width: 200px;" /&gt; here at IFI. I hope this paper can be the beginning of new point of view to robotic development here at ROBIN group. The decision to choose the right method for testing a robotic project was not easy at all. I have used several hours trying to find my way through lots of different choices I had in choosing a suitable SUT and the right method and tools for it(as the choices are simply too many for an unexperienced tester like me). For testing the functionality of my chosen SUT, I finally came up with &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;category-partition&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; technique of&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt; Black Box testing&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;. The reader might ask why not the others ? For example why not White Box testing which would give me more understanding of the code behavior as it is one of my intension choosing this SUT ? Why not model checking which is a suitable system for hardware testing ? Or simply why not Random Testing ?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;White Box Testing ?&lt;/span&gt;&lt;/b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;Not a good idea in this case ...&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;As I will describe in the part &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;"Design of the case study"&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; the programing language used at the SUT, is not a standard popular language. It is a kind of semi-C++ language developed for programing Micro controllers. After looking around for a while, I found out there is absolutely no tools that I can benefit automating test cases(e.g. JUnit for Java) and no extra gadget to give a coverage rate of the program traced by test cases(e.g. EclEmma plugin for Eclipse, again for Java). I was also thinking about making manual test cases that I could run on the code and developing a small program that can give an estimated coverage(like EclEmma) of the code traversed by the test cases. This was not possible because of &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;lack of time&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;. All difficulties running White Box testing, made me to look away from it.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Model Checking ? &lt;/span&gt;&lt;/b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;Perfect but not now ...&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;A perfect way to describe and test the hardware design. The problem rises when in our case some of the system specification should change to fit Model Checking needs for Boolean inputs. &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;This method can be one of my future report candidates.&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Black Box Testing ?&lt;/span&gt;&lt;/b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;The one I was looking for ...&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;I should underline that one of the reasons in choosing Black Box Testing method, is my lack of experience in testing which is limited to the lectures at this course. Black Box testing methods seems to be easier in concept than other methods that can get too complicated from time to time. The B.B. focuses on the functionality without really realizing all the technical parts, which is perfect for me as a person who is new to this concept(Micro controller programming).&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Random Testing ?&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;Could also be used, but was set a side because of lack of time to perform multiple tests ...&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;I have chosen B.B. testing, now what ? The definition says that goal of functional testing here is to find discrepancies between the&lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;actual behavior&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;of the implemented system’s function and the&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;desired behavior&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;as described in the&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;system’s functional specification&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;. Black-box method, treats the system as a "black-box". It designs test cases based on&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;inputs&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;outputs&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt; and &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;general functionalities as defined in requirements specification&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt; and does not care about object's internal structure. The method is just interested to determine&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;the correct or incorrect output&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;. This means that with choosing this method, I am not going to reach the goal of understanding the code of the SUT by testing it, but I will be testing the functionality of the system and how well it can do what it is supposed to do(system specification). Usually the functional testing can be derived from three sources which are the system specification, design information and the code itself. Although we have access to the code here, but we are going to&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;act like&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;that we do not have a clue about the internal structure(B.B. testing) of the program and we are just after checking the functionality of this system according to test cases designed based on system specification.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://docs.google.com/drawings/image?w=400&amp;amp;h=400&amp;amp;ac=1&amp;amp;id=sq5_QraDSRLlzU9N_vmaqtA&amp;amp;rev=44" /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;Before choosing category-partition in B.B. testing, I almost did half of the report based on Equivalence Class Testing, which was not a success. The problem lead from dividing system specification into equivalent classes that could naturally not be exclusive. Therefor with help from the lecture, I have chosen category-partition which &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;extends and combine Equivalence Class Testing, boundary value analysis&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;. At this technique the system is divided into individual “functions” that can be independently tested. The method identifies the parameters of each “function” and, for each parameter, identifies distinct categories. &amp;nbsp;The categories are further subdivided into choices in the same way as equivalence partitioning is applied. This method emphasizes both the specification coverage and the error detection aspects of testing.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://docs.google.com/drawings/image?w=401&amp;amp;h=401&amp;amp;ac=1&amp;amp;id=sJQtbT47t7PwP_i95DoW2eg&amp;amp;rev=38" /&gt;&lt;/div&gt;&lt;span style="font-size: x-small;"&gt;To do this we need to first have a clear idea about how the program functions and what is our System Specification and requirements to be able to decompose it into small test cases for category-partition. The SUT in this report is first divided into different functions, later categories and finally choices which are all described in details in "Design Of The Case Study".&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="DESIGN_OF_CASE_STUDY_265099556" name="DESIGN_OF_CASE_STUDY_265099556"&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;DESIGN OF CASE STUDY&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;&lt;span style="font-size: x-small;"&gt;In this part I am going to describe how the SUT functions in the first place and later I'll try to give a clear picture of the system specification. Afterward I am going to go through the details of how did I actually divided and conquered the actual problems I faced while using category-partition testing technique. Where I have divided the program into smaller functions and then functions to categories and choices. I will also explain in details the test cases and test tables with expected results and the actual results at the end of this section. The detailed presentation analysis of the test cases results &amp;nbsp;will be presented in the next part which is called &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;"Analysis Of The Result"&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;h3&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="The_SUT_8350571654736996_84935" name="The_SUT_8350571654736996_84935"&gt;&lt;/a&gt;&lt;span style="font-size: medium;"&gt;The SUT&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;All the X family robots are made of three different part :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;The controller program&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;The Electronics solutions&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;The Design&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;I'll try to give a brief description of each part here :&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;C&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;ontroller Program&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;The control program is a messy code which is an alpha version of the controller project and is under development right now as being used in different projects at ROBIN group. The code &amp;nbsp;is consist of &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;375 lines&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; of a w&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;iring&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;language, &lt;img src="http://docs.google.com/File?id=ddv9bbz2_137cc7ndpg9_b" style="float: right; height: 169.922px; margin-left: 1em; margin-right: 0px; width: 300px;" /&gt;which is&lt;/span&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;a &lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;semi-C++ &lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;family. As most of controllers do, the program is in charge of reading and writing data to the pins on the micro controller board and &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;its main goal is to rotate the arm with to a pre-defined angle&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;.&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;The main area of my focus in this report is the controller program.&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Electronics solutions&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;The main part of electronic solution behind this module is an &lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Arduino card.&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;An&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Arduino&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;is a single-board micro controller and a software suite for programming it. The hardware consists of a simple open hardware design for the controller with an Atmel AVR processor and on-board I/O support. The software(the language the controller is developed in) consists of a standard programming language and the boot loader that runs on the board. &amp;nbsp;The card is connected to the desired &lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;DC motor&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;through one&lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt; motor driver&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt; and an &lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;encoder&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt; which measures the angle traced by the motor shaft.&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Design&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;The design is by Mats Høvin, and is implemented in &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;SolidWorks 2009&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;. The design later was printed out in special plastic materials by 3D printer at Robin labs. One of the goals of the test can be to check &lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;if the design have anything to do with system failures&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;, but this was set a side because of &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;lack of time&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;.&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;Now that we have a clear picture of how the system is made and what is the main goal, maybe it is now time to picture the system specification.&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="System_Specification_776841224_060388438403606415" name="System_Specification_776841224_060388438403606415"&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: medium;"&gt;The System Specification :&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;The controller program does its job with the help of some inputs. It is supposed to receive a set of data and after adjusting itself to those received data, it should rotate to the &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;pre-defined angle&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;. This is the main goal of this controller program. These inputs are &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;angle, proportional constant, choosing the verboose mode, restarting on demand and the ability to turn the motor driver ON and OFF&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; while the system is still functional and the program controller is not terminated yet. After running the controller code, it prints the following &lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;welcome message on start-up &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;:&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Welcome to the X2 controller.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Variables :&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="color: red;"&gt;&lt;span style="font-size: x-small;"&gt;a = targetAngle&lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;&lt;span style="font-size: x-small;"&gt;, 16 bit signed integers, &lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;&lt;span style="font-size: x-small;"&gt;p = proportional constant&lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;&lt;span style="font-size: x-small;"&gt;, 8bit unsigned Byte&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Loop error is divided by p&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Commands :&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="color: red;"&gt;&lt;span style="font-size: x-small;"&gt;V - Verboose ON / Very verboose ON (ASCII modes)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="color: red;"&gt;&lt;span style="font-size: x-small;"&gt;v - Verboose OFF (binary modes)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="color: red;"&gt;&lt;span style="font-size: x-small;"&gt;m - Toggle motor enable&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="color: red;"&gt;&lt;span style="font-size: x-small;"&gt;r - Restarts the system&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a1234 - sets target angle&lt;/span&gt;&lt;span style="color: red;"&gt;&lt;span style="font-size: x-small;"&gt;(-360 - +360)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;p123 - sets prop constant p&lt;/span&gt;&lt;span style="color: red;"&gt;&lt;span style="font-size: x-small;"&gt;(1-255)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Verboose ON&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;Without having any previous knowledge of the code, the welcome message gives us the following information about the inputs. Now we know that it is giving us the following choices :&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;"a" which stands for angle :&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;According to welcome message, angle is defined as a &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;16 bit signed integer(-32767 - +32766)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;, but &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;limited to -360 to +360&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; in the program specification&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;"p" which stands for proportional constant :&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;According to welcome message, p is defined as a &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;8 bit unsigned Byte(0-255)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;, but &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;limited to 1 to 255&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; in the program specification&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;"V/v" for Verboose mode&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; which makes the system to operate in verboose mode, meaning it will print lots of feedback from the system rotating.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;"m"&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; which turns the motor driver &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;ON and OFF&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;"r"&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; which &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;restart&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; the whole system.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;The program after receiving inputs is ready to start the rotation. The angle and proportional constant values would be processed first and then a signal would be sent to the Arduino micro-controller. The micro controller sends the new commands to the motor driver and the driver would steer the motor according to the received input. Finally the motor would rotate to the desired angle, but this is done under &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;special conditions&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;, which means the angle should be given in the &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;range(between -360 and +360)&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt; and the proportional constant should be given according to the type of motor which is used. So here is our clear system specification :&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;The program receives the angle(&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;16 bit signed integer&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;) and proportional constant(&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;8 bit unsigned Byte&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;). After receiving these two inputs, it is ready to start rotating. The rotation can happen in two different modes(Verboose/NON verboose mode). On demand the user can choose to turn OFF an ON the motor driver without terminating the program and there is also a function available for Restarting the system.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://docs.google.com/drawings/image?w=600&amp;amp;h=600&amp;amp;ac=1&amp;amp;id=sxST3I8L4SZuLS4hg_waYTw&amp;amp;rev=165" /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;I should mention that in this report I decided to set aside the Verboose functionality as the only thing it does is to print some feedback information from the motor driver.&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="Testing_Phase_8553215563297272_825695214793086" name="Testing_Phase_8553215563297272_825695214793086"&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: medium;"&gt;Testing Phase&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;To reach the goal of our functional testing, we should test all the system functions and tests should be designed in a way to maximize the chance of finding errors in the software. As category-partition does, in this phase I have both covered the &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;specification coverage&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; and &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;error detection aspect&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; of testing. Down here I am trying to &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;decompose the system specification into functional units&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; which can be tested &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;independently&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;. The controller program can do the following tasks which here at category-partition technique we call them &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;functions.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;The Program Functions are :&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Enable/Disable Motor&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Restart&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Rotation of the robot arm&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h4&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="Enable_Disable_Motor_240856063_6446448527276516" name="Enable_Disable_Motor_240856063_6446448527276516"&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Enable / Disable Motor&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;&lt;span style="font-size: x-small;"&gt;Enable / Disable motor function is performed with entering "m" as input in the program. This will enable or disable motor driver and it is guessed that we are facing a Boolean type variable(True or False). The motor driver is turned ON with entering m for the odd(1,3,5,...) number of timers, while it will be turned OFF with entering m it even(2,4,6,...) number of times. In this function we have just one parameter and the parameter is a Boolean value. There are two categories for this parameter :&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Motor driver in disabled mode&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Motor driver in enabled mode&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;Our only choice for each of these two categories is to check and see if the system performs as it should and there is no malfunction. The expected behavior is to see that the motor does not respond as it is in the disabled mode and respond to our orders as soon as it enters the enabled mode. We can generalize this with saying that if the m is pressed&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;table bgcolor="#eeeeee" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" id="ddba" style="text-align: center;"&gt;&lt;tbody&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Category&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Choices&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Motor driver in enabled mode&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;span style="font-size: x-small;"&gt;m&lt;br /&gt;(is entered for the &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2*N+1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;(odd) time)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Motor driver in disabled mode&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;span style="font-size: x-small;"&gt;m&lt;br /&gt;(is entered for the &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2*N&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;(even) time)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Formal Test Specification :&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;m is pressed for the &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;(2*N)+1 &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;time&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;m is pressed for the&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;(2*N)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;time&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;table bgcolor="#eeeeee" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" id="bj-u" style="text-align: center;"&gt;&lt;tbody&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;#&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Test Case&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Details&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Expected Result&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Result&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;1&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;m1&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;m is pressed for odd number of times&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The motor is turned ON&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;The motor is turned ON&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;m2&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;m is pressed for even number of times&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The motor is turned OFF&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;The motor is turned OFF&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;h4&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="Restart_9008100386708975_28351" name="Restart_9008100386708975_28351"&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Restart&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;&lt;span style="font-size: x-small;"&gt;The restart function is performed with entering "r" and according to program help, &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;it should restart all the inputs and &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;set the current degree to zero&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;. The implementation of this function with one Boolean parameter leaves us again with two types of categories. The one where "r" is entered and the one where "r" is not entered :&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;"r" is entered and the system has restarted&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;"r" is not entered and the system info should not be restarted&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;The only choice for each category is to check if the current angle is actually set to 0 after restarting.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;table bgcolor="#eeeeee" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" id="xxhp" style="text-align: center;"&gt;&lt;tbody&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Category&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Choices&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;System is Restarted&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;"r"&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; is entered&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;System is not Restarted&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;"r"&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; is NOT entered&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Formal Test Specification :&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;r is pressed&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;r is &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;NOT&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; pressed&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;table bgcolor="#eeeeee" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" id="bqv6" style="text-align: center;"&gt;&lt;tbody&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;#&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Test Case&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Details&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#eeeeee" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Expected Result&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Result&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;1&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;r1&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;r is pressed&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#eeeeee" style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The system restarts and the current angle is equal with 0&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;The system restarts and the current angle is equal with 0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;r2&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;r is not pressed&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#eeeeee" style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The system continue to work as expected in system specification with its previous current angle&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;The system &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;continue to work&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt; as expected in system specification with its previous current angle&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="Rotation_of_the_robot_arm_0588_5839795712381601" name="Rotation_of_the_robot_arm_0588_5839795712381601"&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Rotation of the robot arm&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;The goal of this function which is the main goal of the whole system, is the most important function. This implementation allows the program to move(rotate) the robot arm to a pre-defined angle(input a). The function should be able to rotate the robot arm to the desired angle, with desired proportional constant. There are two parameters for this function, which are :&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Angle (Entered as a#)&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Proportional constant (Entered as p#)&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div id="zqn2" style="text-align: center;"&gt;&lt;img src="http://docs.google.com/File?id=ddv9bbz2_129tg7jjfgm_b" style="height: 256.115px; width: 400px;" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;The categories for the &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;first parameter(angle)&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;based on the format of input, our information from the system specification and the system environment can be divided into following categories :&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Inside the range ( -360 to +360 )&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Out of the range&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Less than 4 digit input&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Invalid input&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;The choices we would have for the mentioned categories of angle parameter are as followed :&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;table bgcolor="#eeeeee" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" id="o43s" style="text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Category&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Choices&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Inside the range ( -360 to +360 )&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;span style="font-size: x-small;"&gt;-360, [-359 - +359], +360&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Out of the range&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;span style="font-size: x-small;"&gt;-361, +361&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Less than 4 digit input&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;span style="font-size: x-small;"&gt;One digit, Two digits, Three digits&lt;br /&gt;(16 bit signed integer permits 5 digits, but here we do not include five digits as the test case wont be exclusive&amp;nbsp; anymore-&lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;intersection with "Out of range" category&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Invalid input&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;span style="font-size: x-small;"&gt;a&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;(NULL)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; , a_, a1z2b, ...&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size: x-small;"&gt;The categories for the second &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;parameter(proportional constant)&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;again based on the format of input, our information from the system specification and the system environment can be divided into following categories :&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Inside the range ( 1-255 )&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Out of the range&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Less than 3 digit input&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Invalid input&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;The choices we would have for the mentioned categories of angle parameter are as followed :&lt;/span&gt;&lt;/div&gt;&lt;table bgcolor="#eeeeee" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" id="g8x6" style="text-align: center;"&gt;&lt;tbody&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Category&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Choices&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Inside the range ( 1-255 )&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;span style="font-size: x-small;"&gt;+1, [+2 - +255), +255&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Out of the range&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;span style="font-size: x-small;"&gt;0&lt;br /&gt;(8 bit unsigned Byte which makes 0 - 255 our range, but the last element 255 is not out of range, so we do not have upper out of range)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Less than 3 digit input&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;span style="font-size: x-small;"&gt;One digit, Two digits&lt;br /&gt;(8 bit unsigned Byte does not permit more than 3 digits)&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Invalid input&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;span style="font-size: x-small;"&gt;p&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;(NULL)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;, p_, p12b, ...&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Formal Test Specification :&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;blockquote class="webkit-indent-blockquote" style="border: none; margin: 0 0 0 40px;"&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;Angle ( a ) :&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;ol&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;-361 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Error&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;-360 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Property p ok, rotate -360]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;-359 - +359 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Property p ok, rotates according to input angle]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;+ 360 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Property p ok, rotate +360]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;+ 361 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Error&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;a1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Property p ok, should rotate +1]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;a12 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Property p ok, should rotate +12]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;a123&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;[Property p ok, should rotate +123]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;a&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;NULL&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;/a&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;012z &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;[&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Error&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;]&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;blockquote class="webkit-indent-blockquote" style="border: none; margin: 0 0 0 40px;"&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;Proportional Constant ( p ) :&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;ol&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;0&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Error&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;1&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Property angle ok, regulates with p=1]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;2 - 254 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Property angle ok, regulates with input p]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;255&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Property angle ok, regulates with p=255]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;p1 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;[property angle ok, should regulate with p=1]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;p12 &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;[property angle ok, should regulate with p=12]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;p&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;NULL&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;/p0&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2z &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;[&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Error&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;]&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;h5&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="Base_Choice_BC_511654802598059" name="Base_Choice_BC_511654802598059"&gt;&lt;/a&gt;&lt;b&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Base Choice(BC)&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h5&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;This criterion is a &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;compromise&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;. &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;A base choice is&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;chosen for each category&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;, and &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;a first base test is formed by using&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;the base choice for each category&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;. The base choice is the &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;simplest&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;smallest &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;and&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;first&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;usually, also in this report. I should mention that in case of robust test cases(out of boundary), invalid input and test-spec of the environment(less than # number of digits), I have chosen not to combine them with other test cases as the result would be the same. This has reduced the number of test frames and spared much time and effort. This also applies in Each Choice and All Choice combinations.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;table bgcolor="#eeeeee" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" id="babg" style="text-align: center;"&gt;&lt;tbody&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;#&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Test Case&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Details&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Expected Result&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Actual Results&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;1&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a1&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +0361&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Not to accept the input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="font-size: x-small;"&gt;Did not to accept the input&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a3p3&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +0120, P Const = +010&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate 120 degrees with fine regulation&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;span style="color: #38761d;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Rotated 120 degrees with fine regulation&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;3&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a7&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +90&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should read 90 as input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program does not crash but registers wrong input value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;4&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a9&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +02by&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should handle the invalid input data&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program crashed&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;5&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;p1&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;P Const = 0&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should not accept p as zero&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program crashed / division by zero !!!&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;6&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;p6&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;P Const = 25&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should read 25 as input&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program does not crash but registers wrong input value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;7&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;p7&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;P Const = zbm&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should handle the invalid input data&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;crashed&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Result&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; : Number of test cases which failed to succeed after running the &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;Base Choice category-partition&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt; are &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;5 out of 7&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; test cases.&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;Base Choice&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt; is the first try on testing the program can margins where the errors can be found. For example in our case we can see that the errors are found on&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;invalid inputs&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;p=zbm&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;instead of a number)&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;format of entered input&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;(less than #number of digits&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;angle = +25 instead of +0025&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;) and the values around the boundaries on robust testing(&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;p=0&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;which is the lower boundary&amp;nbsp; of proportional constant) .&lt;/span&gt;&lt;/div&gt;&lt;h5&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="Each_Choice_EC_66223971452564" name="Each_Choice_EC_66223971452564"&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Each Choice(EC)&lt;/span&gt;&lt;/b&gt;&lt;/h5&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;Each choice is &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;stronger than Base Choice, but weaker criterion&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;. &lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;One value from each choice for each category must be used at least in one test case&lt;/span&gt;&lt;/b&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-size: x-small;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;table bgcolor="#eeeeee" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" id="c5pr" style="text-align: center;"&gt;&lt;tbody&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;#&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Test Case&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Details&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Expected Result&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Actual Results&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;1&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a1&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = -0361&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Not to accept the input&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="font-size: x-small;"&gt;Did not to accept the input&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a2p3&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = -0360, P Const = +010&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate -360 degrees with fine regulation&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="font-size: x-small;"&gt;Rotated -360 degrees with fine regulation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;3&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a3p2&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +0120, P Const = +001&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate +120 degrees with fine regulation&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;Rotated around +120 degrees, but seems like&amp;nbsp;&lt;/span&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;precise&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;regulation at extreme low values fails -‌‌ Boundary Test&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;4&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a4p4&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +0075, P Const = +255&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate +75 degrees with fine regulation&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;Rotated around +75 degrees, but seems like &lt;/span&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;precise&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;regulation at extreme high values fails -‌‌ Boundary Test&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;5&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a5&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +0361&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Not to accept the input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="font-size: x-small;"&gt;Did not to accept the input&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;6&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a6&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +5&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should read 5 as input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program does not crash but registers wrong input value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;7&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a7&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +90&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program &amp;nbsp;should read 90 as input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program does not crash but registers wrong input value&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;8&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a8&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +270&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should read 270 as input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program does not crash but registers wrong input value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;9&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;a9&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +02by&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should handle the invalid input data&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program crashed&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;10&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;p1&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;P Const = 000&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should not accept p as zero&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program crashed / division by zero !!!&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;11&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;p5&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;P Const = +3&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should read 3 as input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program does not crash but registers wrong input value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;12&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;p6&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;P Const = +25&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should read 25 as input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program does not crash but registers wrong input value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;13&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;p7&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;P Const = zbm&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should handle the invalid input data&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#f4cccc" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program crashed&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;Result : Number of test cases which failed to succeed after running the&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;Each Choice category-partition&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;are&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt; 10 out of 13&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; test cases. The result from this part exactly confirms the results from the first try(Base Choice). Also we can see that the Each Choice has managed to find new kinds of errors which are &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;errors in regulation&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; at &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;boundary values of P(1 and 255)&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;h5&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="All_combinations_AC_8462516702" name="All_combinations_AC_8462516702"&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;All combinations (AC)&lt;/span&gt;&lt;/b&gt;&lt;/h5&gt;&lt;div&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;One value for every choice of every parameter&lt;/span&gt;&lt;/b&gt;&lt;/i&gt; &lt;i&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;must be used&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt; with one value of &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;every (possible) choice of every other category&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;table bgcolor="#eeeeee" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" id="e7xz" style="text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;#&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Test Case&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Details&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Expected Result&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Actual Results&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;1&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a1&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = -0361&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Not to accept the input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="font-size: x-small;"&gt;Did not to accept the input&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a2p2&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = -0360, P Const = +001&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate -360 degrees with fine regulation&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="font-size: x-small;"&gt;Rotated -360 degrees with fine regulation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;3&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a2p3&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = -0360, P Const = +010&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate -360 degrees with fine regulation&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="font-size: x-small;"&gt;Rotated -360 degrees with fine regulation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;4&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a2p4&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = -0360, P Const = +0255&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate -360 degrees with fine regulation&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;Rotated around -360 degrees, but seems like &lt;/span&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;precise&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;regulation at extreme high values fails -‌‌ Boundary Test&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;5&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a3p2&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +0045, P Const = +001&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate +45 degrees with fine regulation&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;Rotated around +45 degrees, but seems like&amp;nbsp;&lt;/span&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;precise&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;regulation at extreme low values fails -‌‌ Boundary Test&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;6&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a3p3&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +0075, P Const = +010&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate +75 degrees with fine regulation&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="font-size: x-small;"&gt;Rotated +75 degrees with fine regulation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;7&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a3p4&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +0125, P Const = +255&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate +125 degrees with fine regulation&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;Rotated around +125 degrees, but seems like &lt;/span&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;precise&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;regulation at extreme values fails -‌‌ Boundary Test&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;8&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a4p2&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +0360, P Const = +001&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate +360 degrees with fine regulation&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="font-size: x-small;"&gt;Rotated +360 degrees with fine regulation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;9&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a4p3&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +0095, P Const = +010&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate +95 degrees with fine regulation&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="font-size: x-small;"&gt;Rotated +95 degrees with fine regulation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;10&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a4p4&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +0360, P Const = 255&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;To rotate +360 degrees with fine regulation&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;Rotated around +360 degrees, but seems like precise regulation at extreme values fails -‌‌ Boundary Test&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;11&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a5&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +0361&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Not to accept the input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="font-size: x-small;"&gt;Did not to accept the input&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;12&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a6&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +5&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should read 5 as input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program does not crash but registers wrong input value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;13&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a7&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +90&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should read 90 as input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program does not crash but registers wrong input value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;14&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a8&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +270&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should read 270 as input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program does not crash but registers wrong input value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;15&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;a9&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;Angle = +02by&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should handle the invalid input data&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program crashed&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;16&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;p1&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;P Const = 000&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should not accept p as &amp;nbsp;zero&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program crashed / division by zero !!!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;17&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;p5&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;P Const = 3&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should read 3 as input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program does not crash but registers wrong input value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;18&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;p6&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;P Const = 25&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should read 25 as input&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program does not crash but registers wrong input value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;19&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;p7&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;P Const = zbm&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;span style="font-size: x-small;"&gt;The program should handle the invalid input data&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-size: x-small;"&gt;The program crashed&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;Result : Number of test cases which failed to succeed after running the&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;All Choices category-partition&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;are&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;12 out of 19 test cases&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;. All Choices has covered all the possible combinations and here we have even more errors, but it seems the errors result from the same source(categories) that we have found in Base Choice and Each Choice level.&lt;/span&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="ANALYSIS_OF_THE_RESULT_5115458" name="ANALYSIS_OF_THE_RESULT_5115458"&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;ANALYSIS OF THE RESULT&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;The analysis of the whole result of the category-partition testing is presented in this section. Here we have some charts showing the detailed numbers of test cases ran on the SUT, number of passed results and the failures. I also have made some charts showing the error ratio based on each category compared with the whole overall system.&lt;/span&gt;&lt;/div&gt;&lt;table bgcolor="#eeeeee" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" id="ffxm"&gt;&lt;tbody&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Function&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Method&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;All&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#b6d7a8" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Passed&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Failed&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Enable / Disable Motor&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Category-Partition&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#b6d7a8" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;0&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Restart&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Category-Partition&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#b6d7a8" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;0&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Rotation of the arm&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Category-Partition&lt;br /&gt;(All Choices)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;19&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#b6d7a8" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;7&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;12&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;SUM&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Category-Partition&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;23&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#b6d7a8" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;11&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="20%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;12&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Number of test cases in each function&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;span style="font-size: x-small;"&gt;As it can be seen here the whole number of test cases ran on the system(All Choices is just taken into consideration from the 3rd function) is 23 test cases which resulted in 11 passed cases and 12 failed. This brings &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;our overall error rate to 52.17%&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;My main focus on the result part is on the 3rd function which is rotation of the arm. This function is the most important part of the implementation and without it the whole system is not usable. Down here I have also gathered detailed results of the tests on this function(Rotation of the robot arm). Here we can see detailed number of test cases ran on the SUT and the result both in &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;numbers&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt; and &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;percentage of the failed rate&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;.&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;table bgcolor="#eeeeee" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" id="dz80"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Method&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;All&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#b6d7a8" style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Passed&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Failed&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Base Choice&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;7&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#b6d7a8" style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;5&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Each Choice&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;13&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#b6d7a8" style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;3&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;10&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;All Choices&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;19&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#b6d7a8" style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;7&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="25%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;12&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;Number of test cases in each of category-partition methods for &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Rotation of the robot arm&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt; function&lt;/span&gt;&lt;/div&gt;&lt;div align="left" style="text-align: left;"&gt;&lt;br /&gt;&lt;table bgcolor="#eeeeee" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" height="30%" id="a6:e"&gt;&lt;tbody&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Method&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Failed Percentage&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Base Choice&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;71.4 %&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Each Choice&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;76.9 %&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;All Choices&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor="#ea9999" style="text-align: center;" width="50%"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;63.1 %&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;Error rate in each of category-partition methods for&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Rotation of the robot arm&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;function&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div id="c4_0" style="text-align: center;"&gt;&lt;img src="http://docs.google.com/File?id=ddv9bbz2_131gf4b2dg4_b" style="height: 320px; width: 450px;" /&gt;&lt;/div&gt;&lt;span style="font-size: x-small;"&gt;As we can see in the statistics that the percentage of discovered errors first rises which looks normal as we have raised number of our test cases and found more errors while testing the faulty categories. This process does not continue when we compare Each Choice results with All Choices. Detailed information says that actually percentage of discovered errors fell from 76.9 down to 63.1 while we have added to the number of test cases testing all the categories. This does not look normal, but I think I have a good idea about what is happening. My explanation about this phenomenon is what I mentioned earlier,&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;where I mentioned that for saving time and effort(as done in the lecture) I have not done the Cartesian multiplication for invalid types and environment-spec test cases. While this might mis-lead us if we don't take what I mentioned earlier in consideration but this last results shows that the program works just fine doing what it is implemented for(with few errors on extreme values of proportional constant), rotating to the pre-defined angle, but has big issues when checking on invalid datatypes and system environment checks(flexibility in reading information from user in different numbers of digit, while it does not mention that the input data should have been in four digits). Error rates, while checking these categories mostly(Base Choice and Each Choice) can get to almost 77%. This is also confirmed by the results of Errors found pr. each category. As we can see in the chart down here the number of "in range" errors stays almost constant(the source was discovered in Each Choice) while it is being multiplied by all other choices in other categories, while others rise or stays constant as they have not been multiplied by other choices &amp;nbsp;in other categories like "in range".&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div align="left" style="text-align: left;"&gt;&lt;div id="dyun" style="text-align: center;"&gt;&lt;img src="http://docs.google.com/File?id=ddv9bbz2_132tsvhwbhc_b" style="height: 320px; width: 450px;" /&gt;&lt;/div&gt;&lt;div id="d0e9" style="text-align: left;"&gt;&lt;span style="font-size: x-small;"&gt;If we had done the&amp;nbsp; Cartesian multiplication in case of those faulty choices the number of errors in the "All Choices" method would get up to around 84 errors. which would make the previous chart to look like this :&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="bmw2" style="text-align: center;"&gt;&lt;div id="rdaz" style="text-align: center;"&gt;&lt;img src="http://docs.google.com/File?id=ddv9bbz2_133f38p7xfc_b" style="height: 320px; width: 450px;" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="5_LESSONS_LEARNED_AND_OPEN_ISS" name="5_LESSONS_LEARNED_AND_OPEN_ISS"&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;LESSONS LEARNED AND OPEN ISSUES&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;&lt;span style="font-size: x-small;"&gt;The lessons I learned from this project was that usually the errors do not happen in where the main focus is on(rotation in the normal workspace here), but happens on the boundaries(divisions by 0, malfunction in boundary values for sensitive variables), or when the input data is not expected(invalid type, or the wrong format). This can result either into huge differences in results or even terminating of the whole program which in big control programs can even result in loss of lives. In our case the program can not read +5 and it should be written +0005 !!! This is not mentioned anywhere in the help, or during running the program and can result into that the program reads the following input as 3049 !!! I am still not sure what I did in avoiding the Cartesian multiplication of the faulty categories was the right thing to do. I saw this in the page 37 of the INF4290 BB Testing and continued according to it. I can see that it saved me lots of time and effort, but changed the result of my report, which if not considered can mis-lead the reader. So at least for me still this is an open issuse that if these kind of glitches are acceptable in doing testing or I should have been more accurate ?!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;hr class="pb" /&gt;&lt;h2&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=7290913772622700580&amp;amp;postID=4294947781605183103" id="6_REFERENCES_6250803461298347__18216182198375463" name="6_REFERENCES_6250803461298347__18216182198375463"&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;REFERENCES&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Lectures of INF4290 - University of Oslo&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Software Testing - Writer Limaye- Publisher: McGraw-Hill - 0070139903, 9780070139909&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://www.cs.umd.edu/~atif/Teaching/Fall2003/Lectures/3.pdf" id="q29p" title="Lectures in Category-Partition testing"&gt;&lt;span style="font-size: x-small;"&gt;Lectures in Category-Partition testing&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: x-small;"&gt; -&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'times new roman';"&gt;&lt;a href="http://www.cs.umd.edu/~atif/Teaching/Fall2003/CMSC838M.html" id="ou2b" title="Advanced Topics in Software Testing Course"&gt;&lt;span style="font-size: x-small;"&gt;Advanced Topics in Software Testing Course&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;- University of Maryland&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://www.cs.tau.ac.il/~msagiv/courses/testing/seminar3.ppt" id="aqkh" title="Lectures in Category-Partition"&gt;&lt;span style="font-size: x-small;"&gt;Lectures in Category-Partition&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: x-small;"&gt; testing&amp;nbsp; -&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;a href="http://www.cs.tau.ac.il/" id="pup1" title="Tel Aviv University"&gt;Tel Aviv University&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://heim.ifi.uio.no/~matsh/x/" id="jcp6" title="The X family robots"&gt;The X family robots&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-4294947781605183103?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/4294947781605183103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/06/category-partition-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4294947781605183103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/4294947781605183103'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/06/category-partition-testing.html' title='Category-partition Testing'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-2087956057337535395</id><published>2010-05-05T22:32:00.000+02:00</published><updated>2010-05-05T22:32:17.657+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><title type='text'>Possible Designs #2, Walloid</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_yFCWPawZNdA/S-HVgrfbceI/AAAAAAAABaw/y4zlYh6vLEA/s1600/charger_path.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_yFCWPawZNdA/S-HVh7O83LI/AAAAAAAABa4/CfOlfMkw9ko/s1600/empty.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_yFCWPawZNdA/S-HVh7O83LI/AAAAAAAABa4/CfOlfMkw9ko/s320/empty.png" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_yFCWPawZNdA/S-HVjqrnntI/AAAAAAAABbA/eUipAavFNgY/s1600/empty2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_yFCWPawZNdA/S-HVjqrnntI/AAAAAAAABbA/eUipAavFNgY/s320/empty2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_yFCWPawZNdA/S-HVgrfbceI/AAAAAAAABaw/y4zlYh6vLEA/s1600/charger_path.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_yFCWPawZNdA/S-HVgrfbceI/AAAAAAAABaw/y4zlYh6vLEA/s320/charger_path.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-2087956057337535395?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/2087956057337535395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/05/possible-designs-2-walloid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2087956057337535395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/2087956057337535395'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/05/possible-designs-2-walloid.html' title='Possible Designs #2, Walloid'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yFCWPawZNdA/S-HVh7O83LI/AAAAAAAABa4/CfOlfMkw9ko/s72-c/empty.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-6921060069116540254</id><published>2010-05-05T14:14:00.000+02:00</published><updated>2010-05-05T14:21:37.077+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><title type='text'>Rope Climbing ...</title><content type='html'>&lt;b&gt;RIWEA: Robot for the Inspection of Wind Energy Converter Rotor Blades&lt;/b&gt;&lt;br /&gt;&lt;b&gt; The objective of the project&lt;/b&gt; was to develop novel technologies to  completely capture the condition of wind energy converter rotor blades.  Such state-of-the-art inspection methods as thermography, ultrasonics  and high resolution cameras in conjunction with innovative robots make a  reliable, objective and integrated analysis of blade condition  possible.&lt;br /&gt;Wind energy converter rotor blades must be inspected for damage at  regular intervals. Primarily made of glass fiber reinforced plastics,  rotor blades are one of a wind energy converter's most highly stressed  components.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Source : &lt;a href="http://www.iff.fraunhofer.de/en/iffdben/Produkt_detail.php?ProduktId=75"&gt;Fraunhofer&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-6921060069116540254?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/6921060069116540254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/05/prototype-this-human-climbs-cinderblock.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/6921060069116540254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/6921060069116540254'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/05/prototype-this-human-climbs-cinderblock.html' title='Rope Climbing ...'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-7689425323441406539</id><published>2010-04-29T11:04:00.001+02:00</published><updated>2010-04-29T11:04:25.130+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><title type='text'>Possible Design, Walloid</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_yFCWPawZNdA/S9lLhZpGF0I/AAAAAAAABaQ/qK1l7mFKZ7Q/s1600/robot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_yFCWPawZNdA/S9lLhZpGF0I/AAAAAAAABaQ/qK1l7mFKZ7Q/s320/robot.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-7689425323441406539?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/7689425323441406539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/04/possible-design-walloid_29.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/7689425323441406539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/7689425323441406539'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/04/possible-design-walloid_29.html' title='Possible Design, Walloid'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yFCWPawZNdA/S9lLhZpGF0I/AAAAAAAABaQ/qK1l7mFKZ7Q/s72-c/robot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-5113362602669546623</id><published>2010-04-27T12:17:00.001+02:00</published><updated>2010-05-05T14:18:34.510+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><title type='text'>Nano Tech, possible solution for Walloid ?</title><content type='html'>&lt;object height="326" width="446"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt;&lt;param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/RobertFull_2009-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/RobertFull-2009.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=571&amp;amp;introDuration=16500&amp;amp;adDuration=4000&amp;amp;postAdDuration=2000&amp;amp;adKeys=talk=robert_full_learning_from_the_gecko_s_tail;year=2009;theme=tales_of_invention;theme=evolution_s_genius;theme=animals_that_amaze;theme=speaking_at_ted2009;theme=inspired_by_nature;event=TED2009;&amp;amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/dynamic/RobertFull_2009-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/RobertFull-2009.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=571&amp;amp;introDuration=16500&amp;amp;adDuration=4000&amp;amp;postAdDuration=2000&amp;amp;adKeys=talk=robert_full_learning_from_the_gecko_s_tail;year=2009;theme=tales_of_invention;theme=evolution_s_genius;theme=animals_that_amaze;theme=speaking_at_ted2009;theme=inspired_by_nature;event=TED2009;"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;We can&amp;nbsp;clearly&amp;nbsp;see in this test that this kind of nano technology &lt;b&gt;&lt;i&gt;can operate carrying heavy weights(an adult human body)&lt;/i&gt;&lt;/b&gt;. If we can be sure that this solution would operate in &lt;i&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;wet &amp;amp;&amp;nbsp;extremely&amp;nbsp;cold condition&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;, can't this nano technology be a good start for Walloid ?&lt;br /&gt;Source : &lt;a href="http://ted.com/talks"&gt;Ted.com/talks&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/IpVB6gZrwdQ&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/IpVB6gZrwdQ&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-5113362602669546623?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/5113362602669546623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/04/nano-tech-possible-solution-for-walloid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5113362602669546623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/5113362602669546623'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/04/nano-tech-possible-solution-for-walloid.html' title='Nano Tech, possible solution for Walloid ?'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-1970974375273961119</id><published>2010-04-26T15:33:00.001+02:00</published><updated>2011-01-13T01:33:18.911+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><title type='text'>Possible electronic solution, walloid</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_yFCWPawZNdA/S9WVS4FTLRI/AAAAAAAABaA/Ch5FdL_U4JM/s1600/WalloidElectronics.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_yFCWPawZNdA/S9WVS4FTLRI/AAAAAAAABaA/Ch5FdL_U4JM/s400/WalloidElectronics.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;The whole idea is based on java program being able to steer the motors through Adruino cards. The java program would be run on an Linux OS on an Eee motherboard. As we have 12 motors for controlling the robot, we would be needing a USB hub with 12 outputs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-1970974375273961119?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/1970974375273961119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/04/possible-electronic-solution-walloid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1970974375273961119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1970974375273961119'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/04/possible-electronic-solution-walloid.html' title='Possible electronic solution, walloid'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yFCWPawZNdA/S9WVS4FTLRI/AAAAAAAABaA/Ch5FdL_U4JM/s72-c/WalloidElectronics.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-1988685631959797169</id><published>2010-04-22T23:59:00.000+02:00</published><updated>2010-04-22T23:59:02.516+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Streaming Solutions'/><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><title type='text'>Streaming solutions</title><content type='html'>&lt;a href="http://gstreamer.freedesktop.org/"&gt;http://gstreamer.freedesktop.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol"&gt;http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-1988685631959797169?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/1988685631959797169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/04/streaming-solutions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1988685631959797169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/1988685631959797169'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/04/streaming-solutions.html' title='Streaming solutions'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-3217486684215673038</id><published>2010-04-19T02:34:00.001+02:00</published><updated>2010-05-01T20:29:17.773+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><title type='text'>Table of Climbing Solutions</title><content type='html'>&lt;span style="font-size: medium;"&gt;&lt;span style="color: #45818e;"&gt;Climbing solutions :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#f3f3f3" border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" id="t7xn"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;&lt;b&gt;&lt;span style="color: red;"&gt;Solution&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;&lt;b&gt;&lt;span style="color: red;"&gt;Pros&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;&lt;b&gt;&lt;span style="color: red;"&gt;Cons&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Grip, Ring Bolt&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Low coast(path), Stable&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Path needed, High precision required, Unstable under special condition(under windy situation or even uncalculated torque the robot might loose stability)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td bgcolor="#f6b26b" style="text-align: center;" width="33.333333333333336%"&gt;Grip, Nail&lt;/td&gt;&lt;td bgcolor="#f6b26b" style="text-align: center;" width="33.333333333333336%"&gt;Low coast(path), Very stable&lt;/td&gt;&lt;td bgcolor="#f6b26b" style="text-align: center;" width="33.333333333333336%"&gt;Path needed, Relatively High precision required&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Nano tech, bio inspiered&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Path free, Relatively stable(in case of supported weight)&amp;nbsp;&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;High coast of producing the material, Question regarding weight issue(&lt;b&gt;&lt;a href="http://walloid.blogspot.com/2010/04/nano-tech-possible-solution-for-walloid.html"&gt;Some studies show they are reliable&lt;/a&gt;&lt;/b&gt;), If functional in &lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;extreme cold &amp;nbsp;and wet&lt;/span&gt;&lt;/b&gt; condition&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td bgcolor="#b6d7a8" style="text-align: center;" width="33.333333333333336%"&gt;Lock(IKEA type) itself to the wall&lt;/td&gt;&lt;td bgcolor="#b6d7a8" style="text-align: center;" width="33.333333333333336%"&gt;Relatively Low coast(path), Extra stable,&amp;nbsp;&lt;/td&gt;&lt;td bgcolor="#b6d7a8" style="text-align: center;" width="33.333333333333336%"&gt;Path needed, High precision required&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Suction cup&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Easy implementation, Path free&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;The path should be totally clear and glossy for the solution to work(unstable and fear of robot to fall)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Magnet, pre-path&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Low coast(path), Very stable, Path free(Platforms are made of metal variants)&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Path needed(depends on the materials that the workspace is made of), Extra power for 4xel. magnets, Unstable in special condition(in case of ice covering the magnet -&amp;gt; in design of platforms up to 10mm ice is considered in calculations)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Magnet, path builder&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Very stable, Path builder,&amp;nbsp;&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Extra arm for path building, Slow, Exact place on the path can not be screwed too many times, Extra power for 4xel. magnets, Unstable in special condition(in case of ice covering the magnet -&amp;gt; in design of platforms up to 10mm ice is considered in calculations)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Screw itself to the wall&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Extra stable&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;Exact place on the path can not be screwed too many times, Unstable in special condition(in case of ice covering the magnet -&amp;gt; in design of platforms up to 10mm ice is considered in calculations),&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;?Glue ?&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;?&lt;/td&gt;&lt;td style="text-align: center;" width="33.333333333333336%"&gt;?&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-3217486684215673038?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/3217486684215673038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/04/solution.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3217486684215673038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3217486684215673038'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/04/solution.html' title='Table of Climbing Solutions'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-8922938346819688955</id><published>2010-04-15T11:05:00.000+02:00</published><updated>2010-04-27T11:11:01.172+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><title type='text'>Early Design, Walloid</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_yFCWPawZNdA/S9aoUYCryyI/AAAAAAAABaI/l8Rm9em64X8/s1600/mobile.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_yFCWPawZNdA/S9aoUYCryyI/AAAAAAAABaI/l8Rm9em64X8/s320/mobile.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;The hardware design(X2 Module) designed by my supervisor&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;a href="http://www.ifi.uio.no/english/employees/matsh.html" style="color: #918e79; text-decoration: underline;"&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Mats&amp;nbsp;Høvin&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;. I have to start designing the end effector which will contain the solution for climbing.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Source &lt;/span&gt;&lt;/span&gt;: &lt;a href="http://robotikk.com/"&gt;robotikk.com&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-8922938346819688955?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/8922938346819688955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/04/possible-design-walloid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8922938346819688955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8922938346819688955'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/04/possible-design-walloid.html' title='Early Design, Walloid'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yFCWPawZNdA/S9aoUYCryyI/AAAAAAAABaI/l8Rm9em64X8/s72-c/mobile.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-8845673684294086913</id><published>2010-04-01T01:37:00.001+02:00</published><updated>2010-04-01T01:37:51.209+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><title type='text'>Some wild ideas about climbing feet</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Arial, Helvetica, Sans, FreeSans, Jamrul, Garuda, Kalimati; font-size: 12px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Some early wild drawings about how the climbing feet should look like, in case of using ring bolts …&lt;/div&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: center;"&gt;&lt;/div&gt;&lt;div class="wp-caption aligncenter" id="attachment_575" style="background-attachment: initial; background-clip: initial; background-color: #f7f7f7; background-image: initial; background-origin: initial; border-bottom-color: rgb(231, 232, 230); border-bottom-left-radius: 4px 4px; border-bottom-right-radius: 4px 4px; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(231, 232, 230); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(231, 232, 230); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(231, 232, 230); border-top-left-radius: 4px 4px; border-top-right-radius: 4px 4px; border-top-style: solid; border-top-width: 1px; color: #8d8b8b; display: block; margin-bottom: 4px; margin-left: auto; margin-right: auto; margin-top: 4px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 5px; text-align: center; width: 394px;"&gt;&lt;a href="http://www.shahabfm.com/wp-content/uploads/2010/03/robo_Page_4.jpg" style="color: #2d83d5; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;&lt;img alt="" class="size-full wp-image-575  " height="330" src="http://www.shahabfm.com/wp-content/uploads/2010/03/robo_Page_4.jpg" style="border-bottom-left-radius: 4px 4px; border-bottom-right-radius: 4px 4px; border-bottom-width: 0px; border-color: initial; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-style: initial; border-top-left-radius: 4px 4px; border-top-right-radius: 4px 4px; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Front feet, climbing robot" width="384" /&gt;&lt;/a&gt;&lt;div class="wp-caption-text" style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Front feet, climbing robot&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: center;"&gt;&lt;/div&gt;&lt;div class="wp-caption aligncenter" id="attachment_574" style="background-attachment: initial; background-clip: initial; background-color: #f7f7f7; background-image: initial; background-origin: initial; border-bottom-color: rgb(231, 232, 230); border-bottom-left-radius: 4px 4px; border-bottom-right-radius: 4px 4px; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(231, 232, 230); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(231, 232, 230); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(231, 232, 230); border-top-left-radius: 4px 4px; border-top-right-radius: 4px 4px; border-top-style: solid; border-top-width: 1px; color: #8d8b8b; display: block; margin-bottom: 4px; margin-left: auto; margin-right: auto; margin-top: 4px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 5px; text-align: center; width: 310px;"&gt;&lt;a href="http://www.shahabfm.com/wp-content/uploads/2010/03/robo_Page_3.jpg" style="color: #2d83d5; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;&lt;img alt="" class="size-full wp-image-574 " height="398" src="http://www.shahabfm.com/wp-content/uploads/2010/03/robo_Page_3.jpg" style="border-bottom-left-radius: 4px 4px; border-bottom-right-radius: 4px 4px; border-bottom-width: 0px; border-color: initial; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-style: initial; border-top-left-radius: 4px 4px; border-top-right-radius: 4px 4px; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Back foot" width="300" /&gt;&lt;/a&gt;&lt;div class="wp-caption-text" style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Back foot, climbing robot&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-8845673684294086913?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/8845673684294086913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/03/some-wild-ideas-about-climbing-feet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8845673684294086913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/8845673684294086913'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/03/some-wild-ideas-about-climbing-feet.html' title='Some wild ideas about climbing feet'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-3805389770668956477</id><published>2010-04-01T01:36:00.000+02:00</published><updated>2010-04-01T01:36:32.272+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Drawings'/><category scheme='http://www.blogger.com/atom/ns#' term='Climbing Solutions'/><title type='text'>Suction cup solution ...</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Arial, Helvetica, Sans, FreeSans, Jamrul, Garuda, Kalimati; font-size: 12px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Suction cup solution for a climbing robot and some early drawings ...&lt;/div&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: center;"&gt;&lt;/div&gt;&lt;div class="wp-caption aligncenter" id="attachment_577" style="background-attachment: initial; background-clip: initial; background-color: #f7f7f7; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(231, 232, 230); border-bottom-left-radius: 4px 4px; border-bottom-right-radius: 4px 4px; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(231, 232, 230); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(231, 232, 230); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(231, 232, 230); border-top-left-radius: 4px 4px; border-top-right-radius: 4px 4px; border-top-style: solid; border-top-width: 1px; color: #8d8b8b; display: block; margin-bottom: 4px; margin-left: auto; margin-right: auto; margin-top: 4px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 5px; text-align: center; width: 371px;"&gt;&lt;a href="http://www.shahabfm.com/wp-content/uploads/2009/10/suction_cups.png" style="color: #2d83d5; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;&lt;img alt="" class="size-full wp-image-577 " height="363" src="http://www.shahabfm.com/wp-content/uploads/2009/10/suction_cups.png" style="border-bottom-left-radius: 4px 4px; border-bottom-right-radius: 4px 4px; border-bottom-width: 0px; border-color: initial; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-style: initial; border-top-left-radius: 4px 4px; border-top-right-radius: 4px 4px; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Suction cup solution" width="361" /&gt;&lt;/a&gt;&lt;div class="wp-caption-text" style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Suction cup solution&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: center;"&gt;&lt;/div&gt;&lt;div class="wp-caption aligncenter" id="attachment_578" style="background-attachment: initial; background-clip: initial; background-color: #f7f7f7; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(231, 232, 230); border-bottom-left-radius: 4px 4px; border-bottom-right-radius: 4px 4px; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(231, 232, 230); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(231, 232, 230); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(231, 232, 230); border-top-left-radius: 4px 4px; border-top-right-radius: 4px 4px; border-top-style: solid; border-top-width: 1px; color: #8d8b8b; display: block; margin-bottom: 4px; margin-left: auto; margin-right: auto; margin-top: 4px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 5px; text-align: center; width: 363px;"&gt;&lt;a href="http://www.shahabfm.com/wp-content/uploads/2009/10/suction_cups2.png" style="color: #2d83d5; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;&lt;img alt="" class="size-full wp-image-578 " height="267" src="http://www.shahabfm.com/wp-content/uploads/2009/10/suction_cups2.png" style="border-bottom-left-radius: 4px 4px; border-bottom-right-radius: 4px 4px; border-bottom-width: 0px; border-color: initial; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-style: initial; border-top-left-radius: 4px 4px; border-top-right-radius: 4px 4px; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="suction cups solution climbing stairs" width="353" /&gt;&lt;/a&gt;&lt;div class="wp-caption-text" style="line-height: 16px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;suction cups solution climbing stairs&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-3805389770668956477?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/3805389770668956477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/03/suction-cup-solution.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3805389770668956477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/3805389770668956477'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/03/suction-cup-solution.html' title='Suction cup solution ...'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7290913772622700580.post-7168906755217163705</id><published>2010-04-01T01:31:00.000+02:00</published><updated>2010-04-01T01:31:37.270+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walloid'/><category scheme='http://www.blogger.com/atom/ns#' term='Plans'/><title type='text'>Introduction</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;This is my first post here at &lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Walloid Project&lt;/span&gt;&lt;/b&gt; weblog. This weblog is made to be a place for me to publish my works about my master thesis.&amp;nbsp;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Walloid&lt;/span&gt;&lt;/b&gt;&amp;nbsp;is my master thesis at university of Oslo. A climbing robot that can climb the walls and walk on the roof. The final aim of Walloid is to be a prototype for a real world model that can replace human workers, where it is too&amp;nbsp;dangerous&amp;nbsp;for mankind to operate. The actual thought was to make it even water proof with swimming abilities to make it the best candidate for oil fields in the middle of the sea, in a way that it can swim between different platforms, checks on oil pipes on the way and eventually fix the problems.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Walloid will have several versions which every version would try to reach some expected goals. The version names(C#S#) are the short version of&amp;nbsp;&lt;i&gt;C(limbing)#S(wimming)#&lt;/i&gt;.&amp;nbsp;Well the swimming part will not be a part of my master thesis and Walloid C2S0 is the goal for my master project.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Walloid C1S0&lt;/b&gt;&amp;nbsp;: A remote controlled(through my navigation program) functional walking(on the floor and not the walls or roof) robot.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Walloid C2S0&lt;/b&gt;&amp;nbsp;: A smart climbing robot which takes its steps&amp;nbsp;autonomously&amp;nbsp;and is controlled totally by the navigation program(monitor its environment by sensors &amp;amp; cameras).&lt;/li&gt;&lt;li&gt;&lt;b&gt;Walloid C3S0&lt;/b&gt;&amp;nbsp;:&amp;nbsp;A smart climbing robot with image processing abilities.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Walloid C3S1&lt;/b&gt;&amp;nbsp;: A smart climbing robot with abilities to&amp;nbsp;perform&amp;nbsp;in underwater condition.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Walloid C3S2&lt;/b&gt;&amp;nbsp;:&amp;nbsp;A waterproof smart climbing robot with swimming abilities.&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;As said my master project would not exceed Walloid C2S0 and the rest of the plan either will be a hobby/Phd/or even a dream job at an oil field company here in Norway :-)&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Wish me lots of luck ...&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Shahab.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7290913772622700580-7168906755217163705?l=walloid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walloid.blogspot.com/feeds/7168906755217163705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://walloid.blogspot.com/2010/03/introduction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/7168906755217163705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7290913772622700580/posts/default/7168906755217163705'/><link rel='alternate' type='text/html' href='http://walloid.blogspot.com/2010/03/introduction.html' title='Introduction'/><author><name>Shahab</name><uri>http://www.blogger.com/profile/00701259480048791887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
