Difference between revisions of "Robotics-lab6-tasks"

From Earlham CS Department
Jump to navigation Jump to search
(Infrastructure Track)
 
(57 intermediate revisions by 9 users not shown)
Line 1: Line 1:
= Robot Construction Track =
+
[https://wiki.cs.earlham.edu/index.php/Robotics-2010 Robotics Main Page] > Lab 6 Tasks
* Build Bots - Nick B, James, Thomas, Nick C
 
Meeting Monday at 8pm
 
  
= Robot Software Track =
+
[[Robotics-lab6-newversion|New Version]]
* Design Algorithm and Write Scripts - Nick M, Sam, David, Dylan
+
----
# Decide on a location for scripts in source control
+
= Robot Group (Nick B, James, Thomas, Nick C) =
* Testing/Automation/Editing/Refactoring - Aaron, Nick C, Dylan
+
* Next Meeting: Monday at 8pm
** Insert requests here -- what would you like tested/automated/proofread?
+
* 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.
  
= Data Collection Track =
+
= Software Group (Nick M, Sam, David, Dylan) =
* Data Collection - Michael, Tristan
+
* 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
  
= Infrastructure Track =
 
* Members: Aaron, Brad, Jeremy, Patrick, Sam
 
* Documentation/Writeup - Jeremy, Aaron, Brad
 
# Setup initial LaTeX template for the lab writeup [Started by Aaron 4/1]
 
# Decide where to put the lab file in source control (so we can all work on it)
 
* Data Synthesis - Brad, Patrick
 
# Determine Room Dimensions [Done by Patrick 4/1]
 
## D128 - 24 x 28 (EW x NS)
 
## D129 - 24 x 28
 
## Green Space -
 
# Label origin, quadrants, and regular periodic distances (10 tiles perhaps)
 
# Define CSV format
 
# Create blank CSV template for each room
 
# Create wiki space for lab [Done by Brad 4/1]
 
# Wiki space for showing data files that have been collected [Started by Brad 4/1]
 
  
* Data Analysis - Patrick, Brad
+
* Old tasks (done)
* Automation - Aaron, Brad
+
** Respond to key input (done)
* Leading/Organizing - Jeremy, Sam, Aaron
+
*** 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|Testing]], [[Automation|Automation]], [[Editing/Refactoring|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 [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
 +
*** 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) =
 +
* Next Meeting:  Tuesday at 8am
 +
* Tasks
 +
** [[Data Collection Howto]]
 +
 
 +
= 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 ( [[Robotics-lab6-data#Collecting_Data|Done ]] 4/3 )
 +
** Create software to visualize a CSV data file in graphical map form
 +
* Resources
 +
** [[Robotics-lab6-data|Working with Lab 6 Data ]]
 +
 
 +
= 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

Latest revision as of 11: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