I making a path following robot, which understands where certain static objects are located on a map.

I'm generated a digital representation of a 2D map. It is 12' by 7' area. It is represented in a 2D array which stores the priority level. The higher the priority level the more the robot wants to travel towards that direction.

A further desciption:

I'm trying to digitize a 12 foot by 7 foot map with the UNO. I'm using a 2D array. I was planning on having a boolean array in stored in RAM which is why i want it so small.

The way it works, lets say you want the transition from each matrix element to represent 1 inch. In other words if you go from array[j] to array[i+1][j] then you have just moved one inch north. So the resolution of the map is 1inch per matrix element. Thus, if you need a 12 foot by 7 foot map the minminum amount of memory would be:

1. Matrix size row: 12 foot x 12inch/foot * 1element / 1 inch = 144 row elements

2. Matrix size column: 7foot x 12inch/foot * 1element/1inch = 84 col elements

3. Hence, we need a 144x84 matrix which contains a total of 12096 elements. These elements are a digital representation of the map.

4. If those elements are bytes then the amount of memory needed is 12KB approx which can only be stored in flash memory, but if they where bits, 0 or 1 then the memory needed is 12096 bits x (1 byte/8 bits) 1512bytes. You can see the dramatic reduce in memory.

The other way to do this is to make the resolution worst, say 2 inch /element.

Right now I'm just trying to generate the 2D array with java code, I'm not writing on the Uno platform yet. I have successfully generated the map.

Map Attached.

My question is:

The map is a 2D in programming terminology but if you think about in term of vector calculus, it's just a 2D (discrete) scalar field. Where:

f(i,j,P(i,j)) where P(i,j) is the priority of a certain cell (i,j). My question is:

Does anyone know of a program, like matlab perhaps that is capable of taking a 2D matrix, and chracteristing it as 3D function?