Robotics-lab6-tasks: Difference between revisions

From Earlham CS Department
Jump to navigation Jump to search
Gil (talk | contribs)
Amweeden06 (talk | contribs)
No edit summary
 
(48 intermediate revisions by 8 users not shown)
Line 1: Line 1:
Back to [https://wiki.cs.earlham.edu/index.php/Robotics-2010 Robotics Main Page]
[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) =
* 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)


= Robot Construction Track =
= Testing/Automation/Refactoring Group (Aaron, Nick C, Dylan, Brad, Gil) =
* Build Bots - Nick B, James, Thomas, Nick C
* Descriptions:  [[Testing|Testing]], [[Automation|Automation]], [[Editing/Refactoring|Editing/Refactoring]]
Meeting Monday at 8pm
* 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.


= Robot Software Track =
= Environment Preparation Group (Brad, Patrick) =
* Design Algorithm and Write Scripts - Nick M, Sam, David, Dylan
* Next Meeting: none
# Decide on a location for scripts in source control
* Tasks
* [[Testing|Testing]], [[Automation|Automation]], [[Editing/Refactoring|Editing/Refactoring]] - Aaron, Nick C, Dylan, Brad
** Determine Room Dimensions
** Insert requests here -- what would you like tested/automated/proofread?
*** 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 Track =
= Data Collection Group (Michael, Tristan, Gil) =
* Data Collection - Michael, Tristan, Gil
* Next MeetingTuesday at 8am
** Idea for workload distribution: Teams of 2; one to move the bot around, the other to move tables around and run the script. There should also be a person from the software track present to do any emergency debugging.
* Tasks
** [[Data Collection Howto]]


** Gil will check whether compasses can be used near each other Saturday evening.
= 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 ]]


= Infrastructure Track =
= Documentation/Writeup Group (Aaron, Jeremy, Gus, Nick) =
* Next Meeting: Saturday, 10:00 a.m.
* Next Meeting: ?
* Members: Aaron, Brad, Jeremy, Patrick, Sam
* Tasks
* Documentation/Writeup - Jeremy, Aaron, Brad
** Overview
# Setup initial LaTeX template for the lab writeup [Started by Aaron 4/1]
** Description of Robot
# Decide where to put the lab file in source control (so we can all work on it)
** Description of Environment
* Data Synthesis - Brad, Patrick
** Description of Software
# Determine Room Dimensions [Started by Patrick 4/1]
** Description of CSV file
## D128 - 22 x 28 (EW x NS)
** Procedure
## D129 - 24 x 28
** Pictures of Robot
## Advanced Lab -
** Attach Python scripts as appendices
# Label origin, quadrants, and regular periodic distances (10 tiles perhaps) [Started by Brad 4/1]
** Attach CSV files as appendices
# Define CSV format
** Attach environment maps as appendices
# 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


* Data Analysis - Patrick, Brad
= Leading/Organizing Group (Jeremy, Sam, Aaron) =
* Automation - Aaron, Brad
* Next Meeting: ?
* Leading/Organizing - Jeremy, Sam, Aaron
* 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 16: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