CONTROL SYSTEM, INFORMATION PROCESSING APPARATUS, CONTROL METHOD, AND CONTROL VALUE GENERATION METHOD

The control system addresses the increased calculation load in autonomous mobile robots by using route correction and angular velocity specifying means to efficiently manage movement and avoid obstacles, thereby improving operational efficiency.

JP7647901B2Active Publication Date: 2025-03-18NEC CORP
View PDF 18 Cites 0 Cited by

Patent Information

Application Number
JP2023546707
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-13
Publication Date
2025-03-18
Estimated Expiration
2041-09-13

AI Technical Summary

Technical Problem

Existing control systems for autonomous mobile robots face a significant increase in calculation load when determining appropriate speed and acceleration for multiple route candidates to avoid obstacles.

Method used

The proposed control system includes route correction means to specify the amount of correction from the traveling route upon obstacle detection, angular velocity specifying means to calculate the angular velocity based on this correction and the mobile body's position, and control means to manage the mobile body's movement accordingly.

Benefits of technology

This approach reduces the calculation load associated with determining speed and acceleration by focusing on angular velocity adjustments, thereby enhancing the efficiency of obstacle avoidance for autonomous mobile robots.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007647901000005
    Figure 0007647901000005
  • Figure 0007647901000006
    Figure 0007647901000006
  • Figure 0007647901000007
    Figure 0007647901000007
Patent Text Reader

Abstract

The purpose of the present invention is to provide a control system such that it is possible to inhibit an increase in a calculation load for controlling the movement of a moving body. A control system according to the present disclosure comprises: a path correction means (11) that, in accordance with the detection of an obstacle positioned on a traveling path of a moving body, specifies a correction amount to a direction in which the moving body separates from the traveling path; an angular velocity specification means (12) that, on the basis of the correction amount and the position of the moving body, specifies an angular velocity for the moving body; and a control means (13) that, in accordance with the specified angular velocity for the moving body and the movement speed of the moving body, controls the operation of the moving body.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a control system, an information processing device, a control method, and a control value generating method. [Background technology]

[0002] Research is underway on technology that enables a traveling robot to avoid an obstacle when it comes in its way.

[0003] Patent Document 1 describes a method for calculating a route for an autonomous mobile robot to move to a destination, and, if an obstacle is present, calculating an avoidance route for avoiding the obstacle. The autonomous mobile robot also performs a simulation of moving along each of a plurality of candidate routes, and calculates, for example, a speed history, an acceleration history, and the like, when moving along each of the candidate routes. The autonomous mobile robot selects a moving route based on the calculated speed history, and the like. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2019-175128 A Summary of the Invention [Problem to be solved by the invention]

[0005] However, in Patent Document 1, the autonomous mobile robot must determine a plurality of route candidates, then calculate the speed, acceleration, etc. for moving along each of the route candidates, and evaluate each of the route candidates. In this case, there is a problem that when the autonomous mobile robot starts moving, a load is placed on the calculation process for calculating the appropriate speed, acceleration, etc. for moving along each of the route candidates.

[0006] An object of the present disclosure is to provide a control system, an information processing device, a control method, and a control value generating method that can suppress an increase in the calculation load for controlling the movement of a moving object. [Means for solving the problem]

[0007] A control system according to a first aspect of the present disclosure includes a path correction means for determining a correction amount in a direction in which a moving body moves away from a traveling path in response to detection of an obstacle located on the traveling path of the moving body, an angular velocity determination means for determining an angular velocity of the moving body based on the correction amount and a position of the moving body, and a control means for controlling operation of the moving body in response to the determined angular velocity of the moving body and the traveling speed of the moving body.

[0008] An information processing device according to a second aspect of the present disclosure includes a path correction means for determining a correction amount in a direction in which a moving body moves away from the moving path in response to detection of an obstacle located on the moving path of the moving body, an angular velocity determination means for determining an angular velocity of the moving body based on the correction amount and a position of the moving body, and a communication means for transmitting the determined angular velocity of the moving body and the moving speed of the moving body to the moving body.

[0009] A control method according to a third aspect of the present disclosure determines a correction amount in a direction away from a moving body's traveling path in response to detection of an obstacle located on the moving body's traveling path, determines an angular velocity of the moving body based on the correction amount and the position of the moving body, and controls the operation of the moving body in response to the determined angular velocity of the moving body and the moving speed of the moving body.

[0010] A control value generation method according to a fourth aspect of the present disclosure determines a correction amount in a direction in which a moving body moves away from a traveling path of the moving body in response to detection of an obstacle located on the traveling path of the moving body, determines an angular velocity of the moving body based on the correction amount and a position of the moving body, and transmits the determined angular velocity of the moving body and the traveling speed of the moving body to the moving body. Effect of the Invention

[0011] The present disclosure makes it possible to provide a control system, an information processing device, a control method, and a control value generating method that can suppress an increase in the calculation load for controlling the movement of a moving object. [Brief description of the drawings]

[0012] [Figure 1] FIG. 1 is a configuration diagram of a control system according to a first embodiment. [Diagram 2] FIG. 2 is a diagram showing a flow of control processing executed in the control system according to the first embodiment. [Diagram 3] FIG. 11 is a configuration diagram of an information processing device according to a second embodiment. [Figure 4] FIG. 11 is a diagram for explaining a speed time series according to the second embodiment. [Diagram 5] FIG. 11 is a diagram for explaining a target point according to the second embodiment. [Figure 6] FIG. 11 is a diagram illustrating data stored in a target value storage unit according to the second embodiment. [Figure 7] FIG. 11 is a diagram for explaining a speed time series according to the second embodiment. [Figure 8] FIG. 11 is a configuration diagram of a moving object according to a second embodiment. [Figure 9] FIG. 11 is a diagram showing a flow of a process for generating a control input value according to the second embodiment. [Figure 10] FIG. 11 is a configuration diagram of an information processing device according to a third embodiment. [Figure 11] FIG. 11 is a diagram showing a travel area of ​​a moving object according to a third embodiment. [Figure 12] FIG. 11 is a diagram showing a travel area of ​​a moving object according to a second embodiment. [Figure 13] FIG. 13 is a configuration diagram of an information processing device according to a fourth embodiment. [Figure 14] FIG. 13 is a diagram showing a travel area of ​​a moving object according to a fourth embodiment. [Figure 15] FIG. 2 is a configuration diagram of an information processing device according to each embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] (Embodiment 1) Hereinafter, an embodiment of the present disclosure will be described with reference to the drawings. A configuration example of a control system 10 according to the first embodiment will be described with reference to FIG. 1. The control system 10 in FIG. 1 has a path correction unit 11, an angular velocity identification unit 12, and a control unit 13. The path correction unit 11, the angular velocity identification unit 12, and the control unit 13 may be arranged in the same device, or each may be arranged in a different device. Alternatively, two of the path correction unit 11, the angular velocity identification unit 12, and the control unit 13 may be arranged in the same device, and the remaining one may be arranged in another device.

[0014] The path correction unit 11, the angular velocity identification unit 12, and the control unit 13 may be software or modules that are executed by a processor executing a program stored in a memory, or may be hardware such as a circuit or a chip.

[0015] The path correction unit 11 specifies a correction amount in a direction in which the moving object moves away from the traveling path in response to detection of an obstacle located on the traveling path of the moving object.

[0016] The moving body may be an autonomously moving robot, for example, a transport robot (AGV (Automated Guided Vehicle)) that transports an object. The moving body travels autonomously to avoid obstacles, for example, based on input control values. The moving body may have four wheels like a car and move using a steering system, or may move using a two-wheel differential. A two-wheel differential allows the vehicle to travel around curves by controlling the speed difference between the left and right wheels independently.

[0017] The driving route may be, for example, a route that connects the current position of the moving body and a destination point that the moving body is to reach in the shortest distance, or may be a route calculated as a valid route that does not take into account obstacles using a predetermined route calculation method.

[0018] Obstacles may be stationary objects such as pillars, walls, shelves, etc., or moving objects such as humans or other robots.

[0019] The correction amount may be the difference in distance between a position where a moving object moving at a predetermined moving speed exists after a predetermined period of time and a travel path in the absence of an obstacle.

[0020] Angular velocity identification unit 12 identifies the angular velocity of the moving body based on the correction amount identified by path correction unit 11 and the position of the moving body. The position of the moving body may be identified using a positioning system such as a Global Positioning System (GPS), or may be notified from a monitoring system that monitors the moving body via a network or the like.

[0021] For example, the angular velocity specifying unit 12 may increase the angular velocity as the amount of correction from the current position increases, or may decrease the angular velocity as the amount of correction from the current position decreases.

[0022] The control unit 13 controls the operation of the moving body according to the angular velocity specified by the angular velocity specification unit 12 and the moving speed of the moving body. For example, the control unit 13 controls the driving unit of the moving body so that the moving body moves according to the angular velocity specified by the angular velocity specification unit 12 and a predetermined moving speed. The driving unit may include, for example, tires, wheels, etc. The control unit 13 may also control the moving body so that the moving body does not tilt using information about the attitude of the moving body. The control unit 13 may also control the moving body using information about the angle at which the moving body pushes the transported object so that the moving body does not let go of or drop the transported object. In addition, when the moving body transports the transported object in cooperation with another moving body, the control unit 13 may control the moving body using information about the distance between the moving body and the other moving body.

[0023] Next, a flow of control processing executed in the control system 10 according to the first embodiment will be described with reference to Fig. 2. First, the path correction unit 11 determines a correction amount in a direction in which the moving body moves away from the moving path in response to detection of an obstacle located on the moving path of the moving body (S11). Next, the angular velocity identification unit 12 determines the angular velocity of the moving body based on the correction amount determined by the path correction unit 11 and the position of the moving body (S12). Next, the control unit 13 controls the operation of the moving body in response to the angular velocity determined by the angular velocity identification unit 12 and the moving speed (S13).

[0024] Here, for example, it is assumed that the path correction unit 11 and the angular velocity identification unit 12 are arranged in the same device, and the control unit 13 is arranged in the moving body. In this case, a control unit of the device in which the path correction unit 11 and the angular velocity identification unit 12 are arranged may transmit information on the identified angular velocity and moving speed to the moving body in which the control unit 13 is arranged. The moving body may control the operation of the moving body using the received angular velocity and moving speed.

[0025] As described above, the control system 10 calculates the angular velocity by identifying the angular velocity of the moving body based on the correction amount of the moving body and the position of the moving body. That is, the control system 10 calculates the angular velocity to be currently set. As a result, the control system 10 can reduce the calculation load related to the calculation of the angular velocity compared to the case where the control system 10 calculates all the angular velocities that change from moment to moment as the moving body moves from the current position to a position determined according to the correction amount. In addition, the control system 10 can reduce the calculation load by calculating the angular velocity using the correction amount in the direction away from the travel route compared to the case where the angular velocity is calculated using the detailed position of the moving body.

[0026] (Embodiment 2) Next, a configuration example of the information processing device 20 according to the second embodiment will be described with reference to Fig. 3. The information processing device 20 may be a computer device operated by a processor executing a program stored in a memory. The information processing device 20 generates control values ​​necessary for a moving object 30 to travel autonomously, which will be described later.

[0027] The information processing device 20 includes an evaluation unit 21, an angular velocity identification unit 22, a simulation execution unit 23, a communication unit 24, a speed candidate storage unit 25, a target value candidate storage unit 26, a cost value storage unit 27, and an obstacle determination unit 28. Each component of the information processing device 20 may be software or a module in which processing is performed by a processor executing a program stored in a memory. Alternatively, each component of the information processing device 20 may be hardware such as a circuit or a chip. The speed candidate storage unit 25, the target value candidate storage unit 26, and the cost value storage unit 27 may be, for example, a memory that stores data, and each may have a different memory area. The evaluation unit 21 corresponds to the path correction unit 11 in FIG. 1. The angular velocity identification unit 22 corresponds to the angular velocity identification unit 12 in FIG. 1.

[0028] The speed candidate storage unit 25 stores information on speed candidates applied to the moving object 30. The speed candidates may be, for example, a speed time series indicating a change in speed within a predetermined period. The speed candidates stored in the speed candidate storage unit 25 will be described with reference to FIG. 4. In FIG. 4, the vertical axis indicates speed v, and the horizontal axis indicates time t. FIG. 4 shows the time from time t0 to t h In other words, FIG. 4 shows the velocity time series from time t0 to h steps ahead. h-1 is from time t0 to time t h 4 shows three speed time series as speed candidates, but the speed candidate storage unit 25 may store n (n is an integer of 1 or more) types or n patterns of speed time series.

[0029] Returning to FIG. 3, the target value candidate storage unit 26 stores information indicating the target position where the moving body 30 will be located after a predetermined period of time has elapsed. Here, the target position where the moving body 30 will be located will be described with reference to FIG. 5. FIG. 5 shows a view of the travel area of ​​the moving body 30 viewed from above. R1 indicates the travel route of the moving body 30. The arrival point of the moving body 30 is on the travel route R1. Assume that an obstacle 40 is present on the travel route. That is, if the moving body 30 continues to move on the travel route, it will collide with the obstacle 40. a_1 to a_6 indicate the distance from the travel route R1. More specifically, a_1 to a_6 indicate the distance in the Y-axis direction when the travel route R1 is the X-axis and the axis perpendicular to the X-axis is the Y-axis. a_1 to a_6 correspond to the correction amount.

[0030] The solid line indicates the current position of the moving body 30, and the dotted line indicates the estimated position of the moving body 30 after a predetermined period of time. The predetermined period of time is, for example, from t0 to t h 5 shows candidates for the position where the moving body 30 will be located after the predetermined period. Specifically, positions a_1 to a_6 away from the travel route R1 and positions on the travel route R1 are shown as candidates for the position where the moving body 30 will be located. FIG. 5 shows that if the moving body 30 is located at a_3 to a_6 and further on the travel route R1 after the predetermined period, the moving body 30 and the obstacle 40 will overlap and collide with each other.

[0031] As shown in Fig. 6, the target value candidate storage unit 26 stores a_1 to a_m including a_1 to a_6. Offset_1 to offset_m in Fig. 6 are information for identifying distances a_1 to a_6. For example, when offset_1 is specified, the value of a_1 is extracted. That is, a_1 to a_6 indicate values ​​that are candidates for the target point in the y-axis direction of the moving object 30 after a predetermined period of time.

[0032] The obstacle determination unit 28 determines whether or not an obstacle exists around the moving body 30. For example, the obstacle determination unit 28 may receive detection information of an obstacle around the moving body 30 from a sensor mounted on the moving body 30. Alternatively, the sensor may be installed on a wall, a ceiling, or the like so as to monitor the travel area of ​​the moving body 30. The sensor detects an object or a person regarded as an obstacle in a predetermined space. The detection information may include information on the position where the obstacle exists. When the obstacle determination unit 28 receives the detection information of an obstacle from the sensor mounted on the moving body 30, the obstacle determination unit 28 determines that an obstacle exists around the moving body 30. In addition, the obstacle determination unit 28 specifies the position where the obstacle exists using the detection information of the obstacle. The obstacle determination unit 28 may receive the detection information from the sensor via a wireless communication line or a wired communication line. For example, the obstacle determination unit 28 may receive the detection information via a wireless LAN (Local Area Network).

[0033] The obstacle may be, for example, a device, equipment, shelf, pillar, etc., arranged in a predetermined space. The obstacle may be a moving object or a non-moving object. The sensor may be, for example, a camera or an infrared sensor. The camera may be a 2D camera or a 3D camera. The sensor may be a 2D lidar or a 3D lidar. The camera or the sensor may be attached at multiple locations to observe the predetermined space.

[0034] The obstacle determination unit 28 may detect an obstacle by, for example, performing machine learning using an image received from a sensor. For example, in a case where a learning model that has learned images and the like related to obstacles has been generated in advance, the obstacle determination unit 28 may determine whether or not an obstacle exists around the moving object 30 by applying the received image to the learning model.

[0035] Returning to FIG. 3, the simulation execution unit 23 executes a simulation in which N (N is an integer equal to or greater than 1) patterns of speed time series and M (M is an integer equal to or greater than 1) target values ​​are applied to the following formula (1) to calculate a cost S. The cost S is a value indicating the appropriateness of the simulation result. The simulation execution unit 23 calculates the cost S for each pair using N×M patterns of speed time series and target value pairs. The smaller the value of cost S, the more appropriate the pair of speed time series and target value used is. The r in the cost Sr in formula (1) indicates a value that identifies the pair of speed time series and target value, and for example, r may be 1 or more and N×M or less.

[0036] TIFF0007647901000001.tif8166

[0037] i=0 to i=h indicate the time shown in FIG. 4. For example, i=1 indicates time t1. i k is the time t of the speed time series identified by the identification information k (k is an integer between 1 and N) among N patterns of the speed time series. i The velocity at v max indicates the maximum speed of the moving object 30. i and y i is the time t i The position of the moving object 30 on the travel route R1 is represented as the x-coordinate, and the y-coordinate value is represented by the distance from the travel route R1. target is the y coordinate of the travel route R1 of the moving object 30. For example, if the travel route R1 is the x axis, y target will result in 0.

[0038] The first term of equation (1) is i The faster the speed at time t, the smaller the value becomes. i The closer the y-coordinate position is to the travel route R1, the smaller the value becomes. i ,y i ) is (x i ,y i) is a position where the obstacle 40 collides with, the value is 1, and when the obstacle 40 collides with, the value is 0. The simulation execution unit 23 calculates the function (x i ,y i ) overlaps with the position of the obstacle identified by the obstacle determining unit 28, a collision will occur. i ,y i ) may be set to 1.

[0039] A is the coefficient of the first term, B is the coefficient of the second term, and C is the coefficient of the third term, each of which may be referred to as a weighting coefficient. For example, when it is necessary to increase the influence of the third term in the calculation of the cost S, C may be set to a larger value compared to A and B. For example, by setting C to a larger value compared to A and B, it is possible to increase the value of the cost for a pair of a speed time series and a target value that may collide with an obstacle within a predetermined period of time.

[0040] Here, in equation (1), time t i x in i and y i A method for calculating the above equation will be described. The moving object 30 moves within a two-dimensional plane, and its movement is described using a velocity v and an angular velocity w. If the position coordinates of the moving object 30 are (x, y) and the direction or angle is θ, the movement of the moving object 30, which moves with a velocity v and an angular velocity w, is described using the following differential equation (2).

[0041] dx / dt=v×cos(θ) dy / dt=v×sin(θ) dθ / dt=w (2)

[0042] That is, if the position (x0, y0), orientation θ0, velocity v0, and angular velocity w0 of the moving body 30 at the current time t0 are known, the position (x1, y1) and orientation θ1 of the moving body 30 at the next time t1 can be calculated or estimated using differential equation (2). The position (x0, y0) and orientation θ0 of the moving body 30 at the current time t0 may be received from the moving body 30 by, for example, the simulation execution unit 23. The moving body 30 may specify the angle θ0 indicating the current orientation with respect to the travel route based on steering rotation information, left and right wheel rotation information, etc. The moving body 30 may generate position information using a sensor such as a GPS (Global Positioning System), or may generate position information of the moving body 30 based on steering rotation information, left and right wheel rotation information, etc.

[0043] Furthermore, the calculated position (x1, y1) and direction θ1 of the moving body 30, as well as the angular velocity w1 and the velocity v1 determined in the velocity time series, can be applied to the differential equation (2) to calculate or estimate the position (x2, y2) and direction θ2 of the moving body 30 at the next time t2. By repeating this process, i The position (x i ,y i ) and orientation θ i can be calculated or estimated.

[0044] Here, the angular velocity w i-1 A calculation example of the current time t i-1 The y coordinate of i-1 The target value is offset_a, and the time t i-1 The angle is θ i-1 The offset_a is one of the offsets_1 to n stored in the target value candidate storage unit 26. In addition, the angle θ i-1is the angle at which the front direction of the moving body 30 faces, based on the travel route. For example, in FIG. 5, the direction of the travel route R1 may be 0 degrees, the direction of the target values ​​a_1 to a_3 may be a positive angle, and the direction of the target values ​​a_4 to a_6 may be a negative angle. If time t0 is the current time, the angle θ0 at time t0 indicates the angle at which the moving body 30 faces at present. In FIG. 5, the y coordinate may be a positive value in the direction of the target values ​​a_1 to a_3, and a negative value in the direction of the target values ​​a_4 to a_6, based on the travel route R1. The angle θ or the direction may be referred to as the attitude of the moving body 30. The attitude of the moving body may be the direction in which the front part of the moving body faces with respect to the reference direction. The reference direction may be, for example, the traveling direction of the travel route. The front part of the moving body may be, for example, the traveling direction of the moving body. Alternatively, the attitude of the moving body may be indicated using a direction such as east-west, north-south, etc., based on the current position.

[0045] time t i-1 y coordinate of i-1 , the target value offset_a, and the time t i-1 Angle θ i-1 By applying this to the following equation (3), the angular velocity w i-1 Calculate.

[0046] w i-1 =-p1×(y i-1 -offset_a)-p2×θ i-1 (3)

[0047] In formula (3), p1 and p2 are control parameters and are set to predetermined values. Formula (3) indicates proportional control in which the value of angular velocity w increases as the current y coordinate of moving body 30 deviates from the target value and as the orientation of the robot deviates from the direction of the target value.

[0048] w calculated using equation (3) i-1 By applying this to equation (2), the angle θ i can be calculated.

[0049] In this way, y applied to equation (1) i Then, the cost S is calculated using formula (1). Here, the cost S using formula (1) is calculated for all pairs of the speed time series and the target value. In other words, since the speed time series has N patterns and there are M target values, N×M costs S are calculated. The N×M costs S are, for example, S1, S2, ... S N×M It may be shown as follows.

[0050] The simulation execution unit 23 stores the calculated cost S in the cost value storage unit 27. When the N×M cost S is stored in the cost value storage unit 27, the evaluation unit 21 adopts the pair of the cost S with the smallest value. In other words, the evaluation unit 21 adopts the speed time series and the target value applied to calculate the cost S with the smallest value.

[0051] The angular velocity identification unit 22 calculates the angular velocity w by applying the target value adopted by the evaluation unit 21 to the formula (3). Here, the angular velocity identification unit 22 uses the adopted target value as offset_a, and calculates the angular velocity w using the y coordinate y0 and the angle θ0 at the current time t0. The calculated angular velocity is used as the angular velocity of the moving body 30 at the next timing or the next time. The communication unit 24 transmits information on the velocity time series adopted by the evaluation unit 21 and the angular velocity w calculated by the angular velocity identification unit 22 to the moving body 30. The velocity time series adopted by the evaluation unit 21 and the information on the angular velocity w calculated by the angular velocity identification unit 22 may be referred to as a control input value used in the moving body 30. The next time at which the control input value is used in the moving body 30 may be time t1, assuming that the current time is t0. In other words, the information processing device 20 calculates the control input value of the moving body 30 at time t1 between the current time t0 and time t1.

[0052] Furthermore, when the current time becomes time t1, the velocity time series and angular velocity w at the next time t2 are identified in the same manner as in the procedure for identifying the velocity time series and angular velocity w at time t1. Here, when the velocity time series at time t1 is identified, the velocity time series stored in the velocity candidate storage unit 25 is updated. Specifically, as shown in FIG. 7, multiple velocity time series are set, with the velocity at time t1 in the identified velocity time series as the starting point. Also, since time t1 is the starting point, the velocity time series at time t2, which is h steps after time t1, is identified. h+1 The speed time series is set up to

[0053] Next, a configuration example of the mobile object 30 will be described with reference to Fig. 8. The mobile object 30 has a communication unit 31 and a mobile object control unit 32. The communication unit 31 and the mobile object control unit 32 may be software or a module in which processing is performed by a processor executing a program stored in a memory. Alternatively, the communication unit 31 and the mobile object control unit 32 may be hardware such as a circuit or a chip.

[0054] The communication unit 31 communicates with the communication unit 24 of the information processing device 20. For example, the communication unit 31 may communicate with the communication unit 24 via a wireless communication line or via a wired communication line. The communication unit 31 may perform short-distance wireless communication with the communication unit 24, for example, wireless LAN (Local Area Network), infrared communication, or Bluetooth (registered trademark).

[0055] The communication unit 31 receives information on a velocity time series and an angular velocity for operating the moving body 30 from the information processing device 20.

[0056] Next, the moving body control unit 32 controls the driving unit of the moving body 30 according to the speed time series and angular velocity received by the communication unit 31. For example, the moving body control unit 32 may control the rotation of the wheels so that the moving body 30 moves at a specified speed time series and angular velocity. In addition to the driving unit of the moving body 30, the moving body control unit 32 may control the attitude of the moving body 30 so that the body of the moving body 30 does not tilt. Furthermore, the moving body control unit 32 may control the angle at which the moving body 30 pushes the transported object so that the moving body 30 does not let go of or drop the transported object. Alternatively, when the moving body 30 transports the transported object in cooperation with another moving body, the moving body control unit 32 may control the distance between the moving body 30 and the other moving body. Information required for the moving body control unit 32 to perform each control may be received from the information processing device 20, may be received from a device different from the information processing device 20, or may be generated by a control unit or the like in the moving body 30.

[0057] Next, a flow of a process of generating a control input value in the information processing device 20 according to the second embodiment will be described with reference to Fig. 9. First, the information processing device 20 acquires current movement information related to the moving object 30 (S21). The current movement information may be information including, for example, the velocity, angular velocity, orientation, and current position of the moving object 30.

[0058] Next, the simulation execution unit 23 selects one pair of a speed time series and one target value from among the N patterns of speed time series stored in the speed candidate storage unit 25 and the M target values ​​stored in the target value candidate storage unit 26 (S22).

[0059] Next, the simulation execution unit 23 calculates the cost S for the selected pair using equation (1), differential equation (2), and equation (3) (S23). Next, the simulation execution unit 23 determines whether or not the cost S for all pairs of speed time series and target values ​​stored in the speed candidate storage unit 25 and the target value candidate storage unit 26 has been calculated (S24).

[0060] If there are any pairs that have not been selected, the simulation execution unit 23 repeats the processes from step S22 onwards. When the costs S of all pairs have been calculated in the simulation execution unit 23, the evaluation unit 21 selects the pair used to calculate the lowest cost S (S25).

[0061] Next, the angular velocity identification unit 22 calculates the angular velocity w by applying the target value included in the pair selected in step S25 to equation (3) (S26).

[0062] Next, the communication unit 24 transmits the velocity time series and the angular velocity w to the moving object 30 as control input values ​​(S27).

[0063] As described above, the information processing device 20 according to the second embodiment specifies the velocity of the moving body 30 at the next time t1 at the current time t0, and further calculates the angular velocity. In this way, the process of specifying the velocity of the moving body 30 at the next time at each time and further calculating the angular velocity reduces the processing load compared to the process of calculating all the velocities and angular velocities at multiple timings to realize the specified route.

[0064] Moreover, by using the first term of formula (1), the faster the speed, the smaller the value of the cost S. This allows the information processing device 20 to select a speed time series that increases the moving speed of the moving body 30. Furthermore, by using the second term of formula (1), the closer the moving body 30 is to the travel route R1, the smaller the value of the cost S. This allows the moving body 30 to quickly return to the travel route R1 even if the moving body 30 is traveling at a position away from the travel route to avoid the obstacle 40, for example.

[0065] (Embodiment 3) Next, a configuration example of an information processing device 50 according to the third embodiment will be described with reference to Fig. 10. The information processing device 50 has a configuration in which a random number generation unit 51 is added to the information processing device 20 of Fig. 3. The random number generation unit 51 generates an arbitrary random number and outputs the generated random number to the simulation execution unit 23. The random number generated by the random number generation unit 51 is used to change the position of the moving object 30.

[0066] In the second embodiment, when the simulation execution unit 23 executes a simulation using pairs of speed time series and target values ​​of an N×M pattern, it is assumed that the moving body 30 moves according to the selected speed time series and the calculated angular velocity. However, the moving body 30 may meander instead of moving normally according to the speed time series and the angular velocity. For example, the moving body 30 may meander due to external environmental conditions such as the condition of the ground on which the moving body 30 is in contact and weather conditions, or internal environmental conditions such as the aging deterioration of the moving body 30. The random number generation unit 51 generates random numbers to execute a simulation taking into account the external environmental conditions or the internal environmental conditions.

[0067] Fig. 11 shows the travel area of ​​the moving body 30. Specifically, Fig. 11 shows the travel area of ​​the moving body 30 viewed from above in a direction perpendicular to the two-dimensional area which is the travel area of ​​the moving body 30. Fig. 11 shows that the moving body 30 moves in a straight line in the X direction.

[0068] On the other hand, Fig. 12 shows that the moving object 40 is traveling in a meandering manner. Fig. 12 shows a plurality of routes along which the moving object 40 is traveling in a meandering manner, that is, a variation pattern of the route. A probability model showing that the moving object 30 does not necessarily travel along a set route as shown in Fig. 12 is expressed by the following Equation 4.

[0069] TIFF0007647901000002.tif10117

[0070] r=(x, y, θ) is a vector representing the state of the moving body 30. f is a function describing the dynamics of the moving body. u is a control input. S is a covariance matrix. dB t is the increment of Brownian motion in a small time. Equation (4) expresses the stochastic effect of the moving object 30 meandering on dr=f(r,u)dt, which indicates the position of the grid according to the time change dt, when a function f(r,u) is given, as SdB t is added. That is, equation (4) represents the fluctuation of the position of the grid in which the mobile object 30 exists at a certain time or period. In other words, equation (4) represents the fluctuation pattern of the route shown in FIG.

[0071] The random number generator 51 calculates the SdB t Generates a random number to be used as

[0072] The simulation execution unit 23 selects one pair and performs a simulation to calculate the cost S. In the third embodiment, in order to investigate the stochastic effect of the moving object 30 meandering, D simulations are performed for one pair using different random numbers. In other words, the simulation execution unit 23 calculates D costs S (S1 to S D The simulation execution unit 23 calculates an evaluation value J by applying the D costs S to the following evaluation formula (5).

[0073] TIFF0007647901000003.tif13123

[0074] The simulation execution unit 23 calculates the evaluation value J for all pairs, and the evaluation unit 21 adopts the pair with the smallest evaluation value J. In other words, the evaluation unit 21 adopts the speed time series and target value applied to calculate the smallest evaluation value J.

[0075] The other operations and processes are similar to those of the information processing device 20, and therefore detailed description thereof will be omitted.

[0076] As described above, the information processing device 50 according to the third embodiment can execute a simulation taking into consideration the external or internal environmental conditions of the moving body 30. This allows the information processing device 50 to determine a control input value that further reduces the possibility of a collision, taking into consideration the meandering of the moving body 30.

[0077] (Embodiment 4) Next, a configuration example of an information processing device 60 according to the fourth embodiment will be described with reference to Fig. 13. The information processing device 60 has a configuration in which a smoothing parameter generating unit 61 is added to the information processing device 20 in Fig. 3. The smoothing parameter generating unit 61 is used to suppress fluctuations in the movement path of the moving object 30.

[0078] The fluctuation of the moving path of the moving object 30 will be described with reference to FIG. 14. FIG. 14 shows that there are directions a_1 and a_2, and directions a_5 and a_6, in which the moving object 30 can avoid the obstacle 40. In other words, there are paths for the moving object 30 to avoid the obstacle 40 in the left direction or the right direction based on the moving path. In such a case, for example, when the evaluation unit 21 determines that the obstacle 40 is in the left direction or the right direction at time t i In the target position, a pair including a_1 or a_2 is selected, and at time t i+1 In the example, the evaluation unit 21 may select a pair including a_5 or a_6 as the target position. That is, the evaluation unit 21 may alternately select a pair including a target position to the left of the obstacle 40 and a pair including a target position to the right of the obstacle 40 as the control input value for avoiding the obstacle 40. In this case, the moving body 30 may not be able to avoid the obstacle 40 and may collide with the obstacle 40.

[0079] In this way, the evaluation unit 21 calculates the cost S taking exponential smoothing into consideration in order to suppress fluctuations in the direction of the target position to be selected. Specifically, the following formula (6) is used to calculate the cost S.

[0080] TIFF0007647901000004.tif6154

[0081] In equation (6), a fourth term is added to equation (1). offset q indicates the target position included in the selected pair. Furthermore, y offset EMA shows the exponential smoothing of the target position that has been adopted so far. Specifically, y offset EMA is y offset q The exponential smoothing of the target positions adopted prior to the target position selected in is shown. Here, y offset EMA is updated as follows:

[0082] y offset EMA ←py offset q +(1-p)y offset EMA 0≦p≦1

[0083] That is, the correction amount of the pair at the second time is adjusted based on the correction amount of the pair selected at the first time. For example, by decreasing the value of p, the target position y offset EMA It is possible to increase the influence of. When the difference between the target position included in the pair and the target position adopted so far is large, the value of the fourth term of formula (6) becomes large, and the value of the cost S becomes large. Therefore, when the difference between the target position included in the pair and the target position adopted so far is large, the possibility of adopting the pair decreases, and the possibility of adopting a pair including a target position with a small difference from the target position adopted so far increases.

[0084] As described above, the information processing device 60 of the fourth embodiment can suppress fluctuations in the selected target position, and can therefore determine a control input value that further reduces the possibility of a collision.

[0085] FIG. 15 is a block diagram showing a configuration example of the information processing devices 20, 50, and 60 (hereinafter, referred to as the information processing devices 20, etc.). Referring to FIG. 15, the information processing device 20, etc. includes a network interface 1201, a processor 1202, and a memory 1203. The network interface 1201 may be used to communicate with a network node (e.g., eNB, MME, P-GW). The network interface 1201 may include, for example, a network interface card (NIC) conforming to the IEEE 802.3 series. Here, eNB stands for evolved Node B, MME stands for Mobility Management Entity, and P-GW stands for Packet Data Network Gateway. IEEE stands for Institute of Electrical and Electronics Engineers.

[0086] The processor 1202 reads out and executes software (computer programs) from the memory 1203 to perform the processing of the information processing device 20 and the like described using the flowcharts in the above-mentioned embodiment. The processor 1202 may be, for example, a microprocessor, an MPU, or a CPU. The processor 1202 may include multiple processors.

[0087] The memory 1203 is configured by a combination of volatile memory and non-volatile memory. The memory 1203 may include storage located away from the processor 1202. In this case, the processor 1202 may access the memory 1203 via an I / O (Input / Output) interface (not shown).

[0088] 15, the memory 1203 is used to store a group of software modules. The processor 1202 reads out and executes the group of software modules from the memory 1203, thereby performing the processing of the information processing device 20 and the like described in the above-mentioned embodiment.

[0089] As described using FIG. 15, each of the processors of the information processing device 20 in the above-described embodiment executes one or more programs including a set of instructions for causing a computer to execute the algorithm described using the drawings.

[0090] In the above examples, the program includes instructions (or software code) that, when loaded into a computer, cause the computer to perform one or more functions described in the embodiments. The program may be stored in a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, the computer-readable medium or tangible storage medium includes random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD-ROM, digital versatile disc (DVD), Blu-ray® disk or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may be transmitted on a transitory computer-readable medium or communication medium. By way of example and not limitation, the transitory computer-readable medium or communication medium includes electrical, optical, acoustic, or other forms of propagated signals.

[0091] The present disclosure is not limited to the above-described embodiment, and can be modified as appropriate without departing from the spirit and scope of the present disclosure.

[0092] A part or all of the above-described embodiments can be described as, but is not limited to, the following supplementary notes. (Appendix 1) a route correction means for determining a correction amount in a direction in which the moving object moves away from the travel route in response to detection of an obstacle located on the travel route of the moving object; an angular velocity determination means for determining an angular velocity of the moving body based on the correction amount and a position of the moving body; A control system comprising: a control means for controlling an operation of the moving body in accordance with the identified angular velocity of the moving body and the moving speed of the moving body. (Appendix 2) The moving speed is 2. The control system of claim 1, wherein the speed time series indicates a change in speed of movement. (Appendix 3) The path correction means The control system according to claim 1 or 2, further comprising: selecting one of a plurality of pairs each combining one of a plurality of candidates for the moving speed with one of a plurality of candidates for the correction amount. (Appendix 4) The path correction means The control system of claim 3, further comprising: selecting one of the pairs in response to a motion of the moving object calculated based on each of the plurality of pairs. (Appendix 5) The angular velocity determination means The control system according to any one of claims 1 to 4, further comprising: determining an angular velocity of the moving body based on the correction amount and a position and an attitude of the moving body. (Appendix 6) The path correction means The control system of claim 3, further comprising: a control unit for calculating a motion of the moving body based on each of the plurality of pairs and a random number. (Appendix 7) The path correction means The control system of any one of appendixes 3, 4, and 6, further comprising: adjusting a correction amount of the pair at a second time based on a correction amount of the pair selected at a first time. (Appendix 8) a route correction means for determining a correction amount in a direction in which the moving object moves away from the travel route in response to detection of an obstacle located on the travel route of the moving object; an angular velocity determination means for determining an angular velocity of the moving body based on the correction amount and a position of the moving body; and a communication means for transmitting the identified angular velocity of the moving body and the moving speed of the moving body to the moving body. (Appendix 9) The moving speed is 9. The information processing device according to claim 8, wherein the information processing device is a speed time series showing a change in a moving speed. (Appendix 10) The path correction means The information processing device according to claim 8 or 9, further comprising: selecting one of a plurality of pairs each combining one of the plurality of candidates for the moving speed and one of the plurality of candidates for the correction amount. (Appendix 11) The path correction means The information processing device according to claim 10, further comprising: selecting one of the pairs in accordance with a motion of the moving object calculated based on each of the plurality of pairs. (Appendix 12) The angular velocity determination means The information processing device according to any one of claims 8 to 11, further comprising: determining an angular velocity of the moving body based on the correction amount and a position and an attitude of the moving body. (Appendix 13) The path correction means The information processing device according to claim 11, further comprising: a processor for calculating a motion of the moving object based on each of the plurality of pairs and a random number. (Appendix 14) The path correction means 14. The information processing device according to any one of claims 10, 11, and 13, further comprising: adjusting a correction amount of the pair selected at a second time based on a correction amount of the pair selected at a first time. (Appendix 15) determining a correction amount in a direction in which the moving object moves away from the travel path in response to detection of an obstacle located on the travel path of the moving object; determining an angular velocity of the moving body based on the correction amount and a position of the moving body; A control method for controlling an operation of the moving body in accordance with the identified angular velocity of the moving body and the moving speed of the moving body. (Appendix 16) determining a correction amount in a direction in which the moving object moves away from the travel path in response to detection of an obstacle located on the travel path of the moving object; determining an angular velocity of the moving body based on the correction amount and a position of the moving body; The control value generating method includes transmitting the identified angular velocity of the moving body and the moving speed of the moving body to the moving body. (Appendix 17) determining a correction amount in a direction in which the moving object moves away from the travel path in response to detection of an obstacle located on the travel path of the moving object; determining an angular velocity of the moving body based on the correction amount and a position of the moving body; A program that causes a computer to execute the following: transmitting the identified angular velocity of the moving body and the moving speed of the moving body to the moving body.

[0093] The present disclosure is not limited to the above-described embodiment, and can be modified as appropriate without departing from the spirit and scope of the present disclosure. [Explanation of symbols]

[0094] 10. Control System 11 Path correction section 12 Angular velocity determination section 13 Control section 20 Information processing device 21 Evaluation Section 22 Angular velocity determination section 23 Simulation Execution Department 24 Communications Department 25 Speed ​​candidate storage section 26 Target value candidate storage section 27 Cost value storage section 28 Obstacle detection section 30 Mobile 31 Communications Department 32 Mobile control unit 40 Obstacles 50 Information processing device 51 Random number generator 60 Information processing equipment 61 Smoothing parameter generator

Claims

1. a route correction means for determining a correction amount in a direction in which the moving object moves away from the travel route in response to detection of an obstacle located on the travel route of the moving object; an angular velocity determination means for determining an angular velocity of the moving body based on the correction amount and a position of the moving body; a control means for controlling a movement of the moving body in accordance with the identified angular velocity of the moving body and a predetermined velocity time series indicating a change in the moving velocity of the moving body, The path correction means performing a simulation a predetermined number of times to calculate a cost value for each of a plurality of pairs each combining one of the plurality of candidates for the speed time series and one of the plurality of candidates for the correction amount, using a random number indicating a probabilistic effect on the movement of the moving object, and selecting one of the plurality of pairs based on the calculated cost value; Control system.

2. A control system as described in claim 1, wherein the random number indicating the probabilistic effect on the movement of the moving body is a random number indicating the probabilistic effect of the moving body meandering.

3. The angular velocity identification means The control system according to claim 1 , further comprising: a control unit for determining an angular velocity of the moving body based on the correction amount and a position and an attitude of the moving body.

4. The path correction means 3. The control system according to claim 1, further comprising: a compensation amount for the pair selected at a first time point, the compensation amount for the pair selected at a second time point being adjusted based on the compensation amount for the pair selected at a first time point.

5. a route correction means for determining a correction amount in a direction in which the moving object moves away from the travel route in response to detection of an obstacle located on the travel route of the moving object; an angular velocity determination means for determining an angular velocity of the moving body based on the correction amount and a position of the moving body; A communication means for transmitting the specified angular velocity of the moving body and a predetermined velocity time series indicating a change in the moving velocity of the moving body to the moving body. The path correction means performing a simulation a predetermined number of times to calculate a cost value for each of a plurality of pairs each combining one of the plurality of candidates for the speed time series and one of the plurality of candidates for the correction amount, using a random number indicating a probabilistic effect on the movement of the moving object, and selecting one of the plurality of pairs based on the calculated cost value; Information processing device.

6. a plurality of pairs each combining one of a plurality of candidates of a predetermined speed time series indicating a change in a moving speed of a moving body with one of a plurality of candidates of a correction amount for a direction in which the moving body moves away from a traveling path of the moving body in response to detection of an obstacle located on the traveling path of the moving body, performing a simulation a predetermined number of times to calculate a cost value using a random number indicating a probabilistic effect on the movement of the moving body, and selecting one of the plurality of pairs based on the calculated cost value; determining an angular velocity of the moving body based on the correction amount and a position of the moving body; A control method for controlling a movement of the moving body in accordance with the identified angular velocity of the moving body and a predetermined velocity time series indicating a change in the moving velocity of the moving body.

7. a plurality of pairs each combining one of a plurality of candidates of a predetermined speed time series indicating a change in a moving speed of a moving body with one of a plurality of candidates of a correction amount for a direction in which the moving body moves away from a traveling path of the moving body in response to detection of an obstacle located on the traveling path of the moving body, performing a simulation a predetermined number of times to calculate a cost value using a random number indicating a probabilistic effect on the movement of the moving body, and selecting one of the plurality of pairs based on the calculated cost value; determining an angular velocity of the moving body based on the correction amount and a position of the moving body; A control value generating method comprising transmitting to the moving body the identified angular velocity of the moving body and a predetermined velocity time series indicating a change in the moving velocity of the moving body.

Citation Information

Patent Citations

  • High-speed unmanned vehicle trajectory planning system and method based on multi-window sampling

    CN112965476A

  • Drive controller for unmanned mobile object

    JP1991029010A

  • Traveling object travel route generating device

    JP2011186878A

  • Vehicle position identifying device, vehicle control system, vehicle position identifying method, and vehicle position identifying program

    JP2017211193A

  • Control device and control method for mobile robot

    JP2019021199A