<?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:blogger='http://schemas.google.com/blogger/2008' 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-3598731188366755604</id><updated>2024-08-30T05:30:53.034-07:00</updated><title type='text'>REBOTICS</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-9111471221837645613</id><published>2010-07-23T22:43:00.001-07:00</published><updated>2010-07-23T22:43:35.617-07:00</updated><title type='text'>Robotics - What is Robotics?</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: 11px; border-collapse: collapse; &quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Roboticists develop man-made mechanical devices that can move by themselves, whose motion must be modelled, planned, sensed, actuated and controlled, and whose motion behaviour can be influenced by “programming”. Robots are called “intelligent” if they succeed in moving in safe interaction with an unstructured environment, while autonomously achieving their specified tasks.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This definition implies that a device can only be called a “robot” if it contains a movable mechanism, influenced by sensing, planning, actuation and control components. It does not imply that a minimum number of these components must be implemented in software, or be changeable by the “consumer” who uses the device; for example, the motion behaviour can have been hard-wired into the device by the manufacturer.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;So, the presented definition, as well as the rest of the material in this part of the WEBook, covers not just “pure” robotics or only “intelligent” robots, but rather the somewhat broader domain of &lt;b&gt;robotics and automation&lt;/b&gt;. This includes “dumb” robots such as: metal and woodworking machines, “intelligent” washing machines, dish washers and pool cleaning robots, etc. These examples all have sensing, planning and control, but often not in individually separated components. For example, the sensing and planning behaviour of the pool cleaning robot have been integrated into the mechanical design of the device, by the intelligence of the human developer.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Robotics is, to a very large extent, all about system integration, achieving a task by an actuated mechanical device, via an “intelligent” integration of components, many of which it shares with other domains, such as systems and control, computer science, character animation, machine design, computer vision, artificial intelligence, cognitive science, biomechanics, etc. In addition, the boundaries of robotics cannot be clearly defined, since also its “core” ideas, concepts and algorithms are being applied in an ever increasing number of “external” applications, and, vice versa, core technology from other domains (vision, biology, cognitive science or biomechanics, for example) are becoming crucial components in more and more modern robotic systems.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This part of the WEBook makes an effort to define what exactly is that above-mentioned core material of the robotics domain, and to describe it in a consistent and motivated structure. Nevertheless, this chosen structure is only one of the many possible “views” that one can want to have on the robotics domain.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;In the same vein, the above-mentioned “definition” of robotics is not meant to be definitive or final, and it is only used as a rough framework to structure the various chapters of the WEBook. (A later phase in the WEBook development will allow different “semantic views” on the WEBook material.)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Components of robotic systems&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This figure depicts the components that are part of all robotic systems. The purpose of this Section is to describe the semantics of the terminology used to classify the chapters in the WEBook: “sensing”, “planning”, “modelling”, “control”, etc.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The real robot is some mechanical device (“mechanism”) that moves around in the environment, and, in doing so, physically interacts with this environment. This interaction involves the exchange of physical energy, in some form or another. Both the robot mechanism and the environment can be the “cause” of the physical interaction through &lt;b&gt;“Actuation”&lt;/b&gt;, or experience the “effect” of the interaction, which can be measured through &lt;b&gt;“Sensing”&lt;/b&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;img alt=&quot;Robotics as an integrated system of control interacting with the&quot; id=&quot;fig-system&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/robotics-control-system.png&quot; text=&quot;Robotics as an integrated system of control interacting with the physical world.&quot; width=&quot;545&quot; height=&quot;244&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Robotics as an integrated system of control interacting with the physical world.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Sensing and actuation are the physical ports through which the “Controller” of the robot determines the interaction of its mechanical body with the physical world. As mentioned already before, the controller can, in one extreme, consist of software only, but in the other extreme everything can also be implemented in hardware.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Within the Controller component, several sub-activities are often identified:&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;Modelling&lt;/b&gt;. The input-output relationships of all control components can (but need not) be derived from information that is stored in a model. This model can have many forms: analytical formulas, empirical look-up tables, fuzzy rules, neural networks, etc.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The name “model” often gives rise to heated discussions among different research “schools”, and the WEBook is not interested in taking a stance in this debate: within the WEBook, “model” is to be understood with its minimal semantics: “any information that is used to determine or influence the input-output relationships of components in the Controller.”&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The other components discussed below can all have models inside. A “System model” can be used to tie multiple components together, but it is clear that not all robots use a System model. The “Sensing model” and “Actuation model” contain the information with which to transform raw physical data into task-dependent information for the controller, and vice versa.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;Planning&lt;/b&gt;. This is the activity that predicts the outcome of potential actions, and selects the “best” one. Almost by definition, planning can only be done on the basis of some sort of model.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;Regulation&lt;/b&gt;. This component processes the outputs of the sensing and planning components, to generate an actuation setpoint. Again, this regulation activity could or could not rely on some sort of (system) model.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The term “control” is often used instead of “regulation”, but it is impossible to clearly identify the domains that use one term or the other. The meaning used in the WEBook will be clear from the context.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Scales in robotic systems&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The above-mentioned “components” description of a robotic system is to be complemented by a “scale” description, i.e., the following system scales have a large influence on the specific content of the planning, sensing, modelling and control components at one particular scale, and hence also on the corresponding sections of the WEBook.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;Mechanical scale&lt;/b&gt;. The physical volume of the robot determines to a large extent the limites of what can be done with it. Roughly speaking, a &lt;b&gt;large-scale&lt;/b&gt; robot (such as an autonomous container crane or a space shuttle) has different capabilities and control problems than a&lt;b&gt;macro&lt;/b&gt; robot (such as an industrial robot arm), a &lt;b&gt;desktop&lt;/b&gt; robot (such as those “sumo” robots popular with hobbyists), or &lt;b&gt;milli micro&lt;/b&gt; or &lt;b&gt;nano &lt;/b&gt;robots.&lt;br /&gt;Spatial scale. There are large differences between robots that act in 1D, 2D, 3D, or 6D (three positions and three orientations).&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;Time scale&lt;/b&gt;. There are large differences between robots that must react within hours, seconds, milliseconds, or microseconds.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;Power density scale&lt;/b&gt;. A robot must be actuated in order to move, but actuators need space as well as energy, so the ratio between both determines some capabilities of the robot.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;System complexity scale&lt;/b&gt;. The complexity of a robot system increases with the &lt;b&gt;number of interactions&lt;/b&gt; between independent sub-systems, and the control components must adapt to this complexity.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;Computational complexity scale&lt;/b&gt;. Robot controllers are inevitably running on real-world computing hardware, so they are constrained by the available &lt;b&gt;number of computations&lt;/b&gt;, the available &lt;b&gt;communication bandwidth&lt;/b&gt;, and the available &lt;b&gt;memory storage&lt;/b&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Obviously, these scale parameters never apply completely independently to the same system. For example, a system that must react at microseconds time scale can not be of macro mechanical scale or involve a high number of communication interactions with subsystems.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Background sensitivity&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Finally, no description of even scientific material is ever fully objective or context-free, in the sense that it is very difficult for contributors to the WEBook to “forget” their background when writing their contribution. In this respect, robotics has, roughly speaking, two faces: (i) the mathematical and engineering face, which is quite “standardized” in the sense that a large consensus exists about the tools and theories to use (“systems theory”), and (ii) the AI face, which is rather poorly standardized, not because of a lack of interest or research efforts, but because of the inherent complexity of “intelligent behaviour.” The terminology and systems-thinking of both backgrounds are significantly different, hence the WEBook will accomodate sections on the same material but written from various perspectives. This is not a “bug”, but a&lt;b&gt;“feature”&lt;/b&gt;: having the different views in the context of the same WEBook can only lead to a better mutual understanding and respect.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Research in engineering robotics follows the bottom-up approach: existing and working systems are extended and made more versatile. Research in artificial intelligence robotics is top-down: assuming that a set of low-level primitives is available, how could one apply them in order to increase the “intelligence” of a system. The border between both approaches shifts continuously, as more and more “intelligence” is cast into algorithmic, system-theoretic form. For example, the response of a robot to sensor input was considered “intelligent behaviour” in the late seventies and even early eighties. Hence, it belonged to A.I. Later it was shown that many sensor-based tasks such as surface following or visual tracking could be formulated as control problems with algorithmic solutions. From then on, they did not belong to A.I. any more.&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/9111471221837645613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-what-is-robotics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/9111471221837645613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/9111471221837645613'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-what-is-robotics.html' title='Robotics - What is Robotics?'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-2735878481082245628</id><published>2010-07-23T22:42:00.002-07:00</published><updated>2010-07-23T22:43:09.769-07:00</updated><title type='text'>Robotics - Robotics Technology</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: 11px; border-collapse: collapse; &quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Most industrial robots have at least the following five parts:&lt;/p&gt;&lt;p class=&quot;link&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 0px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; &quot;&gt;&lt;a href=&quot;http://www.electronicsteacher.com/robotics/robotics-technology/sensors.php&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;Sensors&lt;/a&gt;, &lt;a href=&quot;http://www.electronicsteacher.com/robotics/robotics-technology/effectors.php&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;Effectors&lt;/a&gt;, &lt;a href=&quot;http://www.electronicsteacher.com/robotics/robotics-technology/actuators.php&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;Actuators&lt;/a&gt;, &lt;a href=&quot;http://www.electronicsteacher.com/robotics/robotics-technology/controllers.php&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;Controllers&lt;/a&gt;, and common effectors known as &lt;a href=&quot;http://www.electronicsteacher.com/robotics/robotics-technology/arms.php&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;Arms&lt;/a&gt;.&lt;/p&gt;&lt;p class=&quot;link&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 0px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; &quot;&gt;Many other robots also have &lt;a href=&quot;http://www.electronicsteacher.com/robotics/robotics-technology/artificial-intelligence.php&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;Artificial Intelligence&lt;/a&gt; and effectors that help it achieve &lt;a href=&quot;http://www.electronicsteacher.com/robotics/robotics-technology/mobility.php&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;Mobility&lt;/a&gt;.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;This section discusses the basic technologies of a robot. Click one of the links above or use the navigation bar menu on the far right.&lt;/p&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/2735878481082245628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-robotics-technology.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/2735878481082245628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/2735878481082245628'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-robotics-technology.html' title='Robotics - Robotics Technology'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-8581985423120144863</id><published>2010-07-23T22:42:00.001-07:00</published><updated>2010-07-23T22:42:44.541-07:00</updated><title type='text'>Robotics - Types of Robots</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Ask a number of people to describe a robot and most of them will answer they look like a human.  Interestingly a robot that looks like a human is probably the most difficult robot to make.  Is is usually a waste of time and not the most sensible thing to model a robot after a human being.  A robot needs to be above all functional and designed with qualities that suits its primary tasks.  It depends on the task at hand whether the robot is big, small, able to move or nailed to the ground.  Each and every task means different qualities, form and function, a robot needs to be designed with the task in mind.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Mobile Robots&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;26%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/mars-small.gif&quot; width=&quot;200&quot; /&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Mars Explorer images and other space robot images courtesy of NASA.&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;74%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;    Mobile robots are able to move, usually they perform task such as search areas. A prime example is the Mars Explorer, specifically designed to roam the mars surface.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;    Mobile robots are a great help to such collapsed building for survivors Mobile robots are used for task where people cannot go.  Either because it is too dangerous of because people cannot reach the area that needs to be searched.  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;    Mobile robots can be divided in two categories:&lt;o:p&gt;  &lt;/o:p&gt;&lt;/p&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;68%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;b&gt;&lt;i&gt;   Rolling Robots&lt;/i&gt;&lt;/b&gt;:  Rolling robots have wheels to move around.  These are the type of robots that can quickly and easily search move around.  However they are only useful in flat areas, rocky terrains give them a hard time.  Flat terrains are their territory.  &lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;32%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/mobile-fromUEL.jpg&quot; width=&quot;200&quot; style=&quot;float: right; &quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;68%&quot;&gt; &lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;32%&quot;&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;32%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/walking-hannibal-tiny.jpg&quot; width=&quot;200&quot; style=&quot;float: left; &quot; /&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;68%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;b&gt;&lt;i&gt;   Walking Robots:  &lt;/i&gt;&lt;/b&gt;Robots on legs are usually brought in when the terrain is rocky and difficult to enter with wheels.  Robots have a hard time shifting balance and keep them from tumbling.  That’s why most robots with have at least 4 of them, usually they have 6 legs or more.  Even when they lift one or more legs they still keep their balance.  Development of legged robots is often modeled after insects or crawfish..  &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Stationary Robots&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;32%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/end-effector-ww2-hawaii-edu-knorris.jpg&quot; width=&quot;200&quot; /&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;68%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Robots are not only used to explore areas or imitate a human being.  Most robots perform repeating tasks without ever moving an inch.  Most robots are ‘working’ in industry settings.  Especially dull and repeating tasks are suitable for robots.  A robot never grows tired, it will perform its duty day and night without ever complaining.  In case the tasks at hand are done, the robots will be reprogrammed to perform other tasks..  &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Autonomous Robots&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;33%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/robots_smarty-ucsd-edu.jpg&quot; /&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;67%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;   Autonomous robots are self supporting or in other words self contained.  In a way they rely on their own ‘brains’.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;    Autonomous robots run a program that give them the opportunity to decide on the action to perform depending on their surroundings.  At times these robots even learn new behavior.  They start out with a short routine and adapt this routine to be more successful at the task they perform.  The most successful routine will be repeated as such their behavior is shaped.  Autonomous robots can learn to walk or avoid obstacles they find in their way.  Think about a six legged robot, at first the legs move ad random, after a little while the robot adjust its program and performs a pattern which enables it to move in a direction.  &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Remote-control Robots&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;100%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;   An autonomous robot is despite its autonomous not a very clever or intelligent unit.  The memory and brain capacity is usually limited, an autonomous robot can be compared to an insect in that respect.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;    In case a robot needs to perform more complicated yet undetermined tasks an autonomous robot is not the right choice.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;    Complicated tasks are still best performed by human beings with real brainpower.  A person can guide a robot by remote control.  A person can perform difficult and usually dangerous tasks without being at the spot where the tasks are performed.  To detonate a bomb it is safer to send the robot to the danger area.  &lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;100%&quot;&gt;&lt;table border=&quot;0&quot; width=&quot;55%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;100%&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;252&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/Dante-remote-NASA.gif&quot; width=&quot;190&quot; style=&quot;text-align: left; &quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;100%&quot;&gt;&lt;h5 class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-weight: 400; &quot;&gt;&lt;span style=&quot;font-family:Verdana;&quot;&gt;Dante 2, a NASA robot designed to explore volcanoes via remote control.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;&quot;&gt;&lt;/span&gt;&lt;/h5&gt;&lt;span style=&quot;font-family:Verdana;&quot;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;b&gt;&lt;span lang=&quot;NL&quot;&gt;Virtual Robots&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;link&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 0px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; &quot;&gt;   Virtual robots don’t exits in real life.  Virtual robots are just programs, building blocks of software inside a computer.  A virtual robot can simulate a real robot or just perform a repeating task.  A special kind of robot is a robot that searches the world wide web.  The internet has countless robots crawling from site to site. These WebCrawler’s collect information on websites and send this information to the search engines.&lt;o:p&gt; &lt;br /&gt;    Another popular virtual robot is the chatterbot.  These robots simulate conversations with users of the internet.  One of the first chatterbots was ELIZA.  There are many varieties of chatterbots now, including E.L.V.I.S.&lt;/o:p&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;BEAM Robots&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;32%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/BEAM-from-the-nest.jpg&quot; width=&quot;200&quot; style=&quot;float: left; &quot; /&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;68%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;   BEAM is short for &lt;b&gt;B&lt;/b&gt;iology, &lt;b&gt;E&lt;/b&gt;lectronics, &lt;b&gt;A&lt;/b&gt;esthetics and &lt;b&gt;M&lt;/b&gt;echanics.  BEAM robots are made by hobbyists. BEAM robots can be simple and very suitable for starters.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;u&gt;&lt;b&gt;Biology&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Robots are often modeled after nature.  A lot of BEAM robots look remarkably like insects.  Insects are easy to build in mechanical form.  Not just the mechanics are in inspiration also the limited behavior can easily be programmed in a limited amount of memory and processing power.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;b&gt;&lt;u&gt;Electronics&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Like all robots they also contain electronics.  Without electronic circuits the engines cannot be controlled.  Lots of Beam Robots also use solar power as their main source of energy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;u&gt;&lt;b&gt;Aesthetics&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;A BEAM Robot should look nice and attractive.  BEAM robots have no printed circuits with some parts but an appealing and original appearance.&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;u&gt;&lt;b&gt;Mechanics&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;In contrast with expensive big robots BEAM robots are cheap, simple, built out of recycled material and running on solar energy.&lt;/p&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/8581985423120144863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-types-of-robots.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/8581985423120144863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/8581985423120144863'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-types-of-robots.html' title='Robotics - Types of Robots'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-8780883823880199741</id><published>2010-07-23T22:41:00.002-07:00</published><updated>2010-07-23T22:42:11.080-07:00</updated><title type='text'>Robotics - Robotics History</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: 11px; border-collapse: collapse; &quot;&gt;&lt;table align=&quot;left&quot; border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;subhead&quot; bg style=&quot;color:#000066;&quot;&gt;&lt;p align=&quot;center&quot; class=&quot;chapterhead&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:130%;color:#FFFFFF;&quot;&gt;&lt;b&gt;Definition of a &#39;Robot&#39;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;text&quot; align=&quot;justify&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;According to the Robot Institute of America (1979) a robot is:&lt;br /&gt;&quot;A reprogrammable, multifunctional manipulator designed to move material, parts, tools, or specialized devices through various programmed motions for the performance of a variety of tasks&quot;.&lt;br /&gt;&lt;br /&gt;A more inspiring definition can be found in Webster. According to Webster a robot is:&lt;br /&gt;&quot;An automatic device that performs functions normally ascribed to humans or a machine in the form of a human.&quot;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height=&quot;15&quot; align=&quot;justify&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;subhead&quot; bg align=&quot;justify&quot; style=&quot;color:#000066;&quot;&gt;&lt;p align=&quot;center&quot; class=&quot;chapterhead&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#FFFFFF;&quot;&gt;&lt;a name=&quot;p2&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:130%;color:#FFFFFF;&quot;&gt;First use of the word &#39;Robot&#39;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;text&quot; align=&quot;justify&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;Karel Capek&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/karel_capek.jpg&quot; /&gt;The acclaimed Czech playwright Karel Capek (1890-1938) made the first use of the word ‘robot’, from the Czech word for forced labor or serf. Capek was reportedly several times a candidate for the Nobel prize for his works and very influential and prolific as a writer and playwright.&lt;br /&gt;&lt;br /&gt;The use of the word Robot was introduced into his play &lt;i&gt;R.U.R. (Rossum&#39;s Universal Robots)&lt;/i&gt; which opened in Prague in January 1921.&lt;br /&gt;&lt;br /&gt;In R.U.R., Capek poses a paradise, where the machines initially bring so many benefits but in the end bring an equal amount of blight in the form of unemployment and social unrest.&lt;br /&gt;&lt;br /&gt;The play was an enormous success and productions soon opened throughout Europe and the U.S. R.U.R&#39;s theme, in part, was the dehumanization of man in a technological civilization.&lt;br /&gt;&lt;br /&gt;You may find it surprising that the robots were not mechanical in nature but were created through chemical means. In fact, in an essay written in 1935, Capek strongly fought that this idea was at all possible and, writing in the third person, said:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&quot;It is with horror, frankly, that he rejects all responsibility for the idea that metal contraptions could ever replace human beings, and that by means of wires they could awaken something like life, love, or rebellion. He would deem this dark prospect to be either an overestimation of machines, or a grave offence against life.&quot;&lt;/i&gt;&lt;br /&gt;&lt;span class=&quot;smalltext&quot;&gt;[The Author of Robots Defends Himself - Karl Capek, Lidove noviny, June 9, 1935, translation: Bean Comrada]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There is some evidence that the word robot was actually coined by Karl&#39;s brother Josef, a writer in his own right. In a short letter, Capek writes that he asked Josef what he should call the artificial workers in his new play.&lt;br /&gt;&lt;br /&gt;Karel suggests Labori, which he thinks too &#39;bookish&#39; and his brother mutters &quot;then call them Robots&quot; and turns back to his work, and so from a curt response we have the word robot.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height=&quot;15&quot; align=&quot;justify&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;subhead&quot; bg align=&quot;justify&quot; style=&quot;color:#000066;&quot;&gt;&lt;p align=&quot;center&quot; class=&quot;chapterhead&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#FFFFFF;&quot;&gt;&lt;a name=&quot;p3&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:130%;color:#FFFFFF;&quot;&gt;First use of the word &#39;Robotics&#39;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;text&quot; align=&quot;justify&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;p class=&quot;link&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 0px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img align=&quot;left&quot; alt=&quot;Isaac Asimov&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/isaac_asimov.jpg&quot; /&gt;The word &#39;robotics&#39; was first used in Runaround, a short story published in 1942, by Isaac Asimov (born Jan. 2, 1920, died Apr. 6, 1992). I, Robot, a collection of several of these stories, was published in 1950.&lt;br /&gt;&lt;br /&gt;One of the first robots Asimov wrote about was a robotherapist. A modern counterpart to Asimov&#39;s fictional character is Eliza. Eliza was born in 1966 by a Massachusetts Institute of Technology Professor Joseph Weizenbaum who wrote Eliza -- a computer program for the study of natural language communication between man and machine.&lt;br /&gt;&lt;br /&gt;She was initially programmed with 240 lines of code to simulate a psychotherapist by answering questions with questions.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height=&quot;5&quot; align=&quot;justify&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;columnHEAD&quot; bg align=&quot;justify&quot; style=&quot;color:#000066;&quot;&gt;&lt;p align=&quot;center&quot; class=&quot;chapterhead&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#FFFFFF;&quot;&gt;&lt;a name=&quot;p4&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:130%;color:#FFFFFF;&quot;&gt;Three Laws of Robotics&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;td align=&quot;justify&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Asimov also proposed his three &quot;Laws of Robotics&quot;, and he later added a &#39;zeroth law&#39;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Law Zero&lt;/b&gt;: A robot may not injure humanity, or, through inaction, allow humanity to come to harm.&lt;br /&gt;&lt;b&gt;Law One&lt;/b&gt;: A robot may not injure a human being, or, through inaction, allow a human being to come to harm, unless this would violate a higher order law.&lt;br /&gt;&lt;b&gt;Law Two&lt;/b&gt;: A robot must obey orders given it by human beings, except where such orders would conflict with a higher order law.&lt;br /&gt;&lt;b&gt;Law Three&lt;/b&gt;: A robot must protect its own existence as long as such protection does not conflict with a higher order law.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height=&quot;15&quot; align=&quot;justify&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;subhead&quot; bg align=&quot;justify&quot; style=&quot;color:#000066;&quot;&gt;&lt;p align=&quot;center&quot; class=&quot;chapterhead&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#FFFFFF;&quot;&gt;&lt;a name=&quot;p5&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:130%;color:#FFFFFF;&quot;&gt;The First Robot: &#39;Unimate&#39;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;td align=&quot;justify&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;Unimate Puma500 Manipulator&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/unimate_puma500.jpg&quot; /&gt;After the technology explosion during World War II, in 1956, a historic meeting occurs between George C. Devol, a successful inventor and entrepreneur, and engineer Joseph F. Engelberger, over cocktails the two discuss the writings of Isaac Asimov.&lt;br /&gt;&lt;br /&gt;Together they made a serious and commercially successful effort to develop a real, working robot. They persuaded Norman Schafler of Condec Corporation in Danbury that they had the basis of a commercial success.&lt;br /&gt;&lt;br /&gt;Engelberger started a manufacturing company &#39;Unimation&#39; which stood for universal automation and so the first commercial company to make robots was formed. Devol wrote the necessary patents. Their first robot nicknamed the &#39;Unimate&#39;. As a result, Engelberger has been called the &#39;father of robotics.&#39;&lt;br /&gt;&lt;br /&gt;The first Unimate was installed at a General Motors plant to work with heated die-casting machines. In fact most Unimates were sold to extract die castings from die casting machines and to perform spot welding on auto bodies, both tasks being particularly hateful jobs for people.&lt;br /&gt;&lt;br /&gt;Both applications were commercially successful, i.e., the robots worked reliably and saved money by replacing people. An industry was spawned and a variety of other tasks were also performed by robots, such as loading and unloading machine tools.&lt;br /&gt;&lt;br /&gt;Ultimately Westinghouse acquired Unimation and the entrepreneurs&#39; dream of wealth was achieved. Unimation is still in production today, with robots for sale.&lt;br /&gt;&lt;br /&gt;The robot idea was hyped to the skies and became high fashion in the Boardroom. Presidents of large corporations bought them, for about $100,000 each, just to put into laboratories to &quot;see what they could do;&quot; in fact these sales constituted a large part of the robot market. Some companies even reduced their ROI (Return On Investment criteria for investment) for robots to encourage their use.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height=&quot;15&quot; align=&quot;justify&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;subhead&quot; bg align=&quot;justify&quot; style=&quot;color:#000066;&quot;&gt;&lt;p align=&quot;center&quot; class=&quot;chapterhead&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;span style=&quot;font-weight: 700; font-family:Verdana;font-size:85%;color:#FFFFFF;&quot;&gt;&lt;a name=&quot;p6&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:130%;color:#FFFFFF;&quot;&gt;Modern Industrial Robots&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;td align=&quot;justify&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img align=&quot;left&quot; height=&quot;198&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/scara_robot.gif&quot; width=&quot;270&quot; /&gt;The image of the &quot;electronic brain&quot; as the principal part of the robot was pervasive. Computer scientists were put in charge of robot departments of robot customers and of factories of robot makers. Many of these people knew little about machinery or manufacturing but assumed that they did.&lt;br /&gt;&lt;br /&gt;(There is a common delusion of electrical engineers that mechanical phenomena are simple because they are visible. Variable friction, the effects of burrs, minimum and redundant constraints, nonlinearities, variations in work pieces, accommodation to hostile environments and hostile people, etc. are like the &quot;Purloined Letter&quot; in Poe&#39;s story, right in front of the eye, yet unseen.) They also had little training in the industrial engineer&#39;s realm of material handling, manufacturing processes, manufacturing economics and human behavior in factories.&lt;br /&gt;&lt;br /&gt;As a result, many of the experimental tasks in those laboratories were made to fit their robot&#39;s capabilities but had little to do with the real tasks of the factory.&lt;br /&gt;&lt;br /&gt;Modern industrial arms have increased in capability and performance through controller and language development, improved mechanisms, sensing, and drive systems. In the early to mid 80&#39;s the robot industry grew very fast primarily due to large investments by the automotive industry.&lt;br /&gt;&lt;br /&gt;The quick leap into the factory of the future turned into a plunge when the integration and economic viability of these efforts proved disastrous. The robot industry has only recently recovered to mid-80&#39;s revenue levels.&lt;br /&gt;&lt;br /&gt;In the meantime there has been an enormous shakeout in the robot industry. In the US, for example, only one US company, Adept, remains in the production industrial robot arm business. Most of the rest went under, consolidated, or were sold to European and Japanese companies.&lt;br /&gt;&lt;br /&gt;In the research community the first automata were probably Grey Walter&#39;s machina (1940&#39;s) and the John&#39;s Hopkins beast. Teleoperated or remote controlled devices had been built even earlier with at least the first radio controlled vehicles built by Nikola Tesla in the 1890&#39;s.&lt;br /&gt;&lt;br /&gt;Tesla is better known as the inventor of the induction motor, AC power transmission, and numerous other electrical devices. Tesla had also envisioned smart mechanisms that were as capable as humans.&lt;br /&gt;&lt;br /&gt;An excellent biography of Tesla is Margaret Cheney&#39;s Tesla, Man Out of Time, Published by Prentice-Hall, c1981.&lt;br /&gt;&lt;br /&gt;SRI&#39;s Shakey navigated highly structured indoor environments in the late 60&#39;s and Moravec&#39;s Stanford Cart was the first to attempt natural outdoor scenes in the late 70&#39;s.&lt;br /&gt;&lt;br /&gt;From that time there has been a proliferation of work in autonomous driving machines that cruise at highway speeds and navigate outdoor terrains in commercial applications.&lt;br /&gt;&lt;br /&gt;Fully functioning androids (robots that look like human beings) are many years away due to the many problems that must be solved. However, real, working, sophisticated robots are in use today and they are revolutionizing the workplace.&lt;br /&gt;&lt;br /&gt;These robots do not resemble the romantic android concept of robots. They are industrial manipulators and are really computer controlled &quot;arms and hands&quot;. Industrial robots are so different to the popular image that it would be easy for the average person not to recognize one.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height=&quot;15&quot; align=&quot;justify&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;subhead&quot; bg align=&quot;justify&quot; style=&quot;color:#000066;&quot;&gt;&lt;p align=&quot;center&quot; class=&quot;chapterhead&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#FFFFFF;&quot;&gt;&lt;a name=&quot;p7&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:130%;color:#FFFFFF;&quot;&gt;Benefits&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;text&quot; align=&quot;justify&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Robots offer specific benefits to workers, industries and countries. If introduced correctly, industrial robots can improve the quality of life by freeing workers from dirty, boring, dangerous and heavy labor. it is true that robots can cause unemployment by replacing human workers but robots also create jobs: robot technicians, salesmen, engineers, programmers and supervisors.&lt;br /&gt;&lt;br /&gt;The benefits of robots to industry include improved management control and productivity and consistently high quality products. Industrial robots can work tirelessly night and day on an assembly line without an loss in performance.&lt;br /&gt;&lt;br /&gt;Consequently, they can greatly reduce the costs of manufactured goods. As a result of these industrial benefits, countries that effectively use robots in their industries will have an economic advantage on world market.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/8780883823880199741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-robotics-history.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/8780883823880199741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/8780883823880199741'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-robotics-history.html' title='Robotics - Robotics History'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-7849167496218296687</id><published>2010-07-23T22:41:00.001-07:00</published><updated>2010-07-23T22:41:37.094-07:00</updated><title type='text'>Robotics - Current Research</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;The robots of tomorrow will be the direct result of the robotic research projects of today. The goals of most robotic research projects is the advancement of abilities in one or more of the following technological areas:&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;link&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 0px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; &quot;&gt;&lt;a href=&quot;http://www.electronicsteacher.com/robotics/current-research.php#p1&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;Artificial intelligence&lt;/a&gt;, &lt;a href=&quot;http://www.electronicsteacher.com/robotics/current-research.php#p2&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;effectors and mobility&lt;/a&gt;, &lt;a href=&quot;http://www.electronicsteacher.com/robotics/current-research.php#p3&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;sensor detection&lt;/a&gt; and especially robotic vision, and &lt;a href=&quot;http://www.electronicsteacher.com/robotics/current-research.php#p4&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;control systems&lt;/a&gt;.&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;These technological advances will lead to improvements and innovations in the application of robotics to industry, medicine, the military, space exploration, underwater exploration, and personal service. The research projects listed below are only a few of many robotic research projects worldwide.&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;headline&quot; style=&quot;color: rgb(0, 0, 0); padding-bottom: 2px; font-size: 18px; text-align: center; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;a name=&quot;p1&quot;&gt;&lt;/a&gt;Artificial Intelligence&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Human Behavior and Emotion&lt;/p&gt;&lt;table border=&quot;0&quot; height=&quot;100%&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height=&quot;1&quot; valign=&quot;top&quot; width=&quot;20%&quot;&gt;&lt;table border=&quot;0&quot; width=&quot;64%&quot; height=&quot;146&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; height=&quot;142&quot; valign=&quot;top&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/big_COG_red.jpg&quot; width=&quot;136&quot; height=&quot;136&quot; /&gt;&lt;br /&gt;Cog, a humanoid robot from MIT.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td height=&quot;1&quot; valign=&quot;top&quot; width=&quot;80%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Two of the many research projects of the MIT Artificial Intelligence department include an artificial humanoid called Cog, and his baby brother, Kismet. What the researchers learn while putting the robots together will be shared to speed up development.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Once finished, Cog will have everything except legs, whereas Kismet has only a 3·6-kilogram head that can display a wide variety of emotions. To do this Kismet has been given movable facial features that can express basic emotional states that resemble those of a human infant. Kismet can thus let its &quot;parents&quot; know whether it needs more or less stimulation--an interactive process that the researchers hope will produce an intelligent robot that has some basic &quot;understanding&quot; of the world.&lt;br /&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; height=&quot;100&quot; valign=&quot;top&quot; width=&quot;100%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;This approach of creating AI by building on basic behaviors through interactive learning contrasts with older methods, in which a computer is loaded with lots of facts about the world in the hope that intelligence will eventually emerge.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Cog is 2 meters tall, complete with arms, hands and all three senses--including touch-sensitive skin. Its makers will eventually try to use the same sort of social interaction as Kismet to help Cog develop intelligence equivalent to that of a two-year-old child.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table border=&quot;0&quot; height=&quot;100%&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;45%&quot; height=&quot;109&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Kismet is an autonomous robot designed for social interactions with humans and is part of the larger Cog Project. This project focuses not on robot-robot interactions, but rather on the construction of robots that engage in meaningful social exchanges with humans. By doing so, it is possible to have a socially sophisticated human assist the robot in acquiring more sophisticated communication skills and helping it learn the meaning these acts have for others.&lt;/p&gt;&lt;/td&gt;&lt;td height=&quot;109&quot; valign=&quot;top&quot; width=&quot;55%&quot;&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot; height=&quot;131&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; height=&quot;127&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/Big_Kismet.jpg&quot; width=&quot;128&quot; height=&quot;93&quot; /&gt;&lt;h5 class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;&quot;&gt;Kismet with its creator, Cybthia Breazeal&lt;br /&gt;of MIT.  Breazeal also helped create Cog.&lt;/span&gt;&lt;/h5&gt;&lt;span style=&quot;font-family:Verdana;&quot;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; height=&quot;118&quot; width=&quot;100%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/Kismet.jpg&quot; width=&quot;165&quot; height=&quot;164&quot; style=&quot;float: left; &quot; /&gt;Kismet has a repertoire of responses driven by emotive and behavioral systems. The hope is that Kismet will be able to build upon these basic responses after it is switched on or &quot;born&quot;, learn all about the world and become intelligent.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Crucial to its drives are the behaviors that Kismet uses to keep its emotional balance. For example, when there are no visual cues to stimulate it, such as a face or toy, it will become increasingly sad and lonely and look for people to play with.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Any advances made with Kismet will be passed on to its big brother Cog, the robot brainchild of Rodney Brooks, head of MIT&#39;s AI department.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Hardware and Software Brains&lt;/p&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;100%&quot; height=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; height=&quot;247&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;In mimicking human intelligence, the goal is to make sure robots get a brain and reasoning. An important pioneer in the field of AI is Marvin Minsky.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Without a brain capable of processing input, a robot cannot react to its environment. A brain can be stimulated in hardware or software. Most robots at present have software brains, meaning a computer with a program running. These robots are connected to or equipped with a computer. A drawback is the limited number of processes that can be run on today&#39;s computers and the single purpose programs running on these computers. The programs cannot change themselves.  In other words, learning is not possible.&lt;br /&gt;&lt;br /&gt;A brain made out of hardware, or a number of processors will be closer to reality. The brain will consists of several chips that act both independently and as a group.  The general belief is that the real brain works as a neural network of lots of independent processing units. Every chip in itself has a small program. It will process information but also pass it on to other chips. The program changes on a continuous basis. The network of chips is quick and will adapt, so in contrast with the software brain, it will learn.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;An example of a hardware brain is Robokoneko the robocat from Genobyte. It has a  brain from a machine, the CAM-machine.&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; height=&quot;247&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/kittendiagramFromGenobyte.gif&quot; width=&quot;140&quot; height=&quot;105&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/kitten_wired_From_genobyte.gif&quot; width=&quot;139&quot; height=&quot;90&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p align=&quot;center&quot; class=&quot;headline&quot; style=&quot;color: rgb(0, 0, 0); padding-bottom: 2px; font-size: 18px; text-align: center; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;span style=&quot;font-family:Verdana;&quot;&gt;&lt;b&gt;&lt;a name=&quot;p2&quot;&gt;&lt;/a&gt;Effectors and &lt;/b&gt;Mobility&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family:Verdana;&quot;&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Autonomous Flying Vehicle Project&lt;/p&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;27%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/coverpic-USC.gif&quot; width=&quot;200&quot; style=&quot;float: left; &quot; /&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;173%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Robot helicopter research began at the University of Southern California in 1991 with the formation of the Autonomous Flying Vehicle Project and continues to the present day. The first robot built was the AFV (Autonomous Flying Vehicle). The AVATAR (Autonomous Vehicle Aerial Tracking And Retrieval), was created in 1994. The current robot, the second generation AVATAR (Autonomous Vehicle Aerial Tracking And Reconnaissance), was developed in 1997. The ``R&#39;&#39; in AVATAR changed to reflect a change in robot capabilities.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Fish Robot&lt;/p&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot; height=&quot;75%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;65%&quot; height=&quot;71&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Without question, the fish is the best swimmer in the world. That is why the Ship Research Institute of Japan decided to build the Fish Robot. This project hopes to apply what is learned while building and researching with the Fish Robot to the design and construction of ships.&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;36%&quot; height=&quot;71&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/pf600_wa-snmot-go-jp.jpg&quot; width=&quot;153&quot; height=&quot;114&quot; style=&quot;float: left; &quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Muscles&lt;/p&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;100%&quot; height=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; height=&quot;292&quot; width=&quot;424&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Robots use electro-engines for movement. Engine parts are relatively cheap and last long. Engines are applied to move arm, turn wheels or move other parts, for instance camera&#39;s. Engines are less usefull with walking robots. In that particular case engines prove to be a weak part, a jumping robot is a mayor challenge to engine parts. Human being use muscle, which contract and expand, to move around. A muscle receive a signal form the brain and contracts. Causing a joint, like the knee to move.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Material to mimic a muscle is still a dream. Nitinol, an alloy that consist of the metals nickel and titanium will shrink if an electric current travels through the alloy, it will only contract 8% maximum.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;The downside, nitinol is very expensive en the contraction is too little to allow it to be used to make walking robots. For the time being walking robots will not use muscles or engines but pneumatic of hydrolic technologies.&lt;br /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/sojournerFromRobotstore.gif&quot; width=&quot;118&quot; height=&quot;95&quot; align=&quot;left&quot; /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;386&quot; height=&quot;292&quot; valign=&quot;top&quot;&gt;&lt;center&gt;&lt;p&gt;&lt;br /&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/soujournertopdiagramFromRobotstore.gif&quot; width=&quot;203&quot; height=&quot;241&quot; align=&quot;left&quot; /&gt;&lt;/p&gt;&lt;/center&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Robocup&lt;/p&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;38%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/robocup1.jpg&quot; width=&quot;294&quot; height=&quot;195&quot; /&gt;&lt;/td&gt;&lt;td width=&quot;62%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/robocup2.jpg&quot; width=&quot;259&quot; height=&quot;175&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; width=&quot;100%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;To demonstrate advances in research and to stimulate scientist to share progress the Robocup competition is organized a few times a year. Robocup is a competition of Robot soccer teams. Movement, pattern recognition, where&#39;s the ball, where&#39;s the goal, who is in my team, all this and more is needed to score a goal. A simple games becomes a challenge for a robot team. Besides moving and finding the ball and team members the robots needs to define a strategy and take lots of decisions in a short time frame. Robocup has produced many advancements in both robotic effectors and sensors. Who could have imagined that soccer would contribute to robot research where robots eventually will be smart and capable of cooperation with other to reach a goal?&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p align=&quot;center&quot; class=&quot;headline&quot; style=&quot;color: rgb(0, 0, 0); padding-bottom: 2px; font-size: 18px; text-align: center; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;a name=&quot;p3&quot;&gt;&lt;/a&gt;Sensor Detection&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Robotic Vision&lt;/p&gt;&lt;table border=&quot;0&quot; height=&quot;769&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height=&quot;765&quot; width=&quot;100%&quot;&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;109%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/family-sm-braunl.jpg&quot; style=&quot;float: left; &quot; /&gt;Machine vision involves devices which sense images and processes which interpret the images.  Thomas Braunl of The University of Western Australia provides an excellent example of robotic vision research in both hardware and software.&lt;/p&gt;&lt;p&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/vehicle-eyebot-braunl.jpg&quot; width=&quot;330&quot; height=&quot;223&quot; /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; valign=&quot;top&quot; width=&quot;100%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;EyeBot is a controller for mobile robots with wheels, walking robots or flying robots. It consists of a powerful 32-Bit microcontroller board with a graphics display and a digital grayscale or color camera. The camera is directly connected to the robot board (no frame grabber). This allows programmers to write powerful robot control programs without a big and heavy computer system and without having to sacrifice vision.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Ideal basis for programming of real time image processing&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Integrated digital camera (grayscale or color)&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Large graphics display (LCD)&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Can be extended with own mechanics and sensors to full mobile robot&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Programmed from IBM-PC or Unix workstation,&lt;br /&gt;programs are downloaded via serial line (RS-232) into RAM or Flash-ROM&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Programming in C or assembly language&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;50%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/ebpins-joker.gif&quot; width=&quot;282&quot; height=&quot;215&quot; /&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;68%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/ebdescript-joker.gif&quot; width=&quot;268&quot; height=&quot;202&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table border=&quot;0&quot; height=&quot;100%&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height=&quot;151&quot; valign=&quot;top&quot; width=&quot;100%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/improv-s-braunl.gif&quot; width=&quot;204&quot; height=&quot;147&quot; style=&quot;float: left; &quot; /&gt;&lt;i&gt;Improv&lt;/i&gt; is a tool for basic real time image processing with low resolution, e.g. suitable for mobile robots. It has been developed for PCs with &lt;i&gt;Linux&lt;/i&gt; operating system. &lt;i&gt;Improv&lt;/i&gt; works with a number of inexpensive low-resolution digital cameras (no framegrabber required), and is available from Joker Robotics.&lt;i&gt;   Improv&lt;/i&gt; displays the live camera image in the first window, while subsequent image operations can be applied to this image in five more windows. For each sub-window, a sequence of image processing routines may be specified.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Sensor Based Motion Planning&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Sensor Based Planning incorporates sensor information, reflecting the current state of the environment, into a robot&#39;s planning process, as opposed to classical planning , where full knowledge of the world&#39;s geometry is assumed to be known prior to the planning event. Sensor based planning is important because: (1) the robot often has no a priori knowledge of the world; (2) the robot may have only a coarse knowledge of the world because of limited memory; (3) the world model is bound to contain inaccuracies which can be overcome with sensor based planning strategies; and (4) the world is subject to unexpected occurrences or rapidly changing situations.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;There already exists a large number of classical path planning methods. However, many of these techniques are not amenable to sensor based interpretation. It is not possible to simply add a step to acquire sensory information, and then construct a plan from the acquired model using a classical technique, since the robot needs a path planning strategy in the first place to acquire the world model.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;The first principal problem in sensor based motion planning is the &lt;em&gt;find-goal&lt;/em&gt; problem. In this problem, the robot seeks to use its on-board sensors to find a collision free path from its current configuration to a goal configuration. In the first variation of the find goal problem, which we term the &lt;em&gt;absolute find-goal &lt;/em&gt;problem, the absolute coordinates of the goal configuration are assumed to be known. A second variation on this problem is described below.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;The second principal problem in sensor based motion planning is &lt;em&gt;sensor-based exploration&lt;/em&gt;, in which a robot is not directed to seek a particular goal in an unknown environment, but is instead directed to explore the apriori unknown environment in such a way as to see all potentially important features. The exploration problem can be motivated by the following application. Imagine that a robot is to explore the interior of a collapsed building, which has crumbled due to an earthquake, in order to search for human survivors. It is clearly impossible to have knowledge of the building&#39;s interior geometry prior to the exploration. Thus, the robot must be able to see, with its on-board sensors, all points in the building&#39;s interior while following its exploration path. In this way, no potential survivors will be missed by the exploring robot. Algorithms that solve the find-goal problem are not useful for exploration because the location of the ``goal&#39;&#39; (a human survivor in our example) is not known. A second variation on the find-goal problem that is motivated by this scenario and which is an intermediary between the find-goal and exploration problems is the &lt;em&gt;recognizable &lt;/em&gt;find-goal problem. In this case, the absolute coordinates of the goal are not known, but it is assumed that the robot can recognize the goal if it becomes with in line of sight. The aim of the recognizable find-goal problem is to explore an unknown environment so as to find a recognizable goal. If the goal is reached before the entire environment is searched, then the search procedure is terminated.&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;headline&quot; style=&quot;color: rgb(0, 0, 0); padding-bottom: 2px; font-size: 18px; text-align: center; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;a name=&quot;p4&quot;&gt;&lt;/a&gt;Control Systems&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Hierarchical Behavior Control&lt;/p&gt;&lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;22%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/mrobots_sm-ace.gif&quot; style=&quot;float: left; &quot; /&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;78%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Development of a hierarchical behavior control scheme for rovers and mobile robots is currently underway. It attempts to model and control mobile systems using distinct rule-based controllers and decision-making subsystems that collectively represent a hierarchical decomposition of autonomous vehicle behavior. This research approach employs fuzzy logic, behavior control, and genetic programming as tools for developing autonomous robots. Complex, multi-variable fuzzy rule-based systems are developed in the framework of behavior-based control for autonomous navigation. Genetic programming methods are used to computationally evolve fuzzy coordination rules for low-level motion behaviors. In addition, embedded control applications are being developed for microrover navigation using conventional microprocessors and specialized fuzzy VLSI chips.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Nano Technology and Medical Applications&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;The movie Innerspace shows a miniature spaceship travelling through the artery system of a human. It is a nice illustration of the promise of Nano technology. Nano Technology is a technique where miniature robots go to places humans will never be able to travel. Nano technology is a new science where robotics play a mayor part. Questions that needs to be solved because of the very tiny mechinical parts: can a robot repair itself, how do you control a nano robot, how does a nano robot move. Will it be able to work autonomously. Will it be able so shift in shape. Is a nanan robot a mechanical device or is it more like a microprocessor. Once these questions are answered Nano technology will change medical science for ever. Surgery will be performed in lots of cases by one or more Nano robots that will travel inside the human body.&lt;/p&gt;&lt;p class=&quot;header&quot; align=&quot;justify&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Intelligent Systems for Communication Networks&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;block&gt;Third generation wireless networks like the Universal Mobile telecommunication System (UMTS) are being developed to support wide band services. A major scenario is to support such services of a user roaming between a cellular terrestrial network and a satellite Personal Communication Network (PCN) while maintaining the quality of service during the hand-over process. And requiring some degree of continuity of quality of service guarantees.  This project will focus on developing new protocols which uses artificial intelligent systems to support such hand-over process. Further Seamless roaming and user tracking using intelligent systems will be investigated.&lt;/block&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Active Vibration Control&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;In recent years, the reduction of undesirable vibrations in the dynamic systems such as airplanes, vehicles, tall buildings and off-shore structures has become a crucial issue due to the increased social awareness of comfort as well as the ever increasing heights of new inner city buildings. With the advent of new construction materials and new construction methods, the buildings and structures are becoming taller, and more flexible. With a good design and under normal loading conditions, the response of these structures to vibrations will remain in the safe and comfortable domain. However, there is no guarantee that in-service loads experienced by tall buildings and structures will always be in the allowed range. The undesirable vibration levels could be reached under large environmental loads such as winds and earthquakes, and could adversely affect human comfort and even structural safety. It is becoming critically important to suppress dynamic responses of tall buildings and structures due to the strong winds and earthquakes not only for their safety but also their serviceability. When tall buildings and structures are flexible, design performances may become impossible to achieve by conventional design practice. Hence, additional devices are installed in tall buildings and structures to compensate the dynamic responses caused by environmental loads. As a result, new concepts and methods of structural protection have been proposed.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Due to recent development of sensors and digital control techniques, active control methods of dynamic responses of tall buildings and structures have been developed, and some of them have been implemented to actual buildings. The precondition is however that the implementation is simple enough to be realtime. In engineering applications with rule based systems providing efficient results, the implementation is often easier than its complex conventional counterpart.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;The active vibration control in the structural engineering has become known as an area of research in which the vibrations and motions of the tall buildings and structures can be controlled or modified by means of the actions of a control system through some external energy supply. Compared with the passive vibration control the active vibration control can more effectively keep the tall buildings and structures safe and comfortable under the various environmental loads such as strong winds or earthquake hazards. This implies that the active vibration control can be effective and adaptive over a much wider frequency range and also for transient vibration, which is the reason to attract interest of the researchers not only in structural engineering but also in control engineering. Among many methods, that have been proposed, are active mass drivers (AMDs), active tendon systems (ATS), and active variable stiffness systems (AVSs).&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Hyper-Redundant Robotics Systems&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Robot manipulators which have more than the minimum number of degrees-of-freedom are termed ``kinematically redundant,&#39;&#39; or simply ``redundant.&#39;&#39; Redundancy in manipulator design has been recognized as a means to improve manipulator performance in complex and unstructured environments. ``Hyper-redundant&#39;&#39; robots have a very large degree of kinematic redundancy, and are analogous in morphology and operation to snakes, elephant trunks, and tentacles. There are a number of very important applications where such robots would be advantageous.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;While ``snake-like&#39;&#39; robots have been investigated for nearly 25 years, they have remained a laboratory curiousity. There are a number of reasons for this: (1) previous kinematic modeling techniques have not been particularly efficient or well suited to the needs of hyper-redundant robot task modeling; (2) the mechanical design and implementation of hyper-redundant robots has been perceived as unnecessarily complex; and (3) hyper-redundant robots are not anthropomorphic, and therefore pose interesting programming problems. Our research group has undertaken a broadly based program to overcome the obstacles to practical deployment of hyper-redundant robots.&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/7849167496218296687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-current-research.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/7849167496218296687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/7849167496218296687'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-current-research.html' title='Robotics - Current Research'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-6886591449447880249</id><published>2010-07-23T22:39:00.002-07:00</published><updated>2010-07-23T22:40:17.825-07:00</updated><title type='text'>Robotics - Future of Robotics</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Brooks Forecasts Future of Robotic Technology&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;April 13, 2005&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;by Maya Rao&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;Sun Staff Writer&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Artificial intelligence and robotics expert Rod Brooks forecasts major changes in the next 50 years. Much in the way that computers have revolutionized society, robots may take on an increasingly significant role in people&#39;s lives. As part of the Gerard Salton Lecture Series, Brooks delivered a talk yesterday entitled &quot;Flesh and Machines: Robots and People&quot; to discuss potential applications of intelligent robots.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Brooks, who directs the Computer Science and Artificial Intelligence Laboratory (CSAIL) at MIT, asserted that we have more in common with robots, and machines in general, than we think.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&quot;Mankind has had a long history of retreat from &#39;special-ness,&#39;&quot; Brooks said.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Centuries ago, humans discovered that Earth was not, in fact, the center of the universe. Later, humans and animals were found to have common ancestors. DNA as the fundamental mechanism of life means that humans and yeast are somewhat similar.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&quot;Over time men have become less special and more like technology,&quot; Brooks said. &quot;We only have 25,000 genes -- even potatoes have more than that!&quot;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Brooks showed videos of several robots designed in his lab. In one scene, Brooks&#39;s colleague Cynthia &quot;plays&quot; with a robot she designed, Kismet.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&quot;We see her moving that eraser, then the robot moving it. They&#39;re taking turns.&quot; At least, Brooks added, that&#39;s what the average observer would think. &quot;But when we thought about it, she was doing all the work. She was giving the robot motion cues. That set us off on reading literature on child development.&quot;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Like Cynthia, mothers give their infants motion cues. They engage in activities with their children that the children cannot do by themselves, but can be trained to do with their caregiver&#39;s help.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&quot;What the robot sees drives what it does,&quot; Brooks said.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Inside these robots exists a three-dimensional space; the robot&#39;s emotions are a point in that space. The robot uses its emotional state to generate how it reacts to certain objects, and can display emotion through facial expressions.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;In another experiment suggestive of robots&#39; similarity to children in their earliest stages of development, the lab called in various people to speak with the robot.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&quot;When a mother interacts with her child, she generates messages through her voice: praise, attention, prohibition,and soothing are the four basic messages,&quot; Brooks said.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;In the video, when one woman said, &quot;Good job, Kismet! Look at my smile!&quot; in an encouraging voice, the robot smiled proudly. When another said, &quot;No, no, that&#39;s not appropriate&quot; in a disparaging tone, Kismet lowered his head, his large ears drooping.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Although robots like Kismet don&#39;t actually understand the meanings of words, they are able to vocally replicate phonemes. As people teach various words to Kismet and Cog, another of CSAIL&#39;s robots, the robots can repeat them and identify them with their corresponding objects.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Brooks acknowledges that the development of intelligent robots is still in beginning stages, although significant progress has been made in areas like navigation. However, he said, &quot;I think beyond navigation, robots have new possibilities which will be important.&quot;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;As the world&#39;s demographics shift in the next half century, robots can be useful in fields such as manufacturing, agriculture and elderly assistance. Brooks imagines being able to roboticize large agriculture machines for the maintenance of individual plants. Such robots could do menial and time-consuming tasks like pruning and picking.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&quot;Europe and the U.S. import low-cost labor now ... But that labor may not be there in 50 years,&quot; Brooks said.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Second, robot arms could be used for fixed automation, which is particularly useful in manufacturing. Such robots would require the dexterity of a six-year-old, said Brooks. Third, he hoped that robots could be developed to provide in-home care to the elderly, who will soon comprise a much larger demographic in places like North America, Europe, Korea and Japan.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;The future, however, holds many challenges to realizing certain robotic applications. &quot;Will we accept robots?&quot; Brooks asked the audience.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;It may be hard, he explained, for humans to come to grips with machines that may equal or surpass their own capabilities. Few people want to admit that their emotions can exist within a machine.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&quot;I&#39;m not saying current robots have real emotions, but if they did, it would be hard for people to accept ... and there would certainly be legislation against it!&quot; Brooks said as the audience laughed.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&quot;I liked the lecture very much,&quot; said Hugo Fierro grad. &quot;I already took some courses on robots, but never thought about the philosophical aspect of it. I liked his predictions, although they&#39;re very futuristic.&quot;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&quot;It was a lot of fun. I heard some very interesting and provocative ideas,&quot; said Prof. Graeme Bailey, computer science.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;And as for the possibility of Brooks&#39; vision becoming reality someday? &quot;I hope so,&quot; Bailey said. &quot;If one was to answer no to that, we have a somewhat dismal future for ourselves.&quot;&lt;/p&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/6886591449447880249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-future-of-robotics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/6886591449447880249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/6886591449447880249'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-future-of-robotics.html' title='Robotics - Future of Robotics'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-3474648128711255325</id><published>2010-07-23T22:39:00.001-07:00</published><updated>2010-07-23T22:39:40.898-07:00</updated><title type='text'>Robotics - Interesting points about Robotics</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;72%&quot; valign=&quot;top&quot;&gt;&lt;p align=&quot;center&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:100%;&quot;&gt;Robotics Minicourse: Basics of Robotics&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Welcome to this Open University robotics minicourse, which is aimed at anyone who has a general interest in robots and now wishes to learn more about robotics. We hope you&#39;ll find the course entertaining, informative and worthwhile!&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/manbug.jpg&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The minicourse concludes with some multiple-choice questions.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Building robots involves the development of a wide range of skills, including creative thinking, design, mechanics, electronics and programming - all of which are highly valued in industry. Your interest in the subject could lead you into an exciting and fulfilling career at the cutting edge of technology!&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;You can follow up this minicourse by taking the Open University&#39;s short course T184 &lt;i&gt;Robotics and the meaning of life: a practical guide to things that think&lt;/i&gt; which will further develop your knowledge and practical skills in robotics. There is a version of this course offered by some schools. To find out more about this, see the Open University Young Applicants in Schools Scheme.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:100%;&quot;&gt;What are robots?&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Nowadays, the word &lt;i&gt;robot&lt;/i&gt; is often applied to any device that works automatically or by remote control, especially a machine (&lt;i&gt;automaton&lt;/i&gt;) that can be programmed to perform tasks normally done by people.&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;100%&quot; border=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;47%&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img height=&quot;210&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/dog-go.jpg&quot; width=&quot;208&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width=&quot;53%&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/rcj-2.gif&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Before the 1960s, &lt;i&gt;robot&lt;/i&gt; usually meant a manlike mechanical device (&lt;i&gt;mechanical man&lt;/i&gt; or&lt;i&gt;humanoid&lt;/i&gt;) capable of performing human tasks or behaving in a human manner. Today robots come in all shapes and sizes, including small robots made of LEGO, and larger wheeled robots that play robot football with a full-size ball.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;What many robots have in common is that they perform tasks that are too dull, dirty, delicate or dangerous for people. Usually, we also expect them to be autonomous, that is, to work using their own sensors and intelligence, without the constant need for a human to control them. Looked at this way, a radio controlled aeroplane is not a robot, nor are the radio controlled combat robots that appear on television. However, there is no clear dividing line between fully autonomous robots and human-controlled machines. For example, the robots that perform space missions on planets like Mars may get instructions from humans on Earth, but since it can take about ten minutes for messages to get back and forth, the robot has to be autonomous during that time.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:100%;&quot;&gt;Where did the word &lt;i&gt;robot&lt;/i&gt; originate?&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The word &lt;i&gt;robot&lt;/i&gt; was introduced in 1920 in a play by Karel Capek called R.U.R. , or Rossum&#39;s Universal Robots. Robot comes from the Czech word &lt;i&gt;robota&lt;/i&gt;, meaning forced labour or drudgery. In the play, human-like mechanical creatures produced in Rossum&#39;s factory are docile slaves. Since they are just machines, the robots are badly treated by humans. One day a misguided scientist gives them emotions, and the robots revolt, kill nearly all humans and take over the world. However, because they are unable to reproduce themselves, the robots are doomed to die. However, the sole surviving human creates a male and a female robot to perpetuate their species.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:100%;&quot;&gt;Have people always been fascinated by human-like machines?&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The roots of robotics can be traced back to Greek mythology and Jewish mysticism. Several myths from Ancient Greece tell of statues being brought to life. According to Aristotle, the legendary Greek inventor, Daedalus (whose son Icarus flew too close to the sun), created animated statues that guarded the entrance to the Labyrinth in Crete. The Jewish Talmud describes the making of a &lt;i&gt;golem&lt;/i&gt;, a clay model brought to life by the chanting of magical combinations of letters from the Hebrew alphabet. A similar idea can be found in medieval alchemy, in which the philosopher&#39;s stone was believed to have a life-giving force. Mary Shelley drew upon such traditions in her 1818 novel &lt;i&gt;Frankenstein&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:100%;&quot;&gt;What are the Laws of Robotics?&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The term &lt;i&gt;robotics&lt;/i&gt; was coined in the 1940s by science fiction writer Isaac Asimov. In a series of stories and novels, he imagined a world in which mechanical beings were mankind&#39;s devoted helpmates. They were constrained to obey what have become known as Asimov&#39;s Laws of Robotics:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;A robot may not injure a human being, or, through inaction, allow a human being to come to harm.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;A robot must obey the orders given it by human beings except where such orders would conflict with the First Law.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Asimov’s book of short stories, &lt;i&gt;I, Robot&lt;/i&gt;, investigates the interplay between these laws. In one of the stories, there is a scandal because a candidate for mayor is suspected of being a robot – no-one has ever seen him eat, drink, or sleep.&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;100%&quot; border=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;28%&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/mayor.gif&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width=&quot;72%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;However, the mayor claims he is not a robot, and the story has many twists and turns before we find out. Is it possible that we would allow robots to run our lives? After all, if they obey the First Law of Robotics, they will never harm us. In this respect they could be better than human politicians! This will not be a practical problem for many years, but who knows what the future holds?&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:100%;&quot;&gt;What was the first practical robot?&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;A prototype industrial robot arm named &lt;i&gt;Unimate&lt;/i&gt; (designed by George Devol and Joseph Engelberger) was sold to General Motors in 1959. It plucked hot automobile parts out of a die-casting machine and quenched them in water.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The 1960s and 1970s saw a revolution in manufacturing as robots replaced humans for many repetitive jobs. However, these robots were not intelligent by today’s standards. Usually they were programmed by humans training their movements, and they had very little decision-making capabilities. There are still many robots like this in factories today, but the trend is towards more intelligent general-purpose robots that can do more than just paint a panel or screw in a bolt.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:100%;&quot;&gt;Are space probes robots?&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Space probes hurtling through the solar system may not seem like robots, but they fully merit that name by performing programmed tasks over long periods without direct human supervision. Operating in the vacuum of space and withstanding exposure to radiation and extremes of temperature, they explore places not yet accessible to humans.&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;100%&quot; border=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;71%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;On Christmas Day 2003, the Beagle 2 mission to Mars attempted to land on the Martian surface. Had the landing gone smoothly, the robotic shell would have opened and deployed solar panels to collect electricity, as well as a ‘PAW’ to collect rock and soil samples for a small analytic laboratory. The lander also had a ‘mole’ that would have burrowed into the surface to collect samples for analysis. Beagle 2 is shown on the right with its inventor, Professor Colin Pillinger of the Open University.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;29%&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/down2.jpg&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:100%;&quot;&gt;What can&#39;t robots do?&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;It is very difficult to give a robot the ability to perform a wide variety of tasks, move around in cluttered surroundings, recognise objects in the ‘real world’, understand normal speech, and think for itself. These are exciting areas of current research in robotics and artificial intelligence.&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;100%&quot; border=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;40%&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img height=&quot;181&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/tmpd.gif&quot; width=&quot;206&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width=&quot;60%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;For example, the robot shown here has the problem of deciding where to cross the river. How can it make this decision? How would you do it? Perhaps you have come across a similar situation before. Perhaps you could look it up in a guide book. Perhaps you would reason that B is better than C because the water is likely to be shallower? Perhaps you would choose A, because you tried it before. All these ways of making decisions come very naturally to humans, but they are very difficult to program into robots.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Another great problem in robotics is getting them to understand language. This is very important in problem-solving. For example, the four cards below have a letter on one side and a number on the other. If a card has a vowel (a, e, i, o, u) on one side then it has an even number on the other. Which cards do you have to turn over to see if this is true? Think about your answer, then point to a card to turn it over.&lt;/span&gt;&lt;/p&gt;&lt;table width=&quot;400&quot; border=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img alt=&quot;letter E with number 6 on reverse&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/letterE.gif&quot; border=&quot;0&quot; name=&quot;Image1&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img alt=&quot;letter K with number 1 on back&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/letterK.gif&quot; border=&quot;0&quot; name=&quot;Image2&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img alt=&quot;number 4 with letter U on reverse&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/number4.gif&quot; border=&quot;0&quot; name=&quot;Image3&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img alt=&quot;number 7 with letter A on reverse&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/number7.gif&quot; border=&quot;0&quot; name=&quot;Image4&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Now consider the following cards where the rule is ‘every time I go to Paris I go by plane’. Which cards have to be turned over to test this? Again, think about your answer before turning the card over.&lt;/span&gt;&lt;/p&gt;&lt;table width=&quot;80%&quot; border=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img alt=&quot;Paris card&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/paris.jpg&quot; border=&quot;0&quot; name=&quot;Card 1&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img alt=&quot;Madrid card&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/madrid.jpg&quot; border=&quot;0&quot; name=&quot;Card 2&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img alt=&quot;Plane card&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/plane.jpg&quot; border=&quot;0&quot; name=&quot;Card 3&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img alt=&quot;Train card&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/train.jpg&quot; border=&quot;0&quot; name=&quot;Card 4&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The answer to the first question is that you have to turn over the E to see if it has an even number on the back and you have to turn over the 7 to check that it does not have a vowel on the back. In an experiment, only 12% of people got this second part right (did you?).&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The answer to the second question is much easier. Of course you have to turn over the Paris card to check that it has the word plane on the back, but now it’s much more obvious that you have to turn over the train card to make sure it does not have Paris on the back. In the experiment mentioned above, 60% of people got the second part right.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;These problems are logically the same, so the experimenters drew the conclusion that the meaning of the symbols is an important part of problem solving. Since robots have very poor language capabilities, their ability to use this kind of reasoning is very limited.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Another of the great problems in robotics is getting them to ‘see’. Although it is easy to put a camera on a robot, it is much more difficult to get the robot to understand what is in an image. Most humans have miraculously good vision. We are able to resolve great ambiguity in scenes. It has proved much more difficult to get robots to understand what is in their universe, and machine vision remains one of the big unsolved problems in robotics research.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/fig25-mum.jpg&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;There are other problems in robotics that make progress slow. For example, your body is covered with skin, and this contains millions of sensors that allow you to do many fantastically precise things. For example, try typing at a computer with gloves on. The lack of touch feedback will make it very difficult. Also your muscles enable you to have very fine control. Even if you are rather clumsy, you are probably much better at manipulating objects than the average robot. Most people would not let a robot dust their favourite china.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:100%;&quot;&gt;Will robots ever be as good as humans?&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Many futurists believe that robots will eventually and inevitably become more capable than humans, but some experts in artificial intelligence assert that machines will never be able to develop the consciousness and emotions needed for reasoning and creativity.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Nonetheless, there are already commercially available robots that can live in our houses and do basic chores for us. Robots are very good at processing certain kinds of information, and they are ideally suited to answering the telephone and being controlled over the Internet.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The International RoboCup Federation has set itself the challenge of having a team of humanoid robot football players beat the human world champions by 2050. Can you image that? It means that robots will have to become as nimble and skilful as Beckham. It will require the invention of many new materials – for example, a human soccer player could be badly hurt if it clashed with a robot made of metal. It will also require an enormous improvement in machine vision. If you play sports such as football, tennis, or even snooker, next time you play think about the huge amount of information that comes through your eyes.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:100%;&quot;&gt;What is the future for robots?&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Robotic pets, lawn mowers and vacuum cleaners are already on the market. Following the success of their Aibo robot dog, Sony have developed a humanoid entertainment robot named QRIO. Honda&#39;s Asimo welcomes customers to their showrooms in Japan. Toshiba have built a robot that can play volleyball. Fujitsu&#39;s HOAP-2 can perform Japanese Sumo wrestling stances, as well as moves from the Chinese martial art taijiquan.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Rapid advances are being made in robotic control systems, artificial intelligence, neural networks, and in the miniaturisation, sophistication and reliability of electronic circuitry, sensors and actuators. These are all contributing to a steady increase in the capabilities of robots. Robots currently under development may become widely used in the food, clothing, nuclear and offshore industries, healthcare, farming, transportation, mining and defence.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:100%;&quot;&gt;Will robots take over from humans?&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This is a popular science fiction theme, and the answer depends on whether robots will ever attain consciousness and emotions. In stories like &lt;i&gt;2001: A Space Odyssey&lt;/i&gt; and &lt;i&gt;Terminator&lt;/i&gt;, humans always find a way to outwit intelligent machines that try to take over control. That&#39;s fiction, however, and fact is often stranger than fiction!&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The suggestion that robots will take over because they might become more intelligent than humans overlooks one critical fact: the people who have power in human societies are usually not the most intelligent in the obvious, intellectual way. They have different kinds of ‘human intelligence’, including the ability to understand other people, and to influence their behaviour.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The sensible answer to the question as to whether robots will take over is that they probably won’t in the near future. There are many reasons for this. The first is that the robots of today have puny brains compared to humans, and they do not have the ability to organise in the same way as humans. Our societies are very complex and allow us to achieve many very advanced things. It is unlikely that robots could overtake us in the near future. Even so, it is something that we should keep an eye on, since all scientists have a responsibility not to do things that damage society.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;However, for the most part, robots play a very positive role in our societies, and we can expect them to be used in many ways that make life better for us all.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;If you would like to, why not try out the quiz associated with this minicourse? Go to quiz now.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Alternatively, if this minicourse has taken your interest, why not look at the introductory 10 point credit course, T184 - Robotics and the Meaning of Life&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/3474648128711255325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-interesting-points-about.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/3474648128711255325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/3474648128711255325'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-interesting-points-about.html' title='Robotics - Interesting points about Robotics'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-3643184298005434238</id><published>2010-07-23T22:38:00.003-07:00</published><updated>2010-07-23T22:38:34.197-07:00</updated><title type='text'></title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Beginner - Programming Loops and Conditions&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Until now our programming has been limited to running through the code once, and then the program stops functioning. This is clearly not suitable for a robot, which must be able to follow it&#39;s commands continuously for the length of time it is switched on. To do this we use loops.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;We also want our robots to make decisions based on data from its sensors, for this we need conditional statements. Loops themselves contain conditional statements in order to tell them when to run and how long to continue.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;There are several different loop commands, letting us control the function of the robot in a variety of ways.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000080;&quot;&gt;Do Loops:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The simple Do loop can be used to enclose your whole program, when it reaches the end of the code it returns to the beginning and starts again. We can apply this to our program used in the introduction.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Sub main()&lt;br /&gt;Dim answer As string&lt;br /&gt;Dim answerI As integer&lt;br /&gt;&lt;br /&gt;Do &#39;start of loop&lt;br /&gt;&lt;br /&gt;answerI = 5*5&lt;br /&gt;answer=Cstr(answerI)&lt;br /&gt;debug.print &quot;The answer is &quot;; answer&lt;br /&gt;&lt;br /&gt;Loop &#39; end of loop&lt;br /&gt;End Sub&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;As you will see when you run this program, the statement is no longer displayed once, but continues to print as long as the program runs (you should press the reset button to stop it)&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Now for something slightly more useful. We can add a conditional statement to the do loop by using a &#39; while &#39; statement. This lets us tell the Robocore when to stop looping.&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Sub main()&lt;br /&gt;&lt;br /&gt;Dim answerI As integer&lt;br /&gt;Dim answer As string&lt;br /&gt;Dim i As integer&lt;br /&gt;i=0&lt;br /&gt;&lt;br /&gt;Do While (i &lt; 10)&lt;br /&gt;answerI = 5*5&lt;br /&gt;answer=Cstr(answerI)&lt;br /&gt;debug.print &quot;The answer is &quot;; answer&lt;br /&gt;i=i+1&lt;br /&gt;loop&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Using the conditional statement &#39; while &#39; and a new integer variable i we have made the Robocore loop only 10 times (note that as 10 is not less than 10 the program will stop after the I = 9 loop)&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000080;&quot;&gt;For Loop:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;We can set up the same loop using the for statement remove the Do while, Loop and i=i+1 lines and replace them with:&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Do While &lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/arrow.gif&quot; align=&quot;middle&quot; /&gt; For I = 1 to 10 Step 1&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Loop &lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/arrow.gif&quot; align=&quot;middle&quot; /&gt; Next&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The loop runs from 1 to 10 stepping up 1 each loop, this removes the need for the line I=I+1.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Run the program to check that you have got it right.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Now for something a little more complex, instead of just doing one sum, we can automate the Robocore to do 10 different sums for us by changing the equation to&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;AnswerI = I*5&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Now the Robocore takes the number of loops completed and multiplies it by five. When you run this program you should now get the answers 5,10,15 up to 50.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000080;&quot;&gt;If Statement:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;We can run a conditional statement without using a loop with an if statement. These are used as follows&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Const switch as Byte = 5&lt;br /&gt;Sub Main()&lt;br /&gt;Do&lt;br /&gt;&lt;br /&gt;if (GetPin(switch)=1) then&lt;br /&gt;debug.print&quot;switch pressed&quot;&lt;br /&gt;call sleep(0.15)&lt;br /&gt;end if&lt;br /&gt;&lt;br /&gt;Loop&lt;br /&gt;End Sub&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The best way to learn is to experiment, make your own program with what you&#39;ve learnt and you&#39;ll soon feel more confident&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/3643184298005434238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-beginner-programming_23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/3643184298005434238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/3643184298005434238'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-beginner-programming_23.html' title=''/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-5035426301099336690</id><published>2010-07-23T22:38:00.001-07:00</published><updated>2010-07-23T22:38:17.397-07:00</updated><title type='text'></title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Beginner - Programming Variables&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Variables are values stored in computer memory. We need to use them for almost every program to allow the Robocore to remember things. There are various different types of values, for example strings, which are text values, and integers, which are whole number values.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The computer needs you to tell it what type of value you want to use, otherwise it will get confused.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Each type of variable has its uses and limitations, which is why there are simple methods for switching between variable types. This was shown in the last tutorial, lets look at that program again line by line.&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Sub main()&lt;br /&gt;Dim answerI As integer &#39; declaring&lt;br /&gt;Dim answer As string &#39; variables&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The Dim lines declare the variables, that means they set them up for use in the program. The type of variable must be specified using the &#39; As &#39; keyword. Here we have an integer and a string.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;answerI = 5*5 &#39; doing the math&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Here the integer variable is used, this is because mathematical functions can be performed using it such as multiplication&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;answer=Cstr(answerI) &#39;convert to printable format&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Using the CStr statement the integer value held in answerI is converted into a string and held in answer, this is a text variable allowing the answer to be printed to the screen using debug.print.&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;debug.print &quot;5 times 5 is &quot;; answer &#39;print answer&lt;br /&gt;End Sub&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Variables can have nearly any name, but you cannot use words that are otherwise used in the programming language, and it is best to keep them simple, either a single letter, or a word describing what the variable does.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Other types of variables are available. One of the types used commonly in robotics is the Boolean variable. This provides us with a true or false value.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;For example a bump sensor will either be pressed or not pressed, so the Boolean variable for it will either be true (pressed) or false.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;We set up Boolean variables using the following statement&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Dim variable As Boolean.&lt;br /&gt;variable = true&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Boolean logic is commonly used with conditional statements, these are covered in the next section.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;There is also the Single variable type, which allows floating point numbers e.g 2.43 or -0.66, this is occasionally useful in robotics when more maths is necessary.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/5035426301099336690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-beginner-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/5035426301099336690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/5035426301099336690'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-beginner-programming.html' title=''/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-4296476029085819426</id><published>2010-07-23T22:37:00.002-07:00</published><updated>2010-07-23T22:38:01.704-07:00</updated><title type='text'>Programming Tutorials</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Beginner - Programming Introduction&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;This is an introduction to programming using the BasicX micro controller, if you have never programmed before this will help you on your way. More experienced readers should still skim through this to get the basics of the language.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Programming is a common language between you and your Robocore, it lets you tell it what to do. In robotics, programming is necessary to make machines that can work by themselves, without human intervention. These are called autonomous robots.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;1) Lets start by connecting your Robocore to the power supply and the serial port of your computer, and loading up the BasicX software.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;2) When this is loaded, click on the Monitor Port menu and select the COM port that the Robocore is connected to (probably COM1). The Download Port menu should be set to the same COM port.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;3) Click the editor button. A window should open asking for a filename. Just type a name for your first program, lets say Demoprog. It will tell you that the file does not exist, so do you want to create it. Click yes.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Now lets write our first program!&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;To test that the BasicX is working, we will make it send a message back to your computer. This is done using the debug.print command.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Type the following program into the editor window (or copy and paste it). The first and last lines should already be present, if they are just copy the middle line.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Sub main()&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;debug.print &quot;Robocore test: Everything is working&quot;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;End Sub&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Before we can download to the BasicX we need to set the chip preferences. This basically tells the chip what we want to be doing with each pin (input, output etc). To do this click on the project menu, followed by chip (or the F7 shortcut). We can leave everything as it is for now so just click on OK.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Now click on the Compile menu and select Compile and Run (keyboard shortcut F5) This will send the code to the Robocore. Going back to the main BasicX window, you should see the text &#39; Robocore test: Everything is working &#39; appear on the screen.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The Sub main() and End Sub commands tell the Robocore where the program begins and ends.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The debug.print command is very useful for telling us what the Robocore is doing, in the next case we will see more of its capabilities.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Now we will make the Robocore solve an equation for us. To do this we will need a variable. This is a value stored under a name in the memory of the Robocore. We will give this variable the name &#39; answer &#39;.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Sub main()&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Dim answerI As integer &#39; declaring&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Dim answer As string &#39; variables&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;answerI = 5*5 &#39; doing the maths&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;answer=Cstr(answerI) &#39;convert to printable format&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;debug.print &quot;5 times 5 is &quot;; answer &#39;print answer&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;End Sub&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Run the program as before and you should get the computer telling you the answer.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;This program shows that you can print values from your program to the screen using debug.print just by adding a semi-colon and the variable name after the &quot;text&quot;, this is very handy for example when testing sensors.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The program also uses comments, these have no effect on the program but allow us to add information about each line of the program. The computer ignores everything written on the line after an apostrophe (&#39;).&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;This program has also introduced us to variables, the topic for the next tutorial in the programming series&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/4296476029085819426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/programming-tutorials_7469.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/4296476029085819426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/4296476029085819426'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/programming-tutorials_7469.html' title='Programming Tutorials'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-4050894600708708280</id><published>2010-07-23T22:37:00.001-07:00</published><updated>2010-07-23T22:37:36.507-07:00</updated><title type='text'></title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Beginner - Hardware - BodyWork&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;So now you&#39;ve learned about how to use some electronics to make a thinking control station for your robot but you&#39;ve still got the problem of building a platform to carry all of your bits around on.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Have a look around our shop for some ideas about what to make your robot out of. If you&#39;re not confident about making your robot from scratch we sell a strong plastic chassis that&#39;s an ideal base for most projects.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;A great way of building a robot chassis is to hit the garage. Find any scrap you can and get building. It&#39;s amazing what you can do with a bit of imagination and some of the stuff you&#39;ve probably got lying about. I made one of my favorite robots out of an old hard drive cage. With a bit of chopping and sawing I screwed on a couple of motors and gearboxes, fixed some wheels from an old toy car and I had a great chassis.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Another good material for building robots is the famous Lego brick. It may not be the strongest material but it gives you the freedom to totally dismantle your robot and build something new. Electronics and batteries can be attached quite easily with elastic bands.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/4050894600708708280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-beginner-hardware_2090.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/4050894600708708280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/4050894600708708280'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-beginner-hardware_2090.html' title=''/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-5377988050140300271</id><published>2010-07-23T22:36:00.004-07:00</published><updated>2010-07-23T22:37:04.874-07:00</updated><title type='text'></title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Beginner - Hardware - Sensors&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;The world we live in is a complex place. We have many senses to help us to understand our surroundings. In order to safely move around robots also need some way of understanding their world. The easiest way of doing this is to add simple sensors to you robot.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial, Helvetica, sans-serif;color:#000080;&quot;&gt;Bump Sensor:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;So, you&#39;ve fitted some motors to your robot and its happily driving around but it probably keeps colliding with obstacles and getting stuck. You need a way for your robot to detect collisions and move around objects. Enter the humble bump sensor:&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;A bump sensor is probably one of the easiest ways of letting your robot know it&#39;s collided with something. The simplest way to do this is to fix a micro switch to the front of your robot in a way so that when it collides the switch will get pushed in, making an electrical connection. Normally the switch will be held open by an internal spring.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Micro switches are easy to connect to micro controllers because they are either off or on, making them digital. All micro controllers are digital, so this is a match made in heaven. Micro switch &#39;bump&#39; sensors are easily connected to the Robocore, simply plug them into any free digital socket and away you go.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Arial, Helvetica, sans-serif;font-size:85%;&quot;&gt;The following diagram shows a typical circuit for a micro switch bump sensor. The resistor is important because it holds the signal line at ground while the switch is off. Without it the signal line is effectively &#39;floating&#39; because there is nothing connected to it, and may cause unreliable readings as the processor tries to decide if the line is on or off.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/senser1.gif&quot; /&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Arial, Helvetica, sans-serif;color:#000080;&quot;&gt;&lt;b&gt;Light Sensor:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Arial, Helvetica, sans-serif;font-size:85%;color:#000000;&quot;&gt;Light sensors are perfect for making your robot more interesting. With some light sensors you can make your robot follow a light, hide in the dark or even turn on some funky headlights if the light level got a bit low (under a table for example).&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Light sensors are basically resistors that change their value according to how much light is shining onto them.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;They are easy to connect to the Robocore, with a simple circuit they can be plugged straight into a free analogue socket. Getting results from them can&#39;t be simpler. Get the processor to take a reading from the socket that the sensors connected to. A high value means not much light is falling on the sensor; a low value means a lot of light is falling on the sensor.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/5377988050140300271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-beginner-hardware_23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/5377988050140300271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/5377988050140300271'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-beginner-hardware_23.html' title=''/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-2927879933547909318</id><published>2010-07-23T22:36:00.003-07:00</published><updated>2010-07-23T22:36:47.882-07:00</updated><title type='text'></title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Beginner - Hardware - Motors&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Motors are one of the most common methods used to move robots around. They can be connected to gears and wheels and are a perfect way of adding mobility to your robot. There are many types of motor, and this tutorial will cover the main ones useful for robotics.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;DC Motors:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;These are the most common and easy to use motor available. They are connected to a power supply by two wires. The direction of the motor shaft rotates can be changed by reversing the polarity (swap the positive and negative wires) of the motor supply voltage.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Unfortunately motors use quite a bit of current, so you cant just plug them straight into your processor and expect them to work, the processor won&#39;t be able to supply the motor with enough current. We need to find a way of turning the motors on and off using the processor. This can be done by many methods, including transistors, relays or a motor driver chip. The Robocore contains two motor driver chips that can control up to 4 DC motors simultaneously. Connecting motors to the Robocore couldn&#39;t be simpler. Just connect the 2 wires of each motor to one of the motor outputs on the Robocore and your ready to go. The motor is controlled by 2 output pins on the processor, lets say pin 1 and pin 2. The motors direction can be changed by different outputs of the pins. See table below&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Pin 1 Pin 2 Motor Output&lt;/p&gt;&lt;table width=&quot;75%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;31%&quot;&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#0080c0;&quot;&gt;&lt;b&gt;Pin 1&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;35%&quot;&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#0080c0;&quot;&gt;&lt;b&gt;Pin 2&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;34%&quot;&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#0080c0;&quot;&gt;&lt;b&gt;Motor Output&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;31%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;On&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;35%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Off&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;34%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Clockwise&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;31%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Off&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;35%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;On&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;34%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Anti-Clockwise&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;31%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Off&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;35%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Off&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;34%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Motor Off&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;For help programming the chip to do this have a look at the motor programming guide.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Servo Motors:&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/small_servo1.jpg&quot; align=&quot;right&quot; /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;div align=&quot;left&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Servo motors are perfect control motors, They can be told to rotate to a specific position, making them ideal for anything that requires precision movement. Most servo motors can rotate through about 90 to 180 degrees, some rotate through a full 360 degrees. Servo&#39;s however, are unable to continually rotate, meaning they can&#39;t be used for driving wheels, but their precision movement makes them ideal for powering legs, controlling rack and pinion steering and much more.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/small_inside_servo.jpg&quot; align=&quot;left&quot; /&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Servo motors are totally self contained. They contain a motor, gearbox and driver electronics, meaning they can be controlled directly from a microcontroller, without the need for interface electronics. The picture to the left shows the inside of a servo. You can see the gears, motor and control circuitry.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Servos have 3 wires connected to them. 2 are for the power supply, usually between about 5 and 7 volts. The third wire is the control wire, which can be connected directly to the processor or micro controller (or an output of the Robocore). The position the servo rotates to can be controlled by sending pulses of electricity to the servo. Changing the delay between pulses directly controls the servos position.&lt;/p&gt;&lt;p class=&quot;link&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 0px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; &quot;&gt;If you want to learn more about servo motors take a look at the &lt;a href=&quot;http://www.electronicsteacher.com/Robotics/tutorial/intermediate-robotics/robotics-tutorial-main.htm&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;intermediate section&lt;/a&gt; of the tutorials.&lt;/p&gt;&lt;p class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Stepper Motors:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Stepper motors work in a similar way to dc motors, but where dc motors have 1 electromagnetic coil to produce movement, stepper motors contain many. Stepper motors are controlled by turning each coil on and off in a sequence. Every time a new coil is energized, the motor rotates a few degrees, called the step angle. Repeating the sequence causes the motor to move a few more degrees and so on, resulting in a constant rotation of the motor shaft. For example, a stepper motor with a step angle of 7.5 degrees requires 48 pulses for a complete revolution, or 96 pulses for 2 complete revolutions.&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;The diagram below shows how a stepper motor works. The magnet in the middle of the arrangement is connected to the motor shaft and produces the rotation. The 4 magnets around the outside represent each coil of the stepper motor. As different coils are energized the central magnet is pulled in different directions. By applying the correct sequence of pulses to the coils the motor can be made to rotate.&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/stepperdiag1.gif&quot; /&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;This design gives stepper motors the upper hand over DC motors. Varying the speed of the input sequence can exactly control the speed of the motor. Also, by keeping count of the sequence the motor can be made to rotate any number of times to any position&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/2927879933547909318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-beginner-hardware.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/2927879933547909318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/2927879933547909318'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-beginner-hardware.html' title=''/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-7323998242155177860</id><published>2010-07-23T22:36:00.001-07:00</published><updated>2010-07-23T22:36:27.365-07:00</updated><title type='text'>Robotics - Robotics Tutorials - Beginner</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Beginner - Hardware - Robots Brains&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Building robots is great fun, but just imagine a robot that can &#39;think&#39; for its self. Adding a brain to your robot need not be a hard process, and will allow your robot to follow instructions and rules. Basically, robot brains come in two forms, analogue and digital.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color:#000080;&quot;&gt;Analogue Brains&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;It is possible to control your robots actuators (motors etc) using &#39;hard wired&#39; circuits. By making circuits from capacitors, transistors and resistors you can make robots that can follow simple rules. For example, if they hit a wall a simple switch positioned on the front of the robot would be pressed in and the robot would be able to reverse and turn, hopefully avoiding the obstacle on its next pass.&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Analogue brains have their disadvantages though. They require quite a good knowledge of electronics to design, and once they are built are very difficult to change. If you want to change the behavior of your design you will probably need to totally rebuild your analogue brain.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Analogue circuits are generally not recommended for beginners in electronics or robotics.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Luckily for experimental roboticists there is another option: Digital Brains&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color:#000080;&quot;&gt;Digital Brains&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Devices called micro controllers make perfect &#39;brains&#39; for robots. They are small computers on a single chip, containing their own memory and processor, and can be programmed by a PC to control your robot in any way you can imagine.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;What makes micro controllers so good is that they can be re programmed again and again with just a click of a mouse. There is no need to get the soldering iron out and start messing with components like analogue circuits.&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;Programming these chips is fairly easy to learn, but may take a bit of patience to fully understand. Learning to program by sticking your head in a textbook and trying to memorize programs is a very slow and boring way to learn. By far the easiest way to master programming is to have a go, work through a few tutorials and try out some examples. By playing about and trying ideas you&#39;ll soon get an understanding of how programs work, and how you can write your own.&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/7323998242155177860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-robotics-tutorials-beginner.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/7323998242155177860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/7323998242155177860'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-robotics-tutorials-beginner.html' title='Robotics - Robotics Tutorials - Beginner'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-3699279660011820543</id><published>2010-07-23T22:35:00.003-07:00</published><updated>2010-07-23T22:35:40.086-07:00</updated><title type='text'></title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Intermediate - Hardware - Build an Obstacle Avoiding Robot&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;right&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This tutorial will talk about making a fairly simple robot using the Robocore, Sharp GP2D02 IR proximity sensor and a couple of microswitch bump sensors. At the bottom of the page you can find a sample program for it.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This little robot is great; the Sharp IR gives it an infra red &#39;vision&#39; of up to 80cm. Watching a robot driving around and magically &#39;seeing&#39; obstacles in its path is great to watch. Unfortunately its not foolproof and small objects might go undetected, so a pair of bump sensors on the front are needed for backup.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;I used Lego to build the robot chassis but obviously you can use whatever you want. I like Lego for this sort of application because it&#39;s easy to work with and can be quickly modified. The finished robot is shown below:&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/tutrobot1.jpg&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;I&#39;m going to briefly talk about making the chassis but I&#39;m not going to concentrate on it too much. Lego is a great fun, so play about with your ideas. Below are a few pictures of the Lego shell so you can get an idea as to what I did.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/tutrobot2.jpg&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The bump microswitches are glued to the front Lego brick and attached to the sliding bump bar with masking tape. There might be a better way to do that but glue worked fine for me. The yellow elastic bands on either side of the chassis reset the bump bar after a collision&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/tutrobot3.jpg&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;I&#39;m a big fan of tracked robots because my lab isn&#39;t the tidiest of places and tracks give it a bit of climbing power. They do, however, make turning less efficient, but with good gearing and light robots this isn&#39;t really a problem&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;So now that you&#39;ve built your chassis out of something it&#39;s now time to put all the electronics into place. All of the components used are shown below, excluding the bump microswitches.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/tutrobot4.jpg&quot; width=&quot;208&quot; height=&quot;188&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;I used the Robocore, 9.6 volt battery pack, Tamila to 2.1mm converter and Sharp GP2D02 IR sensor.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/bumpsensorjack.gif&quot; width=&quot;178&quot; height=&quot;350&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The bump sensors were soldered to 0.1&quot; pitch headers with 47K pull down resistors. For more information about interfacing microswitches look at the tutorial here (link to tutorials, beginners, sensors)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img height=&quot;186&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/tutrobot5.jpg&quot; width=&quot;290&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Likewise, the Sharp GP2D02 was soldered to 0.1&quot; pitch header.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt; To follow the sample program the following connections should be made:&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;- DC motors should be connected to motor outputs 1 and 2.&lt;br /&gt;- The bump sensors on pins 10 and 12.&lt;br /&gt;- The Sharp on pins 13 and 15.&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/tutrobot6.jpg&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;To put the whole thing together I stuck the battery in first then placed the Robocore on top, simply securing everything in place with a couple of elastic bands. The Sharp IR sensor is mounted on the front of the chassis with elastic bands.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The software drives the robot forwards until it detects an obstacle with either the Sharp or bump sensors and turns accordingly. The Sharp sensor gives no indication as to which side the object is on so the software alternates its turn direction. This can produce some fun &#39;dancing&#39; if the robot drives into a corner but generally works well.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/3699279660011820543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-intermediate_8859.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/3699279660011820543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/3699279660011820543'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-intermediate_8859.html' title=''/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-9063377316300558833</id><published>2010-07-23T22:35:00.001-07:00</published><updated>2010-07-23T22:35:13.598-07:00</updated><title type='text'></title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Intermediate - Hardware - Using the Sharp GP2D02&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;right&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This tutorial will walk you through connecting the Sharp GP2D02 infra red proximity sensor to the Robocore. Here at Robologic we love this sensor, its easy to interface and allows your robot (or whatever your building) to &#39;see&#39; objects in front of it and magically steer around them.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Your Sharp GP2D02 comes with the connector,wires and diode needed to attach it to the Robocore. So to start lets attach the wires to the connector pin. There are numbers on the conductor but they are very small and hard to see. The following diagram should show the order of the pins.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/sharpgp2d02connector.gif&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;500&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;14%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;13%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Pin 1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;21%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Pin 2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;21%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Pin 3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;19%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Pin 4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;14%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;SharpPin&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;13%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;GND&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;21%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Vin&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;21%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Vcc&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;19%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Vout&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;14%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Wire Colour&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;13%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Black&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;21%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Green&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;21%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Red&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;19%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Yellow&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The Sharp sensor uses something called an open drain input. This is outlined in the specification tables but means that it can&#39;t directly interface with the 5 volt logic outputs of the Robocore.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The open drain input Vin naturally floats high at 3 volts, where as the Robocore (or any other logic circuit) is high at 5 volts. It is Activated when it is pulled to ground. The problem is that the line can&#39;t be pulled high to 5 volts because it exceeds the maximum characteristics of the open drain circuit. If the Vin line is connected directly to the Robocore the sensor will not work.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;A solution to this problem is to use the diode provided to only enable the current to flow when the Robocore logic level is low. The diode stops the Vin line from being pulled too high but allows it to be pulled to ground to enable the sensor.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/interface.gif&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The diode can be soldered onto the green wire connected to the Vin pin of the Sharp sensor. Once the diode is soldered in place cover it with insulation tape or heat shrink tubing to prevent it making contact with any other electrical lines. The diode has a black stripe on one side, it is essential that the black strip is facing in the direction of the Robocore.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The Vcc line can be connected to any 5 volt regulated output of the Robocore.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The interface between the Robocore and the sensor is a serial interface. If you are familiar with serial interfaces the following timing diagram will show the sensors operation. The clock line is Vin, the Data line is Vout.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/diagram.gif&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;If you are not familiar with timing diagrams here is an expalin the operation of the sensor.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Vin is used by the Robocore to control when we want to receive data, Vout is the line used by the sensor to give data to the Robocore. When the sensor is deactivaled (Vin line is high) the sensors output line Vout floats high (at 5 volts). To activate the sensor we pull Vin low. To show that the sensors active Vout goes low for about 70ms, this is when the sensor takes its measurement. When it is done Vout goes high. So we must wait for at least 70ms or until Vout goes high again.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Once the measurement has been taken we can read in the data. We use Vin as a clock to tell the sensor when we are ready for the data. A clock is a on off pulse, every time the pulse goes low another bit can be read in from the Vout line.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;So, we wait for Vout to go high, telling us the sensor is done taking its reading. Now we pull Vin high and start our clock. Note, the timing diagram says that there must be no longer than a 0.2ms pause between pulling Vin high and starting the clock.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;To take readings we simply cycle Vin through an On - Off loop, the data is an 8 bit number so the clock must make 8 on -off cycles. Every time we turn the clock off we can look at Vout and get a data bit (either on or off). The first bit outputted is the most significant bit (or the largest bit).&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Once we have pulled all the 8 bits from the sensor we can pull Vin high again so the sensor is ready to take its next reading.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The sensor will give us an 8 bit binary number (0 - 255 in decimal), and so finally we will need to convert it into a decimal number to be able to use it. If you don&#39;t understand binary numbers the following paragraph might help you.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Binary is a number system that is to the base 2, instead of to the base 10 like decimal. Instead of writing Hundreds, Tens, and Units as in the Decimal numbers, we write (from left to right) 1s, 2s, 4s, 8s, 16s, etc.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This means that in the binary system, the number 10111&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;center&quot;&gt;&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;300&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;65&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;16s&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width=&quot;59&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;8s&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width=&quot;53&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;4s&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width=&quot;54&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;2s&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width=&quot;57&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;1s&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;65&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width=&quot;59&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;0&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width=&quot;53&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width=&quot;54&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width=&quot;57&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;would represent one lot of 16, no lots of 8, one lot of 4, one lot of 2 and finally one unit, or else&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;(1 x 16) + (0 x 8) + (1 x 4) + (1 x 2) + (1 x 1) = 23&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;So 10111 in binary is 23 in decimal. Using this system we can convert the 8 bit binary number into a decimal format that we can work with.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Finally, there are a couple of sample programs that will hopefully get you started with the Sharp GP2D02, they both take readings from the sensor, convert the binary number into decimal and print it back to the PC screen. They should give you a few ideas as to how to program the sensor.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/9063377316300558833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-intermediate_4535.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/9063377316300558833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/9063377316300558833'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-intermediate_4535.html' title=''/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-8501160037223304470</id><published>2010-07-23T22:34:00.005-07:00</published><updated>2010-07-23T22:34:51.594-07:00</updated><title type='text'></title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Intermediate - Hardware - Light Sensors&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;right&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The beginners section hopefully made you think a little about some of the uses of light dependant resistors or LDR&#39;s. To use them you need to make a circuit called a potential divider, or a circuit that splits voltage (or potential). It looks something like this:&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/potdivider.gif&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This circuit is necessary because the any circuit that uses the ATD must be connected to ground for accurate readings to be possible.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The circuit can be explained with a bit of maths. The voltage out of a potential divider is&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;center&quot;&gt;&lt;center&gt;&lt;table width=&quot;70%&quot; border=&quot;0&quot; border cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;38%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Voltage Out =&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;62%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;u&gt;V in X LDR resistance&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;38%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;62%&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Resistor + LDR resistance&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;/div&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;If we think about this equation a bit we can see that Vin is always 5 volts, and the resistance of the fixed resistor is always 10,000 ohms (or 10 kilo ohms).&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;We know that the resistance of the LDR is dependant on the brightness of the light shining on it. In the dark it has a very high resistance, where as in bright light it has a very low resistance. So therefore, the output voltage of the potential divider will vary linearly according to the level of light on the LDR.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This circuit can be easily made on a small piece of strip board or a breadboard.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/8501160037223304470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-intermediate_6188.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/8501160037223304470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/8501160037223304470'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-intermediate_6188.html' title=''/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-2746315923455709353</id><published>2010-07-23T22:34:00.003-07:00</published><updated>2010-07-23T22:34:28.637-07:00</updated><title type='text'></title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Intermediate - Hardware - Analog and Digital&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;right&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;All micro controllers, including the Basic X are digital devices. This means they can only deal with 2 states, on and off. This is fine for sensors such as bump sensors and so on but not all sensors are digital. For example, a light sensor can tell you how bright a light is by varying its output voltage. This is clearly not digital, it can be on (5 volts) or off (0 volts) or at anywhere in between. To enable the Basic X to use these sensors it is fitted with an onboard analogue to digital converter or ATD for short.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;If you are using a different processor like the Basic stamp or other similar processor and want to use analogue sensors you will need to buy a separate ATD and interface it with your controller.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;What the ATD does is convert an analogue voltage into a digital form that can be understood by the processor. This is typically as a number between 0 and 255, 0 being off and 255 being on.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The main factor to look for in a ATD is its resolution. Most ATD&#39;s used in robotics will offer 8 bit resolution. An 8 bit binary number has a maximum value of 255 in decimal (or 11111111 in binary), so you get a resolution of 255 intervals in 5 volts. This roughly means that an 8 bit ATD can detect a 0.02 volt change in voltage, plenty for most applications.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The Basic X offers great performance in this department, it has an inbuilt 10 bit ATD which can be used on 8 of its 16 pins.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/2746315923455709353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-intermediate_4969.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/2746315923455709353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/2746315923455709353'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-intermediate_4969.html' title=''/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-5148890117457080040</id><published>2010-07-23T22:34:00.001-07:00</published><updated>2010-07-23T22:34:15.091-07:00</updated><title type='text'></title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Intermediate - Hardware - Stepper Motors&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;In the beginners section we learned about the basics of what stepper motors can do. This section will look at the Robologic stepper motor and discover how to program it.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The Robologic stepper motor is a four phase unipolar motor with a step angle of 7.5 degrees. It has 6 wires coming from it in 2 sets of 3. Each set is connected to its own winding. The central pin is the ground pin, and the 2 pins to the left (pin 1) and right (pin 2) are connected to each winding. The arrangement is the same on the second set of pins.&lt;/span&gt;&lt;/p&gt;&lt;h1 align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;&lt;img height=&quot;230&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/stepper.gif&quot; width=&quot;532&quot; /&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div align=&quot;left&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The Robocore can control up to 2 stepper motors using its standard dc motor connections. To follow this example attach pin 1 and 2 to the Robocore&#39;s first motor output and pins 3 and 4 to the second motor output. The two ground pins can be connected together and attached to the batteries negative terminal.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The following sequence steps the motor through one complete cycle.&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;center&quot;&gt;&lt;center&gt;&lt;table width=&quot;75%&quot; border=&quot;1&quot; border cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Step&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Pin1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Pin2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Pin3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Pin4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height=&quot;24&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td height=&quot;24&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;ON&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td height=&quot;24&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;OFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td height=&quot;24&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;ON&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td height=&quot;24&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;OFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;ON&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;OFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;OFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;ON&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;OFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;ON&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;OFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;ON&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;OFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;ON&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;ON&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;OFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td height=&quot;24&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;ON&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td height=&quot;24&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;OFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td height=&quot;24&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;ON&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td height=&quot;24&quot;&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;OFF&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;/div&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The motor can be made to rotate anticlockwise by stepping backwards through the sequence. I.E. Step 4,3,2,1,4,3 etc&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/5148890117457080040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-intermediate_23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/5148890117457080040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/5148890117457080040'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-intermediate_23.html' title=''/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-5677220411965328280</id><published>2010-07-23T22:33:00.001-07:00</published><updated>2010-07-23T22:33:56.321-07:00</updated><title type='text'></title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#111111&quot; width=&quot;100%&quot; id=&quot;AutoNumber3&quot; class=&quot;table2&quot; style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 11px; font-family: Verdana, Arial; border-top-color: rgb(89, 255, 89); border-right-color: rgb(89, 255, 89); border-bottom-color: rgb(89, 255, 89); border-left-color: rgb(89, 255, 89); border-collapse: collapse; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; class=&quot;header&quot; valign=&quot;top&quot; height=&quot;25&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;p class=&quot;chapterhead&quot; align=&quot;center&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;Robotics Tutorials - Intermediate - Hardware - Servo Motors&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot; valign=&quot;top&quot; height=&quot;90&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border width=&quot;100%&quot; id=&quot;AutoNumber2&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;69%&quot; valign=&quot;top&quot; align=&quot;justify&quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The beginners section generally talked about what servos are and what they can do. This section is going to look more closely at how servos work and how we can program them.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000066;&quot;&gt;How Servos Work:&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;To help us to understand how to control servos it may be helpful to take a closer look at how they work. Inside the servo is a control board, a set of gears, a potentiometer (a variable resistor) and a motor. The potentiometer is connected to the motor via the gear set. A control signal gives the motor a position to rotate to and the motor starts to turn. The potentiometer rotates with the motor, and as it does so its resistance changes. The control circuit monitors its resistance, as soon as it reaches the appropriate value the motor stops and the servo is in the correct position.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000066;&quot;&gt;Controlling Servos:&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Servos are positioned using a technique called pulse width modulation. This is a continuous stream of pulses sent to the servo. The pulse normally lasts for between 1ms and 2ms, depending on the positioning of the servo. The pulse has to be continually repeated for the servo to hold its position, usually around 50 to 60 times a second. It is the actual pulse that controls the position of the servo, not the number of times it&#39;s repeated every second.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;A 1ms pulse will position the servo at 0 degrees, where as a 2ms pulse will position the servo at the maximum position that it can rotate to. A pulse of 1.5ms will position the servo half way round its rotation. The diagram below shows 3 typical pulses.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/pulsewidthdiagram.gif&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The diagram is not to scale but hopefully demonstrates that each pulse must be the same length. That is the combined time that the pulse is on and off.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/5677220411965328280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-intermediate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/5677220411965328280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/5677220411965328280'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-intermediate.html' title=''/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-7459745586477087841</id><published>2010-07-23T22:32:00.002-07:00</published><updated>2010-07-23T22:33:34.454-07:00</updated><title type='text'>Robotics - Robotics Tutorials - Intermediate</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;&lt;h2 class=&quot;chapterhead&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial, Helvetica, sans-serif;color:#000080;&quot;&gt;Hardware Tutorials&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial, Helvetica, sans-serif;color:#000080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial, Helvetica, sans-serif;color:#000080;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); font-family: Verdana, Arial; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: collapse; font-size: 18px; &quot;&gt;Robotics Tutorials - Intermediate - Hardware - DC Motors&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial, Helvetica, sans-serif;color:#000080;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); font-family: Verdana, Arial; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: collapse; font-size: 18px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; font-size: medium; &quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;The beginners tutorial explained how DC motors worked and how to control them with a micro controller or the Robocore. This intermediate tutorial will look a bit more closely at the DC motor and its characteristics.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;We learned that reversing the polarity of the supply current controls the direction the motor rotates. This is not the only technique that can be used to control the motor. Changing the voltage supplied to the motor can also vary its speed. But your motor controller only has 2 settings, on and off, so how can the voltage be temporarily changed? Enter a technique called pulse width modulation.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000080;&quot;&gt;Pulse Width Modulation:&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;This is a technique where pulses of electricity are fed into the motor at a fairly fast rate to produce an average voltage effect. To help us understand this lets look at a few examples.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Lets say that for our pulse we&#39;ll turn on 10 volts for 40mS (40 thousandths of a second) and then we&#39;ll turn the voltage off for 10mS. If we repeat this cycle over and over the voltage is changing so quickly that the on&#39;s and off&#39;s become an average voltage. In this case the voltage is off for 20% of the time, so the average voltage to the motor is 80% of 10 volts, which is 8 volts. This will cause the motor to run slower than at 10 volts.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Therefore the speed of the motor can be changed by varying the amount of time the current is on and the current is off.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The DACPin command can be used with the motor drivers on the Robocore. Full syntax for the command can be found in the document files supplied with the Basix X software but the basic command is:&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Call DACpin(Pin, Voltage, DACcounter)&lt;br /&gt;&lt;br /&gt;Pin = The output pin&lt;br /&gt;Voltage = Byte value between 0 and 255&lt;br /&gt;DACcounter = The function must return a value in this variable. If more than one pin is using DACPin then each pin must use a differently names variable.&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The actual results obtained once the pulse has run through the motor driver chips will vary depending on the voltage used but typically a 25% reduction in power can be achieved. With most DC motors any further reductions will not supply the motor with enough power to operate.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;header&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 0px; font-size: 14px; font-weight: bold; font-family: Verdana, Arial; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000080;&quot;&gt;Torque:&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;At this point I would like to say a little bit about torque. Torque is a measurement of the motors power. The higher the torque of the motor the more weight it can move. DC motors provide different amounts of torque depending on their running speed, which is measured in RPM (revolutions per minute). At low RPM DC motors produce poor torque, and generally the higher the RPM, the better the motors torque.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;So what does this mean in practical robotics terms? Lets say that a robot is propelled by 2 DC motors. Using gears to reduce the overall speed of the robot and running the motors at top speed will result in the most power being delivered to the wheels. Using pulse width modulation too slow the motor will result in the motors not delivering less torque to drive your robot forward.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;color:#000000;&quot;&gt;Pulse width modulation is still a very useful technique to use as it gives the programmer control over the robots speed purely using software. Sometimes you might want to slow your robot down a little, for reversing away from obstacles or turning on the spot for example.&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/7459745586477087841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-robotics-tutorials.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/7459745586477087841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/7459745586477087841'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-robotics-tutorials.html' title='Robotics - Robotics Tutorials - Intermediate'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-1749295668875390472</id><published>2010-07-23T22:32:00.001-07:00</published><updated>2010-07-23T22:32:42.603-07:00</updated><title type='text'>Robotics Tutorials -Advanced- Programming-Multitasking</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;One of the most powerful features of the BasicX operating system is its ability to multitask. This means it can run several tasks at the same time. It&#39;s possible to divide large programs into smaller manageable tasks that can communicate with each other.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;There is more information in the BasicX documentation about multitasking, this is a brief tutorial that aims to outline a simple implementation of multitasking and not re write the BasicX manual.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The following sample of code simply turns the onboard red and green led&#39;s on and off but hopefully demonstrates how multitasking is implemented in the BasicX programming language.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Task 2 switches a global variable, led, between 0 and 1. Task 1 looks at the global variable and toggles the red and green led&#39;s according to its value.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Processing time is given to other functions by calling the sleep command. We use the main procedure to call the tasks using the call task command, and then we enter an infinite loop which shares the processor time around all of the active tasks.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;dim led as byte&lt;br /&gt;dim stacktask1(1 to 32) as byte&lt;br /&gt;dim stacktask2(1 to 32) as byte&lt;br /&gt;&lt;br /&gt;sub main()&lt;br /&gt;calltask &quot;task1&quot;, Stacktask1&lt;br /&gt;calltask &quot;task2&quot;, Stacktask2&lt;br /&gt;&lt;br /&gt;do&lt;br /&gt;call sleep(2.0) &#39;do nothing and give all time to other tasks&lt;br /&gt;loop&lt;br /&gt;&lt;br /&gt;end sub&lt;br /&gt;&lt;br /&gt;sub task1()&lt;br /&gt;do&lt;br /&gt;call sleep(0.0) &#39;allow other tasks to run&lt;br /&gt;&lt;br /&gt;if(led=1)then &#39;turn on/off led&lt;br /&gt;call putpin(25,1)&lt;br /&gt;call putpin(26,0)&lt;br /&gt;end if&lt;br /&gt;&lt;br /&gt;if(led=0)then&lt;br /&gt;call putpin(25,0)&lt;br /&gt;call putpin(26,1)&lt;br /&gt;end if&lt;br /&gt;loop&lt;br /&gt;end sub&lt;br /&gt;&lt;br /&gt;sub task2()&lt;br /&gt;do &#39;Set global variable LED&lt;br /&gt;call sleep(1.0)&lt;br /&gt;led=1&lt;br /&gt;&lt;br /&gt;call sleep(1.0)&lt;br /&gt;led=0&lt;br /&gt;loop&lt;br /&gt;end sub&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Multitasking has some draw backs to sequential programming; mainly multitasking software generally uses more memory as each process is allocated its own stack. Also, because the processor is frequently switching tasks software can run slightly slower. However these are small limitations when compared to the powerful system of multitasking.&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/1749295668875390472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-advanced-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/1749295668875390472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/1749295668875390472'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-advanced-programming.html' title='Robotics Tutorials -Advanced- Programming-Multitasking'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-5833805037039261567</id><published>2010-07-23T22:31:00.000-07:00</published><updated>2010-07-23T22:32:13.265-07:00</updated><title type='text'>Programming Tutorials</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: 18px; border-collapse: collapse; font-weight: bold; &quot;&gt;Robotics Tutorials -Advanced- Programming-Programming Techniques&lt;/span&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: 18px; border-collapse: collapse; font-weight: bold; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; font-size: medium; &quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;As your projects gain complexity it may use many different sensors and actuators. You will need a way to effectively use all this information to produce reliable results.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;There are two types of algorithm that can be used to do this. The first is called sensor fusion. This approach uses information from all of the sensors simultaneously to create a constant world model of its surroundings.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This sort of model is very difficult to program and requires massive amounts of computational power, and so is not really suited to the world of hobby robots.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This section of the tutorial will cover something called subsumption architecture. This is a way of building a simple behaviour model that is much simpler computationally based on priority.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;For this example lets say that you have built a robot that is going to follow light around the room using LDR sensors. The robot also has an ultrasound proximity sensor and bump micro switches to detect obstacles.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;A diagram of its subsumption architecture would look like this:&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img height=&quot;180&quot; src=&quot;http://www.electronicsteacher.com/robotics/images/tutsub.gif&quot; width=&quot;527&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The diagram shows how priorities work in subsumption architecture.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The bump sensor takes the highest priority, which makes sense, if your robot is stuck against a wall you don&#39;t want to be worrying about following a light source.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Cruise has the lowest priority, its basically saying drive forwards until you find a light to follow (or an obstacle to avoid).&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The ultrasound sensor has a lower priority than the bump sensor because you ideally want to avoid objects before you collide with them.&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/5833805037039261567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/programming-tutorials_23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/5833805037039261567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/5833805037039261567'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/programming-tutorials_23.html' title='Programming Tutorials'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-4169958932873716510</id><published>2010-07-23T22:30:00.000-07:00</published><updated>2010-07-23T22:31:23.704-07:00</updated><title type='text'>Robotics Tutorials - Advanced - Hardware - Feedback Motor Control</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; border-collapse: collapse; &quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This tutorial will look at how you can use feedback to control and regulate the speed of motors (or anything else that rotates). Let&#39;s say that you want your robot to travel at a steady speed that uses 60% power to the motors. This constant power supply would work fine on flat ground but what would happen if it encountered a hill, would it have enough power to handle a steep incline or would it slow to a crawling speed.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;This problem could be overcome with feedback. If you could somehow sense the rotational speed of the wheels you could deliver more power to the motors if they slow down (climbing a hill or overcoming an object) or apply some breaking if they are rotating too fast (travelling down hill), but always maintaining a steady speed.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/detector.gif&quot; align=&quot;right&quot; width=&quot;330&quot; height=&quot;219&quot; /&gt;I&#39;m going to talk about using shaft encoder&#39;s record how fast the wheels are turning.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Shaft encoders use infra red emitters and detectors that are placed fairly close to each other (about half an inch or less). When there is a direct line of sight between them the detector is &#39;on&#39; and produces a voltage (normally around 1 to 3 volts). When the line of sight is blocked the detector doesn&#39;t pick up any infra red light so is &#39;off&#39;, producing 0 volts.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;For a perfect example of how shaft encoders work take a look inside your mouse. You will see a disk with holes around the edges. On either side of the disk are an infra red emitter and infra red detector. When you move the mouse, the mouse ball&#39;s rotation causes the perforated disk to rotate. As the disk rotates the path between the IR emitter and detector is made and broken, causing the detector to create a string of electrical pulses. By monitoring the frequency of the pulses you can deduce how far the wheel has turned and the time it took.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/shaft.gif&quot; align=&quot;right&quot; width=&quot;116&quot; height=&quot;105&quot; /&gt;Shaft encoders for robots use exactly the same principle. A card disk similar to the one on the right can attached to the drive shaft of the wheel and used to break an IR beam between the emitter and detector.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The diagram below shows how to connect the shaft encoder available in the components section of the Robologic shop to the Robocore. The disk rotates through the &#39;U&#39; of the sensor and creates an electrical pulse at the signal line every time the IR beam is made of broken. The only external component needed is a 330 ohm resistor.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/shaft-encoder.gif&quot; width=&quot;271&quot; height=&quot;232&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;A good feature of using shaft encoders to monitor wheel movement is that they are totally friction free, meaning that there is no loss of drive power when they are used.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;If the pre-moulded &#39;U&#39; design does not fit your specifications then the sensor can be constructed from separate emitter and detector components wired in the same was as above and mounted on your own design. The emitter and detector may need to be shielded with some black card or something similar to prevent them from detecting any ambient infra red.&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/4169958932873716510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-advanced-hardware.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/4169958932873716510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/4169958932873716510'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/robotics-tutorials-advanced-hardware.html' title='Robotics Tutorials - Advanced - Hardware - Feedback Motor Control'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3598731188366755604.post-2275967430048761602</id><published>2010-07-23T22:28:00.000-07:00</published><updated>2010-07-23T22:29:26.348-07:00</updated><title type='text'>Programming Tutorials</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial; font-size: medium; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;&lt;h2 class=&quot;chapterhead&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 2px; padding-bottom: 2px; margin-bottom: 2px; font-size: 18px; font-family: Verdana, Arial; font-weight: bold; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial, Helvetica, sans-serif;color:#000066;&quot;&gt;Hardware Tutorials&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial, Helvetica, sans-serif;color:#000066;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); font-family: Verdana, Arial; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: collapse; font-size: 18px; &quot;&gt;Robotics Tutorials - Advanced - Hardware - Controlling DC Motors&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial, Helvetica, sans-serif;color:#000066;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); font-family: Verdana, Arial; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: collapse; font-size: 18px; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial, Helvetica, sans-serif;color:#000066;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); font-family: Verdana, Arial; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: collapse; font-size: 18px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; font-size: medium; &quot;&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The principles of DC motors are covered in the beginner and intermediate sections of this tutorial. This section will cover the electronics needed to interface them to a Basic X microcontoller or other digital chip.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The easiest way of controlling motors is using the Robocore. This board contains the driver electronics to control up to 4 DC motors or 2 stepper motors, and features direction LED&#39;s for easy debugging of circuits.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;However, if you want to build your own motor drivers to use in custom projects there are various methods that you can use.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;A circuit called an H bridge circuit will give you direction control of your DC motor. Below is the circuit diagram.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: center; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;img src=&quot;http://www.electronicsteacher.com/robotics/images/hbridge.gif&quot; width=&quot;473&quot; height=&quot;353&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Here&#39;s how the circuit works.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;Transistors are electronic switches, they allow you to turn on large voltages (the motor power supply) using a very small current (like the output pin of the Basic X). Each pair of transistors is connected to a pin on the micro controller and control the polarity of the current supplied to the motor. The actual components required would depend on the size of the motors that you want to use.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The diodes in the circuit are very important and are called fly back diodes. They are there to prevent voltage spikes from the motors from destroying the transistors. When a motor rotates and changes direction the coils of wire inside it act as a generator and produce a current. This current is called the back electro motive force, or back E.M.F. for short. This current travels back through the circuit, in the form of powerful voltage spikes, to the transistor. Now, because transistors only allow current to flow in one direction the current hits a bottle neck as the transistor tries to stop the reverse current. If this current is particularly large, say when your reversing the direction of the motor, it will simply blow the transistor, giving your new circuit a pretty short life.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The diodes job is to protect the transistor. It allows this back E.M.F. to bypass the transistor and travel safely back to the battery.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;The circuit can be powered using whatever voltage is suitable for your motors. If you are using two power supplies, one to power your Basic X and another to power your motors, you must connect the ground of each supply together or your circuit may not work properly.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;If you&#39;re looking for specific components to build the circuit the following will handle most motors up to about 12 volts.&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;center&quot;&gt;&lt;center&gt;&lt;table width=&quot;75%&quot; border=&quot;0&quot; border cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; color:#111111;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;Transistors:&lt;/b&gt; TIP41 NPN power transistor&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;Diodes:&lt;/b&gt; IN4002&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p align=&quot;left&quot; class=&quot;text&quot; style=&quot;color: rgb(0, 0, 0); margin-top: 3px; padding-bottom: 3px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px; font-size: 12px; font-family: Verdana, Arial; text-align: justify; &quot;&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;b&gt;Resistors:&lt;/b&gt; 2.2Kohm, 0.25 watt&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnrebotics.blogspot.com/feeds/2275967430048761602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/programming-tutorials.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/2275967430048761602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3598731188366755604/posts/default/2275967430048761602'/><link rel='alternate' type='text/html' href='http://learnrebotics.blogspot.com/2010/07/programming-tutorials.html' title='Programming Tutorials'/><author><name>rebotics</name><uri>http://www.blogger.com/profile/15564835495960099359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>