Team Roles

Each member of a team serves a different role with unique responsibilities. Sometimes an individual may be responsible for multiple tasks simultaneously; in this case the individual team member is expected to delegate tasks to other team members who are not currently active.


It is the responsibility of each team member to ensure their respective tasks are completed. This does not mean each member has to personally do each task; they can and should delegate to other members of the team as needed to distribute work load and alleviate bottlenecks.

Pilot in Command

The pilot in command is responsible for the safe execution of flight tests including test prep, manual override piloting, and test tear down. When not conducting a flight test, the pilot in command plays a support role to other specialist roles.

Responsibilities include:

  • Ensuring a safe flight space and all safety protocols are observed

  • Developing a test plan for each flight that includes the objective of the flight, sequence of events, and emergency plan in case of unexpected behavior from drone. This is to be communicated to other team members

  • Piloting any manual-controlled portions of flight tests

  • Hands-on remote control during all autonomous portions of flight test, ready to retake manual control

Ground Commander

The ground commander is responsible for operating the ground station and monitoring the health of the system during flight.

Responsibilities include:

  • Establishing communication links to drone via QGroundControl and/or ssh

  • Starting necessary services for autonomous flight and monitoring health of services (e.g. distance sensor, optical flow quality, local position estimates, etc.)

  • Starting and monitoring team-developed software during autonomous flight tests (e.g. velocity commands, computer vision modules, etc.)

  • Post-flight analysis of flight telemetry

Software Developer

The software developer is responsible for maintaining the team’s codebase and operating the ground station during flight tests.

Responsibilities include:

  • Pulling, merging new code from instructional GitHub repositories (i.e. upstream)

  • Translating team’s ideas to functional, well commented code

  • Committing and pushing developed code back to team’s MIT GitHub repositories (i.e. origin)

Hardware Specialist

The hardware specialist is responsible for the inventory and upkeep of the team’s hardware (e.g. drone, batteries, etc).

Responsibilities include:

  • Repair of any damaged parts that result from flight test crashes

  • Calibrating sensors as needed

  • Battery charging and battery safety

  • End of day parts inventory and organization

Research Specialist

The research specialist is responsible for investigating potential solutions to complex problems as well as documenting important information learned (e.g. wiring diagrams, command sequences, etc), tracking teams progress and preparing presentations.

Responsibilities include:

  • Managing team’s documents repository

  • Investigate theoretical approaches to challenging autonomy problems, understand work required to implement such approaches, and prioritize team development efforts

  • Documenting important command sequence to ensure repeatability of tests

  • Researching software errors (i.e. “googling”) in order to debug problems without the help of instructors

  • Prepare and deliver team challenge presentations

[ ]: