Control system, control method, and program

A path planning method that generates global and local paths through model predictive control solves the problem of inappropriate paths in robot motion planning and achieves precise robot motion control and obstacle avoidance.

CN120677444APending Publication Date: 2025-09-19PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202480014259.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-03-08
Filing Date
2024-01-26
Publication Date
2025-09-19

AI Technical Summary

Technical Problem

In the prior art, robot motion planning methods cannot effectively generate appropriate motion paths, resulting in poor motion control effects on the controlled object.

Method used

Model predictive control (MPC) is used to generate the global path and local path from the starting point to the target point. The first target path and the second target path data are output by the first path generation unit and the second path generation unit respectively, and the control unit determines the manipulated variables to achieve precise motion control of the robot.

Benefits of technology

The accuracy and efficiency of robot motion control are improved, enabling it to effectively avoid obstacles and accurately reach the target point.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120677444A_ABST
    Figure CN120677444A_ABST
Patent Text Reader

Abstract

The present invention improves motion control of a control object. A control system (1) performs motion control from a start point (S1) to a target point (S2) of a control object (such as a robot (Rb1), etc. A control system (1) is provided with a first path generation unit (11), a second path generation unit (12), and a control unit (13). A first path generation unit (11) uses first model predictive control to output first path data relating to a first target path (G1) to be controlled for a global path (A1) leading from a starting point (S1) to a target point (S2). The first target path (G1) comprises at least one passing point (P1). A second route generation unit (12) outputs second route data on the basis of the first route data using second model predictive control. The second path data is data pertaining to a second target path (G2) of the control object for each of a plurality of local sections (B1) defined by dividing the global path (A1) on the basis of at least one passage point (P1). The control unit (13) determines a manipulated variable for the control object on the basis of the second path data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to control systems, control methods, and programs. More particularly, the present disclosure relates to control systems, control methods, and programs having a model predictive control function. Background Art

[0002] Patent document 1 discloses a motion planning method designed to avoid collisions of a manipulator from a starting point to a target point. The motion planning method includes three processes, wherein the first process and the second process are processes related to planning. The third process includes actually controlling the robot. The first process is motion planning that can be repeated by a global planner. The second process is continuous motion planning to be performed by a local planner. The third process includes planning based on the first plan and the second plan by controlling the drive of the robot. The global motion plan drawn by the global planner is based on a driving road map (DRM). The local planner is based on model predictive control.

[0003] Prior art literature

[0004] Patent Literature

[0005] Patent Document 1: Japanese Patent Application Laid-Open No. 2020-40205 Summary of the Invention

[0006] According to the motion planning method described in Patent Document 1, it may still be impossible to obtain an appropriate motion plan (target path) for a control object such as a robot, etc. Therefore, there is still room for improvement regarding motion control of a control object.

[0007] In view of the foregoing background, it is therefore an object of the present disclosure to provide a control system, a control method, and a program, all of which contribute to improved motion control of a control object.

[0008] A control system according to one aspect of the present disclosure performs motion control on a controlled object from a starting point to a target point. The control system includes a first path generating unit, a second path generating unit, and a control unit. The first path generating unit uses a first model predictive control to output first path data related to a first target path of the controlled object for a global path from the starting point to the target point. The first target path includes at least one passing point. The second path generating unit uses a second model predictive control to output second path data based on the first path data. The second path data is data related to the second target path of the controlled object for each of a plurality of local segments defined by dividing the global path based on the at least one passing point. The control unit determines a manipulated variable for the controlled object based on the second path data.

[0009] According to another aspect of the present disclosure, a control method is a method for controlling a control system that performs motion control of a control object from a starting point to a target point. The control method includes a first path generating step, a second path generating step, and a control step. The first path generating step includes: using a first model predictive control to output first path data related to a first target path of the control object for a global path from the starting point to the target point. The first target path includes at least one passing point. The second path generating step includes: using a second model predictive control to output second path data based on the first path data. The second path data is data related to the second target path of the control object for each local segment of a plurality of local segments defined by dividing the global path based on the at least one passing point. The control step includes: determining a manipulated variable for the control object based on the second path data.

[0010] A program according to yet another aspect of the present disclosure is designed to cause one or more processors to perform the above-mentioned control method.

[0011] The present disclosure achieves advantages that contribute to improved motion control of a control object. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 is a block diagram illustrating a configuration of a control system according to an exemplary embodiment;

[0013] Figure 2 is a conceptual diagram illustrating a control object (robot) to which the control system is applied;

[0014] Figure 3 It is a graph used to describe what the prediction time domain is in a control system;

[0015] Figure 4A is a conceptual diagram illustrating the target path of the control system;

[0016] Figure 4B is a conceptual diagram illustrating another target path of the control system;

[0017] Figure 4C is a conceptual diagram illustrating another target path of the control system;

[0018] Figure 5 is a flow chart illustrating how the control system operates to perform global path planning; and

[0019] Figure 6 is a flow chart showing how the control system operates to perform local path planning. DETAILED DESCRIPTION

[0020] (summary)

[0021] A control system, a control method, and a program according to a typical embodiment and its variations will now be described with reference to the accompanying drawings. Note that the embodiments and their variations to be described below are merely typical embodiments among the various embodiments and their variations of the present disclosure and should not be construed as restrictive. On the contrary, the typical embodiment and its variations can be easily modified in various ways according to design choices or any other factors without departing from the scope of the present disclosure. Alternatively, the structure according to any variation to be described later may be appropriately adopted in combination with the structure of the typical embodiment or (one or more than one) any other variation.

[0022] Figure 1 is a block diagram illustrating the configuration of a control system 1 according to an exemplary embodiment. Figure 2 is a conceptual diagram illustrating a robot Rb1 as an exemplary control object to which the control system 1 is applied. Figure 1 ) is a system that uses a function of model predictive control (hereinafter abbreviated as "MPC") for predicting future responses at each time point while performing optimization.

[0023] The control system 1 is configured to use the prediction result using MPC to control the robot Rb1 (refer to Figure 1 and Figure 2 ) performs motion control. MPC solves an optimization problem based on a model of the controlled object (robot Rb1) at each control cycle, and control system 1 performs feedback control of the controlled object (robot Rb1) based on the results. In other words, control system 1 uses the prediction results of MPC to provide control input to the controlled object (robot Rb1).

[0024] Note that the control object (control target) according to the present disclosure is not limited to the robot Rb1 but may be a control object of a different drive system. For example, the control object may be equipment such as a transportation vehicle, a car, an airplane, or a drone.

[0025] In this embodiment, if Figure 1 As shown, the control system 1 controls the motion of a controlled object (such as a robot Rb1) from a starting point S1 to a target point S2. Specifically, the control system 1 generates a target path (path plan) from the starting point S1 to the target point S2 and controls the posture, position, and other parameters of the controlled object (robot Rb1) according to the path plan.

[0026] The robot Rb1 may be any type of robot without limitation. For example, the robot Rb1 may be a multi-joint robot. In particular, Figure 2As shown, the robot Rb1 is assumed herein to be an arm-shaped vertical multi-joint robot. The vertical multi-joint robot (robot Rb1) is assumed herein to be an operating robot (industrial robot) used to perform a predetermined type of task on a given workpiece in a facility such as a factory. However, the robot Rb1 is not limited to an industrial robot. The task may be, for example, a task of assembling a workpiece, a task of packaging a workpiece, or a task of performing surface treatment (such as polishing) on ​​a workpiece. The vertical multi-joint robot (robot Rb1) has at its arm front end portion 51 (reference Figure 2 ) holds the end effector E1 for polishing and performs the task via the end effector E1.

[0027] like Figure 1 As shown, the control system 1 includes a first path generating unit 11 , a second path generating unit 12 and a control unit 13 .

[0028] The first path generation unit 11 uses the first model predictive control to generate a global path A1 (refer to Figure 1 ), output and control the first target path G1 (reference Figure 1 ) related to the first path data. The first target path G1 includes at least one passing point P1 (reference Figure 1 The second path generation unit 12 uses the second model predictive control to output the second path data based on the first path data. The second path data is for a plurality of local segments B1 (refer to FIG. 1 ) defined by dividing the global path A1 based on at least one passing point P1. Figure 1 ) of each of the second target path G2 (reference Figure 1 The control unit 13 determines the manipulated variable for the control object based on the second path data.

[0029] In this control system 1, based on the first path data including the passpoint P1 obtained by using the first model predictive control, the second path data per local segment B1 is output using the second model predictive control. Therefore, this control system 1 achieves the advantage of contributing to improved motion control of the controlled object.

[0030] According to another aspect, a control method is a method for controlling a control system 1 that performs motion control of a controlled object from a starting point S1 to a target point S2. The control method includes a first path generation step, a second path generation step, and a control step. The first path generation step includes outputting first path data related to a first target path G1 of the controlled object for a global path A1 from the starting point S1 to the target point S2 using a first model predictive control. The first target path G1 includes at least one passing point P1. The second path generation step includes outputting second path data based on the first path data using a second model predictive control. The second path data is data related to a second target path G2 of the controlled object for each of a plurality of local segments B1 defined by dividing the global path A1 based on at least one passing point P1. The control step includes determining a manipulated variable for the controlled object based on the second path data. This control method achieves advantages that contribute to improved motion control of the controlled object.

[0031] The control method is used on a computer system (i.e., control system 1). That is, the control method can also be implemented as a computer program. According to another aspect, the program is designed to cause one or more processors to perform the above-mentioned control method. Optionally, the program can be stored on a computer-readable non-transitory storage medium.

[0032] (Details)

[0033] (1) Overall structure

[0034] Now refer to Figures 1 to 4C The overall system including the control system 1 and its peripheral constituent elements according to the present embodiment will be described in detail. In the following description, the control system 1 will be described assuming that the control object is the robot Rb1. Figure 3 It is a graph for describing what the prediction time domain is in the control system 1 . Figures 4A to 4C 1 is a conceptual diagram illustrating a target path of the control system 1 .

[0035] As described above, the control system 1 performs motion control of, for example, the robot Rb1 , which is an industrial robot for performing a predetermined type of task on a workpiece, from the starting point S1 to the target point S2 .

[0036] The robot Rb1 is a so-called "manipulator" having a structure similar to that of a human arm and may be, for example, an arm-shaped vertical multi-joint robot. The number of axes of the robot Rb1 is not limited to any particular number. The robot Rb1 may have, for example, six or seven axes of freedom. The robot Rb1 includes: a plurality of movable portions 50 (refer to FIG. 5 ) including an arm front end portion 51; Figure 2); a single or multiple motors M1 (reference Figure 1 ; such as servo motors, etc.); and reduction mechanisms.

[0037] End effector E1 (reference Figure 2 ) can be attached to the front end portion 51 of the robot Rb1. The front end portion 51 of the robot Rb1 can touch or hold a workpiece via the end effector E1. The control system 1 is electrically connected to the control target (for example, the robot Rb1 in this example) and is configured to provide control input to the control target (robot Rb1). In this embodiment, it is assumed that the control target of the control system 1 is a single motor or multiple motors M1 of the robot Rb1.

[0038] Control system 1 obtains control outputs from robot Rb1, the controlled robot. Robot Rb1 is equipped with, for example, an encoder for measuring the position, speed, and other parameters of motor M1, as well as a force sensor for measuring the contact force of robot Rb1. Control system 1 obtains data related to the position, speed, contact force, and other parameters of motor M1 from robot Rb1 as controlled variables. Note that controlled variables can include disturbances caused by robot Rb1. Examples of disturbances include vibrations caused by the movement of robot Rb1.

[0039] Examples of the route of the robot Rb1 from the starting point S1 to the target point S2 include a route R1 that bypasses an obstacle C1 or a specific space (refer to Figure 2 In the following description, it is assumed that the route R1 is a route that bypasses the obstacle C1. Alternatively, the route R1 may be a route that bypasses a specific space where no entity (obstacle C1) exists.

[0040] exist Figure 2 In the illustrated example, a rectangular box-shaped object (obstacle C1) is mounted on the workbench K1. When the robot Rb1 performs a packaging task, the obstacle C1 can be, for example, a cardboard box used to package the workpiece. Alternatively, the obstacle C1 can be the workpiece itself.

[0041] Figure 2 The robot Rb1 is shown as an example of how to control the motion of the end effector E1 so that it moves along a route R1 from the left side C11 of the obstacle C1 (as the starting point S1), across the upper surface C12 of the obstacle C1, and toward the right side C13 of the obstacle C1 (as the target point S2). The route R1 can be a curved route, for example.

[0042] Control system 1 includes a computer system comprising one or more processors and memory. At least some of the functions of control system 1 are performed by having the computer system's processor execute a program stored in the computer system's memory. The program may be pre-stored in the memory. Alternatively, the program may be downloaded via a telecommunications line such as the Internet, or distributed after being stored on a non-transitory storage medium such as a memory card.

[0043] like Figure 1 As shown, the control system 1 includes a model predictive controller 10, a motion controller 3, a state estimation unit 4, and a host controller 7. In other words, the control system 1 performs the respective functions of the model predictive controller 10, the motion controller 3, the state estimation unit 4, and the host controller 7. These functions of the control system 1 can be housed in a single housing or distributed across multiple housings, whichever is appropriate. Note that the host controller 7 does not necessarily have to be one of the components of the control system 1.

[0044] The state estimation unit 4 is electrically connected to the encoders, force sensors, and other components provided for the robot Rb1 to receive signals including data related to controlled variables. The state estimation unit 4 estimates the state of the robot Rb1 based on the controlled variables and outputs the estimation results to the model predictive controller 10. For example, the state estimation unit 4 estimates the position of the robot Rb1 (specifically, the position of the arm front end portion 51 or the end effector E1) and the angles formed by the corresponding movable joints of the robot Rb1 based on the controlled variables. In other words, "data related to the controlled variables output by the robot Rb1" is, for example, data related to the position of the robot Rb1 and the angles formed by the corresponding movable joints. However, this is merely an example and should not be construed as limiting. Alternatively, the "data related to the controlled variables output by the robot Rb1" may also be data related to the controlled variables themselves (such as the position of the motor M1, the speed of the motor M1, the contact force, or any other parameter).

[0045] The model predictive controller 10 has an MPC function. The model predictive controller 10 includes a storage unit. The storage unit includes an electrically programmable nonvolatile semiconductor memory such as a flash memory. The storage unit stores a prediction model (predictor) related to the robot Rb1. As the prediction model, a transfer function model or a state space model can be used, for example.

[0046] As part of MPC, rolling horizon control (RH control) is performed, in which a control output profile is optimized for a predetermined amount of time from the current moment to a future point in time, using only the initial value of that profile as the control input profile. RH control is a control technique for optimizing the response at each point in time until a future point in time that is a finite amount of time later than the current moment. In RH control, the estimated time length of the output profile is used as the prediction horizon, and the estimated length of the input profile is used as the control horizon. The control horizon is generally shorter than the prediction horizon.

[0047] The model predictive controller 10 according to this embodiment performs control so that the data based on the controlled variables output by the robot Rb1 agrees with the command value (target value) provided by the host controller 7. The command value (target value) includes data specifying the target point S2. The model predictive controller 10, for example, uses a state space model of the robot Rb1, defines state variables in a state where the position of the end effector E1 provided by the state estimation unit 4 and the corresponding angles formed by the movable joints of the robot Rb1 are regarded as state quantities, and calculates such manipulated variables that optimize (e.g., minimize) the deviations of the positions and angles (i.e., the differences from the corresponding target values).

[0048] Figure 3 is a graph showing an exemplary prediction time domain. Figure 3 In , the horizontal axis indicates time, and the vertical axis indicates the output of the control object (for example, the joint angle formed by one movable joint of the robot Rb1). Figure 3 In , the solid circles at time t0 and time t1 (current time) are the actual values ​​of the joint angles, and the hollow circles at time t2, t3, and t4 are the predicted values. Figure 3 In , ΔT0 specifies the sampling period (sampling time) for data related to joint angles. Figure 3 In the example shown, the prediction horizon = 3 (steps), and the prediction section (prediction time length) is 3×ΔT0. That is, the model predictive controller 10 generates a prediction result based on the actual value data of the controlled variables provided by the robot Rb1 (e.g., Figure 3 The joint angles in the prediction domain (e.g., Figure 3 The joint angle corresponding to the "3" in .

[0049] As will be described later, the model predictive controller 10 according to the present embodiment sets such prediction horizons separately for the global path plan corresponding to the global path A1 and the local path plan corresponding to the local section B1 .

[0050] like Figure 1 As shown, the model predictive controller 10 includes a first path generating unit 11 , a second path generating unit 12 and a control unit 13 .

[0051] The first path generating unit 11 obtains data based on the controlled variables output by the robot Rb1 for the global path A1 (for example, in this example, data related to the position and joint angle of the robot Rb1) in the first sampling period. In addition, the first path generating unit 11 also obtains the command value (target value) provided by the upper controller 7. The first path generating unit 11 uses the first model predictive control to output the first path data to the second path generating unit 12 based on the command value and the data based on the controlled variables output by the robot Rb1. The first path data is for the global path A1 from the starting point S1 to the target point S2, and includes at least one passing point P1 (path point: in Figure 1 There are three data related to the first target path G1 passing through point P1).

[0052] Specifically, if Figure 1 As shown, the first path generating section 11 includes a parameter setting section 111 , a global MPC processor 112 , a first predictor D1 and a first determining section 21 .

[0053] The parameter setting unit 111 sets parameters for generating the first target path G1. The parameter setting unit 111 sets (determines) the time domain length of the first prediction time domain corresponding to the first model predictive control (hereinafter referred to as "first parameter") as one of the parameters.

[0054] In the present embodiment, if the first parameter is P1, the parameter setting section 111 sets the first parameter to satisfy the following conditional expression (1).

[0055]

[0056] In this conditional expression (1), X1 is a distance specified by the command value data acquired from the host controller 7 and indicates the distance (which may be the shortest distance) from the starting point S1 to the target point S2 for bypassing the obstacle C1, that is, the distance of the global path A1. X1 does not necessarily have to be such a distance specified by the command value data acquired from the host controller 7, but may be, for example, a distance calculated by the first path generation unit 11. In this conditional expression (1), ΔT1 indicates a first sampling period, and Z1 is a quantity related to the constraint on the robot Rb1 (the controlled object), and may be, for example, the maximum speed of the robot Rb1 when moving. The first sampling period is longer than the second sampling period (to be described later). In other words, it is assumed that the first path generation unit 11 acquires data based on the controlled variables output by the robot Rb1 more roughly than the second path generation unit 12.

[0057] For example, at the time of initialization, the parameter setting section 111 sets the minimum value (which is an integer) that satisfies the conditional expression (1) as the first parameter.

[0058] The first predictor D1 includes a prediction model such as a transfer function model or a state space model to be applied to the first model predictive control.

[0059] The global MPC processor 112 generates a first target path G1 based on a first prediction horizon corresponding to the first model predictive control. The global MPC processor 112 generates the first target path G1 (global path planning) based on the first prediction horizon that has been set by the parameter setting section 111 using the first predictor D1. The global MPC processor 112 generates the first target path G1 as three-dimensional coordinate data based on, for example, computer-aided design (CAD) data or computer-aided manufacturing (CAM) data related to the robot Rb1. At this time, the global MPC processor 112 generates a global path A1 from the starting point S1 to the target point S2, including at least one passing point P1 (for example, Figure 1 The first target path G1 (three pass-through points P11 to P13 in the global path A1) is defined. The global MPC processor 112 determines the number and positions of one or more pass-through points P1 on the global path A1 based on constraints such as the velocity of the robot Rb1 and a cost function. The distance to the next pass-through point P1 may be, for example, a distance reachable during a single sampling (i.e., during the first sampling period).

[0060] That is, the first path generation unit 11 determines a first prediction horizon corresponding to the first model predictive control so that the horizon length of the first prediction horizon is equal to or longer than the horizon length based on the distance of the global path A1, the first sampling period of data based on the controlled variables output by the robot Rb1 relative to the global path A1, and the constraints on the robot Rb1 (the controlled object). The first path generation unit 11 generates a first target path G1 based on the first prediction horizon.

[0061] The first determination section 21 determines whether the first target path G1 (global path plan) generated based on the first prediction horizon thus determined can reach the target point S2.

[0062] The first path generation unit 11 repeatedly determines the first prediction time domain and generates the first target path G1 a plurality of times until the first determination unit 21 determines that the first target path G1 can reach the target point S2 .

[0063] For example, until the first determination unit 21 determines that the first target path G1 can reach the target point S2, the first path generation unit 11 repeatedly adjusts the first prediction horizon (for example, by increasing the first prediction horizon by 1 from the "minimum value" at the time of initialization) while satisfying the above-mentioned conditional expression (1). When it is determined that the first target path G1 can reach the target point S2, the first path generation unit 11 outputs the first path data to the second path generation unit 12, thereby terminating the process.

[0064] The second path generating unit 12 acquires the first path data from the first path generating unit 11. The second path generating unit 12 acquires data based on the controlled variables output by the robot Rb1 for each of the plurality of local sections B1 defined by dividing the global path A1, for example, at a second sampling period. The second path generating unit 12 outputs second path data based on the first path data to the control unit 13 using the second model predictive control. The second path data is for a path passing through at least one passing point P1 (e.g., Figure 1 The three passing points in the figure are used as the basis to divide the global path A1 into multiple local segments B1 (for example, Figure 1 Data related to the second target path G2 of the robot Rb1 for each of the four sections in .

[0065] Specifically, if Figure 1 As shown, the second path generation section 12 includes a parameter setting section 121 , a local MPC processor 122 , a second predictor D2 , a second determination section 22 , and a third determination section 23 .

[0066] The parameter setting unit 121 sets parameters for generating the second target path G2 for each local segment B1 and sets (determines) the time domain length of the second prediction time domain corresponding to the second model predictive control (hereinafter referred to as "second parameter") as one of the parameters.

[0067] In the present embodiment, if the second parameter is P2, the parameter setting section 121 sets the second parameter to satisfy the following conditional expression (2).

[0068]

[0069] In this conditional expression (2), X2 indicates the shortest distance to the next passing point P1 (which is the distance to the target point S2 the last time), that is, the distance corresponding to the local section B1. In this conditional expression (2), ΔT2 indicates the second sampling period, and Z1 is a quantity related to the constraint on the robot Rb1 (the controlled object), and can be, for example, the maximum speed of the robot Rb1 when moving, as in conditional expression (1). The second sampling period is shorter than the first sampling period. The second sampling period corresponds to the resolution related to the actual motion control of the robot Rb1.

[0070] For example, at the time of initialization, the parameter setting section 121 sets the minimum value (which is an integer) satisfying the conditional expression (2) as the second parameter for each partial block B1 .

[0071] The second predictor D2 includes a prediction model, such as a transfer function model or a state-space model, applied to the second model predictive control. In this embodiment, the first predictor D1 is different from the second predictor D2. For example, the second predictor D2 is a predictor that can predict the second target path G2 by taking into account vibration-related disturbances to be included in the controlled variables output by the robot Rb1. The second predictor D2 predicts the second target path G2 by performing offset correction on the vibration (disturbance). The control system 1 may include a disturbance observer for estimating disturbances, such as vibrations, that may be included in the controlled variables. The second path generation unit 12 may obtain an estimation result from the disturbance observer.

[0072] The local MPC processor 122 generates a second target path G2 based on a second prediction horizon corresponding to the second model predictive control. The local MPC processor 122 uses the second predictor D2 to generate the second target path G2 based on the second prediction horizon set by the parameter setting unit 121 (local path planning). The local MPC processor 122 generates the second target path G2 as three-dimensional coordinate data based on, for example, CAD data or CAM data related to the robot Rb1.

[0073] Assume that the number of passing points P1 is N. The local MPC processor 122 repeatedly generates a second target path G2 for the local segments B1 leading from the start point S1 to the first passing point P11, ..., the local segments B1 from the nth passing point P1 (where n=1 to N-1) to the kth passing point P1 (where k=n+1), ..., and the local segment B1 from the Nth passing point to the target point S2, thereby outputting second path data.

[0074] That is, the second path generation unit 12 determines a second prediction horizon corresponding to the second model predictive control so that the time domain length of the second prediction horizon is equal to or longer than the time domain length based on the distance of the corresponding local segment B1 belonging to the plurality of local segments B1, the second sampling period of the data of the controlled variables output by the robot Rb1 for the corresponding local segment B1, and the constraints on the controlled object (e.g., robot Rb1 in this example). The second path generation unit 12 generates a second target path G2 based on the second prediction horizon.

[0075] The second determining section 22 determines whether the second target path G2 generated based on the second prediction time domain thus determined can reach the end point of the corresponding local segment B1.

[0076] The second path generation unit 12 repeatedly determines the second prediction time domain and generates the second target path G2 multiple times until the second determination unit 22 determines that the second target path G2 can reach the end point (corresponding to the local segment B1 ).

[0077] For example, until the second determination unit 22 determines that the second target path G2 can reach the end point of the target partial segment B1, the second path generation unit 12 repeatedly adjusts the second prediction time horizon (for example, by increasing the second prediction time horizon by 1 from the "minimum value" at the time of initialization) while satisfying the above-mentioned conditional expression (2). When it is determined that the second target path G2 can reach the end point of the target partial segment B1, the second path generation unit 12 ends the processing related to the partial segment B1.

[0078] The timing for outputting the second path data to the control unit 13 is not limited to any specific timing. The second path generation unit 12 may output the second path data whenever generating the second target path G2, regardless of the determination made by the second determination unit 22. Alternatively, the second path generation unit 12 may output the second path data when determining that the second target path G2 can reach the end point of the target partial segment B1.

[0079] When the second determining unit 22 has determined that the second target path G2 can reach the end point (corresponding to the partial section B1), the third determining unit 23 determines whether the second target path G2 (corresponding to the last partial section B1 among the partial sections B1) can reach the target point S2.

[0080] The second path generation unit 12 repeatedly determines the second prediction time zone and generates the second target path G2 a plurality of times until the third determination unit 23 determines that the second target path G2 can reach the target point S2 .

[0081] That is, when the target partial segment B1 is the last partial segment B1, the second path generation unit 12 repeatedly generates the second target path G2 and outputs the second path data to the control unit 13 multiple times until it is determined that the second target path G2 can reach the target point S2. When it is determined that the second target path G2 can reach the target point S2, the second path generation unit 12 stops outputting the second path data.

[0082] Note that in this embodiment, the first prediction time length (prediction section) based on the first prediction time domain and the first sampling period is longer than the second prediction time length (prediction section) based on the second prediction time domain and the second sampling period.

[0083] It is assumed that the second path generation unit 12 performs the processing including generating each second target path G2 and outputting each second path data in real time when the robot Rb1 is actually activated to perform its assigned task. On the other hand, it is assumed that the first path generation unit 11 performs the processing including generating the first target path G1 and outputting the first path data not in real time when the robot Rb1 is actually activated, but by having the robot Rb1 perform a test run from the starting point S1 to the target point S2 in advance.

[0084] Alternatively, the first path generation unit 11 may perform this processing in real time when the robot Rb1 is actually activated to perform its assigned task. In this case, the first path generation unit 11 may obtain the second path data from the second path generation unit 12 in real time, update the current first target path G1 in real time while taking into account the second target path G2 of the second path data, and output the first path data.

[0085] Based on the second path data, control unit 13 determines manipulated variables for robot Rb1 (hereinafter referred to as "first manipulated variables"). Based on the second path data, control unit 13 sets the corresponding position and joint angle values ​​for robot Rb1 for the first several steps of the second prediction horizon (i.e., the control horizon) from the current time. For example, control unit 13 may determine the first manipulated variables as the changes required to bring the position and joint angles of robot Rb1 into alignment with those based on the second path data.

[0086] The control unit 13 calculates the first manipulated variable based on data in units of, for example, the second sampling period. The control unit 13 is electrically connected to the motion controller 3 and outputs a control signal (such as a digital signal) including the first manipulated variable to the motion controller 3. The first manipulated variable is not limited to the desired change in the position and joint angles of the robot Rb1. Instead, the first manipulated variable may be the desired change in at least one parameter selected from the group consisting of the position, joint angles, posture, velocity, acceleration, contact force, and torque of the robot Rb1.

[0087] The host controller 7 is implemented as a programmable logic controller (PLC), for example. The host controller 7 is communicatively connected to a servo driver including a model predictive controller 10. The servo driver can be implemented as a single device including the model predictive controller 10, the motion controller 3, and the state estimation unit 4. The servo driver drives and controls a single motor or multiple motors M1 (controlled objects) for driving the multiple movable parts 50 of the robot Rb1.

[0088] The host controller 7 generates a command signal including an operation command (command value data) related to a predetermined task process and transmits the command signal to the servo driver including the model predictive controller 10 to control the servo driver. The operation command (command value data) may include target values ​​related to the position, joint angles, posture, velocity, acceleration, contact force, and torque of the robot Rb1.

[0089] In this embodiment, the operation command from the host controller 7 may be provided to the parameter setting section 111 of the first path generating section 11 of the model predictive controller 10 , for example.

[0090] The motion controller 3 controls the motion of the robot Rb1 according to the manipulated variable (first manipulated variable) provided by the control unit 13. Specifically, the motion controller 3 determines the second manipulated variable based on the first manipulated variable provided by the control unit 13, and inputs the second manipulated variable into the robot Rb1 (i.e., inputs the control input). The second manipulated variable can be, for example, the torque (value) of the motor M1 or the current value of the drive current to be supplied to the motor M1. The motion controller 3 can include, for example, an inverter circuit for supplying power to the motor M1. The motion controller 3 determines the current value of the drive current to be supplied to the motor M1 (i.e., the second manipulated variable) based on the first manipulated variable such as the position, joint angle, posture, speed, acceleration, contact force or torque of the robot Rb1, and controls the inverter circuit to adjust the drive current to be supplied to the motor M1.

[0091] (2) Control system operation

[0092] Next, refer to Figure 5 and Figure 6 A series of processing flows related to the operation of the control system 1 will be described. Figure 5 is a flow chart showing how the control system 1 operates to perform global path planning. Figure 6 is a flow chart showing how the control system 1 operates to perform local path planning. Note that Figure 5 and Figure 6 Each of the flowcharts shown in FIG is merely an exemplary process for controlling the operation of the control system 1 and should not be construed as limiting. Figure 5 and Figure 6 The processing steps shown may be performed in an order different from that illustrated and may be omitted as appropriate. Figure 5 and Figure 6 Some of the processing steps are shown, and / or additional processing steps may be performed as needed.

[0093] [Global Path Planning]

[0094] First, refer to Figure 5 Describe how the control system 1 operates when performing global path planning.

[0095] The first path generating section 11 acquires command value data from the host controller 7 (in step ST1 ) to determine a global path A1 leading from the start point S1 to the target point S2 .

[0096] The first path generation section 11 sets (determines) a first parameter (eg, “minimum value” satisfying conditional expression (1)) as the time domain length of the first prediction time domain so as to satisfy conditional expression (1) (in step ST2 ).

[0097] The first path generation unit 11 generates a first target path G1 (global path planning) based on the first prediction horizon (in step ST3 ).

[0098] At this point, the first path generation unit 11 determines whether the first target path G1 (global path plan) generated based on the first prediction horizon can reach the target point S2 (in step ST4). If the first path generation unit 11 determines that the first target path G1 can reach the target point S2 (if the answer in step ST4 is "yes"), the first path generation unit 11 outputs the first path data to the second path generation unit 12 (in step ST5: the first path generation step), thereby completing the series of processing steps for generating the first target path G1.

[0099] On the other hand, if the first path generation unit 11 determines that the first target path G1 cannot reach the target point S2 (if the answer in step ST4 is "No"), the first path generation unit 11 returns to step ST2 to reset the first parameter while satisfying conditional expression (1). The first path generation unit 11 can set the first parameter by, for example, adding 1 to the "minimum value" for the first time. From this point on, the first path generation unit 11 will adjust the first parameter by increasing it by 1 until, for example, the first target path G1 can reach the target point S2.

[0100] [Local Path Planning]

[0101] Next, refer to Figure 6 Describe how the control system 1 operates when performing local path planning.

[0102] The second path generating unit 12 acquires the first path data from the first path generating unit 11 (in step ST11 ) to determine the target partial section B1 at the current moment.

[0103] The second path generation section 12 sets (determines) a second parameter (eg, “minimum value” satisfying conditional expression (2)) as the time domain length of the second prediction time domain so as to satisfy conditional expression (2) (in step ST12 ).

[0104] The second path generation unit 12 generates a second target path G2 (local path planning) based on the second prediction time domain (in step ST13) and outputs the second path data to the control unit 13 (corresponding to the second path generation step). As a result, the control unit 13 determines the manipulated variables for the robot Rb1 based on the second path data (corresponding to the control step) to perform motion control on the robot Rb1, for example, in real time (in step ST14).

[0105] At this time, the second path generation unit 12 determines whether the second target path G2 (local path plan) generated based on the second prediction time domain can reach the end point of the corresponding local segment B1 (ie, reach the next passing point P1) (in step ST15).

[0106] If the second path generation unit 12 determines that the second target path G2 can reach the next pass point P1 (if the answer in step ST15 is "yes"), the second path generation unit 12 proceeds to the next processing step ST16. On the other hand, if the second path generation unit 12 determines that the second target path G2 cannot reach the next pass point P1 (if the answer in step ST15 is "no"), the second path generation unit 12 returns to step ST12 to reset the second parameter while satisfying conditional expression (2), or returns to step ST13 (without resetting the second parameter). The second path generation unit 12 can set the second parameter by, for example, first adding 1 to the "minimum value". From this point on, the second path generation unit 12 outputs the second path data to the control unit 13 while adjusting the second parameter by, for example, increasing it by 1 until the second target path G2 can reach the next pass point P1, thereby controlling the motion of the robot Rb1 in real time.

[0107] Next, in step ST16 , the second path generation section 12 determines whether the second target path G2 can reach the target point S2 .

[0108] When it is determined that the second target path G2 can reach the target point S2 (if the answer in step ST16 is "yes"), the second path generation unit 12 ends the series of processing steps for generating the second target path G2. On the other hand, when it is determined that the second target path G2 cannot reach the target point S2 (if the answer in step ST16 is "no"), the second path generation unit 12 returns to step ST12. Then, the second path generation unit 12 sets (determines) the second parameter as the time domain length of the second prediction time domain for the next local segment B1 so as to satisfy conditional expression (2).

[0109] (3) Advantages

[0110] As can be seen from the foregoing description, the control system 1 according to this embodiment uses the second model predictive control to output second path data in units of local segments B1 based on the first path data including the passing point P1 obtained by using the first model predictive control. Therefore, the control system 1 achieves an advantage that contributes to improved motion control of a controlled object (such as the robot Rb1).

[0111] In addition, the control system 1 according to this embodiment sets the first prediction horizon corresponding to the first model predictive control so that the time domain length of the first prediction horizon is equal to or longer than the time domain length based on the distance of the global path A1, the first sampling period, and the constraints on the control object (such as the robot Rb1, etc.). This can reduce the possibility that the first prediction horizon will become too short to cause the first target path G1 to become a redundant path, thereby further improving the motion control of the control object (such as the robot Rb1, etc.).

[0112] Furthermore, the control system 1 according to this embodiment sets the second prediction horizon corresponding to the second model predictive control so that the time domain length of the second prediction horizon is equal to or longer than the time domain length based on the distance of the corresponding local section B1, the second sampling period, and the constraints on the controlled object (such as the robot Rb1, etc.). This can reduce the possibility that the second prediction horizon will become too short to cause the second target path G2 to become a redundant path, thereby further improving the motion control of the controlled object (such as the robot Rb1, etc.).

[0113] In particular, according to continuous motion planning using a local planner as disclosed in Patent Document 1 cited above, the prediction time domain may be too long or too short.

[0114] Specifically, the control system 1 according to the present embodiment sets the second prediction horizon in units of the local section B1 when generating the local path plan. In contrast, according to the method of Patent Document 1, the prediction horizon may become too long.

[0115] Now refer to Figures 4A to 4C Describe the problems caused by the length of the prediction horizon.

[0116] exist Figure 4A , the partial path J1 in the case where the prediction time domain has become too long is indicated by a solid line. The solid circles on the partial path J1 indicate prediction points (positions) in units of sampling periods.

[0117] exist Figure 4B , the partial path J2 in the case where the prediction time domain has become too short is indicated by a solid line. The solid circles on the partial path J2 indicate prediction points (positions) in units of sampling periods.

[0118] exist Figure 4C , the second target path G2 generated by the second path generation section 12 of the control system 1 is indicated by a solid line. The solid circles on the second target path G2 indicate predicted points (positions) in units of the second sampling period.

[0119] Note that in Figures 4A to 4C , an example of the first target path G1 including one passing point P1 and generated by the first path generating section 11 of the control system 1 is indicated by a two-dot chain line for ease of comparison.

[0120] If the prediction horizon has become too long, then Figure 4A As shown, local path J1 can be changed to a path that passes closer to obstacle C1 to reach target point S2 as quickly as possible. Consequently, a function is required to detect obstacle C1 to avoid a collision between the control object and obstacle C1, as well as a process for returning to the original position if the control object collides with obstacle C1. Therefore, an excessively long prediction horizon increases the processing load of the entire system (including the computational load of the MPC).

[0121] Furthermore, if the prediction horizon becomes too short, then Figure 4B As shown in FIG, the local path J2 may become an unstable and redundant path. In particular, when the controlled object is a multi-joint robot, the local path J2 may become a more redundant path due to the presence of multiple movable joints.

[0122] On the other hand, Figure 4C As shown, the second target path G2 generated by the second path generation unit 12 of the control system 1 can reach the pass point P1 within the second prediction time domain, thereby making it easier to generate the shortest path plan to the pass point P1. Therefore, the motion of the controlled object can be controlled more stably.

[0123] (4) Modification

[0124] Next, modifications of the exemplary embodiment will be listed one by one. Note that the modifications to be described below can be appropriately combined and adopted.

[0125] The functions of the control system 1 according to the exemplary embodiment may also be implemented as a control method, a computer program, or a non-transitory storage medium storing the computer program.

[0126] The control system 1 according to the present disclosure includes a computer system. The computer system includes a processor and a memory as its main hardware components. The computer system performs the functions of the control system 1 according to the present disclosure by causing the processor to execute a program stored in the memory of the computer system. The program can be pre-stored in the memory of the computer system. Alternatively, the program can also be downloaded via a telecommunications line, or distributed after being recorded in a non-transient storage medium (such as a memory card, an optical disc or a hard disk drive (any of which is readable by the computer system)). The processor of the computer system can be composed of a single or multiple electronic circuits including a semiconductor integrated circuit (IC) or a large-scale integrated circuit (LSI). As used herein, "integrated circuits" such as IC or LSI are referred to by different names depending on the degree of their integration. Examples of integrated circuits such as IC and LSI include integrated circuits referred to as "system LSI", "very large-scale integrated circuit (VLSI)" and "ultra-large-scale integrated circuit (ULSI)". Alternatively, a field programmable gate array (FPGA) to be programmed after the LSI is manufactured or a logic device that allows the reconfiguration of the connection or circuit segment inside the LSI can also be used as a processor. These electronic circuits can be integrated together on a single chip or distributed across multiple chips, whichever is appropriate. These multiple chips can be aggregated together in a single device or distributed across multiple devices, without limitation. As used herein, a "computer system" includes a microcontroller comprising one or more processors and one or more memories. Thus, a microcontroller can also be implemented as a single or multiple electronic circuits comprising a semiconductor integrated circuit or a large-scale integrated circuit.

[0127] In the above exemplary embodiment, multiple functions of the control system 1 are aggregated in a single housing. However, this is not an essential structure of the control system 1. Alternatively, the respective constituent elements of the control system 1 may be distributed in multiple housings.

[0128] Instead, multiple functions of the control system 1 may be aggregated together in a single housing. In addition, at least a portion of the functions of the control system 1 (eg, a portion of the functions of the control system 1 ) may be implemented as a cloud computing system.

[0129] In the above embodiment, the first path generation unit 11 repeatedly adjusts the first prediction horizon while satisfying conditional expression (1) until the first determination unit 21 determines that the first target path G1 can reach the target point S2. At the same time, the first prediction horizon is incremented by 1. Alternatively, any parameter of conditional expression (1) may be changed. For example, the first sampling period may be changed, and the first prediction horizon may be changed accordingly.

[0130] In the above embodiment, the second path generation unit 12 repeatedly adjusts the second prediction horizon while satisfying conditional expression (2) until the second determination unit 22 determines that the second target path G2 can reach the end point of the local segment B1. At the same time, the second prediction horizon is incremented by 1. Alternatively, any parameter of conditional expression (2) may be changed. For example, the second sampling period may be changed, and the second prediction horizon may be changed accordingly.

[0131] Alternatively, the control system 1 may change the passing point P1, the first prediction time domain, the second prediction time domain, the conditional expression (1), and the conditional expression (2) according to an operation command input by the user. The control system 1 may include an operation member (user interface) that accepts an operation command.

[0132] (Summary)

[0133] The above-described exemplary embodiments and their modifications are specific implementations of the following aspects of the present disclosure.

[0134] According to a first aspect, a control system (1) performs motion control on a control object (such as a robot Rb1) from a starting point (S1) to a target point (S2). The control system (1) includes a first path generating unit (11), a second path generating unit (12), and a control unit (13). The first path generating unit (11) uses a first model predictive control to output first path data related to a first target path (G1) of the control object for a global path (A1) from the starting point (S1) to the target point (S2). The first target path (G1) includes at least one passing point (P1). The second path generating unit (12) uses a second model predictive control to output second path data based on the first path data. The second path data is data related to the second target path (G2) of the control object for each of a plurality of local segments (B1) defined by dividing the global path (A1) based on the at least one passing point (P1). The control unit (13) determines a manipulated variable for the control object based on the second path data.

[0135] According to this aspect, based on first path data including a passing point (P1) obtained by using the first model predictive control, second path data in units of local segments (B1) is output using the second model predictive control. Therefore, the control system (1) achieves an advantage of contributing to improved motion control of the controlled object.

[0136] In a control system (1) according to the second aspect that can be implemented in combination with the first aspect, a first path generation unit (11) determines a first prediction horizon corresponding to a first model predictive control so that a horizon length of the first prediction horizon is equal to or longer than a horizon length based on: a distance of a global path (A1), a first sampling period of data of a controlled variable output by a controlled object for the global path (A1), and constraints on the controlled object. The first path generation unit (11) generates a first target path (G1) based on the first prediction horizon.

[0137] This aspect can reduce the possibility that the first prediction time domain becomes too short to avoid making the first target path (G1) a redundant path, thereby further improving the motion control of the control object.

[0138] In a control system (1) according to a third aspect that can be implemented in combination with the second aspect, a first path generation unit (11) includes a first determination unit (21) that determines whether a first target path (G1) generated based on the first prediction time horizon thus determined can reach a target point (S2). The first path generation unit (11) repeatedly determines the first prediction time horizon and generates the first target path (G1) a plurality of times until the first determination unit (21) determines that the first target path (G1) can reach the target point (S2).

[0139] This aspect helps to further improve the motion control of the controlled object.

[0140] In a control system (1) according to a fourth aspect that can be implemented in combination with any one of the first to third aspects, a second path generation unit (12) determines a second prediction horizon corresponding to a second model predictive control so that a time domain length of the second prediction horizon is equal to or longer than a time domain length based on: a distance of a corresponding local segment (B1) belonging to a plurality of local segments (B1), a second sampling period of data of a controlled variable output by a controlled object for the corresponding local segment (B1), and constraints on the controlled object. The second path generation unit (12) generates a second target path (G2) based on the second prediction horizon.

[0141] This aspect can reduce the possibility that the second prediction time domain becomes too short to make the second target path (G2) a redundant path, thereby further improving the motion control of the control object.

[0142] In the control system (1) according to the fifth aspect, which can be implemented in combination with the fourth aspect, the second path generation unit (12) includes a second determination unit (22) that determines whether the second target path (G2) generated based on the second predicted time horizon thus determined can reach the end point of the corresponding local segment (B1). The second path generation unit (12) repeatedly determines the second predicted time horizon and generates the second target path (G2) a plurality of times until the second determination unit (22) determines that the second target path (G2) can reach the end point.

[0143] This aspect helps to further improve the motion control of the controlled object.

[0144] In the control system (1) according to the sixth aspect that can be implemented in combination with the fifth aspect, the second path generation unit (12) further includes a third determination unit (23) that determines whether the second target path (G2) can reach the target point (S2) when the second determination unit (22) has determined that the second target path (G2) can reach the end point. The second path generation unit (12) repeatedly determines the second prediction time domain and generates the second target path (G2) a plurality of times until the third determination unit (23) determines that the second target path (G2) can reach the target point (S2).

[0145] This aspect helps to further improve the motion control of the controlled object.

[0146] In a control system (1) according to the seventh aspect that can be implemented in combination with any one of the first to sixth aspects, a first path generation unit (11) generates a first target path (G1) based on a first prediction time domain corresponding to a first model predictive control. A second path generation unit (12) generates a second target path (G2) based on a second prediction time domain corresponding to a second model predictive control. The first prediction time length is longer than the second prediction time length. The first prediction time length is based not only on the first prediction time domain but also on a first sampling period of data of a controlled variable output by the control object for a global path (A1). The second prediction time length is based not only on the second prediction time domain but also on a second sampling period of data of a controlled variable output by the control object for each of a plurality of local sections (B1).

[0147] This aspect helps to further improve the motion control of the controlled object.

[0148] In the control system (1) according to the eighth aspect that can be implemented in combination with any one of the first to seventh aspects, a first sampling period of data based on controlled variables output by the control object for the global path (A1) is longer than a second sampling period of data based on controlled variables output by the control object for each of the plurality of local sections (B1).

[0149] This aspect helps to further improve the motion control of the controlled object.

[0150] In the control system (1) according to the ninth aspect which can be implemented in combination with any one of the first to eighth aspects, the first predictor (D1) applied to the first model predictive control is different from the second predictor (D2) applied to the second model predictive control.

[0151] For example, compared to the case of using the same predictor, this aspect makes it easier to reduce the computational load for the first model predictive control and improve the prediction accuracy for the second model predictive control. Therefore, this aspect contributes to further improvement of motion control of the control object.

[0152] In the control system (1) according to the tenth aspect which can be implemented in combination with the ninth aspect, the second predictor (D2) can predict the second target path (G2) taking into account vibration-related disturbances to be included in the controlled variables output by the control object.

[0153] This aspect makes it easier to improve the prediction accuracy for the second model predictive control. Therefore, this aspect helps to further improve the motion control of the controlled object.

[0154] In the control system (1) according to the eleventh aspect which can be implemented in combination with any one of the first to tenth aspects, the control target is the multi-joint robot (robot Rb1).

[0155] This aspect helps to improve the motion control of multi-joint robots.

[0156] In the control system (1) according to the twelfth aspect which can be implemented in combination with any one of the first to eleventh aspects, the route from the starting point (S1) to the target point (S2) includes a route designed to bypass an obstacle (C1) or a specific space.

[0157] This aspect helps improve motion control of a control object for a route around an obstacle (C1) or a specific space.

[0158] A control method according to a thirteenth aspect is a method for controlling a control system (1) that performs motion control of a control object (such as a robot Rb1) from a starting point (S1) to a target point (S2). The control method includes a first path generating step, a second path generating step, and a control step. The first path generating step includes: using a first model predictive control, for a global path (A1) from the starting point (S1) to the target point (S2), outputting first path data related to a first target path (G1) of the control object. The first target path (G1) includes at least one passing point (P1). The second path generating step includes: using a second model predictive control, outputting second path data based on the first path data. The second path data is data related to a second target path (G2) of the control object for each of a plurality of local segments (B1) defined by dividing the global path (A1) based on the at least one passing point (P1). The control step includes determining a manipulated variable for the control object based on the second path data.

[0159] This aspect allows provision of a control method that contributes to improved motion control of a control object.

[0160] The program according to the fourteenth aspect is designed to cause one or more processors to perform the control method according to the thirteenth aspect.

[0161] This aspect allows providing functionality that contributes to improved motion control of a controlled object.

[0162] Note that the constituent elements according to the second aspect to the twelfth aspect are not essential constituent elements of the control system (1) and may be omitted as appropriate.

[0163] Description of Reference Numerals

[0164] 1Control system

[0165] 11 First path generation unit

[0166] 12 Second path generation unit

[0167] 13 Control Unit

[0168] 21 First Determination Department

[0169] 22 Second Determination Section

[0170] 23 Third Determination Section

[0171] A1 global path

[0172] B1 local segment

[0173] C1 obstacle

[0174] D1 first predictor

[0175] D2 Second Predictor

[0176] G1 first target path

[0177] G2 Second Target Path

[0178] P1 passes through point

[0179] S1 starting point

[0180] S2 target point

[0181] Rb1 robot (controlled object)

Claims

1. A control system configured to perform motion control of a control object from a starting point to a target point, the control system comprising: a first path generating unit configured to output first path data related to a first target path of the control object for a global path from the starting point to the target point using a first model predictive control, the first target path including at least one passing point; a second path generating unit configured to output second path data based on the first path data using a second model predictive control, the second path data being data related to a second target path of the controlled object for each of a plurality of local segments defined by dividing the global path based on the at least one passing point; as well as A control unit is configured to determine a manipulated variable for the controlled object based on the second path data.

2. The control system according to claim 1, wherein: The first path generating unit is configured to: determining a first prediction horizon corresponding to the first model predictive control so that a horizon length of the first prediction horizon is equal to or longer than a horizon length based on: a distance of the global path, a first sampling period of data of a controlled variable output by the controlled object with respect to the global path, and constraints on the controlled object; and The first target path is generated based on the first prediction time domain.

3. The control system according to claim 2, wherein: The first path generation unit includes a first determination unit configured to determine whether the first target path generated based on the first prediction time domain thus determined can reach the target point, and The first path generation unit is configured to repeatedly determine the first prediction time domain a plurality of times and generate the first target path until the first determination unit determines that the first target path can reach the target point.

4. The control system according to any one of claims 1 to 3, wherein: The second path generating unit is configured to: determining a second prediction horizon corresponding to the second model predictive control so that a horizon length of the second prediction horizon is equal to or longer than a horizon length based on: a distance of a corresponding local segment belonging to the plurality of local segments, a second sampling period of data of a controlled variable output by the controlled object for the corresponding local segment, and a constraint on the controlled object; and The second target path is generated based on the second prediction time domain.

5. The control system according to claim 4, wherein: The second path generation unit includes a second determination unit configured to determine whether the second target path generated based on the second prediction time domain thus determined can reach the end point of the corresponding local segment, and The second path generation unit is configured to repeatedly determine the second prediction time zone a plurality of times and generate the second target path until the second determination unit determines that the second target path can reach the end point.

6. The control system according to claim 5, wherein: The second path generation unit further includes a third determination unit configured to determine whether the second target path can reach the target point if the second determination unit has determined that the second target path can reach the end point, and The second path generation unit is configured to repeatedly determine the second prediction time domain a plurality of times and generate the second target path until the third determination unit determines that the second target path can reach the target point.

7. The control system according to any one of claims 1 to 6, wherein: The first path generation unit is configured to generate the first target path based on a first prediction horizon corresponding to the first model predictive control. The second path generation section is configured to generate the second target path based on a second prediction horizon corresponding to the second model predictive control, and The first prediction time length is longer than the second prediction time length, The first prediction time length is based not only on the first prediction time domain but also on a first sampling period according to data of a controlled variable output by the control object for the global path, and The second prediction time length is based not only on the second prediction time domain but also on a second sampling period according to data of a controlled variable output by the controlled object for each of the plurality of local sections.

8. The control system according to any one of claims 1 to 7, wherein: A first sampling period according to data of the controlled variable output by the controlled object for the global path is longer than a second sampling period according to data of the controlled variable output by the controlled object for each of the plurality of local sections.

9. The control system according to any one of claims 1 to 8, wherein: A first predictor applied to the first model predictive control is different from a second predictor applied to the second model predictive control.

10. The control system according to claim 9, wherein: The second predictor is configured to predict the second target path in consideration of vibration-related disturbance to be included in a controlled variable output by the control object.

11. The control system according to any one of claims 1 to 10, wherein: The controlled object is a multi-joint robot.

12. The control system according to any one of claims 1 to 11, wherein: The route from the starting point to the target point includes a route designed to bypass obstacles or a specific space.

13. A control method for controlling a control system, wherein the control system is configured to control the motion of a control object from a starting point to a target point, the control method comprising: a first path generating step for outputting first path data related to a first target path of the controlled object for a global path from the starting point to the target point using a first model predictive control, the first target path including at least one passing point; a second path generating step for outputting second path data based on the first path data using a second model predictive control, the second path data being data related to a second target path of the controlled object for each of a plurality of local segments defined by dividing the global path based on the at least one passing point; as well as The control step is for determining a manipulated variable for the control object based on the second path data.

14. A program designed to cause one or more processors to perform the control method according to claim 13.

Citation Information

Patent Citations

  • Method and apparatus for collision-free motion planning of manipulator

    JP2020040205A