Difference between revisions of "Robotics-lab6-data"

From Earlham CS Department
Jump to navigation Jump to search
(Comma Separated Value (CSV) Data Format)
 
(5 intermediate revisions by 3 users not shown)
Line 10: Line 10:
 
* from which tile the readings were taken [x,y]
 
* from which tile the readings were taken [x,y]
 
* what value(s) we expected to get [E1, E2, ... En]
 
* what value(s) we expected to get [E1, E2, ... En]
* what value(s) we actually measured [R1, R2, ... Rn]
+
* what value(s) we actually measured [A1, A2, ... An]
  
The following example shows a single line i the data file. It represents the readings from a tile at position (7, -10) in Dennis 128. In the CSV format, strings are enclosed in quotation marks only if they contain special characters (commas, newlines etc.). Spaces are omitted unless they are part of the data, blank entries are represented as "" and quotation marks within the data are escaped by placing a second quotation mark beside it.
+
Please note that E1 and A1 relate to S1, E2 and R2 relate to S2 and so on. The order is significant.
  
  sensor 1,sensor 4,sensor 7,sensor 12,D128,1270320318,7,-10,0,90,180,270,355,83,174,265
+
The following example shows the readings from a single tile (n lines, one for each sensor) in the data file. It represents the readings from a tile at position (7, -10) in Dennis 128. In the CSV format, strings are enclosed in quotation marks only if they contain special characters (commas, newlines etc.). Spaces are omitted unless they are part of the data, blank entries are represented as "" and quotation marks within the data are escaped by placing a second quotation mark beside it.
 +
== Old Format ==
 +
  1,4,7,12,D128,1270320318,7,-10,0,90,180,270,355,83,174,265
 +
# or more generally
 +
S1,S2,S3,S4,{D124,D128,D129},timestamp,x,y,E1,E2,E3,E4,R1,R2,R3,R4
  
or generally
+
== New Format ==
 +
1,4,7,12,D128,1270320318,7,-10,0,90,180,270,355,83,174,265
 +
1,4,7,12,D128,1270320318,7,-10,0,90,180,270,355,83,174,265
 +
1,4,7,12,D128,1270320318,7,-10,0,90,180,270,355,83,174,265
 +
1,4,7,12,D128,1270320318,7,-10,0,90,180,270,355,83,174,265
 +
# or more generally
 +
S1,{D124,D128,D129},timestamp,x,y,E1,R1
 +
S2,{D124,D128,D129},timestamp,x,y,E2,R2
 +
S3,{D124,D128,D129},timestamp,x,y,E3,R3
 +
S4,{D124,D128,D129},timestamp,x,y,E4,R4
  
S1,S2,S3,S4,{D124,D128,D129},timestamp,x,y,E1,E2,E3,E4,R1,R2,R3,R4
+
= Collecting Data =
 +
The data synthesis group decided that it would be more efficient to have bots create their own data file rather than editing and updating an existing full template of the room. This allows for smaller data files with a high percentage of data / structure.
  
= Collecting Data =
+
* [http://cs.earlham.edu/~carrick/courses/cs282/lab6/record_data_lib.py Proposed data writing function]
The data synthesis group decided that it would be more efficient to have bots create their own data file rather than editing and updating an existing full template of the room. This allows for smaller data files with a high percentage of data / structure. A function that writes the data to a specified file handle will be provided soon.
+
* [http://cs.earlham.edu/~carrick/courses/cs282/lab6/record_data_example.py Usage example]
 +
* [http://cs.earlham.edu/~carrick/courses/cs282/lab6/bot-9_D128.dat Output produced by example]
  
 
= Analyzing Data =
 
= Analyzing Data =
Line 28: Line 43:
 
Initial brainstorming has led to the identification of the following tile states in the map:
 
Initial brainstorming has led to the identification of the following tile states in the map:
 
* unknown
 
* unknown
* good (needs to be defined)
+
* good (needs to be defined, but something about two compasses giving headings within 5 degrees of truth)
 
* bad (needs to be defined)
 
* bad (needs to be defined)
 
* suspect (some combination of good and bad from different data files)
 
* suspect (some combination of good and bad from different data files)
 
* inaccessible
 
* inaccessible

Latest revision as of 20:24, 14 April 2010

Robotics Main Page > Lab 6 Tasks > Data Format


Comma Separated Value (CSV) Data Format

We are looking to store the following information for each data point in our data file

  • identifiers for each compass sensors used to take the reading(s) [S1, S2, ... Sn]
  • the room where the reading was taken [{D124, D128, D129}]
  • when the measurement was taken [timestamp: seconds since epoch]
  • from which tile the readings were taken [x,y]
  • what value(s) we expected to get [E1, E2, ... En]
  • what value(s) we actually measured [A1, A2, ... An]

Please note that E1 and A1 relate to S1, E2 and R2 relate to S2 and so on. The order is significant.

The following example shows the readings from a single tile (n lines, one for each sensor) in the data file. It represents the readings from a tile at position (7, -10) in Dennis 128. In the CSV format, strings are enclosed in quotation marks only if they contain special characters (commas, newlines etc.). Spaces are omitted unless they are part of the data, blank entries are represented as "" and quotation marks within the data are escaped by placing a second quotation mark beside it.

Old Format

1,4,7,12,D128,1270320318,7,-10,0,90,180,270,355,83,174,265
# or more generally
S1,S2,S3,S4,{D124,D128,D129},timestamp,x,y,E1,E2,E3,E4,R1,R2,R3,R4

New Format

1,4,7,12,D128,1270320318,7,-10,0,90,180,270,355,83,174,265
1,4,7,12,D128,1270320318,7,-10,0,90,180,270,355,83,174,265
1,4,7,12,D128,1270320318,7,-10,0,90,180,270,355,83,174,265
1,4,7,12,D128,1270320318,7,-10,0,90,180,270,355,83,174,265
# or more generally
S1,{D124,D128,D129},timestamp,x,y,E1,R1
S2,{D124,D128,D129},timestamp,x,y,E2,R2
S3,{D124,D128,D129},timestamp,x,y,E3,R3
S4,{D124,D128,D129},timestamp,x,y,E4,R4

Collecting Data

The data synthesis group decided that it would be more efficient to have bots create their own data file rather than editing and updating an existing full template of the room. This allows for smaller data files with a high percentage of data / structure.

Analyzing Data

Data files (multiple per room) will be placed in a central location where we all have read write access. These files can then be compiled on the fly and displayed graphically. It is currently planned to do this through a PHP web page enabling each group seeing a dynamic view of room map and facilitating their further mapping efforts.

Initial brainstorming has led to the identification of the following tile states in the map:

  • unknown
  • good (needs to be defined, but something about two compasses giving headings within 5 degrees of truth)
  • bad (needs to be defined)
  • suspect (some combination of good and bad from different data files)
  • inaccessible