System and method for testing objects using a mechanical arm

A system and method for testing objects using a mechanical arm sets one or more first positions. When a user selects one or more second positions of the mechanical arm, a distance between each of the second positions and each of the first positions is calculated. A nearest first position of each of the second positions is determined. Each of the second positions is stored in a test list corresponding to each of the nearest first positions. The mechanical arm is controlled to move to each of the nearest first positions, and tests objects located at the second positions stored in each test list corresponding to each of the nearest first positions.

BACKGROUND

1. Technical Field

Embodiments of the present disclosure relate to testing system, and more particularly to a system and a method for testing objects using a mechanical arm.

2. Description of Related Art

When using a mechanical arm with objects, people need to set a first position and control movements of the mechanical arms according to the first position. The mechanical arm may test different objects repeatedly based on the first position. Because of working time of the mechanical arm is too long, various errors may occur in the mechanical arms movements.

What is needed, therefore, is an improved system and method for testing objects using a mechanical arm.

DETAILED DESCRIPTION

The processes described may be embodied in, and fully automated via, functional modules executed by one or more general purpose processors. The functional modules may be stored in any type of computer-readable medium or other computer storage device. Some or all of the methods may alternatively be embodied in specialized computer hardware or communication apparatus.

FIG. 1is a block diagram of one embodiment of a computer1including a test system10. The test system10may be used to test objects using a mechanical arm2connected to the computer1. In some embodiments, the mechanical arm2may test voltage of the objects, or size of the objects, for example. The object may be a component of a printed circuit board (PCB), for example, but the disclosure is not limited thereto. The computer1is electronically connected to an input device3and an output device4. In one embodiment, the input device3may be a remote control system. The output device4may be a display. The input device3controls the mechanical arm2to move to a desired position set by a user. In some embodiments, the mechanical arm2works in a work area. For example, if the test system10tests a voltage of the component of the PCB, the PCB is defined as the work area of the mechanical arm2.

The computer1includes a processor11and a storage system12. It may be understood that one or more specialized or general purpose processors, such as the processor11, may be used to execute one or more computerized codes of the function modules of the test system10. The one or more computerized codes of the functional modules may be stored in the storage system12. The storage system12also stores various data, such as test parameters, and test results, for example.

FIG. 2is a block diagram of the test system10ofFIG. 1. In one embodiment, the test system10may include a generation module20, a setting module21, a calculation module22, a detection module23, and a control module24.

The generation module20generates a coordinate system based on the work area of the objects. The coordinate system may include an x-axis, a y-axis, and/or a z-axis, for example.

The setting module21sets one or more first positions to position the mechanical arm2according to the one or more first positions and records the coordinates of each of the first positions.

The calculation module22determines one or more second positions of the objects, and calculates a distance between each of the second positions and each of the first positions. In one embodiment, the calculation module22may receive coordinates input by the user from the input device3, and determine the second positions according to the received coordinates. The calculation module22also determines a nearest first position of each of the second positions by comparing the calculated distances. For example, if the first positions include a position B and a position C, the calculation module22calculates a distance M between a second position A and the position B, and a distance N between the second position A and the position C. If the distance M is less than the distance N, the calculation module22determines that the nearest first position of the second position A is the position B.

The detection module23detects if the distance between each of the second positions and a corresponding nearest first position is not more than a maximum distance stored in the storage system12. If the distance is more than the maximum distance, the detection module23prompts the user to reset the maximum distance, and updates the maximum distance stored in the storage system12. If the distance is not more than the maximum distance, the setting module21stores coordinates of each of the second positions to a test list corresponding to each nearest first positions. For example, if the distance M is not more than the maximum distance, the setting module21stores the coordinates of the second position A to the test list corresponding to the position B.

The setting module21also lists the coordinates of the second positions in each test list in sequence. In one embodiment, the coordinates of the second positions in each test list are listed according to the distance between each of the second positions and the corresponding nearest first position. The calculation module22calculates a distance between each two of the second positions in each test list. The calculation module22also determines a subsequent second position according to the distance between the subsequent position and a current second position, which an object located at is tested by the mechanical arm2.

The control module24controls the mechanical arm2to move to each of the nearest first positions, and tests each of the objects located at each of the second positions whose coordinates are stored in the test list of the nearest first position corresponding to the second position. For example, the test list corresponding to the first position C stores coordinates of the second position A and a second position D. If the distance between the second position A and the first position C is less than the distance between the second position D and the first position C. An object located at the second position A is tested first, and then the second position D is searched according to the distance between the second position A and the second position D. The control module24controls the mechanical arm2to test the object located at the second position D.

FIG. 3is a flowchart of one embodiment of a method for testing objects using the mechanical arm2. Depending on the embodiment, additional blocks may be added, others removed, and the ordering of the blocks may be changed.

In block S30, the generation module20generates a coordinate system based on the work area of the objects.

In block S31, the setting module21sets one or more first positions to position the mechanical arm2according to the one or more first positions and records the coordinates of each of the first positions.

In block S32, the calculation module22determines one or more second positions of the objects, and calculates a distance between each of the second positions and each of the first positions.

In block S33, the calculation module22determines a nearest first position of each of the second positions according to the calculated distances.

In block S34, the detection module23detects to see if the distance between each of the second positions and a corresponding nearest first position is not more than a maximum distance stored in the storage system12. If the distance is more than the maximum distance, in block S35, the detection module23prompts the user to reset the maximum distance and updates the maximum distance stored in the storage system26using the reset maximum distance. If the distance is not more than the maximum distance, block S36is implemented.

In block S36, the setting module21stores coordinates of each of the second positions to a test list corresponding to each nearest first position, and lists the coordinates of the second positions in each test list in sequence.

In block S37, the calculation module22calculates a distance between each two of the second positions in each test list.

In block S38, the control module24controls the mechanical arm2to move to each of the nearest first positions, and tests each of the objects located at each of the second positions whose coordinates are stored in the test list of the nearest first position corresponding to the second position.