The present description generally relates to the use of equipment in worksite operations. More specifically, the present description relates to controlling and protecting the equipment from colliding with itself.
There is a wide variety of different types of equipment such as forestry equipment, construction equipment, among others. These types of equipment are often operated by an operator and have sensors that generate information during an operation.
Further, many different types of equipment can be equipped to use a variety of attachments. For example, excavators have many options for attachments. Some of these include buckets, grapples, augers, trench diggers, etc. Also, excavators are often equipped with a blade that is movably mounted to a lower frame of the excavator.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.
An excavator has a lower frame with a blade movably mounted to the lower frame. The excavator also has dig components such as a boom, an arm, and an attachment. The positions of the dig components are identified and a control signal generator controls movement of the dig component to avoid a collision between the boom or attachment and the blade.
Example 1 is a method of controlling a work machine, comprising:
Example 2 is the method of any or all previous examples wherein generating an action signal comprises:
Example 3 is the method of any or all previous examples wherein identifying a position of the blade comprises:
Example 4 is the method of any or all previous examples wherein generating an action signal comprises:
Example 5 is a computer implemented method of controlling a work machine, comprising:
Example 6 is the computer implemented method of any or all previous examples wherein generating an action signal comprises:
Example 7 is the computer implemented method of any or all previous examples wherein controlling actuation of the actuator comprises:
Example 8 is the computer implemented method of any or all previous examples wherein identifying a separation value comprises:
Example 9 is the computer implemented method of any or all previous examples wherein detecting a position of the dig component relative to a position of the blade comprises:
Example 10 is the computer implemented method of any or all previous examples wherein detecting a position of the blade comprises:
Example 11 is the computer implemented method of any or all previous examples wherein detecting a position of the dig component relative to a position of the blade comprises:
Example 12 is the computer implemented method of any or all previous examples wherein generating an action signal comprises:
Example 13 is the computer implemented method of any or all previous examples wherein identifying a separation value indicative of a distance and direction separating the dig component from the blade, comprises:
Example 14 is the computer implemented method of any or all previous examples wherein identifying a separation value indicative of a distance and direction separating the dig component from the blade comprises:
Example 15 is a work machine, comprising:
Example 16 is the work machine of any or all previous examples wherein the collision avoidance system comprises:
Example 17 is the work machine of any or all previous examples wherein the collision avoidance system comprises:
Example 18 is the work machine of any or all previous examples wherein the position identifying system comprises:
Example 19 is the work machine of any or all previous examples wherein the blade position identification system comprises:
Example 20 is the work machine of any or all previous examples wherein the collision avoidance system comprises:
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The claimed subject matter is not limited to implementations that solve any or all disadvantages noted in the background.
As discussed above, excavators often have a lower frame which is mounted to ground engaging elements (such as tracks) and which is also coupled to a blade. The blade can be raised and lowered relative to the lower frame. The excavator also includes a house that is coupled for rotary motion relative to the lower frame. Digging equipment (such as a boom, arm and bucket or other attachment) are coupled to the house. Therefore, in some circumstances, the blade and digging equipment can collide with one another. Further, excavators may often be modular so that they can be coupled to a plurality of different attachments or tools (such as different types of buckets, grapples, augers, etc.). The different attachments or tools may have different sizes and may be movable in different degrees of freedom. This can make it difficult to control the digging equipment to avoid collision with the blade.
Each movable element is driven by one or more corresponding actuators (such as hydraulic cylinders, or other actuators). Tracks 103 are mounted to a lower frame of machine 102 and are driven by an engine to guide and propel work machine 102 about a worksite 100. In other examples, tracks 103 can be replaced by wheels or other ground engaging elements.
Operator compartment 101 is coupled to the house 104 where internal components of work machine 102 are housed. Some of these internal components include an engine, transmission, hydraulic pumps, generators, etc. House 104 is supported by an upper frame and rotatably coupled relative to the lower frame of machine 102. House 104 is driven by an actuator to rotate about house axis 114 in the direction indicated by arrows 115.
Boom 106 is also rotatably coupled to the upper frame that supports house 104. Boom 106 rotates about boom axis 116 in the direction indicated by arrow 117. Stick or arm 108 is rotatably coupled to boom 106. Stick or arm 108 rotates about axis 118 in the direction indicated by arrow 119. Attachment 110 is shown as a bucket which is rotatably coupled to stick or arm 108. Attachment 110 rotates about attachment axis 120, in the direction indicated by arrow 121. As shown in
In an example operation, an operator in operator compartment 102 can raise boom 106 by controlling an actuator to rotate boom 106 counterclockwise about axis 116. The operator can control actuators to rotate arm 108 clockwise about axis 118 and attachment 110 clockwise about axis 120. Moving these components in the way described may bring attachment 110 or boom 106 into contact with, and potentially damage, blade 123. A system described in greater detail below can limit movement of the movable elements to inhibit one part of machine 102 from contacting a protected portion of mobile machine 102 (e.g., to inhibit mobile machine 102 from harming itself).
Sensor 302 is illustratively coupled to the linkage between boom 106 the upper frame which supports house 104 to measure the position of boom 106 relative to house 104. For instance, sensor 302 can be a potentiometer or an angle encoder or another sensor that measures the angle of rotation of boom 106 about axis 116. Sensor 303 is illustratively coupled to the linkage between boom 106 and arm 108. Sensor 303 illustratively measures the position of arm 108 relative to boom 106. Sensor 304 is coupled to the linkage between arm 108 and attachment 110. Sensor 304 generates a signal indicative of the position of attachment 110 relative to arm 108. Similarly, sensor 305 is coupled to the linkage between blade 123 and the lower frame of machine 102 to measure the position of blade 123 relative to the lower frame 102.
In addition to, or instead of sensors 301-305, machine 102 can have sensors 306-310 which may be inertial measurement units (IMUs) that track inertia, acceleration, and rotation of the movable elements to which they are mounted. Then, using kinematic information (for example), the position or movement of the movable elements can be mathematically calculated if the IMU is placed in a known position on the movable element. In addition, or instead, machine 102 can also have sensors 311-314. Sensors 311-314 may be linear displacement transducers (LDTs), such as magnetic resistive transducers, Hall Effect sensors, etc., that are coupled to corresponding hydraulic actuators that drive movement of the different moveable elements. For example, sensor 311 is coupled to actuator 146 that actuates movement of blade 123 relative to the lower frame of machine 102. Sensor 311 generates a signal indicative of the extent to which cylinder 146 is extended and is thus indicative of the position of blade 123 relative to the lower frame of machine 102. Sensor 312 can similarly detect the extent to which cylinder 140 is extended. Sensor 313 can detect the extent to which cylinder 142 is extended, and sensor 314 can detect the extent to which cylinder 144 is extended. Based upon these detected measurements, and based on other kinematic information, the location of the movable elements driven by the corresponding actuators can be identified as well.
Similarly,
The present discussion thus proceeds with respect to a work machine 102 in which a collision avoidance system is used to limit the control of machine 102 so that a collision between the digging equipment on machine 102 and the blade 123 is avoided. In some current systems, the way such a collision is avoided is to instruct the operator to rotate the house 104 relative to the lower frame of machine 102 so that the machine is not digging over the top of blade 123. This type of system relies on the operator to carryout these instructions. The present description, on the other hand, includes an example in which the machine is automatically controlled to avoid such a collision, even if the house 104 is in a position such that the digging equipment is over the top of blade 123. In another example, however, the machine is controlled to generate an operator alert indicating that a collision is imminent or that the positions of the digging equipment and blade have come within a threshold range of one another.
Data store 216 can store dimensions 240, attachment information 242 (which may be an index of different attachments and their corresponding dimension and degree of freedom information), other kinematic information 244 which can be used to calculate the position of different moveable elements on machine 102, and any of a wide variety of other information 246. Controllable subsystems 222 can include propulsion system 248 which provides propulsion to machine 102, and a plurality of actuators 250 (which can include the rotary actuator that drives rotary movement of house 104 relative to lower frame of machine 102), the various actuators 140, 142, 144, and 146 which drive movement of the movable elements on machine 102, and any of a wide variety of other actuators. Controllable subsystems 222 can include moveable elements 252 such as tracks 103, house 104, boom 106, stick or arm 108, bucket or attachment 110, blade 123, and any of a variety of other movable elements 254. Controllable subsystems 222 can include other subsystems 256 as well.
Control system 220 includes propulsion system controller 258, actuator controller 260, and other items 262. Collision avoidance system 224 includes trigger detector 264, rotary position detector 266, dig equipment position detector 268, lower frame location system 270, blade position identification system 272, input command processor 274, control signal generator 276, and other collision avoidance functionality 278. Input command processor 274 can include position/velocity processor 280, kinematic data processor 282, artificial intelligence (AI) or other machine learning classifier 284, threshold crossing detector 286, and other items 288. Control signal generator 276 can include limit controller 290, alert generator 292, communication system controller 294, and other items 296. Before describing the overall operation of work machine 102 and avoiding collisions between the digging equipment and blade 123, a brief description of some of the items in
An operator can control and interact with machine 102 through user interface mechanisms 212. User interface mechanisms 212 can include a variety of different mechanisms including displays, touch screens, levers, pedals, steering wheel, joysticks, etc. Actuation of user interface mechanisms 212 can activate control system 220 to generate a control signal to control controllable subsystems 222. For instance, moving a lever or a joystick may cause actuator controller 260 to send a control signal to actuators 250 to rotate house 104 relative to the lower frame of machine 102, to raise or lower boom 108 and/or stick or arm 108, to manipulate bucket or other attachment 110, to raise or lower blade 123, etc. An operator input can also cause actuator controller 260 to generate a control signal to control propulsion system 248 to move and steer machine 102.
Communication system 214 illustratively facilitates communication of the items of work machine 102 with one another, and may also facilitate communication with other machines or other systems over a network. The network may be a wide area network, a local area network, a near field communication network, a Wi-Fi or Bluetooth network, a cellular communication network, or any of a wide variety of other networks or combinations of networks. Therefore, communication system 214 may be a controller area network (CAN) bus and bus controller, and other communication system functionality to communicate over other networks.
Collision avoidance system 224 may receive inputs from the various sensors 218 and obtain information from data store 216 and then generate an action signal to control the operation of machine 102 to avoid collisions between the digging equipment and blade 123, to generate an alert message for an operator, etc. Thus, trigger detector 264 detects when collision avoidance system 224 is to operate to avoid such collisions. The trigger detector may detect various trigger criteria, such as an operator input engaging collision avoidance system 224, inputs indicating that the digging equipment is about to collide with blade 123, or other trigger criteria. Once triggered, rotary position detector 266 receives an input from rotary sensor 236 to identify the position of house 104 relative to the lower frame of machine 102. This may be used to determine whether boom 106 is over blade 123 or whether the house is rotated sufficiently that boom 106 will not collide with blade 103 when house 104 is in its present position relative to the lower frame of machine 102.
Thus, rotary position detector 266 may receive a signal from rotary sensor 236. The signal may indicate, by itself, the rotary position of house 104 relative to the lower frame of a machine 102, or detector 266 may access dimensions 240, or other kinematic information 244 to determine, based upon the rotary sensor signal from sensor 236, the position of house 104 relative to the lower frame of machine 102.
Dig equipment position detector 268 receives a signal from one or more sensors 218 and identifies the position of boom 106, arm 108, and/or attachment 110 either relative to one another or relative to the lower frame of machine 102, and/or relative to blade 123, or relative to another known position. Lower frame location system 270 locates the lower frame of machine 102 relative to the boom 106, arm 108, and attachment 110. Thus, by obtaining the position of the boom 106, arm 108, and attachment 110, and by obtaining dimensions 240, or other kinematic information 244, system 270 can determine the location of boom 106, arm 108, and/or attachment 110 relative to the lower frame of machine 102, or relative to a known position on the lower frame. Blade position identification system 272 can receive an input from one or more of the sensors 218 that are indicative of whether blade 123 is raised, or lowered, and the extent to which it is raised or lowered. Blade position identification system 272 can then identify (based upon dimension information 240, attachment information 242, other kinematic information 244, etc.), the position of the blade 123 relative to boom 106 and/or attachment 110, or relative to the position of the lower frame on machine 102. Ultimately, detectors 266 and 268 and systems 270 and 272 identify the position of blade 123 relative to the position of any of the digging equipment (boom 106, arm 108, and/or attachment 110) that may come into contact with or collide with blade 123. For example, trigonometry, kinematics, geometry, and one or more sensor signals and dimension information or attachment information 242 or other kinematic information 244 can be used to determine the position of a movable element. The dimensions 240 may be received as operator inputs or retrieved from another data store. For instance, the dimension information 240, attachment information 242, and other kinematic information 244 can be previously entered by an operator, preloaded by a machine manufacturer, or retrieved from a remote source.
The position of blade 123 and the positions of the other digging equipment can be identified in a global or local coordinate system. In another example, the relative positions of the of blade 123 relative to the other items of digging equipment, can be identified.
Input command processor 274 then receives an input command which is commanding at least one item of the digging equipment to move, or the blade to move, or the house 104 to rotate. Input command processor 274 then determines whether, if that command is carried out, it will result in a collision between any of the items of digging equipment and blade 123 or whether it will result in any of the items of digging equipment and blade 123 coming within a threshold distance of one another.
Position/velocity processor 208 can identify the position of the digging equipment and the blade 123 and the velocity (speed and direction) that the input command will, if executed, move the digging equipment relative to the blade 123. Kinematic data processor 282 can track the trajectory of the digging equipment relative to the blade through space, given the input from sensors 218 and given the data from data store 216, as well as the inputs from detectors 266 and 268 and systems 270 and 272. AI classifier 284 can be an artificial neural network, a deep learning system, a machine learning system, or another system that takes, as inputs, the positions of the digging equipment and blade 123 as well as the commanded input, and generates an output indicative of whether the commanded input will result in a collision or will result in the digging equipment coming within a threshold distance of blade 123.
Threshold crossing detector 286 can determine whether the commanded input will result in the digging equipment coming within a threshold distance of blade 123. Limit controller 290 receives an input from input command processor 274 and generates control signals to control actuator controller 260 to limit the movement of the controllable subsystems 222 to avoid a collision between the digging equipment and the blade 123. For instance, where the commanded input would result in such a collision, then limit controller 290 generates an output to modify the commanded output so that actuator controller 262 is controlled to stop short of the collision. Alert generator 292 can generate a control signal to control user interface mechanisms 212 to output an alert for the operator. The alert may indicate that the commanded input will result in a collision or will result in the digging equipment coming within a threshold distance of blade 123. Communication system controller 294 can control communication system 214 to communicate the results of the information generated by collision avoidance system 224 to another machine, or to an external system. For instance, assume that the operator of machine 102 is an automated system. Assume further that the automated system is generating a high volume of command inputs which would result in the digging equipment colliding with the blade. In that case, this information may be useful in modifying the automated operator to avoid such operator inputs in the future or to otherwise control machine 102 in a more satisfactory way. Similarly, where alert generator 292 generates an operator alert, but the operator continues with the commanded input, resulting in a collision, this information may be useful as well.
Rotary position detector 266 then detects the rotary position of house 104 based upon an input from one of rotary sensors 236, as indicated by blocks 364 and 366 in the flow diagram of
Assume, however, at block 370, that the rotary position of house 104 relative to the lower frame of machine 102 (or relative to blade 123) is such that a collision between the dig equipment and blade 123 could take place, then dig equipment position detector 268 detects the location of the boom 106, arm 108, and attachment 110, as indicated by block 372 in the flow diagram of
The position of the periphery of each item of dig equipment can be found by identifying the position of a sensor corresponding to that item of dig equipment, along with the dimensions 240 of the dig equipment. For instance, each of the sensors may provide an output indicative of the location of the corresponding piece of dig equipment. In
Identifying the location of boom 106, arm 108, and/or attachment 110 based on sensor values is indicated by block 378 in the flow diagram of
Locating the boom 106 and attachment 110 (and other dig equipment) relative to the lower frame of machine 102 to which blade 143 is attached is indicated by block 382. Lower frame location system 270 can generate an output indicative of this location by, again, knowing dimension information which identifies the location of the lower frame relative to the known points on the upper frame (such as where cylinder 140 is attached to the upper frame, where boom 106 is attached to the upper frame, etc.). Blade position identification system 272 determines the position of the blade 123 relative to the boom 106 and attachment 110, as indicated by block 384. Again, as discussed above, system 272 can identify the location of the upper edge 143 of blade 123 in the vertical plane 374 to determine the position of the blade 123 relative to the boom 106 and attachment 110.
In one example, the location of blade 123 does not need to be detected. Instead, the system can identify the worst case position of blade 123 (such as the fully raised position where blade 123 is closest to the digging equipment) and assume that blade 123 is in its worst case position, as indicated by block 386. This alleviates the need to detect the actual position of blade 123. In another example, the actual position of blade 123 can be detected, such as using camera 320 to capture an image showing the blade position, as indicated by block 388. In addition, computer vision or a machine learning system in blade position identification system 272 can process the captured image to identify the location of the upper edge of blade 143 relative to the items of digging equipment (boom 106, arm 108, and attachment 110) as indicated by block 390 in the flow diagram of
Input command processor 274 then receives an input command, such as through user interface mechanisms 212, commanding movement of blade 123 and/or an item of dig equipment (such as boom 106, arm 108, and/or attachment 110). Receiving an input command is indicated by block 394 in the flow diagram of
Position/velocity processor 280 can then perform a position/velocity analysis to determine whether execution of the commanded input will cause any of the dig equipment to collide with, or come under desirably close to (e.g., within a threshold distance of), the blade 123. Performing the position/velocity analysis is indicated by block 396 in the flow diagram of
If input command processor 274 determines that the commanded input will not cause the blade to collide with any of the dig equipment or come within a threshold distance of the dig equipment, as determined at block 404, then the input command is simply executed to move the dig equipment as commanded, and as indicated by block 406.
If input command processor 274 determines that the input command will cause the blade 123 and the digging equipment (boom/arm/attachment) to come within a threshold distance of one another, as determined at block 404, then control signal generator 276 generates an action signal based on this determination, as indicated by block 408.
The action signal can be generated by limit controller 290 to limit movement of the boom/arm/attachment or the blade to impose a limit on the movement so that the dig equipment does not collide with (or come within a threshold distance of) the blade 123. Generating a limit action signal to control movement of the dig equipment and/or the blade is indicated by block 410 in the flow diagram of
Alert generator 292 can generate an operator alert to alert the operator using user interface mechanisms 212. The alert may notify the operator that executing the commanded input will result in a collision or result in the dig equipment coming within a threshold distance of the blade 123. In one example, the operator may be allowed to override the alert or continue with the commanded input. In another example, the alert is provided along with the limit signal so that not only is the movement of the dig equipment and/or the blade limited to avoid a collision, but the operator is also alerted that the commanded input would have caused a collision, but that movement has been limited. Generating an operator alert is indicated by block 412 in the flow diagram of
In another example, communication system controller 294 can generate a control signal to control communication system 214. Communication system 214 can communicate information generated by collision avoidance system 224 to another system, to another machine, etc., or to a data store where the data can be stored and later analyzed. Generating such a communication control signal is indicated by block 414 in the flow diagram of
It can thus be seen that the present description proceeds with respect to a system that generates control signals to control an excavator or other machine 102 so that collisions between the dig equipment (boom 106, arm 108, and/or attachment 110) and the blade 123 are avoided. Where sensors are provided to sense the position of blade 123, those sensors can be used. However, where no sensor is provided to detect the position of blade 123, then the system assumes the worst possible position of blade 123 (the position in which a collision with the dig equipment is most likely) and processes commanded inputs assuming that worst position. The control signals can be used to limit movement of the dig equipment and/or blade, or to generate an alert signal, or both.
The present discussion has mentioned processors and servers. In one example, the processors and servers include computer processors with associated memory and timing circuitry, not separately shown. The processors and servers are functional parts of the systems or devices to which they belong and are activated by, and facilitate the functionality of the other components or items in those systems.
Also, a number of user interface (UI) displays have been discussed. The UI displays can take a wide variety of different forms and can have a wide variety of different user actuatable input mechanisms disposed thereon. For instance, the user actuatable input mechanisms can be text boxes, check boxes, icons, links, drop-down menus, search boxes, etc. The mechanisms can also be actuated in a wide variety of different ways. For instance, the mechanisms can be actuated using a point and click device (such as a track ball or mouse). The mechanisms can be actuated using hardware buttons, switches, a joystick or keyboard, thumb switches or thumb pads, etc. The mechanisms can also be actuated using a virtual keyboard or other virtual actuators. In addition, where the screen on which the mechanisms are displayed is a touch sensitive screen, the mechanisms can be actuated using touch gestures. Also, where the device that displays them has speech recognition components, the mechanisms can be actuated using speech commands.
A number of data stores have also been discussed. It will be noted the data stores can each be broken into multiple data stores. All can be local to the systems accessing them, all can be remote, or some can be local while others are remote. All of these configurations are contemplated herein.
Also, the figures show a number of blocks with functionality ascribed to each block. It will be noted that fewer blocks can be used so the functionality is performed by fewer components. Also, more blocks can be used with the functionality distributed among more components.
It will be noted that the above discussion has described a variety of different systems, components, controllers, sensors, detectors, and/or logic. It will be appreciated that such systems, components, controllers, sensors, detectors, and/or logic can be comprised of hardware items (such as processors and associated memory, or other processing components, some of which are described below) that perform the functions associated with those systems, components, controllers, sensors, detectors, and/or logic. In addition, the systems, components, controllers, sensors, detectors, and/or logic can be comprised of software that is loaded into a memory and is subsequently executed by a processor or server, or other computing component, as described below. The systems, components, controllers, sensors, detectors, and/or logic can also be comprised of different combinations of hardware, software, firmware, etc., some examples of which are described below. These are only some examples of different structures that can be used to form the systems, components, controllers, sensors, detectors, and/or logic described above. Other structures can be used as well.
In the example shown in
It will also be noted that the elements of previous FIGS., or portions of them, can be disposed on a wide variety of different devices. Some of those devices include servers, desktop computers, laptop computers, tablet computers, or other mobile devices, such as palm top computers, cell phones, smart phones, multimedia players, personal digital assistants, etc.
Computer 810 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 810 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media is different from, and does not include, a modulated data signal or carrier wave. It includes hardware storage media including both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 810. Communication media may embody computer readable instructions, data structures, program modules or other data in a transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
The system memory 830 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 831 and random access memory (RAM) 832. A basic input/output system 833 (BIOS), containing the basic routines that help to transfer information between elements within computer 810, such as during start-up, is typically stored in ROM 831. RAM 832 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 820. By way of example, and not limitation,
The computer 810 may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only,
Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (e.g., ASICs), Application-specific Standard Products (e.g., ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
The drives and their associated computer storage media discussed above and illustrated in
A user may enter commands and information into the computer 810 through input devices such as a keyboard 862, a microphone 863, and a pointing device 861, such as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 820 through a user input interface 860 that is coupled to the system bus, but may be connected by other interface and bus structures. A visual display 891 or other type of display device is also connected to the system bus 821 via an interface, such as a video interface 890. In addition to the monitor, computers may also include other peripheral output devices such as speakers 897 and printer 896, which may be connected through an output peripheral interface 895.
The computer 810 is operated in a networked environment using logical connections (such as a controller area network—CAN, local area network—LAN, or wide area network WAN) to one or more remote computers, such as a remote computer 880.
When used in a LAN networking environment, the computer 810 is connected to the LAN 871 through a network interface or adapter 870. When used in a WAN networking environment, the computer 810 typically includes a modem 872 or other means for establishing communications over the WAN 873, such as the Internet. In a networked environment, program modules may be stored in a remote memory storage device.
It should also be noted that the different examples described herein can be combined in different ways. That is, parts of one or more examples can be combined with parts of one or more other examples. All of this is contemplated herein.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.