This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2023-176253, filed on Oct. 11, 2023; the entire contents of which are incorporated herein by reference.
Embodiments of the invention generally relate to a processing device, a training device, a mixed reality device, a processing method, and a storage medium.
Screws may be turned when performing a task on an article. A tool that can detect torque may be used to turn the screws. Technology that can automatically associate data related to a task location at which a screw is turned and time-series data detected by the tool is desirable.
According to one embodiment, a processing device is configured to estimate a first task location by using a first image, a screw being turned at the first task location. The processing device is configured to extract first time-series data from time-series data acquired by a tool turning the screw, the first time-series data being time-series data when the screw is being turned at the first task location. The processing device is configured to associate the first time-series data with data related to the first task location.
Embodiments of the invention will now be described with reference to the drawings. The drawings are schematic or conceptual; and the relationships between the thicknesses and widths of portions, the proportions of sizes between portions, etc., are not necessarily the same as the actual values thereof. The dimensions and/or the proportions may be illustrated differently between the drawings, even in the case where the same portion is illustrated. In the drawings and the specification of the application, components similar to those described thereinabove are marked with like reference numerals, and a detailed description is omitted as appropriate.
The embodiment of the invention is applicable to a fastening task of a screw that uses a tool. As shown in
The imaging device 1 images a worker performing a task. For example, the imaging device 1 includes a camera acquiring an RGB image. In addition to the RGB image, the imaging device 1 may acquire a depth image. The worker may be imaged by multiple imaging devices 1.
The worker uses the tool 2 to tighten and loosen a screw at the article. Hereinafter, tightening a screw and loosening a screw are called turning a screw. The article is a part, a unit, a semifinished product, etc., for making a product. The tool is a wrench.
The tool 2 is configured to detect torque. The tool 2 also is configured to transmit the detected torque to a preset device by wireless communication. The tool 2 detects the torque while the worker is turning the screw with the tool 2.
The processing device 3 receives consecutive images (video images) that are imaged by the imaging device 1. The processing device 3 uses the images to estimate a task location at which the worker is turning the screw. The processing device 3 also continuously receives the torque from the tool 2. As a result, time-series data that indicates the change of the torque over time is obtained.
The processing device 3 extracts, from the time-series data, the data when the screw is being turned at the task location. The processing device 3 associates the extracted time-series data with data (e.g., the ID) related to the task location. The processing device 3 also may associate identification information (the name or the ID) of the worker, the time, identification information of the tool, etc., with the data related to the task location.
The worker uses the input device 4 to input information to the processing device 3. For example, the input device 4 includes a keyboard, a mouse, or a touchpad. The input device 4 may include a microphone. The worker can input the information to the processing device 3 by an utterance toward the input device 4. Other than the input device 4, the worker may be able to input information to the processing device 3 by a hand gesture, etc.
The display device 5 displays the information toward the worker. The display device 5 includes a monitor or a projector. For example, the processing device 3 causes the display device 5 to display information to support the fastening task. Hereinafter, the processing device causing the display device to display information also is called simply “the processing device displaying information”.
The storage device 6 stores data necessary for the processing of the processing device 3, data obtained by the processing of the processing device 3, etc. For example, the storage device 6 stores data of the tool used in the task, data used to estimate the task location, data associated with each other by the processing device 3, etc.
As an example, the worker 100 holds a wrench 120 with the right hand and tightens screws at fastening locations 111 to 114 of the article 110. The worker 100 tightens the screws in the order of the fastening location 111, the fastening location 112, the fastening location 113, and the fastening location 114. The screw-tightening at the fastening locations 111 to 114 is taken as one set; and four sets of screw-tightening are performed.
In the task, the processing device 3 estimates the fastening location at which the screw is being turned. Specifically, the processing device 3 performs hand tracking in the image IMG and measures the coordinates of the left and right hands of the worker 100. Hereinafter, at least one of the left hand or the right hand is called simply “the hand” when the left and right hands are not particularly differentiated. Each hand includes multiple joints such as a DIP joint, a PIP joint, an MP joint, a CM joint, etc. The coordinate of any of these joints is used as the coordinate of the hand. The centroid position of multiple joints may be used as the coordinate of the hand. Or, the center coordinate of the entire hand may be used as the coordinate of the hand.
When the screw is turned with the wrench 120 as shown in
An estimation model for estimating the task location based on the image may be prepared. The estimation model is pretrained to output an estimation result of the task location according to the input of the image. It is favorable for the estimation model to include a neural network (particularly, a convolutional neural network). The processing device 3 inputs the image to the estimation model and obtains the estimation result of the task location from the estimation model.
During the task, for example, the time-series data shown in
When the task location is estimated, the processing device 3 uses the imaging time of the image used in the estimation as the time at which the screw was turned at the task location. The processing device 3 refers to the times at which the torques were detected in the time-series data. Based on the time at which the task was being performed and the times at which the torques were detected, the processing device 3 extracts, from the time-series data, the data when the screw was being turned at the task location.
For example, within overall time-series data TD0, the periods during which the screws were being turned respectively at the fastening locations 111 to 114 are designated. The processing device 3 extracts, from the time-series data TD0, time-series data TD1a to TD1d, time-series data TD2a to TD2d, time-series data TD3a to TD3d, and time-series data TD4a to TD4d of each period. The time-series data TD1a, TD2a, TD3a, and TD4a are the torque detected for the tightening of the screw at the fastening location 111 for the first, second, third, and fourth screw-tightening. This is similar for the other time-series data as well. For example, time-series data TD1b, TD2b, TD3b, and TD4b are the torque detected for the tightening of the screw at the fastening location 112 respectively for the first, second, third, and fourth screw-tightening.
As shown in
As an example, it is estimated that a screw is being turned at the fastening location 111 based on one or more images (a first image) imaged at some time. The processing device 3 extracts, from the time-series data TD0, the time-series data TD1a (first time-series data) when the screw is being turned at the fastening location 111 (a first task location). Based on another image (a second image) imaged after the first image, it is estimated that the screw is being turned at the fastening location 112. The processing device 3 extracts, from the time-series data TD0, the time-series data TD1b (second time-series data) when the screw is being turned at the fastening location 112 (a second task location).
In the example shown in
For example, as shown in
Advantages of the embodiment will now be described.
Time-series data of tools may be used in various applications. For example, the waveform of the time-series data can be used to determine whether or not the task is normal. Or, the waveform of the time-series data can be used to determine whether or not the task is being efficiently performed. On the other hand, in the task, torque is continuously detected by the tool. Therefore, even when an abnormal waveform is included in the time-series data acquired by the tool, the location at which the screw was being turn when the data of the abnormal waveform was obtained cannot be discriminated. Therefore, it has been difficult to use the time-series data for such verification.
According to the embodiment of the invention, the task location at which the screw is being turned is estimated using the first image in which the task is visible. Also, the tool that turns the screw is used to acquire time-series data. Then, the data when the screw is being turned at the task location is extracted from the time-series data. As a result, the extracted time-series data can be associated with the data related to the task location. As a result, it can be discriminated which parts of the time-series data detected by the tool match which data of the screws turned at the fastening locations.
As described above, the extracted time-series data may be used to determine whether or not the task is normal. For example, the processing device 3 determines whether or not the torque of the extracted time-series data is greater than the preset first threshold. The processing device 3 determines whether or not the period (the length of time) of the extracted time-series data is greater than a preset second threshold. The second threshold for the period is different from the first threshold for the torque. The processing device 3 determines that the time-series data is abnormal when the torque is greater than the first threshold or when the period of the time-series data is greater than the second threshold.
For example, in the time-series data shown in
A pretrained first determination part may be used to determine whether or not the time-series data is normal. According to the input of the time-series data, the first determination part outputs a determination result indicating whether or not the time-series data is normal. For example, the first determination part classifies the time-series data into one of a normal class or an abnormal class. The first determination part outputs a certainty for each class. The class for which the highest certainty is obtained is the classification of the time-series data.
The first determination part includes a neural network. Favorably, the first determination part includes a recurrent neural network (RNN). To increase the accuracy of the determination, it is more favorable for the RNN to have a long short-term memory (LSTM) structure. Or, the first determination part may include a convolutional neural network (CNN). In such a case, the time-series data is converted into an image and then input to the first determination part. The first determination part outputs a determination result according to the shape, length, etc., of the time-series data in the image.
The abnormality type may be determined by the first determination part. The abnormalities can be classified into the four types shown in
In the example shown in
In the example shown in
In the example shown in
In the example shown in
The first determination part is trained to be able to determine abnormality types such as those shown in
To determine whether or not the time-series data is normal, both the comparison between the time-series data and the threshold and the determination by the first determination part may be performed. For example, the processing device 3 compares the torque in the extracted time-series data with the threshold, and compares the period of the time-series data with the threshold. As a result, it is determined whether or not the time-series data is normal. When the time-series data is determined to be abnormal, the processing device 3 inputs the time-series data to the first determination part. As a result, the abnormality type is determined by the first determination part.
Or, the processing device 3 may input the time-series data to the first determination part regardless of the determination result of the comparison with the threshold. When the time-series data is determined to be abnormal by one of the comparison with the threshold or the determination by the first determination part, the processing device 3 determines the time-series data to be abnormal.
The extracted time-series data may be used to determine the proficiency of the worker. “Proficiency” refers to the skill of the worker, and refers to how efficiently the task is performed. The processing device 3 uses a second determination part to determine the proficiency. According to the input of the time-series data, the second determination part determines the proficiency of the movement indicated by the time-series data. For example, the second determination part classifies the time-series data into one of the “expert” class or the “novice” class. The second determination part outputs the certainty for each class. The class for which the highest certainty is obtained is the classification of the time-series data. The second determination part may classify the time-series data into one of three or more classes.
The second determination part includes a neural network. Favorably, the second determination part includes an RNN. To increase the accuracy of the determination, it is more favorable for the RNN to have an LSTM structure. Or, the second determination part may include a CNN. In such a case, the time-series data is converted into an image and then input to the second determination part. The second determination part outputs a determination result according to the shape, length, etc., of the time-series data in the image.
For example, the time-series data when useless movement is included in the task is longer than the time-series data when there is no useless movement in the task. Also, the fluctuation of the length of time necessary for one screw-tightening is greater when useless movement is included in the task than when there is no useless movement in the task. The fluctuation of the waveform per screw-tightening also is greater when useless movement is included in the task than when there is no useless movement in the task.
The second determination part is pretrained to be able to output the proficiency according to the input of the time-series data. In the training, the time-series data is used as the input data; and annotations that indicate the proficiency of the time-series data are used as the teaching data. Because the proficiency is determined by the second determination part, the worker can easily ascertain the parts of the task that need to be improved.
The first determination part and the second determination part are prepared for each combination of the structure of the fastening location, the structure of the screw, the type of tool, the necessary torque, and the screw-tightening count. The structure of the fastening location is the diameter of the screw hole, the depth of the screw hole, etc. The structure of the screw is the diameter of the screw, the shape (the type) of the screw, etc. Each determination part may be prepared for each fastening location.
The data for training the determination parts may be prepared according to the embodiment of the invention. Processing in which a part of the time-series data is extracted from the overall time-series data such as that shown in
Specifically, the processing device 3 extracts the time-series data TD1a to TD1d from the time-series data TD0 and associates the time-series data TD1a to TD1d respectively with the fastening locations 111 to 114. The time-series data TD1a that is associated with the fastening location 111 can be utilized to train the determination parts used in the task of turning the screw at the fastening location 111. Similarly, the time-series data TD1b to TD1d that are associated with the fastening locations 112 to 114 can be utilized to train the determination parts used in the task of turning the screws at the fastening locations 112 to 114. In other words, according to the processing of the processing device 3, the annotation can be automatically performed for the data referenced when training for the extracted time-series data. It is noted that the determination parts used in the task of turning the screw may be shared between the fastening locations when the tool used to turn the screw, the structure of the screw hole, the necessary torque, etc., respectively are the same between the fastening locations 111 to 114.
Other annotation also may be assigned to the extracted time-series data. For example, the processing device 3 uses the threshold to determine whether or not the extracted time-series data is normal. The processing device 3 assigns an annotation indicating normal or abnormal to the time-series data. Subsequently, a worker or a manager confirms the time-series data determined to be abnormal, and assigns an annotation indicating the specific type of the abnormality. The data for training the first determination part is prepared thereby. Even when an abnormality is determined by the processing device 3, when the worker or the manager determines the time-series data to be normal, the worker or the manager replaces the abnormal annotation with a normal annotation. The processing device 3 may annotate the extraction time-series data with the proficiency of the worker that performed the task. As shown in
The determination by the first determination part and the determination by the second determination part may be performed for the time-series data for each screw-tightening such as those shown in
The storage device 6 stores task master data 50a, worker master data 50b, fastening location master data 50c, a first determination part 51, and a second determination part 52 shown in
First, the processing device 3 accepts the selection of the task and the selection of the worker (step S0). The processing device 3 refers to the task master data 50a in the selection of the task.
The task ID, the task name, the article ID, and the article name are registered in the task master data 50a. The processing device 3 can accept one of the task ID, the task name, the article ID, or the article name as the selection of the task. The worker ID, the worker name, and the proficiency are registered in the worker master data 50b. The processing device 3 can accept the worker ID or the worker name as the selection of the worker.
For example, the task and the worker are selected by the worker. The task to be performed may be instructed by a higher-level system; and the processing device 3 may accept the selection according to the instruction. The processing device 3 may determine the task to be performed based on data obtained from the imaging device 1, a sensor located in the workplace, a reader located in the workplace, etc. The processing device 3 selects the task based on the determination result. The task and the worker may be automatically selected based on the prepared schedule, etc. The worker may be pre-associated for each task. In such a case, the worker also is automatically selected when the task is selected.
When the task and the worker are selected, the imaging device 1 starts imaging (step S1). The imaging device 1 repeatedly acquires the images during the task. When the task is started, the processing device 3 receives time-series data of the torque from the tool 2 (step S2). The processing device 3 uses the images to estimate the task location at which the screw is being turned (step S3). The processing device 3 extracts, from the time-series data, the time-series data while the screw is being turned. The processing device 3 associates the extracted time-series data and the data related to the task location (step S4). The processing device 3 also associates the worker ID, the worker name, the proficiency, etc., with the extracted time-series data.
When the task location is estimated, the processing device 3 refers to the fastening location master data 50c. The fastening location master data 50c stores the fastening location ID; and the fastening position (the position of the screw hole), the necessary torque value, and the necessary screw-tightening count are registered for each fastening location ID in the fastening location master data 50c. When the coordinate of the hand is used in the estimation, the processing device 3 can use the fastening position registered in the worker master data 50b to estimate the task location. The processing device 3 associates the fastening location ID with the extracted time-series data and stores the extracted time-series data in the fastening location master data 50c.
When the time-series data is extracted, the processing device 3 uses the first threshold and the second threshold to determine whether or not the time-series data is normal (step S5). In other words, the processing device 3 determines whether or not the torque included in the time-series data is greater than the first threshold, and determines whether or not the period of the time-series data is greater than the second threshold. The processing device 3 determines the time-series data to be abnormal when the torque is greater than the first threshold, or when the period is greater than the second threshold. When the time-series data is abnormal, manual annotation of the time-series data, which is described below, is performed (step S20).
When the time-series data is determined to be normal based on the threshold, the processing device 3 combines the sets of time-series data that are associated with the same fastening location (step S6). As a result, as shown in
The processing device 3 displays information in the display device 5 based on the determination result of the first determination part 51 or the second determination part 52 (step S9). As an example, when the time-series data is determined to be abnormal, the processing device 3 displays the abnormality type during the task. When a countermeasure is preregistered for each abnormality type, the processing device 3 also may display the countermeasure. By displaying the information in real time in the task, the worker can promptly notice the occurrence of the abnormality. Prompt rework of the task can be performed, and wasted work can be reduced. When the time-series data is determined to be normal, the processing device 3 may display information indicating that the task is normal, or may not display information. By omitting the display when the task is normal, the worker can easily concentrate on the task.
As another example, when the proficiency is determined to be low based on the time-series data, the processing device 3 displays the determination result. The determination result of the proficiency may be displayed in the task, or may be displayed after the task. When the proficiency of the worker is determined to be high, the processing device 3 may display information indicating that the proficiency is high, or may not display information.
The processing device 3 determines whether or not all of the tasks are completed (step S10). When there are still incomplete tasks, the processing device 3 again accepts the selection of the task in step S0.
The processing device 3 associates the input annotation with the time-series data (step S24). The abnormality type also is associated with the time-series data to which the abnormal annotation is assigned. The processing device 3 stores the time-series data to which the annotation is associated in the storage device 6 as training data of the first determination part 51 (step S25).
According to the flowchart shown in
Based on the determination result of the first determination part 51 and the determination result of the second determination part 52, the processing device 3 displays a graphical user interface (GUI) in the display device 5.
Time-series data 186a to 186c is displayed in the example shown in
Compared to the processing system 10 shown in
The training device 8 trains the first determination part 51 and the second determination part 52. In the training, the training data automatically annotated by the processing device 3 and the training data prepared by the manual annotation (step S20) are used. The training device 8 stores the trained first determination part 51 and the trained second determination part 52 in the storage device 6. The processing device 3 uses the first determination part 51 and the second determination part 52 trained by the training device 8 to determine the time-series data.
The timing of the training by the training device 8 is arbitrary. The training device 8 may train the first determination part 51 or the second determination part 52 each time new training data is prepared. The training device 8 may train the first determination part 51 or the second determination part 52 at the timing of a preset number of sets of training data being stored in the storage device 6. The training device 8 may train the first determination part 51 or the second determination part 52 at the timing when a preset period has elapsed from the final training. The training device 8 may be prepared separately from the processing device 3, or the processing device 3 may include a function as the training device 8.
The processing system 10 shown in
The image camera 231 and the depth camera 232 are examples of the imaging device 1. The processing device 250 is an example of the processing device 3. The microphone 241 is an example of the input device 4. The projection device 221 and the projection device 222 are examples of the display device 5. The storage device 270 is an example of the storage device 6.
In the illustrated example, the MR device 200 is a binocular head mounted display. Two lenses, i.e., the lens 211 and the lens 212, are fit into the frame 201. The projection device 221 and the projection device 222 respectively project information onto the lenses 211 and 212.
The projection device 221 and the projection device 222 display a recognition result of a hand of a worker, a virtual object, etc., on the lenses 211 and 212. Only one of the projection device 221 or the projection device 222 may be included; and information may be displayed on only one of the lens 211 or the lens 212.
The lens 211 and the lens 212 are light-transmissive. The worker can visually recognize reality via the lenses 211 and 212. Also, the worker can visually recognize the information projected onto the lenses 211 and 212 by the projection devices 221 and 222. Information is displayed to overlap real space by being projected by the projection devices 221 and 222.
The image camera 231 obtains a two-dimensional image by detecting visible light. The depth camera 232 irradiates infrared light and obtains a depth image based on the reflected infrared light. The sensor 240 is a six-axis detection sensor and is configured to detect angular velocities in three axes and accelerations in three axes. The microphone 241 accepts an audio input.
The processing device 250 controls components of the MR device 200. For example, the processing device 250 controls the display by the projection devices 221 and 222. The processing device 250 detects movement of the visual field based on the detection result of the sensor 240. The processing device 250 changes the display by the projection devices 221 and 222 according to the movement of the visual field. The processing device 250 also is configured to perform various processing by using data obtained from the image camera 231 and the depth camera 232, data of the storage device 270, etc.
The battery 260 supplies power necessary for the operations to the components of the MR device 200. The storage device 270 stores data necessary for the processing of the processing device 250, data obtained by the processing of the processing device 250, etc. The storage device 270 may be located outside the MR device 200, and may communicate with the processing device 250.
The MR device according to the embodiment is not limited to the illustrated example, and may be a monocular head mounted display. The MR device may be an eyeglasses-type as illustrated, or may be a helmet-type.
For example, a fastening task is performed on an article 300 shown in
A marker 310 is located proximate to the task object. In the illustrated example, the marker 310 is an AR marker. As described below, the marker 310 is provided for setting the origin of the three-dimensional coordinate system. Instead of the AR marker, a one-dimensional code (a barcode), a two-dimensional code (a QR code (registered trademark)), etc., may be used as the marker 310. Or, instead of a marker, the origin may be indicated by a hand gesture. The processing device 250 sets the three-dimensional coordinate system referenced to multiple points indicated by the hand gesture.
When starting the fastening task, the image camera 231 and the depth camera 232 image the marker 310. The processing device 250 recognizes the marker 310 based on the captured image. The processing device 250 sets the three-dimensional coordinate system by using the position of the marker 310 as a reference.
The image camera 231 and the depth camera 232 image the article 300, the left hand of the worker, and the right hand of the worker. The processing device 250 recognizes the left hand and the right hand based on the captured image. The processing device 250 causes the projection devices 221 and 222 to display the recognition result on the lenses 211 and 212.
For example, as shown in
As shown in
The positions displayed by the virtual objects 401 to 408 are preregistered using a coordinate system based on the origin of the marker 310. For example, the virtual object is displayed at a position separated from the coordinate of each fastening location by a prescribed distance. The “prescribed distance” is set by considering the length of the screw, the size of the head of the wrench, etc.
In the illustrated example, the virtual objects 401 to 408 are spheres. The shapes, colors, etc., of the virtual objects are arbitrary as long as the worker can visually recognize and discriminate the virtual objects 401 to 408 from real space.
As an example, the worker fastens a screw at the fastening location 303. In such a case, the worker places the screw in the screw hole of the fastening location 303. Then, the worker holds the grip of the wrench 120 with the right hand. The worker causes the tip (the head) of the wrench 120 to which a socket is mounted to engage the screw. As shown in
In the series of operations described above, the processing device 250 determines whether or not one of the left hand 351 or the right hand 352 contacts the virtual object. According to the task example above, the left hand 351 that presses the head of the wrench contacts the virtual object 403 when tightening the screw. When the left hand 351 is determined to contact the virtual object 403, the processing device 250 estimates that the screw is being turned at the fastening location 303 corresponding to the virtual object 403.
Instead of the contact between the hand and the virtual object, it may be determined whether or not a tool contacts one of the virtual objects. For example, as shown in
The contact between the prescribed object and the virtual object is determined based on the distance between the prescribed object and the virtual object. The processing device 250 calculates the distance between the coordinate of the virtual object and the coordinate of the prescribed object. The processing device 250 determines that the prescribed object contacts the virtual object when the distance is less than a preset threshold.
As an example as shown in
When the task location is estimated, the extraction of the time-series data, annotation of the extracted time-series data, the determination of the time-series data, etc., are performed based on the estimation result. When the time-series data is determined to be abnormal by the first determination part 51, for example, an alert 450 is displayed proximate to the wrench 120 or the hand as shown in
By using the MR device, the worker can visually recognize the information output from the processing system 10 while performing the task. It is unnecessary for the worker to move the face or the visual field to confirm the information output from the processing system 10. Therefore, the work efficiency of the worker can be further increased.
According to the method described above, the fastening location at which the screw is being turned is estimated based on the contact between the virtual object and the prescribed object. For example, the fastening location at which the screw is being turned is estimated based on the contact between the virtual object and the hand pressing the head of the tool. Instead of this method, the fastening location at which the screw is being turned may be estimated based on the movement of the hand gripping the grip of the tool.
For example, as shown in
In the first method, the processing device 250 extracts four mutually-different coordinates from the multiple coordinates that are measured. The processing device 250 calculates a sphere that passes through the four coordinates. The sphere is represented by the formula of a spherical surface. Here, as shown in
The following Formula (2) is obtained by substituting the coordinate P1 in Formula (1). Formula (2) is rewritten as Formula (3).
Similarly, the following Formulas (4) to (6) are obtained by substituting the coordinates P2 to P4 in Formula (1).
The coordinate P0(x0, y0, z0) is calculated by solving Formulas (3) to (6) as simultaneous equations. The center of a sphere passing through the four coordinates P1(x1, y1, z1), P2(x2, y2, z2), P3(x3, y3, z3), and P4(x4, y4, z4) is obtained thereby. The processing device 250 uses the coordinate P0(x0, y0, z0) of the center of the sphere as the center coordinate of the rotation of the wrench 120.
The processing device 250 may extract multiple combinations of four coordinates. The processing device 250 calculates the coordinates of the center of the sphere for each combination. As a result, the coordinate of the center is calculated for each of the multiple spheres. Error exists in the measured coordinates of the hand. Therefore, the calculated coordinates of the multiple centers are different from each other. The processing device 250 uses the multiple coordinates to determine the coordinate to be used as the rotation center of the wrench 120. For example, the processing device 250 calculates the median value of the multiple coordinates as the center coordinate of the rotation of the wrench 120. The processing device 250 may calculate the average value or mode of the multiple coordinates as the center coordinate of the rotation of the wrench 120. The accuracy of the calculated center coordinate can be increased thereby.
In the second method, the processing device 250 extracts three coordinate pairs from the multiple coordinates that are measured. Each pair is made of two coordinates. In the example shown in
As described above, the hand moves in an arc-like shape. Accordingly, the perpendicular bisectors that pass through the midpoints of the coordinate pairs pass through the center of the circle. The center of the circle has the coordinate P0(x0, y0, z0). In such a case, as shown in Formula (7), the inner product of the vector from the coordinate P1 to the coordinate P2 and the vector from the coordinate P12 to the coordinate P0 is zero. Formula (7) can be rewritten as Formula (8).
The following Formulas (9) and (10) are obtained similarly for the other coordinate pairs.
The coordinate P0(x0, y0, z0) is calculated by solving these simultaneous equations. The processing device 250 calculates the coordinate P0(x0, y0, z0) as the center coordinate of the rotation of the wrench 120.
The processing device 250 may extract four or more coordinate pairs. The processing device 250 selects three coordinate pairs from the four or more coordinate pairs and calculates the coordinate P0 for each combination of the selected coordinate pairs. The processing device 250 calculates the median value, average value, or mode of the multiple coordinates P0 as the center coordinate of the rotation of the wrench 120. The accuracy of the calculated center coordinate can be increased thereby.
In the third method, the processing device 250 extracts three mutually-different coordinates from the multiple coordinates that are measured. The processing device 250 calculates a circumcenter O of the three coordinates. Here, as shown in
x0, y0, and z0 are calculated respectively from Formulas (13) to (15). The processing device 250 calculates the coordinate P0(x0, y0, z0) of the circumcenter O as the center coordinate of the rotation of the wrench 120.
The processing device 250 may extract multiple combinations of three coordinates. The processing device 250 calculates the coordinate of the circumcenter for each combination. The processing device 250 calculates the median value, average value, or mode of the multiple coordinates as the center coordinate of the rotation of the wrench 120. The accuracy of the calculated center coordinate can be increased thereby.
Before performing one of the first to third methods, some coordinates may be selected from the multiple coordinates of the hand. One of the first to third methods is performed using the selected coordinates. For example, only the coordinates estimated to be when the hand is moving in an arc-like shape are selected; and the coordinates to be used in the first to third methods are extracted from these coordinates. By using only the coordinates when the hand is moving in the arc-like shape, the accuracy of the center coordinate can be further increased.
As an example, when a digital tool is used, the processing device 250 selects the coordinates of the hand obtained at the timing (the times) at which data is received from the digital tool. When the screw is turned with the digital tool, the digital tool detects the torque, the rotation angle, etc. The processing device 250 receives the detected values detected by the digital tool. The reception of the detected values indicates that the hand is moving in an arc-like shape. Therefore, the coordinates of the hand obtained at the timing (the times) at which the detected values are received are selected and used to calculate the center coordinate, and so the center coordinate can be calculated with higher accuracy.
Even when the coordinates are not selected, the center coordinate can be calculated by calculating multiple candidates of the center coordinate in one of the first to third methods. For example, the processing device 250 excludes outliers from the multiple candidates and calculates the median value, average value, or mode of the remaining candidates as the center coordinate.
The center coordinate of the rotation of the wrench 120 can be considered to be the position of the screw being turned by the wrench 120. By estimating the position of the screw, the fastening location at which the screw is being turned also can be estimated. For example, when the positions of the fastening locations are preregistered, there is a possibility that the screw is being tightened at the fastening location most proximate to the center coordinate. A threshold is set for the distance between the position of the fastening location and the center coordinate. The processing device 250 calculates the distance between the center coordinate and the position of the fastening location most proximate to the center coordinate. When the distance is not more than the preset threshold when a detected value is received from the digital tool, the processing device 250 estimates that the screw is being turned at the most proximate fastening location.
When the task location is estimated, the processing device 250 extracts the data when the screw was being turned at the task location from the time-series data based on the time at which the task was being performed and the times at which the torques were detected. As a result, the extracted time-series data is associated with the data related to the task location.
For example, the center coordinate is calculated using the coordinates of the hand obtained in a prescribed duration after step S0 shown in
The processing device 250 may estimate the start time of the task. For example, when the start of the task has still not been estimated, the processing device 250 estimates the earliest time within a prescribed duration at which a detected value is obtained by the digital tool to be the start time of the task. After the start time of the task is estimated, the processing device 250 determines the end time of the task. When the distance between the center coordinate and the position of the most proximate fastening location is greater than the threshold, the processing device 250 estimates the earliest time within a duration that the detected value was no longer obtained from the digital tool to be the end time of the task.
The processing device 250 extracts, from the overall time-series data, the data from the estimated start time to the estimated end time. The processing device 3 associates the extracted time-series data with the data (e.g., the ID) related to the task location.
Subsequently, it may be determined whether or not the extracted time-series data is normal. The extracted time-series data may be used to determine the proficiency of the worker.
To more accurately estimate the position of the screw, the processing device 250 may use the length of the tool interposed between the wrench 120 and the screw to estimate the position at which the screw is present. In the example shown in
When using the length of the socket to estimate the position of the screw, it is necessary to determine the side at which the screw is positioned with respect to the plane in which the wrench 120 is rotating. In the example shown in
To determine the side at which the screw 125 is positioned, the processing device 250 uses the center coordinate, two coordinates of the hand, time-series information of the two coordinates, and tighten/loosen information of the screw. For example, as shown in
The tighten/loosen information indicates whether the screw is being tightened or loosened. When the wrench 120 is a digital tool, the wrench 120 generates the tighten/loosen information by determining whether the screw is being tightened or loosened based on the detected torque. The processing device 250 may generate the tighten/loosen information by determining whether the screw is tightened or loosened based on the time-series data of the torque received from the wrench 120.
A plane that passes through the coordinates P0 to P2 is represented by the following Formula (16). In Formula (16), k, l, m, and n are constants.
The following Formulas (17) to (19) are obtained by substituting the coordinates of P0 to P2 in Formula (16). The constants k, l, m, and n are calculated from Formulas (17) to (19).
Here, the processing device 250 calculates a vector from the center coordinate P0 to the coordinate P1 at the previous time. Also, the processing device 250 calculates a vector from the center coordinate P0 to the coordinate P2 at the subsequent time. The screw 125 is at a position P0 separated from the center coordinate P0 by a length L0 of the socket on the normal vector P0P1×P0P2. When the screw is being tightened and the time of the coordinate P1 is before the time of the coordinate P2, the processing device 250 calculates the normal vector P0P1×P0P2 of the vector P0P1 and the vector P0P2.
The length from the coordinate P0 to the coordinate P0 at which the wrench and the socket act on the screw is represented by the following Formula (20) in the following formulas, the symbols marked with arrows indicate that the value of the symbol is a vector.
On the other hand, the vector from the coordinate P0 to the coordinate P0 also may be represented by the following Formula (21) using the vector P0P1 and the vector P0P2. In Formula (21), t is a constant.
The following Formula (22) is obtained by substituting Formula (21) in Formula (20). The length L0 in Formula (22) is preregistered. t is calculated by solving Formula (22).
When t is calculated, the coordinate PQ is calculated using the coordinate P0 and the constant k, l, m, n, and t. In other words, the position of the screw is obtained.
As shown in
In other words, the screw is at a position separated from the center coordinate P0 by the sum of the length of the socket 128 and the length of the extension bar 130 on the normal vector P0P1×P0P2. The position P0 of the screw is estimated using the center coordinate P0, the length of the socket 128, and the length of the extension bar 130. The position of the screw can be estimated with higher accuracy by considering the length of another tool interposed between the screw and the wrench 120.
When the position of the screw is estimated, the processing device 250 uses the estimated position of the screw to estimate the fastening location at which the screw is being turned. For example, the processing device 250 calculates the distance between the position of the screw and the position of the fastening location most proximate to the screw. When the distance is not more than a preset threshold, the processing device 250 estimates that the screw is being turned at the most proximate fastening location.
For example, as in an article 140 shown in
Contact between the object and the prescribed object may be detected in addition to the calculation of the center coordinate. Compared to the calculation of the center coordinate, the necessary calculation amount of the contact with the object is low. Therefore, by detecting the contact between the object and the prescribed object, the location at which the screw is being tightened can be estimated more quickly. For example, when the task is erroneous, rework of the task can be reduced by outputting an alarm more promptly.
Herein, an example is mainly described in which a screw is tightened at a fastening location. Embodiments of the invention are applicable not only when a screw is tightened at a fastening location, but also when a screw is loosened at a fastening location. For example, a screw is loosened at a fastening location when performing maintenance, inspection, or repair of a product. According to embodiments of the invention, extracted time-series data can be associated with data related to the task location when loosening the screw.
For example, a computer 90 shown in
The ROM 92 stores programs controlling operations of the computer 90. The ROM 92 stores programs necessary for causing the computer 90 to realize the processing described above. The RAM 93 functions as a memory region into which the programs stored in the ROM 92 are loaded.
The CPU 91 includes a processing circuit. The CPU 91 uses the RAM 93 as work memory and executes the programs stored in at least one of the ROM 92 or the storage device 94. When executing the programs, the CPU 91 executes various processing by controlling configurations via a system bus 98.
The storage device 94 stores data necessary for executing the programs and/or data obtained by executing the programs. The storage device 94 includes a solid state drive (SSD), etc. The storage device 94 may be used as the storage device 6 or the storage device 270.
The input interface (I/F) 95 can connect the computer 90 with the input device 4. The CPU 91 can read various data from the input device 4 via the input I/F 95.
The output interface (I/F) 96 can connect the computer 90 and an output device. The CPU 91 can transmit data to the display device 5 via the output I/F 96, and can cause the display device 5 to display information.
The communication interface (I/F) 97 can connect the computer 90 and a device outside the computer 90. For example, the communication I/F 97 connects a digital tool and the computer 90 by Bluetooth (registered trademark) communication.
The data processing performed by the processing device 3 or the processing device 250 may be performed by only one computer 90. A part of the data processing may be performed by a server or the like via the communication I/F 97.
Processing of various types of data described above may be recorded, as a program that can be executed by a computer, on a magnetic disk (examples of which include a flexible disk and a hard disk), an optical disk (examples of which include a CD-ROM, a CD-R, a CD-RW, a DVD-ROM, a DVD±R, and DVD±RW), a semiconductor memory, or another non-transitory computer-readable storage medium.
For example, information recorded on a recording medium can be read by a computer (or an embedded system). The recording medium can have any record format (storage format). For example, the computer reads a program from the recording medium and causes the CPU to execute instructions described in the program, on the basis of the program. The computer may obtain (or read) the program through a network.
Embodiments of the invention include the following features.
A processing device, configured to:
The processing device according to feature 1, further configured to:
The processing device according to feature 2, further configured to:
The processing device according to any one of features 1 to 3, further configured to:
The processing device according to feature 4, further configured to:
The processing device according to feature 4 or 5, in which
The processing device according to feature 4 or 5, further configured to:
The processing device according to any one of features 1 to 7, further configured to:
The processing device according to any one of features 1 to 8, further configured to:
A training device, configured to:
A training device, configured to:
A mixed reality device, configured to:
A processing method, configured to:
A program, when executed by the computer according to feature 13, causing the computer to perform the processing method according to feature 13.
A non-transitory computer-readable storage medium configured to store the program according to feature 14.
In the specification, “or” shows that “at least one” of items listed in the sentence can be adopted.
According to the embodiments above, a processing device, a processing system, a mixed reality device, a processing method, a program, and a storage medium are provided in which corresponding time-series data can be automatically associated with data related to a task location. For example, it can be discriminated which parts of the time-series data detected by the tool match which fastening locations at which the screws are turned. Also, according to the embodiments, a training device that can use associated data to train a determination part is provided.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the invention. Moreover, above-mentioned embodiments can be combined mutually and can be carried out.
Number | Date | Country | Kind |
---|---|---|---|
2023-176253 | Oct 2023 | JP | national |