vb.net barcode reader from webcam Copyright 2008 by The McGraw-Hill Companies, Inc. Click here for terms of use. in Software

Create QR Code ISO/IEC18004 in Software Copyright 2008 by The McGraw-Hill Companies, Inc. Click here for terms of use.

Copyright 2008 by The McGraw-Hill Companies, Inc. Click here for terms of use.
Scan QR-Code In None
Using Barcode Control SDK for Software Control to generate, create, read, scan barcode image in Software applications.
QR Code Maker In None
Using Barcode creator for Software Control to generate, create QR Code 2d barcode image in Software applications.
This page intentionally left blank
Decode QR Code 2d Barcode In None
Using Barcode scanner for Software Control to read, scan read, scan image in Software applications.
QR Code ISO/IEC18004 Drawer In Visual C#
Using Barcode maker for .NET framework Control to generate, create QR Code image in VS .NET applications.
CHAPTER
QR Code Generator In Visual Studio .NET
Using Barcode drawer for ASP.NET Control to generate, create QR-Code image in ASP.NET applications.
Generate QR Code In .NET
Using Barcode creation for .NET framework Control to generate, create QR Code 2d barcode image in VS .NET applications.
TRUE INTELLIGENCE: ADAPTIVE BEHAVIOR
QR Code ISO/IEC18004 Generation In VB.NET
Using Barcode maker for Visual Studio .NET Control to generate, create QR-Code image in Visual Studio .NET applications.
USS Code 128 Creation In None
Using Barcode creator for Software Control to generate, create Code-128 image in Software applications.
n all the chapters so far, we have developed algorithms to make our robot react to its environment while achieving speci c tasks. The approach used was to give the robot speci ed parameters for how to react to speci c sensory inputs. On many occasions the robot was given randomness so it could vary its behavior suf ciently to avoid getting stuck in unanticipated dead-end situations. When the robot became stuck in a situation where it could not continue doing its work, randomness eventually created the right combination of parameters to enable the robot to escape. However, the robot had no way of learning from its experience. If the robot encountered a similar situation at a later time it had no means to recall and reapply the same parameters. If we give the robot a memory and the ability to record the parameters that made it succeed as well as the ones that led to it becoming stuck, the robot should be able to adapt its future behavior so that it can avoid the bad situations and favor the good ones. An example of this kind of behavior was seen in Chap. 14, where the robot learned from the rst pass through the corridor maze, how to negotiate the maze perfectly the second time. To achieve this we used memory (array) to save past behavior in order to in uence future behavior.
Drawing Bar Code In None
Using Barcode encoder for Software Control to generate, create barcode image in Software applications.
Code 3 Of 9 Creator In None
Using Barcode creation for Software Control to generate, create ANSI/AIM Code 39 image in Software applications.
Copyright 2008 by The McGraw-Hill Companies, Inc. Click here for terms of use.
Generate ECC200 In None
Using Barcode maker for Software Control to generate, create Data Matrix 2d barcode image in Software applications.
UCC.EAN - 128 Drawer In None
Using Barcode encoder for Software Control to generate, create UCC - 12 image in Software applications.
GOING FURTHER
Make GS1 - 8 In None
Using Barcode printer for Software Control to generate, create European Article Number 8 image in Software applications.
Read Barcode In C#.NET
Using Barcode Control SDK for Visual Studio .NET Control to generate, create, read, scan barcode image in Visual Studio .NET applications.
16.1 Adaptive Behavior
Barcode Drawer In .NET Framework
Using Barcode generation for VS .NET Control to generate, create barcode image in .NET applications.
UPC-A Supplement 5 Recognizer In VS .NET
Using Barcode decoder for .NET Control to read, scan read, scan image in Visual Studio .NET applications.
In a normal control algorithm the robot observes the environmental conditions using sensors. These values are compared to a set of desired values that have been xed by the programmer. Depending on the deviations of the sensory values from the desired ones, the algorithm will determine a course of action that is translated into a set of commands to actuators (e.g., motors) that manipulate the robot and/or environment (see Fig. 16.1). The above would result in an environmental change, which then affects the sensory inputs. The algorithm continues in a loop, responding to changes due to the actuators of the robot and/or external environmental factors. The outcome is that the robot will get progressively closer to the desired state. How quickly and how ef ciently the robot reaches the desired state, and how quickly it responds to a disturbance in the conditions depends on the control algorithms used. The eld of control is a specialized and exciting eld of study and can be very mathematical. The methods for determining the parameters of the algorithm are the subject of a well-established discipline in engineering that uses complex mathematics and calculus to optimize these parameters. The analysis to determine the parameters usually takes into account a certain range of environmental criteria but this range is often xed and limited. If, instead of xing the parameters forever, the robot is given another feedback loop mechanism that serves to automatically modify the parameters in memory (and keep the parameters that work best), the robot would be able to adapt to a wider range of changing environmental situations. The diagram in Fig. 16.2 shows the modi ed adaptive feedback loop. Inputs from the decoded sensory data are stored in memory along with the actions that the robot took in response to those inputs. The memory is then consulted whenever the robot is to take
Generating Code 128 Code Set B In None
Using Barcode generation for Online Control to generate, create Code-128 image in Online applications.
Bar Code Printer In None
Using Barcode maker for Font Control to generate, create barcode image in Font applications.
Environmental conditions
Paint 2D Barcode In C#
Using Barcode generator for .NET framework Control to generate, create 2D Barcode image in .NET framework applications.
Data Matrix Encoder In None
Using Barcode creator for Microsoft Excel Control to generate, create Data Matrix image in Excel applications.
Sensors
Decoded sensory data
Comparison Sensory logic deviations
Fixed parameters Unadaptive algorithm
Actuation commands
Actuators
Actions
Desired sensory data
FIGURE 16.1
Unadaptive feedback loop.
Environmental conditions
Sensors
Decoded Actuation sensory data Comparison Sensory Variable parameters commands logic deviations adaptive algorithm Desired sensory data
Actuators
Actions
Memory
FIGURE 16.2
Adaptive feedback loop.
TRUE INTELLIGENCE: ADAPTIVE BEHAVIOR
action to determine if a favorable or detrimental actuation was experienced in the past, and thus modify the parameters and logic of the algorithm if needed. A programmer can also affect the robot s behavior by lling the memory with appropriate data, effectively teaching the robot certain responses and behaviors. An example of this was given in Chap. 15 where a map was provided to enable the robot to plan an optimal path through the of ce. Let us consider how adaptive behavior algorithms can be applied to two algorithms we have encountered in previous chapters. 16.1.1 ADAPTIVE WALL-FOLLOWING In Chap. 8 a contour-following algorithm used a ranging sensor to determine how far the robot was from the wall. The robot turned toward the wall when it got too far from it and away from the wall when it became too close. Various parameters affected the performance of the algorithm. One of the important parameters was the distance (RangeLimit) we wanted the robot to stay from the wall. In another algorithm the parameter TurnAmount de ned how many degrees to turn when the robot became too close or too far. If we want the robot to be able to adjust the values of these variables by itself, it would need a means for evaluating how the changes affect its performance. Generally, we want the robot to try to keep as close to the wall as possible without hitting it. An adaptive program might try smaller and smaller values for RangeLimit until the bumper sensors indicate that it is getting too close. When a working value for RangeLimit is found, the value is only valid for the current wall. If the contour of the wall changes, the value for RangeLimit will need to change to maintain an optimum performance. The robot would periodically try to lower the value of RangeLimit to see if the current wall can be followed more closely. Anytime collisions occur the robot would increase the value of RangeLimit. If the wall being followed has sudden turns and protrusions, the distance to the wall would change quickly. The robot would detect such situations and adjust the value of TurnAmount thus turning toward (or away from) the wall more to keep up with the sharper turns. If the value becomes too high (or low) causing collisions, the robot would adjust the value (and perhaps RangeLimit too) accordingly. The algorithm may have to keep changing the values mentioned above at a constant rate, or may consider a varying rate depending on parameters such as the amount and rate of change of the distance to the wall, and/or the accumulated error amount in the distance. This is called an adaptive-proportional-integral-differential control (APID). 16.1.2 ADAPTIVE LINE-FOLLOWING In Chap. 7 we developed several algorithms for following a line. In general, all of the algorithms moved the robot along a line at a steady pace. This is not necessarily the most ef cient approach. A car driving along a winding road, for example, may speed up in the straight sections and slowdown when the road curves. Slowing down allows for more time to read the sensory data and analyzing it in more detail before responding becomes required. Regardless of what we want the robot to do when the road curves, it has to be able to determine when the road curves.
Copyright © OnBarcode.com . All rights reserved.