Difference between revisions of "Robotics-lab6-tasks"

From Earlham CS Department
Jump to navigation Jump to search
(Software Group (Nick M, Sam, David, Dylan))
 
(23 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
[https://wiki.cs.earlham.edu/index.php/Robotics-2010 Robotics Main Page] > Lab 6 Tasks
 
[https://wiki.cs.earlham.edu/index.php/Robotics-2010 Robotics Main Page] > Lab 6 Tasks
 +
 +
[[Robotics-lab6-newversion|New Version]]
 
----
 
----
 
 
= Robot Group (Nick B, James, Thomas, Nick C) =
 
= Robot Group (Nick B, James, Thomas, Nick C) =
 
* Next Meeting: Monday at 8pm
 
* Next Meeting: Monday at 8pm
 
* Tasks
 
* Tasks
 +
** Design robot
 +
** Decide how to divide work of building robots
 +
** Build robots
 +
*Completed:
 +
                      Two bots, each travels in one dimension with the motor in PORT_A.
 +
                      The bots have a sensor tower with four compasses at the 'Front'
 +
                      and the motor at the 'Back'. The compass pointing towards the
 +
                      'Front' is in PORT_1 and the rest go clockwise. So the one to the
 +
                      'Right' is in PORT_2 and so on.
  
 
= Software Group (Nick M, Sam, David, Dylan) =
 
= Software Group (Nick M, Sam, David, Dylan) =
 
* Next Meeting: Tuesday 8:00 AM (Communicating via email)
 
* Next Meeting: Tuesday 8:00 AM (Communicating via email)
 
* Tasks
 
* Tasks
** '''Due Monday''': Magnetic Mapper code v1.0
+
** '''Due ASAP''': Magnetic Mapper code v1.0
*** Respond to key input (done)
+
*** Make start coordinates and Room ID passable by argument as an alternative to standard input
**** This is not implemented ideally. Currently one press starts the robot moving and the next press stops it instead of the robot moving only while the key is held down
+
**** Right now they must be reinput every time the code is run
*** Implement motor functionality (done)
+
**** Compass IDs and expected headings can also be argumentized, but it is less straightforward because of a potentially variable number of compasses
*** Collect data
+
*** Look at code for other potential improvements and document them in the wiki
**** Sensor IDs
+
 
**** Timestamp
+
 
**** Coordinates  
+
* Old tasks (done)
*****(x,y) by tile
+
** Respond to key input (done)
**** Expected Sensor Data
+
*** This is not implemented ideally. Currently one press starts the robot moving and the next press stops it instead of the robot moving only while the key is held down
**** Actual Sensor Data
+
** Implement motor functionality (done)
*** Using Brad's function, write data to CSV file.
+
** Collect data
 +
*** Sensor IDs (done)
 +
*** Timestamp (done)
 +
*** Room ID (done)
 +
*** Coordinates (done)
 +
****(x,y) by tile (done)
 +
*** Expected Sensor Data (done)
 +
*** Actual Sensor Data (done)
 +
** Using Brad's function, write data to CSV file. (done)
  
 
= Testing/Automation/Refactoring Group (Aaron, Nick C, Dylan, Brad, Gil) =
 
= Testing/Automation/Refactoring Group (Aaron, Nick C, Dylan, Brad, Gil) =
 
* Descriptions:  [[Testing|Testing]], [[Automation|Automation]], [[Editing/Refactoring|Editing/Refactoring]]
 
* Descriptions:  [[Testing|Testing]], [[Automation|Automation]], [[Editing/Refactoring|Editing/Refactoring]]
* Next Meeting: ?
+
* Next Meeting: Tuesday @ 6:00
 +
* RESULTS of TESTING
 +
** First in magmapper.py there is a call to get_type( ) but there is no get_type( ) defined.
 +
** Second we need a better incorporation of calibration of compasses, so that it happens as often as necessary( however often that is).
 +
** Third the bot has trouble staying in a straight line with current controls, as the stopping method is very sudden and causes the bot to unbalance and wiggle.
 +
** Fourth moving the bot manually is faster and more precise than using the interface.
 +
** Fifth it would be nice to know when the data collection was done. At the moment it says "Recording data..." but doesn't tell you when its done.
 
* Tasks
 
* Tasks
** Compass Sensor Interference Test
+
** Test [http://github.com/Sleemanmunk/Magnetic-Mapping/blob/master/magmapper.py magmapper.py]
 +
*** Due Date:  Tuesday at 8am
 +
*** Owner(s):  Dylan
 +
*** Subtasks
 +
**** Make sure documentation is clear (DONE)
 +
**** Write a script to ensure each line of code in magmapper.py is tested
 +
** Test [http://github.com/Sleemanmunk/Magnetic-Mapping/blob/master/nxt_common.py nxt_common.py]
 +
*** Due Date:  Tuesday at 8am
 +
*** Owner(s):  Aaron, Dylan
 +
*** Subtasks
 +
**** Make sure documentation is clear (DONE)
 +
**** Write a script to ensure each line of code in nxt_common.py is tested
 +
** Test [http://github.com/Sleemanmunk/Magnetic-Mapping/blob/master/record_data_lib.py record_data_lib.py]
 +
*** Due Date:  Tuesday at 8am
 +
*** Owner(s):  Dylan
 +
*** Subtasks
 +
**** Make sure documentation is clear (DONE)
 +
**** Write a script to ensure each line of code in record_data_lib.py is tested
 +
** Compass Sensor Calibration Test (DONE)
 +
*** Due Date:  Monday at 8pm
 +
*** Owner(s):  Dylan, Gil
 +
*** Purpose:  Do compass sensors calibrate differently? NO  Are some more likely to calibrate inaccurately or imprecisely? NO
 +
** Compass Sensor Interference Test (DONE)
 
*** Due Date:  Monday at 8pm
 
*** Due Date:  Monday at 8pm
*** Owner(s):  Aaron, Nick C, Dylan, Brad, Gil
+
*** Owner(s):  Gil
 
*** Purpose:  Do compass sensors interfere with each other when placed close together?
 
*** Purpose:  Do compass sensors interfere with each other when placed close together?
** Compass Sensor Calibration Test
+
*** ResultsPlacing the sensors as closely as possible to each other, Gil found no interference.
*** Due DateMonday at 8pm
 
*** Owner(s):  Aaron, Nick C, Dylan, Brad, Gil
 
*** Purpose:  Do compass sensors calibrate differently?  Are some more likely to calibrate inaccurately or imprecisely?
 
  
 
= Environment Preparation Group (Brad, Patrick) =
 
= Environment Preparation Group (Brad, Patrick) =
* Next Meeting: ?
+
* Next Meeting: none
 
* Tasks  
 
* Tasks  
 
** Determine Room Dimensions
 
** Determine Room Dimensions
Line 43: Line 86:
 
*** Results
 
*** Results
 
**** D128 - 22 x 28 (EW x NS)
 
**** D128 - 22 x 28 (EW x NS)
**** D129 -  
+
**** D129 - 13 x 15 (EW x NS)
 
**** D124 - 24 x 28 (EW x NS)
 
**** D124 - 24 x 28 (EW x NS)
 +
**** The origin is the big cross in the center of the room. North is marked with a diagonal arrow.  North is positive on the Y axis and East is positive on the X axis.
 
** Mark off origin, quadrants, and regular periodic difference
 
** Mark off origin, quadrants, and regular periodic difference
 
*** Digitally make note of "unreadable" tiles, i.e. ones with something immovable on them
 
*** Digitally make note of "unreadable" tiles, i.e. ones with something immovable on them
*** Due Date:  Tuesday at 8am
+
*** Due Date:  done
 
*** Owner(s):  Patrick
 
*** Owner(s):  Patrick
  
Line 53: Line 97:
 
* Next Meeting:  Tuesday at 8am
 
* Next Meeting:  Tuesday at 8am
 
* Tasks
 
* Tasks
 +
** [[Data Collection Howto]]
  
 
= Data Synthesis Group (Brad, Patrick) =
 
= Data Synthesis Group (Brad, Patrick) =
Line 63: Line 108:
 
** [[Robotics-lab6-data|Working with Lab 6 Data ]]
 
** [[Robotics-lab6-data|Working with Lab 6 Data ]]
  
= Documentation/Writeup Group (Aaron, Jeremy) =
+
= Documentation/Writeup Group (Aaron, Jeremy, Gus, Nick) =
 
* Next Meeting: ?
 
* Next Meeting: ?
 
* Tasks
 
* Tasks
Line 82: Line 127:
 
** Make sure everyone has a task at any given point
 
** Make sure everyone has a task at any given point
 
** Make sure work is being distributed as evenly as possible
 
** Make sure work is being distributed as evenly as possible
** Make sure tools are being used (correctly) by everyone (wiki, group directory)
+
** Make sure tools are being used (correctly) by everyone (wiki, github)
 
** Make sure standards are defined where appropriate
 
** Make sure standards are defined where appropriate
 
** Make sure standards are being met
 
** Make sure standards are being met
 
** Understand the dependencies between groups
 
** Understand the dependencies between groups
 +
** Make sure the job gets done

Latest revision as of 12:16, 13 April 2010

Robotics Main Page > Lab 6 Tasks

New Version


Robot Group (Nick B, James, Thomas, Nick C)

  • Next Meeting: Monday at 8pm
  • Tasks
    • Design robot
    • Decide how to divide work of building robots
    • Build robots
  • Completed:
                      Two bots, each travels in one dimension with the motor in PORT_A.
                      The bots have a sensor tower with four compasses at the 'Front'
                      and the motor at the 'Back'. The compass pointing towards the
                      'Front' is in PORT_1 and the rest go clockwise. So the one to the
                      'Right' is in PORT_2 and so on.

Software Group (Nick M, Sam, David, Dylan)

  • Next Meeting: Tuesday 8:00 AM (Communicating via email)
  • Tasks
    • Due ASAP: Magnetic Mapper code v1.0
      • Make start coordinates and Room ID passable by argument as an alternative to standard input
        • Right now they must be reinput every time the code is run
        • Compass IDs and expected headings can also be argumentized, but it is less straightforward because of a potentially variable number of compasses
      • Look at code for other potential improvements and document them in the wiki


  • Old tasks (done)
    • Respond to key input (done)
      • This is not implemented ideally. Currently one press starts the robot moving and the next press stops it instead of the robot moving only while the key is held down
    • Implement motor functionality (done)
    • Collect data
      • Sensor IDs (done)
      • Timestamp (done)
      • Room ID (done)
      • Coordinates (done)
        • (x,y) by tile (done)
      • Expected Sensor Data (done)
      • Actual Sensor Data (done)
    • Using Brad's function, write data to CSV file. (done)

Testing/Automation/Refactoring Group (Aaron, Nick C, Dylan, Brad, Gil)

  • Descriptions: Testing, Automation, Editing/Refactoring
  • Next Meeting: Tuesday @ 6:00
  • RESULTS of TESTING
    • First in magmapper.py there is a call to get_type( ) but there is no get_type( ) defined.
    • Second we need a better incorporation of calibration of compasses, so that it happens as often as necessary( however often that is).
    • Third the bot has trouble staying in a straight line with current controls, as the stopping method is very sudden and causes the bot to unbalance and wiggle.
    • Fourth moving the bot manually is faster and more precise than using the interface.
    • Fifth it would be nice to know when the data collection was done. At the moment it says "Recording data..." but doesn't tell you when its done.
  • Tasks
    • Test magmapper.py
      • Due Date: Tuesday at 8am
      • Owner(s): Dylan
      • Subtasks
        • Make sure documentation is clear (DONE)
        • Write a script to ensure each line of code in magmapper.py is tested
    • Test nxt_common.py
      • Due Date: Tuesday at 8am
      • Owner(s): Aaron, Dylan
      • Subtasks
        • Make sure documentation is clear (DONE)
        • Write a script to ensure each line of code in nxt_common.py is tested
    • Test record_data_lib.py
      • Due Date: Tuesday at 8am
      • Owner(s): Dylan
      • Subtasks
        • Make sure documentation is clear (DONE)
        • Write a script to ensure each line of code in record_data_lib.py is tested
    • Compass Sensor Calibration Test (DONE)
      • Due Date: Monday at 8pm
      • Owner(s): Dylan, Gil
      • Purpose: Do compass sensors calibrate differently? NO Are some more likely to calibrate inaccurately or imprecisely? NO
    • Compass Sensor Interference Test (DONE)
      • Due Date: Monday at 8pm
      • Owner(s): Gil
      • Purpose: Do compass sensors interfere with each other when placed close together?
      • Results: Placing the sensors as closely as possible to each other, Gil found no interference.

Environment Preparation Group (Brad, Patrick)

  • Next Meeting: none
  • Tasks
    • Determine Room Dimensions
      • Due Date: Tuesday at 8am
      • Owner(s): Patrick
      • Results
        • D128 - 22 x 28 (EW x NS)
        • D129 - 13 x 15 (EW x NS)
        • D124 - 24 x 28 (EW x NS)
        • The origin is the big cross in the center of the room. North is marked with a diagonal arrow. North is positive on the Y axis and East is positive on the X axis.
    • Mark off origin, quadrants, and regular periodic difference
      • Digitally make note of "unreadable" tiles, i.e. ones with something immovable on them
      • Due Date: done
      • Owner(s): Patrick

Data Collection Group (Michael, Tristan, Gil)

Data Synthesis Group (Brad, Patrick)

  • Next Meeting: ?
  • Tasks
    • Identify inaccessible tiles via a CSV file
    • Create a python function for use by the software group that will create a correctly formatted entry in a CSV data file ( Done 4/3 )
    • Create software to visualize a CSV data file in graphical map form
  • Resources

Documentation/Writeup Group (Aaron, Jeremy, Gus, Nick)

  • Next Meeting: ?
  • Tasks
    • Overview
    • Description of Robot
    • Description of Environment
    • Description of Software
    • Description of CSV file
    • Procedure
    • Pictures of Robot
    • Attach Python scripts as appendices
    • Attach CSV files as appendices
    • Attach environment maps as appendices

Leading/Organizing Group (Jeremy, Sam, Aaron)

  • Next Meeting: ?
  • Tasks
    • Make sure everyone has a task at any given point
    • Make sure work is being distributed as evenly as possible
    • Make sure tools are being used (correctly) by everyone (wiki, github)
    • Make sure standards are defined where appropriate
    • Make sure standards are being met
    • Understand the dependencies between groups
    • Make sure the job gets done