MC Localization fails in a checkerboard world - is the Entropy too high??

If your localization program for Homework 1.4 performs as expected (you get the same results ad Prof. Thrun in the video), try to localize your robot in the following world/measurements


colors = [['red', 'green', 'red' , 'green', 'red'],
['green', 'red', 'green', 'red' , 'green'],
['red', 'green', 'red' , 'green', 'red'],
['green', 'red', 'green', 'red' , 'green'],]

measurements = ['red', 'green', 'red', 'green', 'red']
motions = [[0,0],[0,1],[1,0],[1,0],[0,1]]

I get the following results:


[0.021500866699939357, 0.01665486022786427, 0.099928535268158203, 0.017839797358577648, 0.099928535268158203]
[0.04703819382952576, 0.061501081362463031, 0.017839797358577648, 0.099928535268158203, 0.017839797358577648]
[0.021500866699939357, 0.01665486022786427, 0.099928535268158203, 0.017839797358577648, 0.099928535268158203]
[0.04703819382952576, 0.061501081362463031, 0.017839797358577648, 0.099928535268158203, 0.017839797358577648]

It isn't at all clear where the robot is (besides the fact that is clearly more likely that we are on a red square). The world is cyclical and no matter which way we go, we encounter the same pattern, so there simply isn't enough information to localize the robot!

asked 28 Feb '12, 19:42

Drago%20%20Z%20Kamenov-1's gravatar image

Drago Z Kam...
2551312
accept rate: 0%

edited 28 Feb '12, 19:57

1

I would think that the entropy (randomness) is too low in the checkboard pattern. If you had the red/green colors randomly placed, it's more likely (at least on a large board) that there would be one or just a few possible locations that the robot could be at based upon a given set of moves and observations.

(29 Feb '12, 00:08) David L Sprague David%20L%20Sprague's gravatar image

4 Answers:

There's so little information content in your checkerboard world that it makes localization difficult. You can imagine the same problem in an all-red world. Or all-white, as in driving on snow.

link

answered 28 Feb '12, 19:58

shan's gravatar image

shan
764

Yep, or a world with stripes. I thought that was an interesting thing to try, that's why I posted it. It seems the localization relies on the world having some "order".

(28 Feb '12, 20:04) Drago Z Kam... Drago%20%20Z%20Kamenov-1's gravatar image

That is the whole point of this exercise to find out where the robot is, by moving around and sensing the colors of location.

There is enough information to get a probability matrix of possible locations. [edit] Which is exactly what you get. In real world you would move again and sense again. Depending on the complexity of the map, the number of moves required to get decent localization probability can be different.
[edit]The question is - in this definition of the world, does it matter on WHICH red square robot is ? it finds out that its on certain color, but since the world is cyclic, it does not matter otherwise.

link

answered 28 Feb '12, 19:48

Gundega's gravatar image

Gundega ♦♦
44.0k70170315

edited 28 Feb '12, 20:06

And I suggest you go back and re-read my post. I am talking about a different setup.

(28 Feb '12, 19:56) Drago Z Kam... Drago%20%20Z%20Kamenov-1's gravatar image

Sorry, just did that. No, obviously I did not. Need more coffee. What @shan said - the world is the problem, not the other information. Snow example is good.

(28 Feb '12, 20:02) Gundega ♦♦ Gundega's gravatar image

It looks like in the code you have one too many columns - since it is a cyclical world, it isn't quite a checkerboard pattern in the horizontal direction; when you wrap around the same color will repeat twice.

Other than that, in a checkerboard world it would be hard to tell exactly where you are... no matter which direction you move in from the square you started on, the new square you end up on (if successful) will always be the same color. But you should be able to get a pretty good idea if you are on one of the green squares or one of the red squares.

link

answered 28 Feb '12, 19:52

Ryan's gravatar image

Ryan
616519

edited 28 Feb '12, 19:56

Good point! I added another column and now I get this. Now it's even more uncertain


[0.070709822863898611, 0.01262351046943472, 0.070709822863898611, 0.01262351046943472, 0.070709822863898611, 0.01262351046943472]
[0.01262351046943472, 0.070709822863898611, 0.01262351046943472, 0.070709822863898611, 0.01262351046943472, 0.070709822863898611]
[0.070709822863898611, 0.01262351046943472, 0.070709822863898611, 0.01262351046943472, 0.070709822863898611, 0.01262351046943472]
[0.01262351046943472, 0.070709822863898611, 0.01262351046943472, 0.070709822863898611, 0.01262351046943472, 0.070709822863898611]

(28 Feb '12, 20:00) Drago Z Kam... Drago%20%20Z%20Kamenov-1's gravatar image

Yes, and now it is what you would expect from a world that was made up of small repeating patterns with absolutely no variation.

Change just one random cell from red to green and see what happens :)

(28 Feb '12, 20:12) Gibgezr Gibgezr's gravatar image

When I started doing this demo I did it with a cyclical checkerboard world, the poor robot was more confused than I.

link

answered 28 Feb '12, 20:45

Rodrigo%20Pombo-3's gravatar image

Rodrigo Pombo-3
1.7k82029

Nice work with the demo. Your demo is what got me thinking about how the configuration of the board affects the chances of localization success because I noticed that you generate a random board

(29 Feb '12, 00:16) Drago Z Kam... Drago%20%20Z%20Kamenov-1's gravatar image
Your answer
Question text:

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×5,185
×76
×4
×1

Asked: 28 Feb '12, 19:42

Seen: 319 times

Last updated: 29 Feb '12, 00:16