Patent Description:
With developments of computer and automatic control, robot systems have been widely used to process various types of objects in the manufacturing industry. Typically, a robot system may have a plurality of mechanical robot arms, each of which may move within a respective predetermined range. In order to enable the robot system to accurately perform operations on the object (such as grabbing the object, measuring the size of the object, cutting the object to a predetermined shape, etc.), the robot arms should be calibrated.

There have been proposed several solutions for calibrating the robot arms. However, conventional calibrating procedures need dedicated calibrating tools. Therefore, it is desired to manage the robot arm in a more effective and convenient manner. <CIT> discloses a method of performing a calibration for an origin position of a joint axis of an industrial robot. <CIT> discloses a zero return device for a SCARA cylindrical accessory joint. <CIT> discloses an industrial robot capable of quickly rotating a robot arm in a direction toward an origin during an origin returning operation.

Example embodiments of the present disclosure provide solutions for managing a robot arm.

The invention provides a method for managing a robot arm. The method may comprise: receiving, during a movement of the robot arm in an axis of the robot arm, a signal collected by a sensor equipped at a frame of the robot arm; detecting a change in strength of the received signal, the change being caused by an offset between a position of a reference mark equipped at the robot arm and a position of the sensor; and determining an original point of the axis of the robot arm based on the detected change. With these embodiments, the original point of the axis of the robot arm may be determined in an easy and effective manner without a need to mount a dedicated calibrating tool to the robot arm. Moreover, as no calibrating tool is needed, the potential errors that are caused in mounting and removing the calibrating tool may be eliminated.

Detecting the change in the strength of the signal comprises: detecting any of a center and an extremity of a fluctuation in the strength of the signal. The output signal of the sensor may be a discrete signal or a continuous signal. If the signal is a discrete signal, the curve of the signal collected by the sensor usually shows a symmetric pattern during the movement of the robot arm, and the strength at the center of the fluctuation may indicate a greater change in the strength. Accordingly, the strength at the center of the fluctuation may reflect a typical position for the robot arm. Alternatively, if the signal is a continuous signal, then an extremity (such as a maximum or a minimum) of the fluctuation may indicate a greatest change in the strength. Accordingly, the strength at the extremity of the fluctuation may reflect a typical position for the robot arm. Therefore, these embodiments provide flexible manners in selecting the type of the sensor.

In some embodiments of the present disclosure, determining the original point of the axis further comprises: determining a position of the robot arm in the axis based on the center of the fluctuation, strength of the signal reaching a value corresponding to the center of the fluctuation when the robot arm moves to the determined position; and identifying the determined position as the original point of the axis. In some embodiments of the present disclosure, determining the original point of the axis further comprises: determining a position of the robot arm in the axis based on the extremity of the fluctuation, strength of the signal reaching a value corresponding to the extremity of the fluctuation when the robot arm moves to the determined position; and identifying the determined position as the original point of the axis. With these embodiments, the typical position when the robot arm moves to the position corresponding to the center or extremity of the fluctuation may be determined as the original point. This typical position will not change during movements of the robot arm and thus may be used as the original point for calibrating the robot arm.

In some embodiments of the present disclosure, the method may further comprise causing the robot arm to move in the axis. Once the robot system enters into the calibrating mode, the robot arm may be caused to move in the axis automatically and the original point may be determined without any further human control. With these embodiments, the determination of the original point may be implemented in an automatic manner after the robot system is set to a calibrating mode.

In some embodiments of the present disclosure, the sensor comprises an active sensor for transmitting a wave beam towards the reference mark and the robot arm; and the reference mark and the robot arm provide different reflectivity to the wave beam transmitted from the sensor. In some embodiments of the present disclosure, the sensor comprises a passive sensor; and the reference mark comprises a signal source for generating the signal that is to be collected by the sensor. With these embodiments, various types of sensors may be equipped in the robot system and therefore it may provide a much convenient way for selecting the type of the sensor according to a specific type of the robot arm.

In some embodiments of the present disclosure, the reference mark is equipped at a mechanical stop of the robot arm. As the mechanical stop of the robot arm is clamped at the end of the robot arm and provides a range limitation of the movement of the robot arm, equipping the reference mark at the mechanical stop may not affect normal movements of the robot arm. Further, the mechanical stop may provide more space for equipping the reference mark at the robot arm.

In some embodiments of the present disclosure, the method may further comprise calibrating the axis of the robot arm based on the determined original point. With these embodiments, the robot arm may be easily calibrated without any calibrating tool, and all the calibrating procedures may be implemented automatically without complicated human interactions.

In some embodiments of the present disclosure, the axis of the robot arm comprises any of: an axis of a movement axis of the robot arm; or an axis of a rotation axis of the robot arm. With these embodiments, multiple axes of the robot arm may be calibrated according to their corresponding original points. Further, the original points of the axes may be determined separately. In addition to and/or alternatively, the original point of one axis may be determined first and then the axis of the robot arm may be calibrated based on the determined original point. Then, the original point of the other axis may be determined for further calibrating.

In some embodiments of the present disclosure, the axis of the robot arm comprises one of an axis of a movement axis of the robot arm and an axis of a rotation axis of the robot arm. The method may further comprise: receiving, during a movement of the robot arm in a further axis of the robot arm, a further signal collected by the sensor; detecting a further change in strength of the further signal; and determining a further original point of the further axis of the robot arm based on the further change. With these embodiments, as the axis is already calibrated during determining the further original point of the further axis, the errors in the axis is already removed, and thus the further axis may be calibrated in a more accurate and effective way.

The invention also provides an apparatus for managing a robot arm. The apparatus comprises: a receiving unit, configured to receive, during a movement of the robot arm in an axis of the robot arm, a signal collected by a sensor equipped at a frame of the robot arm; a detecting unit, configured to detect a change in strength of the received signal, the change being caused by an offset between a position of a reference mark equipped at the robot arm and a position of the sensor; and a determining unit, configured to determine an original point of the axis of the robot arm based on the detected change.

The detecting unit comprises: a fluctuation detecting unit, configured to detect any of a center and an extremity of a fluctuation in the strength of the signal.

The determining unit comprises: a position determining unit, configured to determine a position of the robot arm in the axis based on any of the center and the extremity of the fluctuation, strength of the signal reaching a value corresponding to any of the center and the extremity of the fluctuation when the robot arm moves to the determined position; and an identifying unit, configured to identify the determined position as the original point of the axis.

In some embodiments of the present disclosure, the apparatus further comprises: a driving unit, configured to cause the robot arm to move in the axis.

In some embodiments of the present disclosure, the sensor comprises an active sensor for transmitting a wave beam towards the reference mark and the robot arm; and the reference mark and the robot arm provide different reflectivity to the wave beam transmitted from the sensor.

In some embodiments of the present disclosure, the sensor comprises a passive sensor; and the reference mark comprises a signal source for generating the signal that is to be collected by the sensor.

In some embodiments of the present disclosure, the reference mark is equipped at a mechanical stop of the robot arm.

In some embodiments of the present disclosure, the axis of the robot arm comprises any of: an axis of a movement axis of the robot arm; or an axis of a rotation axis of the robot arm.

In some embodiments of the present disclosure, the apparatus further comprises: a calibrating unit, configured to calibrate the axis of the robot arm based on the determined original point.

In some embodiments of the present disclosure, the axis of the robot arm comprises one of an axis of a movement axis of the robot arm and an axis of a rotation axis of the robot arm. The receiving unit is further configured to receive, during a movement of the robot arm in a further axis of the robot arm, a further signal collected by the sensor; the detecting unit is further configured to detect a further change in strength of the further signal; and the determining unit is further configured to determine a further original point of the further axis of the robot arm based on the further change.

Some embodiments of the present disclosure provide a system for managing a robot arm. The system comprises: a computer processor coupled to a computer-readable memory unit, the memory unit comprising instructions that when executed by the computer processor implements the method for managing a robot arm according to the first aspect of the present disclosure.

The invention also provides a computer readable medium having instructions stored thereon, the instructions, when executed on at least one processor, cause the at least one processor to perform the method for managing a robot arm according to the first aspect of the present disclosure.

Some embodiments of the present disclosure provide a robot system. The robot system comprises: a robot arm configured to move in an axis of the robot arm; a reference mark equipped at the robot arm; a sensor equipped at a frame of the robot arm and configured to collect a signal, the signal having a change in strength that is caused by an offset between a position of the reference mark and the sensor during a movement of the robot arm in the axis of the robot arm.

In some embodiments of the present disclosure, the sensor comprises an active sensor for transmitting a wave beam towards the reference mark and the robot arm; and the reference mark and the robot arm provide different reflectivity for the wave beam transmitted from the sensor.

In some embodiments of the present disclosure, the robot arm is caused to move in the axis.

In some embodiments of the present disclosure, the change in the strength is for determining an original point of the robot arm.

In some embodiments of the present disclosure, the change comprises a fluctuation in the strength of the signal, and a position of the robot arm in the axis corresponding to any of the center and the extremity of the fluctuation is determined as the original point, the strength of the signal reaching a value corresponding to any of the center and the extremity of the fluctuation when the robot arm moves to the position.

In some embodiments of the present disclosure, the robot arm is calibrated based on the original point of the robot arm.

Some embodiments of the present disclosure provide a robot managing system. The robot managing system comprises: a robot system according to the fifth aspect of the present disclosure; and an apparatus for managing the robot system according to the second aspect of the present disclosure.

Principles of the present disclosure will now be described with reference to several example embodiments shown in the drawings. Though example embodiments of the present disclosure are illustrated in the drawings, it is to be understood that the embodiments are described only to facilitate those skilled in the art in better understanding and thereby achieving the present disclosure, rather than to limit the scope of the disclosure in any manner.

For the sake of description, reference will be made to <FIG> to provide a general description of environment in which embodiments of the present disclosure can be implemented. <FIG> illustrates a schematic diagram of a robot system <NUM> comprising robot arm(s). In <FIG>, the robot system <NUM> may be a Selective Compliance Assembly Robot Arm (SCARA) robot system and may comprise multiple robot arms. Among those robot arms, a robot arm <NUM> may be an end arm to which a processing tool is mounted. During operations of the robot arm <NUM>, a processing tool may be fixed to the end of the robot arm <NUM> for processing an object that is to be manufactured by the robot system <NUM>. The position of the robot arm <NUM> should be calibrated before the processing. As shown in <FIG>, the movement of the robot arm <NUM> may relates to two axes of the robot system <NUM>: an axis <NUM> along which the robot arm <NUM> may vertically move; and an axis <NUM> around which the robot arm <NUM> may rotate.

In the SCARA robot system, the axis <NUM> may be referred to as the third axis and the axis <NUM> may be referred to as the fourth axis. Each of these axes <NUM> and <NUM> may have their own local coordinate systems and the local coordinate systems may be converted to a world coordinate system <NUM> based on corresponding converting matrixes. Although the present disclosure describes embodiments for managing the robot arm by taking the SCARA robot system as an example, the embodiments may be implemented in any type of robot systems as long as an original point of a robot arm needs to be determined.

There have been proposed solutions for managing a robot arm. According to one solution, a dedicated calibrating tool <NUM> may be fixed to the end of the robot arm <NUM>, and then the axis <NUM> and the axis <NUM> of the robot arm <NUM> may be calibrated with the help of the calibrating tool <NUM>. However, if a processing tool is already mounted to the robot arm <NUM>, the calibrating procedure may involve multiple steps for removing and mounting the processing tool and the calibrating tool <NUM>. On one hand, this procedure requires professional engineers' manual work. On the other hand, the frequent removing and mounting steps may possibly introduce assembly errors. Accordingly, it is desired to provide solutions for managing the robot arm in a much easier and convenient way.

In order to at least partially solve the above and other potential problems, a new solution for managing a robot arm is disclosed according to embodiments of the present disclosure. <FIG> illustrates a schematic diagram of a robot system <NUM> in which embodiments of the present disclosure may be implemented. In <FIG>, the robot system <NUM> may comprise a robot arm <NUM>, a robot arm <NUM>, and a robot arm <NUM>, where the robot arm <NUM> is connected to a base of the robot system <NUM>, and the robot arm <NUM> is connected to the robot arm <NUM>. As shown, the robot arm <NUM> may rotate around an axis <NUM> in the base of the robot system <NUM> and the robot arm <NUM> may rotate around an axis <NUM> in the robot arm <NUM>. Further, a processing tool <NUM> may be mounted to the robot arm <NUM>. Although three robot arms are shown in <FIG>, more or less arms may be equipped in the robot system <NUM>. According to embodiments of the present disclosure, the robot arm <NUM> may be managed without removing the processing tool <NUM>.

Reference will be made to <FIG> for a general description of the embodiments. <FIG> illustrates a schematic diagram <NUM> for managing the robot arm <NUM> in accordance with embodiments of the present disclosure. For the sake of simplicity, <FIG> illustrates only a portion of the robot system <NUM> and irrelevant portions the robot system <NUM> are omitted. The left side of <FIG> shows that the robot arm <NUM> may vertically move along the axis <NUM> and rotate round the axis <NUM>. In embodiments of the present disclosure, a sensor <NUM> may be equipped at a frame <NUM> of the robot arm <NUM> and a reference mark <NUM> may be equipped at the robot arm <NUM>. For example, the reference mark <NUM> may be mounted to a mechanical stop <NUM> of the robot arm <NUM>. Alternatively, the reference mark <NUM> may be mounted to the robot arm <NUM> directly. The right side of <FIG> shows a curve of a signal that is collected by the sensor <NUM> during a movement of the robot arm <NUM>. Here, the horizontal axis represents a position of the robot arm <NUM>, and the vertical axis represents strength of the collected signal.

Base on the above, a new method for managing the robot arm <NUM> may be provided. In the method, during a movement of the robot arm <NUM> in an axis, a signal <NUM> collected by the sensor <NUM> equipped at the frame <NUM> of the robot arm <NUM> may be received. A change in strength of the received signal <NUM> may be detected from the signal <NUM>, here the change is caused by an offset between a position of the reference mark <NUM> equipped at the robot arm <NUM> and a position of the sensor <NUM>. An original point of the axis of the robot arm <NUM> may be determined based on the detected change. In some embodiments of the present disclosure, the collected signal may be a discrete signal as shown by the signal <NUM> in <FIG>. In some embodiments, the collected signal may be a continuous signal as shown by the signal <NUM> in dash line.

With these embodiments, all the above steps may be implemented automatically without a need of manual work by the technical engineers. The original point of the axis of the robot arm <NUM> may be determined in an easy and effective manner without a need to mount a dedicated calibrating tool <NUM> to the robot arm <NUM>. Moreover, as no calibrating tool is needed, the potential errors that are caused in mounting and removing the calibrating tool <NUM> may be eliminated. Comparing with the traditional solution for calibrating the robot arm <NUM> with the calibrating tool <NUM>, the processing tool <NUM> does not need to be removed from the end of the robot arm <NUM> when the robot arm <NUM> is calibrated according to embodiments of the present disclosure.

Hereinafter, details of the embodiments of the present disclosure may be provided with reference to <FIG>. Reference will be made to <FIG>, which illustrates a flowchart of a method <NUM> for managing the robot arm <NUM> in accordance with embodiments of the present disclosure. At a block <NUM> of <FIG>, during the movement of the robot arm <NUM> in the axis (such as the axis <NUM> or <NUM>) of the robot arm <NUM>, the signal <NUM> collected by the sensor <NUM> equipped at the frame <NUM> of the robot arm <NUM> may be received. Reference will be made to <FIG> for positions for equipping the sensor <NUM> and the reference mark <NUM>. <FIG> illustrates a side view <NUM> of the robot system <NUM> equipped with the sensor <NUM> and the reference mark <NUM> in accordance with embodiments of the present disclosure. As shown in <FIG>, the sensor <NUM> may be fixed to the frame <NUM> of the robot arm <NUM>. Here, the frame <NUM> may be a portion of the robot arm <NUM> to which the robot arm <NUM> is connected, and thus the relative position of the sensor <NUM> and the frame <NUM> remains unchanged during movement of the robot arm <NUM>.

In some embodiments of the present disclosure, the sensor <NUM> may comprise various types of sensors. In one example, an active sensor may be adopted. The active sensor may transmit a wave beam towards the reference mark <NUM> and the robot arm <NUM>, and collect signals reflected from the reference mark <NUM> and the robot arm <NUM>. The reference mark <NUM> and the robot arm <NUM> may have difference shapes such that they may provide different reflectivity to the wave beam transmitted from the sensor <NUM>. The active sensor may comprise a photoelectric sensor, a radar sensor and the like. In some embodiments, the wave beam may be a beam of any types of waves, including but not limited to an acoustic wave, a light wave, and a radio wave.

In some embodiments of the present disclosure, the sensor <NUM> may comprise a passive sensor. Here, the passive sensor does not transmit wave beam, instead, the passive sensor only receives signals from the reference mark <NUM>. In these embodiments, the passive sensor works as a signal source for generating the signal that is to be collected by the sensor <NUM>. The passive sensor may comprise a magnetic sensor for receiving a magnetic signal from a magnetic source, or another type of sensor for receiving another type of signal such as thermal signal and optical signal. With these embodiments, various types of sensors may be equipped in the robot system and therefore it may provide a much convenient way for selecting the sensor <NUM> according to a specific type of the robot arm <NUM>.

In some embodiments of the present disclosure, the reference mark <NUM>, the reference mark <NUM> may be equipped at the robot arm <NUM> directly. Although the reference mark <NUM> may shorten the stroke length reachable by the robot arm <NUM>, these embodiments may provide an easy and effective way for determining the original point of the robot arm <NUM>.

In some embodiments of the present disclosure, the reference mark <NUM> may be equipped at a mechanical stop <NUM> of the robot arm <NUM>. Here, the mechanical stop <NUM> of the robot arm <NUM> may be a mechanical part clamped at the end of the robot arm <NUM> for providing a range limitation to the movement of the robot arm <NUM>. With these embodiments, by equipping the reference mark <NUM> at the mechanical stop <NUM>, the reference mark <NUM> may not affect the normal movement of the robot arm <NUM>. Further, the robot arm <NUM> is usually implemented by a ball screw spline, and equipping the reference mark <NUM> at the mechanical stop <NUM> may not affect the stroke length of the robot arm <NUM>.

In some embodiments of the present disclosure, the axis of the robot arm <NUM> may comprise any of: the axis <NUM> of a movement axis of the robot arm <NUM>; or the axis <NUM> of a rotation axis of the robot arm <NUM>. With these embodiments, multiple axes of the robot arm <NUM> may be calibrated according to the corresponding original points. Here, the original points of the axes may be determined separately, which may provide a convenient way for determining the original points. Alternatively, the original point of one axis may be determined and then this axis of the robot arm <NUM> may be calibrated first. Then, the original point of the other axis may be determined for further calibrating the other axis.

In some embodiments of the present disclosure, the method <NUM> may further comprise causing the robot arm <NUM> to move in the axis. With these embodiments, the calibrating may be implemented in an automatic manner after the robot system <NUM> is set to the calibrating mode. Once the robot system <NUM> enters into the calibrating mode, the robot arm <NUM> may be caused to move in the axis automatically without any further human control.

In some embodiments, the calibrating mode may be triggered once the robot system <NUM> is powered on. In some embodiments, the calibrating mode may be an independent mode and may be triggered by a technical engineer who is operating the robot system <NUM>. In addition to and/or alternatively, the calibrating mode may be triggered in other situations. In the calibrating mode, the robot arm <NUM> may be manually moved to a predefined range within the movement range of the robot arm <NUM>. Then, by moving the robot arm <NUM> within the predetermined range, the signal <NUM> near the center of the fluctuation may be collected and the original point of the axis may be determined. With these embodiments, the original point may be determined in a fast and effective manner.

Alternatively, in order to calibrate the robot arm <NUM>, the robot arm <NUM> may be moved within the whole movement range of the robot arm <NUM> for determining the original point. In these embodiments, although it needs more time to reach the signal <NUM> near the center of the fluctuation, the whole calibrating process does not involve any manual interaction from the technical engineer and thus a full-automatic calibrating solution is provided.

At a block <NUM> of <FIG>, a change may be determined in strength of the received signal <NUM>. Here, the change may be caused by an offset between the position of the reference mark <NUM> equipped at the robot arm <NUM> and the position of the sensor <NUM>. Referring back to the signal <NUM> in <FIG>, the strength of the signal <NUM> varies according to the position of the robot arm <NUM>. For the discrete signal <NUM>, at a position <NUM>, the strength changes from the minimum value to the maximum value, and at a position <NUM>, the strength changes from the maximum value to the minimum value. At this point, the portion between the positions <NUM> and <NUM> may be determined as a change.

In some embodiments of the present disclosure, any of a center and an extremity of a fluctuation in the strength of the signal <NUM> may be determined. In the context of the present disclosure, the square wave in the signal <NUM> may indicate the fluctuation for the discrete signal; and an extremity in the curve of the signal <NUM> may indicate the fluctuation for the continuous signal. For the sake of simplicity, the present disclosure will take a peak in the square wave as an example of the fluctuation and describe details of the embodiments. All the steps for determining a center in a valley in the square wave, a maximum in a peak in the curve, and a minimum in a valley in the curve may be similar to those for processing a peak in the square wave.

As shown in <FIG>, the peak occurs between the positions <NUM> and <NUM>, and then a center <NUM> of the peak may be determined from the square wave. With these embodiments, as the signal <NUM> collected by the sensor usually shows a symmetric pattern during the movement of the robot arm <NUM>, the strength at the center <NUM> of the peak may indicate a greater change in the strength. Accordingly, the original point determined based on the center <NUM> of the peak may be a relative accurate point.

Referring to a block <NUM> of <FIG>, an original point of the axis of the robot arm <NUM> may be determined based on the detected change. Reference will be made to <FIG> again for providing details of how to determine the original point. In <FIG>, in order to determine the original point, a position <NUM> corresponding to the center <NUM> may be determined from the curve of the signal <NUM>. The strength of the signal <NUM> reaches a value corresponding to the center <NUM> of the peak when the robot arm <NUM> moves to the position <NUM>. At this point, the determined position <NUM> may be identified as the original point of the axis. With these embodiments, the position <NUM> when the robot arm <NUM> moves to a position corresponding to the center <NUM> of the peak may be determined as the original point. The position <NUM> may accurately reflect an extreme point of the movement of the robot arm <NUM>.

For a square wave signal <NUM> represented by discrete values, the position <NUM> may be a center of the positions <NUM> and <NUM>. Referring to the continuous signal <NUM> represented by continuous values, as the continuous signal <NUM> may be affected by noise during operations of the sensor <NUM>, the signal <NUM> may not show an exact symmetric pattern. At this point, the original point may be determined based on the extremity value in the continuous signal <NUM>.

Hereinafter, reference will be made to <FIG> for more details about how to determine the original point in the axis <NUM>. <FIG> illustrate schematic diagrams 600A and 600B where the robot arm <NUM> locates at different positions in the axis <NUM> respectively, and <FIG> illustrates a schematic diagram of a curve of a signal collected by a sensor during a movement of the robot arm <NUM>.

In <FIG>, the robot arm <NUM> moves from the bottom to the top along the axis <NUM>. When the reference mark <NUM> is located at a vertical position 610A, due to a fact that the reference mark <NUM> is relatively far from the sensor <NUM>, the strength of the collected signal <NUM> at the position 610A indicates the minimum value. During the movement of the robot arm <NUM> from the bottom to the top, the strength of the collected signal <NUM> grows. <FIG> shows a situation when the reference mark <NUM> is located at a vertical position 610B. At this point, the reference mark <NUM> and the sensor <NUM> are in the same horizontal level and the reference mark <NUM> is closest to the sensor <NUM>. Therefore the strength of the collected signal <NUM> at the position 610B indicates the maximum value. In <FIG>, the position 610B corresponds to the center 610C of the peak in the curve, and then the position 610B may be identified as the original point of the axis <NUM>.

Hereinafter, reference will be made to <FIG> for more details about how to determine the original point in the axis <NUM>. <FIG> illustrate schematic diagrams where the robot arm <NUM> locates at different positions in the axis <NUM> respectively, and <FIG> illustrates a schematic diagram of a curve of a signal collected by a sensor during a movement of the robot arm <NUM>.

<FIG> are top views 700A and 700B of the robot system <NUM>, where the sensor <NUM> is located at the frame <NUM> of the robot arm <NUM>, and the reference mark <NUM> is located at the robot arm <NUM>. The robot arm <NUM> rotates clockwise around the axis <NUM>. When the reference mark <NUM> is located at a position 710A (represented by an angle <NUM> defined by the positions of the reference mark <NUM>, an axis center of the robot arm <NUM> and the sensor <NUM>), due to a fact that the reference mark <NUM> is relatively far from the sensor <NUM>, the strength of the collected signal <NUM> at the position 710A indicates the minimum value.

During the clockwise rotation of the robot arm <NUM>, the strength of the collected signal grows. <FIG> shows a situation when the reference mark <NUM> is located at a position 710B. At this point, the above angle decreases to zero and the reference mark <NUM> and the sensor <NUM> are in the same direction and the reference mark <NUM> is closest to the sensor <NUM>. Therefore the strength of the collected signal at the position 710B indicates the maximum value. In <FIG>, the position 710B corresponds to the center 710C of the peak in the curve, and then the position 710B may be identified as the original point of the axis <NUM>.

As mentioned in the above paragraphs, multiple types of sensors <NUM> may be adopted, hereinafter, reference will be made to <FIG> for describing how to determine the original point by using a passive sensor such as a magnetic sensor. <FIG> illustrate top views 800A and 800B of the robot system <NUM> equipped with a passive sensor, and the robot arm <NUM> moves to different positions in the axis <NUM> of the robot system <NUM> in <FIG>. In these figures, the sensor <NUM> may be a magnetic sensor and the reference mark <NUM> maybe a magnetic source. When the reference mark <NUM> is located far from the sensor <NUM> as shown in <FIG>, the collected signal <NUM> may represent a minimum value. When the reference mark <NUM> is located close to the sensor <NUM> as shown in <FIG>, the collected signal <NUM> may represent a maximum value. At this point, the position of the robot arm <NUM> as shown in <FIG> may be determined as the original point of the axis <NUM>.

Hereinafter, reference will be made to <FIG> for describing how to determine the original point by using an active sensor such as a photoelectric sensor. <FIG> illustrate top views 900A and 900B of the robot system <NUM> equipped with an active sensor, and the robot arm <NUM> moves to different positions in the axis <NUM> of the robot system <NUM> in <FIG>, respectively. In these figures, the sensor <NUM> may be a photoelectric sensor and the reference mark <NUM> maybe be shaped to a different pattern other than the robot arm <NUM>.

In <FIG>, the mechanical stop <NUM> may be shaped to form a plane <NUM> in a cylinder of the mechanical stop <NUM>. Here, the plane <NUM> may serve as the reference mark <NUM>. When the plane <NUM> is located far from the sensor <NUM> as shown in <FIG>, the wave beam transmitted from the sensor <NUM> is reflected by the cylinder of the mechanical stop <NUM>, the collected signal <NUM> may represent a larger value. When the plane <NUM> is located in parallel with the wave beam transmitted from the sensor <NUM> as shown in <FIG>, the wave beam goes through a long distant and the collected signal <NUM> may change to a small value. In these embodiments, the curve shows a valley during the movement. At this point, the position of the robot arm <NUM> as shown in <FIG> may be determined as the original point of the axis <NUM>.

In some embodiments of the present disclosure, once the original point is determined, the axis of the robot arm <NUM> may be calibrated based on the determined original point. With these embodiments, the robot arm <NUM> may be easily calibrated without any calibrating tool, and all the calibrating procedures may be implemented by a processor for performing programmable instructions.

In some embodiments of the present disclosure, the original points of the axes <NUM> and <NUM> may be determined independently. Any of the axes <NUM> and <NUM> may be determined first, and then the original point of the other axis may be determined. In some embodiments of the present disclosure, the original point of one axis may be determined and axis of the robot arm <NUM> may be calibrated first. Then, the original point of the other axis may be determined based on the method <NUM> of the present disclosure. With these embodiments, as the axis is already calibrated during determining the further original point of the further axis, the errors in the axis is already removed during the further calibrating. Therefore, the further axis may be calibrated in a more accurate and effective way.

In some embodiments of the present disclosure, an apparatus <NUM> for managing the robot arm <NUM> is provided. <FIG> illustrates a schematic diagram of an apparatus <NUM> for managing a robot arm in accordance with embodiments of the present disclosure. As illustrated in <FIG>, the apparatus <NUM> may comprise: a receiving unit <NUM>, configured to receive, during a movement of the robot arm <NUM> in an axis of the robot arm <NUM>, a signal <NUM> collected by a sensor equipped at a frame of the robot arm; a detecting unit <NUM>, configured to detect a change in strength of the received signal, the change being caused by an offset between a position of a reference mark equipped at the robot arm and a position of the sensor; and a determining unit <NUM>, configured to determine an original point of the axis of the robot arm based on the detected change.

In some embodiments of the present disclosure, the detecting unit <NUM> comprises: a fluctuation detecting unit, configured to detect any of a center and an extremity of a fluctuation in the strength of the signal.

In some embodiments of the present disclosure, the determining unit <NUM> comprises: a position determining unit, configured to determine a position of the robot arm in the axis based on any of the center and the extremity of the fluctuation, strength of the signal reaching a value corresponding to any of the center and the extremity of the fluctuation when the robot arm moves to the determined position; and an identifying unit, configured to identify the determined position as the original point of the axis.

In some embodiments of the present disclosure, the apparatus <NUM> further comprises: a driving unit, configured to cause the robot arm to move in the axis.

In some embodiments of the present disclosure, the apparatus <NUM> further comprises: a calibrating unit, configured to calibrate the axis of the robot arm based on the determined original point.

In some embodiments of the present disclosure, the axis of the robot arm comprises one of an axis of a movement axis of the robot arm and an axis of a rotation axis of the robot arm. The receiving unit <NUM> is further configured to receive, during a movement of the robot arm in a further axis of the robot arm, a further signal collected by the sensor; the detecting unit <NUM> is further configured to detect a further change in strength of the further signal; and the determining unit <NUM> is further configured to determine a further original point of the further axis of the robot arm based on the further change.

In some embodiments of the present disclosure, a system <NUM> for managing a robot arm is provided. <FIG> illustrates a schematic diagram of a system <NUM> for managing a robot arm in accordance with embodiments of the present disclosure. As illustrated in <FIG>, the system <NUM> may comprise a computer processor <NUM> coupled to a computer-readable memory unit <NUM>, and the memory unit <NUM> comprises instructions <NUM>. When executed by the computer processor <NUM>, the instructions <NUM> may implement the method for managing a robot arm as described in the preceding paragraphs, and details will be omitted hereinafter.

In some embodiments of the present disclosure, a computer readable medium for managing a robot arm is provided. The computer readable medium has instructions stored thereon, and the instructions, when executed on at least one processor, may cause at least one processor to perform the method for managing a robot arm as described in the preceding paragraphs, and details will be omitted hereinafter.

In some embodiments of the present disclosure, a robot system is provided. The robot system <NUM> comprises: a robot arm configured to move in an axis of the robot arm; a reference mark equipped at the robot arm; a sensor equipped at a frame of the robot arm and configured to collect a signal, the signal having a change in strength that is caused by an offset between a position of the reference mark and the sensor during a movement of the robot arm in the axis of the robot arm.

In some embodiments of the present disclosure, the change comprises a fluctuation in the strength of the signal, and a position of the robot arm in the axis corresponding to any of a center and an extremity of the fluctuation is determined as the original point, the strength of the signal reaching a value corresponding to any of the center and the extremity of the fluctuation when the robot arm moves to the position.

In some embodiments of the present disclosure, a robot managing system is provided. The robot managing system comprises: a robot system according to the present disclosure; and an apparatus for managing the robot system according to embodiments of the present disclosure.

While various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representation, it will be appreciated that the blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

The present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer readable storage medium. The computer program product includes computer-executable instructions, such as those included in program modules, being executed in a device on a target real or virtual processor, to carry out the process or method as described above with reference to <FIG>. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as desired in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.

The above program code may be embodied on a machine readable medium, which may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine readable medium may be a machine readable signal medium or a machine readable storage medium. A machine readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

On the other hand, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.

Claim 1:
A method for managing a robot arm (<NUM>), comprising:
receiving (<NUM>), during a movement of the robot arm (<NUM>) in an axis (<NUM>) of the robot arm (<NUM>), a signal (<NUM>) collected by a sensor (<NUM>) equipped at a frame (<NUM>) of the robot arm (<NUM>);
detecting (<NUM>) a change in strength of the received signal (<NUM>), the change being caused by an offset between a position of a reference mark (<NUM>) equipped at the robot arm (<NUM>) and a position of the sensor (<NUM>); and
determining (<NUM>) an original point of the axis (<NUM>) of the robot arm (<NUM>) based on the detected change,
wherein detecting the change in the strength of the signal comprises:
detecting any of a center and an extremity of a fluctuation in the strength of the signal,
wherein determining the original point of the axis further comprises:
determining a position of the robot arm (<NUM>) in the axis (<NUM>) based on any of the center (<NUM>) and the extremity of the fluctuation, the strength of the signal (<NUM>) reaching a value corresponding to any of the center (<NUM>) and the extremity of the fluctuation when the robot arm (<NUM>) moves to the determined position; characterised by
identifying the position determined based on the center (<NUM>) of a peak in a curve of the signal (<NUM>) as the original point of the axis (<NUM>).