Computer, method for controlling robot, and computer system
The computer system enhances robot control accuracy by integrating estimated future state information and noise removal, addressing the limitations of current state-based control methods.
Patent Information
- Application Number
- JP2021165454
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-07
- Publication Date
- 2025-07-11
- Estimated Expiration
- 2041-10-07
AI Technical Summary
Existing robot control systems lack accuracy as they primarily rely on current state information, failing to account for future states, which hinders precise operation.
A computer system that includes an arithmetic unit generating estimated work state information based on current and future operating states, using neural networks for trajectory planning and control information generation, and incorporates noise removal techniques to enhance accuracy.
The system enables high-accuracy robot control by considering both current and future states, ensuring safe and reliable operations while reducing noise interference.
Smart Images

Figure 0007706320000001 
Figure 0007706320000002 
Figure 0007706320000003
Abstract
Description
Technical Field
[0001] The present invention relates to the control of a robot that performs operations including grasping an object and moving the object.
Background Art
[0002] As a technique for controlling a robot that performs operations including grasping an object and moving an article, the technique described in Patent Document 1 is known. Patent Document 1 describes a control device "comprising a state information generation unit that generates and updates state information regarding a robot and an object to be grasped, and a control information generation unit that generates control information for controlling the robot based on a pre-generated base trajectory in which the robot can move the object to be grasped from a starting point to an ending point and the state information."
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the technique described in Patent Document 1, control is performed based on the current state. By also taking into account the future state, it is expected to realize more accurate robot control. An object of the present invention is to realize a system and method capable of controlling a robot with higher accuracy.
Means for Solving the Problems
[0005] A typical example of the invention disclosed in the present application is as follows. That is, a computer that controls a robot that performs operations including gripping an object and moving the object, having an arithmetic unit, a storage device connected to the arithmetic unit, and an interface connected to the arithmetic unit, wherein the storage device holds trajectory information regarding the trajectory of the robot when gripping and moving the object in the operation of the robot, and the arithmetic unit includes a value indicating the operating state of the robot during operation 1st operating state information, and work state information including a value for grasping the state of the object held by the robot, and the trajectory information Second operating state information including a value indicating an operating state of the robot during future work, generated based on , the 1st operating state information and the work state information and Based on this, estimated work state information including a value for grasping the state of the object that the robot will grip in the future is generated, and control information for controlling the robot is generated based on the trajectory information, the 1st operating state information, the work state information, and the estimated work state information.
Advantages of the Invention
[0006] According to the present invention, a robot can be controlled with high accuracy. Problems, configurations, and effects other than those described above will be clarified by the description of the following embodiments.
Brief Description of the Drawings
[0007]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6A
Figure 6B
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11A
Figure 11B
Figure 12
Mode for Carrying Out the Invention
[0008] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not to be construed as being limited to the description of the embodiments shown below. Those skilled in the art can easily understand that the specific configuration can be changed without departing from the spirit or gist of the present invention.
[0009] In the configuration of the invention described below, the same or similar configurations or functions are denoted by the same reference numerals, and redundant explanations are omitted.
[0010] Expressions such as "first", "second", "third", etc. in this specification and the like are attached for identifying components, and do not necessarily limit numbers or orders.
[0011] In the drawings and the like, the positions, sizes, shapes, and ranges of the respective components shown may not represent the actual positions, sizes, shapes, and ranges in order to facilitate the understanding of the invention. Therefore, the present invention is not limited to the positions, sizes, shapes, and ranges disclosed in the drawings and the like.
Embodiment
[0012] FIG. 1 is a diagram showing a configuration example of the system according to Embodiment 1.
[0013] The system is composed of a robot 100 and a computer 101. The robot 100 and the computer 101 are connected directly or via a network.
[0014] The robot 100 performs an operation of gripping an object (workpiece) and moving it from a starting point to an end point based on control information output from the computer 101. The robot 100 includes a working device group 110, a controller 111, and a measuring device 112.
[0015] The working device group 110 is a group of devices that realize the gripping of an object and the movement of the object, and includes, for example, a hand, a link, and a drive motor.
[0016] The controller 111 controls the working device group 110 based on the control information received from the computer 101. For example, the controller 111 moves the hand by driving a drive motor that functions as a joint and connects the links according to the control information. The controller 111 outputs operation state information including the angle, angular velocity, angular acceleration of the joint, and the torque and current values of the drive motor to the computer 101.
[0017] The measurement device 112 measures values for grasping the state of an object by the operation of the robot 100. The values output from the measurement device 112 are also described as operation state information. The measurement device 112 is, for example, an acceleration sensor, a force sensor, a camera, a contact sensor, a current sensor, or the like. Note that the robot 100 may include a plurality of measurement devices 112 of different types for each measurement target. Note that the present invention is not limited to the installation position and the number of installation of the measurement device 112.
[0018] Note that the robot 100 may transmit the operation state information and the work state information together as one piece of information.
[0019] The computer 101 generates information on the trajectory (trajectory information) that is the movement path of the robot 100, and also generates control information based on the trajectory information, the operation state information, and the work state information. The control information includes, for example, the following values. (1) The next target angle of the control axis, Angular velocity and the angular acceleration (2) The torque and drive current of the drive motor (3) The target coordinates, moving speed, and acceleration of the object
[0020] The computer 101 includes an arithmetic unit 120, a storage device 121, a communication device 122, an input device 123, and an output device 124. Each hardware element is connected via an internal bus.
[0021] The storage device 121 is a device that stores programs and information executed by the arithmetic unit 120, and is, for example, a memory or the like. The storage device 121 stores robot configuration information 140, facility configuration information 141, trajectory information 142, model information 143, and work history information 144. The storage device 121 is also used as a work area.
[0022] The robot configuration information 140 is information regarding the configuration of the robot 100. The data structure of the robot configuration information 140 will be described with reference to FIG. 2.
[0023] The equipment configuration information 141 is information about the equipment for which the robot 100 performs operations. The data structure of the equipment configuration information 141 will be described with reference to FIG. 3.
[0024] The trajectory information 142 is information about the trajectory which is the movement path of the robot 100. The data structure of the trajectory information 142 will be described with reference to FIG. 4.
[0025] The model information 143 is Work information about the model (the first model) for estimating the state and the model (the second model) for generating control information. The first model and the second model are functions, tables, neural networks, or the like. In this embodiment, each model is a neural network. Each model is generated by machine learning using a simulator.
[0026] The work history information 144 is information for managing the history of the operating state and the work state during work. Specifically, the operating state information and the work state information are accumulated in the work history information 144.
[0027] The arithmetic unit 120 is a device that controls the entire computer 101, and is, for example, a processor or the like. The arithmetic unit 120 executes a program stored in the storage device 121. By executing processing according to the program, the arithmetic unit 120 operates as a functional unit (module) that realizes a specific function. In the following description, when the processing is described with the functional unit as the subject, it indicates that the arithmetic unit 120 is executing a program that realizes the functional unit. The arithmetic unit 120 of this embodiment functions as a trajectory information generation unit 130, a work state estimation unit 131, and a control information generation unit 132.
[0028] The trajectory information generation unit 130 determines the trajectory of the hand based on the input information such as the work content and the position of the object. Further, the trajectory information generation unit 130 determines the trajectory of the tool based on the robot configuration information 140, the facility configuration information 141, and the trajectory of the hand. The trajectory information generation unit 130 generates trajectory information 142 indicating the determined trajectory. Note that since the method of determining the trajectory is a known technique, a detailed description thereof is omitted.
[0029] The work state estimation unit 131 estimates the future work state based on the trajectory information 142, the operation state information and the work state information stored in the work history information 144, and the first model.
[0030] The control information generation unit 132 generates control information based on the trajectory information 142, the operation state information and the work state information stored in the work history information 144, the estimation result of the work state, and the second model.
[0031] Regarding each functional unit of the computer 101, a plurality of functional units may be combined into one functional unit, or one functional unit may be divided into a plurality of functional units for each function.
[0032] The communication device 122 is a device for communicating with an external device, for example, a NIC (Network Interface Card).
[0033] The input device 123 is a device for inputting data, commands, etc. to the computer 101, for example, a keyboard, a mouse, a touch panel, etc.
[0034] The output device 124 is a device for outputting the calculation result, etc. of the computer 101, for example, a display, a projector, a printer, etc.
[0035] FIG. 2 is a diagram showing an example of the data structure of the robot configuration information 140 of the first embodiment.
[0036] The robot configuration information 140 stores entries including ID 201, classification 202, item 203, and content 204.
[0037] ID 201 is a field that stores the identification information of the entry. Classification 202 is a field that stores the classification of the elements that make up the robot 100. Item 203 is a field that stores the management items of the elements. Content 204 is a field that stores the content of the management items. Files, numerical values, character strings, etc. are stored in content 204.
[0038] Regarding the link, the shape of the link is managed. Regarding the joint that connects the links, the connecting links, the type of the joint, and the movement constraints of the joint are managed. Note that regarding the joint, the items managed as the movement constraints of the joint differ depending on the type of the joint.
[0039] FIG. 3 is a diagram showing an example of the data structure of the facility configuration information 141 of the first embodiment.
[0040] The facility configuration information 141 stores entries including ID 301, facility name 302, attachment target 303, relative position 304, and relative orientation 305.
[0041] ID 301 is a field that stores the identification information of the entry. Facility name 302 is a field that stores the name of the facility. Attachment target 303 is a field that stores the name of the target to be attached to the facility. Relative position 304 is a field that stores information (e.g., coordinates) indicating the relative installation position with respect to the facility to be attached. Relative orientation 305 is a field that stores information (e.g., coordinates) indicating the relative orientation with respect to the facility to be attached.
[0042] The entry with ID 301 being "0" indicates that the positions and orientations of other facilities are determined based on the assembly cell A. The relative position and relative orientation of RoboA installed with respect to the assembly cell A are stored in the entry with ID 301 being "1".
[0043] FIG. 4 is a diagram showing an example of the data structure of the trajectory information 142 of the first embodiment.
[0044] The trajectory information 142 stores a table 400 indicating the trajectory of the hand and a table 410 indicating the trajectory of the tool.
[0045] The table 400 stores entries including waypoints 401, positions 402, postures 403, and Time 404.
[0046] The waypoint 401 is a field storing identification information of the waypoint on the trajectory. The position 402 is a group of fields storing values indicating the coordinates of the hand at the waypoint. Cartesian coordinate system values are stored in each field of the position 402. The posture 403 is a group of fields storing values indicating the posture of the hand at the waypoint. Values defined by quaternions are stored in each field of the posture 403. The Time 404 is a field storing the time when the hand that started moving from the starting point reaches the waypoint.
[0047] The table 410 stores entries including waypoints 411, postures 412, and Time 413.
[0048] The waypoint 411 is the same field as the waypoint 401. The posture 412 is a group of fields storing values indicating the postures of the respective joints at the waypoint. Joint angles are stored in each field of the posture 412. The Time 413 is the same field as the Time 404.
[0049] Note that the trajectory information 142 includes a set of the table 400 and the table 410 for each work content. When the main body of the robot 100 moves, a table regarding the trajectory of the main body of the robot 100 may be included in the trajectory information 142.
[0050] FIG. 5 is a flowchart for explaining an example of the process executed by the computer 101 of the first embodiment. FIGS. 6A and 6B are diagrams showing an example of the operation state information and the work state information stored in the work history information 144 of the first embodiment. FIG. 7 is a diagram showing an example of a method for generating estimated work state information by the computer 101 of the first embodiment. In the following description, it is assumed that the orbit information 142 has already been generated.
[0051] The control information generation unit 132 starts the loop process of the work (step S101). The loop process of the work is repeatedly executed until a series of works such as gripping an object and moving the object along the orbit path are completed.
[0052] The control information generation unit 132 acquires the operation state information and the work state information from the robot 100 (step S102) and stores them in the work history information 144.
[0053] In the work history information 144, the operation state information is accumulated in the format shown in FIG. 6A. One entry is the operation state information acquired for each time step which is the measurement period. Also, in the work history information 144, the work state information is accumulated in the format shown in FIG. 6B. One entry is the work state information acquired for each time step. Fx, Fy, and Fz are the Force values in the X-axis, Y-axis, and Z-axis directions. Tx, Ty, and Tz are the torque values in the X-axis, Y-axis, and Z-axis directions. Ax, Ay, and Az are the accelerations in the X-axis, Y-axis, and Z-axis directions. Vx, Vy, and Vz are the velocities in the X-axis, Y-axis, and Z-axis directions.
[0054] The control information generation unit 132 determines whether the process is possible (step S103). Specifically, the control information generation unit 132 determines whether the required number of operation state information and work state information for the process have been accumulated. In this embodiment, it is determined whether the operation state information and the work state information for 5 steps have been accumulated. The number of the operation state information and the work state information is, for example, the value obtained by dividing the measurement frequency of the measurement device 112 by the analysis frequency resolution.
[0055] If the process is not possible, the control information generation unit 132 returns to step S102 and executes the same process.
[0056] If the process is possible, the control information generation unit 132 generates estimated work state information by instructing the work state estimation unit 131 to estimate the work state (step S104).
[0057] For example, as shown in FIG. 7, the work state estimation unit 131 inputs the operation state information and work state information for five steps and the operation state information for the next two steps generated from the trajectory information 142 into a neural network, which is the first model, and generates the estimated work state information for the next two steps. Note that the items input to the first model, the number of operation state information and work state information (the length of the time series) input to the first model, and the number of estimated work state information to be generated can be arbitrarily set. Also, the structure of the neural network can be arbitrarily set.
[0058] It is assumed that the constraints included in the robot configuration information 140 are incorporated into the first model of this embodiment.
[0059] The control information generation unit 132 generates control information by inputting the trajectory information 142, the operation state information and work state information accumulated in the work history information 144, and the estimated work state information into a neural network, which is the second model, and outputs it to the robot 100 (step S105).
[0060] If the work is not completed, the control information generation unit 132 returns to step S102 and executes the same process. If the work is completed, the control information generation unit 132 ends the loop process (step S106) and ends the series of processes.
[0061] Note that at the start point of the trajectory, step S105 is performed without performing the process of step S104. In this case, the control information generation unit 132 inputs, for example, the trajectory information 142 and the operation state information and work state information stored in the work history information 144 into the second model, and generates control information. Note that the control information at the start point may be generated by another method.
[0062] According to the first embodiment, the computer 101 can generate control information that realizes safe and reliable work by the robot by taking into account the current state of the object, the current state of the robot, and the future state of the object.
[0063] Note that in the first embodiment, one computer 101 controls the robot 100, but a computer system including a plurality of computers 101 may perform the same control. In this case, the functional units may be distributed and arranged among the plurality of computers 101.
Embodiment
[0064] In the prior art, measurement values measured by sensors are used to grasp the states of the robot and the object. Since the measurement values include noise caused by the environment, the robot, or the object, it is necessary to remove the noise in order to accurately control the robot. In contrast, the technique described in Patent Document 2 is known.
[0065] In the method described in Patent Document 2, it is necessary to operate the robot in a no-load state for sampling, which increases the man-hours before system operation. Further, in Patent Document 2, the value necessary for control is calculated by subtracting the sensor value in the no-load state from the sensor value in the load state. However, in this method, the motion component is removed together with the noise.
[0066] In the second embodiment, a system that removes noise from the measurement values and controls the robot using the measurement values without increasing the man-hours will be described. Hereinafter, the second embodiment will be described centering on the differences from the first embodiment.
[0067] FIG. 8 is a diagram showing a configuration example of the system according to the second embodiment.
[0068] The configuration of the system according to the second embodiment is the same as that of the first embodiment. The configuration of the robot 100 according to the second embodiment is the same as that of the first embodiment. The hardware configuration of the computer 101 according to the second embodiment is the same as that of the first embodiment. Also, the information held by the computer 101 according to the second embodiment is the same as that of the first embodiment. In the second embodiment, the functional configuration of the computer 101 is partially different from that of the first embodiment. The arithmetic unit 120 according to the second embodiment further functions as a removal frequency determination unit 133 and a noise removal unit 134.
[0069] The removal frequency determination unit 133 determines the frequency to be removed as noise based on the shape of the orbit. The noise removal unit 134 removes noise from the measured values included in the working state information.
[0070] FIG. 9 is a flowchart for explaining an example of the process executed by the computer 101 according to the second embodiment. FIG. 10 is a diagram showing an example of the data structure of the noise analysis information generated by the computer 101 according to the second embodiment. FIGS. 11A and 11B are diagrams showing an example of the screen displayed by the computer 101 according to the second embodiment. FIG. 12 is a diagram showing an example of noise removal by the computer 101 according to the second embodiment.
[0071] Before starting the process, the computer 101 displays a screen 1100 as shown in FIG. 11A via the output device 124. The screen 1100 includes display columns 1101 and 1102, selection columns 1103, 1105, 1107, 1113, read buttons 1104, 1106, 1108, a removal pattern display column 1109, and an execution button 1114. Note that at the start of the process, the removal pattern display column 1109 is not included in the screen 1100.
[0072] The selection column 1103 is a column for selecting the equipment to be used in the work. When the read button 1104 is operated, the values related to the equipment specified in the selection column 1103 are read from the equipment configuration information 141.
[0073] The selection column 1105 is a column for selecting the operations to be executed by the robot 100. When the load button 1106 is operated, the tables 400 and 410 corresponding to the operations are read, and the trajectory is displayed in the display column 1101.
[0074] The selection column 1107 is a column for selecting the types of measurement values used for generating control information. When the load button 1108 is operated, the values related to the sensors for measuring the measurement values are read from the equipment configuration information 141.
[0075] The selection column 1113 is a column for selecting the first model. Note that the screen 1100 may include a column for selecting the second model.
[0076] When the execution button 1114 is operated, the computer 101 starts the processing described below.
[0077] The control information generation unit 132 generates a removal frequency pattern by instructing the removal frequency determination unit 133 to generate a removal frequency pattern (step S151). Specifically, the following processing is executed.
[0078] (S151-1) The removal frequency determination unit 133 acquires the trajectory information 142, divides the trajectory into partial trajectories, and generates a set having the divided partial trajectories as elements. The removal frequency determination unit 133 generates a plurality of sets by changing the division method. The trajectory itself is also generated as one set. Further, the removal frequency determination unit 133 generates a family having the set as an element. The removal frequency determination unit 133 assigns an identification number as the identification information of the family.
[0079] (S151-2) The removal frequency determination unit 133 selects one set from the families.
[0080] (S151-3) The removal frequency determination unit 133 selects a partial trajectory from the selected set.
[0081] (S151-4) The removal frequency determination unit 133 selects the coordinate axis to be analyzed. At this time, the removal frequency determination unit 133 adds an entry to the noise analysis information 1000.
[0082] The noise analysis information 1000 stores entries composed of an ID1001, a partial path ID1002, a coordinate axis 1003, and a frequency 1004. The ID1001 is a field that stores identification information of an entry (group). The partial path ID1002 is a field that stores identification information of a partial path. In the partial path ID1002, a pair of a via point that is the start point of the partial path and a via point that is the end point of the partial path is stored. The coordinate axis 1003 is a field that stores the coordinate axis to be analyzed. The frequency 1004 is a group of fields that store spectral values of frequency components. The number of frequency components can be arbitrarily set. The sum of the spectral values of each frequency component is 1.
[0083] The removal frequency determination unit 133 sets the group identification information in the ID1001 of the added entry, sets the partial path identification information in the partial path ID1002, and sets the coordinate axis in the coordinate axis 1003.
[0084] (S151-5) The removal frequency determination unit 133 uses a known technique such as FFT (Fast Fourier Transformation) to convert the shape of the partial orbit on the selected coordinate axis into frequency components. The removal frequency determination unit 133 sets the spectral values of the frequency components in the frequency 1004 of the entry added to the noise analysis information 1000.
[0085] (S151-6) The removal frequency determination unit 133 determines whether the processing has been completed for all the coordinate axes of the X-axis, Y-axis, and Z-axis. If the processing has not been completed for all the coordinate axes of the X-axis, Y-axis, and Z-axis, the removal frequency determination unit 133 returns to S151-4 and executes the same processing.
[0086] (S151-7) When the processing is completed for all the coordinate axes of the X-axis, Y-axis, and Z-axis, the removal frequency determination unit 133 determines whether the processing is completed for all the partial orbits of the selected set. If the processing is not completed for all the partial orbits of the selected set, the removal frequency determination unit 133 returns to S151-3 and executes the same processing.
[0087] (S151-8) When the processing is completed for all the partial orbits of the selected set, the removal frequency determination unit 133 determines the frequency to be removed for each combination of the partial orbit and the coordinate axis. In this embodiment, the frequency corresponding to the spectral value greater than the threshold value is determined as the removal frequency. The removal frequency determination unit 133 stores the information of the removal frequency for each combination of the partial orbit and the coordinate axis in the work area as a removal pattern. Note that the identification information of the family is given to the removal pattern.
[0088] (S151-9) The removal frequency determination unit 133 determines whether the processing is completed for all the sets. If the processing is not completed for all the sets, the removal frequency determination unit 133 returns to S151-2 and executes the same processing. When the processing is completed for all the sets, the removal frequency determination unit 133 displays the information of the removal pattern in the removal pattern display column 1109. The removal pattern is displayed in a table format in the removal pattern display column 1109. The table stores entries including ID1110, removal pattern 1111, and selection 1112. ID1110 is a field for displaying the identification information of the removal pattern. The removal pattern 1111 is a field for displaying the removal pattern. The selection 1112 is a column for selecting the removal pattern. The user selects the removal pattern to be used by entering a check in the selection 1112. The removal frequency determination unit 133 superimposes and displays the removal pattern on the orbit in the display column 1102.
[0089] When the control information generation unit 132 receives the selection of the removal pattern from the user, the processing of step S151 ends.
[0090] The processing from step S101 to step S103 is the same as that in the first embodiment. In step S103, if it is determined that the processing is possible, the control information generation unit 132 removes noise from the operation state information by instructing the noise removal unit 134 to remove the noise (step S152). Specifically, the following processing is executed.
[0091] (S152-1) The noise removal unit 134 reads out the removal pattern selected by the user.
[0092] (S152-2) The noise removal unit 134 identifies the trajectory at each time step based on the trajectory information 142 and the operation state information, obtains the frequency corresponding to the trajectory specified from the removal pattern, and subtracts the frequency from the operation state information. As a result, for example, noise removal as shown in FIG. 12 is performed.
[0093] The processing from step S104 to step S106 is the same as that in the first embodiment. Note that in steps S104 and S105, the difference from the first embodiment is that the operation state information from which noise has been removed is used.
[0094] During operation, the control information generation unit 132 may display display columns 1121, 1122, 1123, and 1124 showing the noise removal result and the estimated operation state information on the left side of the screen 1100 as shown in FIG. 11B. The display column 1121 is the same as the display column 1102. The display column 1122 is a column for displaying the measured value before the noise is removed. The display column 1123 is a column for displaying the measured value after the noise is removed. The display column 1124 is a column for displaying the estimated operation state information. The second model outputs control information that does not exceed the threshold value. Note that in FIG. 11B, the execution button 1114 has changed to a stop button 1115.
[0095] According to the second embodiment, noise can be removed from the measured value without increasing the man-hours and while leaving the motion component.
[0096] In addition, in the second embodiment, one computer 101 controlled the robot 100, but a computer system including a plurality of computers 101 may perform the same control. In this case, the functional units may be distributed and arranged among the plurality of computers 101.
[0097] Note that the present invention is not limited to the above-described embodiments and includes various modifications. For example, the above-described embodiments have been described in detail for the sake of easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Also, a part of the configuration of each embodiment can be added to, deleted from, or replaced with other configurations.
[0098] Further, each of the above-described configurations, functions, processing units, processing means, etc. may be realized in hardware by designing a part or all of them, for example, by using an integrated circuit. The present invention can also be realized by a program code of software that realizes the functions of the embodiments. In this case, a storage medium recording the program code is provided to a computer, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing the same constitute the present invention. As the storage medium for supplying such a program code, for example, a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, an SSD (Solid State Drive), an optical disk, a magneto-optical disk, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, etc. are used.
[0099] Also, the program code for realizing the functions described in this embodiment can be implemented in a wide range of programs or script languages such as assembler, C / C++, perl, Shell, PHP, Python, Java (registered trademark), etc.
[0100] Furthermore, the program code of the software that realizes the functions of the embodiments may be distributed via a network, stored in a storage means such as a hard disk or memory of a computer or a storage medium such as a CD-RW or CD-R, and the processor included in the computer may read and execute the program code stored in the storage means or the storage medium.
[0101] In the above embodiments, the control lines and information lines show those considered necessary for explanation, and not necessarily all the control lines and information lines are shown on the product. All the components may be interconnected.
Explanation of Signs
[0102] 100 Robot 101 Computer 110 Working device group 111 Controller 112 Measuring device 120 Arithmetic unit 121 Storage device 122 Communication device 123 Input device 124 Output device 130 Orbit information generation unit 131 Working state estimation unit 132 Control information generation unit 133 Removal frequency determination unit 134 Noise removal unit 140 Robot configuration information 141 Facility configuration information 142 Orbit information 143 Model information 144 Working history information 1000 Noise analysis information 1100 Screen
Claims
1. A computer for controlling a robot that performs operations including grasping an object and moving the object, having an arithmetic unit, a storage device connected to the arithmetic unit, and an interface connected to the arithmetic unit, wherein the storage device holds trajectory information regarding the trajectory of the robot when grasping and moving the object in the operation of the robot, the arithmetic unit acquires first operating state information including a value indicating the operating state of the robot during operation and working state information including a value for grasping the state of the object grasped by the robot, generates estimated working state information including a value for grasping the state of the object that the robot will grasp in the future based on second operating state information including a value indicating the operating state of the robot during future operation generated based on the trajectory information, the first operating state information, and the working state information, and generates control information for controlling the robot based on the trajectory information, the first operating state information, the working state information, and the estimated working state information.
2. The computer according to claim 1, wherein the storage device stores a first model that receives the first operating state information, the second operating state information, and the working state information as inputs and outputs the estimated working state information, and a second model that receives the trajectory information, the first operating state information, the working state information, and the estimated working state information as inputs and outputs the control information.
3. The computer according to claim 2, wherein the first model and the second model are neural networks generated by machine learning.
4. The computer according to claim 1, wherein the working state information includes measurement values obtained from a measuring device installed on the robot and measuring values for grasping the state of the object grasped by the robot, the arithmetic unit calculates a removal frequency according to the shape of the trajectory based on the trajectory information, and removes noise from the measurement values included in the working state information based on the removal frequency.
5. The computer according to claim 4, wherein the arithmetic unit calculates the removal frequency according to the shape of the trajectory for each coordinate axis of the trajectory.
6. The computer according to claim 4, the arithmetic unit Dividing the orbit into a plurality of partial paths, A computer characterized by calculating the removal frequency for each of the partial paths. **Claim 7** A method for controlling a robot that performs an operation including gripping an object and moving the object, which is executed by a computer, The computer has an arithmetic unit, a storage device connected to the arithmetic unit, and an interface connected to the arithmetic unit, The storage device holds orbit information regarding the orbit of the robot when gripping and moving the object in the operation of the robot, The method for controlling the robot includes: A first step in which the arithmetic unit acquires first operating state information including a value indicating an operating state of the robot during operation, and work state information including a value for grasping a state of the object gripped by the robot; A second step in which the arithmetic unit generates estimated work state information including a value for grasping a state of the object to be gripped by the robot in the future, based on second operating state information including a value indicating an operating state of the robot during future operation, which is generated based on the orbit information, the first operating state information, and the work state information; A third step in which the arithmetic unit generates control information for controlling the robot based on the orbit information, the first operating state information, the work state information, and the estimated work state information. A method for controlling a robot characterized by including the steps. **Claim 8** The method for controlling a robot according to claim 7, The storage device stores a first model that receives the first operating state information, the second operating state information, and the work state information as inputs and outputs the estimated work state information, and a second model that receives the orbit information, the first operating state information, the work state information, and the estimated work state information as inputs and outputs the control information. A method for controlling a robot characterized by this. **Claim 9** The method for controlling a robot according to claim 8, The first model and the second model are neural networks generated by machine learning. A method for controlling a robot characterized by this. **Claim 10** The method for controlling a robot according to claim 7, The work state information includes measurement values acquired from a measuring device installed in the robot and measuring values for grasping the state of the object, The first step includes: A fourth step in which the arithmetic unit calculates a removal frequency according to the shape of the orbit based on the orbit information. A control method for a robot, characterized in that the arithmetic device includes a fifth step of removing noise from the measured values included in the operation state information based on the removal frequency.
11. The robot control method according to claim 10, wherein the fourth step includes a step in which the arithmetic device calculates the removal frequency according to the shape of the track for each coordinate axis. A robot control method characterized by this.
12. The robot control method according to claim 10, wherein the fourth step includes a step in which the arithmetic device divides the track into a plurality of partial paths, and a step in which the arithmetic device calculates the removal frequency for each partial path. A robot control method characterized by this.
13. A computer system for controlling a robot that performs operations including gripping an object and moving the object, including a plurality of computers having an arithmetic device, a storage device connected to the arithmetic device, and an interface connected to the arithmetic device, managing track information regarding the track of the robot when gripping and moving the object in the operation of the robot, wherein the computer acquires first operation state information including a value indicating the operating state of the robot during operation, and operation state information including a value for grasping the state of the object grasped by the robot, based on the track information, second operation state information including a value indicating the operating state of the robot during future operations, the first operation state information, and the operation state information, generates estimated operation state information including a value for grasping the state of the object that the robot will grasp in the future, A computer system characterized by generating control information for controlling the robot based on the track information, the first operation state information, the operation state information, and the estimated operation state information.
14. The computer system according to claim 13, managing a first model that receives the first operation state information, the second operation state information, and the operation state information as inputs and outputs the estimated operation state information, and a second model that receives the track information, the first operation state information, the operation state information, and the estimated operation state information as inputs and outputs the control information. A computer system characterized by this.
15. The computer system according to claim 13, The operation state information includes measurement values obtained from a measuring device installed in the robot for measuring values for grasping the state of the object grasped by the robot. The computer calculates a removal frequency corresponding to the shape of the trajectory based on the trajectory information. A computer system characterized by removing noise from the measurement values included in the operation state information based on the removal frequency.
Citation Information
Patent Citations
Learning device, control device and control system
JP2019000942A
Machine learning methods and apparatus related to predicting motions of objects in robot's environment based on images capturing objects and based on parameters for future robot movement in environment
JP2020128003A
Control device, control method and robot system
JP2021084159A