Robot system with auxiliary measurement and position determination system
The auxiliary measurement and positioning system improves robot accuracy by detecting and correcting unwanted arm movements, achieving enhanced precision for tasks like workpiece measurement and drilling.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- MITUTOYO CORP
- Filing Date
- 2025-10-08
- Publication Date
- 2026-06-29
AI Technical Summary
Existing robot systems face challenges in achieving high accuracy and reliability in positioning due to factors like arm bending, twisting, and joint movements transverse to the expected axis, which are not adequately addressed by conventional calibration techniques.
An auxiliary measurement and positioning system is integrated with a robot, utilizing cameras and scales attached to the arm to detect unwanted movements such as bending and twisting, providing additional positional data to improve accuracy beyond what rotary encoders can achieve.
The system enhances positioning accuracy to around 10 microns or better, particularly beneficial for applications like workpiece measurement and high-precision drilling, by accounting for unwanted arm movements and improving the kinematic and geometric models.
Smart Images

Figure 2026106385000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a robot system, and more particularly, to a system for determining the coordinates of the end tool position of a robot.
Background Art
[0002] Robot systems are increasingly being used in manufacturing and other processes. The types of robots that can be used may include various types of robots such as articulated robots, horizontal articulated robot arms (SCARA: Selective Compliance Articulated Robot Arm) robots, Cartesian coordinate robots, cylindrical coordinate robots, polar coordinate robots, etc. As an example of a component that can be included in a robot, a SCARA robot system (which may be, for example, a type of articulated robot system) may generally have a base, a first arm portion rotatably connected to the base, and a second arm portion rotatably connected to the end of the first arm portion. In various configurations, the end tool may be coupled to the tip of the second arm portion (for example, to perform a certain operation and / or inspection operation). Such a system may include a position sensor (for example, a rotary encoder) used to determine / control the positioning of the arm portion and the corresponding positioning of the end tool. In various implementation forms, such a system may be restricted by several factors (for example, a combination of the performance of the rotary encoder and the mechanical stability of the robot system, etc.) and may have a positioning accuracy of about 100 microns.
[0003] U.S. Patent No. 4,725,965, which is incorporated herein by reference in its entirety, discloses a specific calibration technique for improving the accuracy of a SCARA system. As described in Patent '965, a technique is provided for calibrating a SCARA robot comprising a first rotatable arm and a second rotatable arm carrying an end tool. The calibration technique relates to the fact that the SCARA robot may be controlled using a kinematic model, and if the kinematic model is accurate, it is possible to position the arm in first and second angular configurations while the end tool supported by the second arm remains in the same position. To calibrate the kinematic model, the arm is positioned in the first configuration, with the end tool positioned above a fixed reference point. The arm is then positioned in the second angular configuration, again positioning the end tool to roughly coincide with the reference point. The error in the kinematic model is then calculated based on the amount by which the end tool's position deviates from the reference point when the arm is switched from the first to the second angular configuration. Next, the kinematic model is corrected according to the calculated error. These steps are repeated until the error reaches zero, at which point the kinematic model of the SCARA robot is considered calibrated.
[0004] As further described in the '965 patent, the calibration technique may include the use of a camera. For example, in one embodiment, the reference point may be the field of view center of a fixed television camera (i.e., located on the floor plane below the end tool), and the extent to which the position of the end tool deviates from the field of view center of the camera when the link is switched from a first configuration to a second configuration may be determined by processing the camera's output signal. In another embodiment, a second arm may support a camera, and the technique may begin by positioning the arm in a first angular configuration in which a second predetermined interior angle between the arm portions is measured, and the camera supported by the second arm portion may be positioned directly above the fixed reference point. The arm portions are then positioned in a second angular configuration in which an interior angle equal to the second predetermined interior angle is measured between the arm portions, and the camera supported by the second arm portion is again positioned approximately directly above the reference point. Next, the camera's output signal is processed, and the shift in the position of the reference point as seen from the camera is determined when the arm is switched from the first angle configuration to the second angle configuration. Then, based on the shift in the position of the reference point as seen from the camera, the error at the camera's known position is determined. These steps are repeated as part of the calibration process until the error approaches zero. [Overview of the project] [Problems that the invention aims to solve]
[0005] However, while techniques like those described in the '965 patent can be used for calibrating robot systems, there are certain applications where such techniques are undesirable (e.g., they are time-consuming and / or cannot provide the desired accuracy for all robot postures during a particular task). There is a need for robot systems that can offer improvements in addressing such challenges (e.g., to improve the reliability, repeatability, and speed of positioning in workpiece measurement and other processing). [Means for solving the problem]
[0006] This summary is provided in a simplified form to introduce the selection of concepts further described below in modes for carrying out the invention. This summary is not intended to identify important features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[0007] An auxiliary measurement and positioning system is provided for use with a robot as part of a robotic system. The robot (e.g., a SCARA robot) includes a movable arm configuration and a motion control system. The movable arm configuration includes a first arm section, a second arm section, and an end tool mounting configuration for mounting an end tool. The first arm section is attached to a first revolute joint at its proximal end. The first revolute joint has a first axis of rotation. The first arm section has a second revolute joint located at its distal end. The second revolute joint has a second axis of rotation. The second arm section is attached to the second revolute joint at its proximal end so that the second arm section rotates around the second revolute joint. The end tool mounting configuration is positioned close to the distal end of the movable arm configuration. The motion control system is configured to control the end tool position of the end tool at a precision level defined as robot precision, at least in part on sensing and controlling the angular positions of the first and second arm sections around the first and second revolute joints, respectively, using rotation sensors included in the robot.
[0008] The auxiliary measurement position determination system includes first and second scales, a first camera, a second camera, and a measurement processing unit. The first and second scales are coupled to a movable arm configuration at the first and second scale coupling positions, respectively. Each scale includes a plurality of imageable features (distributed, for example, along the rotational measurement axis). The first camera is coupled to the first arm, and as the first arm rotates around the first revolute joint, the first camera rotates around the first scale, and the field of view of the first camera moves along the first rotational measurement axis on the first scale. Due to the bending of the first arm, the field of view of the first camera moves in a direction transverse to the first rotational measurement axis on the first scale. The second camera is for acquiring images of the second scale when acquiring images. The second camera is connected to the second arm. When the second arm rotates around the second rotary joint, the second camera rotates around the second scale, and the field of view of the second camera moves along the second rotary measurement axis on the second scale. Due to the bending of the second arm, the field of view of the second camera moves in a direction transverse to the second rotary measurement axis on the second scale.
[0009] Furthermore, a method for operating an auxiliary measurement and positioning system used in conjunction with a robot is also disclosed. This method can be summarized as including: operating a first camera to acquire a first image of a first scale when acquiring a first image, wherein the first camera is coupled to a first arm, and when the first arm rotates around a first revolute joint, the first camera rotates around a first scale, and the field of view of the first camera moves along a first revolute measurement axis on the first scale, and due to the bending of the first arm, the field of view of the first camera moves in a direction transverse to the first revolute measurement axis on the first scale; and operating a second camera to acquire a first image of a second scale when acquiring a first image, wherein the second camera is coupled to a second arm, and when the second arm rotates around a second revolute joint, the second camera rotates around a second scale, and the field of view of the second camera moves along a second revolute measurement axis on the second scale, and due to the bending of the second arm, the field of view of the second camera moves in a direction transverse to the second revolute measurement axis on the second scale.
[0010] Also disclosed is an implementation in which an auxiliary measurement positioning system is provided for use with a robot, the robot including a movable arm configuration having an end tool mounting configuration for attaching an end tool, and a motion control system configured to control the end tool position of the end tool.
[0011] The auxiliary measurement and positioning systems described herein may be added to existing robots that already include a measurement system (see, for example, block 140 in Figure 1) having rotary encoders included in each robot rotary joint, which can measure / determine the position of the end tool at the end of the robot arm, referred to herein as “robot accuracy”. This may provide accuracy that is lower / limited than desired. The present invention intends to provide an auxiliary measurement system (for example, which may be attached to an existing robot, with additional cameras and scales attached to the robot arm) that can improve the accuracy of determining the position of the end tool at the end of the robot (i.e., at the end of the robot arm). More specifically, the encoders of an existing robot may only be able to measure the rotation of the rotary joints, and the robot system / model may assume that all joints rotate perfectly as intended and the arm remains perfectly straight. Due to various factors, this state may not occur (for example, the arm may be heavy, causing bending / twisting of the arm / joint, the end tool attached to the arm tip may be heavy, the joint may not rotate completely as intended, etc.), resulting in "wobble" or "slop" (or other movements in a direction transverse to the expected joint / rotation axis) in the joint's movement, or some degree of bending / twisting in the arm. In this invention, a camera and scale are added to the robot, and the camera monitors / images the scale to detect not only normal rotational movements but also unwanted movements (e.g., bending, twisting, wobbling, sloping, etc.). By adding the results of determining the amount of these unwanted movements to the calculation / model for determining the position of the end tool at the robot's tip, the end tool position can be calculated with higher accuracy than when using only the robot's rotation encoder.In some implementations, this technology can achieve accuracy of around 10 microns or better (for example, compared to 100 microns in some conventional robot systems). Such improvements in accuracy can be particularly desirable in certain applications (e.g., measuring workpieces, high-precision drilling of workpieces, precise handling and placement of extremely small workpieces or other parts). [Brief explanation of the drawing]
[0012] [Figure 1] This is a block diagram of a first exemplary implementation of a robot system including a multi-joint robot and an auxiliary measurement and positioning system. [Figure 2] This is an isometric view of a second exemplary implementation of a robot system similar to the robot system in Figure 1. [Figure 3] This is a bottom view of a part of the robot system. [Figure 4A] This is a side view of a part of the robot system. [Figure 4B] This is a side view of a part of the robot system. [Figure 5] This is an isometric view of the first exemplary implementation of incremental scaling. [Figure 6] This is an isometric view of a second exemplary implementation of incremental scaling. [Figure 7] This is an isometric view of an exemplary implementation of absolute scale. [Figure 8A] This flowchart illustrates an exemplary implementation of routines for operating a robotic system, including a multi-joint robot and an auxiliary measurement and positioning system. [Figure 8B] This flowchart illustrates an exemplary implementation of routines for operating a robotic system, including a multi-joint robot and an auxiliary measurement and positioning system. [Figure 9]This flowchart illustrates an exemplary implementation of a routine for determining the end tool position, in which a robot's position sensor is used in the first part of the operation timing, and an auxiliary measurement position determination system may be used in the second part of the operation timing. [Figure 10] This flowchart illustrates an exemplary implementation of a routine for operating an auxiliary measurement and positioning system used in conjunction with a robot. [Modes for carrying out the invention]
[0013] Figure 1 is a block diagram of a first exemplary implementation of a robot system 100, including an articulated robot 110 and an auxiliary measurement and positioning system 150. The articulated robot 110 includes a movable arm configuration MAC and a robot motion control and processing system 140. In the example of Figure 1, the movable arm configuration MAC includes first and second arm sections 121 and 122, first and second revoluting joints 131 and 132 (included, for example, as part of first and second motion mechanisms), position sensors SEN1 and SEN2, and an end tool configuration ETCN. The first arm section 121 is attached to the first revoluting joint 131 at its proximal end PE1. The first revoluting joint 131 (for example, located at the upper end of the support base section BSE) has a rotation axis RA1 aligned along the z-axis, and the first arm section 121 is intended to move approximately around the first revoluting joint 131 in an xy plane perpendicular to the z-axis (for example, in the robot coordinate system). The second rotary joint 132 is located at the distal end DE1 of the first arm portion 121. The rotation axis RA2 of the second rotary joint 132 is aligned approximately along the z-axis direction. The second arm portion 122 is attached to the second rotary joint 132 at its proximal end PE2, and as a result, the second arm portion 122 is intended to move approximately around the second rotary joint 132 in an xy-plane that is approximately perpendicular to the z-axis. In various implementations, position sensors SEN1 and SEN2 (e.g., rotary encoders) may be used to determine the angular positions (i.e., in the xy-plane) of the first and second arm portions 121 and 122 around the first and second rotary joints 131 and 132, respectively.
[0014] In various implementations, the end tool configuration ETCN may include a Z-motion mechanism 133 (e.g., included as part of a third motion mechanism), a Z-arm ZARM (e.g., designated as a third arm), a position sensor SEN3, and an end tool coupling ETCP (e.g., included as part of an end tool mounting configuration ETMC) coupled to the end tool ETL. In various implementations, the end tool ETL may include an end tool sensing unit ETSN and an end tool stylus ETST having a contact CP (e.g., contacting the surface of the workpiece WP). The Z-motion mechanism 133 is located near the distal end DE2 of the second arm 122. The Z-motion mechanism 133 (e.g., a linear actuator) moves the Z-arm ZARM up and down in the z-axis direction. In some implementations, the Z-arm ZARM may also be configured to rotate about an axis parallel to the z-axis direction. In either case, the end tool ETL is connected at the end tool coupling ETCP and has a corresponding end tool position ETP having corresponding coordinates (e.g., x, y, and z coordinates). In various implementations, the end tool position ETP may correspond to or be near the distal end DE3 of the Z-arm ZARM (e.g., on or near the end tool coupling ETCP).
[0015] The robot motion control system 140 is configured to control the end tool position ETP of the end tool ETL with a precision defined as robot precision. More specifically, the motion control system 140 is generally configured to control the coordinates of the end tool position ETP with robot precision, at least in part, by sensing and controlling the angular positions (i.e., in the xy plane) of the first and second arm portions 121 and 122 around the first and second revolute joints 131 and 132 using position sensors SEN1 and SEN2. In various implementations, the motion control / processing system 140 may receive signals from position sensors SEN1 and SEN2, respectively, to sense the angular positions of the first and second arm portions 121 and 122, may include first and second revolute joint control / sensing units 141 and 142, and / or may provide control signals to the first and second revolute joints 131 and 132 (e.g., motors) to rotate the first and second arm portions 121 and 122.
[0016] Generally, robot accuracy depends on certain assumptions about the robot's motion (e.g., models such as kinematic and / or geometric models, and / or assumptions related to corresponding calculations used to determine the end tool position). For example, depending on the robot accuracy, the determination of the end tool position may generally be based on i) the known lengths of the first and second arm sections 121 and 122, which are assumed to be horizontal and linear and free from bending or twisting, and ii) the rotations around the first and second revolute joints 131 and 132, which are assumed to be precise rotational movements performed without bias around the axis of rotation of each revolute joint. However, for example, some arm sections may bend or twist, and / or some revolute joint movements may be transverse to their respective axes of rotation. For example, vertical displacement or deflection may occur at the distal ends DE1 and DE2 of the first and second arm sections 121 and 122, respectively (e.g., due to the weight and / or different orientations of the arm section and / or end tool configuration), and / or undesirable movements may occur during the rotation of the first and / or second revolute joints 131 and 132 (e.g., movement transverse to the respective axis of rotation). As will be described in more detail below, by utilizing an auxiliary measuring and positioning system capable of identifying, measuring, and / or taking into account such undesirable movements (such as bending or twisting of the arm section, or movement of the revolute joints transverse to the axis of rotation), higher accuracy can be achieved in determining the end tool position or other robot movements / positioning, according to the principles disclosed herein. It will be understood that even a slight improvement in accuracy may be very desirable for certain applications (e.g., robot measurement and control operations such as workpiece measurement and high-precision drilling of workpieces).
[0017] The robot motion control system 140 is also generally configured to control the z coordinate of the end tool position ETP with robot accuracy, at least in part based on sensing and controlling the linear position (i.e., along the z-axis) of the Z-arm part ZARM using the Z motion mechanism 133 and the position sensor SEN3. In various implementations, the motion control and processing system 140 may include a Z-arm motion mechanism control and sensing unit 143 that can receive signals from the position sensor SEN3 to sense the linear position of the Z-arm part ZARM, and / or may provide control signals to the Z motion mechanism 133 (e.g., a linear actuator) to control the z position of the Z-arm part ZARM. As will be described in more detail below, in some implementations, the auxiliary measurement and positioning system 150 may include a corresponding position sensor 163, which may provide information similar to that of the position sensor SEN3 and operate in a similar manner as the position sensor SEN3 (e.g., may operate differently and / or may be a more accurate sensor than the position sensor SEN3). In some implementations, the auxiliary measurement and positioning system 150 may not include a corresponding position sensor 163, and instead may utilize the sensed data from the position sensor SEN3 transmitted to the auxiliary measurement and positioning system 150. In some implementations, the auxiliary measurement and positioning system 150 may provide other sensed position information (e.g., regarding the relative positions of the arm parts 121 and 122 and / or the rotary joints 131 and 132) to the motion control and processing system 140 to more accurately determine the end tool position.
[0018] The motion control and processing system 140 and / or the auxiliary measurement position determination system 150 may also receive signals from the end tool sensing unit ETSN. In various implementations, the end tool sensing unit ETSN may include circuits and / or configurations related to the operation of the end tool ETL for sensing the workpiece WP. As will be described in more detail below, in various implementations, the end tool ETL (e.g., touch probe, scanning probe, camera, etc.) may be used to contact or otherwise sense surface positions / position coordinates / points on the workpiece WP, and an end tool sensing unit ETSN may be provided from which various corresponding signals can be received, determined and / or processed, and the end tool sensing unit ETSN may provide the corresponding signals to the motion control and processing system 140 and / or the auxiliary measurement position determination system 150. In various implementations, the motion control and processing system 140 and / or the auxiliary measurement position determination system 150 may include an end tool control and sensing unit 144 that can provide control signals to and / or receive sensing signals from the end tool sensing unit ETSN. In various implementations, the end tool control and sensing unit 144 and the end tool sensing unit ETSN may be integrated and / or indistinguishable. In various implementations, the first and second rotary joint control and sensing units 141 and 142, the Z motion mechanism control and sensing unit 143, and the end tool control and sensing unit 144 may all provide outputs to and / or receive control signals from the robot position processing unit 145, which, as part of the motion control and processing system 140, may control and / or determine the positioning of the entire articulated robot 110 and the corresponding end tool position ETP. In various implementations, the articulated robot 110 may have an operable work volume (OPV), which may also be designated as an end tool working volume (ETWV), in addition to or alternatively, within which at least a portion of the end tool (e.g., a contact point CP) may be moved (e.g., for measuring / inspecting a workpiece).
[0019] In the configuration of FIG. 1, the robot 110 is configured to move the movable arm configuration MAC so as to move at least a part of the end tool ETL attached to the end tool mounting configuration ETMC along at least two dimensions within the end tool working space ETWV. The motion control system 140 is configured to control the end tool position ETP at an accuracy level defined as robot accuracy, based at least in part on sensing and controlling the position of the movable arm configuration MAC (e.g., using one or more position sensors included in the robot 110).
[0020] In various implementations, the auxiliary measurement positioning system 150 may be included in or added to the articulated robot 110 (e.g., as part of a retrofit configuration added to an existing articulated robot 110). Generally, the auxiliary measurement positioning system 150 may be used to provide a higher accuracy level with respect to the determination of the end tool position ETP. More specifically, as will be described in more detail below, the auxiliary measurement positioning system 150 may be used to determine a relative position (e.g., according to an image of a scale indicating the angular posture, flexion and / or twist of the arm portion of the robot), and this relative position indicates the measured position coordinates of the end tool position ETP, and may be used to determine the measured position coordinates at an accuracy level higher than the robot accuracy.
[0021] As shown in Figure 1, the auxiliary measurement position determination system 150 may include cameras 161 and 162, a sensor 163, scales 171 and 172, and a measurement position coordinate processing unit 190. As shown in Figures 1 and 2 (i.e., the configuration of Figure 2 will be described in more detail below), the cameras / scales are arranged as two camera / scale sets, each including cameras 161 and 162 directed towards the corresponding scales 171 and 172. Scales 171 and 172 are coupled to the movable arm configuration MAC of the robot 110. In various implementations, each of the cameras 161 and 162 and scales 171 and 172 are coupled to the robot 110 at their respective coupling positions CL1 to CL4. More specifically, camera 161 is coupled to the arm 121 at camera coupling position CL1 (for example, at or near the distal end DE1 of the arm 121). Scale 171 is coupled to the base BSE at scale coupling position CL2. Camera 162 is coupled to the second arm portion 122 at camera coupling position CL3 (for example, close to or near the distal end DE2 of arm portion 122). Scale 172 is coupled to the first arm portion 121 at scale coupling position CL4 (for example, at or near the distal end DE1 of arm portion 121).
[0022] In various mounting configurations, the joining of various components may be achieved using one or more joining parts, elements, mechanisms and / or techniques (e.g., fasteners, bolts, clamps, adhesives, etc.). In various mounting configurations, scales 171 and 172 may be mounted on a flexible (e.g., sticker) and / or at least partially cylindrical substrate, and the substrate may have an adhesive layer or other mounting mechanism to wrap around and / or attach the scales to each scale joining position CL2 and CL4 of the movable arm configuration (e.g., the base portion BSE and the distal end DE1 of the arm portion 121).
[0023] As shown in Figures 1 and 2 (i.e., the configuration in Figure 2 will be described in more detail below), in various implementation configurations, camera 161 defines a reference position REF1, the optical axis OA1 of camera 161 is aligned with a portion of scale 171 (e.g., the central portion), and features of scale 171 can be imaged by camera 161. With this configuration, when arm 121 rotates around rotation axis RA1, camera 161 (for example, coupled to or near the distal end DE1 of arm 121) rotates around scale 171. Camera 162 defines a reference position REF2, the optical axis OA2 of camera 162 is aligned with a portion of scale 172 (e.g., the central portion), and features of scale 172 can be imaged by camera 162. With this configuration, when arm 122 rotates around rotation axis RA2, camera 162 (for example, coupled in close proximity to or near the distal end DE2 of arm 122) rotates around scale 172.
[0024] Each camera 161 and 162 is controlled by imaging configuration control and processing portions (ICCPP) 181 and 182 and supplies an image signal. The trigger unit 187 may, in some cases, coordinate the triggers of cameras 161 and 162 to acquire images simultaneously (for example, to acquire an image corresponding to the position of the robot 110 at a specific moment and to determine the end tool position of the robot 110 at that moment). In an implementation that includes a position sensor 163 (for example, to detect the position of the Z-arm ZARM), the position sensor 163 may be controlled by a sensing configuration control and processing portion (SCCPP) 183 and supply a position signal to the sensing configuration control and processing portion 183, and the collection and / or recording of position data may be initiated by a signal from the trigger unit 187, depending on the implementation.
[0025] In various implementation configurations, each of the scales 171 and 172 includes a substrate SUB and a plurality of imageable features distributed on the substrate SUB. Each imageable feature may be located at known local coordinates on each scale (e.g., x and y scale coordinates and / or other scale coordinates) (for example, in various embodiments, each scale may be formed at least partially cylindrical, such as being wrapped around the tip of the base portion BSE and / or arm portion 122). In various implementation configurations, each scale may be an incremental scale or an absolute scale, as will be described in more detail below with respect to Figures 5 to 7.
[0026] In various implementations, the trigger unit 187 and / or the measurement position coordinate processing unit 190 may be included as part of an external control system ECS (e.g., part of an external computer). The trigger unit 187 may be included as part of the imaging / sensing configuration control / processing unit 180. In various implementations, the trigger unit 187 is configured to receive at least one input signal related to the end tool position ETP, determine the timing of a first trigger signal based on at least one input signal, and output the first trigger signal to cameras 161 and 162 and position sensor 163. In various implementations, each of cameras 161 and 162 is configured to receive the first trigger signal and, during image acquisition, acquire digital images of the corresponding scales 171 and 172, respectively. In various implementations, the measurement position coordinate processing unit 190 is configured to receive the acquired images and identify at least one corresponding imageable feature and its associated corresponding known scale coordinate position contained in each of the acquired scale images. In various implementations, the external control system ECS may also include a standard robot position coordinate mode unit 147 and an auxiliary measurement position coordinate mode unit 192, which are for implementing the corresponding modes, as will be described in more detail below.
[0027] In various implementations, each imaging configuration control / processing unit 181 and 182 may include components (e.g., subcircuits, routines, etc.) that periodically (e.g., at set timing intervals) activate the image integration of the corresponding cameras 161 and 162, and a first trigger signal activates the timing of the strobe light (e.g., if each of the cameras 161 and 162 includes a strobe light) or other mechanism to substantially stop movement, thereby determining the exposure during the integration period. In such implementations, if the first trigger signal is not received during the integration period, the resulting image may be discarded, and if the first trigger signal is received during the integration period, the resulting image may be saved and / or otherwise processed / analyzed to determine relative position, as will be described in more detail below.
[0028] In various implementations, different types of end-tool ETLs may provide different types of outputs to the trigger unit 187 that can be used. For example, in an implementation where the end-tool ETL is a touch probe used for measuring a workpiece and outputs a touch signal when it comes into contact with a workpiece, the trigger unit 187 may be configured to input the touch signal or a signal derived therefrom as at least one input signal for determining the timing of the first trigger signal. In another example, in an embodiment where the end-tool ETL is a scanning probe used for measuring a workpiece and provides workpiece measurement sample data corresponding to each sample timing signal, the trigger unit 187 may be configured to input the sample timing signal or a signal derived therefrom as at least one input signal. In yet another example, in an embodiment where the end-tool ETL is a camera used to provide workpiece measurement images corresponding to each workpiece image acquisition signal, the trigger unit 187 may be configured to input the workpiece image acquisition signal or a signal derived therefrom as at least one input signal.
[0029] In the exemplary implementation shown in Figure 1, the auxiliary measurement position determination system 150 is configured such that the measurement position coordinate processing unit 190 is operable to determine the relative position between each camera 161 and 162 (which may correspond to, for example, the reference positions REF1 and REF2 of the corresponding cameras) and the scales 171 and 172 (including, for example, local scale coordinates that may indicate the orientation and position of the scales) (for example, based on determining the image position of at least one corresponding imageable feature identified in each acquired image). The determined relative position (which may indicate, or be used to determine, the angular orientation of the arm portions 121 and 122, and / or bending and / or twisting) may be used to determine the measurement position coordinates of the end tool position ETP at the time of image acquisition at a level of accuracy higher than the robot accuracy. In various implementations, the auxiliary measurement position determination system 150 may be configured to determine the measurement position coordinates of the end tool position ETP at the time of image acquisition at least partially based on the determined relative position.
[0030] As described above, robot accuracy may also relate to corresponding calculations or other processes used to determine the model (e.g., kinematic, geometric, etc.) and / or end tool position. According to such robotic processing, the determination of the end tool position may generally be based on i) the known lengths of the first and second arm sections 121 and 122, which are assumed to be horizontal and linear and free from bending or twisting, and ii) the rotations around the first and second revolute joints 131 and 132, which are assumed to be precise rotational movements performed without bias around the axis of rotation of each revolute joint. If there are undesirable movements (e.g., bending or twisting of the arm sections, movement of the revolute joints in directions perpendicular to each axis of rotation, etc.), the robot's determination of the end tool position may be inaccurate. According to the principles disclosed herein, the accuracy of determining the end tool position and / or other robotic motion / positioning can be improved by utilizing an auxiliary measurement and positioning system 150 capable of determining, measuring, and / or otherwise correcting such undesirable movements (e.g., bending or twisting of the arm, movement of a rotary joint perpendicular to the axis of rotation, etc.). For example, with respect to exemplary kinematic and / or geometric models assumed by the robotic system (e.g., a model assuming a linear robotic arm of a specified length and complete rotation), more accurate positional information can be determined by determining / adding additional measurement information to such models.
[0031] For example, instead of assuming that the first and second arm sections 121 and 122 are linear, each camera / scale combination 161 / 171 (for the first arm section 121) and 162 / 172 (for the second arm section 122) may provide positional information / measurements indicating bending, twisting, etc., of the arm sections 121 and 122 (and may also provide positional information / measurements indicating more standard angular orientations of each arm section 121 and 122 with high accuracy). Higher accuracy can be achieved by including such information (for example, as part of a kinematic model and / or geometric model, various calculations, etc.) to determine the position of the robot arm and / or end tool (for example, the distal end of the movable arm configuration MAC).
[0032] In one implementation, the auxiliary measurement and position determination system 150 may operate relatively independently (e.g., from the robot processing unit 145) to make more accurate determinations (e.g., end tool position). In other implementations, the auxiliary measurement and position determination system 150 may operate in cooperation with (e.g., the robot processing unit 145 and / or the control and sensing unit or the robot and / or other parts of other systems) to make more accurate determinations. For example, the auxiliary measurement and position determination system 150 may receive predetermined information from the robot system (e.g., the robot position processing unit or the control and sensing unit or other parts) to combine with, complement, and / or add to, the determined position information (e.g., position information for determining the end tool position). As another example, the auxiliary measurement and position determination system 150 may provide predetermined information to the robot system or other system that combines predetermined position information from both the robot system and the auxiliary system to combine with, complement, and / or add to, the determined position information (e.g., position information for determining the end tool position).
[0033] It will be understood that such systems may have certain advantages over various alternative systems. For example, systems like those disclosed herein may be smaller and / or less expensive in various implementations than alternative systems that use techniques such as laser trackers or photogrammetry to track the movement / position of a robot, and may also have higher accuracy in some implementations. The systems of this disclosure do not occupy or obstruct any part of the operational workspace (OPV), unlike alternative systems that place scales or fiducials on the ground, on a stage, or in the same area as the area where the workpiece can be processed and / or inspected (e.g., the operational workspace). Furthermore, in various implementations, all cameras and scales are coupled to the robot (e.g., to the movable parts of a movable arm configuration such as an arm or rotary joint), eliminating the need for external structures or supports for cameras and scales within the robot environment.
[0034] Figure 2 is an isometric view of a second exemplary implementation of robot system 200, substantially similar to robot system 100 in Figure 1. It will be understood that certain numbered components in Figure 2 (e.g., 1XX or 2XX) may have the same or similar operation as the corresponding components with the same or similar numbering in Figure 1 (e.g., 1XX). Furthermore, these components may be understood to be the same as or identical to the corresponding components, and can be understood by analogy and based on the explanations below. This numbering scheme for indicating elements with similar and / or identical shapes and / or functions will also be applied to other figures described later.
[0035] In the configuration of Figure 2 (i.e., similar to the configuration of Figure 1), the auxiliary measurement positioning system includes cameras 161 and 162, each directed toward the corresponding scales 171 and 172, and each coupled (e.g., attached) to the respective arm sections 121 and 122 (e.g., at or near the distal ends of the respective arm sections 121 and 122). In various implementations, it will be understood that different reference axes and reference lines may be specified to refer to specific movements, coordinates, and angles of the components of the articulated robot. For example, the first and second arm sections 121 and 122 may each have roughly horizontal centerlines CT1 and CT2 passing through the centers of their respective arms. Angle A1 may be defined as the angle between the centerline CT1 of the first arm section 121 and a plane (e.g., the xz plane) depending on the amount of rotation of the first motion mechanism 131 around the first rotation axis RA1. Angle A2 may be defined as the angle that occurs between the plane of the horizontal center line CT1 of the first arm portion 121 (for example, the plane corresponding to the horizontal center line CT1 and the z-axis direction) and the horizontal center line CT2 of the second arm portion 122, depending on the amount of rotation of the second operating mechanism 132 around the second rotation axis RA2.
[0036] In various implementation configurations, the end tool configuration ETCN may be coupled to the second arm portion 122 near its distal end DE2, and may be specified as having an end tool axis EA of the end tool ETL that roughly intersects the center line CT2 of the second arm portion 122. The end tool position ETP may be specified as having coordinates X2, Y2, and Z2 (for example, in a robot coordinate system (RCS)). In various implementation configurations, the end tool ETL may have a contact point CP (for example, at the tip of an end tool stylus ETST that contacts the workpiece), and this contact point CP may be specified as having coordinates X3, Y3, and Z3 (for example, in the RCS). In implementation configurations where the contact point CP of the end tool ETL does not vary in the x or y direction relative to other parts of the end tool, the coordinates X3 and Y3 may, in some cases, be roughly equal to the coordinates X2 and Y2, respectively. If the bending or twisting of the arm portions 121 and 122 is determined (i.e., according to the principles described herein), it will be understood that in the resulting model (e.g., kinematic model, geometric model, etc.), coordinates X3 and Y3 may differ from coordinates X2 and Y2. For example, a bent or twisted arm portion may cause a corresponding inclination of the end tool ETL, and by including the measurement / determination of the amount of this bending / twisting in the model, it becomes possible to show a more accurate position of coordinates X3 and Y3 relative to coordinates X2 and Y2.
[0037] In one specific embodiment, the images acquired by cameras 161 and 162 are analyzed by a measurement position coordinate processing unit 190 to determine the relative positions corresponding to the angular orientation and position of each camera 161 and 162 and / or arm portions 121 and 122, etc. Such determinations may be made according to standard camera / scale image processing techniques (for example, for determining the position and orientation of the camera relative to the scale). Various examples of such techniques are described in U.S. Patents 6,781,694, 6,937,349, 5,798,947, 6,222,940 and 6,640,008, each of which is incorporated herein by reference in its entirety. In various implementations, such techniques may be used to determine the position of the field of view (for example, corresponding to the camera position) within the scale range (for example, within each scale 171 and 172), as will be described in more detail below with respect to Figures 5 to 7. In various implementations, such a determination may include identifying at least one imageable feature contained in the acquired image for each scale and its corresponding known scale coordinate position. Such a determination may also correspond to determining the relative position (e.g., including local scale coordinates that can indicate orientation, position, etc.) between each camera 161 and 162 (which may correspond to, for example, the reference positions REF1 and REF2 of the corresponding cameras) and each scale 171 and 172 (e.g., based on determining the image position of at least one imageable feature identified in the acquired image). The determined relative position (e.g., which may indicate or be used to determine the angular orientation and / or bending and / or twist of the arm sections 121 and 122) may be used to determine the measured position coordinates of the end tool position ETP with a higher accuracy than the robot accuracy.
[0038] Figure 3 is a bottom view of a part of a robot system similar to the robot systems shown in Figures 1 and 2. More specifically, Figure 3 shows bottom views of the first and second arm sections 121 and 122, the first and second rotary joints 131 and 132, cameras 161 and 162, and scales 171 and 172. Scale 171 is coupled at a scale coupling position on the base section BSE (e.g., wrapped around at least a portion of the base section BSE), and scale 172 is coupled at a scale coupling position on the first arm section 121 (e.g., wrapped around at least a portion of the distal end DE1 of the first arm section 121). In the bottom view of Figure 3, only the lower ends of scales 171 and 172 are visible, and these are represented by dotted lines (e.g., coupled to / wrapped around a portion of the base section BSE and distal end DE1 of the first arm section 121, respectively).
[0039] As described above, cameras 161 and 162 are positioned to acquire images of scales 171 and 172, respectively. Based on these images, the measurement position coordinate processing unit 190 determines the angular orientation of the arm portions 121 and 122 (for example, based on the relative position of the center of each camera's field of view along the rotational measurement axis on each scale). For example, in the orientation shown in Figure 3, the center of the camera 162's field of view (for example, the position where the optical axis OA2 of camera 162 intersects scale 172) may be determined to be oriented towards an identifiable position on scale 172 (for example, a position according to an identifiable scale element / feature on scale 172 as described later) (for example, based on the analysis of the corresponding image). In the specific example shown in Figure 3, this may indicate that camera 162 and the corresponding arm portion 122 are at the determined angle (for example, -30 degrees relative to arm portion 121). In contrast, if the arm portion 122 is rotated to be aligned / coaxial with the arm portion 121, the center of the camera 162's field of view may be determined to be directed to an identifiable position on the scale 172 based on the analysis of the corresponding image, which indicates that the camera 162 and the corresponding arm portion 122 are at a determined angle (for example, 0 degrees relative to the arm portion 121).
[0040] The angular orientation of the arm portion 121 can be determined in a similar manner. For example, in the orientation shown in Figure 3, the field of view center of the camera 161 (for example, which may correspond to the position where the optical axis OA1 of the camera 161 intersects the scale 171) may be determined (for example, based on the analysis of the corresponding image) to be directed towards an identifiable position on the scale 171 (for example, a position according to an identifiable scale element / feature on the scale 171 as described later). In the specific example shown in Figure 3, this may indicate that the camera 161 and the corresponding arm portion 121 are at a certain angle with respect to the reference position (for example, the reference position is the orientation shown in Figure 3, and the arm portion 121 is considered to be at an angle of 0 degrees). In contrast, if the arm portion 121 is rotated from the reference position, the field of view center of the camera 161 may be determined to be directed towards an identifiable position on the scale 171 based on the analysis of the corresponding image, and this position indicates that the camera 161 and the corresponding arm portion 121 are at an angle different from 0 degrees at that time (for example, an angle with respect to the reference position shown in Figure 3).
[0041] Based on the images, the measurement position coordinate processing unit 190 determines undesirable bending of the arm sections 121 and 122 (for example, based on the relative position of the center of each camera's field of view along a direction transverse to the rotational measurement axis on each scale). Based on the images, the measurement position coordinate processing unit 190 also determines undesirable twisting of the arm sections 121 and 122 (for example, based on the relative rotation of the field of view of each camera on each scale). In various implementations, the ability to detect such undesirable bending and twisting of the robot arm can be advantageous compared to conventional robot positioning methods (for example, methods that use only encoders included in the first and second rotary joints 131 and 132). Conventional methods typically do not detect or consider such bending and twisting, which can result in measurement errors in determining the end tool position at the end of the movable arm configuration MAC.
[0042] In various implementations, the auxiliary measurement and positioning system 150 may be "self-contained" in that it does not acquire rotational information from robot encoders for the first and second revolute joints 131 and 132. Instead, the auxiliary measurement and positioning system 150 acquires images from scales 171 and 172 and determines rotational information (e.g., angular orientation) of the first and second revolute arm sections 121 and 122. The auxiliary measurement and positioning system 150 also determines the relative position / displacement corresponding to bending and / or twisting of the first and second arm sections 121 and 122. The angular orientation (e.g., corresponding to rotational information) of the first and second arm sections determined by the auxiliary measurement and positioning system 150 in various implementations may generally be more accurate than the angular orientation of the first and second arm sections 121 and 122 determined by robot encoders included in the revolute joints 131 and 132. In other implementations, positional information from the auxiliary measurement and positioning system 150 may be used in combination with positional information from robot encoders included in the revolute joints 131 and 132. For example, the auxiliary measurement and position determination system 150 may provide highly accurate incremental position information, while the robot encoders included in the rotary joints 131 and 132 may provide relatively coarse absolute position information. By combining these, it becomes possible to determine a more accurate absolute position, such as one that corresponds to the highly accurate rotational posture of each arm section 121 and 122.
[0043] Figures 4A and 4B are side views of parts of a robot system similar to those shown in Figures 1 and 2. More specifically, Figures 4A and 4B show side views of the first arm 121, the camera 161 (e.g., having an optical axis OA1), and the scale 171. Although not shown in Figures 4A and 4B, the scale 172 is positioned around the end of the arm 121 (e.g., above the mounting position of the camera 161, as shown in Figure 1). Figure 4A shows the arm 121 in an unbent state, and Figure 4B shows the arm 121 in a bent state (e.g., "bent state").
[0044] More specifically, in various implementations, the first arm 121, the second arm 122, and / or the end tool and / or other elements coupled to the second arm 122 may have sufficient weight to cause bending in the first arm 121, as shown by the dashed line in Figure 4B (for example, the bending is exaggerated in Figure 4B for the purpose of illustrating part of the effect). Such bending can cause a change in the relative position of the camera 161, with the top of the camera moving from the predicted position P1A (e.g., the position shown in Figure 4A) to the bent position P2A (e.g., the position shown in Figure 4B). The corresponding amount of movement / position change D12A, as shown in Figure 4B, can be detected / measured based on the movement of the camera 161 relative to the scale 171 (i.e., the movement of the center of the camera's field of view) (for example, by analyzing the image of the scale 171 captured by the camera 161).
[0045] More specifically, when the arm 121 bends as shown in Figure 4B, the field of view of the camera 161 shows a different portion of the scale 171 (for example, closer to the bottom of the scale 171 in the illustrated example compared to the position shown in Figure 4A). The corresponding image from the camera 161 can be analyzed to determine the position of the camera 161 and the amount of bending of the first arm 121 (for example, based at least in part on the determination that the position of one or more imageable features of the scale is different in the image corresponding to the initial unbent position and the image corresponding to the subsequent bent position). Similar bending can also be determined for the second arm 122 (for example, the bending of the second arm 122 can be determined by the camera 162 acquiring an image of the scale 172 and analyzing that image).
[0046] In the illustrated example, the center of the camera 161's field of view (for example, corresponding to the position where the optical axis OA1 intersects the scale 171) moves from a predicted position P1B (for example, as shown in Figure 4A) to a bent position P2B (for example, as shown in Figure 4B). The corresponding amount of movement / position change D12B can be detected / measured by analyzing one or more images of the camera 161 that show different positions of the center of the camera 161's field of view on the scale 171. As shown, the bending of the first arm 121 (for example, as shown in Figure 4B) causes the position of the camera 161's field of view (for example, including the center of the field of view) to move / change in the transverse direction TD1 (for example, a direction transverse to the first rotational measurement axis MA1, which is the direction along the curve of the scale 171 as shown in Figure 2).
[0047] The effects shown in Figure 4B are simplified for illustrative purposes, but it will be understood that in various implementations, the movement of the center of the camera 161's field of view can have different levels of complexity. For example, in some implementations, the camera 161 may tilt due to bending of the arm 121, causing the optical axis OA1 to tilt, and the movement / position change of the center of the camera 161's field of view on the scale 171 may be related to and / or associated with the amount of bending of the arm 121 (e.g., according to corresponding calculation results and / or calibration data collected in relation to such position and effect). As used herein, the term “transverse” is intended to indicate a relationship in which elements, directions, movements, etc., are positioned relative to each other at a predetermined angular relationship, which may be 90° (e.g., corresponding to a perpendicular relationship) or another angle (e.g., including cases where parts, directions, movements, etc., are not parallel to each other at an angular relationship).
[0048] It will be understood that the configurations illustrated in Figures 4A and 4B may have certain advantages over some alternative configurations. For example, in some cases, the rotary joint of the arm (e.g., the rotary joint 131 of arm 121) may have problems relating to a certain amount of "wobble" or "play" in the movement of the joint, or other such problems. In some such cases, the entire arm 121 (e.g., particularly the distal end of the arm) may bend downward (e.g., as can occur due to certain undesirable problems in the rotary joint 131) even if the arm 121 itself remains perfectly straight (e.g., this type of bending may be characterized as a downward tilt). In such cases, in the configurations shown in Figures 4A and 4B, such bending (e.g., tilt) of the arm 121 can still be detected because the camera 161 is coupled to the arm 121 and the scale 171 is coupled to the base BSE (i.e., relative movement between the distal end of arm 121 and the base BSE can be detected). Similar movements can be detected for the arm portion 122, with the camera 162 coupled to the arm portion 122 and the scale 172 coupled to the distal end of the arm portion 121 (i.e., relative movement between the distal end of the arm portion 122 and the distal end of the arm portion 121 can be detected). Such a configuration may be contrasted with certain alternative configurations. For example, in a configuration in which both the camera and the scale are coupled to a single arm portion and the bending of that arm portion is detected, if the arm portion itself remains perfectly straight (e.g., even if the distal end of the arm portion is inclined downward), no bending is detected at all (i.e., because the camera and the scale do not change their relative position / orientation on a straight arm portion).
[0049] Figure 5 shows an example implementation of incremental scale 171 / 172. Figure 6 is an isometric view of an exemplary implementation of the incremental scale 171' / 172', and Figure 7 is an exemplary implementation of the absolute scale 171'' / 172''. In various implementations, any of the scales 171 / 172, 171' / 172', or 171'' / 172'' can be used as either of the scales 171 and 172 in Figures 1-4, or can be interpreted as representative examples thereof (for example, the grid-like or other features of the scales shown in Figures 1-4 may be represented or replaced by any of the scale features shown in Figures 5-7).
[0050] To simplify the explanation and illustration of the scale elements and their corresponding position detection, the scales in Figures 5 to 7 are shown in planar form (for example, in a form that may exist before being wrapped around a curved surface such as the base BSE or the distal end of the arm 121). More specifically, when the scale is coupled to the movable arm configuration MAC (for example, as shown in Figures 1 to 4B), the scale may be curved (for example, when at least partially wrapped around the base BSE or the distal end of the arm 121, it may have at least partially cylindrical or other curved shapes). The following principles explained with respect to the illustration of the planar scale shown in Figures 5 to 7 are understood to apply similarly to images of the scale (for example, acquired by cameras 161 / 162). At least the central portion of the scale image has features similar to those described below (for example, it may be used to determine positional information and / or other characteristics of the movable arm), and these principles apply similarly. Furthermore, for the sake of illustration simplicity, the planar shape of the scale is shown from a viewpoint where a camera (e.g., camera 161 / 162) looks down on each scale from above. In this regard, in Figures 6 and 7, the reference position REF (e.g., reference position REF related to the camera's position) is shown above the scale, and the optical axes OA1 / OA2 are oriented downward toward the scale, i.e., along the z-axis direction of the local scale coordinate system (SCS) (this corresponds to a primarily horizontal field of view, indicated by the primarily horizontal orientation of the optical axes OA1 / OA2 in Figures 1 and 2, as can be understood, for example, in relation to the examples in Figures 1 and 2).
[0051] As shown in Figure 5, the incremental scale 171 / 172 includes an array of equally spaced incrementally imageable features IIF arranged on a flexible substrate SUB. In some mounting configurations, the flexible substrate SUB (for example, in Figures 5-7) may have an adhesive back surface or other mounting mechanism (for example, a sticker-like or similar configuration that is wrapped around and / or bonded to a corresponding portion of a movable arm configuration MAC, for example, at least partially wrapped around the distal end of the base portion BSE and / or arm portion 121). In various mounting configurations, the incremental scale 171 / 172 may have a specified periodicity (for example, a periodicity smaller than 100 microns, such that the periodic intervals between incrementally imageable features IIF along the x and y axes are each less than 100 microns, as will be explained later in relation to the example in Figure 6). In one particular exemplary implementation, scales 171 / 172 may be defined as having a reference position (e.g., the origin) at scale coordinates X0, Y0, Z0 (e.g., in the local scale coordinate system), which will be explained in more detail later in relation to the example in Figure 6. In various implementations, in the examples in Figures 5 to 7, the rotational measurement axis direction MA1 / MA2 (e.g., the direction along the curved surface of the scale, as shown in Figure 2) may correspond at least approximately to the x-axis direction (e.g., the x-axis direction in the local scale coordinate system). The transverse direction TD1 / TD2 (i.e., the direction transverse to the rotational measurement axis direction MA1 / MA2) may correspond at least approximately to the y-axis direction (e.g., the y-axis direction in the local scale coordinate system).
[0052] Figure 6 is an isometric view of an exemplary implementation of the incremental scale 171' / 172'. As shown in Figure 6, the incremental scale 171' / 172' includes an array of evenly spaced incremental imageable features IIFs distributed on a flexible substrate SUB (for example, so as to be at least partially wrapped around the distal ends of the base portion BSE and / or arm portion 121). In the examples of Figures 6 and 7, only a portion of the pattern of incremental imageable features IIFs is shown, but it will be understood that in various implementations, the pattern may extend as long as the scale 171' / 172' or 171'' / 172'' extends. In various embodiments, the incremental scale 171' / 172' of Figure 6 may have a periodicity of less than 100 microns (for example, the periodic intervals XSP1 and YSP1 between incremental imageable features IIFs along their respective x and y axes may be less than 100 microns). In various implementations, the positional information determined using the incremental scale 171' / 172' may have an accuracy of at least 10 microns. In contrast to robot accuracy, which can be about 100 microns in some implementations, the accuracy determined using such a scale may be at least 10 times that of the robot. In one particular exemplary implementation, the incremental scale 171' / 172' may have an even higher periodicity of about 10 microns, and with a magnification of about 1x for each camera and interpolation at a magnification of 10x, an accuracy of about 1 micrometer may be obtained.
[0053] In various implementations, the field of view (FOV) position of each camera (e.g., camera 161 / 162) within the incremental scale 171' / 172' may provide an index indicating the relative position between the camera (e.g., having a reference position REF) and the scale 171' / 172'. In various implementations, each camera (e.g., camera 161 / 162) may be used in combination with the incremental scale 171' / 172' as part of a camera / scale image processing configuration. For example, the measurement position coordinate processing unit 190 may determine the relative incremental position of camera 161 / 162 and the corresponding reference position REF (e.g., reference positions REF1 / REF2 corresponding to and / or indicating the position of the corresponding camera 161 / 162) with respect to the scale 171' / 172'. Such relative incremental positions may be determined based on the position of the field of view (FOV) within the incremental scale 171' / 172', the position of which may be indicated by a portion of the scale 171' / 172' shown in the acquired image and its orientation (e.g., according to the position and orientation of one or more imageable features IIFs) (e.g., this may indicate the position and orientation of the camera 161 / 162 and the reference position for each scale 171' / 172'). Such determination may be made according to techniques known to those skilled in the art with respect to camera / scale image processing techniques (e.g., the techniques described in the aforementioned references). In various implementations, the incremental scale 171' / 172' may be of varying sizes relative to the field of view (e.g., the incremental scale 171' / 172' may be larger than the field of view (e.g., the incremental scale 171' / 172' may be larger than the field of view (FOV) so that the acquired image is still filled with a portion of the scale even if the camera moves relative to each scale), in which case the scale may be at least twice or four times the size of the field of view (FOV). In relation to such dimensional considerations, it is sometimes desirable that the field of view (FOV) be sufficiently small relative to the scale. This is to prevent the curvature of the scale (for example, curvature caused by being at least partially wrapped around the distal end of the base portion BSE and / or arm portion 121) from significantly distorting the determination of scale features near the edges of the field of view (FOV).
[0054] In various implementations, the incremental position indicated by scale 171' / 172' may be combined with position information from other scales, other sensors, and / or from the articulated robot 110 to determine a relatively high-precision position and / or absolute position (e.g., of an end tool). For example, sensors SEN1 and SEN2 of the articulated robot 110 (e.g., rotary encoders) may indicate the end tool position ETP with robot precision, and the incremental position indicated by scale 171' / 172' may be used to determine the end tool position ETP and / or to further improve the precision of the determined end tool position ETP to a level higher than the robot's precision. In one such configuration, the measurement position coordinate processing unit 190 may be configured to identify one or more imageable features IIFs included in each acquired image of each scale 171' / 172' and to determine the image position of one or more imageable features IIFs in the acquired image.
[0055] As described above with respect to Figure 2, in one particular exemplary implementation, scale 171' / 172' may be defined as having a reference position (e.g., origin position) at X0, Y0, Z0 (e.g., the values may be 0, 0, 0 in the case of the origin position) according to the local scale coordinate system (e.g., it may be related to the corresponding local camera coordinate system, while in contrast to the robot coordinate system shown in Figures 1 and 2, although transformations between various coordinate systems are also possible). In such a configuration, the reference position (e.g., reference position REF) may be in the relative coordinates of X1, Y1, Z1, and the center of the corresponding field of view FOV (e.g., captured in the acquired image) may be in the relative coordinates of X1, Y1, Z0. In various implementations, in the scale coordinate system, all coordinates on the scale may have a Z position Z0, while the corresponding reference position (e.g., reference position REF corresponding to and / or indicating the position of camera 161 / 162) may have a different Z position relative to the scale and may have a corresponding Z position Z1 (e.g., a position along the optical axis of the camera). In various implementations, if the center of the field of view (FOV) is at coordinates X1, Y1, the center of the field of view may be located on the optical axis (e.g., optical axis OA1 / OA2) of each camera (e.g., camera 161 / 162), and in some configurations, it may be assumed that this optical axis is approximately perpendicular to the scale. Furthermore, since the reference value REF may also be located on the optical axis, it may have the same XY coordinates X1, Y1 as the center of the field of view (FOV).
[0056] During operation, the acquired image may be analyzed by the measurement position coordinate processing unit 190 to determine the X1, Y1 coordinates corresponding to the center of the field of view (FOV) of each camera. In various implementations, such a determination may be made according to standard camera / scale image processing techniques for determining the position of the field of view (e.g., corresponding to the camera position) within a scale range (e.g., within scale 171' / 172'). According to standard camera / scale image processing techniques, it will be understood that the reference position / origin position X0, Y0, Z0 does not need to be within the field of view (i.e., the relative position may be determined at any position along scale 171' / 172' based on scale information provided at least in part by scale elements consisting of equally spaced incremental imageable features IIF). In various implementations, such a determination may include identifying at least one imageable feature contained in the acquired scale image and its associated corresponding known scale coordinate position. Such a decision may correspond to determining the relative positions of cameras 161 / 162 and / or the corresponding reference positions REF1 / REF2 with respect to scales 171' / 172'.
[0057] As described above, once the relative positions of each camera 161 / 162 and / or the corresponding reference positions REF1 / REF2 are determined, such information can be used for other positioning and / or control processes (e.g., for determining and / or controlling the end tool position ETP). As described above, in some implementations, the relative positions of each camera / reference position may initially be represented / determined in a local coordinate system (e.g., a scale coordinate system and / or a camera coordinate system, etc.) and then transformed relative to the robot coordinate system or otherwise processed. The end tool position ETP may be determined and / or controlled according to the robot coordinate system and / or other coordinate systems.
[0058] Figure 7 is an isometric view of an exemplary implementation of the absolute scale 171'' / 172''. In the example of Figure 7, the absolute scale 171'' / 172'' includes an array of incremental imageable features IIFs arranged at equal intervals, similar to the incremental scale 171'' / 172'', as well as a set of absolute imageable features AIFs having a unique identifiable pattern (e.g., a 16-bit pattern). During operation, the position of the field of view FOV (i.e., the position included in the captured image) in the absolute scale 171'' / 172'' may provide an index indicating the absolute position between each camera (e.g., having a reference position REF) and the scale 171'' / 172''. In the implementation of Figure 7, the set of absolute imageable features AIFs are distributed on a flexible substrate SUB (e.g., may be at least partially wrapped around the distal end of the base portion BSE and / or arm portion 121), and they are spaced apart from each other (e.g., at distances XSP2 and YSP2). This separation distance is set to be smaller than the distance corresponding to the width of each camera's field of view (FOV) (i.e., this ensures that at least one absolute imageable feature AIF is always included within the field of view FOV). During operation, the measurement position coordinate processing unit 190 is configured to identify at least one of each absolute imageable feature AIF contained in the acquired scale 171'' / 172'' image based on a uniquely identifiable pattern of this absolute imageable feature AIF, which is part of the process for determining the absolute relative position of each camera and / or reference position with respect to scale 171'' / 172'' (for example, corresponding to or indicating the relative position and orientation of the camera / reference position with respect to scale 171'' / 172'').
[0059] A specific example of determining a relatively accurate and absolute position using absolute imaging features AIF is as follows: As shown in Figure 7, the acquired image may show that the center of the field of view (FOV) is at the center of several incremental imaging features IIF. Positional information from the two included absolute imaging features AIF indicates which section of the scale 171'' / 172'' the image includes, and the incremental imaging features IIF within the included scale may also be identified. Thus, the acquired image can be analyzed by the measurement position coordinate processing unit 190 to accurately determine where the center of the field of view (i.e., at coordinates X1, Y1, Z0) is located within that section of the scale (i.e., including the two absolute imaging features AIF and the incremental imaging features IIF). In various implementations, the relative position of the camera / reference position may be determined based on such information (for example, it may correspond to and / or bend / twist of the corresponding arm sections 121 / 122).
[0060] As described above, in various implementations, in the examples of Figures 5 to 7, the rotational measurement axis direction MA1 / MA2 (for example, the direction along the curved surface of the scale shown in Figure 2) may correspond at least approximately to the x-axis direction (for example, the x-axis direction in the local scale coordinate system). The transverse direction TD1 / TD2 (i.e., the direction transverse to the rotational measurement axis direction MA1 / MA2) may correspond at least approximately to the y-axis direction (for example, the y-axis direction in the local scale coordinate system). In various implementations, each camera 161 / 162 is coupled to its corresponding arm portion 121 / 122, and the camera is configured to rotate around its corresponding scale 171 / 172. Furthermore, when the arm portion 121 / 122 rotates around the rotational joint 131 / 132, the camera's field of view (for example, which may be referenced based on the center point of the field of view in some cases) is configured to move along the rotational measurement axis direction MA1 / MA2 on the scale 171 / 172. In such a configuration, the position of the field of view on the scale (e.g., the position indicated by the camera image) may correspond to a specific rotational orientation of the arm, and a change in the position of the field of view on the scale (e.g., a change indicated by a comparison of camera images) may correspond to a change in the rotational orientation of the arm. In various implementations, the determination of such rotational orientation of the arm (e.g., according to the analysis of the corresponding images) may be performed at least in part on corresponding calculation results and / or calibration data obtained in relation to these positions and influences, etc. (e.g., calibration data and / or other calibration processes may be obtained and / or performed after the scale 171 / 172 is coupled to the movable arm configuration MAC).
[0061] In some cases, the bending of the arm (e.g., causing a movement of the field of view of the corresponding camera along a direction TD that is transverse to the rotational measuring axis MA on the corresponding scale, and / or corresponding thereto) may be characterized as a type of “pitch” and / or “sag” motion. In some cases, the twisting of the arm (e.g., causing a rotation of the field of view of the corresponding camera on the corresponding scale, and / or otherwise corresponding thereto) may be characterized as a type of “roll” motion. With respect to field of view rotation, in some cases, one or more pixels within the field of view (e.g., the camera's field of view) may be designated as reference pixels (e.g., pixels located in the upper center of the field of view and / or other pixels) and used to refer to and / or enable the orientation of the field of view relative to a portion of the scale contained within the field of view (e.g., the scale contained in the image from the camera). With such a configuration, the position and / or orientation of the field of view on the scale (e.g., as indicated by the camera image) may correspond to a specific amount of bending and / or twisting of the arm. Furthermore, changes in the position and / or orientation of the field of view on the scale (e.g., as shown by comparing camera images) may correspond to changes in the bending and / or twisting of the arm. In various implementations, the determination of such bending and / or twisting of the arm (e.g., performed according to the analysis of the corresponding images) may be performed at least in part on corresponding computational and / or calibration data collected in relation to position, influence, etc. (for example, such calibration data and / or other calibration processes may be collected and / or performed in other ways after the scale 171 / 172 is coupled to the movable arm configuration MAC).
[0062] As described above, in various implementations, the first and second scales 171 and 172 are curved (for example, they may have at least partially cylindrical shapes), and the corresponding rotational measuring axis directions MA1 and MA2 may also be curved accordingly (for example, the corresponding transverse directions TD1 and TD2 may be generally straight). For example, the first scale 171 may be at least partially wrapped / curved around at least a portion of the support base portion BSE (for example, it may have at least partially cylindrical shapes). The second scale 172 may be at least partially wrapped / curved around at least a portion of the distal end DE1 of the first arm portion 121 (for example, at least a portion of the distal end DE1 may have at least partially cylindrical shapes).
[0063] In various implementations, each absolute imageable feature AIF shown in Figure 7 may correspond to a specific angular orientation of the corresponding arm (i.e., the angular orientation when the arm rotates around the corresponding rotary joint). For example, as described above, the scale 171'' may be curved around the base BSE, and the first arm 121 may rotate around the rotary joint 131. In such a configuration, if the center of the camera 161's field of view FOV is aligned with the center of the absolute imageable feature AIF (for example, if the centers are at the same x-axis coordinate, or otherwise at the same coordinate along the rotation measurement axis MA1), the arm 121 may be determined to be in the angular orientation indicated by the absolute imageable feature AIF.
[0064] As one specific numerical example, the absolute imaging feature AIF may be located at intervals XSP2 (i.e., along the x-axis and / or rotation measurement axis MA1) corresponding to a specific amount of angular rotation of the arm (e.g., 90-degree rotation). Therefore, one absolute imaging feature AIF on the positive side of the reference position (e.g., the origin position) may correspond to a predetermined amount of positive angular rotation of the arm (e.g., +45-degree rotation), while one absolute imaging feature AIF on the negative side of the reference position (e.g., the origin position) may correspond to a predetermined amount of negative angular rotation of the arm (e.g., -45-degree rotation). Therefore, if the center of the camera 161's field of view (FOV) is aligned with the center of the absolute imaging feature AIF on the positive side, the angular orientation of the arm (e.g., +45 degrees) may be determined, and if the center of the camera 161's field of view (FOV) is aligned with the center of the absolute imaging feature AIF on the negative side, the angular orientation of the arm (e.g., -45 degrees) may be determined.
[0065] In such an example, the incrementally imageable feature IIF may also be arranged at intervals XSP1 (i.e., intervals along the x-axis and / or rotational measurement axis MA1) corresponding to a predetermined amount of angular rotation of the arm (e.g., a 30-degree rotation), for example, 3(XSP1) = XSP2 (e.g., corresponding to 3 × 30 degrees = 90 degrees). In such a configuration, if the center of the camera 161's field of view (FOV) is located between the center of the absolute imageable feature AIF and / or the center of the incrementally imageable feature IIF, the angular orientation of the arm may be determined at least in part based on interpolation (for example, based on the determined fractional interval / position of the center of the field of view (FOV) between the centers of each imageable feature along the x-axis and / or rotational measurement axis MA1).
[0066] Figures 8A and 8B are flowcharts illustrating exemplary implementations of routines 800A and 800B for operating a robot system including an articulated robot and an auxiliary measuring position determination system. As shown in Figure 8A, a decision block 810 makes a decision on whether the robot system should operate in auxiliary measuring position coordinate mode. In various implementations, the selection and / or activation of the auxiliary measuring position coordinate mode or the standard robot position coordinate mode may be performed by the user or automatically by the system in response to specific actions and / or instructions. For example, in one implementation, the auxiliary measuring position coordinate mode may be activated when the articulated robot moves to a specific location (e.g., according to user selection or automatically), where the specific location may include a location where the end tool has moved from a general area where assembly and other operations are performed to a more specific area where work inspection operations, typically for which the auxiliary measuring position coordinate mode is used, are performed. In various implementations, each of these modes may be implemented by an external control system ECS (for example, the external control system ECS in Figure 1 that utilizes the standard robot position coordinate mode unit 147 and the auxiliary measurement position coordinate mode unit 192). In various implementations, the hybrid mode may operate independently, as part of the auxiliary measurement position coordinate mode as will be detailed later in relation to Figure 9, and / or as a switch between these modes.
[0067] If decision block 810 determines that the robot system should not operate in auxiliary measurement position coordinate mode, the routine proceeds to block 820, where the robot system operates in standard robot position coordinate mode. As part of standard robot position coordinate mode, position sensors (e.g., rotary encoders) of the articulated robot are used to control and determine the movement of the articulated robot and the corresponding end tool position with robotic precision (e.g., based at least in part on the precision of the articulated robot's position sensors). Generally, robot position coordinate mode may correspond to independent and / or standard operating modes of the articulated robot (e.g., a mode in which the articulated robot operates alone when the auxiliary measurement position determination system is not operating or is not provided in the first place).
[0068] When the robot system is operating in auxiliary measurement position coordinate mode, the routine proceeds to block 830, where at least one input signal is received (i.e., in the trigger unit). This input signal is related to the end tool position of the articulated robot. Based on at least one input signal, the timing of a first trigger signal is determined, and the first trigger signal is output to the camera of the auxiliary measurement position system. Each camera, in response to receiving the first trigger signal, acquires a digital image of the corresponding scale at image acquisition time. In block 840, the acquired images are received (e.g., in the measurement position coordinate processing unit), and for each image, at least one corresponding imageable feature and its associated known scale coordinate position are identified in the acquired scale image.
[0069] In block 850, the angular orientation of each arm is determined based on determining the image position of at least one corresponding imageable feature identified in each acquired image. In block 860, the determined position information (including, for example, the determined angular orientation and / or other related determined position information) is used for a predetermined function (e.g., to determine the measurement position coordinates of the end tool position, for workpiece measurement, for positioning control of the articulated robot, etc.). As part of such an operation, or separately, the routine then proceeds to point A, where in various implementations the routine may terminate, or it may continue as described later in relation to Figure 8B.
[0070] As shown in Figure 8B, routine 800B can proceed from point A to block 870. As will be described in more detail below, as part of routine 800B, the determined position information (e.g., from block 860) may correspond to, or be used to determine, a first surface position on the workpiece, and a second surface position on the workpiece may be subsequently determined (e.g., as part of workpiece measurement). In block 870, at least one second input signal related to the end tool position is received (e.g., in the trigger unit), and the timing of the second trigger signal is determined based on at least one second input signal. The second trigger signal is output to the cameras of the auxiliary measurement positioning system, and each camera, in response to receiving the second trigger signal, acquires a second digital image of the corresponding scale when acquiring the second image.
[0071] In block 880, acquired images are received (for example, in the measurement position coordinate processing unit), and for each image, at least one second corresponding image-capable feature included in the acquired scale second image and its associated second known scale coordinate position are identified. In block 890, the second angular orientation of each arm is determined based on determining the position on the second image of at least one second corresponding image-capable feature identified in each second acquired image.
[0072] In block 895, the determined angular orientation and / or associated determined position information is used to determine the dimensions of the workpiece, corresponding to the distance between the first and second surface positions on the workpiece. These first and second surface positions correspond to the respective end tool positions (e.g., contact point positions) at the time of first and second image acquisition. It will be understood that by utilizing the above technique, more accurate position information can be determined instead of using articulated robot position sensors (e.g., rotary encoders) to determine the first and second surface positions on the workpiece with robotic precision.
[0073] Figure 9 is a flowchart illustrating an example embodiment of an end tool positioning routine 900 in which different methods may be used at different points in the movement timing. Generally, during the movement timing, one or more arm sections of the robot are moved from a first position to a second position (for example, this may include rotating one or more arm sections around the operating mechanism from a first rotational posture to a second rotational posture, or moving the arm sections in other ways). As shown in Figure 9, in the determination block 910, a decision is made as to whether a hybrid mode is used to determine the end tool position during the movement timing. In various implementations, the hybrid mode may also represent a process that includes switching between an auxiliary measurement position coordinate mode and a standard robot position coordinate mode, as described above with respect to Figure 8A. If the hybrid mode is not used, the routine proceeds to block 920, where the end tool position during the movement timing is determined using only the position sensors (e.g., rotary encoders, linear encoders, etc.) of the robot (e.g., a movable arm configuration such as MAC or MAC').
[0074] When using hybrid mode, the routine proceeds to block 930, where, in the first part of the movement timing, the end tool position is determined using position sensors included in the robot (e.g., those included in the robot's movable arm configuration MAC or MAC'). During this operation, the auxiliary measurement positioning system may not be used to determine the end tool position. In block 940, in the second part following the first part of the movement timing, the end tool position is determined using the auxiliary measurement positioning system. It will be understood that this operation allows for initial / high-speed / coarse movement of the end tool position in the first part of the movement timing, and more precise final / low-speed / fine movement of the end tool position in the second part.
[0075] Figure 10 is a flowchart showing an exemplary implementation of routine 1000 for operating an auxiliary measurement positioning system used with a robot. As shown in Figure 10, block 1010 operates a first camera to acquire a first image of a first scale when acquiring a first image. The first camera is coupled to a first arm, and as the first arm rotates around a first rotary joint, the first camera rotates around the first scale, and the field of view of the first camera moves along the first rotary measurement axis on the first scale. In addition, the field of view of the first camera moves along a direction transverse to the first rotary measurement axis on the first scale due to the bending of the first arm. For example, the trigger unit 187 sends a control signal to the camera 161, which causes the camera 161 to acquire a first image of scale 171 when acquiring a first image.
[0076] In block 1020, the second camera is operated to acquire the first image of the second scale when the first image is acquired. The second camera is connected to the second arm, and when the second arm rotates around the second rotary joint, the second camera rotates around the second scale, and the field of view of the second camera moves along the second rotary measurement axis on the second scale. In addition, the field of view of the second camera moves along a direction transverse to the second rotary measurement axis on the second scale due to the bending of the second arm. For example, the trigger unit 187 sends a control signal to the camera 162, which causes the camera 162 to acquire the first image of scale 172 when the first image is acquired.
[0077] In block 1030, the first angular orientation of the first arm is determined at least partially based on the first image of the first scale acquired by the first camera when acquiring the first image. For example, the measurement position coordinate processing unit 190 determines the angular orientation of the first arm 121 based on the first image of scale 171 acquired by the camera 161 in block 1010.
[0078] In block 1040, the first angular orientation of the second arm is determined at least partially based on the first image of the second scale acquired by the second camera when acquiring the first image. For example, the measurement position coordinate processing unit 190 determines the angular orientation of the second arm 122 based on the first image of scale 172 acquired by the camera 162 in block 1020.
[0079] In some implementations, the method further includes the step of determining at least one of the following: the amount of bending of the first arm, the amount of bending of the second arm, the amount of twisting of the first arm, or the amount of twisting of the second arm. In various implementations, the amount of bending of the first arm may be determined at least partially based on the first image of the first scale acquired by the first camera when acquiring the first image (for example, the amount of bending corresponds to the movement of the field of view of the first camera along a direction transverse to the first rotational measurement axis on the first scale). In various implementations, the amount of bending of the second arm may be determined at least partially based on the first image of the second scale acquired by the second camera when acquiring the first image (for example, the amount of bending corresponds to the movement of the field of view of the second camera along a direction transverse to the second rotational measurement axis on the second scale). In various implementations, the amount of twisting of the first arm may be determined at least partially based on the first image of the first scale acquired by the first camera when acquiring the first image (for example, the amount of twisting corresponds to the amount of rotation of the field of view of the first camera). In various implementations, the amount of twist in the second arm may be determined at least partially based on the second-scale first image acquired by the second camera when acquiring the first image (for example, the amount of twist corresponds to the amount of rotation of the second camera's field of view).
[0080] In some implementations, after block 1040, the measured position coordinates of the first end tool position at the time of first image acquisition are determined at least partially based on the determined angular orientation of the first and second arm portions (and / or at least partially based on the determined bending or twisting of the first and second arm portions). For example, the measurement position coordinate processing unit 190 determines the measured position coordinates (X2, Y2, Z2) of the end tool position ETP (see, for example, Figure 2) at least partially based on the determined angular orientation of the arm portions 121 and 122 (and / or at least partially based on the determined bending or twisting of the first and second arm portions 121 and 122).
[0081] In some implementations, after block 1040, the method further includes: operating the first camera to acquire a second image of the first scale when acquiring the second image; operating the second camera to acquire a second image of the second scale when acquiring the second image; determining the second angular orientation (and / or bending or twisting of the first arm) of the first arm based at least partially on the second image of the first scale acquired by the first camera when acquiring the second image; and determining the second angular orientation (and / or bending or twisting of the second arm) of the second arm based at least partially on the second image of the second scale acquired by the second camera when acquiring the second image. For example, the operations described above in relation to blocks 1010, 1020, 1030, and 1040 are repeated at different points in time (i.e., when acquiring the second image).
[0082] In some implementations, the method further includes determining the measured position coordinates of the first end tool position at the time of first image acquisition based at least partially on the determined first angular orientation of the first and second arm portions (and / or at least partially on the determined first bending or twist of the first and second arm portions), and determining the measured position coordinates of the second end tool position at the time of second image acquisition based at least partially on the determined second angular orientation of the first and second arm portions (and / or at least partially on the determined second bending or twist of the first and second arm portions). For example, the measurement position coordinate processing unit 190 determines the measurement position coordinates (e.g., X2a, Y2a, Z2a, not shown) of the end tool position ETP based at least partially on the determined first angular orientation of the first and second arm portions 121 and 122 (and / or at least partially on the determined first bending or twist of the first and second arm portions), and determines the measurement position coordinates (e.g., X2b, Y2b, Z2b, not shown) of the end tool position ETP based at least partially on the determined second angular orientation of the first and second arm portions 121 and 122 (and / or at least partially on the determined second bending or twist of the first and second arm portions).
[0083] In some implementations, the method further includes determining a dimension related to the distance between the first end tool position and the second end tool using the determined measurement position coordinates of the first and second end tool positions. For example, the measurement position coordinate processing unit 190 calculates the distance between the first end tool position and the second end tool using the above-mentioned measurement position coordinates (X2a, Y2a, Z2a) and measurement position coordinates (X2b, Y2b, Z2b), and determines a dimension related to the distance between the first end tool position and the second end tool. The dimension may be the distance between a first surface position and a second surface position on the workpiece, or a corresponding distance, where the end tool contact point is in contact with the first surface position on the workpiece when the first image is acquired and in contact with the second surface position on the workpiece when the second image is acquired.
[0084] In some implementations, prior to block 1010, the method further includes: coupling the first and second scales to the movable arm configuration at the first and second scale coupling positions, respectively; coupling the first camera to the first arm at the first camera coupling position; and coupling the second camera to the second arm at the second camera coupling position. For example, the method includes: coupling the scale 171 to the base BSE at the scale coupling position CL2; coupling the scale 172 to the distal end DE1 of the first arm 121 at the scale coupling position CL4; coupling the camera 161 to the distal end DE1 of the first arm 121 at the camera coupling position CL1; and coupling the camera 162 to the tip DE2 of the second arm 122 at the camera coupling position CL3.
[0085] As used herein, “scale” should be understood to mean any reference scale having a number of features or markings corresponding to known dimensional coordinates on a reference scale (e.g., high-precision positions and / or precisely calibrated positions), provided that it can operate as disclosed herein. For example, the features of such a scale may be expressed and / or displayed on the reference scale in a Cartesian coordinate system, a polar coordinate system, or any other convenient coordinate system. Furthermore, such features may include features distributed evenly or unevenly across the entire operating scale area, and may include graduated or ungraduated scale markings, provided that the features correspond to known dimensional coordinates on the scale and can operate in the manner disclosed herein.
[0086] The robotic systems and corresponding movable arm configurations disclosed and illustrated herein are generally shown and described in relation to a certain number of arm sections (e.g., three arm sections), but it should be understood that such systems are not limited to these. In various implementations, robotic systems may include fewer or more arm sections as needed, provided that they include arm sections such as those described herein.
[0087] As described herein, the scale and the camera used to image the scale may rotate relative to each other depending on the operation and / or position of the robot system. With respect to such relative rotation, it will be understood that by using methods known in the art (e.g., methods disclosed in incorporated references), the relative rotation can be accurately determined, and / or the necessary coordinate transformations can be performed, and / or the relative positions of the camera and the scale can be analyzed according to the principles disclosed herein. It will be understood that the measurement position coordinates referred to herein can take such relative rotation into account in various implementations. Furthermore, it will be understood that in some implementations, the measurement position coordinates referred to herein include a set of coordinates that accurately determine and / or indicate such relative rotation.
[0088] While preferred implementations of the Disclosure have been illustrated and described, numerous variations in the illustrated and described configurations and sequences of operation of the features will be apparent to those skilled in the art based on this Disclosure. Various alternative configurations may be used to carry out the principles disclosed herein. In addition, the various implementations described above can be combined to provide further implementations. All U.S. patents and U.S. patent applications referenced herein are incorporated herein by reference in their entirety. The aspects of the embodiments can be modified, as needed, to employ concepts from various patents and applications to provide further embodiments.
[0089] These and other changes can be implemented in accordance with the detailed description above. In general, the terms used in the following claims should not be interpreted as limiting the claims to any specific implementation disclosed herein and in the claims, but rather as encompassing all possible implementations along with the entire range of equivalents to which rights are granted.
Claims
1. It is a robotic system, A robot having a movable arm configuration and a motion control system, and an auxiliary measurement and position determination system, The aforementioned movable arm configuration is, i) A first arm portion attached to a first rotary joint at the proximal end of the first arm portion, wherein the first rotary joint has a first rotation axis, and the first arm portion has a second rotary joint located at the distal end of the first arm portion, wherein the second rotary joint has a second rotation axis; ii) A second arm portion attached to the second rotary joint at the proximal end of the second arm portion, wherein the second arm portion rotates around the second rotary joint; iii) An end tool mounting configuration for mounting an end tool, wherein the end tool mounting configuration is positioned close to the distal end of the movable arm configuration; It has, The aforementioned operation control system is The robot is configured to control the end tool position at a precision level defined as robot precision, at least in part, by sensing and controlling the angular positions of the first arm portion and the second arm portion around the first and second rotary joints, respectively, using rotation sensors included in the robot. The aforementioned auxiliary measurement position determination system is Measurement processing unit, A first scale and a second scale, each of which is coupled to the movable arm configuration at the first and second scale coupling positions, wherein each scale includes a plurality of image-capable features, A first camera configured to acquire an image of the first scale when an image is acquired, wherein the first camera is coupled to a first arm, and when the first arm rotates around a first rotary joint, the first camera rotates around the first scale, and the field of view of the first camera moves along the first rotational measurement axis direction on the first scale, and bending of the first arm causes the field of view of the first camera to move along a direction transverse to the first rotational measurement axis direction on the first scale, A second camera configured to acquire an image of the second scale when acquiring an image, wherein the second camera is coupled to the second arm, and when the second arm rotates around the second rotary joint, the second camera rotates around the second scale, and the field of view of the second camera moves along the second rotational measuring axis on the second scale, and bending of the second arm causes the field of view of the second camera to move along a direction transverse to the second rotational measuring axis on the second scale, Having, Robot system.
2. The measurement processing unit, The first angular orientation of the first arm is determined based at least partially on the first image of the first scale acquired by the first camera at the time of first image acquisition. The first angular orientation of the second arm is determined based at least partially on the first image of the second scale acquired by the second camera at the time of first image acquisition. The robot system according to claim 1.
3. The rotation of the first arm causes the field of view of the first camera to rotate, The rotation of the second arm causes the field of view of the second camera to rotate. The robot system according to claim 2.
4. The measurement processing unit, The amount of bending of the first arm portion is determined based at least partially on the first image of the first scale acquired by the first camera at the time of first image acquisition, The amount of bending of the second arm is determined based at least partially on the first image of the second scale acquired by the second camera at the time of first image acquisition, The amount of twist of the first arm is determined based at least partially on the first image of the first scale acquired by the first camera at the time of first image acquisition, The amount of twist of the second arm is determined based at least partially on the first image of the second scale acquired by the second camera at the time of first image acquisition, Further configured to perform at least one of the following: The robot system according to claim 3.
5. The measurement processing unit is further configured to determine the measurement position coordinates of the end tool position at the time of first image acquisition, at least partially based on the determined first angular orientation of the first arm and the second arm. The robot system according to claim 2.
6. The measurement processing unit, When acquiring the second image, the second angular orientation of the first arm is determined based at least partially on the second image of the first scale acquired by the first camera. The system is further configured to determine the second angular orientation of the second arm portion based at least partially on the second image of the second scale acquired by the second camera at the time of second image acquisition. The robot system according to claim 2.
7. The measurement processing unit, Based at least partially on the determined first angular orientation of the first arm portion and the second arm portion, the measurement position coordinates of the first end tool position at the time of first image acquisition are determined. Based at least partially on the determined second angular orientation of the first arm and the second arm, the measurement position coordinates of the second end tool position at the time of second image acquisition are determined. The system is further configured to determine a dimension relating to the distance between the first end tool position and the second end tool position, using the determined measurement position coordinates of the first end tool position and the second end tool position. The robot system according to claim 6.
8. The aforementioned dimension is the distance between a first surface position and a second surface position on the workpiece, and the contact point of the end tool contacts the first surface position on the workpiece when the first image is acquired, and contacts the second surface position on the workpiece when the second image is acquired. The robot system according to claim 7.
9. The end tool is at least one of a touch probe and a scanning probe used to measure the workpiece. The robot system according to claim 8.
10. The first and second scales are curved. The robot system according to claim 1.
11. The first scale is located on the support base portion of the movable arm configuration, The robot system according to claim 1.
12. The first scale is curved around at least a portion of the support base of the movable arm configuration. The robot system according to claim 1.
13. The second scale is curved around at least a portion of the distal end of the first arm portion. The robot system according to claim 12.
14. A method for operating an auxiliary measurement and position determination system used in conjunction with a robot, The aforementioned robot, It comprises a movable arm configuration and a motion control system, The aforementioned movable arm configuration is, i) A first arm portion attached to a first rotary joint at the proximal end of the first arm portion, wherein the first rotary joint has a first rotation axis, and the first arm portion has a second rotary joint located at the distal end of the first arm portion, wherein the second rotary joint has a second rotation axis; ii) A second arm portion attached to the second rotary joint at the proximal end of the second arm portion, wherein the second arm portion rotates around the second rotary joint; iii) An end tool mounting configuration for mounting an end tool, wherein the end tool mounting configuration is positioned close to the distal end of the movable arm configuration; It has, The aforementioned operation control system is The robot is configured to control the end tool position at a precision level defined as robot precision, at least in part, by sensing and controlling the angular positions of the first arm portion and the second arm portion around the first and second rotary joints, respectively, using rotation sensors included in the robot. The aforementioned auxiliary measurement position determination system is A first scale and a second scale, each of which is coupled to the movable arm configuration at the first and second scale coupling positions, wherein each scale includes a plurality of image-capable features, First camera and second camera, It has, The aforementioned method, The first camera is operated to acquire a first image of the first scale when acquiring a first image, wherein the first camera is coupled to the first arm, and when the first arm rotates around the first rotary joint, the first camera rotates around the first scale, and the field of view of the first camera moves along the first rotational measurement axis on the first scale, and the bending of the first arm causes the field of view of the first camera to move in a direction transverse to the first rotational measurement axis on the first scale, The second camera is operated to acquire a first image of the second scale when the first image is acquired, wherein the second camera is coupled to the second arm, and when the second arm rotates around the second rotary joint, the second camera rotates around the second scale, and the field of view of the second camera moves along the second rotational measurement axis on the second scale, and the bending of the second arm causes the field of view of the second camera to move along a direction transverse to the second rotational measurement axis on the second scale, Having, method.
15. The first angular orientation of the first arm is determined based at least partially on the first image of the first scale acquired by the first camera at the time of first image acquisition, The first angular orientation of the second arm is determined based at least partially on the first image of the second scale acquired by the second camera at the time of first image acquisition, It further possesses, The method according to claim 14.
16. The amount of bending of the first arm portion is determined based at least partially on the first image of the first scale acquired by the first camera at the time of first image acquisition, The amount of bending of the second arm is determined based at least partially on the first image of the second scale acquired by the second camera at the time of first image acquisition, The amount of twist of the first arm is determined based at least partially on the first image of the first scale acquired by the first camera at the time of first image acquisition, The amount of twist of the second arm is determined based at least partially on the first image of the second scale acquired by the second camera at the time of first image acquisition, It further comprises doing at least one of the following: The method according to claim 15.
17. The method further comprises determining the measurement position coordinates of the end tool position at the time of first image acquisition, based at least partially on the determined first angular orientation of the first arm portion and the second arm portion. The method according to claim 15.
18. The first camera is operated to acquire a second image of the first scale when acquiring the second image, The second camera is operated to acquire a second image of the second scale when acquiring the second image, The second angular orientation of the first arm is determined based at least partially on the second image of the first scale acquired by the first camera when the second image is acquired, The second angular orientation of the second arm portion is determined based at least partially on the second image of the second scale acquired by the second camera at the time of second image acquisition, It further possesses, The method according to claim 15.
19. Based at least partially on the determined first angular orientation of the first arm portion and the second arm portion, the measurement position coordinates of the first end tool position at the time of first image acquisition are determined, Based at least partially on the determined second angular orientation of the first arm and the second arm, the measurement position coordinates of the second end tool position at the time of second image acquisition are determined, Using the determined measurement position coordinates of the first end tool position and the second end tool position, a dimension related to the distance between the first end tool position and the second end tool position is determined, It further possesses, The method according to claim 18.
20. An auxiliary measurement and position determination system used with a robot having a movable arm configuration having a first arm portion and a second arm portion, a first rotary joint and a second rotary joint, and an end tool mounting configuration for attaching an end tool, and a motion control system configured to control the end tool position of the end tool, wherein the auxiliary measurement and position determination system is Measurement processing unit, A first scale and a second scale, each of which is coupled to the movable arm configuration at the first and second scale coupling positions, wherein each scale includes a plurality of image-capable features, A first camera configured to acquire an image of the first scale when an image is acquired, wherein the first camera is coupled to a first arm, and when the first arm rotates around a first rotary joint, the first camera rotates around the first scale, and the field of view of the first camera moves along the first rotational measurement axis direction on the first scale, and bending of the first arm causes the field of view of the first camera to move along a direction transverse to the first rotational measurement axis direction on the first scale, A second camera configured to acquire an image of the second scale when acquiring an image, wherein the second camera is coupled to the second arm, and when the second arm rotates around the second rotary joint, the second camera rotates around the second scale, and the field of view of the second camera moves along the second rotational measuring axis on the second scale, and bending of the second arm causes the field of view of the second camera to move along a direction transverse to the second rotational measuring axis on the second scale, Equipped with, Auxiliary measurement and position determination system.