29
STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like STC algorithm

STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

Embed Size (px)

Citation preview

Page 1: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STCRobot 2

Majd Srour, Anis AbboudUnder the supervision of: Yotam Elor and Prof. Alfred Bruckstein

Optimally Covering an Unknown Environment with Ant-like STC algorithm

Page 2: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Motivation

Recently, it was shown that a single ant robot (modeled as FSM) can simulate the execution of any arbitrary of Turing machine.

Single ant robot, using pheromones can execute complex single-robot algorithms.

In this project, we used an algorithm that leaves Ant-like pheromones on a surface in order to solve the covering problem.

Page 3: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

The Environment

In order to leave pheromones-like traces, we used a phosphorescent glowing floor, that can be charged by light.

The robot charges the board using an UV LEDs which are installed on the back of the robot.

Page 4: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Task Description

Given a phosphorescent glowing floor like this:

The robot divides the floor virtually into sub-cells of its size, and each 4 adjacent sub-cells are considered one cell.The Robot’s task is to cover the floor, passing exactly once over each sub-cell and to return to the same cell where it started.

Page 5: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Last Project vs This project

On-line STC Board is saved in the

computer The computer “remembers” which

cells are visited.

Normal light conditions Floor is physically divided

into cells

Ant-like STC Board is not saved in the

computer The robot figures out which cells

are visited based on traces it left.

Darkness Floor is virtually divided

into cells

Page 6: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

The Robot

PIC-18 board with a Wireless module. Two main wheels, and two auxiliary wheels.

These enable it to perform an on-place 90 degree rotation. Wireless web camera directed up. A curved spherical mirror,

directed down. 4 UV (Ultraviolet) LEDs

Enable the robot to leave green tracks (dots) on the phosphorescent floor.

The Robot is built from Lego.

Page 7: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Image Transformation (1)

Because the camera looks up to a spherical mirror, the image captured from the Robot’s camera is distorted, so we apply the same transformation as the previous project:

But in the darkness.

Page 8: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Image Transformation (2)

Problem: Visited cells are green, obstacles are red. The transformation produces a grayscale image.

• We can’t distinguish between obstacles and visited cells

Solution: Filtering red light, and transforming the image

Identifying visited sub-cells. Filtering green light, and transforming the image

Identifying obstacles.

Page 9: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Transformation - Example

Page 10: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

The Ant-like STC Algorithm

The ant-like version of STC is also an on-line algorithm, and is similar to the algorithm we used for the first project (like Incremental DFS).

Idea: Each time, visit the first new (not visited) obstacle-free

neighbor in counterclockwise order, starting with parent cell.

If all neighbors are visited, go back to parent cell.

The parent cell of , is the last cell the robot visited before his first visit to .

Page 11: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Marking Sub-cells

Each time the robot decides to drive forward, it turns on the lights for a few seconds before proceeding, leaving a trace in one edge of the visited sub-cell.

Lights are on the back of the robot. Traces are left only on the edge of the sub-cell.

Why not keep lights on?

Page 12: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Finding the Parent cell

The robot needs only to Scan the sub-cells in counterclockwise order, and Identify the transition between unmarked and marked

sub-cells. The parent cell is in that direction.

(From the STC paper.)

Upon entering a cell, the robot takes a photo of it, and finds its parent cell.

However, The robot marks only one edge of each visited sub-cell. This edge is shared with the neighboring sub-cell.

Page 13: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Identifying visited sub-cells (1)

Because the robot turns on the light only upon driving forward, its path in a new cell can be one of the following four:

Page 14: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Identifying visited sub-cells (2)

By examining all the possibilities where the robot is visiting a cell, we reached to the conclusion that only the 5 boxes below can be lit upon entering a cell:

Page 15: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Identifying visited sub-cells (3)

From the above, we can conclude that: sub-cell 1 is visited iff one of the boxes 1 and 5 is lit. sub-cell 2 is visited iff one of the boxes 2 and 3 is lit. sub-cell 3 is visited iff box 4 is lit.

Page 16: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Finding the green dots

Crop the relevant section of the image. Look for the square of pixels (of a dot’s size) that

has the highest average value. Looking for a square, instead of a single pixel allows

ignoring noise. If the maximum found value is under a threshold, then

the sub-cell was not visited. Black out the square, and look for a new dot.

Page 17: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Rotation time calibration

Initial 90-degree rotation time = T. After sending the robot a command to rotate for

time T: We detect the actual angle the robot rotated in. Let’s say we got instead of 90. So next time, we

should give the robot a timestamp of .

Page 18: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Angle Detection

We find 3 green dots in a row. We calculate the slope of the connecting line. We translate this slope into an angle.

Page 19: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Precision

In the previous project, we only needed to identify whether or not a cell is an obstacle.

In this project, if a cell is not an obstacle cell, we need to identify visited and free sub-cells.

A sub-cell’s area is only fourth of a cell’s area. Moreover, we have markers only on the edges of

the sub-cells.

Page 20: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Limitations

The camera we used, was not intended to work with low-light conditions, and it couldn’t identify the green light dots after less than a minute.

The system can be improved if we use different technique for identifying the green lights. Using better camera. Using better sensors.

Page 21: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Results

Using a simple and cheap robot with limited sensing and computational capabilities, we succeeded in solving the covering problem using the Ant-like approach, where the robot leaves pheromones-like markers on the surface.

Page 22: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Future Work

Using a better camera (preferably camera with a fully controlled integration time) to try covering a bigger environment.

Try to implement the whole algorithm on the robot itself, without the help of an external Computer.

Try solving more complex problems with ant-like approach solutions.

Page 24: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STCRobot 2

Majd Srour, Anis AbboudUnder the supervision of: Yotam Elor and Prof. Alfred Bruckstein

Page 25: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

BACKUP

Page 26: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Finding the Parent Cell

“As long as the four sub-cells of the current cell are not all marked, the robot need only to scan the sub-cells in counterclockwise order and identify the transition between unmarked and marked sub-cells. The two sub-cells bordering this transition have an exterior edge in common. This edge is necessarily the boundary edge between the current cell and its parent cell in the spanning tree.”

p.84

Page 27: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Debugging

Small inaccuracies stemming from the camera, the environment, a low light from the outside, or a deviation of the robot, can cause the robot to make wrong decisions.

We saved a copy of each taken snapshot, with a timestamp on it. Thus, being able to later track the robot’s path and spot the issues.

In addition, we added a two-step initial calibration.

Page 28: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Initial Calibration (1)

Transformation Calibration: The robot is placed on the lab floor with light on. A snapshot is shown to the user. The user clicks on the camera lens’ center. The image is transformed, with the camera

center’s coordinates as parameters. The user is shown a transformed image and is

asked if it’s good.

The parameters are serialized and can be reused.

Page 29: STC Robot 2 Majd Srour, Anis Abboud Under the supervision of: Yotam Elor and Prof. Alfred Bruckstein Optimally Covering an Unknown Environment with Ant-like

STC Robot

Initial Calibration (2)

Neighbors Calibration: The user is shown a transformed image. The user clicks on the

12 vertices of the neighbor cells:

These are used to divide the snapshots to cells as accurately as possible.

The parameters are serialized and can be reused.