Estimation device, estimation method, estimation program, learning device, learning method, and learning program

The estimation device uses a learning model to determine the necessary rotations for multi-joint robots, addressing the challenge of movable range determination and preventing operational failures by considering environmental factors.

JP2026048468APending Publication Date: 2026-03-17TOYOTA PRODN ENG CORP +1
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-05
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Existing robot teaching systems fail to accurately determine the movable range of multi-joint robots, considering both the robot's configuration and the surrounding environment, leading to potential operational failures.

Method used

An estimation device and method that utilize a learning model to estimate the amount of rotation required for each axis of a multi-joint robot to reach a target position, taking into account environmental information and the robot's tip position and relative positional relationships, without relying on inverse kinematics.

Benefits of technology

Enables accurate estimation of the robot's motion range, reducing the likelihood of operational errors by avoiding unreasonable movements and ensuring smooth operation within the robot's capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026048468000001_ABST
    Figure 2026048468000001_ABST
Patent Text Reader

Abstract

This invention provides an estimation device that estimates the amount of rotation of each axis of a multi-joint robot required to reach a target position without using inverse kinematics. [Solution] The system includes: a storage unit that stores a learning model which has learned the relationship between the amount of rotation applied to each axis of the articulated robot, the tip position information, and the relative positional relationship between the tip position and the target; a storage unit that stores the relationship between first environmental information including first environmental information including the amount of rotation applied to each axis of the articulated robot, the tip position information of the articulated robot when each axis is rotated, and the relative positional relationship between the tip position and the target; a reception unit that receives input of third environmental information including axis information indicating the current state of each axis of the articulated robot and the relative positional relationship between the tip position and the target; and fourth environmental information including a target position which is the target of the tip position of the articulated robot; an estimation unit that inputs the received axis information, first environmental information and target position into the learning model to estimate the amount of rotation applied to each axis of the articulated robot; and an output unit that outputs the amount of rotation for each axis.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0004] , , , ,

[0005] , , ,

[0003] , ,

[0001] The present invention relates to a learning device, a learning method, and a learning program for generating a learning model for controlling a multi-joint robot, and also relates to an estimation device, an estimation method, and an estimation program for performing estimation using the learning model.

Background Art

[0002] In offline teaching of a robot, it is important to recognize the extent of the robot's movable range in order not to perform teaching beyond the movable range of the robot. Here, the movable range of the robot refers to the movable range that depends not only on the robot itself but also on the surrounding environment and the like in operating the robot. Patent Document 1 discloses a simulation device for estimating the behavior of a device having a plurality of joints, which calculates the behavior of the device based on the movable range set for each axis, and changes the movable range of each axis when the relative relationship between the device and the peripheral device of the device indicates a specific positional relationship.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

[0006] An estimation device according to one aspect of the present invention includes: a storage unit that stores a learning model which has learned the relationship between axis information indicating the state of each axis of an articulated robot, first environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and a target, the amount of rotation applied to each axis of the articulated robot, and second environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and a target when each axis is rotated by the amount of rotation for the articulated robot in the state indicated by the axis information; a receiving unit that receives input of axis information indicating the current state of each axis of the articulated robot, third environmental information including information on the current tip position of the articulated robot and the relative positional relationship between the tip position and a target, and fourth environmental information including a target position which is the target of the tip position of the articulated robot; an estimation unit that inputs the axis information, first environmental information and target position received by the receiving unit into the learning model and estimates the amount of rotation applied to each axis of the articulated robot; and an output unit that outputs information indicating the amount of rotation for each axis of the articulated robot estimated by the estimation unit.

[0007] An estimation method according to one aspect of the present invention involves a computer storing a learned model that has learned the relationship between axis information indicating the state of each axis of an articulated robot, first environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and a target, the amount of rotation applied to each axis of the articulated robot, and second environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and a target when each axis is rotated by the amount of rotation relative to the state of the articulated robot indicated by the axis information; a receiving step that receives input of axis information indicating the current state of each axis of the articulated robot, third environmental information including information on the current tip position of the articulated robot and the relative positional relationship between the tip position and a target, and fourth environmental information including a target position that is the target of the tip position of the articulated robot; an estimation step that inputs the axis information, first environmental information and target position received in the receiving step into the learned model to estimate the amount of rotation applied to each axis of the articulated robot; and an output step that outputs information indicating the amount of rotation for each axis of the articulated robot estimated in the estimation step.

[0008] An estimation program according to one aspect of the present invention provides a computer with a memory function that stores a learning model which has learned the relationship between axis information indicating the state of each axis of an articulated robot, first environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and a target, the amount of rotation applied to each axis of the articulated robot, and second environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and a target when each axis is rotated by the amount of rotation relative to the state of the articulated robot indicated by the axis information, a reception function that accepts input of axis information indicating the current state of each axis of the articulated robot, third environmental information including information on the current tip position of the articulated robot and the relative positional relationship between the tip position and a target, and fourth environmental information including a target position which is the target position for the tip position of the articulated robot, an estimation function that inputs the axis information, first environmental information and target position received by the reception function into the learning model to estimate the amount of rotation applied to each axis of the articulated robot, and an output function that outputs information indicating the amount of rotation for each axis of the articulated robot estimated by the estimation function.

[0009] In the estimation device described above, the fourth environmental information may further include information on the tip position of the articulated robot and the desired relative positional relationship between the tip position and the target.

[0010] Furthermore, in the estimation device described above, the first environmental information and the second environmental information may each further include, as information related to the driving of the articulated robot, information on objects placed around the articulated robot, information on the lifespan of the articulated robot's components, information on impacts generated when the articulated robot is driven, information on energy efficiency during driving, and information on interference detection with robots other than the articulated robot, and the third environmental information and the fourth environmental information may include information corresponding to the information related to the driving of the articulated robot included in the first environmental information and the second environmental information.

[0011] A learning device according to one aspect of the present invention includes: an acquisition unit that acquires axis information indicating the state of each axis of an articulated robot; first environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and a target; a second environmental information including the amount of rotation applied to each axis of the articulated robot and information on the tip position of the articulated robot and the relative positional relationship between the tip position and a target when each axis is rotated by the amount of rotation relative to the articulated robot in the state indicated by the axis information; a learning unit that learns information associating the amount of rotation with the axis information, first environmental information, and second environmental information acquired by the acquisition unit as training data and generates a learning model; and a storage control unit that stores the learning model in a storage unit.

[0012] Furthermore, a learning method according to one aspect of the present invention involves a computer performing an acquisition step in which it acquires: axis information indicating the state of each axis of an articulated robot; first environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and a target; the amount of rotation applied to each axis of the articulated robot; and second environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and a target when each axis is rotated by the amount of rotation relative to the articulated robot in the state indicated by the axis information; a learning step in which the computer acquires the axis information, the first environmental information, and the second environmental information acquired in the acquisition step, and associates the amount of rotation with them as training data, and generates a learning model; and a storage control step in which it stores the learning model in a storage step.

[0013] Furthermore, a learning program according to one aspect of the present invention provides a computer with an acquisition function that acquires: an acquisition function that acquires: axis information indicating the state of each axis of an articulated robot; first environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and a target; the amount of rotation applied to each axis of the articulated robot; and second environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and a target when each axis is rotated by the amount of rotation relative to the state of the articulated robot indicated by the axis information; a learning function that learns the information obtained by the acquisition function, the first environmental information, and the second environmental information, as training data, and generates a learning model; and a memory control function that stores the learning model in a memory function.

[0014] In the above-described learning device, the articulated robot is a robot in a virtual space, the learning device includes a simulation unit that drives the articulated robot in the virtual space, the acquisition unit acquires axis information and first environment information in the virtual space from the simulation unit, the simulation unit drives the articulated robot in the virtual space by applying a predetermined amount of rotation to each axis of the articulated robot, and the acquisition unit acquires the predetermined amount of rotation as a rotation amount, as well as second environment information in the virtual space after the simulation unit has driven the articulated robot. [Effects of the Invention]

[0015] The estimation device can estimate the amount of rotation that should be applied to each axis of an articulated robot to reach the target position without using inverse kinematics, by utilizing a learning model that has learned the relationship between axis information indicating the state of each axis of an articulated robot, first environmental information including the position of the articulated robot's tip and the relative positional relationship between the tip and the target, and second environmental information including the amount of rotation applied to each axis of the articulated robot and the position of the articulated robot's tip and the relative positional relationship between the tip and the target when each axis is rotated by the amount of rotation for an articulated robot in the state indicated by the axis information. Furthermore, the learning device can generate a learning model capable of performing this estimation. [Brief explanation of the drawing]

[0016] [Figure 1] This is a block diagram showing an example of the configuration of an information processing device. [Figure 2] This figure shows an example of the appearance of a multi-joint robot. [Figure 3] This diagram illustrates the tip of a multi-joint robot and the direction of its tip position. [Figure 4] This flowchart shows an example of the operation involved in generating a learning model using an information processing device. [Figure 5] This flowchart shows an example of the operation related to estimation using a learning model of an information processing device. [Modes for carrying out the invention]

[0017] Hereinafter, an information processing device according to one embodiment of the present invention will be described in detail with reference to the drawings.

[0018] <Embodiment> <Structure> The information processing apparatus 100 according to the embodiment shown in FIG. 1 is a computer system that can control an articulated robot to move toward a target position (target posture) without using inverse kinematics. The information processing apparatus 100 may be an estimation device that estimates and outputs a rotation amount so as to be a target position (target posture) for each axis of the current articulated robot. The information processing apparatus 100 may be an estimation device that estimates and outputs a rotation amount within an overall operable range according to the environment based on the environment in which the articulated robot is placed. That is, the information processing apparatus 100 can also be configured as an estimation device that does not estimate a rotation amount that the articulated robot cannot rotate due to its configuration or the surrounding environment. As a result, since the information processing apparatus 100 can output a rotation amount that does not instruct the articulated robot 1 to perform unreasonable operations (it cannot actually operate in such a way), the possibility of causing failures or errors in the articulated robot 1 can be reduced. Further, the information processing apparatus 100 may be a learning device that generates a learning model used to realize the estimation.

[0019] The information processing apparatus 100 may control the articulated robot by the rotation amounts of the respective axes constituting the articulated robot. The information processing apparatus 100 may control an articulated robot in a virtual space (on a simulator) or may control a real articulated robot. In the present embodiment, an articulated robot in a virtual space is assumed.

[0020] Here, an articulated robot is a robot in which a plurality of axes are rotatably connected. For example, an industrial manipulator falls under this category. More specifically, for example, a welding robot or the like. An articulated robot basically performs a predetermined operation at its tip position. In order to perform the predetermined operation, the tip position is moved to a predetermined position in a predetermined posture. Operations performed by the articulated robot may include, but are not limited to, welding of an object, cutting of the object, picking up of the object, releasing, etc. The object may be the target that the articulated robot processes. As an example, it may be a vehicle body, but is not limited to this. The object may be referred to as a workpiece.

[0021] Note that in this embodiment, a welding robot is described as an example of the articulated robot. The articulated robot is, as an example, a six-axis robot, but is not limited to six axes.

[0022] Figure 2 shows an example of an articulated robot 1, which is a 6-axis robot and a welding robot. Here, we will explain articulated robot 1 as a 6-axis robot, but as mentioned above, it goes without saying that articulated robot 1 is not limited to a 6-axis robot. In a 6-axis robot, as shown in Figure 2, the first axis A1 rotates in the direction indicated by arrow R1, and the second axis A2 connected to the first axis A1 rotates in the direction indicated by arrow R2. As the arm M1 connected to the second axis A2 rotates around the second axis A2, the third axis A3 connected to the end of the arm M1 also moves. The third axis A3 rotates in the direction indicated by arrow R3. As the arm M2 connected to the third axis A3 rotates around the third axis A3, the fifth axis A5 connected to the end of the arm M2 also moves. Furthermore, the arm M2 rotates around the fourth axis A4 in the direction indicated by arrow R4. Consequently, the fifth axis A5 also rotates around the fourth axis A4. The fifth axis A5 is an axis that rotates in the direction indicated by arrow R5, and consequently, the arm M3 connected to the end of the fifth axis A5 also rotates. The arm M3 rotates around the sixth axis A6 in the direction indicated by arrow R6, and consequently, the tip position of the articulated robot 1 also rotates. The articulated robot 1 is basically the same as conventional ones, so a detailed explanation of its configuration will be omitted.

[0023] By rotating each of these axes, from the first axis A1 to the sixth axis A6, the articulated robot 1 can move the position of its end effector to any desired position. When controlling the actual articulated robot 1, the information processing device 100 may be connected to the articulated robot 1 via wired or wireless communication and function as a control computer capable of controlling the articulated robot 1.

[0024] As shown in Figure 1, the information processing device 100 according to this embodiment includes a storage unit 120 and a control unit 130, and may also include a communication unit 110, an input unit 140, and an output unit 150.

[0025] The communication unit 110 is a communication interface that communicates with external devices via a network, either by wire or wireless. The communication unit 110 receives information transmitted by external devices and transmits it to the control unit 130. The communication unit 110 also transmits specified information to a specified destination according to instructions from the control unit 130. For example, the communication unit 110 may receive training data from an external device that associates axis information indicating the state of each axis of the articulated robot, first environmental information including the tip position of the articulated robot and the relative positional relationship between the tip position and the target, and second environmental information including the amount of rotation applied to each axis of the articulated robot and the tip position of the articulated robot and the relative positional relationship between the tip position and the target when each axis is rotated by the amount of rotation relative to the state of the articulated robot indicated by the axis information, and transmit this training data to the control unit 130. Alternatively, the communication unit 110 may, as an example, receive and transmit to the control unit 130 information for estimating the movement of the articulated robot, including axis information indicating the state of each axis of the articulated robot, the tip position of the articulated robot, third environmental information indicating the relative positional relationship between the tip position and the target position, and fourth environmental information including information indicating the target position of the tip position of the articulated robot. The communication unit 110 may also transmit the learning model 121 to an external device in accordance with instructions from the control unit 130. Alternatively, the communication unit 110 may transmit to an external device information indicating the rotatable range of each axis as an estimation result from the learning model 121 in accordance with instructions from the control unit 130.

[0026] The memory unit 120 has the function of storing various programs and data necessary for the operation of the information processing device 100. The memory unit 120 can be implemented using various recording media, such as HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory, but is not limited to these. The memory unit 120 may also be implemented using cloud storage on a network. The memory unit 120 may store a program that simulates the operation of the articulated robot 1 in a virtual space, a learning program for learning the correspondence between axis information indicating the state of each axis of the articulated robot, first environment information including the tip position of the articulated robot and the relative positional relationship between the tip position and the target, the amount of rotation applied to each axis of the articulated robot, and second environment information including the tip position of the articulated robot and the relative positional relationship between the tip position and the target when each axis is rotated by the amount of rotation relative to the state of the articulated robot indicated by the axis information, and various control values ​​(signal values, parameter values, etc.) of the articulated robot 1. Furthermore, the memory unit 120 may store the learning model 121 generated by the information processing device 100 through learning. The learning model 121 may also be generated by an external device.

[0027] The learning model 121 may be a model that has learned the correspondence between axis information indicating the state of each axis of an articulated robot, first environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and the target, and the amount of rotation applied to each axis of the articulated robot, and second environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and the target when each axis is rotated by the amount of rotation for an articulated robot in the state indicated by the axis information. In other words, the learning model 121 may be a learning model that has learned using axis information indicating the state of each axis of an articulated robot, first environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and the target, and second environmental information including information on the tip position of the articulated robot and the relative positional relationship between the tip position and the target when each axis is rotated by a predetermined amount of rotation for an articulated robot in the state indicated by the axis information as causal variables, and a predetermined amount of rotation as an explanatory variable. Furthermore, the learning model 121 may learn the relationship between the amount of rotation that could actually be achieved, or simulated, from the state indicated by the axis information and the first environmental information to the state indicated by the second environmental information. That is, it may choose not to learn cases where it was not possible to achieve the state indicated by the second environmental information from the state indicated by the axis information and the first environmental information to the state indicated by the second environmental information (for example, when rotation was not possible at all, or when the robot came into contact with surrounding objects during the driving process). In this way, the learning model 121 does not learn the amount of rotation that the articulated robot 1 cannot actually drive, and therefore does not output the amount of rotation that the robot cannot actually perform.

[0028] Therefore, the learning model 121 may be a model that accepts inputs such as axis information indicating the state of each axis of an articulated robot, the current tip position of the articulated robot, third environmental information indicating the relative positional relationship between the tip position and a target, and fourth environmental information including a target position that is the target of the tip position, and estimates the amount of rotation to be given to each axis of the articulated robot in the state indicated by the axis information. The fourth environmental information may include not only the target position that is the target of the tip position of the articulated robot, but also information indicating the relative positional relationship between the desired tip position and the target when that target position is reached. The third environmental information corresponds to the first environmental information, and the fourth environmental information corresponds to the second environmental information, so by inputting this information and axis information, it is possible to estimate the amount of rotation to be given to each axis of the articulated robot so that it reaches the state indicated by the fourth environmental information from the state of the articulated robot indicated by the axis information and the third environmental information. The learning model 121 may be a model that estimates the amount of rotation to bring the tip position as close as possible to the target position indicated by the fourth environmental information, or it may be a model that estimates the amount of rotation so that the tip position is located within a predetermined distance from the target position indicated by the fourth environmental information. Furthermore, the learning model 121 may also output "Not applicable" if it cannot estimate the amount of rotation required to reach the target position indicated by the fourth environmental information.

[0029] The axis information may be information indicating how much each of the six axes (1st axis A1 to 6th axis A6) is rotated from its reference position, in the case of a 6-axis robot as shown in Figure 2.

[0030] Here, each axis may be capable of 360° rotation, but the range of rotation may be limited by contact between adjacent axes, contact with other non-adjacent axes due to rotation, or the presence of surrounding objects (walls, shelves, other robots or workers, etc.). In such cases, the amount of rotation cannot exceed that limited range. Each axis may be configured to rotate 180° in the positive direction and 180° in the negative direction from a reference position, for example, but if rotation is hindered, the range of rotation may be defined as, for example, 150° in the positive direction and 120° in the negative direction. The above-mentioned amount of rotation may be information indicating how many degrees to rotate the axis in either the positive or negative direction, or it may be information indicating a value obtained by normalizing the angle and converting it to a value within the range of -1 to +1. Therefore, the information on the amount of rotation includes information for all six axes, and may include information indicating no rotation (amount of rotation 0). Note that the amount of rotation may exceed 1 or -1.

[0031] To explain the environmental information, Figure 3 will be used to describe the relative positional relationship between the tip of the articulated robot 1 and the target.

[0032] Figure 3 is an enlarged view showing an example of the tip of the articulated robot 1 and the object to be welded. The object is not limited to the object to be welded; it can be anything that the articulated robot 1 works on. For example, if the articulated robot 1 is a painting robot, the object would be the object to be painted. Similarly, if the articulated robot 1 is a robot that grasps and transports objects, the object would be the object to be grasped. Furthermore, if the articulated robot 1 is a robot that cuts objects, the object would be the object to be cut. Figure 3 shows the articulated robot 1 and the object 30 to be processed. The target may be the object 30 to be processed, or it may be another object placed in a virtual space. In this specification, the tip position of the articulated robot 1 is the tip position 310 in Figure 3, and Figure 3 also shows the orientation 320 of the tip position of the articulated robot 1. In the illustrated example, the orientation 320 basically coincides with axis A5.

[0033] The tip position of the articulated robot 1 may be the coordinate value of the tip position 310 in virtual space. Alternatively, the tip position of the articulated robot 1 may be a real coordinate value in the real world, or a relative coordinate value set with the articulated robot 1 as the center in the real world. Furthermore, the information indicating the relative positional relationship between the tip position and the target may be, for example, the distance d1 to the target. Furthermore, the information indicating the relative positional relationship between the tip position and the target may be information indicating whether the tip position of the articulated robot 1 is facing the direction of the target, and in the illustrated example, it may be information indicating whether the vector indicated by direction 320 intersects with the object 30. In the example shown in Figure 3, an example is shown where the vector indicated by direction 320 intersects at point 301 on the object 30. Therefore, in this case, the information indicating the relative positional relationship between the tip position and the target may be information indicating that it is facing the direction of the target. Furthermore, when multiple objects are included in the virtual space, the information indicating the relative positional relationship between the tip position and the target may be information indicating which object it is facing. In this case, the information indicating the relative positional relationship between the tip position and the target may be information indicating that the tip is facing the direction of the object closest to it, even if it is facing the direction of multiple objects.

[0034] The information indicating the relative positional relationship between the tip position of the articulated robot 1 and the target is not limited to these examples. Any other form of information is acceptable as long as it allows for the definition of the relationship between the tip position of the articulated robot 1 and the object in the virtual space. The information indicating the relative positional relationship may be, for example, the rotation angles of each axis of the joints of the articulated robot 1, or information indicating the posture of the arms. The information indicating the posture of the arms may be information indicating the extension direction of each arm in the coordinate system in which the articulated robot 1 is located.

[0035] The control unit 130 is a processor that has the function of controlling each part of the information processing device 100. The control unit 130 realizes the functions of the information processing device 100 by reading and executing various programs stored in the storage unit 120.

[0036] The control unit 130 functions as a reception unit 131, an estimation unit 132, an output unit 133, an acquisition unit 134, a simulation unit 135, a learning unit 136, and a memory control unit 137.

[0037] The reception unit 131 receives, via the communication unit 110 or the input unit 140, axis information indicating the current state of each axis of the articulated robot, third environmental information including information on the current tip position of the articulated robot and the relative positional relationship between the tip position and the target, and fourth environmental information including information indicating the target position of the articulated robot's tip. As mentioned above, the fourth environmental information may include information indicating the relative positional relationship between the target position of the articulated robot's tip and the target, in addition to information indicating the target position. The reception unit 131 transmits the received axis information, third environmental information, and fourth environmental information to the estimation unit 132.

[0038] When the estimation unit 132 receives axis information, third environment information, and fourth environment information from the reception unit 131, it inputs the axis information, third environment information, and fourth environment information into the learning model 121 and estimates the amount of rotation that should be applied to each axis of the articulated robot in order for the tip position of the articulated robot to reach the target position indicated by the fourth environment information, based on the state indicated by the axis information and third environment information. The estimation unit 132 transmits the estimated amount of rotation for each axis to the output unit 133.

[0039] When the output unit 133 receives the amount of rotation for each axis from the estimation unit 132, it outputs information indicating the amount of rotation for each axis via the communication unit 110 or the output unit 150. This information may be output as numerical values ​​representing normalized information for axis rotations in the range of -1 to +1, or as information indicating the rotation angle.

[0040] The acquisition unit 134 acquires, via the communication unit 110 or the input unit 140, axis information indicating the state of each axis of the articulated robot, the amount of rotation applied to each axis of the articulated robot, first environmental information including the tip position of the articulated robot in the state indicated by the axis information and the relative positional relationship between the tip position and the target, and second environmental information including the tip position of the articulated robot when each axis is rotated by the amount of rotation relative to the articulated robot in the state indicated by the axis information and the relative positional relationship between the tip position and the target. The acquisition unit 134 may also acquire this information from the simulation unit 135. The acquisition unit 134 transmits the acquired information to the learning unit 136.

[0041] The simulation unit 135 can place various objects, such as the articulated robot 1 and the object 30 that the articulated robot 1 will process, in a virtual space and perform motion simulations of the articulated robot 1. Therefore, the simulation unit 135 can output information about the articulated robot 1 and the object 30 in the virtual space. Specifically, in one motion of the articulated robot 1, the simulation unit 135 can output axis information indicating the state of each axis of the articulated robot at the start of the motion, and first environment information including information about the tip position of the articulated robot at that time and the relative positional relationship between the tip position and the target. Furthermore, the simulation unit 135 can drive the articulated robot 1 by applying a predetermined amount of rotation to each axis of the articulated robot 1. Therefore, the simulation unit 135 can output second environment information including information about the tip position of the articulated robot 1 in the virtual space after driving when a predetermined amount of rotation is applied to the articulated robot 1 in the state of the axis information and the first environment information, and information indicating the relative positional relationship between the tip position and the target, and can also output the amount of rotation at that time.

[0042] The learning unit 136 learns the correspondence between axis information indicating the state of each axis of the articulated robot, first environmental information including the tip position of the articulated robot and the relative positional relationship between the tip position and the target, and second environmental information including the amount of rotation applied to each axis of the articulated robot and the tip position of the articulated robot and the relative positional relationship between the tip position and the target when each axis is rotated by the amount of rotation relative to the state of the articulated robot indicated by the axis information. In other words, the learning unit 136 learns information that associates the amount of rotation with the axis information, first environmental information, and second environmental information as training data. To put it another way, the learning unit 136 generates a learning model 121 by performing learning with the axis information, first environmental information, and second environmental information as causal variables and the amount of rotation as an explanatory variable. For learning, for example, PPO (Proximal Policy Optimization), SAC (Soft Actor Critic), neural networks, and support vector machines can be used, but are not limited to these. The learning unit 136 generates a learning model 121 through learning.

[0043] The memory control unit 137 stores the learning model 121 generated by the learning unit 136 in the memory unit 120.

[0044] The input unit 140 receives input from the user of the information processing device 100 and transmits it to the control unit 130. The input unit 140 may be implemented, for example, by an input interface connected to the information processing device 100 (e.g., a keyboard, mouse, touch panel, etc.). Alternatively, the input unit 140 may be implemented, for example, by a microphone that accepts voice input.

[0045] The output unit 150 outputs specified information according to instructions from the control unit 130. The output unit 150 may be implemented as a monitor provided on the information processing device 100, or as an output port that outputs to a monitor connected to the information processing device 100. Alternatively, it may be implemented by providing audio notification through a speaker. As an example, the output unit 150 may output by displaying text data or an image showing the amount of rotation to be applied to each axis estimated by the learning model 121. As another example, the output unit 150 may output the amount of rotation to be applied to each axis estimated by the learning model 121 to the articulated robot 1 to drive the articulated robot 1.

[0046] The above is a description of the configuration of the information processing device 100.

[0047] <Operation> From here, we will explain the operation of the information processing device 100. First, we will use Figure 4 to explain an example of the operation of the information processing device 100 when it is operating as a learning device. Figure 4 is a flowchart of the learning process of the information processing device 100.

[0048] As shown in Figure 4, the acquisition unit 134 of the control unit 130 acquires axis information indicating the state of each axis of the articulated robot, the amount of rotation applied to each axis of the articulated robot, first environmental information including the tip position of the articulated robot in the state indicated by the axis information and the relative positional relationship between the tip position and the target, and second environmental information including the tip position of the articulated robot when each axis is rotated by the amount of rotation relative to the articulated robot in the state indicated by the axis information and the relative positional relationship between the tip position and the target. The acquisition unit 134 may acquire this information from an external device via the communication unit 110, or it may acquire this information from an information processing device 100 via the input unit 140, or it may acquire this information from the simulation unit 135. The acquisition unit 134 transmits this information to the learning unit 136 (step S401).

[0049] The learning unit 136, based on the information transmitted from the acquisition unit 134, learns information that associates rotation amounts with axis information, first environment information, and second environment information as training data, and generates a learning model 121 (step S402). That is, the learning unit 136 learns using axis information, first environment information, and second environment information as causal variables, and the amount of rotation given to each axis of the articulated robot 1 to move the articulated robot 1 from the state indicated by the axis information and first environment information to the state indicated by the second environment information as explanatory variables. The amount of rotation used for learning may be the amount of rotation that was actually achieved.

[0050] The memory control unit 137 stores the learning model 121 generated by the learning unit 136 in the memory unit 120 (step S403), and terminates the process. The learning model 121 may also be output by the output unit 133 in a manner that allows it to be transmitted to an external device.

[0051] Next, using Figure 5, we will explain an example of the operation of the information processing device 100 when it is operating as an estimation device. Figure 5 is a flowchart of the estimation process of the information processing device 100.

[0052] As shown in Figure 5, the receiving unit 131 of the information processing device 100 receives axis information indicating the state of each axis of the articulated robot (amount of rotation from the reference position), information on the tip position of the articulated robot, and third environmental information indicating the relative positional relationship between the tip position and the target (step S501). The receiving unit 131 transmits the received information to the estimation unit 132.

[0053] Furthermore, the reception unit 131 receives fourth environmental information, including information indicating the target position of the tip of the articulated robot 1 (step S502), and transmits it to the estimation unit 132.

[0054] The estimation unit 132 inputs the axis information, third environment information, and fourth environment information received from the reception unit 131 into the learning model 121 to estimate the amount of rotation to be applied to each axis of the articulated robot 1 (step S503). This amount of rotation is the amount of rotation required to move the tip position of the articulated robot 1 from the state indicated by the received axis information and third environment information to the position indicated by the fourth environment information.

[0055] The output unit 133 outputs information indicating the amount of rotation to be applied to each axis estimated by the estimation unit 132 (step S504), and then terminates the process. The above describes the operation of the information processing device 100 during learning.

[0056] <Summary> According to the information processing device 100 shown in the above embodiment, it is possible to generate a learning model that learns the correspondence between axis information indicating the state of each axis of the articulated robot, first environmental information indicating the tip position of the articulated robot at that time and the relative positional relationship between the tip position and the target, the amount of rotation applied to the articulated robot, and second environmental information indicating the tip position of the articulated robot after driving based on the amount of rotation and the relative relationship between the tip position and the target. Furthermore, by using this learning model, the information processing device 100 can input the current axis information of the articulated robot, the tip position of the articulated robot in the state indicated by the axis information, third environmental information indicating the relative positional relationship between the tip position and the target, and fourth environmental information including information indicating the target position of the tip position of the articulated robot, and estimate the amount of rotation that should be applied to each axis that the articulated robot can rotate from that state. This amount of rotation is an amount that the articulated robot can rotate smoothly and reliably, so it is possible to prevent errors caused by applying an unreasonable amount of rotation to the actual or simulated articulated robot 1. Furthermore, while developing complex programs is necessary to achieve pathfinding and obstacle avoidance using inverse kinematics, this information processing device 100 enables posture search of a multi-joint robot without the need for such complex program development.

[0057] <Supplement> The information processing apparatus according to the above embodiment is not limited to the above embodiment and may be implemented by other methods. Various modifications will be described below.

[0058] (1) In the above embodiment, an example was described in which the information processing device 100 is a learning device capable of generating a learning model 121, and also functions as an estimation device that estimates the motion of a multi-joint robot using the learning model 121. However, the information processing device 100 may function only as a learning device, or it may function only as an estimation device that estimates the motion of a multi-joint robot using the learning model 121. In other words, both functions do not need to be realized within a single information processing device 100.

[0059] (2) In the above embodiment, the first environmental information (third environmental information) and the second environmental information (fourth environmental information) (hereinafter referred to only as environmental information) are not limited to information indicating the tip position of the articulated robot 1 and the relative positional relationship between the tip position and the target. The environmental information may be changed depending on the content to be learned by the learning model 121. For example, the environmental information may be any information related to the driving of the articulated robot 1. For example, it may be information about objects arranged around the articulated robot 1, indicating the relative positional relationship between the object and the tip position of the articulated robot 1. Alternatively, the environmental information may be any or more of the following: information about the lifespan of the parts of the articulated robot 1, information about friction between axes that occurs when the articulated robot is driven, information about impacts that may occur between the articulated robot 1 and surrounding objects, information about the energy efficiency when the articulated robot 1 is driven, and information about interference detection with robots other than the articulated robot. For example, if information on the lifespan of parts is learned as environmental information, the amount of life consumed by the change from the first environmental information (third environmental information) to the second environmental information (fourth environmental information) can be learned, and the amount of rotation of each axis that drives with less life consumption can be estimated. Alternatively, if the amount of energy consumed by the articulated robot 1 from the first environmental information (third environmental information) to the second environmental information (fourth environmental information) is learned as environmental information, the amount of energy consumed in various drives can be estimated, and as a result, the amount of rotation of each axis that is energy efficient (consumes less energy) can be estimated. Furthermore, if information on impact is learned, the range of rotation with less impact can be estimated, and if the presence or absence of interference is learned, the amount of rotation in a range where there is no interference (no contact) with surrounding objects or other articulated robots during driving can be estimated. In any case, the types of information included in the first environmental information (third environmental information) and the second environmental information (fourth environmental information) must correspond to each other.

[0060] (3) In the above embodiment, the learning unit 136 may perform reinforcement learning, acquiring each piece of information used for the training data each time the simulation unit 135 operates the articulated robot 1 and learning each time. The information processing device 100 can learn to drive many articulated robots without human intervention by automatically performing reinforcement learning, and thus can train the learning model 121 on its own.

[0061] (4) In the above embodiment, although not specifically described, the learning unit 136 may also receive and learn reward information regarding the operation when transitioning from the first environment information to the second environment information. Reward information, simply put, may be information indicating whether the transition is good or bad, and may be a score obtained as a result of assigning points according to various states. This score may be input by the user of the information processing device 100 from the input unit 140, or the control unit 130 may be made to execute a program that automatically evaluates the transition to perform the evaluation. In this case, both cases in which rotation was actually successful and cases in which rotation was not actually successful may be learned, and in this case, if the score for the former is set high and the score for the latter is set low, the learning model 121 can be prevented from estimating and outputting an amount of rotation that the articulated robot 1 cannot actually rotate based on the level of this score.

[0062] (5) In the above embodiment, learning and estimation are performed by the processor of the information processing device executing a program, but this may be realized by logic circuits (hardware) or dedicated circuits formed on an integrated circuit (IC (Integrated Circuit) chip, LSI (Large Scale Integration)) etc. in the device. Furthermore, these circuits may be realized by one or more integrated circuits, and the functions of the multiple functional units shown in the above embodiment may be realized by a single integrated circuit. Depending on the degree of integration, LSIs may be called VLSI, super LSI, ultra LSI, etc. That is, each functional unit constituting the information processing device 100 shown in Figure 1 may be realized by a physical circuit.

[0063] Furthermore, the above program may be recorded on a recording medium readable by the processor, and the recording medium can be a "non-temporary tangible medium," such as tape, disk, card, semiconductor memory, or programmable logic circuit. The above program may also be supplied to the processor via any transmission medium capable of transmitting the program (such as a communication network or broadcast wave). The present invention can also be realized in the form of a data signal embedded in a carrier wave, in which the above program is embodied by electronic transmission.

[0064] The above program can be implemented using, but is not limited to, scripting languages ​​such as ActionScript and JavaScript®, object-oriented programming languages ​​such as Objective-C, Java®, and Python®, and markup languages ​​such as HTML5.

[0065] (6) The configurations shown in the above embodiments and supplements may be combined as appropriate. [Explanation of Symbols]

[0066] 1. Multi-joint robot 100 Information Processing Devices 110 Communications Department 120 Storage section 130 Control Unit 131 Reception Department 132 Estimation Department 133 Output section 134 Acquisition Department 135 Simulation Department 136 Learning Department 137 Memory Control Unit 140 Input section 150 Output section

Claims

1. A storage unit that stores a learning model that has learned the relationship between axis information indicating the state of each axis of a multi-joint robot, first environmental information including information on the tip position of the multi-joint robot and the relative positional relationship between the tip position and a target, the amount of rotation applied to each axis of the multi-joint robot, and second environmental information including information on the tip position of the multi-joint robot and the relative positional relationship between the tip position and a target when each axis is rotated by the amount of rotation relative to the multi-joint robot in the state indicated by the axis information, A receiving unit that receives input of axis information indicating the current state of each axis of the articulated robot, third environmental information including the current tip position of the articulated robot and the relative positional relationship between the tip position and the target, and fourth environmental information including the target position which is the target of the tip position of the articulated robot. An estimation unit inputs the axis information, first environmental information, and target position received by the reception unit into the learning model to estimate the amount of rotation to be applied to each axis of the articulated robot. An output unit that outputs information indicating the amount of rotation of each axis of the articulated robot estimated by the estimation unit, An estimation device equipped with the following features.

2. The fourth environmental information further includes information on the tip position of the articulated robot and the desired relative positional relationship between the tip position and the target. The estimation device according to feature 1.

3. Each of the first and second environmental information further includes, as information related to the driving of the articulated robot, any of the following: information about objects arranged around the articulated robot, information about the lifespan of the articulated robot's components, information about the impacts generated when the articulated robot is driven, information about the energy efficiency during driving, and information about interference detection with robots other than the articulated robot. The third and fourth environmental information includes information corresponding to the information involved in driving the articulated robot, which is included in the first and second environmental information. The estimation device according to claim 1 or 2.

4. Computers A storage step for storing a learning model that has learned the relationship between axis information indicating the state of each axis of a multi-joint robot, first environmental information including information on the tip position of the multi-joint robot and the relative positional relationship between the tip position and a target, the amount of rotation applied to each axis of the multi-joint robot, and second environmental information including information on the tip position of the multi-joint robot and the relative positional relationship between the tip position and a target when each axis is rotated by the amount of rotation relative to the multi-joint robot in the state indicated by the axis information, A reception step that receives input including axis information indicating the current state of each axis of the articulated robot, third environmental information including the current tip position of the articulated robot and the relative positional relationship between the tip position and the target, and fourth environmental information including the target position which is the target of the tip position of the articulated robot. The estimation step involves inputting the axis information, first environmental information, and target position received in the reception step into the learning model to estimate the amount of rotation to be applied to each axis of the articulated robot. An output step which outputs information indicating the amount of rotation of each axis of the articulated robot estimated in the estimation step, An estimation method for performing this.

5. On the computer, A memory function that stores a learning model that has learned the relationship between axis information indicating the state of each axis of a multi-joint robot, first environmental information including information on the tip position of the multi-joint robot and the relative positional relationship between the tip position and the target, the amount of rotation applied to each axis of the multi-joint robot, and second environmental information including information on the tip position of the multi-joint robot and the relative positional relationship between the tip position and the target when each axis is rotated by the amount of rotation relative to the multi-joint robot in the state indicated by the axis information, A reception function that accepts input of axis information indicating the current state of each axis of the articulated robot, third environmental information including the current tip position of the articulated robot and the relative positional relationship between the tip position and the target, and fourth environmental information including the target position which is the target of the tip position of the articulated robot. The aforementioned reception function inputs the axis information, first environmental information, and target position received by the reception function into the learning model, and the estimation function estimates the amount of rotation to be applied to each axis of the articulated robot. The estimation function outputs information indicating the amount of rotation of each axis of the articulated robot, and An estimation program that achieves this.

6. An acquisition unit that acquires axis information indicating the state of each axis of a multi-joint robot, first environmental information including information on the tip position of the multi-joint robot and the relative positional relationship between the tip position and a target, the amount of rotation applied to each axis of the multi-joint robot, and second environmental information including information on the tip position of the multi-joint robot and the relative positional relationship between the tip position and a target when each axis is rotated by the amount of rotation relative to the multi-joint robot in the state indicated by the axis information, A learning unit learns information that associates the axis information acquired by the acquisition unit, the first environmental information, and the second environmental information with the amount of rotation as training data, and generates a learning model. A memory control unit that stores the aforementioned learning model in a memory unit, A learning device equipped with the following features.

7. The aforementioned articulated robot is a robot in a virtual space, The learning device includes a simulation unit that drives the articulated robot in the virtual space, The acquisition unit acquires the axis information and the first environment information in the virtual space from the simulation unit. The simulation unit drives the articulated robot in the virtual space by applying a predetermined amount of rotation to each axis of the articulated robot. The acquisition unit acquires the predetermined rotation amount as the rotation amount, and the simulation unit acquires the second environmental information in the virtual space after the articulated robot has been driven. The learning device according to feature 6.

8. Computers An acquisition step to acquire: axis information indicating the state of each axis of a multi-joint robot; first environmental information including information on the tip position of the multi-joint robot and the relative positional relationship between the tip position and a target; the amount of rotation applied to each axis of the multi-joint robot; and second environmental information including information on the tip position of the multi-joint robot and the relative positional relationship between the tip position and a target when each axis of the multi-joint robot is rotated by the amount of rotation relative to the state indicated by the axis information; A learning step involves learning the information obtained in the acquisition step, the first environmental information, and the second environmental information, and as training data by associating the rotation amount with this information, and generating a learning model. A memory control step that causes the learning model to be stored in a memory step, A learning method that executes this.

9. On the computer, An acquisition function that acquires axis information indicating the state of each axis of a multi-joint robot, first environmental information including information on the tip position of the multi-joint robot and the relative positional relationship between the tip position and the target, the amount of rotation applied to each axis of the multi-joint robot, and second environmental information including information on the tip position of the multi-joint robot and the relative positional relationship between the tip position and the target when each axis is rotated by the amount of rotation relative to the multi-joint robot in the state indicated by the axis information. A learning function that learns information obtained by associating the axis information acquired by the acquisition function, the first environmental information, and the second environmental information with the amount of rotation as training data, and generates a learning model. A memory control function that stores the aforementioned learning model in the memory function, A learning program that makes this a reality.

Citation Information

Patent Citations

  • Simulation device and program

    JP2021142595A