Skip to content

Project Plan

Harvey edited this page Aug 28, 2015 · 15 revisions

Work Breakdown Structure

An image of the Work Breakdown Structure chart. Click here to view the full-size image.

Gantt Chart

An except from the Gantt chart used to plan the project timeline. Click here to view the full document.

UML Diagram

Task allocation and checklist

Click here to go to the task allocation and checklist spreadsheet.

Other

Layered view of WBS

Task Breakdown

Project Start

Planning

  • Brainstorm ideas
  • Create possible extra feature list
  • Consolidate ideas into requirements
  • Check requirements against project brief
  • Work Breakdown Chart (WBS)
  • Network Diagram (PERT)
  • Gantt Chart
  • Finalize plan

Setup

  • Set up ROS workspace
  • Create basic world files and node files
  • Create a script that will compile and run ROS
  • Create launch file to duplicate nodes in world
  • Create time logging sheet

Code

Environment

  • Create basic world which will contain all nodes
  • Create template for spawning objects & setting properties before runtime
  • Define world size and boundaries
  • Create modular kiwifruit row object
  • Create weed object
  • Create driveway/spawning area

Node definitions

  • Create Subclass interfaces (Animal, Human, Robot, Vehicle, Bin)
  • Implement Picker definition
  • Implement Carrier definition
  • Implement Kiwifruit Bin definition
  • Implement Dog definition
  • Implement Cat definition
  • Implement Possum definition
  • Implement Worker definition
  • Implement Visitor definition
  • Implement Tractor definition
  • Create status variables to all node types

Node Behaviours

  • Define Common Behaviours by subclass
  • Implement Picker behaviour
  • Implement Carrier behaviour
  • Implement Kiwifruit Bin behaviour
  • Implement Dog behaviour
  • Implement Cat behaviour
  • Implement Possum behaviour
  • Implement Worker behaviour
  • Implement Visitor behaviour
  • Implement Tractor behaviour

Node interaction

  • Implement Picker & Carrier interaction
  • Implement Animal interaction
  • Implement Worker interaction
  • Implement Visitor interaction

Node communication

  • Implement Picker communication
  • Implement Carrier communication
  • Implement Worker communication
  • Implement Visitor communication

Debugging

  • Create debugging view showing status of all nodes

Testing

  • Comment on code while writing
  • Write class description at the top of each file to identify its role
  • Create unit tests for each feature as they are completed
  • Check tests are passing before each milestone
Ongoing
  • Log work hours on timesheet
  • Comment on code while writing
  • Write class description at the top of each file to identify its role
  • Create unit tests for each feature as they are completed

Project Finish

#Task Explanation

Node Definition

Should include:

  • Size
  • Movement Ability
  • Sensors
  • Collision Detection
Node Behaviours

Should include:

  • Pathing or moving to a destination
  • All behaviour routines corresponding with a status
  • Triggers to switch status where relevant
Node Interaction

Should include:

  • Collision avoidance with environment objects
  • Collision avoidance with other nodes
  • Triggers to switch status where relevant
Node Communication

Should include:

  • Signalling full, empty bin locations
  • Pickers dividing work area between them
  • Carriers publishing location information to pickers
  • Pickers assigning a carrier to a bin
  • Workers telling visitors to leave orchard (they come back)
  • Robots signalling weed locations to workers
  • Carriers spreading out when waiting to cover more area