Automatic path generation device

An automatic path generation device includes a preprocessing unit creating teacher data based on a temporary motion path which is a motion path between a plurality of motion points where a robot moves and which is automatically generated with a motion planning algorithm and an actual motion path which is a motion path between the motion points and which is created by a skilled worker and a motion path learning unit generating a learned model which has learned a difference between the temporary motion path and the actual motion path with teacher data created by the preprocessing unit.

RELATED APPLICATIONS

The present application claims priority to Japanese Patent Application Number 2018-134515 filed Jul. 17, 2018, the disclosure of which is hereby incorporated by reference herein in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present disclosure relates to an automatic path generation device.

2. Description of the Related Art

The motion path at a time when a robot performing spot welding or arc welding moves (time series data indicating, for example, the coordinate value and the velocity of each axis of the robot determining a welding tool position or a welding tool posture) is generated by teaching from a worker. In some cases, the robot's motion path is automatically generated by a motion planning algorithm such as a rapidly exploring random tree (RRT) and based on given data indicating a hit point position on a workpiece and workpiece or jig shape data given as CAD data (for example, Re-publication of PCT International Publication No. 2017/119088 A1). Also present is an algorithm automatically generating a motion path based on a robot motion model.

Created in a case where the robot's movement path is automatically generated is, for example, a motion path for sequentially moving the robot to the hit point position where welding should be performed while avoiding the workpiece or a jig that hinders the robot's motion in the spot welding. In a case where the motion path is automatically generated, however, the robot's posture at the previous hit point position, the robot's efficient movement during workpiece or jig avoidance, and the load that is applied to the robot's axis (joint), and the like are not considered. A skilled worker manually teaches the robot a motion path in view of various such factors affecting the robot's efficient motion. The manual teaching, however, is burdensome on the worker's part. Besides, the manual teaching is time-consuming, and thus a problem arises in the form of an increase in cycle time. This problem arises in the other robots including handling robots as well as welding robots.

An object of the present disclosure is to provide an automatic path generation device automatically generating an efficient motion path for a robot motion.

SUMMARY OF THE INVENTION

An automatic path generation device of one embodiment of the present disclosure automatically generates a motion path (hereinafter, referred to as temporary motion path) based on the position of a motion point where a robot performs any motion (such as a hit point position in spot welding) and the shape of an interference object such as a workpiece and a jig and by means of a motion planning algorithm such as RRT. The automatic path generation device has a machine learning device. A skilled worker manually creates a motion path (hereinafter, referred to as actual motion path). The machine learning device learns the correlation between the temporary motion path and the actual motion path based on the actual motion path and the automatically generated motion path. Here, the motion path manually created by the skilled worker is a motion path that the skilled worker creates based on the position of a motion point and the shape of an interference object identical to the position of the motion point and the shape of the interference object that the motion planning algorithm uses in order to generate the motion path. The automatic path generation device estimates the actual motion path from the temporary motion path by using the machine learning device that has learned the correlation between the temporary motion path and the actual motion path. The temporary motion path is automatically generated by the motion planning algorithm and is not ideal as a motion path. The machine learning device learns the difference between the temporary motion path and the actual motion path and automatically estimates the actual motion path from the temporary motion path. As a result, the automatic path generation device is capable of automatically deriving an efficient motion path.

An aspect of the present disclosure relates to an automatic path generation device generating a motion path of a robot. The automatic path generation device includes a preprocessing unit creating teacher data based on a temporary motion path which is a motion path between a plurality of motion points where the robot moves and which is automatically generated with a motion planning algorithm and an actual motion path which is a motion path between the motion points and which is created by a skilled worker and a motion path learning unit generating a learned model which has learned a difference between the temporary motion path and the actual motion path with teacher data created by the preprocessing unit.

Another aspect of the present disclosure relates to an automatic path generation device generating a motion path of a robot. The automatic path generation device includes a learning model storage unit storing a learned model which has learned a difference between a temporary motion path which is a motion path between a plurality of motion points where the robot moves and which is automatically generated with a motion planning algorithm and an actual motion path which is a motion path between the motion points and which is created by a skilled worker and a motion path estimation unit estimating an actual motion path of the robot based on a temporary motion path of the robot automatically generated with a motion planning algorithm and a learned model stored in the learning model storage unit.

With the present disclosure, it is possible to automatically generate an efficient motion path of a robot in welding performed by means of the robot.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereinafter, embodiments of the present disclosure will be described with reference to accompanying drawings. An automatic path generation device according to the present embodiment will be described below as a device generating a robot's motion path in spot welding. In this case, the position of the robot's motion point is, for example, a hit point position in the spot welding and interference objects include a workpiece and a jig.

FIG. 1is a schematic hardware configuration diagram illustrating the automatic path generation device according to one embodiment. An automatic path generation device1is implemented in, for example, a controller controlling the robot. The automatic path generation device1is implemented in a personal computer put aside the robot and the robot controller, and a computer such as a cell computer, a host computer, an edge server, and a cloud server connected to the robot controller by means of a wired/wireless network. In the present embodiment, the automatic path generation device1is implemented in the controller controlling the robot.

The automatic path generation device1of the present embodiment has a function used for general robot control. The automatic path generation device1is connected to a robot2via an interface19and controls the robot2. The robot2has at least one link (movable portion) and at least one joint. The robot2is, for example, a six-axis articulated type robot. The robot2includes a tool such as a C gun, an X gun, and a laser for performing welding such as spot welding, arc welding, and laser welding. The robot2may grip the workpiece and weld the workpiece by changing the position of the gripped workpiece with respect to the welding tool fixed at a predetermined position.

The automatic path generation device1includes a machine learning device100in which the motion path of the robot2during the welding is machine-learned in advance. The automatic path generation device1controls the robot2and performs the workpiece welding in accordance with the result of estimation of the optimum motion path of the robot2output from the machine learning device100based on the result of the machine learning. The detailed configuration of the robot2is already known, and thus will not be described in detail in the present specification.

A CPU11of the automatic path generation device1is a processor controlling the automatic path generation device1as a whole. The CPU11reads the system program that is stored in a ROM12via a bus20. The CPU11controls the entire automatic path generation device1in accordance with the read system program. A RAM13temporarily stores temporary calculation and display data, various data input by a worker via an input device71, and the like.

A memory, an SSD, or the like backed up by a battery (not illustrated) constitutes a nonvolatile memory14. Accordingly, the storage state of the nonvolatile memory14is maintained even after the automatic path generation device1is turned off. The nonvolatile memory14has a setting area in which setting information related to the operation of the automatic path generation device1is stored. The nonvolatile memory14stores, for example, CAD data or a control program for the robot2input from the input device71and CAD data or a control program for the robot2read from an external storage device (not illustrated). The program and various data stored in the nonvolatile memory14may be loaded in the RAM13during execution/use. Various system programs (including a system program for controlling communication with the machine learning device100(described later)) such as a known analysis program are pre-written in the ROM12.

A display device70displays, for example, each data read into the memory and data obtained as a result of program execution. Data and the like output from the machine learning device100(described later) are input to the display device70via an interface17and displayed by the display device70. A keyboard, a pointing device, and the like constitute the input device71. The input device71receives data, a command, and the like based on an operation conducted by the worker and delivers the data, the command, and the like to the CPU11via an interface18.

An interface21is an interface for connecting the machine learning device100with each unit of the automatic path generation device1. The machine learning device100includes a processor101controlling the machine learning device100as a whole and a ROM102storing a system program and the like. The machine learning device100further includes a RAM103for performing temporary storage in each processing related to machine learning and a nonvolatile memory104used for a learning model or the like to be stored. The machine learning device100observes each piece of information (such as the room temperature that is set via the input device71and the state quantity of each motor that is acquired from the robot2) that can be acquired by the automatic path generation device1via the interface21. Each unit of the automatic path generation device1acquires a processing result from the machine learning device100via the interface21.

FIG. 2is a schematic functional block diagram in the learning mode of the machine learning device100of the automatic path generation device1according to a first embodiment. The function of each functional block illustrated inFIG. 2is realized by the CPU11of the automatic path generation device1illustrated inFIG. 1and the processor101of the machine learning device100executing the respective system programs of the CPU11and the processor101and controlling the operation of each unit of the automatic path generation device1and the machine learning device100.

The automatic path generation device1includes a control unit30, a preprocessing unit34, and a motion path learning unit38. The control unit30controls the robot2. The preprocessing unit34creates teacher data used for the machine learning that is executed by the machine learning device100. The teacher data is created based on a control program50including information indicating a motion path created by teaching from the worker and CAD data52including shape information on the workpiece and the jig to be welded. The motion path learning unit38learns the motion path of the robot2by using the teacher data created by the preprocessing unit34.

The control unit30controls the robot2based on the control operation that the worker performs on an operation board (not illustrated), the control program that is stored in the nonvolatile memory14or the like, the motion path that is output from the machine learning device100, or the like. The control unit30has a function for general control required for each unit of the robot2to be controlled. In a case where each axis (joint) of the robot2is moved, for example, the control unit30outputs command data indicating the amount of change in axis angle for each control cycle to the motor that drives the axis. The control unit30acquires the motor state quantities (such as the current value, the position, the velocity, the acceleration, and the torque) of each motor of the robot2and uses the acquired motor state quantities in controlling the robot2.

The preprocessing unit34is functional means for creating teacher data T used for supervised learning, which is a machine learning method, based on the control program50and the CAD data52and outputting the teacher data T to the machine learning device100. The control program50includes information indicating a motion path created by teaching from a skilled worker. The CAD data52includes the shape information on the workpiece and the jig to be welded. The preprocessing unit34calculates the motion path of the robot2(hereinafter, referred to as temporary motion path) by using a known motion planning algorithm (such as an RRT) and based on the spot welding hit point position information extracted from the control program50and the workpiece and jig position information included in the CAD data52. The preprocessing unit34creates the teacher data and outputs the teacher data to the machine learning device. In the teacher data, data related to the calculated motion path is input data and output data is data related to the motion path extracted from the control program50and created by teaching from the worker (hereinafter, referred to as actual motion path). Each of the temporary motion path and the actual motion path is, for example, hit point-related information, information related to an inter-hit point midpoint, and time series data on the operation parameters of the robot2between the hit point and the midpoint. The motion parameters are, for example, time series data on the motion parameters indicating the velocity, the acceleration, the smoothness, and the like of each axis. Each of the temporary motion path and the actual motion path is hit point-related information, information related to an inter-hit point midpoint, and time series data on the motion parameters of the tool gripped by the robot2between the hit point and the midpoint. The motion parameters in this case may be, for example, time series data on the motion parameters indicating, for example, the velocity, the acceleration, and the smoothness of the position of the tool gripped by the robot2.

FIG. 3is a diagram illustrating an example of the motion path for moving between the hit point positions of the workpiece. InFIG. 3, the welding tool is attached to the hand of the robot2. The welding tool performs welding on hit point positions P1and P2of the workpiece under the control of the control unit30. When the welding tool is moved from the hit point position P1to the hit point position P2, a motion path that does not interfere with the jig needs to be generated.FIG. 3illustrates a motion path in which the welding tool sequentially moves to the hit point position P1, a midpoint P1-1, a midpoint P1-2, and the hit point position P2. In a case where each axis of the robot2moves in accordance with the three motion parameters of velocity, acceleration, and smoothness (in position) during the movement between the respective hit point and midpoint positions, the motion path from the hit point position P1to the hit point position P2is defined by the position of each axis of the robot2(or the position of the tool) at each hit point and midpoint position, the velocity, the acceleration, and the smoothness of each axis during the movement from the hit point position P1to the midpoint P1-1, the velocity, the acceleration, and the smoothness of each axis during the movement from the midpoint P1-1to the midpoint P1-2, and the velocity, the acceleration, and the smoothness of each axis during the movement from the midpoint P1-2to the hit point position P1-2. Such time series data is created with regard to the temporary motion path and the actual motion path. The teacher data T is created by the temporary motion path being used as input data and the actual motion path being used as output data.

The preprocessing unit34may create the single teacher data T from the entire motion path (temporary and actual motion paths) of the robot2. The preprocessing unit34may create single teacher data Ti from the partial motion path between two hit point positions Pi and Pj in the entire motion path (temporary and actual motion paths) and create a plurality of teacher data T1to Tn (n being a positive integer) respectively corresponding to the partial motion path from the entire motion path of the robot2. The preprocessing unit34may create teacher data as follows. The preprocessing unit34creates teacher data Tj in which the partial motion path between four hit point positions Pi to P1in the entire temporary motion path is single input data and the partial motion path between Pj and Pk in the actual motion path is single output data corresponding to the input data. The preprocessing unit34creates the plurality of teacher data T1to Tn (n being a positive integer) respectively corresponding to the partial motion path from the entire motion path of the robot2(In a case where the teacher data is created in this manner, a predetermined fixed value such as 0 may be defined for partial input data that cannot be defined from the temporary motion path at the movement initiation and termination positions of the robot2). As described above, the teacher data may be appropriately set in accordance with how the learning model is defined.

The motion path learning unit38is functional means for performing supervised learning using the teacher data created by the preprocessing unit34and generating (learning) a learned model used for estimating the actual motion path from the temporary motion path. The motion path learning unit38may use, for example, a neural network as a learning model. In this case, the motion path learning unit38performs supervised learning in which data related to the temporary motion path included in the teacher data created by the preprocessing unit34is input data and data related to the actual motion path is output data. A neural network provided with the three layers of an input layer, an intermediate layer, and an output layer may be used as the learning model. A so-called deep learning method using a neural network of three or more layers may be used as the learning model. Effective learning and inference are performed as a result.

The learning that is conducted by the motion path learning unit38is performed in a case where the automatic path generation device1functions as a learning mode. In the learning mode, the automatic path generation device1acquires various control programs50and CAD data52via an external device such as a USB device (not illustrated) or a wired/wireless network (not illustrated). The automatic path generation device1performs learning based on the various acquired control programs50and CAD data52. The automatic path generation device1generates the learned model for estimating the actual motion path from the temporary motion path. Then, the learned model generated by the motion path learning unit38is stored in a learning model storage unit46provided on the nonvolatile memory104. The learned model is used for the estimation of the actual motion path by a motion path estimation unit40(described later).

The automatic path generation device1configured as described above generates, based on the control program50and the CAD data52, the learned model that has learned the actual motion path (motion path created by teaching from the skilled worker) corresponding to the temporary motion path (motion path automatically created by the motion planning algorithm or the like). The control program50includes information indicating the motion path created by teaching from the skilled worker. The CAD data includes the shape information on the workpiece and the jig to be welded.

A modification example of the automatic path generation device1of the present embodiment is illustrated inFIG. 4. The preprocessing unit34creates the teacher data T based on the control program50including the motion path created by teaching from the skilled worker and a temporary motion path data54including a motion path automatically created by a motion path algorithm or the like and outputs the teacher data T to the machine learning device100. In this case, the worker creates the temporary motion path data54based on the hit point position and the CAD data by using an external device or the like and the created temporary motion path data54is read by the automatic path generation device1along with the control program50. Generated as a result is the learned model that has learned the actual motion path (motion path created by teaching from the skilled worker) corresponding to the temporary motion path (motion path automatically created by the motion planning algorithm or the like).

Another modification example of the automatic path generation device1of the present embodiment is illustrated inFIG. 5. The preprocessing unit34creates the teacher data T based on the control program50including the motion path created by teaching from the skilled worker and outputs the teacher data T to the machine learning device100. As exemplified inFIG. 6, the preprocessing unit34in this case analyzes the actual motion path extracted from the control program50and created by teaching from the skilled worker. In a case where the path between the hit point position Pi and the hit point position Pj in the actual motion path is a bypass path (that is, in a case where the path is not a substantially straight line), the preprocessing unit34assumes that a virtual interference object is present at the position of an (preset) inside distance a of the motion path. The preprocessing unit34calculates the temporary motion path of the robot2by using a known motion planning algorithm (such as an RRT) in view of the assumed virtual interference object. The teacher data T is created in which the temporary motion path obtained as described above and the actual motion path are input data and output data, respectively. The teacher data T is output to the machine learning device100. The preprocessing unit34may be configured as a machine learner that has learned the temporary motion path corresponding to the actual motion path. In this case, the preprocessing unit34estimates the temporary motion path based on the actual motion path extracted from the control program50. The preprocessing unit34creates teacher data in which the estimated temporary motion path is input data and outputs the teacher data to the machine learning device100. With this configuration, it is possible to generate the learned model that has learned the actual motion path (motion path created by teaching from the skilled worker) corresponding to the temporary motion path (motion path automatically created by the motion planning algorithm or the like) is learned even in a case where only the control program50is present with the CAD data52absent.

FIG. 7is a schematic functional block diagram in the estimation mode of the machine learning device100of the automatic path generation device1according to a second embodiment. Each functional block illustrated inFIG. 7is realized by the CPU11of the automatic path generation device1illustrated inFIG. 1and the processor101of the machine learning device100executing the respective system programs of the CPU11and the processor101and controlling the operation of each unit of the automatic path generation device1and the machine learning device100.

In the estimation mode, the automatic path generation device1of the present embodiment estimates the actual motion path based on the temporary motion path data54. The automatic path generation device1controls the robot2based on the estimated actual motion path. The control unit30in the automatic path generation device1according to the present embodiment is similar in function to the control unit30in the automatic path generation device1according to the first embodiment.

The motion path estimation unit40performs actual motion path estimation using the learned model stored in the learning model storage unit46based on the temporary motion path data54acquired via an external device such as a USB device (not illustrated) or a wired/wireless network (not illustrated). As for the motion path estimation unit40of the present modification example, the learned model is the (parameter-determined) neural network generated by the supervised learning conducted by the motion path learning unit38. The motion path estimation unit40estimates (calculates) the actual motion path by inputting the temporary motion path data54as input data to the learned model. The actual motion path estimated by the motion path estimation unit40is output to the control unit30and used for the robot2to be controlled. In addition, the actual motion path estimated by the motion path estimation unit40may be used after, for example, display output to the display device70or transmission output to a host computer, a cloud computer, or the like via a wired/wireless network (not illustrated).

The automatic path generation device1of the present embodiment configured as described above performs motion path learning based on a plurality of teacher data obtained by the robot2performing motions of various patterns. The automatic path generation device1estimates an efficient motion path of the robot2by using a learned model in which a sufficient learning result is obtained.

FIG. 8is a schematic functional block diagram in the estimation mode of the machine learning device100of the automatic path generation device1according to a third embodiment. The function of each functional block illustrated inFIG. 8is realized by the CPU11of the automatic path generation device1illustrated inFIG. 1and the processor101of the machine learning device100executing the respective system programs of the CPU11and the processor101and controlling the operation of each unit of the automatic path generation device1and the machine learning device100. The control program50, the CAD data52, the temporary motion path data54, and the like are not illustrated inFIG. 8.

The automatic path generation device1of the present embodiment includes a simulation unit42simulating the motion of the robot2. The simulation unit42performs the simulation using the actual motion path that the motion path estimation unit40estimates based on the temporary motion path data54in the estimation mode. As a result of the motion simulation by the simulation unit42, interference may occur between the robot2or the welding tool and the workpiece or the jig on the estimated actual motion path. In this case, a motion path correction unit44changes the position of the midpoint of the estimated actual motion path or the like to a position where no interference occurs between the robot2or the welding tool and the workpiece or the jig (such as a position away by a predetermined distance set in advance from the object of interference). The changed actual motion path is input to the preprocessing unit34. The preprocessing unit34creates new teacher data T with the input actual motion path and the temporary motion path used for the actual motion path estimation. The new teacher data T is used for relearning with respect to the learned model.

The automatic path generation device1of the present embodiment corrects the actual motion path such that no interference occurs in a case where interference occurs on the estimated actual motion path. The automatic path generation device1constructs a more appropriate learned model by performing relearning by using the corrected actual motion path.

Although embodiments of the present disclosure have been described above, the present disclosure is not limited to the examples of the embodiments described above and can be implemented in various aspects by being changed as appropriate.

For example, the learning and arithmetic algorithms executed by the machine learning device100, the control algorithm executed by the automatic path generation device1, and the like are not limited to those described above and various algorithms can be adopted.

According to the description of the embodiments described above, the automatic path generation device1and the machine learning device100are devices having different CPUs. Alternatively, the machine learning device100may be realized by the system program stored in the ROM12and the CPU11of the automatic path generation device1.

In the embodiments exemplified above, the automatic path generation device1estimates the inter-hit point motion path in spot welding. The automatic path generation device1is capable of estimating a motion path at an air cut part in arc welding, laser welding, and the like as well. In other words, the automatic path generation device1is capable of estimating a motion path related to a welding tool movement between preceding and subsequent welding processes.

Also possible is application to automatic path generation for general robots. For example, in a handling robot (transport robot), the position of the motion point is a workpiece gripping position, a pre-workpiece transport position, or the like. In the handling robot, the interference object is, for example, another device present on a transport path. The automatic path generation device1estimates, for example, a motion path until workpiece gripping and a motion path during the workpiece movement to a movement destination that is subsequent to the workpiece gripping. In other words, the automatic path generation device1learns an efficient actual motion path created by a skilled worker corresponding to the temporary motion path automatically generated by the motion planning algorithm or the like and estimates an efficient actual motion path from the temporary motion path automatically generated by the motion planning algorithm or the like by using the result of the learning.