Control device for automatic machines and control method for automatic machines

The control device stabilizes robot behavior by managing transition intervals and selecting appropriate models, addressing discontinuities in AI-controlled trajectories to ensure smooth operation.

JP7883455B2Active Publication Date: 2026-07-01HITACHI LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
HITACHI LTD
Filing Date
2023-02-09
Publication Date
2026-07-01

AI Technical Summary

Technical Problem

Existing AI-controlled robots experience unstable behavior when switching between different control models due to discontinuities in physical quantities like position, speed, and acceleration at connection points, leading to potential operational delays.

Method used

A control device for automated machines that includes base trajectory information and transition interval management, using machine learning models to stabilize robot control by setting transition sections and determining appropriate models based on error ranges, ensuring smooth transitions between AI-controlled trajectories.

Benefits of technology

The solution enables stable switching of control models, preventing unstable robot behavior and reducing operational delays by maintaining continuity in robot states during trajectory changes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007883455000001
    Figure 0007883455000001
  • Figure 0007883455000002
    Figure 0007883455000002
  • Figure 0007883455000003
    Figure 0007883455000003
Patent Text Reader

Abstract

To appropriately control an automatic machine.SOLUTION: A first transition section is set in a first base trajectory, and includes a connection point between the first base trajectory and a second base trajectory. A first machine learning model and a second machine learning model are set on the first base trajectory and the second base trajectory, respectively. In a case in which an actual trajectory or a predicted trajectory is within an error range at a prescribed point, a control device controls an automatic machine using the first machine learning model set on the first base trajectory, in the first transition section. In a case in which the actual trajectory or the predicted trajectory is out of the error range at the prescribed point, the control device controls the automatic machine by a control method different from the first machine leaning model, in the first transition section.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to control technology for automatic machines.

Background Art

[0002] Robots (automatic machines) can execute various operations by changing programs. In recent years, with the development of AI (Artificial Intelligence) technology using machine learning, solutions using AI technology have also been proposed in the manufacturing industry. For example, an AI for transporting heavy objects that transports heavy objects without shaking them by considering inertial force and an AI for insertion that assembles parts into a housing have been developed.

[0003] As the background art of the present disclosure, there is Japanese Unexamined Patent Application Publication No. 2019-159767 (Patent Document 1). Patent Document 1 discloses that "a first calculation unit that performs an operation related to a predetermined process using a first model in which the correspondence relationship between input data and output data fluctuates by performing machine learning using learning data on the input data and outputs a first output; a second calculation unit that performs an operation related to a predetermined process using a second model in which the correspondence relationship between input data and output data is fixed on the input data and outputs a second output; and a comparison unit that outputs a first output, a second output, or a third output combining the first output and the second output based on a comparison result obtained by comparing the first output and the second output with a predetermined determination criterion." (Summary). Patent Document 1 is a method of dividing a trajectory into a plurality of sections and appropriately switching between a learned AI and a fixed type in each section.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] Patent Document 1 states that AI control does not guarantee all physical quantities such as the position at the endpoint, or the speed, acceleration, and force during operation. Therefore, the endpoint conditions of the current trajectory may not match the starting point conditions of the connected next trajectory. When different AIs are used for connected trajectories, if the control laws of the AIs differ significantly, the robot's behavior becomes unstable when the AI ​​is switched at the connection point. To address this problem, applying a method to eliminate the uncertainty caused by the AI ​​by stopping at the connection point and allowing it to stabilize sufficiently before transitioning to the next trajectory results in slower operation. Therefore, a technology that can stably switch the robot's trajectory control is desired. [Means for solving the problem]

[0006] One aspect of the present disclosure is a control device for an automated machine, comprising one or more processors and one or more storage devices, wherein the one or more storage devices store base trajectory information for managing base trajectories and transition interval information for managing transition intervals, the base trajectory information includes information for consecutive first base trajectories and second base trajectories, the base trajectory information specifies a first machine learning model set for the first base trajectory, the base trajectory information specifies a second machine learning model set for the second base trajectory, and the transition interval information specifies a first transition that differs from the control by the first machine learning model. A first transition control method for the automatic machine in a section is specified, the first transition section is set in the first base trajectory and includes the connection point between the first base trajectory and the second base trajectory, and one or more processors determine whether the actual trajectory or predicted trajectory of the automatic machine at a predetermined point is within a preset error range, and if the actual trajectory or predicted trajectory is within the error range, the automatic machine is controlled in the first transition section using the first machine learning model, and if the actual trajectory or predicted trajectory is outside the error range, the automatic machine is controlled in the first transition section using the first transition control method. [Effects of the Invention]

[0007] According to one aspect of this disclosure, an automated machine can be appropriately controlled. Other issues, configurations, and effects not mentioned above will be clarified by the following description of the embodiments. [Brief explanation of the drawing]

[0008] [Figure 1] This shows the configuration of a robot system according to one embodiment of this specification. [Figure 2] An example of the hardware configuration of the control device is shown. [Figure 3] This is a block diagram showing an example of the functional configuration of a control device according to one embodiment of this specification. [Figure 4] An example of base orbit information is shown. [Figure 5] An example of orbital information for the k-th base orbit included in the orbital information field is shown. [Figure 6] An example of the structure of transition interval information is shown. [Figure 7] This is a schematic diagram illustrating the pre-transition section and the post-transition section. [Figure 8A] A flowchart illustrating an example of robot control processing by a control device is shown. [Figure 8B] A flowchart illustrating an example of robot control processing by a control device is shown. [Figure 9] A flowchart illustrating an example of processing by the correction value calculation unit is shown. [Figure 10] As an example of robot operation, the robot will pull an item inserted into a base pin from the pin and then transport it. [Figure 11] As an example of robot operation, the robot will pull an item inserted into a base pin from the pin and then transport it. [Figure 12] As an example of robot operation, we will show the action of transporting an object and inserting it into a pin on a base. [Figure 13] An example of the transition interval settings screen is shown. [Modes for carrying out the invention]

[0009] The embodiments described herein will be explained in detail below with reference to the drawings. Where necessary for convenience, the descriptions will be divided into multiple sections or embodiments. Unless otherwise specified, these are not unrelated, and one may be a modification, detail, or supplement to a part or all of the other. Furthermore, when referring to the number of elements, etc. (including number, numerical value, quantity, range, etc.), the embodiments are not limited to that specific number unless otherwise specified or when it is clearly limited in principle.

[0010] One embodiment of this specification provides a technique for suppressing unstable robot behavior when switching control models for robots (automated machines). At connection points of base trajectories (planned trajectories), the robot's state (physical quantities) may unintentionally become discontinuous. The state includes static states such as coordinates and dynamic states such as velocity and acceleration. In particular, when different AI models are used for each base trajectory, the robot is prone to exhibiting unstable behavior due to the discontinuity of its state. One embodiment of this specification suppresses unstable robot behavior caused by switching control models for base trajectories by setting a transition section in the base trajectory.

[0011] Figure 1 shows the configuration of a robot system according to one embodiment of this specification. The robot system includes a robot 10, a transport motion generation device 11, a work instruction device 12, an imaging device 13, and a control device 14.

[0012] The robot 10 moves the item (grasp) 4 from the starting point to the ending point according to the control signals input from the control device 14. The robot 10 includes multiple links (arms) 1 and a hand 3 for gripping the item 4. In Figure 1, one link is indicated by reference numeral 1 as an example.

[0013] The plurality of links 1 are connected via joints including drive motors. The hand 3 is attached to the tip of one link 1 via a joint and can grip an article 4. The robot 10 can move the hand 3 by driving the drive motors of each joint according to a control signal from the control device 14. Further, the robot 10 always generates robot state information including the angle, angular velocity, angular acceleration, drive motor torque, and drive motor current value of each joint, as well as the distance to the end point, and outputs it to the control device 14.

[0014] Various sensors can be mounted on the robot 10. FIG. 1 shows one sensor 5 as an example. The mounted sensors are, for example, a force sensor, a speed sensor, an acceleration sensor, etc. The force sensor can measure the force applied to the hand 3 and output it to the control device 14. The acceleration sensor and the speed sensor can measure the acceleration of the hand 3 or the article 4 and output it to the control device 14. Note that the number of links, the number of axes, and the operation mechanism of the robot 10 are not limited to the illustrated examples and are arbitrary.

[0015] The work instruction device 12 gives a work instruction to the conveyance operation generation device 11 based on an input from the user. For example, the work instruction device 12 passes information on a plurality of orbits (partial orbits) that constitute the entire orbit that the article follows from the start point to the end point to the conveyance operation generation device 11. The information on each orbit may include the orbit number, orbit name, orbit generation algorithm number, AI name used for robot control, start point of the orbit, and end point of the orbit. Some of this information may be omitted, and other information may be added.

[0016] The transport motion generation device 11 determines a base trajectory, which indicates the basic movement path of the hand 3 in the operation of moving an item 4 from a starting point to an ending point, based on the work instruction from the work instruction device 12. The base trajectory is determined for each of the multiple consecutive trajectories from the starting point to the ending point. The base trajectory indicates the coordinates of the reference point and the movement speed, etc. The base trajectory information indicating the base trajectory is output to the control device 14. The base trajectory determined here allows the hand 3 to move from the starting point to the ending point, but it is not necessarily the actual path when moving various items 4.

[0017] The work instruction device 12 transmits transition section information to the control device 14 based on user input. This transition section information is referenced by the control device 14 for robot control. The transition section information includes information on one or more transition sections of the selected trajectory. Details of the transition section information will be described later.

[0018] One of the sensors, the imaging device 13, captures images of the robot 10 moving the object 4 and its surroundings. By analyzing the resulting captured images, it generates information about the object 4, including its position, velocity, and acceleration, as well as information about its surroundings, and outputs this information to the control device 14. However, the imaging device 13 may output the captured images to the control device 14, and the control device 14 may analyze the captured images to generate information about the object and its surroundings.

[0019] The control device 14 generates control information for the robot 10 based on the base trajectory information generated by the transport motion generation device 11, robot state information from the robot 10, and information from various sensors including the imaging device 13 and sensor 5. The control information generated here may include, for example, the next target angle, angular velocity, and angular acceleration of each joint of the robot 10, the torque and drive current of the drive motor of each joint, or the next target coordinates, velocity, and acceleration of the item 4.

[0020] Figure 2 shows an example of the hardware configuration of the control device 14. The transport motion generation device 11 and the work instruction device 12 may have a similar configuration. The control device 14 includes a processor 102, main memory 103, auxiliary memory 104, input device 105, output device 106, and communication interface 107. Each part of the control device 14 is connected to each other so as to be able to communicate via communication means such as a bus (not shown). In addition, the control device 14 may be implemented in whole or in part by virtual resources such as a cloud server.

[0021] The processor 102 is composed of a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), and the like. The processor 102 reads and executes the program stored in the main memory 103, thereby realizing the functions of each device in the electronic signature system.

[0022] The main memory 103 is a device for storing programs and data, and can be ROM (Read Only Memory), RAM (Random Access Memory), NVRAM (Non-Volatile RAM), etc.

[0023] The auxiliary storage device 104 is, for example, an SSD (Solid State Drive), NVRAM such as an SD memory card, an optical storage device such as a CD (Compact Disc) or DVD (Digital Versatile Disc), an HDD (Hard Disc Drive), or the storage area of ​​a cloud server. The auxiliary storage device 104 includes a non-transient storage medium for storing programs and data. Programs and data stored in the auxiliary storage device 104 are read into the main memory 103 as needed.

[0024] The input device 105 is an interface that accepts information input, such as a keyboard, mouse, touch panel, card reader, or microphone. Alternatively, the control device 14 may be configured to accept information input from other devices, such as the work instruction device 12, via some means of communication.

[0025] The output device 106 is an interface that outputs various types of information, such as a screen display device like a liquid crystal monitor, LCD (Liquid Crystal Display), or graphics card, a printing device, or an audio output device like a speaker. Alternatively, the control device 14 may be configured to output information to other devices via some means of communication. The communication interface 107 is a device for the control device 14 to communicate with other devices, such as the work instruction device 12. Some of the components shown in Figure 2 may be omitted, and other components may be added.

[0026] The control device 14 can be composed of one or more computers. Thus, the control device 14 can include one or more processors and one or more storage devices. One or more processors operate as a predetermined functional unit by executing programs stored in one or more storage devices.

[0027] Figure 3 is a block diagram showing an example of the functional configuration of a control device 14 according to one embodiment of this specification. The calculation unit 31 comprehensively controls the entire control device 14. The calculation unit 31 includes a correction value calculation unit 311, an AI model generation unit 312, a state determination unit at connection points 313, a state estimation unit at connection points 314, an AI model group 315, a simulator 316, an AI model learning unit 317, and a control unit 318. Each functional unit of the calculation unit 31 can be realized, for example, by the processor 102 executing a corresponding program. The input unit 34, display unit 35, and communication unit 36 ​​can be realized by the processor 102 working in cooperation with the input device 105, the output device 106, and the communication interface 107.

[0028] The memory unit 32 stores information necessary for the operation of the control device 14. The memory unit 32 includes a main memory device 103 and an auxiliary memory device 104. The memory unit 32 stores transition section information 322, base trajectory information 321, and trajectory performance information 323. The memory unit 32 is also used as a work area for the calculation unit 31 and the correction value calculation unit 311 implemented by the calculation unit 31.

[0029] The base trajectory information 321 stores information on each base trajectory that constitutes the overall trajectory in the transport of the item 4. The base trajectory information 321 is generated by the transport motion generation device 11 in response to instructions from the work instruction device 12. The base trajectory information 321 is stored in the storage unit 32 via the communication unit 36.

[0030] The transition section information 322 stores information about the transition sections in the transport of item 4. A transition section is defined for each track selected from the overall track. One or more transition sections may be set for each track selected by the user. The control device 14 generates the transition section information 322, which manages the information of the specified transition section, in response to user input received via the work instruction device 12.

[0031] The correction value calculation unit 311 calculates a correction value for the base trajectory in real time, based on the base trajectory information 321, the transition section information 322, and the state information obtained from the robot 10 and / or sensors 5 and 13, so that the robot 10's hand 3 moves the item 4 along the optimal trajectory.

[0032] The correction value calculation unit 311 uses an AI model (machine learning model) selected from the AI ​​model group 315 or an AI model generated by the AI ​​model generation unit 312 to calculate the correction value. The AI ​​model can be implemented, for example, by a neural network. Note that the AI ​​model is not limited to a neural network; other machine learning models may be used.

[0033] The AI ​​model generation unit 312 generates the AI ​​model to be used in the transition section using the AI ​​models from the AI ​​model group 315. The state determination unit 313 at the connection point determines the state of the robot 10 at the connection point between the transition section and the next section.

[0034] The state estimation unit 314 at the connection point estimates the error between the base trajectory and the estimation point at the connection point between the transition section and the next section. The state estimation unit 314 at the connection point calculates the error estimate using the simulator 316. The simulator 316 performs a simulation of the robot 10's movement. This enables accurate error estimation. Note that the error estimate may be calculated using a model different from the simulator.

[0035] The AI ​​model learning unit 317 performs training on the AI ​​model group 315. The training data may include actual control data of the robot 10, and may include, for example, samples in which the control by the AI ​​model showed operation outside the target range. The control unit 318 generates control signals for controlling the robot 10 according to the base trajectory information 321 and the correction values ​​calculated by the correction value calculation unit 311, and outputs them to the robot 10 via the communication unit 36.

[0036] Figure 4 shows an example of base trajectory information 321. In the configuration example shown in Figure 4, the base trajectory information 321 includes a trajectory number field 401, a trajectory name field 402, an AI name field 403, and a trajectory information field 404. The trajectory number field 401 uniquely identifies each base trajectory (partial base trajectory) and stores a sequence number indicating the order of the trajectories. The trajectory name field 402 indicates the type of operation performed by the robot 10 on each base trajectory.

[0037] The AI ​​name field 403 indicates the AI ​​used to control the robot 10 for the base trajectory indicated in the trajectory number field 401. The trajectory information field 404 shows information on the time-series state changes of the robot 10 for each base trajectory indicated by the trajectory number. The trajectory information field 404 shows the waypoints for each of the consecutive base trajectories. The waypoints include the start point, the end point, and points in between them.

[0038] The track number field 401, track name field 402, and AI name field 403 store values ​​specified by the user. The information in the track information field 404 is generated and stored by the transport motion generation device 11. The transport motion generation device 11, for example, obtains information on the start and end points of each base track from the user via the work instruction device 12, calculates the base track connecting the start and end points, and stores it in the track information field 404. Here, the end and start points of consecutive base tracks coincide, and this is their connection point.

[0039] Figure 5 shows an example of trajectory information 410 for the k-th base trajectory included in trajectory information column 404. k is any natural number. Each record shows a sequence of M arrays of joint angles of the robot 10 (corresponding to waypoints in the base trajectory) at regular intervals. M is a natural number. The regular interval is, for example, several milliseconds. The waypoint number column 411 uniquely identifies the array of joint angles and indicates the order of the waypoints in the sequence. The example shown in Figure 5 shows an angle array (joint angle combination) consisting of six joint angles. Columns 412 to 417 store the values ​​of joint angles θ1 to θ6, respectively.

[0040] As shown in Figure 5, the trajectory information 410 indicates the position and change of intermediate points in the base trajectory. The trajectory information 410 may be represented as a sequence of joint angles, as shown in Figure 5, or as a sequence of Cartesian coordinates of specific positions. The trajectory information field 404 may be specified using some of the following: position, velocity, acceleration, angular velocity, angular acceleration, etc. Note that various methods for calculating the base trajectory according to the work, configuration, and surrounding environment of the robot 10 are known, and detailed explanations are omitted in this specification.

[0041] Figure 6 shows an example of the configuration of the transition section information 322. The transition section information 322 manages information on transition sections set for each trajectory selected from a plurality of trajectories indicated by the base trajectory information. One or more transition sections may be set for each selected trajectory. In one embodiment of this specification, one or two transition sections may be set for a trajectory.

[0042] The control device 14 can control the robot 10's movement in a transition section by using a different model (which is also a function) in that section than the non-transition section of the trajectory in which the transition section is set. In a given transition section, the control device 14 will always use a different model than the non-transition section of the trajectory in which it is set, and in other transition sections, it may use a different model than the non-transition section if certain conditions are met. The transition section helps to suppress unstable movement in a continuous trajectory controlled by different AI models.

[0043] In the configuration example shown in Figure 6, the transition section information 322 includes the track number field 501, track name field 502, AI name field 503, previous transition section field 504, and subsequent transition section field 505. The track number field 501, track name field 502, and AI name field 503 show the same information as the track number field 401, track name field 402, and AI name field 403 of the base track information 321, respectively.

[0044] The Pre-Transition Section field 504 stores information about the pre-transition section set for the track. The Reverse Transition Section field 505 stores information about the reverse transition section set for the track. Transition sections are set for tracks specified by the user. A pre-transition period and / or a reverse transition section may be set for some tracks, while no transition sections may be set for some tracks.

[0045] Figure 7 is a schematic diagram illustrating the pre-transition and post-transition sections. Three base tracks 551, 552, and 553 are connected. Base track 551 has a track number of 1, base track 552 has a track number of 2, and base track 553 has a track number of 3. The intermediate base track 552 is defined between the starting point 561 (connection point) and the ending point 562 (connection point). For base track 552, the pre-transition section 571 and the post-transition section 572 are defined.

[0046] The forward transition section 571 is the transition section on the front (starting point) side of the base track 552, and the starting point of the forward transition section 571 is the starting point 561 of the target base track 552. The backward transition section 572 is the transition section on the rear (ending point) side of the base track 552, and the ending point of the backward transition section 572 is the ending point 562 of the target base track 552. The starting point of the backward transition section 572 and the ending point of the forward transition section 571 are separated, and the section between them is a non-transition section.

[0047] Returning to Figure 6, the previous transition section column 504 includes the section length column 511, the tolerance column 512, and the track type column 513. The subsequent transition section column 505 includes the section length column 521, the tolerance column 522, and the track type column 523. The information stored in the previous transition section column 504 and the subsequent transition section column 505 is information specified by the user via the work instruction device 12.

[0048] The section length columns 511 and 521 indicate the section length of the transition section in the base orbit. As explained with reference to Figure 7, the starting point of the previous transition section coincides with the starting point of the base orbit, so the section length defines the ending point of the previous transition section. Similarly, the ending point of the subsequent transition section coincides with the ending point of the base orbit, so the section length defines the starting point of the subsequent transition section.

[0049] The tolerance columns 512 and 522 indicate the tolerance for errors from the reference value at the connection point between the transition section and the previous or next section. The reference value may be the base trajectory itself or a value based on the base trajectory generated therefrom. As described later, the error at the connection point on the preceding side of the transition section is the actual value, while the error at the connection point on the succeeding side is an estimated (predicted) value. Tolerances can be expressed in various types of values. For example, tolerances can be expressed in coordinates, velocity, acceleration, angular velocity, angular acceleration, load, etc.

[0050] As will be described later, if the error is within the tolerance limit, control will be performed by the AI ​​model associated with the base orbit, rather than control specific to the transition section. The AI ​​model associated with the base orbit is shown in the AI ​​name column 403 of the base orbit information 321.

[0051] The track type columns 513 and 523 indicate the model (function) used in the transition section. The model used in the transition section may be either a machine learning model or a rule-based model. In this example, the transition section is set according to the user's specifications. In other examples, the control device 14 may define the transition section according to pre-set rules.

[0052] The processing of the control device 14 will be described below. Figures 8A and 8B show flowcharts of an example of robot 10 control processing by the control device 14. Referring to Figure 8A, in step S11, the calculation unit 31 reads information necessary for controlling the robot 10's motion from the input information received from the transport motion generation device 11 and the work instruction device 12 and stored in the storage unit 32. The information read includes base trajectory information 321 and transition section information 322.

[0053] Next, in step S12, the AI ​​model generation unit 312 refers to the transition section information 322 and, if there is a transition section where the trajectory type is "synthetic AI", generates a synthetic AI model from the AI ​​models selected from the AI ​​model group 315 according to a predetermined method.

[0054] Next, the calculation unit 31 performs robot control based on the base trajectory in the order of the trajectory numbers indicated by the base trajectory information 321. The calculation unit 31 performs steps S14 to S29 for each base trajectory. The Nth base trajectory refers to the base trajectory of any trajectory number indicated by the base trajectory information 321.

[0055] In step S14, the calculation unit 31 assigns 0 to the variable STATUS. The variable STATUS is a variable that indicates whether or not a control specific to the transition interval is executed. The calculation unit 31 moves to the next waypoint of the current base orbit (the Nth base orbit), and performs steps S16 to S27 at each waypoint of the current base orbit.

[0056] In step S16, the correction value calculation unit 311 refers to the transition section information 322 to determine whether the current waypoint corresponds to the starting point of the previous transition section. Specifically, if the transition section information 322 defines a previous transition section relative to the current base orbit, and the current waypoint corresponds to the starting point of the current base orbit, the transition section begins. The actual orbit is determined based on the base orbit and the correction value calculated by the correction value calculation unit 311. The actual waypoints may deviate from the waypoints of the base orbit. Since the correction value calculation unit 311 calculates the correction value based on the base orbit, the actual waypoints and the waypoints of the base orbit are associated.

[0057] If the current waypoint is not the starting point of the previous transition section (S16: NO), the flow proceeds to step S19. If the current waypoint is the starting point of the previous transition section (S16: YES), in step S17, the correction value calculation unit 311 determines whether the error of a predetermined value at the current waypoint (current state) is within the allowable range. The object for which the error is calculated and the allowable range of the error value are shown in the allowable error column 512 of the transition section information. The type of error is defined for each transition section and may be, for example, the position of a predetermined point of the item 4 or hand 3, its velocity or acceleration, or the angle, angular velocity, angular acceleration of the item 4 or hand from the reference posture.

[0058] If the error is outside the acceptable range (S17: NO), in step S18, the correction value calculation unit 311 assigns 1 to the variable STATUS. The flow then proceeds to step S21. If the error is within the acceptable range (S17: YES), in step S19, the correction value calculation unit 311 determines whether the current position is the endpoint of the previous transition section. The correction value calculation unit 311 refers to the transition section information 322 to determine the endpoint of the previous transition section in the base orbit and compares it with the waypoint in the base orbit corresponding to the current waypoint.

[0059] If the current waypoint is the end of the previous transition section (S19: YES), in step S20, the correction value calculation unit 311 assigns 0 to the variable STATUS. The flow then proceeds to step S21. If the current waypoint is not the end of the previous transition section (S19: NO), the flow proceeds to step S21.

[0060] In step S21, the correction value calculation unit 311 acquires current state information. The state information may include robot state information input from robot 10, and state information of the item 4 and surroundings input from sensor 5 and imaging device 13. The state information referenced for calculating the correction amount is pre-set and depends on the design of the correction value calculation unit 311.

[0061] In step S22, the correction value calculation unit 311 calculates the correction value from the next waypoint of the base orbit based on the acquired state information, base orbit information 321, and transition section information 322. Details of the method by which the correction value calculation unit 311 calculates the correction value will be described later.

[0062] In step S23, the control unit 318 generates a control signal to the robot 10, using the sum of the value of the waypoint in the base trajectory indicated by the base trajectory information 321 and the correction value as the waypoint for the next target, and instructs the robot 10 to move to the next waypoint.

[0063] In step S24, the control unit 318 refers to the transition section information 322 to determine whether the current waypoint is the starting point of the backward transition section (the forward connection point of the transition section). Specifically, the control unit 318 determines whether the current waypoint corresponds to the starting point of the backward transition section based on the waypoint of the base track that the current waypoint corresponds to and the information of the starting point of the backward transition section indicated by the transition section information 322. If the current waypoint does not correspond to the starting point of the backward transition section (S24: NO), the flow returns to step S16.

[0064] If the current waypoint corresponds to the start point of the transition section (S24: YES), in step S25, the state estimation unit 314 at the connection point estimates the state of the robot 10 at the connection point between the backward transition section and the next section. This estimation is a prediction of the future state. The connection point is the end point of the current base trajectory. As an example, the state estimation unit 314 at the connection point estimates the state of the robot 10 at the connection point using the simulator 316. The simulator 316 predicts (estimates) the state of the robot at the connection point from the current state of the robot 10 and the information of the waypoints of the base trajectory up to the connection point.

[0065] In step S26, the state determination unit 313 at the connection point determines whether the estimated error value (predicted error value) between the predicted state and the state indicated by the base trajectory is within an acceptable range. The object for calculating the error and the acceptable range of the error value are shown in the acceptable error column 522 of the transition section information. The type of error is defined for each transition section and may be, for example, the position of a predetermined point on the item 4 or hand 3, its velocity or acceleration, or the angle, angular velocity, angular acceleration of the item 4 or hand 3 from the reference posture. Note that the point for predicting the error may be a point different from the connection point, and the error prediction may be performed before the start of the transition section.

[0066] If the error estimate is within the acceptable range (S26: YES), the flow returns to step S16. If the error estimate is outside the acceptable range (S26: NO), in step S22, the state determination unit 313 at the connection point assigns 1 to the variable STATUS. The flow returns to step S16.

[0067] When steps S16 to S27 above are performed for all waypoints of the target trajectory, the robot 10 is currently located at the end point of the base trajectory, that is, the starting point of the next base trajectory. In step S28, the state determination unit 313 at the connection point determines whether the error of the current state to the reference state is within an acceptable range. The determination in this step may be made using the explanation in step S26.

[0068] If the error is outside the acceptable range (S28: NO), in step S29, the control unit 318 temporarily stops the robot 10 until the error is within a predetermined range. The temporary stop of the robot 10 keeps setting the waypoint of the target immediately before the stop as the next waypoint. As a result, the robot is controlled to approach the waypoint, reducing the error and suppressing unstable movement between base trajectories. After the error is within the acceptable range, the process moves to the next base trajectory. If the error is within the acceptable range (S28: YES), the process moves to the next base trajectory without temporarily stopping the robot.

[0069] Once the robot's movements along all base trajectories are complete, the calculation unit 31 saves the data from the current movements to the trajectory performance information 323 in the storage unit 32. The trajectory performance information 323 shows information about the waypoints along the actual trajectory.

[0070] Next, the correction value calculation process by the correction value calculation unit 311 in step S22 of Figure 8A will be explained. Figure 9 shows a flowchart of an example of processing by the correction value calculation unit 311. In step 52, the correction value calculation unit 311 checks whether the value of the variable STATUS is 1 or 0. If the value of the variable STATUS is 1, it means that the current waypoint is within the transition section and the error at the connection point of the transition section was outside the acceptable range. On the other hand, if the value of the variable STATUS is 0, it means that the current waypoint is outside the transition section, or that the current waypoint is within the transition section and the error at the connection point of the transition section was within the acceptable range.

[0071] If the value of the variable STATUS is 0 (S52: YES), in step S54, the correction value calculation unit 311 selects the AI ​​model associated with the base orbit in the base orbit information 321, that is, the AI ​​model indicated in the AI ​​name column 403, from the AI ​​model group 315, and calculates the correction value using that AI model.

[0072] If the value of the variable STATUS is 1 (S52:NO), in step S53, the correction value calculation unit 311 selects a correction value calculation model corresponding to the transition interval. The correction value calculation model for the transition interval is specified in the transition interval information 322. Examples of specified correction value calculation models are the asymptotic orbit generation model, the composite AI model, or the primary stationary orbit generation model. In steps S55, S56, or S57, the correction value calculation unit 311 calculates the correction value using one of the correction value calculation models.

[0073] The following describes some examples of control in transition intervals. These descriptions are examples of control in transition intervals, and it is possible to implement control in various other transition intervals.

[0074] Figure 10 shows an example of robot 10's operation, illustrating the process of removing an object inserted into a base pin and then transporting it. Before the operation, the object 4 is placed on the base 660, and the pin of the base 660 is inserted into the hole in the object 4. The solid lines show the actual initial state of the object 4 and base 660, while the dashed lines show their planned initial state. The actual state of the object 4 and base 660 is tilted relative to the planned state.

[0075] Two base orbits, 601 and 602, are defined. Base orbits 601 and 602 are shown by dashed lines. For example, the orbit number of base orbit 601 is 1, and the orbit number of base orbit 602 is 2. A pre-transition section 611 is defined for base orbit 602. The pre-transition section 611 is the section from waypoint 621 to waypoint 621.

[0076] The calculation unit 31 of the control device 14 uses AI model AI1 for the base track 601 and AI model AI2 for the base track 602. AI1 is a model optimized for pulling out the item 4, and AI2 is an AI model optimized for transporting the item 4.

[0077] For example, in the base trajectory 601, the calculation unit 31 controls the robot 10 with an AI model optimized to remove the object 4 straight from the pin. This control prioritizes the posture of the object 4. In the next base trajectory 602, the calculation unit 31 controls the robot 10 with an AI model optimized to move the object 4 quickly while considering the centrifugal force acting on the object 4. This control prioritizes the position of the object 4. If the endpoint of the base trajectory 601 is deviated from the base trajectory as a result of control with the posture-prioritizing AI model, and the system switches to the next position-prioritizing AI model, a sudden change in trajectory may occur to correct the positional deviation, potentially making the behavior of the robot 10 unstable.

[0078] In Figure 10, the actual track 641, which corresponds to the base track 601, is shown as a solid line and differs from the base track 601. The base track 601 is the track from the starting point 630 to the intermediate point 621, while the actual track 641 is the track from the starting point 630 to the intermediate point 631. The calculation unit 31 determines the actual track 641 according to AI_1, the base track 601, and the state of item 4. Because the actual initial state of item 4 is tilted relative to the planned initial state, the base track 601 and the actual track 641 are different.

[0079] The actual endpoint 631 (intermediate point) of orbit 641 corresponds to the endpoint 621 of base orbit 601. Endpoint 621 is the starting point (connection point) of transition section 611. An error exists between intermediate point 631 and the corresponding intermediate point 621 of the base orbit, and in this example, this error is outside the acceptable range. Therefore, the calculation unit 31 uses a correction value calculation model that is pre-set for transition section 611 in the section corresponding to transition section 611.

[0080] In the example shown in Figure 10, the calculation unit 31 uses an asymptotic model to calculate a correction value that asymptotically approaches the base trajectory. The asymptotic model takes, for example, the current actual waypoint, the next waypoint in the base trajectory 602, and the endpoint 622 of the transition section 611 as inputs to calculate a correction value for the next waypoint. The robot 10 moves along the actual trajectory 651 from waypoint 631 to 622. After waypoint 622, the calculation unit 31 uses AI2 associated with the base trajectory 602 to calculate a correction value.

[0081] In this example, the robot control allows switching control models without pausing the robot 10. Therefore, delays in the robot 10's work can be suppressed. However, as shown in the example described later with reference to Figure 12, the robot 10 may be paused when switching control models.

[0082] Next, we will describe another example of control in the transition section. Figure 11 shows an example of robot 10's operation, which involves pulling an item inserted into a base pin from the pin and then transporting it. The example shown in Figure 11 is the same as the example shown in Figure 10, except for the method of calculating the correction value in the transition section. The differences from the example shown in Figure 10 will be mainly explained below.

[0083] In the example shown in Figure 11, the calculation unit 31 uses a composite AI model to calculate the correction value in the transition interval. In this example, the calculation unit 31 generates a composite model AI3 from AI1 for base trajectory 601 and AI2 for base trajectory 602. This suppresses unstable operation of the robot 10.

[0084] In one example, the calculation unit 31 divides the transition section 611 into N sections and determines the AI3 to be used in the section of the actual orbit corresponding to each divided section based on the following formula. AI3_n = AI1*n / N + AI2*(Nn) / N

[0085] AI3_n is the nth AI model used in the transition interval. AI1 is the AI ​​model for base orbit 601, and AI2 is the AI ​​model for base orbit 602. N is a natural number, and n is a natural number less than or equal to N. In Figure 11, for example, the calculation unit 31 uses AI3_1 between waypoints 631 and 711, and switches the model used to AI3_2 at waypoint 712. Subsequently, the calculation unit 31 switches the models used to AI3_3 and AI3_4 at waypoints 713 and 714, respectively.

[0086] The calculation unit 31, for example, apportions the weight values ​​in the neural networks constituting AI1 and AI2 using the above formula. The network configurations of AI1 and AI2 are the same, with only the weight values ​​differing. In another example, the calculation unit 31 apportions the correction values ​​output by the two models AI1 and AI2 according to the above formula.

[0087] Next, another example of control in the transition section will be described. Figure 12 shows an example of robot 10 operation in which it transports an item 4 and inserts the item 4 into a pin on the base 660. An item 4 has a hole formed in it, and the item 4 is inserted into the pin so that the pin fits into the hole.

[0088] Two base orbits, 602 and 603, are defined. Base orbits 602 and 603 are shown by dashed lines. For example, the orbit number of base orbit 602 is 2, and the orbit number of base orbit 603 is 3. A backward transition section 612 is defined for base orbit 602. The backward transition section 612 is the section from viapoint 625 to viapoint 626. Viapoint 626 is the connection point between base orbits 602 and 603.

[0089] The calculation unit 31 of the control device 14 uses AI2 for the base track 603 and AI model AI4 for the base track 603. AI2 is an AI model optimized for transporting the item 4, and AI4 is a model optimized for inserting the item 4 into the pins of the base 660.

[0090] For example, the calculation unit 31 controls the robot 10 with an AI model optimized to move the object 4 quickly while considering the centrifugal force acting on the object 4 in the base trajectory 602. This control prioritizes the position of the object 4. The calculation unit 31 controls the robot 10 with an AI model optimized to insert the object 4 straight into the pin in the base trajectory 603. This control prioritizes the posture of the object 4.

[0091] As a result of control using a position-prioritizing AI model, when object 4 reaches the connection point of base trajectories 602 and 603, it may be tilted significantly. This can cause the AI4's position and orientation control of base trajectory 603 to cause the robot 10 to move in a way that causes object 4 to shake violently, potentially leading to unstable robot operation. In this state, if the insertion operation is performed with the next AI model, object 4 may collide with the base 660. Thus, unstable operation of the robot 10 can occur when switching AI models.

[0092] The calculation unit 31 estimates the state of the robot 10 at the actual waypoint (not shown) corresponding to the starting point 625 of the backward transition section 612, and at the waypoint corresponding to the connection point 626 with the next base trajectory 603. As explained with reference to Figure 8B, the calculation unit 31 can estimate the state of the robot 10 using the simulator 316.

[0093] Furthermore, the calculation unit 31 compares the error between the estimated state and the connection point 626 (planned state) of the base trajectory with an error range predetermined in the transition section information 322. Here, the specified error may be, for example, the angle, angular velocity, or angular acceleration of the object 4. The calculation unit 31 holds information for controlling the robot 10 to change the attitude and position of the object 4.

[0094] If the estimated error is within the error range, the calculation unit 31 controls the robot 10 using the AI2 of the base trajectory 602. If the estimated error is outside the error range, the calculation unit 31 controls the robot 10 using the model set for the backward transition section 612. Here, the calculation unit 31 uses a model that pauses at the point corresponding to the connection point 626. The calculation unit 31 continues to set the waypoint of the target immediately before the pause as the next waypoint. In this way, the calculation unit 31 controls the robot 10 to approach the waypoint. This allows the change in posture of the object 4 to be stabilized.

[0095] The calculation unit 31 confirms that the current state of the paused robot 10 is within the allowable error range, then releases the pause and starts robot control on the next base trajectory 603. The control model used is AI4, which is specified for the base trajectory 603.

[0096] As illustrated by the processing examples described with reference to Figures 10 to 12, unstable operation during control model switching can be suppressed. The robot control of this disclosure is not limited to operations such as extracting, transporting, and inserting items by a 6-axis robot, as in the examples above, but can be applied to various operations of various robots, such as screw tightening, and taking and placing items from boxes and shelves. Furthermore, the control model used in the transition section is not limited to the examples above. For example, in the example with reference to Figure 12, the position change is temporarily paused and the posture change is stabilized, but in other examples, the relationship between the position change and the posture change may be reversed.

[0097] Figure 13 shows an example of a transition section setting screen. The setting screen can be displayed, for example, on the display device of the work instruction device 12, or on the display device of a user terminal that accesses the work instruction device 12 via a network. In the example setting screen shown in Figure 13, the user can input information for the transition section and set it on the control device 14, and then check the planned trajectory (base trajectory) and the actual trajectory of the robot 10.

[0098] In Figure 13, the specified parameter table 810 is a table for the user to input settings for the transition interval. The specified parameter table 810 has the same configuration as the transition interval information 322 shown in Figure 6.

[0099] The performance table 830 shows information about the robot 10's operation during the transition section. In the example shown in Figure 13, it shows information such as the predicted and actual error values ​​in the transition section, and the pause time in the pause control. Image 850 shows the robot 10's planned trajectory (base trajectory) and the trajectory during its actual operation. The numbers 1 to 3 indicate the trajectory numbers of the base trajectory, respectively.

[0100] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are included. For example, the embodiments described above are explained in detail for a better understanding of the present invention, and are not necessarily limited to those having all of the configurations described. Furthermore, it is possible to replace parts of the configuration of one embodiment with the configuration of another embodiment, and it is possible to add configurations from other embodiments to the configuration of one embodiment. In addition, it is possible to add, delete, or replace parts of the configuration of each embodiment with other configurations.

[0101] Furthermore, each of the above configurations, functions, processing units, and processing means may be implemented in hardware, either partially or entirely, by designing them as integrated circuits, for example. Alternatively, each of the above configurations and functions may be implemented in software by a processor interpreting and executing programs that implement each function. Information such as programs, tables, and files that implement each function can be stored in storage devices such as non-volatile semiconductor memory, hard disk drives, and SSDs (Solid State Drives), or in computer-readable non-temporary data storage media such as IC cards, SD cards, and DVDs.

[0102] Furthermore, the control lines and information lines shown are those deemed necessary for explanation purposes, and do not necessarily represent all control lines and information lines in the actual product. In practice, it can be assumed that almost all components are interconnected. [Explanation of Symbols]

[0103] 1 Link 3 Hands 4 Goods 5 sensors 10 Robots 11. Transport motion generation device 12 Work instruction device 13 Imaging device 14 Control device 31 Arithmetic section 32 Storage section 102 processors 103 Main storage 104 Auxiliary storage 105 Input device 106 Output device 311 Correction Value Calculation Unit 312 AI Model Generation Unit 313 State determination unit at connection point 314 State estimation unit at connection point 315 AI Models 316 Simulator 317 AI Model Learning Department 318 Control Unit 322 Transition Section Information 321 Baseline Orbital Information 323 Orbital Performance Information

Claims

1. A control device for an automatic machine, One or more processors, Includes one or more storage devices, The one or more storage devices mentioned above are Base orbit Node, base orbit information, It manages the transition section and stores transition section information, The aforementioned base orbit information includes information for a continuous first base orbit and a second base orbit, The base orbit information specifies a first machine learning model set for the first base orbit, The aforementioned base orbit information specifies a second machine learning model set for the second base orbit, The transition interval information specifies a first transition control method for the automatic machine in the first transition interval, which is different from the control by the first machine learning model. The first transition section is set in the first base orbit and includes the connection point between the first base orbit and the second base orbit. The one or more processors mentioned above are: Determine whether the actual or predicted trajectory of the automatic machine at a predetermined point is within a preset error range. If the actual or predicted trajectory is within the error range, the first machine learning model is used to control the automated machine in the first transition section. A control device that controls the automatic machine in the first transition section using the first transition control method when the actual or predicted trajectory is outside the error range.

2. A control device according to claim 1, The first transition control method is a control device that temporarily stops the automatic machine.

3. A control device according to claim 2, The second base orbit is a base orbit that follows the first base orbit. The predetermined point is the connection point, The processor, in addition to the above, is a control device that determines at the starting point of the first transition section whether the predicted trajectory at the predetermined point is within the preset error range.

4. A control device according to claim 1, The first transition control method is a control device that controls the automated machine using a model generated from the first machine learning model and the second machine learning model.

5. A control device according to claim 4, The second base orbit is the base orbit prior to the first base orbit. The predetermined point is the connection point, The processor, in addition to the above, is a control device that determines whether the actual trajectory at the connection point is within the preset error range.

6. A method for controlling an automatic machine using a control device, The control device is Base orbit Node, base orbit information, It manages the transition section and stores transition section information, The aforementioned base orbit information includes information for a continuous first base orbit and a second base orbit, The base orbit information specifies a first machine learning model set for the first base orbit, The aforementioned base orbit information specifies a second machine learning model set for the second base orbit, The transition interval information specifies a first transition control method for the automatic machine in the first transition interval, which is different from the control by the first machine learning model. The first transition section is set in the first base orbit and includes the connection point between the first base orbit and the second base orbit. The control method described above involves the control device, Determine whether the actual or predicted trajectory of the automatic machine at a predetermined point is within a preset error range. If the actual or predicted trajectory is within the error range, the first machine learning model is used to control the automated machine in the first transition section. A control method for controlling the automatic machine in the first transition section using the first transition control method when the actual or predicted trajectory is outside the error range.