Programming Master Task List

From 1511Wookiee
Revision as of 07:06, 31 January 2010 by Programming (talk | contribs)
Jump to navigationJump to search

Note: These are not in any order currently!!

Task
Assigned To
Description
Status
Design class breakdown Andy Determine any additional classes and/or header files. Layout the hierarchy of the class (inheritance and passing class pointers). Determine which classes own which sensors and controls. started
Magnetic potentiometers Andy This is a new sensor we will be using this year. Currently planned for the kicker. Need to learn how to use/control them. .
Design Camera class Calvin and Justin Based on what we've learned in the Vision example, design the interface for a "ThunderCam" class. It should allow the caller to do at least these things: Get left/right angle from straight ahead that the target is "seen" at (enabling caller to instruct ThunderDrive to turn the robot an appropriate amount), capture the image for sending to dashboard. Not required things, but ideas we've talked about: having it pan/tilt around to look for target, having pan/tilt lock to "straight ahead" for use by driver as "what the robot sees", select target -- look for ball or look for goal. .
Implement autonomous Justin and Candido Once autonomous is refined, start writing some function prototypes for the most useful functions. started
Dashboard implementation, Drivers side Alex and Peter Continue work on the LabVIEW dashboard. Number one priority is having it so that we can visualize the autonomous selection on the screen (in addition to current functions). The auto strategy should be shown when the robot is in disabled/autonomous mode. We'll make some jpg's or other image type of each one, you just need to be able to show these images on the screen. There'll be one image for each strategy; each strategy will be identified by a number (1 - ?) sent from cRIO to the Dashboard. .
Dashboard implementation, robot side Alex and Peter Decide what information will be sent to the Dashboard, and then send that information each processing loop in autonomous and teleop. Use last year's code as an example of how to do it. .
Design kicker class Calvin Once the kicker design is a little more finalized, design the class for kicking in autonomous and in teleop. started
Design hanger class Calvin and Andy Once the hanger design is a little more finalized, design the class for driving the hanger in teleop. .
Implement Kicker Calvin Implement the Kicker class. Do the best you can with the information we have on the robot design. .
Implement Hanger Calvin Implement the hanger class, once enough information on their design is available. .
Implement ThunderDrive Andy Implement the ThunderDrive class. Start with the basic functions and then work towards the more complex ones (DriveStraight() and DriveDistance()). Test it very, very, very well as you go!! Use ThunderPlucker for testing. ready to debug
Design right-my-robot class Calvin, Alex, Andy Once the "right-my-robot" design is a little more finalized, design the class for controlling it in teleop. On hold
Implement right-my-robot Calvin Implement the "right my robot" class, once enough information on their design is available. On hold
Refine autonomous Justin, Candido, Calvin Break down the autonomous strategies into smaller "on field" moves, and identify what "moves" are used in multiple autonomous strategies. Identifying these will let you break the autonomous code into reusable functions and smaller, more easily debugged steps. Candido started this already (on wiki) - continue it. DONE
Basic drive control Alex Continue work on basic driver control of the drive train. You may wish to move some of your code to your own class to keep it all in one place and organized. DONE
Meet with Strategy and Controls to develop operator console Alex, Calvin lead, everyone attend to listen Once the robot design is more finalized, meet with potential drive team and controls to develop concept and drawings for the operator console, especially control of the main functions for driving and kicking. Make sure to let controls know about I/O we'll need for debugging, disabling sensors, and manual control of otherwise automated systems when sensors fail. DONE
Figure out where best to mount camera Candido, Justin, Calvin Seriously look at what height will be optimal to mount the camera. Take into account how we will find range to the goal (if necessary). Report results at integration meeting and document on our Wiki sensors page. DONE