Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

If you are not using any exteroceptive sensors such as camera / laser/ sonar etc, then the conventional mapping solutions won't work for you.

Based on your comments, what I understood is that you need to understand where in the environment you can navigate without collisions. This information constitutes a map for you. To create that map you will navigate the robot in a pattern in the open space.

Assuming I have understood your problem correctly, I can see a couple of problems in this approach.

  1. You are entirely dependent on odometry, which will definitely drift while the robot moves
  2. You need to fix your odometry coordinate system's origin somewhere and keep track of it

If your odometry drift is tolerable and you can always initialize the robot accurately in the same place, I propose the following mapping approach.

Initialize map MxN 2D matrix to occupied everywhere

while navigating
    get position x,y from odometry
    convert x,y to corresponding i,j indices of the map (based on map resolution and map origin)
    set map(i,j) free