For software agents to work together efficiently they must share semantics of their data elements. This can be done by having computer systems publish their metadata.
A user agent is the client application used with a particular network protocol; the phrase is most commonly used in reference to those which access the World Wide Web. Web user agents range from web browsers to search engine crawlers ("spiders"), as well as screen readers and braille browsers used by people with disabilities.
When Internet users visit a web site, a text string is generally sent to identify the user agent to the server. This forms part of the HTTP request, prefixed with User-agent: or User-Agent: and typically includes information such as the application name, version, host operating system, and language. Bots, such as web crawlers, often also include a URL and/or e-mail address so that the webmaster can contact the operator of the bot.
Autonomous Robots
Autonomous robots are robots which can perform desired tasks in unstructured environments without continuous human guidance. Many kinds of robots are autonomous to some degree. Different robots can be autonomous in different ways. A high degree of autonomy is particularly desirable in fields such as space exploration, where communication delays and interruptions are unavoidable.
Some modern factory robots are "autonomous" within the strict confines of their direct environment. Maybe not every degree of freedom exists in their surrounding environment but the work place of the factory robot is challenging and can often be unpredictable or even chaotic. The exact orientation and position of the next object of work and (in the more advanced factories) even the type of object and the required task must be determined. This can vary unpredicatably (at least from the robot's point of view). From the start, factory robots have not been subject to continuous human guidance or necessarily any human guidance at all.
One important area of robotics research is to enable the robot to cope with its environment whether this be on land, underwater, in the air, underground or in space.
A fully autonomous robot in the real world has the ability to:
- Gain information about the environment.
- Work for months or years without human intervention.
- Travel from point A to point B, without human navigation assistance.
- Avoid situations that are harmful to people, property or itself
- Repair itself without outside assistance.
A robot may also be able to learn autonomously. Autonomous learning includes the ability to:
- Learn or gain new capabilities without outside assistance.
- Adjust strategies based on the surroundings.
- Adapt to surroundings without outside assistance.
Examples of progress towards commercial autonomous robots
SELF-MAINTENANCE:
The first requirement for physical autonomy is the ability for a robot to take care of itself. The most basic self-maintenance is to find a docking station and recharge itself or swap its batteries as needed. Once this is accomplished, social robots can perform and interact without additional autonomous behaviors. Toy robots, for instance, are increasingly sophisticated socially: the most advanced example is Sony's Aibo range of robotic toy dogs, which are capable of self-docking. Honda performing robots are now also available for rent, at costs "similar to those of hiring a rock star."
Self maintenance is based on "proprioception", or sensing one's own status. Most robots have proprioceptive heat monitoring. Some robots can now sense whether they are level, wet, stuck, or otherwise in jeopardy. Proprioception was the focus of the DARPA Proceptor project, including participants from CMU, SRI, SAIC, ActivMedia Robotics and many other research groups trying to identify whether robotic vehicles were encountering a tree or lake they must circumnavigate vs. a bush or puddle they might pass over. Increased proprioception will be required for robots to work autonomously near people and in harsh environments.
TASK PERFORMANCE:
The next step in autonomous behavior is to actually perform a physical task. A new area showing commercial promise is domestic robots, with a flood of small vacuuming robots beginning with iRobot and Electrolux in 2002. While the level of intelligence is not high in these systems, they navigate over wide areas and pilot in tight situations around homes using contact and non-contact sensors. Both of these robots use proprietary algorithms to increase coverage over simple random bounce. Similarly, the Friendly Robotics lawn mower uses an RF perimeter wire, like a dog fence, as a virtual version of bump sensing. However, this mower uses sophisticated tiling algorithms to calculate the most effective pattern for cutting the entire lawn.
The next level of autonomous task performance requires a robot to perform conditional tasks. For instance, MobileRobots' security robot can be programmed to detect intruders and respond in a particular way depending upon where the intruder is.
INDOOR POSITION SENSING AND NAVIGATION:
For a robot to associate behaviors with a place (localization) requires it to know where it is and to be able to navigate point-to-point. Such navigation began with wire-guidance in the 1970's and progressed in the early 2000's to beacon-based triangulation. Current commercial robots autonomously navigate based on sensing natural features. The first commercial robots to achieve this were Pyxus' HelpMate hospital robot and the CyberMotion guard robot, both designed by robotics pioneers in the 1980's. These robots originally used manually created CAD floor plans, sonar sensing and wall-following variations to navigate buildings. The next generation, such as MobileRobots' PatrolBot and autonomous wheelchair, both introduced in 2004, have the ability to create their own laser-based maps of a building and to navigate open areas as well as corridors. Their control system changes its path on-the-fly if something blocks the way. Add the ability to control elevators and electronic doors, as SwissLog's and many other indoor bots do, and now robots can now freely navigate entire buildings. Autonomous stair-climbing, however, has not yet been achieved by any commercial bot.
As these indoor techniques continue to develop, vacuuming robots will gain the ability to clean a specific user specified room or a whole floor. Security robots will be able to cooperatively surround intruders and cut off exits. These advances also bring concommitant protections: robots' internal maps typically permit "forbidden areas" to be defined to prevent robots from autonomously entering certain regions.
OUTDOOR AUTONOMOUS POSITION-SENSING AND NAVIGATION:
Outdoor autonomy is most easily achieved in the air, since obstacles are rare. Cruise missiles are rather dangerous highly autonomous robots. Pilotless drone aircraft are increasingly used for reconnaissance. Some of these unmanned aerial vehicles (UAVs) are capable of flying their entire mission without any human interaction at all except possibly for the landing where a person intervenes using radio remote control. But some drone aircraft are capable of a safe, automatic landing also.
Outdoor autonomy is the most difficult for ground vehicles, due to: a) 3-dimensional terrain; b)great disparities in surface density; c) weather exigencies and d) instability of the sensed environment.
Internet bot
A bot is common parlance on the Internet for a software program that is a software agent. A Bot interacts with other network services intended for people as if it were a real person. One typical use of bots is to gather information. The term is derived from the word "robot", reflecting the autonomous character in the "virtual robot"-ness of the concept.
The most common bots are web agents that interface with web pages. Web crawlers or spiders are web robots that recursively gather web-page information, such as the bot used by Google ("GoogleBot"). They may also be used to interact dynamically with a site in a particular way, for example to exploit or locate arbitrage opportunities for financial gain.
Some bots communicate with other users of Internet based services, for example via instant messenger (IM) or Internet Relay Chat (IRC), or another web interface. These chatterbots may allow people to ask questions in plain English and then formulate a proper response. These bots can often handle many tasks including reporting weather, zip code information, sports scores, converting currency or other units, and much more. Others just want to entertain us or learn from us, like Jabberwacky.
An additional role of IRC-bots may be to lurk in the background of a conversation channel, commenting on certain phrases uttered by the participants (based on pattern matching). This is sometimes used as a help service for new users, or even for mild censorship (e.g., bad language).
There has been a great deal of controversy about the use of bots in an automated trading function. eBay has been to court in an attempt to suppress a third party company from using bots to traverse their site looking for bargains; this approach backfired on eBay and attracted the attentions of further bots. The UK based bet exchange Betfair saw such a large amount of traffic coming from bots they launched a WebService API aimed at bot programmers through which Betfair can actively manage the bot interactions.
The term bot is used frequently in videogames, referring to computer-controlled enemies in a multiplayer game that simulate the actions of a human player. These bots are used in training, before playing over the Internet, or simply to maximise the experience when there are not enough players in the game. In some multiplayer computer games (often MMORPGs and MUDs), a bot is software that automates simple in-game tasks. Most bots in this sense are configured to repeat an action continually in order to improve the player character's abilities. A related example in first-person shooter games is the aimbot.
Recent Comments