This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
The robotic systems and their applications are getting more complicated day by day; thus the researches on development and standardization of robotic software platform are getting pace. The aim of standardization of robot software platform aims at more efficient customization and manufacturing. The generation of RTC (Robot Technology Component) and OPRoS(Open Platform for Robotic Services) generally uses the component based development approach. However, for the component based robotic software and its platform to be applicable in common, the reliability on performance of software components and their conformity with and portability to different robotic systems have to be insured.
To achieve these requirements, it is essential to test the usability and operability of robot software components during the development process.
By looking at all these aspects, the hierarchical test model and an automated framework were proposed. The three levels of testing based on V-model (unit testing, integration testing and system testing) combines to make the hierarchical test models. The automated test framework on the other hand consist of four components namely test data generation, test manager, test execution, and test monitoring. This framework allows us to perform the robot component test more easily by applying an already existing testing technique which corresponds to its test object and the test level defined.
The user interface, test engine, test resource ,etc are also provided along with the proposed test model.This paper implements a test-bed for testing of the proposed system and verifies its efficacy through a series of experiments.
Test Model and Test Framework
Test Model Structure:
The standard robot software component of OMG, RTC is the base of this test model. The figure below shows the structure of test model in conformity with RTC and its application example to an ultrasonic range finder sensor.
The robot software test system consists of robot software platform, robot software component, robot hardware API, robot hardware module, and simulator. The hardware part of the robot is robot hardware and the simulator is a virtual robot hardware platform which can accommodate robot hardware API in place of robot hardware module. Robot hardware API provides common parts of robot hardware modules in the form of prototype function. The body of robot hardware API is defined as library or DLL in accordance with robot hardware module. The figure below shows an implementation of test model for range finder sensor component conformed to the standard robot software component RTC.
Robot software components complying with RTC standard communicate with each other through ports. In the given figure the range finder sensor component possesses 1 data port for range data output and 3 service ports for transmission of internally executed functions to other components. Three internal functions include GetDistance for distance value and setProfile/getProfile for transmission of component profile.
Outline of Hierarchical Testing Procedures:
The robot component testing procedure needs to accommodate hardware and its interface as well as robot software component, since the robot software component operates tightly coupled with its corresponding robot hardware module. Thus a hierarchical testing procedure has been set up in this paper for testing of robot component conformed to RTC. Another figure below shows the proposed hierarchical testing model which includes the three levels based on V-Model for robot component. The hardware testing, hardware API testing and the composite software component testing correspond to the three levels testing levels respectively. The hardware testing module is considered as the basic unit for hierarchical testing of robotic software component.
The interoperability of hardware module and software component is checked through integration testing, after the unit testing of hardware module is done. During this step, the robot hardware API is tested for the performance index of functionality, which is done by using test cases derived from black box testing techniques. The completeness of function realization, correctness of data, compatibility of data, etc are included in the performance index of functionality. A series of operations are tested for software component during the final step of system tesing, which are specified in the document of software component requirement. The performance index for system testing consists of functionality (compatibility of document, exactness of state transition, correctness of data), maintenance (comprehensibility of cause of defect), portability (functional alternativeness), etc. The testing techniques of boundary value analysis, equal partitioning testing, state transition testing, etc. are used for system testing of robot software component
Testing Automation Framework:
Although robotic software testing is crucial for development and application of standard robotic software platform and its components, lack of manpower and resources and insufficient time induces difficulty in provision of systematic testing process during robotic software development and application. It is important to develop a standard test model and automatic testing procedure, in order to reduce time and cost for testing of robotic software. For this, based on the hierarchical test model presented previously, a testing automation framework has been designed for testing of robotic software component. The figure here shows the proposed testing framework which consists of a user interface, a test engine and a test resource repository. Robot hardware module test UI for document and performance test, API test UI for interface test, and robot software component UI for functional test are the three levels of testing implemented by the user interface. Test engine includes test manager, test data generation unit, test execution unit, and test monitoring unit. Test resource repository provides materials necessary for execution of test process to test engine such as test code, test plan, test case, metrics of performance measurement, etc. The figure also illustrates that the test engine can operate linked with robot hardware test bed or robotic simulator provided.
Fig 4: Schematic diagram of testing automation
The proposed test model and its test framework are applied for testing of range sensor component mounted on a robot hardware test bed. Fig. 6 shows the details of test environment operating coupled with the test framework in Fig. 7.
Test bed system hardware consists of wireless communication station, ultrasonic range sensor module, motor drive unit, and target object carrier. The wireless communication station connects testbed system to the main PC of robot test engine which controls the ultrasonic sensor and motor drive unit for synchronization of testing procedure. Fig. 7 shows the block diagram of overall experimental setup including the main PC working as test agency. Test case refers to performance indices shown in Fig. 9, where range sensor example is given. Boundary value analysis and equivalent division methods are used for the derived test cases shown in Table 1 and 2.
Table.1. the Test Case for Data Correctness of Range Sensor Module by Equivalent Division Method
Test case dist.value
Table 2. Test Case for Data Correctness of Range Sensor Module by Boundary Value Method
Fig. 8 demonstrates experiment result for correctness test of range sensor data by using ultrasonic sensor module SRF-04.
Similarly, Fig. 9 shows the experiment result for fault tolerance test of range sensor data by using the same ultrasonic sensor module.
Figure10. Correctness of Data for Ultrasonic Sensor Module (SRF-04)
The ultrasonic sensor module used in the experiment covers a wide range of 3cm ~ 300cm. Fig. 10 plots the analyzed data correctness of ultrasonic sensor based on experiment result. In the figure, data correctness was defined as equation (1).
Where test success means the case that its measurement value remains within normalized error bound. In the graph, it is found that the ultrasonic sensor SRF-04 module operates correctly in the range 100~280 cm. On the other hand, data correctness decreases notably at the distance less than 80cm or larger than 90cm. The experiment results show that performance of ultrasonic sensor module SRF-04 does not agree with the product specification for operation range of 3cm~300cm. Fig. 11 plots fault tolerance rate of ultrasonic sensor tested. In the figure, fault tolerance is defined as the % rate of data within permissible error bound among data corresponding to test success. Fault tolerance rate is computed by using the following equation.
Where fault is defined as the test result whose measurement value does not agree with the expected one. Similarly, the number of fault tolerance is defined as among the faults the number of faults within allowable error bound.
Hence, the fault tolerance provides a reliability measure of sensor data for successful test. In this experiment, a series of tests and its results has been generated demonstrating the effectiveness of proposed test model and automatic test framework for robot software component of range sensor module. Experiment verifies that the use of hierarchical test model and automatic test framework supports efficient testing of robotic software components in terms of time and cost by generating various test cases in systematic way.
Conclusion and Future Scope
The higher functionality and better performance are much in demand nowadays because of the fast spread of robot system and robotic apparatus. In real life, the guaranteed reliability of interactive robot is of special importance, since its defect might cause fatal damage to mankind and can also cause serious danger for the economic loss. In this respect, the performance and safety test of robotic software component together with robot hardware module is crucial for stable robotic interaction with human and its working environment. Considering the importance of robotic software validation, a hierarchical testing model and its testing automation framework are developed for RTC compatible robotic software components.
The effectiveness of proposed testing model is demonstrated through a series of real experiments for an embedded robotic testbed equipped with ultrasonic sensor module as range finder. It is expected that the proposed hierarchical testing model and testing automation framework provide an efficient way of robotic software testing in terms of time and cost. The results of the experiments conducted so far determines that the developed testing model and its automation framework is applicable to various standard robotic software .