top of page

Features

CleanBot is an automated vacuum cleaner that can calculate the best path while cleaning a room (or several rooms), which is previously unknown. The main intelligence issue is the famous "planning" problem.

​

In this page, you may find what kind of form, our problem has, in PEAS manner and in agent type. Input is a randomly polluted room and an initial position; while, the output is a sequence of movement.

​

Default features will involve visiting each tile in a given environment with least number of movements, sensing adjacent obstacles/walls to calculate on-the-fly route and vacuuming. For the future work please see regarding page under Features tab, above.

Main Features
  • No tile is unvisited

  • Efficient path

  • Dynamic map calculation

  • Arbitrary starting position

Performance Measures

Performance measure will be goal based. In other word, tests will ask if all the dirt on the floor is cleared and if is the current approach the least time consuming solution.

Environment

Environment consists of empty/dirty tiles, walls/obstacles and CleanBot itself. Following descriptors may be given for default features of the problem:

  • Partially-observable: Room is previously unknown.

  • Stochastic: Observed obstacles also matters.

  • Sequential: Past and future states are important.

  • Static: By default, a static environment is assumed.

  • Discrete: Time, state and actions are in discrete manner.

Actuators

Actuators are movement components that can alter the location in 8-cell neighborhood (for ease of operation) and vacuumin function.

Sensors

Sensors involve a motor driver to feedback next location of CleanBot and 1 tile proximity sensor for obstacles around.

Agent

Only a single agent operation will be considered by default. As agent program, the most probable choice would be "goal-based". As it is simple enough to fix a planning problem. But considering partially-observable environment, a "utility-base" or "learning" agent may be implemented.

Development

After some Internet research, the high-level programming language "Clojure" is selected as the main core frame for the problem solver. Graphical interface candidates will be evaluated later.

bottom of page