System Requirements

The high-level objectives of our system are given in Fig 1.

These were formulated based on-

1. The problem statement and end goal

2. Conversations with our sponsor and advisors

3. Inter-team discussions

5. Considerations of the robot specifications

6. Consideration of the time and budget constraints

Fig 1. Objective Tree

The requirements of the system were formulated based on these objectives.

The functional requirements were developed from the first three objectives. These objectives were constructed by looking at the process flow rather than the subsystems so the focus was on navigation, and the individual tasks that are to be performed(pollination, harvesting). When developing the requirements, the process flow was considered along with the subsystems. The parameters for navigation-based performance requirements and manipulation-based performance requirements were decided based on the environment setup and robot specifications. The parameters for perception-based performance requirements were decided based on current research and industry standards.

Functional Requirements

The robot: 

For navigation

M.F.1-1. Shall autonomously navigate around rows in the test environment.

M.F.1-2. Shall perform collision avoidance from obstacles.

For pollination

M.F.2-1.Shall identify flowers to pollinate.

M.F.2-2. Shall disperse pollen.

M.F.2-3. Shall preserve flowers.

For harvesting 

M.F.3-1. Shall identify fruits to harvest.

M.F.3-2. Shall cut the tomato bunch to yield.

The non-functional requirements that qualitatively evaluate the system revolve around the last two objectives. The focus was on tool design and the safe operation of the robot. Other non-functional requirements include considerations of the robot’s specifications.

Non-functional Requirements

The system shall

D.F.1. Map obstacles in the environment

D.F.2. Autonomously navigate around rows in the test environment

D.F.3. Localize pollination point

D.F.4. Preserve flowers

D.F.5. Localize harvesting point

D.F.6. Preserve the quality of tomatoes

Mandatory system-level requirements

Mandatory performance requirements

The robot: 

For navigation

M.P.1-1. Will perform collision avoidance by maintaining minimum 15 cm from obstacles.

For pollination

M.P.2-1. Will identify flowers with 70% mAP.

M.P.2-2 Clusters of flowers localized to within 5 cm (Euclidean) accuracy.

M.P.2-3. Will preserve flowers 60% of the time. 

For harvesting 

M.P.3-1. Will identify ripe tomato bunches with 70% mAP.

M.P.3-2. Clusters of tomatoes localized to within 5 cm (Euclidean) accuracy

M.P.3-3. Will cut the tomato bunches in less than 2 passes.

Mandatory non-functional requirements

The system shall

M.N.1. Have a maximum payload capacity of 500g

M.N.2. Have tools with a maximum weight of 0.5kg

M.N.3. Ensure safe operation by enabling tool to be detached mechanically

M.N.4. Ensure safe operation by enabling manual override via teleoperation

M.N.5. Ensure safe operation by having a watch-dog module that provides feedback to the user

Desirable system-level requirements

Desirable performance requirements

The system will

D.P.1. Map obstacles in the environment within ±10 cm accuracy

D.P.2. Autonomously navigate around rows in the test environment at 0.2 m/s

D.P.3. Localize pollination point within ±4 cm accuracy

D.P.4. Preserve flowers 95% of the time

D.P.5. Localize harvesting point within ±5 cm accuracy

D.P.6. Preserve the quality of tomatoes with a maximum damage of 10%

Desirable non-functional requirements

The system shall

D.N.1. Be protected from debris like leaves, pollen, and dust

D.N.2. Be simple to operate

D.N.3. Have a modularized tool subsystem such that the different tools can be fitted easily and in the same way

D.N.4. Have sufficient battery life of 30 minutes at maximum payload

D.N.5. Work in a partial occlusion setting