Page images
PDF
EPUB
[blocks in formation]
[blocks in formation]

precision necessary when extracting features. As an end effector nears an object it is attempting to grasp, the exact location of that object becomes more crucial.

Priority

Each command is prioritized based on its relative importance to the rest of the system. The priority is assigned by the requesting process and reflects the global importance of the command to the rest of the system.

Command timestamp

The command initiation time is used to determine whether timing requirements are being

met.

Sender Identification

A code identifying the sender of the command accompanies each command.

The Job Assignment module returns status to the requesting process. This information indicates whether Level 1 modules have completed execution of a request. The variables passed include:

Job Assignment status

This variable indicates the condition of the queue in the Job Assignment module. The queue may be full, empty, or accepting commands. Since operator commands are of the highest priority, the Job Assignment queue always accepts an operator command. In the event that the queue is full, the lowest priority command already on the queue is aborted. (An "abort" status is returned to the requestor.) The queue then accepts the operator's command.

Planner command number

This value reflects the number of the command that the Planner module is processing. Planner status

The Planner module notifies other modules whether it is busy executing a command, idle and waiting for a command, or handling an error that has arisen while processing a command.

Execution command number

The Execution module records which command it is processing.

Execution status

The state of the Execution module's processing is busy or idle.

Estimated termination time

Level 1 reflects the estimated time before results are complete. Level 2 uses this parameter when deciding whether to terminate a Level 1 command or to wait until its completion.

3.1.1.2. Operator Control to Level 1 Job Assignment Interface

During subsequent execution of a command, errors may arise due to uninterpretable results. To establish more meaningful results, it is important for an operator to intervene with alternative commands. The operator modifies output by changing parameters for any given algorithm or by changing the algorithm to be executed. The operator inputs commands in a similar manner to those issued from Level 2 (See sec. 3.1.1.1) except that the sender identification field is declared "operator". Output to the operator appears as images on a monitor or easily understandable ASCII messages on a terminal.

3.1.1.3. Level 1 Job Assignment to Level 1 Planner Interface

The prioritized algorithm commands are passed from the Job Assignment module to the Planner module. The request passes the indicated information and is the same as initially defined in 3.1.1.1 and are shown in figure 8.

Command number

Processing request

Timing requirements

Precision requirements

Priority

Command timestamp.

3.1.2. Level 1 Planner Module

The Planner module in Level 1 reads the highest priority command from the Job Assignment queue. Since there are five general classes of sensory processing performed at Level 1, there are five Planner modules: one for enhancement processes, one for filtering processes, one for boundary detection, one for region detection, and one for computation of optical flow.

When an algorithm command is received, the Planner modules choose the specific technique within the class of algorithms specified by the Job Assignment module most appropriate for the type of data being processed. For example, when the camera Job Assignment module receives a command to perform a filtering operation, the Planner module chooses the appropriate filtering algorithm from the class of filtering techniques available in the sensory processing module based on time constraints, environmental conditions, the form required of the output, etc. The request for the execution of a specific algorithm is passed to the Execution module. Status information is returned to the Job Assignment module. Figure 8 explicitly shows the information passed to and from the Planner module.

3.1.3. Level 1 Execution Module

The Execution module receives either the request for camera control or the algorithm selected by the Planner module (fig. 9). In the case of algorithm selection, it reads all parameters required for the execution of the particular algorithm from the world model database. The algorithm name and supporting parameters are passed to the sensory processing mod

[blocks in formation]
« PreviousContinue »