• Keine Ergebnisse gefunden

6.2 P ROTOTYPE OF THE D ISTRIBUTED S ENSOR F USION S CENARIO

6.2.2 Measurements

synchronization service. This ensures that the data to be fused are time coherent right from their observation. Furthermore, it ensures that all scans a fusion stage receives are from the same period. This approach is used for fusion on low levels of abstraction ― points and contours ― where Kalman filters cannot be applied.

As can be seen in Figure 6-5, TAFT ensured that no instance of the arc filter missed its deadline (depicted by the dashed, straight line) during the measurements. The relative deadline of the task pair set to 35,82ms, the ECET of the main part to 30ms, and the WCET of the exception part to 0,2ms. The values were intentionally chosen to be quite small as compared to the measured execution times, so as to have many situations in which the main part cannot be completed before its deadline and the TAFT scheduler has to take action to prevent timing failures. The measured maximum response time of 35,70ms is smaller than the task pair’s deadline. So, during the whole run no timing failures occurred although the specified resource demand of the main part and the relative deadline were significantly shorter than the measured maximum execution time of the arc filter.

6.2.2.2 Exploiting Functional Redundancy

We conducted measurements to assess the impact of using anytime algorithms on the reli-ability of the arc filter. The arc filter is in charge of detecting arcs in the raw data delivered by a laser scanner (cf. Section 3.2). To this end, the arc filter successively evaluates tenta-tive arc positions and, if stopped, delivers those positions with an evaluation above a given threshold. Since, at this point, we are particularly interested in situations in which the main part becomes faulty, we considered a scenario with large and increasing execution times (cf. the execution times plotted in Figure 6-6). Furthermore, we chose the scenario such that there actually was an arc in the field of view of the laser scanner so that the arc filter was expected to deliver the position of that arc. Thus, we were able to analyze the results of the arc filter in cases in which its execution time exceeded the allocated ECET. The ECET was set to 58.36ms (cf. Figure 6-6) corresponding to the 95%-quantile of the meas-urements presented in Section 5.1. To assess the impact of using an anytime algorithm for the arc filter, we compare for each set of input points the results delivered by a completed instance to the results delivered by an aborted instance. The most important part of the result is the estimated arc position with the highest evaluation because in a RoboCup-like context, where a single round object is to be detected, this would be considered the esti-mated position of the ball. Thus, our criterion in comparing the results was whether the estimated position with the highest evaluation in the completed instance was also present in the output of the aborted instance. As long as this was case, the output was considered to be sufficient.

Figure 6-6 presents the results. It shows that in the considered situation, there are a large number of instances that exceed their ECET; that is, a large number of faulty main parts.

The detection time plotted in the figure is the time at which the arc filter found the tenta-tive arc position with the highest evaluation. All the detection times are smaller than the ECET. This makes clear that each instance of the arc filter that delivered a position esti-mate at all, detected the best position estiesti-mate before the ECET. This means that all in-stances, even if aborted at their ECET, would have had the best position estimate in their output and therefore would have delivered sufficient results. Thus, in the measurement, the fact that task instances had to be aborted did not affect the reliability of the task pair. An example situation from the application prototype that shows how spatial redundancy can be exploited has been presented in Sub-Section 5.3.2.

Figure 6-6. Execution times and detection times of the arc filter

6.2.2.3 Application-Level Adaptation

In this clause, we present measurements illustrating the idea of application-level adaptation in the distributed sensor fusion scenario. On the one hand, we show that performing the fusion on a higher level of abstraction reduces the load on the CPU. On the other hand, we present an example situation where fusion on a higher level of abstraction produced less complete results than fusion on a lower level.

Figure 6-7 shows the measured execution times of the modules for sensor fusion on differ-ent levels, each column corresponding to one of the levels. The measuremdiffer-ents have been conducted on an AMD Athlon 700, 128MB RAM, with three rectangular objects and a ball situated within the field (Figure 6-8). Filtering stages before the fusion are executed for both scans so that two times appear in the table.

Point level Contour level Object level Element level

Point fusion 181.5 - - -

Contour filter 714.3 180.0 / 180.1 177.3 / 180.7 180.0 / 180.1

Contour fusion - 1.1 - -

Object filter 0.9 0.6 0.2 / 0.2 0.3 / 0.2

Object fusion - - 2.8 -

Element filter 0.1 0.1 0.1 0.06 / 0.04

Element fusion - - - 0.02

Sum 896.8 181.9 183.8 180.38

Figure 6-7. Comparison of execution times [ms] for different fusion levels

The results show that performing the sensor fusion on the point level has by far the longest delay. Most of the time is spent for the point level fusion and for filtering the fused data,

because both modules have two complete sets of points (or the union thereof) as input. If fusion is performed on higher levels, filtering the raw data consumes the largest part of the overall time as well. Therefore, even if fusing data on the object or element level saves some time in the corresponding modules, this effect is not significant compared to the exe-cution time of the contour filter. Hence, the contour-, object-, and element-level fusion all have about the same overall execution time.

Figure 6-8 presents an example scenario from the prototype where three rectangular ob-jects and a ball are located in the field. The pictures (a) and (b) show the raw data of two laser scanners observing the scene. Picture (c) shows the results obtained by fusing the data of the two scanners on the element level. The boxes represent the bounding boxes computed by the element filter. The fused set of elements contains only two of the three robots. This is because none of the scanners has sufficient data on its own to recognize the missing robot. This shows that the local view of a single sensor might not suffice to recog-nize all objects in the environment and that fusion on the element level does not always solve this problem. Element level fusion yields complete results only if for each element at least one scanner has sufficient data to classify it. Figure 6-8 (d) depicts the results (on the element level) for contour level fusion. Here, all elements have been detected. Both scan-ners together perceive a sufficient fraction of the robot missing in Figure 6-8 (c) to classify it.

Figure 6-8. Raw data (a,b) and results on the element level for fusion on the element (c) and the contour level (d).

Taking both results presented above together, we see that switching to a higher level of abstraction under persistent overload can reduce the system load significantly and thus is a promising approach to prevent task abortions. On the other hand, the price to be paid is a possibly reduced accuracy or completeness of the results; that is, a degradation of the de-livered service.