0

I try to teach my robot to walk in a confined space that it doesn't know. The robot has some sensors. It must to go to some point in the space and find the way to return to the start position.

This task very similar to Robot exploration algorithm, but by physical limitations of his legs, walking through the space he starts to think that he stands in one position (x1, y1), but in reality he stands in another position (x2, y2).

So, he can't return back to the start position in real world. I want to use an algorithm that compares the visible picture in position (x1, y1) and the visible picture in position (x2, y2) to correct the error of movement, but I don't know how to realize my idea.

Before I dive into an attempt to solve this problem, could anybody give me some hints how to realize this algorithm?

Community
  • 1
  • 1
  • 1
    If you don't put some constraints on the environment, this problem is too big to solve. – Beta Jun 26 '11 at 23:53
  • I need only advice how to realize algorithm to anderstand by 2 images that some object on first picture is rotated and moved object on second picture and determine vector of movement and angle of rotation that give me ability to correct movement error. For more constraints let it be that sensor is web-camera – Maxim Welikobratov Jun 27 '11 at 00:10
  • Maybe you could add a Kinect to the robot. That would give you lots of preprocessed data about your environment. – Fantius Jun 27 '11 at 13:20

2 Answers2

2

How is the image represented? Is it literally just a raw bitmap inputted from a camera sensor? If so, then you may be in trouble because that problem is very difficult. The name for this particular problem is called simultaneous localization and mapping (or SLAM for short):

http://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping

Solving this is pretty difficult in general, and without knowing more about what kind of data and what sort of processing constraints you have, it would be impossible to answer your question.

Mikola
  • 9,176
  • 2
  • 34
  • 41
1

There are two problems :

  • You want to build a map of your environment, but to do so, you need your exact position in this environment to incorporate what your sensors give you.
  • You want to know exactly where you are (because your sensors give only approximate positions (x2, y2)) but to do so, you need a map of your environment!

You can notice how it is a chicken-and-egg problem.

Hopefully, for you, there is SLAM (Simultaneous localization and mapping)!

B. Decoster
  • 7,723
  • 1
  • 32
  • 52