Skip to content
/ AI Public

Basic Robot Controller Architecture work using a general-purpose logic programming language, Prolog.

Notifications You must be signed in to change notification settings

nglthu/AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI

This page is to demo a basic Robot Controller Architecture work using a general-purpose logic programming language, Prolog.

Agent

An Agent is to act the wold. It has an ability to visualize the world, and make up of a body and a controller.

  1. The body likes a nerve of the system that affects and perceive the world.
  2. The controller likes a brain agent perceiving or responding command. It has to reason, compute, make a decision, and response.

Agent properties

  1. Perceive: what going in the world (giving information)
  2. Reason: Think about given information, come with a plan, and make decisions.
  3. Act: Strategies, take actions and impact the environment.

Example of Robot trap

alt text

Figure 1. Controller Architecture

The general controller architecture is described in Figure 1 which includes Top layer Controller, Middle Layer Controller and Environment.

The robot trap is run as a demo in Figure 2. The robot is started at its position, and is given a goal to G.

The logic is followed:

  1. Top layer issue that goal to the middle layer.
  2. The middle layer tried to forward the goal to the right.
  3. However, it sees the obstacle, and cannot keep going, then it moves to the left.
  4. Then, the obstacles again, turn into left.
  5. It always keeps tacking to move the right because the goal is in the right until it is actually moving to the right.
  6. Then, it heads to obstacles again and again.

Run Demo

Figure 2: Robot trap

Architecture

  1. Top layer Controller
  2. Middle Layer Controller
  3. Environment

Decomposite of the architecture

Top layer of robot controller

if whisker sensor = on
then steer := left
else if straight ahead(robot pos, robot dir, current target pos)
then steer := straight
else if left of (robot position, robot dir, current target pos)
then steer := left
else steer := right
end if

Middle Layer Controller

More Info

See documentation of robot Controller Architecture here

Reference

Agent Architectures and Hierarchical Control in: Poole, D. L., & Mackworth, A. K. (2010). Artificial Intelligence: foundations of computational agents. Cambridge University Press. Available online at http://artint.info/

About

Basic Robot Controller Architecture work using a general-purpose logic programming language, Prolog.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages