The present invention relates to an article stacking apparatus and a machine learning apparatus, and particularly to an apparatus for stacking articles using a robot and a machine learning apparatus.
Systems that use a robot to grip and transfer an article and to place articles flat or stack articles in layers are often used. In such a system, a pattern of places where articles to be transferred are placed is specified in advance, and a robot places articles in accordance with the pattern. One example of prior art techniques relating to the stacking of articles is disclosed in Japanese Patent Application Laid-Open No. 06-114770. In this technique, a pattern of places where workpieces to be transferred are placed is specified in advance, an appropriate pattern is selected in accordance with the outer shape of a workpiece that is being transferred, and the workpiece is loaded in the place which is appropriate for the workpiece.
However, in the case where articles should be stacked in different places in accordance with properties (such as size, shape, and weight) of the articles, for example, the case where large or heavy articles are stacked in lower layers or the case where articles having shapes that decrease stability are stacked in upper layers, workpieces cannot be simply stacked in accordance with a pattern.
Simple patterning is also difficult in the case where stacking in a pattern that is not preset in a system has an advantage such as good loading efficiency. For example, while a stacking pattern can be easily predefined for articles that are equal-sized cuboids, a pattern cannot be easily predefined for articles that have different sizes or that are not cuboids.
Further, in the case where information on all articles that need to be stacked cannot be obtained in advance, operation needs to be performed by making predictions for future possibilities. This is because even if an article can be immediately placed in a place, placing the article in the place may sometimes be undesirable. For example, when a relatively small-sized article comes and is stacked first, a large-sized article cannot be mounted on the foregoing article. In such a case, a measure such as temporarily placing an article before stacking the article at a final stacking position is needed.
Accordingly, an object of the present invention is to provide an article stacking apparatus and a machine learning apparatus which enable articles to be appropriately stacked in accordance with properties of articles and site situations.
To solve the above-described problems, an article stacking apparatus of the present invention includes a machine learning apparatus for learning an optimal stacking way in accordance with article information including, for example, properties of an article to be stacked. The machine learning apparatus performs learning using learning data acquired at a site where the article has already been stacked to learn an article stacking way that can change in accordance with properties of the article and site situations. The article stacking apparatus of the present invention conveys and stacks articles in accordance with the article stacking way outputted from the machine learning apparatus.
An article stacking apparatus of one aspect of the present invention controls a robot to stack a plurality of articles set in a setting area into a stacking area. The article stacking apparatus includes a machine learning apparatus for learning an estimate of a placement of an article to be stacked in the stacking area with respect to stacking status of the stacking area and information on the article. The machine learning apparatus includes: a state observation section for observing stacking status data indicating the stacking status of the stacking area and article information data indicating the information on the article to be stacked as a state variable representing a current environmental state; a label data acquisition section for acquiring article placement data indicating the placement of the article in the stacking area as label data; and a learning section for learning the article placement data in association with the stacking status data and the article information data using the state variable and the label data.
The article information data may include at least information on a plurality of articles.
The article placement data may further include information concerning a temporary placement of the article.
The learning section may include: an error calculation section for calculating an error between an output of a correlation model and a correlation feature using the state variable and the label data, the correlation model deriving the article placement data from the stacking status data and the article information data, the correlation feature being identified from teacher data prepared in advance; and a model update section for updating the correlation model to reduce the error.
The learning section may calculate the state variable and the label data using a multi-layer structure.
The machine learning apparatus may further include an estimation result output section for outputting a result of estimation of the placement of the article in the stacking area based on a result of learning by the learning section.
The machine learning apparatus may be on a cloud server.
The machine learning apparatus may perform learning using the state variable and the label data acquired by a plurality of article stacking apparatuses.
A machine learning apparatus of one aspect of the present invention learns an estimate of a placement of an article to be stacked in a stacking area with respect to stacking status of the stacking area and information on the article in work of stacking a plurality of articles set in a setting area into the stacking area. The machine learning apparatus includes: a state observation section for observing stacking status data indicating the stacking status of the stacking area and article information data indicating the information on the article to be stacked as a state variable representing a current environmental state; a label data acquisition section for acquiring article placement data indicating the placement of the article in the stacking area as label data; and a learning section for learning the article placement data in association with the stacking status data and the article information data using the state variable and the label data.
According to the present invention, an appropriate placement of an article to be stacked in a stacking area can be determined in accordance with properties of articles and site situations.
An article stacking apparatus 1 is implemented as, for example, a robot controller for controlling a robot 70. A CPU 11 of the article stacking apparatus 1 according to the present embodiment is a processor that wholly controls the article stacking apparatus 1. The CPU 11 retrieves a system program stored in a ROM 12 through a bus 20, and controls the entire article stacking apparatus 1 in accordance with the system program. A RAM 13 temporarily stores data such as temporary calculation data and various kinds of data inputted by an operator through an unillustrated input section.
A non-volatile memory 14 is configured as a memory that maintains the state of memory using, for example, an unillustrated battery for memory backup even when the power of the article stacking apparatus 1 is shut off. The non-volatile memory 14 stores various kinds of data (for example, data concerning an article to be stacked, setting values to be used to control article stacking operation by a robot, and the like) inputted through an unillustrated input section by an operator, programs for control inputted through an unillustrated interface, and the like. Such programs and various kinds of data stored in the non-volatile memory 14 may be loaded into the RAM 13 at the time of execution/use. Moreover, the ROM 12 has programs previously written therein, which include a publicly-known analysis program for analyzing an article to be stacked and the stacking status of articles in a stacking area based on a detection value (captured image data) detected by a visual sensor 60 and system programs such as a system program for controlling communication with the machine learning apparatus 100, which will be described later.
For example, the visual sensor 60 is used to detect the states of articles placed in the stacking area in a learning phase of a machine learner, and is used to detect an article to be stacked in a phase in which the article stacking apparatus 1 stacks articles. The visual sensor 60 may be, for example, an image capture device fixed in place in a workplace or may be an image capture device attached to a robot arm of the robot 70. The visual sensor 60 passes a detected detection value (captured image data) to the CPU 11 through an interface 18.
A control circuit 19 receives commands from the CPU 11 and controls the stacking operation of the robot 70. For example, the control circuit 19 controls the operation of a robot hand that grips an article or controls motors for driving joints of the robot 70 to perform control so that the gripped article may be moved to a specified location in the stacking area. Details of control techniques relating to the article stacking operation of the robot 70 are already publicly known, and an explanation thereof is omitted in this specification.
An interface 21 is an interface for connecting the article stacking apparatus 1 and the machine learning apparatus 100. The machine learning apparatus 100 includes a processor 101 for controlling the entire machine learning apparatus 100, a ROM 102 storing system programs and the like, a RAM 103 for storing temporary data in processes involved in machine learning, and a non-volatile memory 104 for storing a learning model and the like. The machine learning apparatus 100 can observe, through the interface 21, various kinds of information (information on an article detected by the visual sensor 60, the stacking status of articles in the stacking area, and the like) that the article stacking apparatus 1 can acquire. Further, the article stacking apparatus 1 receives an article placement command outputted from the machine learning apparatus 100 and controls the article stacking operation of the robot 70.
Each functional block shown in
The article stacking apparatus 1 of the present embodiment includes a control section 34 for controlling the robot 70. The control section 34 controls the robot 70 based on a placement command for an article to be stacked which is outputted from the machine learning apparatus 100, grips the load to be stacked, and places the article in a specified location in the stacking area.
The machine learning apparatus 100 of the present embodiment includes software (learning algorithm and the like) and hardware (such as the processor 101) for learning a placement of an article to be stacked with respect to the stacking status of the stacking area and information on the article to be stacked by so-called machine learning by itself. What is learned by the machine learning apparatus 100 of the article stacking apparatus 1 corresponds to a model structure representing the correlation between both of the stacking status of the stacking area and information on an article to be stacked and the placement of the article to be stacked.
As represented by the functional blocks in
The state observation section 106 may, for example, be configured as one function of the processor 101 or be configured as software stored in the ROM 102 to cause the processor 101 to work. Of the state variable S observed by the state observation section 106, the stacking status data S1 can be acquired as, for example, a set of respective placements of articles in the stacking area.
During learning by the learning section 110, the stacking status data S1 are obtained by the visual sensor 60 detecting respective placements at a given point in time of articles already placed in the stacking area by a worker at an article stacking site. For example, the stacking status data S1 may be stored in a table containing the shapes, weights, positions, orientations, and the like of all articles already placed in the stacking area at a given point in time, or may be stored as the unified shape (
The article information data S2 of the state variable S may be acquired using the visual sensor 60, for example, that reads an identification code of the item attached or printed on a surface or the like of the item, when an article is conveyed to a setting area. In this case, various kinds of data including properties of each article are measured in advance, and information such as the shape of each article, the weight of the article, and a processing step that uses the article are stored in association with ID information for uniquely identifying the article in a form such as shown in
The label data acquisition section 108 may, for example, be configured as one function of the processor 101 or be configured as software stored in the ROM 102 to cause the processor 101 to work. During learning by the learning section 110, the label data acquisition section 108 acquires the article placement data L1, indicating a placement of an article to be stacked, as the label data L. As the article placement data L1, the same data as contained in the stacking status data S1 may be used. While the stacking status data S1 contain information on all articles already placed at a given point in time, the article placement data L1 contain information on one or more articles to be placed at a time. In the case where one or more articles have been placed, learning may be performed by regarding the one or more articles as articles placed one by one, or regarding the one or more articles as a plurality of placed articles. The article placement data L1 are obtained by the visual sensor 60 detecting a placement of one or more articles to be stacked which have been placed in the stacking area by a worker, at an article stacking site. The label data acquisition section 108 is used during learning by the learning section 110, but does not need to be a component essential for the machine learning apparatus 100 after the learning section 110 completes learning.
The learning section 110 may, for example, be configured as one function of the processor 101 or be configured as software stored in the ROM 102 to cause the processor 101 to work. The learning section 110 learns the label data L (article placement data L1 indicating a placement of an article to be stacked) with respect to the state variable S (stacking status data S1 indicating the stacking status of the stacking area and article information data S2 indicating information on the article to be stacked), in accordance with a freely-selected learning algorithm generically called machine learning. For example, the learning section 110 can learn the correlation between both of the stacking status data S1 and the article information data S2 indicating information on an article to be stacked, which are included in the state variable S, and the article placement data L1, which are included in the label data L. The learning section 110 can repeatedly execute learning based on a data collection including the state variable S and the label data L.
In learning by the learning section 110 of the present invention, learning data for learning a way to stack articles is acquired using, for example, the following method, and a desirable way to stack articles is learned.
At the time of learning, a worker 40 manually places articles in the stacking area. Articles 41 before placement are set in the setting area. Moving a load to the setting area may be manually performed by a human such as a worker or may be performed by conveying means such as a conveyor. Article stacking work is defined as the work of gripping articles set in the setting area and placing the articles in the stacking area by the worker 40.
The visual sensor 60 is disposed above the stacking area and can measure information on the position of an article. If the heights of articles are not fixed, a visual sensor is desirably capable of acquiring three-dimensional information.
It is assumed that information on articles set in the setting area at a given point in time can be obtained by some means. For example, as described previously, information on articles to be conveyed to the setting area is stored in the non-volatile memory 14 of the article stacking apparatus 1 in advance so that the information can be acquired. Alternatively, a sensor for the setting area, such as a visual sensor, is disposed so that information can be acquired from the sensor. Information on an article may be a physical quantity (size, shape, weight, or material) of the article, a history of operations performed on the article, or an ID uniquely assigned to the article. With respect to the size and the weight of an article, instead of the absolute value thereof, a value obtained by transforming the absolute value in accordance with some equation may be used. For example, in the case where one site deals with articles ranging in weight from 10 kg to 100 kg and another site deals with articles ranging in weight from 100 g to 1 kg, the use of normalized weights in learning enables versatile learning for various sites.
Hereinafter, one example of ways to acquire learning data will be described. In an initial state, a pallet, a basket, or the like on which articles are placed is laid in the stacking area. In this example, it is assumed that a pallet (not shown) is laid. The pallet has no article placed thereon. Articles to be stacked in the stacking area are set in the setting area. At this point in time, all articles to be stacked may be set in the setting area, or only some of articles may be set. In the case where only some of articles are set, it is recommended that an article is newly conveyed to the setting area every time a worker places an article. Further, article information may be updated every time an article is conveyed. While nothing is placed in the stacking area in the initial state, information to the effect that nothing is placed is recorded as the stacking status.
The worker picks up an object from the setting area, and moves the object to the stacking area. The worker checks the status of the stacking area, and places the article in an appropriate location. The visual sensor 60 disposed above the stacking area acquires information such as the position and the orientation of an article 41′ placed at an appropriate time, as placement information. The time when placement information is acquired may be the time when the worker presses a button of a machine control panel (not shown) connected to the article stacking apparatus 1, or may be a certain period of time after the status of the stacking area monitored by the visual sensor 60 has changed. Which of articles set in the setting area is the article placed in the stacking area may be determined by searching information concerning articles which is stored in the non-volatile memory 14 for a similar article using information obtained from the visual sensor 60 or by using an identification code of the article attached or printed on a surface or the like of the article. During one step in which the worker moves the article from the setting area to the stacking area, one set of the stacking status of the stacking area, information concerning the article, and the placement of the article can be stored. In the case where the worker places two or more articles at a time, those articles may be stored as one set or as two or more sets. An article picked up from the setting area may be deleted from the information concerning articles which is stored in the non-volatile memory 14, or a flag indicating that the article has already been placed may be turned on. By adding the current placement of the article to the previous stacking status of the stacking area, information on the stacking status of the stacking area to be used in the next stage can be created.
Article stacking work by the worker is performed until there are no more articles left in the setting area or until the stacking area is full. This provides the same number of sets of the stacking status of the stacking area, information concerning an article, and a placement of the article as the number of times that the operation is repeated.
The sets of the stacking status of the stacking area, information concerning an article, and a placement of the article thus obtained are used as data for learning. Learning is performed for each step using the stacking status of the stacking area and information concerning an article as a state variable and using a placement of the article as label data. Learning may be performed using data obtained during the operation by the worker immediately after the data is obtained. Alternatively, data may be simply accumulated until a certain number of sets of the stacking status of the stacking area, information concerning an article, and a placement of the article are obtained, and then offline learning may be performed using the accumulated data.
By repeating the above-described learning cycle, the learning section 110 can automatically identify features implying the correlation between both of the stacking status of the stacking area (stacking status data S1) and information on an article to be stacked (article information data S2) and a placement of the article to be stacked (article placement data L1). When the learning algorithm is started, the correlation between both of the stacking status data S1 and the article information data S2 and the article placement data L1 is substantially unknown. The learning section 110 gradually identifies features and interprets the correlation as learning progresses. When the correlation between both of the stacking status data S1 and the article information data S2 and the article placement data L1 is interpreted to some reliable level, learning results repeatedly outputted by the learning section 110 become capable of being used to determine where an article to be stacked should be placed for the current state. Specifically, as the learning algorithm progresses, the learning section 110 can gradually move the correlation between both of the stacking status of the stacking area and information on an article to be stacked and a placement of the article to be stacked toward an optimal solution.
The estimation result output section 122 estimates a placement of the article to be stacked with respect to the stacking status of the stacking area and information on an article to be stacked on the basis of a result of learning by the learning section 110, and outputs a result of the estimation to the control section 34. When the stacking status of the stacking area and information on an article to be stacked are inputted to the machine learning apparatus 100 in a state in which the learning section 110 has completed learning, the estimation result output section 122 outputs an appropriate placement of the article to be stacked.
A robot hand is attached to a tip of the robot 70. By controlling the robot hand, the robot 70 can grip an article. Articles 41 before placement are set in the setting area. The conveyance of loads to the setting area may be manually performed by a human such as a worker or may be performed by conveying means such as a conveyor. The robot 70 grips an article 41 set in the setting area with the robot hand 42, moves the article 41 to the stacking area, and places the article.
The visual sensor 60 is disposed above the setting area so that it may measure information on the position of an article. If the heights of articles are not fixed, the visual sensor 60 is desirably capable of acquiring three-dimensional information. The visual sensor 60 is not necessary if information on the position of an article 41 laid in the setting area and the ID of the article 41 can be acquired by alternative means (for example, the system itself can acquire the position), but some other means is needed to identify information on the position of an article and the ID of the article.
Hereinafter, a method in which the robot 70 performs stacking using the learning section 110 which has finished learning will be described.
First, the state observation section 106 identifies one or more articles 41 laid in the setting area to be stacked from now, and acquires information concerning the identified article(s) 41. Then, the state observation section 106 acquires the stacking status of the stacking area. The stacking status of the stacking area may be acquired by, for example, disposing the visual sensor 60 above the stacking area and using the visual sensor 60. However, if no visual sensor 60 is disposed above the stacking area, placement information can be created from a history of past placements of articles in the stacking area by the robot 70. In this case, placement information can be created as time-series data concerning placement information obtained when articles are placed in order one by one from an initial state (no article is placed).
After the state observation section 106 observes placement information on the stacking area and information concerning an article, the estimation result output section 122 estimates a placement of the article to be stacked using a result of learning by the learning section 110 and outputs the estimated placement. The placement of the article contains information indicating which article should be placed at which position. Upon receiving the placement of the article to be stacked which is outputted from the estimation result output section 122, the control section 34 controls the robot 70 so that the article to be placed may be picked up from the position of the article in the setting area and placed at a specified position in the stacking area. This operation is performed until there are no more articles left in the setting area or until the stacking area is full.
In one modified example of the machine learning apparatus 100 of the article stacking apparatus 1, with regard to placement of an article to be stacked, the article may be temporarily placed in a temporary placement area. In this case, in addition to information indicating a normal placement of the article, information indicating a temporary placement is prepared as the article placement data L1. When the worker places a load in the temporary placement area, information indicating a temporary placement is used as the article placement data L1. Moreover, the temporarily placed article is treated as being left in the setting area, and the position in which the article is set is changed to the position at which the article is temporarily placed in the temporary placement area.
In the above-described modified example, when the stacking status of the stacking area (stacking status data S1) and information on an article to be stacked (article information data S2) are inputted, the machine learning apparatus 100 can estimate a temporary placement of the article in the temporary placement area as needed, in addition to a placement of the article in the normal stacking area. Therefore, the robot 70 can perform more flexible stacking operation.
In the machine learning apparatus 100 having the above-described configuration, the learning algorithm that the learning section 110 executes is not particularly limited, and any learning algorithm publicly known as machine learning can be employed.
In the machine learning apparatus 100 of the article stacking apparatus 1 shown in
An initial value of the correlation model M is, for example, a value expressing the correlation between the state variable S and a placement of an article to be stacked, in a simplified manner (for example, linear function), and is given to the learning section 110 before the start of supervised learning. The teacher data T can be configured using empirical values obtained from stacking work by a worker in the present invention, and are given to the learning section 110 as needed at an early stage of operation of the article stacking apparatus 1. The error calculation section 112 identifies a correlation feature implying the correlation between both of placement information on the stacking area and information concerning an article and a placement of the article to be stacked from the teacher data T given to the learning section 110 as needed, and finds an error E between the correlation feature and the correlation model M corresponding to the state variable S and the label data L in the current state. The model update section 114 updates the correlation model M so that the error E may be reduced, in accordance with, for example, predetermined update rules.
In the next learning cycle, the error calculation section 112 determines the sorting of objects to be sorted in accordance with the updated correlation model M using the state variable S and finds an error E between a result of the determination and the label data L actually acquired, and the model update section 114 updates the correlation model M again. This gradually reveals the correlation between the current environmental state and an estimate thereof, which has been unknown.
To advance the aforementioned supervised learning, a neural network can be used.
The neuron shown in
y=f
k(Σi=1nxwi−θ) (1)
The three-layer neural network shown in
In
Furthermore, outputs from the neurons N21 and N22 are collectively represented by z2. z2 can be regarded as a feature vector obtained by extracting feature values of the feature vector z1. In the illustrated example, each element of the feature vector z2 is multiplied by corresponding weights (collectively represented by w3), and each element of the feature vector z2 is inputted to three neurons N31, N32, and N33. The feature vector z2 represents a feature between the weight w2 and the weight w3. Finally, the neurons N31 to N33 output results y1 to y3, respectively.
It should be noted that a technique, so-called deep learning, which uses a neural network having three or more layers can be used.
The machine learning apparatus 100 of the article stacking apparatus 1, which includes the learning section 110 that performs multi-layer calculation in accordance with the above-described neural network, receives the state variable S as the input x, and outputs a placement of an article to be stacked (result y) with respect to placement information on the stacking area and information concerning the article. It should be noted that operation modes of the neural network include a learning mode and a value prediction mode. For example, weights w are learned using a learning data set in the learning mode, and the value of an action can be determined using the learned weights w in the value prediction mode. It should be noted that, in the value prediction mode, detection, classification, reasoning, and the like can also be performed.
The above-described configuration of the machine learning apparatus 100 can be described as a machine learning method (or software) that the processor 101 executes. This machine learning method is a machine learning method for learning an estimate of a placement of an article to be stacked with respect to placement information on the stacking area and information concerning the article, and includes the steps of:
observing the stacking status of the stacking area (stacking status data S1) and information on the article to be stacked (article information data S2) as the state variable S representing the current state;
acquiring a placement of the article to be stacked (article placement data L1) as the label data L; and
A learnt model obtained by learning by the learning section 110 of the machine learning apparatus 100 can be used as a program module that is a part of software involved in machine learning. The learnt model of the present invention can be used in a computer including a processor such as a CPU or a GPGPU and a memory. More specifically, a processor of a computer operates in accordance with commands from a learnt model stored in a memory to perform calculation using placement information on the stacking area and information concerning an article as inputs and to output a placement of the article to be stacked with respect to placement information on the stacking area and information concerning the article based on a result of the calculation. The learnt model of the present invention can be copied onto other computers through an external storage medium, a network, or the like to be used on the computers.
When a copy of the learnt model of the present invention is used on other computer in a new environment, further learning can be performed with respect to the learnt model based on a new state variable and new determination data obtained in the environment. In this case, a learnt model (hereinafter referred to as a derived model) derived from the learnt model due to the environment can be obtained. Similar to the original learnt model, the derived model of the present invention also outputs a result of estimation of a placement of an article to be stacked with respect to predetermined placement information on the stacking area and predetermined information concerning the article. However, a difference between the derived model and the original learnt model is that the derived model outputs a result more suitable for the new environment (new stacking area and article) than the original learnt model. This derived model can also be copied onto other computers through an external storage medium, a network, or the like to be used on the computers.
Further, using an output obtained as a result of an input into the machine learning apparatus having the learnt model of the present invention incorporated therein, a learnt model (hereinafter referred to as a distilled model) that is obtained by performing learning from scratch on other machine learning apparatus can be created and used (such a learning process is called distillation). In distillation, the original learnt model is also called a teacher model, and the distilled model newly created is also called a student model. Generally, a distilled model has a smaller size than an original learnt model, but has an accuracy equivalent to that of the original learnt model. Accordingly, a distilled model is more suitable for deployment to other computers through an external storage medium, a network, or the like.
The system 170 includes the machine learning apparatus 100, a plurality of article stacking apparatuses 1′ (not including the machine learning apparatus 100) that perform at least the same work, and a wired/wireless network 172 connecting these article stacking apparatuses 1′.
In the system 170 having the above-described configuration, the machine learning apparatus 100 can learn features implying the correlation between both of the stacking status of the stacking area (stacking status data S1) and information on an article to be stacked (article information data S2) and a placement of the article to be stacked (article placement data L1) from stacking operations respectively performed by workers in the plurality of article stacking apparatuses 1′. Accordingly, the system 170 can improve the speed and the reliability of learning of article stacking operation using a collection (including the state variable S and the determination data D) of a wider range of data as inputs. Further, the system 170 can be configured such that a result of learning by the machine learning apparatus 100 can be shared among the plurality of article stacking apparatuses 1′.
While the embodiment of the present invention has been described above, the present invention is not limited to the above-described exemplary embodiment, and can be carried out in various aspects by making appropriate modifications thereto.
For example, the learning algorithm that the machine learning apparatus 100 executes, the arithmetic algorithm that the machine learning apparatus 100 executes, the control algorithm that the article stacking apparatus 1 executes, and the like are not limited to the above-described ones, and various algorithms can be employed.
Moreover, though the article stacking apparatus 1 and the machine learning apparatus 100 are apparatuses having different CPUs (processors) in the above-described embodiment, the machine learning apparatus 100 may be realized using the CPU 11 of the article stacking apparatus 1 and the system programs stored in the ROM 12.
Further, in the above-described embodiment, an example in which the machine learning apparatus 100 is on the article stacking apparatus 1 is shown. However, the machine learning apparatus 100 may be on a cloud server or the like prepared on a network.
Number | Date | Country | Kind |
---|---|---|---|
2017-160540 | Aug 2017 | JP | national |