WO2023037539A1 - Control system, information processing device, control method, and control value generation method - Google Patents

Control system, information processing device, control method, and control value generation method Download PDF

Info

Publication number
WO2023037539A1
WO2023037539A1 PCT/JP2021/033502 JP2021033502W WO2023037539A1 WO 2023037539 A1 WO2023037539 A1 WO 2023037539A1 JP 2021033502 W JP2021033502 W JP 2021033502W WO 2023037539 A1 WO2023037539 A1 WO 2023037539A1
Authority
WO
WIPO (PCT)
Prior art keywords
moving body
angular velocity
moving
correction amount
information processing
Prior art date
Application number
PCT/JP2021/033502
Other languages
French (fr)
Japanese (ja)
Inventor
真也 安田
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2021/033502 priority Critical patent/WO2023037539A1/en
Publication of WO2023037539A1 publication Critical patent/WO2023037539A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions

Definitions

  • the present disclosure relates to a control system, an information processing device, a control method, and a control value generation method.
  • Patent Document 1 describes a method for calculating a route for an autonomous mobile robot to move to a destination, and calculating an avoidance route for avoiding obstacles when obstacles are present. Also, the autonomous mobile robot performs a simulation of moving along each of the plurality of route candidates, and calculates, for example, the speed history, acceleration history, etc., when moving along each route candidate. The autonomous mobile robot selects a movement route based on the calculated speed history and the like.
  • Patent Document 1 it is necessary for the autonomous mobile robot to determine a plurality of route candidates, then calculate the speed, acceleration, etc. for moving each route candidate, and evaluate each route candidate. .
  • the autonomous mobile robot starts to move, there is a problem that the calculation processing for calculating the appropriate speed, acceleration, etc. for moving each route candidate is burdened.
  • One of the purposes of the present disclosure is to provide a control system, an information processing device, a control method, and a control value generation method that can suppress an increase in computational load for controlling movement of a mobile object.
  • a control system includes route correction means for specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object. , angular velocity specifying means for specifying the angular velocity of the moving body based on the correction amount and the position of the moving body; and according to the specified angular velocity of the moving body and the moving speed of the moving body, and control means for controlling the operation of the moving body.
  • An information processing apparatus includes route correction means for specifying a correction amount in a direction away from a travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object. and angular velocity specifying means for specifying the angular velocity of the moving body based on the correction amount and the position of the moving body; and a communication means for transmitting to the body.
  • a control method specifies a correction amount in a direction away from the traveling route of the moving body in response to detection of an obstacle positioned on the traveling route of the moving body, and determines the correction amount. and the position of the moving body, and controlling the operation of the moving body according to the identified angular velocity of the moving body and the moving speed of the moving body. .
  • a control value generation method specifies a correction amount in a direction in which the moving object moves away from the traveling route in response to detection of an obstacle positioned on the traveling route of the moving object, and The angular velocity of the moving body is specified based on the correction amount and the position of the moving body, and the specified angular velocity of the moving body and the moving speed of the moving body are transmitted to the moving body.
  • control system an information processing device, a control method, and a control value generation method that can suppress an increase in computational load for controlling movement of a mobile body.
  • FIG. 1 is a configuration diagram of a control system according to Embodiment 1;
  • FIG. 4 is a diagram showing the flow of control processing executed in the control system according to the first embodiment;
  • FIG. 1 is a configuration diagram of an information processing apparatus according to a second embodiment;
  • FIG. 10 is a diagram for explaining speed time series according to the second embodiment;
  • FIG. FIG. 11 is a diagram for explaining target points according to the second embodiment;
  • FIG. FIG. 10 is a diagram showing data stored in a target value storage unit according to the second embodiment;
  • FIG. FIG. 10 is a diagram for explaining speed time series according to the second embodiment;
  • FIG. FIG. 10 is a configuration diagram of a moving object according to a second embodiment;
  • the control system 10 of FIG. 1 has a path corrector 11 , an angular velocity specifier 12 and a controller 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 may be arranged in different devices.
  • 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.
  • the path correction unit 11, the angular velocity identification unit 12, and the control unit 13 may be software or modules whose processing is executed by a processor executing a program stored in memory.
  • the path correction unit 11, the angular velocity identification unit 12, and the control unit 13 may be hardware such as circuits or chips.
  • the route correction unit 11 specifies a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle located on the travel route of the mobile object.
  • the moving body may be a robot that moves autonomously, for example, a transport robot (AGV (Automated Guided Vehicle)) that transports objects.
  • AGV Automated Guided Vehicle
  • the mobile body may have four wheels, such as a car, and may move by a steering system, or may move by using two differential wheels. By independently controlling the speeds of the left and right wheels, the differential two-wheel vehicle can travel around curves due to the speed difference between the respective wheels.
  • the travel route may be, for example, a route connecting the current position of the mobile object and the destination point to which the mobile object should reach at the shortest distance. It may be a route calculated as a route that is
  • Obstacles can be stationary objects such as pillars, walls, and shelves, or moving objects such as humans and other robots.
  • the correction amount may be the difference in the distance between the position where the moving body moving at a predetermined moving speed exists after a predetermined period of time and the travel route when there is no obstacle.
  • the angular velocity identifying unit 12 identifies the angular velocity of the moving object based on the correction amount identified by the path correcting unit 11 and the position of the moving object.
  • the position of the mobile object may be specified using a positioning system such as GPS (Global Positioning System), or notified from a monitoring system that monitors the mobile object via a network or the like.
  • GPS Global Positioning System
  • the angular velocity specifying unit 12 may increase the angular velocity as the amount of correction from the current position increases, and may decrease the angular velocity as the amount of correction from the current position decreases.
  • the control unit 13 controls the movement of the moving object according to the angular velocity specified by the angular velocity specifying unit 12 and the moving speed of the moving object.
  • the control unit 13 controls the driving unit of the moving object such that the moving object moves according to the angular velocity specified by the angular velocity specifying unit 12 and the predetermined moving speed.
  • the drive may include, for example, tires, wheels, and the like.
  • the control unit 13 may use information about the attitude of the moving body to control the moving body so that it does not tilt.
  • the control unit 13 may control the moving body using information about the angle at which the moving body pushes the transported object so that the moving object does not release or drop the transported object.
  • the control unit 13 may control the moving body using information about the distance between the moving body and the other moving body. good.
  • the route correction unit 11 specifies a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object (S11).
  • the angular velocity identifying unit 12 identifies the angular velocity of the moving object based on the correction amount identified by the path correcting unit 11 and the position of the moving object (S12).
  • the control unit 13 controls the movement of the moving object according to the angular velocity specified by the angular velocity specifying unit 12 and the moving speed (S13).
  • 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 object.
  • the control unit or the like of the device in which the path correction unit 11 and the angular velocity specifying unit 12 are arranged may transmit information about the specified angular velocity and the moving speed to the moving body in which the control unit 13 is arranged.
  • the moving body may use the received angular velocity and moving speed to control the movement of the moving body.
  • the control system 10 calculates the angular velocity by specifying 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 set at present. As a result, the control system 10 can reduce the calculation load related to the calculation of angular velocities compared to the case of calculating all the ever-changing angular velocities in order to move the moving body from the current position to the position determined according to the correction amount. can be suppressed. In addition, the control system 10 calculates the angular velocity using the correction amount in the direction away from the travel route, thereby reducing the calculation load compared to the case of calculating the angular velocity using the detailed position of the moving object. can be done.
  • 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 a control value necessary for the moving body 30 described later to run autonomously.
  • 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. have.
  • Each component of the information processing device 20 may be software or a module whose processing is executed by a processor executing a program stored in memory. Alternatively, each component of the information processing device 20 may be hardware such as a circuit or 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, memories for storing data, and may each have different memory areas.
  • the evaluation unit 21 corresponds to the route correction unit 11 in FIG.
  • the angular velocity identification unit 22 corresponds to the angular velocity identification unit 12 in FIG.
  • the speed candidate storage unit 25 stores information on speed candidates applied to the moving object 30 .
  • a speed candidate may be, for example, a speed time series that indicates changes in speed within a predetermined period.
  • the speed candidates stored in the speed candidate storage unit 25 will be described with reference to FIG.
  • the vertical axis indicates velocity v and the horizontal axis indicates time t.
  • FIG. 4 shows the change in velocity during the period from time t 0 to t h .
  • FIG. 4 shows the velocity time series from time t 0 to h steps ahead.
  • t 1 to t h ⁇ 1 in FIG. 4 indicate times obtained by equally dividing the time from time t 0 to time t h .
  • FIG. 4 shows three speed time series as speed candidates
  • the speed candidate storage unit 25 may store n (n is an integer equal to or greater than 1) types or n patterns of speed time series. good.
  • the target value candidate storage unit 26 stores information indicating the target position where the moving body 30 will be after a predetermined period of time has elapsed.
  • the target position where the moving body 30 exists will be described with reference to FIG.
  • FIG. 5 shows a view of the travel area of the moving body 30 viewed from above.
  • R1 indicates the traveling route of the moving body 30.
  • FIG. Also, the arrival point of the moving body 30 exists on the travel route R1.
  • an obstacle 40 exists on the travel route. In other words, the moving object 30 collides with the obstacle 40 when it continues to move on the travel route.
  • a_1 to a_6 indicate distances from the travel route R1.
  • a_1 to a_6 indicate distances in the Y-axis direction when the traveling 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 correction amounts.
  • a solid-line mobile object 30 indicates the current mobile object 30, and a dotted-line mobile object 30 indicates the estimated position of the mobile object 30 after a predetermined period of time.
  • the predetermined period may be, for example, a period from t0 to th .
  • FIG. 5 shows candidates for positions where the mobile object 30 will be present after a predetermined period of time. 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 object 30 exists.
  • the moving body 30 and the obstacle 40 overlap each other, and the moving body 30 and the obstacle 40 overlap. shown to collide.
  • the target value candidate storage unit 26 stores a_1 to a_m, including a_1 to a_6, as shown in FIG. offset_1 to offset_m in FIG. 6 are information for identifying the distances a_1 to a_6. For example, if 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 body 30 after a predetermined period of time.
  • the obstacle determination unit 28 determines whether or not there is an obstacle around the moving object 30 .
  • the obstacle determination unit 28 may receive detection information of obstacles around the moving body 30 from a sensor mounted on the moving body 30, for example. Alternatively, the sensors may be installed on walls, ceilings, etc. so as to monitor the travel area of the moving body 30 .
  • the sensors detect objects or people that are considered obstacles in a given space.
  • the detection information may include information regarding the location of the obstacle.
  • the obstacle determination unit 28 determines that an obstacle exists around the moving body 30 when the obstacle detection information is received from the sensor mounted on the moving body 30 . Further, the obstacle determination unit 28 identifies the position where the obstacle exists using the obstacle detection information.
  • the obstacle determination unit 28 may receive detection information from sensors via a wireless communication line or a wired communication line.
  • the obstacle determination unit 28 may receive detection information via, for example, a wireless LAN (Local Area Network).
  • Obstacles may be, for example, devices, facilities, shelves, pillars, etc. placed within a predetermined space. Also, 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 2DLidar or a 3DLidar. Cameras or sensors may be mounted at multiple locations to observe within a given space.
  • the obstacle determination unit 28 may detect obstacles by, for example, performing machine learning using images received from sensors. For example, when a learning model is generated by learning images related to obstacles in advance, the obstacle determination unit 28 applies the received images to the learning model to determine whether an obstacle exists around the moving body 30. You may decide whether to
  • the simulation execution unit 23 applies speed time series of N patterns (N is an integer of 1 or more) and M target values (M is an integer of 1 or more) to the following equation (1).
  • the cost S is a value that indicates the adequacy of the simulation result.
  • the simulation execution unit 23 calculates the cost S for each pair using the speed time series of the N ⁇ M pattern and the target value pair. It is assumed that the smaller the value of the cost S, the more suitable the velocity time series and target value pair is used.
  • the r in the cost Sr in Equation (1) indicates a value that identifies the pair of the speed time series and the target value. For example, r may be 1 or more and N ⁇ M or less.
  • v i k indicates the speed at the time t i of the speed time series identified by the identification information k (k is an integer from 1 to N ) in the speed time series of N patterns.
  • v max indicates the maximum velocity of the mobile object 30 .
  • x i and y i indicate the position of the moving object 30 at time t i .
  • the position of the moving object 30 along the travel route R1 is the x-coordinate, and the y-coordinate value is indicated using the distance from the travel route R1.
  • y- 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, the y- target will be zero.
  • the first term of equation (1) becomes a smaller value as the speed at time t i increases.
  • the second term of equation (1) becomes a smaller value as the position of the y-coordinate at time t i is closer to the travel route R1.
  • obst(x i , y i ) in the third term of equation (1) has a value of 1 when (x i , y i ) is the position at which it collides with the obstacle 40, and , indicates a function whose value is 0.
  • the simulation execution unit 23 sets the value of obst(x i , y i ) to 1 as a collision when (x i , y i ) overlaps with the position of the obstacle identified by the obstacle determination unit 28 . You may
  • A is the coefficient of the first term
  • B is the coefficient of the second term
  • C is the coefficient of the third term, each of which may be referred to as a weighting coefficient.
  • C may be set to a larger value than A and B if the effect of the third term needs to be enhanced.
  • C can be a large value compared to A and B to give a high cost value for pairs of velocity time series and targets that are likely to hit an obstacle after a given period of time. can.
  • a moving object 30 moves in a two-dimensional plane, and its motion is described using a velocity v and an angular velocity w.
  • the differential equation (2) can be used to calculate the next time t It is possible to calculate or estimate the position (x 1 , y 1 ) and the orientation ⁇ 1 of the moving object 30 of 1 .
  • the position (x 0 , y 0 ) and orientation ⁇ 0 of the mobile object 30 at the current time t 0 may be received from the mobile object 30 by, for example, the simulation execution unit 23 .
  • the moving object 30 may specify the angle ⁇ 0 indicating the current orientation with respect to the travel route based on the rotation information of the steering wheel, the rotation information of the left and right wheels, and the like.
  • the moving body 30 may generate position information using a sensor such as a GPS (Global Positioning System). You may
  • the position (x 2 , y 2 ) and orientation ⁇ 2 of the moving body 30 at the next time t 2 can be calculated or estimated.
  • the position (x i , y i ) and orientation ⁇ i of the mobile object 30 at time t i can be calculated or estimated.
  • the y-coordinate at time t i-1 is y i-1
  • the target value is offset_a
  • the angle at time t i-1 is ⁇ i-1 .
  • offset_a is one of offset_1 to n stored in the target value candidate storage unit 26 .
  • the angle ⁇ i ⁇ 1 is the angle at which the front direction of the moving body 30 is directed with respect to the traveling route. For example, in FIG.
  • 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
  • the direction of the target values a_4 to a_6 may be a negative angle.
  • time t 0 is the current time
  • the angle ⁇ 0 at time t 0 indicates the current angle at which the moving object 30 is facing.
  • the y-coordinate in FIG. 5 may have 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 with the travel route R1 as a reference.
  • the angle ⁇ or orientation may also be referred to as the attitude of the moving body 30 .
  • the posture of the moving object may be the direction in which the front part of the moving object is facing with respect to the reference direction.
  • the reference direction may be, for example, the traveling direction of the travel route.
  • the front portion of the moving body may be, for example, the traveling direction of the moving body.
  • the attitude of the moving body may be indicated using directions such as north, south, east and west with the current position as a reference.
  • the angular velocity w i-1 is calculated by applying the y-coordinate y i-1 at time t i-1 , the target value offset_a, and the angle ⁇ i-1 at time t i-1 to the following equation (3).
  • Equation (3) is a proportional control in which the angular velocity w increases as the current y-coordinate of the moving body 30 moves away from the target value and further as the direction of the robot moves away from the direction of the target value. is shown.
  • Equation (1) y i to be applied to equation (1) is calculated, and the cost S is calculated using equation (1).
  • the cost S using equation (1) is calculated for all pairs of velocity time series and target value. That is, since there are N speed time series patterns and M target values, N ⁇ M costs S are calculated.
  • the N ⁇ M costs S may be denoted as S 1 , S 2 , . . . S N ⁇ M , for example.
  • the simulation execution unit 23 stores the calculated cost S in the cost value storage unit 27.
  • the evaluation unit 21 adopts the cost S pair that is the minimum value. That is, the evaluation unit 21 adopts the velocity time series and the target value applied to calculate the cost S, which is the minimum value.
  • the angular velocity specifying unit 22 calculates the angular velocity w by applying the target value adopted by the evaluating unit 21 to Equation (3).
  • the angular velocity specifying unit 22 uses the adopted target value as offset_a, and calculates the angular velocity w using the y-coordinate y 0 and the angle ⁇ 0 at the current time t 0 .
  • the calculated angular velocity is used as the angular velocity of the moving body 30 at the next timing or time.
  • the communication unit 24 transmits to the moving object 30 information about the velocity time series adopted by the evaluation unit 21 and the angular velocity w calculated by the angular velocity identification unit 22 .
  • Information about the velocity time series adopted by the evaluation unit 21 and 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 object 30 .
  • the next time at which the control input value is used in the moving object 30 may be time t1 , where t0 is the current time. That is, the information processing device 20 calculates the control input value of the moving object 30 at time t1 between the current time t0 and time t1 .
  • the velocity time series and angular velocity w at next time t2 are specified in the same manner as the procedure for specifying the velocity time series and angular velocity w at time t1 .
  • the speed time series at time t1 is specified, the speed time series stored in the speed candidate storage unit 25 is updated. Specifically, as shown in FIG. 7, a plurality of speed time series are set, starting from the speed at time t1 in the identified speed time series. Also, since the time t1 is the starting point, a velocity time series is set from time t1 to time t h+1 after h steps.
  • the mobile unit 30 has a communication unit 31 and a mobile unit control unit 32 .
  • the communication unit 31 and the mobile unit control unit 32 may be software or modules whose processing is executed by a processor executing a program stored in memory.
  • the communication unit 31 and the mobile body control unit 32 may be hardware such as circuits or chips.
  • the communication section 31 communicates with the communication section 24 of the information processing device 20 .
  • the communication section 31 may communicate with the communication section 24 via a wireless communication line or a wired communication line.
  • the communication unit 31 may perform short-range wireless communication with the communication unit 24, such as wireless LAN (Local Area Network), infrared communication, or Bluetooth (registered trademark).
  • the communication unit 31 receives, from the information processing device 20, information about the velocity time series and the angular velocity for operating the moving body 30.
  • the moving body control section 32 controls the driving section of the moving body 30 according to the velocity time series and the angular velocity received by the communication section 31 .
  • the mobile body control unit 32 may control the rotation of the wheels so that the mobile body moves at a specified speed time series and angular velocity.
  • the moving body control unit 32 may control the attitude of the moving body 30, for example, so that the body of the moving body 30 does not tilt.
  • the moving body control unit 32 may control the angle at which the moving body 30 pushes the conveyed object so that the moving body 30 does not release or drop the conveyed object.
  • the moving body control unit 32 may control the distance between the moving body 30 and the other moving body when the moving body 30 cooperates with another moving body to transport the article.
  • the information necessary for the mobile 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 received within the mobile body 30. may be generated by a controller or the like.
  • the information processing device 20 acquires current movement information regarding the mobile object 30 (S21).
  • the current movement information may be information including, for example, the velocity, angular velocity, orientation, and current position of the mobile object 30 .
  • the simulation execution unit 23 selects one speed time series 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. A series and one target value pair are selected (S22).
  • 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 costs 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 have been calculated (S24 ).
  • the simulation execution unit 23 repeats the processing from step S22 onwards.
  • the evaluation unit 21 selects the pair used to calculate the lowest cost S (S25).
  • the angular velocity specifying unit 22 calculates the angular velocity w by applying the target values included in the pair selected in step S25 to Equation (3) (S26).
  • the communication unit 24 transmits the velocity time series and the angular velocity w to the moving object 30 as control input values (S27).
  • the information processing apparatus 20 specifies the velocity of the moving body 30 at the next time t1 at the current time t0 , and further calculates the angular velocity.
  • the process of specifying the velocity of the moving body 30 at the next time and calculating the angular velocity calculates all the velocities and angular velocities at a plurality of timings in order to realize the specified route. Processing load is reduced compared to processing.
  • the value of cost S decreases as the speed increases.
  • the information processing device 20 can select the speed time series so as to increase the moving speed of the moving object 30 .
  • the closer to the travel route R1 the smaller the value of the cost S.
  • the information processing device 50 has a configuration in which a random number generation unit 51 is added to the information processing device 20 in FIG. Random number generation unit 51 generates an arbitrary random number and outputs the generated random number to 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 .
  • the moving body 30 when the simulation execution unit 23 executes a simulation using pairs of the velocity time series of the N ⁇ M pattern and the target value, the moving body 30 performs the selected velocity time series and the calculated It is assumed to move according to angular velocity.
  • the moving body 30 may meander without moving normally according to the speed time series and the angular velocity.
  • the mobile body 30 may meander due to external environmental conditions such as conditions of the ground on which the mobile body 30 is in contact, weather conditions, etc., or internal environmental conditions such as aged deterioration of the mobile body 30 .
  • the random number generation unit 51 generates random numbers for executing a simulation that takes into account external environmental conditions or internal environmental conditions.
  • FIG. 11 shows the travel area of the moving body 30.
  • FIG. 11 shows an area in which the travel area of the mobile object 30 is viewed from above in a direction perpendicular to the two-dimensional area, which is the travel area of the mobile object 30 .
  • FIG. 11 shows that the moving body 30 moves linearly in the X direction.
  • FIG. 12 shows that the moving body 40 is meandering.
  • FIG. 12 shows a plurality of meandering paths of the moving body 40, that is, the variation patterns of the paths.
  • a probability model indicating that the moving body 30 does not necessarily move along the set route is expressed by the following Equation 4.
  • Equation (4) indicates the variation of the position of the grid on which the moving object 30 exists at a certain point in time.
  • Equation (4) represents the path variation pattern shown in FIG.
  • the random number generation unit 51 generates a random number used as SdB t indicating the stochastic effect of meandering of the moving body 30 .
  • the simulation execution unit 23 selects one pair and calculates the cost S by performing a simulation.
  • D simulations are performed for one pair using different random numbers in order to examine the probabilistic effects of meandering of the moving body 30 . That is, the simulation execution unit 23 calculates D costs S (S 1 to S D ) for one pair.
  • the simulation execution unit 23 calculates the evaluation value J by applying the D costs S to the following evaluation formula (5).
  • the simulation execution unit 23 calculates the evaluation value J for all pairs, and the evaluation unit 21 adopts the pair with the lowest evaluation value J. That is, the evaluation unit 21 adopts the velocity time series and target value applied to calculate J, which is the minimum evaluation value.
  • the information processing apparatus 50 can execute a simulation that takes into account the external environment or internal environment of the mobile body 30. Accordingly, the information processing device 50 can determine a control input value that further reduces the possibility of collision, taking into consideration that the moving body 30 meanders.
  • the information processing device 60 has a configuration in which a smoothing parameter generation unit 61 is added to the information processing device 20 in FIG.
  • the smooth parameter generation unit 61 is used to suppress fluctuations in the moving route of the moving object 30 .
  • FIG. 14 shows that there are a_1 and a_2 directions and a_5 and a_6 directions for the moving object 30 to avoid the obstacle 40 .
  • the moving body 30 has a route to avoid the obstacle 40 in the left direction or the right direction with respect to the travel route.
  • the evaluation unit 21 selects a pair including a_1 or a_2 as the target position at time t i , and selects a pair including a_5 or a_6 as the target position at time t i+1. may choose.
  • the evaluation unit 21 alternately selects a pair including the target position in the left direction of the obstacle 40 and a pair including the target position in the right direction as the control input value for avoiding the obstacle 40.
  • the moving body 30 may not be able to avoid the obstacle 40 and may collide with the obstacle 40 .
  • the evaluation unit 21 calculates the cost S in consideration of exponential smoothing in order to suppress the variation in the direction of the selected target position. Specifically, the following equation (6) is used to calculate the cost S.
  • Equation (6) has a fourth term added to Equation (1).
  • y offset q in the fourth term of equation (6) indicates the target position included in the selected pair.
  • the y offset EMA shows the exponential smoothing of target positions employed so far.
  • the y offset EMA shows the exponential smoothing of target positions taken prior to the target position selected in y offset q .
  • the y offset EMA is updated as follows.
  • 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 effect of the previously employed target position y offset EMA can be increased.
  • the value of the fourth term in Equation (6) becomes large, and the value of the cost S becomes large. Therefore, if the difference between the target positions included in the pair and the target positions adopted so far is large, the possibility that the pair will be adopted decreases, and the difference from the target positions adopted so far is It is more likely that the pair that includes the target position for which is smaller will be adopted.
  • the information processing apparatus 60 of Embodiment 4 can suppress fluctuations in the selected target position, and therefore can determine a control input value that further reduces the possibility of collision.
  • FIG. 15 is a block diagram showing a configuration example of information processing apparatuses 20, 50, and 60 (hereinafter referred to as information processing apparatuses 20, etc.).
  • the information processing apparatus 20 and the like include a network interface 1201, a processor 1202, and a memory 1203.
  • FIG. Network interface 1201 may be used to communicate with network nodes (e.g., eNB, MME, P-GW).
  • Network interface 1201 may include, for example, an IEEE 802.3 series compliant network interface card (NIC).
  • eNB stands for evolved Node B
  • MME Mobility Management Entity
  • P-GW Packet Data Network Gateway.
  • IEEE stands for Institute of Electrical and Electronics Engineers.
  • the processor 1202 reads and executes software (computer program) from the memory 1203 to perform the processing of the information processing apparatus 20 and the like described using the flowcharts in the above embodiments.
  • Processor 1202 may be, for example, a microprocessor, MPU, or CPU.
  • Processor 1202 may include multiple processors.
  • the memory 1203 is composed of a combination of volatile memory and non-volatile memory.
  • Memory 1203 may include storage remotely located from processor 1202 .
  • the processor 1202 may access the memory 1203 via an I/O (Input/Output) interface (not shown).
  • I/O Input/Output
  • memory 1203 is used to store software modules.
  • the processor 1202 reads and executes these software modules from the memory 1203, thereby performing the processing of the information processing apparatus 20 and the like described in the above embodiments.
  • each of the processors included in the information processing apparatus 20 and the like in the above-described embodiments includes one or more instructions containing a group of instructions for causing a computer to execute the algorithm described with reference to the drawings. Run the program.
  • the program includes instructions (or software code) that, when read into a computer, cause the computer to perform one or more of the functions described in the embodiments.
  • the program may be stored in a non-transitory computer-readable medium or tangible storage medium.
  • computer readable media or tangible storage media may include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drives (SSD) or other memory technology, CDs - ROM, digital versatile disc (DVD), Blu-ray disc or other optical disc storage, magnetic cassette, magnetic tape, magnetic disc storage or other magnetic storage device.
  • the program may be transmitted on a transitory computer-readable medium or communication medium.
  • transitory computer readable media or communication media include electrical, optical, acoustic, or other forms of propagated signals.
  • route correction means for specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object; angular velocity identifying means for identifying the angular velocity of the moving body based on the correction amount and the position of the moving body;
  • a control system comprising control means for controlling the operation of the moving body in accordance with the identified angular velocity of the moving body and the moving speed of the moving body.
  • the moving speed is 2. The control system of Claim 1, wherein the velocity time series is indicative of changes in movement velocity.
  • the path correction means is Supplementary Note 1 or 2, wherein one pair is selected from a plurality of pairs in which one of the plurality of candidates for the moving speed and one of the plurality of candidates for the correction amount are combined.
  • the control system described in . (Appendix 4)
  • the path correction means is The control system according to appendix 3, wherein the one pair is selected according to the motion of the moving body calculated based on each of the plurality of pairs.
  • the angular velocity specifying means is 5. The control system according to any one of Appendices 1 to 4, wherein the angular velocity of the moving body is specified based on the correction amount and the position and orientation of the moving body.
  • the path correction means is The control system according to appendix 3, wherein the motion of the moving object is calculated based on each of the plurality of pairs and a random number.
  • the path correction means is 7. The control system according to any one of appendices 3, 4, and 6, wherein the correction amount of the pair at a second time is adjusted based on the correction amount of the pair selected at a first time.
  • the moving speed is The information processing device according to appendix 8, which is a speed time series showing changes in moving speed.
  • the path correction means is Supplementary note 8 or 9, wherein one pair is selected from a plurality of pairs in which one of the plurality of candidates for the moving speed and one of the plurality of candidates for the correction amount are combined.
  • the information processing device according to .
  • the path correction means is 11.
  • the information processing apparatus according to appendix 10, wherein the one pair is selected according to the motion of the moving object calculated based on each of the plurality of pairs.
  • the angular velocity specifying means is 12.
  • the path correction means is 12.
  • the information processing apparatus according to appendix 11, wherein the motion of the moving body is calculated based on each of the plurality of pairs and a random number.
  • the path correction means is 14.
  • the information processing apparatus according to any one of appendices 10, 11, and 13, wherein the correction amount of the pair at a second time is adjusted based on the correction amount of the pair selected at a first time.
  • Appendix 15 specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object; identifying the angular velocity of the moving body based on the correction amount and the position of the moving body; A control method for controlling the operation of the moving body according to the identified angular velocity of the moving body and the moving speed of the moving body.
  • Appendix 16 specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object; identifying the angular velocity of the moving body based on the correction amount and the position of the moving body; A method of generating a control value, which transmits the identified angular velocity of the moving body and the moving speed of the moving body to the moving body.
  • Appendix 17 specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object; identifying the angular velocity of the moving body based on the correction amount and the position of the moving body; A program that causes a computer to transmit the identified angular velocity of the moving body and the moving speed of the moving body to the moving body.
  • control system 11 path correction unit 12 angular velocity determination unit 13 control unit 20 information processing device 21 evaluation unit 22 angular velocity determination unit 23 simulation execution unit 24 communication unit 25 speed candidate storage unit 26 target value candidate storage unit 27 cost value storage unit 28 failure Object determining unit 30 moving object 31 communication unit 32 moving object control unit 40 obstacle 50 information processing device 51 random number generation unit 60 information processing device 61 smooth parameter generation unit

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.

Description

制御システム、情報処理装置、制御方法、及び制御値生成方法Control system, information processing device, control method, and control value generation method
 本開示は制御システム、情報処理装置、制御方法、及び制御値生成方法に関する。 The present disclosure relates to a control system, an information processing device, a control method, and a control value generation method.
 走行するロボットの進行方向に障害物があった場合に、ロボットが障害物を回避する技術について、研究が進められている。 Research is underway on technology for robots to avoid obstacles in the direction in which the robot is traveling.
 特許文献1には、自律移動ロボットが目的地へ移動するための経路を計算し、障害物が存在する場合には障害物を回避するための回避経路を算出する方法が記載されている。また、自律移動ロボットは、複数の経路候補のそれぞれを移動する場合のシミュレーションを行い、例えば、それぞれの経路候補を移動する場合の速度履歴、加速度履歴等を算出する。自律移動ロボットは、算出した速度履歴等に基づいて移動経路を選択する。 Patent Document 1 describes a method for calculating a route for an autonomous mobile robot to move to a destination, and calculating an avoidance route for avoiding obstacles when obstacles are present. Also, the autonomous mobile robot performs a simulation of moving along each of the plurality of route candidates, and calculates, for example, the speed history, acceleration history, etc., when moving along each route candidate. The autonomous mobile robot selects a movement route based on the calculated speed history and the like.
特開2019-175128号公報JP 2019-175128 A
 しかしながら、特許文献1においては、自律移動ロボットが、複数の経路候補を定め、その後、それぞれの経路候補を移動するための速度、加速度等を算出し、それぞれの経路候補の評価を行う必要がある。この場合、自律移動ロボットが移動を開始する際に、それぞれの経路候補を移動するための適切な速度、加速度等を算出するための計算処理に負荷がかかるという問題がある。 However, in Patent Document 1, it is necessary for the autonomous mobile robot to determine a plurality of route candidates, then calculate the speed, acceleration, etc. for moving each route candidate, and evaluate each route candidate. . In this case, when the autonomous mobile robot starts to move, there is a problem that the calculation processing for calculating the appropriate speed, acceleration, etc. for moving each route candidate is burdened.
 本開示の目的の一つは、移動体の移動を制御するための計算負荷の上昇を抑えることができる制御システム、情報処理装置、制御方法、及び制御値生成方法を提供することにある。 One of the purposes of the present disclosure is to provide a control system, an information processing device, a control method, and a control value generation method that can suppress an increase in computational load for controlling movement of a mobile object.
 本開示の第1の態様にかかる制御システムは、移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定する経路補正手段と、前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定する角速度特定手段と、特定された前記移動体の角速度と、前記移動体の移動速度とに応じて、前記移動体の動作を制御する制御手段と、を備える。 A control system according to a first aspect of the present disclosure includes route correction means for specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object. , angular velocity specifying means for specifying the angular velocity of the moving body based on the correction amount and the position of the moving body; and according to the specified angular velocity of the moving body and the moving speed of the moving body, and control means for controlling the operation of the moving body.
 本開示の第2の態様にかかる情報処理装置は、移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定する経路補正手段と、前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定する角速度特定手段と、特定された前記移動体の角速度と、前記移動体の移動速度とを前記移動体へ送信する通信手段と、を備える。 An information processing apparatus according to a second aspect of the present disclosure includes route correction means for specifying a correction amount in a direction away from a travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object. and angular velocity specifying means for specifying the angular velocity of the moving body based on the correction amount and the position of the moving body; and a communication means for transmitting to the body.
 本開示の第3の態様にかかる制御方法は、移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定し、前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定し、特定された前記移動体の角速度と、前記移動体の移動速度とに応じて、前記移動体の動作を制御する。 A control method according to a third aspect of the present disclosure specifies a correction amount in a direction away from the traveling route of the moving body in response to detection of an obstacle positioned on the traveling route of the moving body, and determines the correction amount. and the position of the moving body, and controlling the operation of the moving body according to the identified angular velocity of the moving body and the moving speed of the moving body. .
 本開示の第4の態様にかかる制御値生成方法は、移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定し、前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定し、特定された前記移動体の角速度と、前記移動体の移動速度とを前記移動体へ送信する。 A control value generation method according to a fourth aspect of the present disclosure specifies a correction amount in a direction in which the moving object moves away from the traveling route in response to detection of an obstacle positioned on the traveling route of the moving object, and The angular velocity of the moving body is specified based on the correction amount and the position of the moving body, and the specified angular velocity of the moving body and the moving speed of the moving body are transmitted to the moving body.
 本開示により、移動体の移動を制御するための計算負荷の上昇を抑えることができる制御システム、情報処理装置、制御方法、及び制御値生成方法を提供することができる。 According to the present disclosure, it is possible to provide a control system, an information processing device, a control method, and a control value generation method that can suppress an increase in computational load for controlling movement of a mobile body.
実施の形態1にかかる制御システムの構成図である。1 is a configuration diagram of a control system according to Embodiment 1; FIG. 実施の形態1にかかる制御システムにおいて実行される制御処理の流れを示す図である。4 is a diagram showing the flow of control processing executed in the control system according to the first embodiment; FIG. 実施の形態2にかかる情報処理装置の構成図である。1 is a configuration diagram of an information processing apparatus according to a second embodiment; FIG. 実施の形態2にかかる速度時系列を説明する図である。FIG. 10 is a diagram for explaining speed time series according to the second embodiment; FIG. 実施の形態2にかかる目標地点を説明する図である。FIG. 11 is a diagram for explaining target points according to the second embodiment; FIG. 実施の形態2にかかる目標値格納部に格納されるデータを示す図である。FIG. 10 is a diagram showing data stored in a target value storage unit according to the second embodiment; FIG. 実施の形態2にかかる速度時系列を説明する図である。FIG. 10 is a diagram for explaining speed time series according to the second embodiment; FIG. 実施の形態2にかかる移動体の構成図である。FIG. 10 is a configuration diagram of a moving object according to a second embodiment; 実施の形態2にかかる制御入力値の生成処理の流れを示す図である。FIG. 10 is a diagram showing the flow of control input value generation processing according to the second embodiment; 実施の形態3にかかる情報処理装置の構成図である。10 is a configuration diagram of an information processing apparatus according to a third embodiment; FIG. 実施の形態3にかかる移動体の走行エリアを示す図である。FIG. 11 is a diagram showing a travel area of a moving object according to a third embodiment; FIG. 実施の形態2にかかる移動体の走行エリアを示す図である。FIG. 10 is a diagram showing a travel area of a moving object according to the second embodiment; FIG. 実施の形態4にかかる情報処理装置の構成図である。11 is a configuration diagram of an information processing apparatus according to a fourth embodiment; FIG. 実施の形態4にかかる移動体の走行エリアを示す図である。FIG. 12 is a diagram showing a travel area of a moving object according to a fourth embodiment; FIG. それぞれの実施の形態にかかる情報処理装置の構成図である。1 is a configuration diagram of an information processing apparatus according to each embodiment; FIG.
 (実施の形態1)
 以下、図面を参照して本開示の実施の形態について説明する。図1を用いて実施の形態1にかかる制御システム10の構成例について説明する。図1の制御システム10は、経路補正部11、角速度特定部12、及び制御部13を有している。経路補正部11、角速度特定部12、及び制御部13は、同一の装置に配置されてもよく、それぞれが異なる装置に配置されてもよい。もしくは、経路補正部11、角速度特定部12、及び制御部13のうち、二つが同一の装置に配置され、残りの一つが他の装置に配置されてもよい。
(Embodiment 1)
Embodiments of the present disclosure will be described below with reference to the drawings. A configuration example of the control system 10 according to the first embodiment will be described with reference to FIG. The control system 10 of FIG. 1 has a path corrector 11 , an angular velocity specifier 12 and a controller 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 may be arranged in different devices. 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.
 経路補正部11、角速度特定部12、及び制御部13は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。または、経路補正部11、角速度特定部12、及び制御部13は、回路もしくはチップ等のハードウェアであってもよい。 The path correction unit 11, the angular velocity identification unit 12, and the control unit 13 may be software or modules whose processing is executed by a processor executing a program stored in memory. Alternatively, the path correction unit 11, the angular velocity identification unit 12, and the control unit 13 may be hardware such as circuits or chips.
 経路補正部11は、移動体の走行経路上に位置する障害物の検出に応じて移動体が走行経路から離れる方向への補正量を特定する。 The route correction unit 11 specifies a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle located on the travel route of the mobile object.
 移動体は、自律的に移動するロボットであってもよく、例えば、搬送物を搬送する搬送ロボット(AGV(Automated Guided Vehicle))であってもよい。移動体は、例えば、入力された制御値に基づいて障害物等を避けるように自律的に走行する。移動体は、例えば、車のような四輪を有しステアリング方式にて移動してもよく、差動二輪を用いて移動してもよい。差動二輪は、左右の車輪の速度を独立に制御することによって、それぞれの車輪の速度差によってカーブを走行することが可能となる。 The moving body may be a robot that moves autonomously, for example, a transport robot (AGV (Automated Guided Vehicle)) that transports objects. For example, the moving body autonomously runs so as to avoid obstacles based on the input control value. The mobile body may have four wheels, such as a car, and may move by a steering system, or may move by using two differential wheels. By independently controlling the speeds of the left and right wheels, the differential two-wheel vehicle can travel around curves due to the speed difference between the respective wheels.
 走行経路は、例えば、移動体の現在位置と、移動体が到達すべき到達地点とを最短距離にて結ぶ経路であってもよく、予め定められた経路算出方法において、障害物を考慮しない妥当な経路として算出された経路であってもよい。 The travel route may be, for example, a route connecting the current position of the mobile object and the destination point to which the mobile object should reach at the shortest distance. It may be a route calculated as a route that is
 障害物は、柱、壁、棚等の静止している物体であってもよく、人間、他のロボット等の移動する物体であってもよい。 Obstacles can be stationary objects such as pillars, walls, and shelves, or moving objects such as humans and other robots.
 補正量は、所定期間後に、予め定められた移動速度にて移動する移動体が存在する位置と、障害物が存在しない場合の走行経路との距離の差分であってもよい。 The correction amount may be the difference in the distance between the position where the moving body moving at a predetermined moving speed exists after a predetermined period of time and the travel route when there is no obstacle.
 角速度特定部12は、経路補正部11において特定された補正量と、移動体の位置と、に基づいて移動体の角速度を特定する。移動体の位置は、例えば、GPS(Global Positioning System)等の位置測位システムを用いて特定されてもよく、移動体をネットワーク等を介して監視する監視システムから通知されてもよい。 The angular velocity identifying unit 12 identifies the angular velocity of the moving object based on the correction amount identified by the path correcting unit 11 and the position of the moving object. The position of the mobile object may be specified using a positioning system such as GPS (Global Positioning System), or notified from a monitoring system that monitors the mobile object via a network or the like.
 角速度特定部12は、例えば、現在の位置からの補正量が大きくなるにつれて角速度を大きくしてもよく、現在位置からの補正量が小さくなるにつれて角速度を小さくしてもよい。 For example, the angular velocity specifying unit 12 may increase the angular velocity as the amount of correction from the current position increases, and may decrease the angular velocity as the amount of correction from the current position decreases.
 制御部13は、角速度特定部12において特定された角速度と、移動体の移動速度とに応じて、移動体の動作を制御する。制御部13は、例えば、移動体が角速度特定部12において特定された角速度と、予め定められた移動速度と、に従って移動するように、移動体の駆動部を制御する。駆動部には、例えば、タイヤ、車輪等が含まれてもよい。また、制御部13は、移動体の姿勢に関する情報を用いて、移動体が傾かないように制御してもよい。また、制御部13は、移動体が、搬送する搬送物を離さないもしくは落下させないように、移動体が搬送物を押す角度に関する情報を用いて移動体を制御してもよい。また、移動体が他の移動体と協調して搬送物を搬送する場合、制御部13は、移動体と他の移動体との間の距離に関する情報を用いて移動体の制御を行ってもよい。 The control unit 13 controls the movement of the moving object according to the angular velocity specified by the angular velocity specifying unit 12 and the moving speed of the moving object. For example, the control unit 13 controls the driving unit of the moving object such that the moving object moves according to the angular velocity specified by the angular velocity specifying unit 12 and the predetermined moving speed. The drive may include, for example, tires, wheels, and the like. Further, the control unit 13 may use information about the attitude of the moving body to control the moving body so that it does not tilt. In addition, the control unit 13 may control the moving body using information about the angle at which the moving body pushes the transported object so that the moving object does not release or drop the transported object. Further, when a moving body transports an article 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. good.
 続いて、図2を用いて実施の形態1にかかる制御システム10において実行される制御処理の流れについて説明する。はじめに、経路補正部11は、移動体の走行経路上に位置する障害物の検出に応じて移動体が走行経路から離れる方向への補正量を特定する(S11)。次に、角速度特定部12は、経路補正部11において特定された補正量と、移動体の位置と、に基づいて移動体の角速度を特定する(S12)。次に、制御部13は、角速度特定部12において特定された角速度と、移動速度とに応じて、移動体の動作を制御する(S13)。 Next, the flow of control processing executed in the control system 10 according to the first embodiment will be described using FIG. First, the route correction unit 11 specifies a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object (S11). Next, the angular velocity identifying unit 12 identifies the angular velocity of the moving object based on the correction amount identified by the path correcting unit 11 and the position of the moving object (S12). Next, the control unit 13 controls the movement of the moving object according to the angular velocity specified by the angular velocity specifying unit 12 and the moving speed (S13).
 ここで、例えば、経路補正部11及び角速度特定部12が同一の装置に配置されており、制御部13が移動体に配置されているとする。この場合、経路補正部11及び角速度特定部12が配置されている装置の制御部等が、制御部13が配置されている移動体へ、特定した角速度及び移動速度に関する情報を送信してもよい。移動体は、受信した角速度及び移動速度を用いて、移動体の動作を制御してもよい。 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 object. In this case, the control unit or the like of the device in which the path correction unit 11 and the angular velocity specifying unit 12 are arranged may transmit information about the specified angular velocity and the moving speed to the moving body in which the control unit 13 is arranged. . The moving body may use the received angular velocity and moving speed to control the movement of the moving body.
 以上説明したように、制御システム10は、移動体の補正量と、移動体の位置と、に基づいて移動体の角速度を特定することによって、角速度を算出する。つまり、制御システム10は、現在設定すべき角速度を算出する。これより、制御システム10は、移動体が現在の位置から補正量に従って定められた位置まで移動するために、刻々と変化する角速度を全て算出する場合と比較して、角速度の算出に関する計算負荷を抑えることができる。また、制御システム10は、走行経路から離れる方向への補正量を用いて角速度を算出することによって、移動体の詳細な位置を用いて角速度を算出する場合と比較して、計算負荷を抑えることができる。 As described above, the control system 10 calculates the angular velocity by specifying 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 set at present. As a result, the control system 10 can reduce the calculation load related to the calculation of angular velocities compared to the case of calculating all the ever-changing angular velocities in order to move the moving body from the current position to the position determined according to the correction amount. can be suppressed. In addition, the control system 10 calculates the angular velocity using the correction amount in the direction away from the travel route, thereby reducing the calculation load compared to the case of calculating the angular velocity using the detailed position of the moving object. can be done.
 (実施の形態2)
 続いて、図3を用いて実施の形態2にかかる情報処理装置20の構成例について説明する。情報処理装置20は、プロセッサがメモリに格納されたプログラムを実行することによって動作するコンピュータ装置であってもよい。情報処理装置20は、後に説明する移動体30が自律的に走行するために必要な制御値を生成する。
(Embodiment 2)
Next, a configuration example of the information processing apparatus 20 according to the second embodiment will be described with reference to FIG. 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 a control value necessary for the moving body 30 described later to run autonomously.
 情報処理装置20は、評価部21、角速度特定部22、シミュレーション実行部23、通信部24、速度候補格納部25、目標値候補格納部26、コスト値格納部27、及び障害物判定部28を有している。情報処理装置20の各構成要素は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。または、情報処理装置20の各構成要素は、回路もしくはチップ等のハードウェアであってもよい。速度候補格納部25、目標値候補格納部26、及びコスト値格納部27は、例えば、データを格納するメモリであってもよく、それぞれが異なるメモリ領域を有してもよい。評価部21は、図1の経路補正部11に相当する。角速度特定部22は、図1の角速度特定部12に相当する。 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. have. Each component of the information processing device 20 may be software or a module whose processing is executed by a processor executing a program stored in memory. Alternatively, each component of the information processing device 20 may be hardware such as a circuit or 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, memories for storing data, and may each have different memory areas. The evaluation unit 21 corresponds to the route correction unit 11 in FIG. The angular velocity identification unit 22 corresponds to the angular velocity identification unit 12 in FIG.
 速度候補格納部25は、移動体30に適用される速度候補に関する情報を格納する。速度候補は、例えば、所定期間内における速度の変化を示す速度時系列であってもよい。図4を用いて、速度候補格納部25に格納される速度候補について説明する。図4は、縦軸が速度v、横軸が時刻tを示している。図4は、時刻t0からthまでの期間内の速度の変化を示している。言い換えると、図4は、時刻t0からhステップ先までの速度時系列を示している。図4のt1乃至th-1は、時刻t0から時刻thまでの時間を均等に分割した時刻を示している。図4は、速度候補として、3つの速度時系列を示しているが、速度候補格納部25には、n(nは1以上の整数)種もしくはnパターンの速度時系列が格納されていてもよい。 The speed candidate storage unit 25 stores information on speed candidates applied to the moving object 30 . A speed candidate may be, for example, a speed time series that indicates changes in speed within a predetermined period. The speed candidates stored in the speed candidate storage unit 25 will be described with reference to FIG. In FIG. 4, the vertical axis indicates velocity v and the horizontal axis indicates time t. FIG. 4 shows the change in velocity during the period from time t 0 to t h . In other words, FIG. 4 shows the velocity time series from time t 0 to h steps ahead. t 1 to t h−1 in FIG. 4 indicate times obtained by equally dividing the time from time t 0 to time t h . Although FIG. 4 shows three speed time series as speed candidates, the speed candidate storage unit 25 may store n (n is an integer equal to or greater than 1) types or n patterns of speed time series. good.
 図3に戻り、目標値候補格納部26は、所定期間経過後に移動体30が存在する目標位置を示す情報が格納されている。ここで、図5を用いて、移動体30が存在する目標位置について説明する。図5は、移動体30の走行エリアを、上方から視認した図を示している。R1は、移動体30の走行経路を示している。また、移動体30の到達地点は、走行経路R1上に存在する。また、走行経路上に、障害物40が存在するとする。つまり、移動体30は、走行経路上を移動し続けた場合、障害物40に衝突する。a_1乃至a_6は、走行経路R1からの距離を示している。より具体的には、a_1乃至a_6は、走行経路R1をX軸とし、X軸と垂直方向の軸をY軸とした場合のY軸方向の距離を示している。a_1乃至a_6は、補正量に相当する。 Returning to FIG. 3, the target value candidate storage unit 26 stores information indicating the target position where the moving body 30 will be after a predetermined period of time has elapsed. Here, the target position where the moving body 30 exists will be described with reference to FIG. FIG. 5 shows a view of the travel area of the moving body 30 viewed from above. R1 indicates the traveling route of the moving body 30. FIG. Also, the arrival point of the moving body 30 exists on the travel route R1. It is also assumed that an obstacle 40 exists on the travel route. In other words, the moving object 30 collides with the obstacle 40 when it continues to move on the travel route. a_1 to a_6 indicate distances from the travel route R1. More specifically, a_1 to a_6 indicate distances in the Y-axis direction when the traveling 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 correction amounts.
 実線の移動体30は、現在の移動体30を示しており、点線の移動体30は、所定期間後の移動体30の推定位置を示している。所定期間は、例えば、t0からthまでの期間であってもよい。図5は、所定期間後に移動体30が存在する位置の候補を示している。具体的には、移動体30が存在する位置の候補として、走行経路R1からa_1乃至a_6離れた位置、及び走行経路R1上の位置が示されている。図5においては、移動体30が所定期間後に、a_3乃至a_6、さらに、走行経路R1上、に存在する場合、移動体30と障害物40とが重複し、移動体30と障害物40とが衝突することが示されている。 A solid-line mobile object 30 indicates the current mobile object 30, and a dotted-line mobile object 30 indicates the estimated position of the mobile object 30 after a predetermined period of time. The predetermined period may be, for example, a period from t0 to th . FIG. 5 shows candidates for positions where the mobile object 30 will be present after a predetermined period of time. 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 object 30 exists. In FIG. 5 , when the moving body 30 is present in a_3 to a_6 and on the traveling route R1 after a predetermined period of time, the moving body 30 and the obstacle 40 overlap each other, and the moving body 30 and the obstacle 40 overlap. shown to collide.
 目標値候補格納部26は、図6に示されるように、a_1乃至a_6を含む、a_1乃至a_mを格納している。図6のoffset_1乃至offset_mは、距離a_1乃至a_6を識別する情報である。例えば、offset_1が指定された場合、a_1の値が抽出される。つまり、a_1乃至a_6は、所定期間後における移動体30のy軸方向の目標地点の候補となる値を示している。 The target value candidate storage unit 26 stores a_1 to a_m, including a_1 to a_6, as shown in FIG. offset_1 to offset_m in FIG. 6 are information for identifying the distances a_1 to a_6. For example, if 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 body 30 after a predetermined period of time.
 障害物判定部28は、移動体30の周辺に障害物が存在するか否かを判定する。障害物判定部28は、例えば、移動体30に搭載されたセンサから、移動体30の周辺における障害物の検出情報を受信してもよい。もしくは、センサは、移動体30の走行エリアを監視するように、壁、天井等に設置されてもよい。センサは、所定の空間において障害物とみなされる物体もしくは人を検知する。検出情報には、障害物が存在する位置に関する情報が含まれてもよい。障害物判定部28は、移動体30に搭載されたセンサから障害物の検出情報を受信した場合、移動体30の周辺に障害物が存在すると判定する。また、障害物判定部28は、障害物の検出情報を用いて、障害物が存在する位置を特定する。障害物判定部28は、無線通信回線もしくは有線通信回線を介して、センサから検出情報を受信してもよい。障害物判定部28は、例えば、無線LAN(Local Area Network)を介して検出情報を受信してもよい。 The obstacle determination unit 28 determines whether or not there is an obstacle around the moving object 30 . The obstacle determination unit 28 may receive detection information of obstacles around the moving body 30 from a sensor mounted on the moving body 30, for example. Alternatively, the sensors may be installed on walls, ceilings, etc. so as to monitor the travel area of the moving body 30 . The sensors detect objects or people that are considered obstacles in a given space. The detection information may include information regarding the location of the obstacle. The obstacle determination unit 28 determines that an obstacle exists around the moving body 30 when the obstacle detection information is received from the sensor mounted on the moving body 30 . Further, the obstacle determination unit 28 identifies the position where the obstacle exists using the obstacle detection information. The obstacle determination unit 28 may receive detection information from sensors via a wireless communication line or a wired communication line. The obstacle determination unit 28 may receive detection information via, for example, a wireless LAN (Local Area Network).
 障害物は、例えば、所定の空間内に配置される装置、設備、棚、柱等であってもよい。また、障害物は、移動する物体であってもよく、移動しない物体であってもよい。センサは、例えば、カメラもしくは赤外線センサであってもよい。カメラは、2Dカメラもしくは3Dカメラであってもよい。センサは、2DLidarもしくは3DLidarであってもよい。カメラまたはセンサは、所定の空間内を観測するために、複数個所に取り付けられていてもよい。 Obstacles may be, for example, devices, facilities, shelves, pillars, etc. placed within a predetermined space. Also, 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 2DLidar or a 3DLidar. Cameras or sensors may be mounted at multiple locations to observe within a given space.
 障害物判定部28は、例えば、センサから受信した画像を用いた機械学習等を行うことによって、障害物を検出してもよい。例えば、事前に障害物に関する画像等を学習した学習モデルが生成されている場合、障害物判定部28は、受信した画像を学習モデルに適用することによって、移動体30の周辺に障害物が存在するか否かを判定してもよい。 The obstacle determination unit 28 may detect obstacles by, for example, performing machine learning using images received from sensors. For example, when a learning model is generated by learning images related to obstacles in advance, the obstacle determination unit 28 applies the received images to the learning model to determine whether an obstacle exists around the moving body 30. You may decide whether to
 図3に戻り、シミュレーション実行部23は、次の式(1)に、N(Nは1以上の整数)パターンの速度時系列及びM(Mは1以上の整数)個の目標値を適用したシミュレーションを実行しコストSを算出する。コストSは、シミュレーション結果の適切性を示す値である。シミュレーション実行部23は、N×Mパターンの速度時系列及び目標値のペアを用いてそれぞれのペアごとにコストSを算出する。コストSの値が小さいほど、適切な速度時系列及び目標値のペアが用いられていることとする。式(1)のコストSrにおけるrは、速度時系列及び目標値のペアを識別する値を示しており、例えば、rは、1以上であって、N×M以下であってもよい。 Returning to FIG. 3, the simulation execution unit 23 applies speed time series of N patterns (N is an integer of 1 or more) and M target values (M is an integer of 1 or more) to the following equation (1). Execute the simulation and calculate the cost S. The cost S is a value that indicates the adequacy of the simulation result. The simulation execution unit 23 calculates the cost S for each pair using the speed time series of the N×M pattern and the target value pair. It is assumed that the smaller the value of the cost S, the more suitable the velocity time series and target value pair is used. The r in the cost Sr in Equation (1) indicates a value that identifies the pair of the speed time series and the target value. For example, r may be 1 or more and N×M or less.
Figure JPOXMLDOC01-appb-I000001
Figure JPOXMLDOC01-appb-I000001
 i=0乃至i=hは、図4に示す時刻を示しており、例えば、i=1は、時刻t1を示している。v は、Nパターンの速度時系列のうち、識別情報k(kは1以上N以下の整数)にて識別される速度時系列の時刻tiにおける速度を示している。vmaxは、移動体30の最大速度を示している。x及びyは、時刻tiにおける移動体30の位置を示している。移動体30の走行経路R1の位置をx座標とし、y座標の値は、走行経路R1からの距離を用いて示される。ytargetは、移動体30の走行経路R1のy座標である。例えば、走行経路R1がx軸である場合、ytargetは、0となる。 i=0 to i=h indicate times shown in FIG. 4, for example, i=1 indicates time t1 . v i k indicates the speed at the time t i of the speed time series identified by the identification information k (k is an integer from 1 to N ) in the speed time series of N patterns. v max indicates the maximum velocity of the mobile object 30 . x i and y i indicate the position of the moving object 30 at time t i . The position of the moving object 30 along the travel route R1 is the x-coordinate, and the y-coordinate value is indicated using the distance from the travel route R1. y- 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, the y- target will be zero.
 式(1)の第1項は、時刻tiにおける速度が速くなるほど、小さな値となる。式(1)の第2項は、時刻tiにおけるy座標の位置が、走行経路R1に近いほど、小さな値となる。式(1)の第3項におけるobst(x,y)は、(x,y)が障害物40に衝突する位置である場合、値が1となり、障害物40に衝突しない位置である場合、値が0となる関数を示している。シミュレーション実行部23は、(x,y)が、障害物判定部28において特定された障害物の位置と重複する場合に衝突するとしてobst(x,y)の値を1に設定してもよい。 The first term of equation (1) becomes a smaller value as the speed at time t i increases. The second term of equation (1) becomes a smaller value as the position of the y-coordinate at time t i is closer to the travel route R1. obst(x i , y i ) in the third term of equation (1) has a value of 1 when (x i , y i ) is the position at which it collides with the obstacle 40, and , indicates a function whose value is 0. The simulation execution unit 23 sets the value of obst(x i , y i ) to 1 as a collision when (x i , y i ) overlaps with the position of the obstacle identified by the obstacle determination unit 28 . You may
 Aは、第1項の係数であり、Bは、第2項の係数であり、Cは第3項の係数であり、それぞれ重み係数と称されてもよい。例えば、コストSの算出において、第3項の影響を高める必要がある場合、Cを、A及びBと比較して大きい値にしてもよい。例えば、Cを、A及びBと比較して大きい値とすることによって、所定期間後までに障害物と衝突する可能性のある速度時系列及び目標値のペアに関するコストの値を高くすることができる。 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, in calculating the cost S, C may be set to a larger value than A and B if the effect of the third term needs to be enhanced. For example, C can be a large value compared to A and B to give a high cost value for pairs of velocity time series and targets that are likely to hit an obstacle after a given period of time. can.
 ここで、式(1)の、時刻tiにおけるx及びyの算出方法について説明する。移動体30は、二次元平面内を移動し、その動きは速度v及び角速度wを用いて記述される。移動体30の位置座標を(x,y)、向きもしくは角度をθとすると、速度vと角速度wとで動く移動体30の動きは、以下の微分方程式(2)を用いて記述される。 Here, a method of calculating x i and y i at time t i in Equation (1) will be described. A moving object 30 moves in a two-dimensional plane, and its motion is described using a velocity v and an angular velocity w. Let (x, y) be the position coordinates of the moving object 30, and θ be the orientation or angle.
 dx/dt=v×cos(θ)
 dy/dt=v×sin(θ)
 dθ/dt=w
・・・(2)
dx/dt=v×cos(θ)
dy/dt=v×sin(θ)
dθ/dt=w
... (2)
 つまり、現在時刻であるt0における移動体30の位置(x,y)、向きθ、速度v及び角速度wがわかれば、微分方程式(2)を用いて、次の時刻t1の移動体30の位置(x,y)、及び向きθを計算もしくは推定することができる。現在時刻t0における移動体30の位置(x,y)、向きθは、例えば、シミュレーション実行部23が、移動体30から受信してもよい。移動体30は、ステアリングの回転情報、左右の車輪の回転情報等に基づいて、走行経路に対する現在の向きを示す角度θを特定してもよい。また移動体30は、GPS(Global Positioning System)等のセンサを用いて位置情報を生成してもよく、ステアリングの回転情報、左右の車輪の回転情報等に基づいて移動体30の位置情報を生成してもよい。 That is, if the position (x 0 , y 0 ), orientation θ 0 , velocity v 0 and angular velocity w 0 of the moving body 30 at the current time t 0 are known, the differential equation (2) can be used to calculate the next time t It is possible to calculate or estimate the position (x 1 , y 1 ) and the orientation θ 1 of the moving object 30 of 1 . The position (x 0 , y 0 ) and orientation θ 0 of the mobile object 30 at the current time t 0 may be received from the mobile object 30 by, for example, the simulation execution unit 23 . The moving object 30 may specify the angle θ 0 indicating the current orientation with respect to the travel route based on the rotation information of the steering wheel, the rotation information of the left and right wheels, and the like. In addition, the moving body 30 may generate position information using a sensor such as a GPS (Global Positioning System). You may
 さらに、算出された移動体30の位置(x,y)及び向きθ、さらに、角速度w、速度時系列に定められている速度vを微分方程式(2)に適用して、次の時刻t2の移動体30の位置(x,y)及び向きθを計算もしくは推定することができる。これを繰り返すことによって、時刻tiにおける移動体30の位置(x,y)及び向きθを計算もしくは推定することができる。 Furthermore, applying the calculated position (x 1 , y 1 ) and orientation θ 1 of the moving body 30, the angular velocity w 1 , and the velocity v 1 defined in the velocity time series to the differential equation (2), The position (x 2 , y 2 ) and orientation θ 2 of the moving body 30 at the next time t 2 can be calculated or estimated. By repeating this, the position (x i , y i ) and orientation θ i of the mobile object 30 at time t i can be calculated or estimated.
 ここで、角速度wi-1の算出例について説明する。現在、例えば、時刻ti-1のy座標がyi-1であり、目標値をoffset_aとし、時刻ti-1の角度をθi-1とする。offset_aは、目標値候補格納部26に格納されているoffset_1乃至nのいずれかであるとする。また、角度θi-1は、走行経路を基準とする、移動体30の正面方向が向いている角度である。例えば、図5において、走行経路R1の方向を0度とし、目標値a_1乃至a_3の方向をプラスの角度とし、目標値a_4乃至a_6の方向をマイナスの角度としてもよい。時刻t0を現在時刻とすると、時刻t0の角度θは、現在の移動体30が向いている角度を示す。y座標は、図5において、走行経路R1を基準として、目標値a_1乃至a_3の方向をプラスの値とし、目標値a_4乃至a_6の方向をマイナスの値としてもよい。角度θもしくは向きとは、移動体30の姿勢と称されてもよい。移動体の姿勢は、基準方向に対する、移動体の正面部が向いている方向であってもよい。基準方向は、例えば、走行経路の進行方向であってもよい。移動体の正面部は、例えば、移動体の進行方向であってもよい。もしくは、移動体の姿勢は、現在位置を基準として、東西南北等の方角を用いて示されてもよい。 Here, an example of calculating the angular velocity w i−1 will be described. Now, for example, the y-coordinate at time t i-1 is y i-1 , the target value is offset_a, and the angle at time t i-1 is θ i-1 . Assume that offset_a is one of offset_1 to n stored in the target value candidate storage unit 26 . Also, the angle θ i−1 is the angle at which the front direction of the moving body 30 is directed with respect to the traveling 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. Assuming that time t 0 is the current time, the angle θ 0 at time t 0 indicates the current angle at which the moving object 30 is facing. The y-coordinate in FIG. 5 may have 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 with the travel route R1 as a reference. The angle θ or orientation may also be referred to as the attitude of the moving body 30 . The posture of the moving object may be the direction in which the front part of the moving object is facing with respect to the reference direction. The reference direction may be, for example, the traveling direction of the travel route. The front portion 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 directions such as north, south, east and west with the current position as a reference.
 時刻ti-1のy座標yi-1、目標値offset_a、及び時刻ti-1の角度θi-1を次の式(3)に適用することによって角速度wi-1を算出する。 The angular velocity w i-1 is calculated by applying the y-coordinate y i-1 at time t i-1 , the target value offset_a, and the angle θ i-1 at time t i-1 to the following equation (3).
 wi-1=-p×(yi-1-offset_a)-p×θi-1・・・(3) w i−1 =−p 1 ×(y i−1 −offset_a)−p 2 ×θ i−1 (3)
 式(3)におけるp及びpは、制御のパラメータであり、所定値とする。式(3)は、移動体30の現在のy座標が、目標値から離れれば離れるほど、さらに、ロボットの向きが目標値の方向から離れれば離れるほど、角速度wの値が大きくなる、比例制御を示している。 p1 and p2 in equation (3) are control parameters and are given predetermined values. Equation (3) is a proportional control in which the angular velocity w increases as the current y-coordinate of the moving body 30 moves away from the target value and further as the direction of the robot moves away from the direction of the target value. is shown.
 式(3)を用いて算出されたwi-1を式(2)に適用することによって、角度θを算出することができる。 By applying w i−1 calculated using equation (3) to equation (2), the angle θ i can be calculated.
 このようにして、式(1)に適用するyを算出し、式(1)を用いてコストSを算出する。ここで、式(1)を用いたコストSは、速度時系列及び目標値の全てのペアについて算出される。つまり、速度時系列がNパターンであり、目標値がM個であるため、N×M個のコストSを算出する。N×M個のコストSは、例えば、S1、S2、・・・SN×Mと示されてもよい。 Thus, y i to be applied to equation (1) is calculated, and the cost S is calculated using equation (1). Here, the cost S using equation (1) is calculated for all pairs of velocity time series and target value. That is, since there are N speed time series patterns and M target values, N×M costs S are calculated. The N×M costs S may be denoted as S 1 , S 2 , . . . S N×M , for example.
 シミュレーション実行部23は、算出したコストSをコスト値格納部27へ格納する。コスト値格納部27に、N×MのコストSが格納されると、評価部21は、最小の値であるコストSのペアを採用する。つまり、評価部21は、最小の値であるコストSを算出するために適用された、速度時系列及び目標値を採用する。 The simulation execution unit 23 stores the calculated cost S in the cost value storage unit 27. When the N×M costs S are stored in the cost value storage unit 27, the evaluation unit 21 adopts the cost S pair that is the minimum value. That is, the evaluation unit 21 adopts the velocity time series and the target value applied to calculate the cost S, which is the minimum value.
 角速度特定部22は、評価部21において採用された目標値を、式(3)に適用することによって、角速度wを算出する。ここで、角速度特定部22は、offset_aとして、採用された目標値を使用し、現在時刻t0におけるy座標y0、角度θを用いて、角速度wを算出する。算出された角速度は、次のタイミング又は次の時刻における移動体30における角速度として用いられる。通信部24は、評価部21において採用された速度時系列、及び角速度特定部22において算出された角速度wに関する情報を移動体30へ送信する。評価部21において採用された速度時系列、及び角速度特定部22において算出された角速度wに関する情報は、移動体30において用いられる制御入力値と称されてもよい。移動体30において制御入力値が用いられる次の時刻とは、現在時刻をt0とした場合、時刻t1であってもよい。つまり、情報処理装置20は、現在時刻t0から時刻t1の間に、時刻t1における移動体30の制御入力値を算出する。 The angular velocity specifying unit 22 calculates the angular velocity w by applying the target value adopted by the evaluating unit 21 to Equation (3). Here, the angular velocity specifying unit 22 uses the adopted target value as offset_a, and calculates the angular velocity w using the y-coordinate y 0 and the angle θ 0 at the current time t 0 . The calculated angular velocity is used as the angular velocity of the moving body 30 at the next timing or time. The communication unit 24 transmits to the moving object 30 information about the velocity time series adopted by the evaluation unit 21 and the angular velocity w calculated by the angular velocity identification unit 22 . Information about the velocity time series adopted by the evaluation unit 21 and 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 object 30 . The next time at which the control input value is used in the moving object 30 may be time t1 , where t0 is the current time. That is, the information processing device 20 calculates the control input value of the moving object 30 at time t1 between the current time t0 and time t1 .
 さらに、現在時刻が時刻t1になると、時刻t1における速度時系列及び角速度wを特定した手順と同様に、次の時刻t2の速度時系列及び角速度wが特定される。ここで、時刻t1における速度時系列が特定された場合、速度候補格納部25に格納される速度時系列が更新される。具体的には、図7に示されるように、特定された速度時系列における時刻t1の速度を始点とする、複数の速度時系列が設定される。また、時刻t1が始点であるため、時刻t1からhステップ後の、時刻th+1までの速度時系列が設定される。 Further, when the current time reaches time t1 , the velocity time series and angular velocity w at next time t2 are specified in the same manner as the procedure for specifying the velocity time series and angular velocity w at time t1 . Here, when the speed time series at time t1 is specified, the speed time series stored in the speed candidate storage unit 25 is updated. Specifically, as shown in FIG. 7, a plurality of speed time series are set, starting from the speed at time t1 in the identified speed time series. Also, since the time t1 is the starting point, a velocity time series is set from time t1 to time t h+1 after h steps.
 続いて、図8を用いて、移動体30の構成例について説明する。移動体30は、通信部31及び移動体制御部32を有している。通信部31及び移動体制御部32は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。または、通信部31及び移動体制御部32は、回路もしくはチップ等のハードウェアであってもよい。 Next, a configuration example of the moving body 30 will be described with reference to FIG. The mobile unit 30 has a communication unit 31 and a mobile unit control unit 32 . The communication unit 31 and the mobile unit control unit 32 may be software or modules whose processing is executed by a processor executing a program stored in memory. Alternatively, the communication unit 31 and the mobile body control unit 32 may be hardware such as circuits or chips.
 通信部31は、情報処理装置20の通信部24と、通信する。例えば、通信部31は、通信部24と無線通信回線を介して通信してもよく、有線通信回線を介して通信してもよい。通信部31は、通信部24と、例えば、無線LAN(Local Area Network)、赤外線通信、もしくはBluetooth(登録商標)等の近距離無線通信を行ってもよい。 The communication section 31 communicates with the communication section 24 of the information processing device 20 . For example, the communication section 31 may communicate with the communication section 24 via a wireless communication line or a wired communication line. The communication unit 31 may perform short-range wireless communication with the communication unit 24, such as wireless LAN (Local Area Network), infrared communication, or Bluetooth (registered trademark).
 通信部31は、情報処理装置20から、移動体30を動作させるための速度時系列及び角速度に関する情報を受信する。 The communication unit 31 receives, from the information processing device 20, information about the velocity time series and the angular velocity for operating the moving body 30.
 次に、移動体制御部32は、通信部31において受信された速度時系列及び角速度に従って、移動体30の駆動部を制御する。例えば、移動体制御部32は、指定された速度時系列及び角速度にて移動するように、車輪の回転を制御してもよい。また、移動体制御部32は、移動体30の駆動部以外にも、例えば、移動体30の車体が傾かないように、移動体30の姿勢を制御してもよい。さらに、移動体制御部32は、移動体30が、搬送する搬送物を離さないもしくは落下させないように、移動体30が搬送物を押す角度を制御してもよい。もしくは、移動体制御部32は、移動体30が他の移動体と協調して搬送物を搬送する場合、移動体30と他の移動体との間の距離を制御してもよい。移動体制御部32が、各制御を行うために必要な情報は、情報処理装置20から受信してもよく、情報処理装置20とは異なる装置から受信してもよく、もしくは、移動体30内の制御部等によって生成されてもよい。 Next, the moving body control section 32 controls the driving section of the moving body 30 according to the velocity time series and the angular velocity received by the communication section 31 . For example, the mobile body control unit 32 may control the rotation of the wheels so that the mobile body 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, for example, so that the body of the moving body 30 does not tilt. Further, the moving body control unit 32 may control the angle at which the moving body 30 pushes the conveyed object so that the moving body 30 does not release or drop the conveyed object. Alternatively, the moving body control unit 32 may control the distance between the moving body 30 and the other moving body when the moving body 30 cooperates with another moving body to transport the article. The information necessary for the mobile 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 received within the mobile body 30. may be generated by a controller or the like.
 続いて、図9を用いて実施の形態2にかかる情報処理装置20における、制御入力値の生成処理の流れについて説明する。はじめに、情報処理装置20は、移動体30に関する現在の移動情報を取得する(S21)。現在の移動情報は、例えば、移動体30の速度、角速度、向き、現在位置を含む情報であってもよい。 Next, the flow of control input value generation processing in the information processing apparatus 20 according to the second embodiment will be described with reference to FIG. First, the information processing device 20 acquires current movement information regarding the mobile object 30 (S21). The current movement information may be information including, for example, the velocity, angular velocity, orientation, and current position of the mobile object 30 .
 次に、シミュレーション実行部23は、速度候補格納部25に格納されているNパターンの速度時系列及び目標値候補格納部26に格納されているM個の目標値の中から、一つの速度時系列及び一つの目標値のペアを選択する(S22)。 Next, the simulation execution unit 23 selects one speed time series 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. A series and one target value pair are selected (S22).
 次に、シミュレーション実行部23は、式(1)、微分方程式(2)、及び式(3)を用いて、選択したペアに関するコストSを算出する(S23)。次に、シミュレーション実行部23は、速度候補格納部25及び目標値候補格納部26に格納されている全ての速度時系列及び目標値のペアに関するコストSを算出したか否かを判定する(S24)。 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 costs 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 have been calculated (S24 ).
 シミュレーション実行部23は、選択していないペアが存在する場合、ステップS22以降の処理を繰り返す。シミュレーション実行部23において、全てのペアのコストSが算出された場合、評価部21は、最も低いコストSの算出に用いられたペアを選択する(S25)。 If there is a pair that has not been selected, the simulation execution unit 23 repeats the processing from step S22 onwards. When the cost S of all pairs has been calculated in the simulation execution unit 23, the evaluation unit 21 selects the pair used to calculate the lowest cost S (S25).
 次に、角速度特定部22は、ステップS25において選択されたペアに含まれる目標値を式(3)に適用することによって、角速度wを算出する(S26)。 Next, the angular velocity specifying unit 22 calculates the angular velocity w by applying the target values included in the pair selected in step S25 to Equation (3) (S26).
 次に、通信部24は、制御入力値として、速度時系列及び角速度wを移動体30へ送信する(S27)。 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).
 以上説明したように、実施の形態2にかかる情報処理装置20は、現在時刻t0において、次の時刻t1における移動体30の速度を特定し、さらに、角速度を算出する。このようにそれぞれの時刻において、次の時刻における移動体30の速度を特定し、さらに、角速度を算出する処理は、特定された経路を実現するために複数のタイミングにおける速度及び角速度を全て算出する処理と比較して、処理負荷が軽減される。 As described above, the information processing apparatus 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, at each time, the process of specifying the velocity of the moving body 30 at the next time and calculating the angular velocity calculates all the velocities and angular velocities at a plurality of timings in order to realize the specified route. Processing load is reduced compared to processing.
 また、式(1)の第1項を用いることによって、速度が速いほどコストSの値が小さくなる。これにより、情報処理装置20は、移動体30の移動速度を早くするように、速度時系列を選択することが可能となる。また、式(1)の第2項を用いることによって、走行経路R1に近いほどコストSの値が小さくなる。これにより、例えば、障害物40を回避するために走行経路から離れた位置を走行している場合であっても、移動体30が早期に走行経路R1に復帰することが可能となる。 Also, by using the first term of formula (1), the value of cost S decreases as the speed increases. Thereby, the information processing device 20 can select the speed time series so as to increase the moving speed of the moving object 30 . Also, by using the second term of the formula (1), the closer to the travel route R1, the smaller the value of the cost S. As a result, for example, even if the moving body 30 is traveling away from the traveling route to avoid the obstacle 40, the moving body 30 can quickly return to the traveling route R1.
 (実施の形態3)
 続いて、図10を用いて実施の形態3にかかる情報処理装置50の構成例について説明する。情報処理装置50は、図3の情報処理装置20に、乱数生成部51が追加された構成である。乱数生成部51は、任意の乱数を生成し、生成した乱数をシミュレーション実行部23へ出力する。乱数生成部51が生成した乱数は、移動体30の位置の変動に用いられる。
(Embodiment 3)
Next, a configuration example of the information processing apparatus 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 in FIG. Random number generation unit 51 generates an arbitrary random number and outputs the generated random number to 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 .
 実施の形態2においては、シミュレーション実行部23がN×Mパターンの速度時系列及び目標値のペアを用いたシミュレーションを実行する際に、移動体30が、選択された速度時系列及び算出された角速度に従って移動することを前提としている。しかし、移動体30は、速度時系列及び角速度に従って正常に移動せずに、蛇行する場合がある。例えば、移動体30が接する地面の状況、気候状況等の外部環境状況、もしくは、移動体30の経年劣化状況等の内部環境状況を要因として移動体30は、蛇行する場合がある。乱数生成部51は、外部環境状況もしくは内部環境状況を考慮したシミュレーションを実行させるために乱数を生成する。 In Embodiment 2, when the simulation execution unit 23 executes a simulation using pairs of the velocity time series of the N×M pattern and the target value, the moving body 30 performs the selected velocity time series and the calculated It is assumed to move according to angular velocity. However, the moving body 30 may meander without moving normally according to the speed time series and the angular velocity. For example, the mobile body 30 may meander due to external environmental conditions such as conditions of the ground on which the mobile body 30 is in contact, weather conditions, etc., or internal environmental conditions such as aged deterioration of the mobile body 30 . The random number generation unit 51 generates random numbers for executing a simulation that takes into account external environmental conditions or internal environmental conditions.
 図11は、移動体30の走行エリアを示している。具体的には、図11は、移動体30の走行エリアである2次元エリアに垂直方向となる上方から移動体30の走行エリアを視認したエリアを示している。図11においては、移動体30は、X方向に直線に移動していることを示している。 FIG. 11 shows the travel area of the moving body 30. FIG. Specifically, FIG. 11 shows an area in which the travel area of the mobile object 30 is viewed from above in a direction perpendicular to the two-dimensional area, which is the travel area of the mobile object 30 . FIG. 11 shows that the moving body 30 moves linearly in the X direction.
 一方、図12は、移動体40が、蛇行して走行していることを示している。図12は、移動体40が蛇行している複数の経路、つまり経路の変動パターンを示している。図12のように、移動体30が、必ずしも設定された経路通りに移動しないことを示す確率モデルは、次の式4にて示される。 On the other hand, FIG. 12 shows that the moving body 40 is meandering. FIG. 12 shows a plurality of meandering paths of the moving body 40, that is, the variation patterns of the paths. As shown in FIG. 12, a probability model indicating that the moving body 30 does not necessarily move along the set route is expressed by the following Equation 4.
Figure JPOXMLDOC01-appb-I000002
Figure JPOXMLDOC01-appb-I000002
 r=(x、y、θ)は、移動体30の状態を表すベクトルである。fは、移動体のダイナミクスを記述する関数である。uは、制御入力である。Sは分散行列である。dBは、ブラウン運動の微小時間における増分である。式(4)は、関数f(r,u)が与えられた場合に、時間変化dtに応じたグリッドの位置を示すdr=f(r,u)dtに、移動体30が蛇行する確率的な影響を示すSdBtが追加されていることを示す。つまり、式(4)は、ある時刻もしくは時間において移動体30が存在するグリッドの位置の変動を示している。言い換えると、式(4)は、図12において示されている、経路の変動パターンを示している。 r=(x, y, θ) is a vector representing the state of the moving object 30 . f is a function that describes the dynamics of the mobile. u is the control input. S is the variance matrix. dB t is the minute-time increment of Brownian motion. Formula (4) is a probabilistic formula for meandering of the mobile body 30 to dr=f(r,u)dt, which indicates the position of the grid according to the time change dt, when the function f(r,u) is given. indicates that SdB t , which indicates a significant effect, is added. In other words, Equation (4) indicates the variation of the position of the grid on which the moving object 30 exists at a certain point in time. In other words, Equation (4) represents the path variation pattern shown in FIG.
 乱数生成部51は、移動体30が蛇行する確率的な影響を示すSdBtとして用いられる乱数を生成する。 The random number generation unit 51 generates a random number used as SdB t indicating the stochastic effect of meandering of the moving body 30 .
 シミュレーション実行部23は、1つのペアを選択し、シミュレーションを行うことによってコストSを算出する。実施の形態3においては、移動体30が蛇行する確率的な影響を調べるために、異なる乱数を用いて1つのペアに対してD回のシミュレーションを行う。つまり、シミュレーション実行部23は、1つのペアに対して、D個のコストS(S1乃至SD)を算出する。シミュレーション実行部23は、D個のコストSを以下の評価式(5)に適用して評価値Jを算出する。 The simulation execution unit 23 selects one pair and calculates the cost S by performing a simulation. In the third embodiment, D simulations are performed for one pair using different random numbers in order to examine the probabilistic effects of meandering of the moving body 30 . That is, the simulation execution unit 23 calculates D costs S (S 1 to S D ) for one pair. The simulation execution unit 23 calculates the evaluation value J by applying the D costs S to the following evaluation formula (5).
Figure JPOXMLDOC01-appb-I000003
Figure JPOXMLDOC01-appb-I000003
 シミュレーション実行部23は、全てのペアについて評価値Jを算出し、評価部21は、最小の評価値であるJのペアを採用する。つまり、評価部21は、最小の評価値であるJを算出するために適用された、速度時系列及び目標値を採用する。 The simulation execution unit 23 calculates the evaluation value J for all pairs, and the evaluation unit 21 adopts the pair with the lowest evaluation value J. That is, the evaluation unit 21 adopts the velocity time series and target value applied to calculate J, which is the minimum evaluation value.
 その他の動作及び処理は、情報処理装置20と同様であるため詳細な説明を省略する。 Other operations and processes are the same as those of the information processing device 20, so detailed descriptions are omitted.
 以上説明したように、実施の形態3にかかる情報処理装置50は、移動体30の外部環境状況もしくは内部環境状況を考慮したシミュレーションを実行することができる。これにより、情報処理装置50は、移動体30が蛇行することを考慮して、より衝突可能性を低下させる制御入力値を決定することができる。 As described above, the information processing apparatus 50 according to the third embodiment can execute a simulation that takes into account the external environment or internal environment of the mobile body 30. Accordingly, the information processing device 50 can determine a control input value that further reduces the possibility of collision, taking into consideration that the moving body 30 meanders.
 (実施の形態4)
 続いて、図13を用いて実施の形態4にかかる情報処理装置60の構成例について説明する。情報処理装置60は、図3の情報処理装置20に、平滑パラメータ生成部61が追加された構成である。平滑パラメータ生成部61は、移動体30の移動経路の変動を抑えるために用いられる。
(Embodiment 4)
Next, a configuration example of the information processing apparatus 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 generation unit 61 is added to the information processing device 20 in FIG. The smooth parameter generation unit 61 is used to suppress fluctuations in the moving route of the moving object 30 .
 移動体30の移動経路の変動について、図14を用いて説明する。図14は、移動体30が、障害物40を回避するために、a_1及びa_2方向と、a_5及びa_6方向とが存在することを示している。つまり、移動体30には、障害物40を走行経路を基準とする、左方向もしくは右方向に回避する経路が存在する。このような場合、例えば、評価部21が、時刻tiにおいては、目標位置として、a_1もしくはa_2を含むペアを選択し、時刻ti+1においては、目標位置として、a_5もしくはa_6を含むペアを選択する場合がある。つまり、評価部21は、障害物40を避けるための制御入力値として、障害物40の左方向の目標位置を含むペアと、右方向の目標位置を含むペアとを交互に選択するような場合がある。この場合、移動体30は、障害物40を回避しきれなくなり、障害物40に衝突してしまうことがある。 Fluctuations in the moving route of the moving object 30 will be described with reference to FIG. 14 . FIG. 14 shows that there are a_1 and a_2 directions and a_5 and a_6 directions for the moving object 30 to avoid the obstacle 40 . In other words, the moving body 30 has a route to avoid the obstacle 40 in the left direction or the right direction with respect to the travel route. In such a case, for example, the evaluation unit 21 selects a pair including a_1 or a_2 as the target position at time t i , and selects a pair including a_5 or a_6 as the target position at time t i+1. may choose. That is, when the evaluation unit 21 alternately selects a pair including the target position in the left direction of the obstacle 40 and a pair including the target position in the right direction as the control input value for avoiding the obstacle 40. There is In this case, the moving body 30 may not be able to avoid the obstacle 40 and may collide with the obstacle 40 .
 このように、評価部21が、選択する目標位置の方向の変動を抑えるために、指数平滑を考慮したコストSの算出を行う。具体的には、コストSの算出に、次の式(6)が用いられる。 In this way, the evaluation unit 21 calculates the cost S in consideration of exponential smoothing in order to suppress the variation in the direction of the selected target position. Specifically, the following equation (6) is used to calculate the cost S.
Figure JPOXMLDOC01-appb-I000004
Figure JPOXMLDOC01-appb-I000004
 式(6)には、式(1)に第4項が追加されている。式(6)の第4項におけるyoffset qは、選択したペアに含まれる目標位置を示している。さらに、yoffset EMAは、これまでに採用された目標位置の指数平滑が示されている。具体的には、yoffset EMAは、yoffset qにおいて選択された目標位置より前に採用された目標位置の指数平滑が示されている。ここで、yoffset EMAは、以下のように更新される。 Equation (6) has a fourth term added to Equation (1). y offset q in the fourth term of equation (6) indicates the target position included in the selected pair. In addition, the y offset EMA shows the exponential smoothing of target positions employed so far. Specifically, the y offset EMA shows the exponential smoothing of target positions taken prior to the target position selected in y offset q . Here, the y offset EMA is updated as follows.
 yoffset EMA←pyoffset q+(1-p)yoffset EMA
 0≦p≦1
y offset EMA ← py offset q + (1-p) y offset EMA
0≤p≤1
 つまり、第1の時刻において選択されたペアの補正量に基づいて、第2の時刻におけるペアの補正量が調整される。例えば、pの値を小さくすることによって、これまでに採用された目標位置yoffset EMAの影響を大きくすることができる。ペアに含まれる目標位置と、これまでに採用された目標位置との差が大きい場合、式(6)の第4項の値が大きくなり、コストSの値が大きくなる。そのため、ペアに含まれる目標位置と、これまでに採用された目標位置との差が大きい場合、そのペアが採用される可能性が低下することとなり、これまでに採用された目標位置との差が小さくなる目標位置を含むペアが採用される可能性が高くなる。 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 effect of the previously employed target position y offset EMA can be increased. When the difference between the target positions included in the pair and the target positions adopted so far is large, the value of the fourth term in Equation (6) becomes large, and the value of the cost S becomes large. Therefore, if the difference between the target positions included in the pair and the target positions adopted so far is large, the possibility that the pair will be adopted decreases, and the difference from the target positions adopted so far is It is more likely that the pair that includes the target position for which is smaller will be adopted.
 以上説明したように、実施の形態4の情報処理装置60は、選択される目標位置の変動を抑えることができるため、より衝突可能性を低下させる制御入力値を決定することができる。 As described above, the information processing apparatus 60 of Embodiment 4 can suppress fluctuations in the selected target position, and therefore can determine a control input value that further reduces the possibility of collision.
 図15は、情報処理装置20、50、及び60(以下、情報処理装置20等とする)の構成例を示すブロック図である。図15を参照すると、情報処理装置20等は、ネットワークインタフェース1201、プロセッサ1202、及びメモリ1203を含む。ネットワークインタフェース1201は、ネットワークノード(e.g., eNB、MME、P-GW)と通信するために使用されてもよい。ネットワークインタフェース1201は、例えば、IEEE 802.3 seriesに準拠したネットワークインタフェースカード(NIC)を含んでもよい。ここで、eNBはevolved Node B、MMEはMobility Management Entity、P-GWはPacket Data Network Gatewayを表す。IEEEは、Institute of Electrical and Electronics Engineersを表す。 FIG. 15 is a block diagram showing a configuration example of information processing apparatuses 20, 50, and 60 (hereinafter referred to as information processing apparatuses 20, etc.). Referring to FIG. 15, the information processing apparatus 20 and the like include a network interface 1201, a processor 1202, and a memory 1203. FIG. Network interface 1201 may be used to communicate with network nodes (e.g., eNB, MME, P-GW). Network interface 1201 may include, for example, an IEEE 802.3 series compliant network interface card (NIC). Here, eNB stands for evolved Node B, MME for Mobility Management Entity, and P-GW for Packet Data Network Gateway. IEEE stands for Institute of Electrical and Electronics Engineers.
 プロセッサ1202は、メモリ1203からソフトウェア(コンピュータプログラム)を読み出して実行することで、上述の実施形態においてフローチャートを用いて説明された情報処理装置20等の処理を行う。プロセッサ1202は、例えば、マイクロプロセッサ、MPU、又はCPUであってもよい。プロセッサ1202は、複数のプロセッサを含んでもよい。 The processor 1202 reads and executes software (computer program) from the memory 1203 to perform the processing of the information processing apparatus 20 and the like described using the flowcharts in the above embodiments. Processor 1202 may be, for example, a microprocessor, MPU, or CPU. Processor 1202 may include multiple processors.
 メモリ1203は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ1203は、プロセッサ1202から離れて配置されたストレージを含んでもよい。この場合、プロセッサ1202は、図示されていないI/O(Input/Output)インタフェースを介してメモリ1203にアクセスしてもよい。 The memory 1203 is composed of a combination of volatile memory and non-volatile memory. Memory 1203 may include storage remotely located from processor 1202 . In this case, the processor 1202 may access the memory 1203 via an I/O (Input/Output) interface (not shown).
 図15の例では、メモリ1203は、ソフトウェアモジュール群を格納するために使用される。プロセッサ1202は、これらのソフトウェアモジュール群をメモリ1203から読み出して実行することで、上述の実施形態において説明された情報処理装置20等の処理を行うことができる。 In the example of FIG. 15, memory 1203 is used to store software modules. The processor 1202 reads and executes these software modules from the memory 1203, thereby performing the processing of the information processing apparatus 20 and the like described in the above embodiments.
 図15を用いて説明したように、上述の実施形態における情報処理装置20等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む1又は複数のプログラムを実行する。 As described with reference to FIG. 15, each of the processors included in the information processing apparatus 20 and the like in the above-described embodiments includes one or more instructions containing a group of instructions for causing a computer to execute the algorithm described with reference to the drawings. Run the program.
 上述の例において、プログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。 In the above examples, the program includes instructions (or software code) that, when read into a computer, cause the computer to perform one or more of the functions described in the embodiments. The program may be stored in a non-transitory computer-readable medium or tangible storage medium. By way of example, and not limitation, computer readable media or tangible storage media may include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drives (SSD) or other memory technology, CDs - ROM, digital versatile disc (DVD), Blu-ray disc or other optical disc storage, magnetic cassette, magnetic tape, magnetic disc 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, transitory computer readable media or communication media include electrical, optical, acoustic, or other forms of propagated signals.
 なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。 It should be noted that the present disclosure is not limited to the above embodiments, and can be modified as appropriate without departing from the scope.
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)
 移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定する経路補正手段と、
 前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定する角速度特定手段と、
 特定された前記移動体の角速度と、前記移動体の移動速度とに応じて、前記移動体の動作を制御する制御手段と、を備える制御システム。
 (付記2)
 前記移動速度は、
 移動速度の変化を示す速度時系列である、付記1に記載の制御システム。
 (付記3)
 前記経路補正手段は、
 前記移動速度の複数の候補のうちの一つの候補と、前記補正量の複数の候補のうちの一つの候補とを組み合わせた複数のペアの中から、一つのペアを選択する、付記1又は2に記載の制御システム。
 (付記4)
 前記経路補正手段は、
 前記複数のペアそれぞれに基づいて算出した前記移動体の動作に応じて、前記一つのペアを選択する、付記3に記載の制御システム。
 (付記5)
 前記角速度特定手段は、
 前記補正量と、前記移動体の位置及び姿勢とに基づいて前記移動体の角速度を特定する、付記1乃至4のいずれか1項に記載の制御システム。
 (付記6)
 前記経路補正手段は、
 前記複数のペアそれぞれと乱数とに基づいて前記移動体の動作を算出する、付記3に記載の制御システム。
 (付記7)
 前記経路補正手段は、
 第1の時刻において選択された前記ペアの補正量に基づいて、第2の時刻における前記ペアの補正量を調整する、付記3、4、及び6のいずれか1項に記載の制御システム。
 (付記8)
 移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定する経路補正手段と、
 前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定する角速度特定手段と、
 特定された前記移動体の角速度と、前記移動体の移動速度とを前記移動体へ送信する通信手段と、を備える情報処理装置。
 (付記9)
 前記移動速度は、
 移動速度の変化を示す速度時系列である、付記8に記載の情報処理装置。
 (付記10)
 前記経路補正手段は、
 前記移動速度の複数の候補のうちの一つの候補と、前記補正量の複数の候補のうちの一つの候補とを組み合わせた複数のペアの中から、一つのペアを選択する、付記8又は9に記載の情報処理装置。
 (付記11)
 前記経路補正手段は、
 前記複数のペアそれぞれに基づいて算出した前記移動体の動作に応じて、前記一つのペアを選択する、付記10に記載の情報処理装置。
 (付記12)
 前記角速度特定手段は、
 前記補正量と、前記移動体の位置及び姿勢とに基づいて前記移動体の角速度を特定する、付記8乃至11のいずれか1項に記載の情報処理装置。
 (付記13)
 前記経路補正手段は、
  前記複数のペアそれぞれと乱数とに基づいて前記移動体の動作を算出する、付記11に記載の情報処理装置。
 (付記14)
 前記経路補正手段は、
 第1の時刻において選択された前記ペアの補正量に基づいて、第2の時刻における前記ペアの補正量を調整する、付記10、11、及び13のいずれか1項に記載の情報処理装置。
 (付記15)
 移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定し、
 前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定し、
 特定された前記移動体の角速度と、前記移動体の移動速度とに応じて、前記移動体の動作を制御する、制御方法。
 (付記16)
 移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定し、
 前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定し、
 特定された前記移動体の角速度と、前記移動体の移動速度とを前記移動体へ送信する、制御値生成方法。
 (付記17)
 移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定し、
 前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定し、
 特定された前記移動体の角速度と、前記移動体の移動速度とを前記移動体へ送信する、ことをコンピュータに実行させるプログラム。
Some or all of the above-described embodiments can also be described in the following supplementary remarks, but are not limited to the following.
(Appendix 1)
route correction means for specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object;
angular velocity identifying means for identifying the angular velocity of the moving body based on the correction amount and the position of the moving body;
A control system comprising control means for controlling the 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 velocity time series is indicative of changes in movement velocity.
(Appendix 3)
The path correction means is
Supplementary Note 1 or 2, wherein one pair is selected from a plurality of pairs in which one of the plurality of candidates for the moving speed and one of the plurality of candidates for the correction amount are combined. The control system described in .
(Appendix 4)
The path correction means is
The control system according to appendix 3, wherein the one pair is selected according to the motion of the moving body calculated based on each of the plurality of pairs.
(Appendix 5)
The angular velocity specifying means is
5. The control system according to any one of Appendices 1 to 4, wherein the angular velocity of the moving body is specified based on the correction amount and the position and orientation of the moving body.
(Appendix 6)
The path correction means is
The control system according to appendix 3, wherein the motion of the moving object is calculated based on each of the plurality of pairs and a random number.
(Appendix 7)
The path correction means is
7. The control system according to any one of appendices 3, 4, and 6, wherein the correction amount of the pair at a second time is adjusted based on the correction amount of the pair selected at a first time.
(Appendix 8)
route correction means for specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object;
angular velocity identifying means for identifying the angular velocity of the moving body based on the correction amount and the position of the moving body;
An information processing apparatus comprising 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
The information processing device according to appendix 8, which is a speed time series showing changes in moving speed.
(Appendix 10)
The path correction means is
Supplementary note 8 or 9, wherein one pair is selected from a plurality of pairs in which one of the plurality of candidates for the moving speed and one of the plurality of candidates for the correction amount are combined. The information processing device according to .
(Appendix 11)
The path correction means is
11. The information processing apparatus according to appendix 10, wherein the one pair is selected according to the motion of the moving object calculated based on each of the plurality of pairs.
(Appendix 12)
The angular velocity specifying means is
12. The information processing apparatus according to any one of appendices 8 to 11, wherein the angular velocity of the moving body is specified based on the correction amount and the position and orientation of the moving body.
(Appendix 13)
The path correction means is
12. The information processing apparatus according to appendix 11, wherein the motion of the moving body is calculated based on each of the plurality of pairs and a random number.
(Appendix 14)
The path correction means is
14. The information processing apparatus according to any one of appendices 10, 11, and 13, wherein the correction amount of the pair at a second time is adjusted based on the correction amount of the pair selected at a first time.
(Appendix 15)
specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object;
identifying the angular velocity of the moving body based on the correction amount and the position of the moving body;
A control method for controlling the operation of the moving body according to the identified angular velocity of the moving body and the moving speed of the moving body.
(Appendix 16)
specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object;
identifying the angular velocity of the moving body based on the correction amount and the position of the moving body;
A method of generating a control value, which transmits the identified angular velocity of the moving body and the moving speed of the moving body to the moving body.
(Appendix 17)
specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object;
identifying the angular velocity of the moving body based on the correction amount and the position of the moving body;
A program that causes a computer to transmit the identified angular velocity of the moving body and the moving speed of the moving body to the moving body.
 なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。 It should be noted that the present disclosure is not limited to the above embodiments, and can be modified as appropriate without departing from the scope.
 10 制御システム
 11 経路補正部
 12 角速度決定部
 13 制御部
 20 情報処理装置
 21 評価部
 22 角速度決定部
 23 シミュレーション実行部
 24 通信部
 25 速度候補格納部
 26 目標値候補格納部
 27 コスト値格納部
 28 障害物判定部
 30 移動体
 31 通信部
 32 移動体制御部
 40 障害物
 50 情報処理装置
 51 乱数生成部
 60 情報処理装置
 61 平滑パラメータ生成部
10 control system 11 path correction unit 12 angular velocity determination unit 13 control unit 20 information processing device 21 evaluation unit 22 angular velocity determination unit 23 simulation execution unit 24 communication unit 25 speed candidate storage unit 26 target value candidate storage unit 27 cost value storage unit 28 failure Object determining unit 30 moving object 31 communication unit 32 moving object control unit 40 obstacle 50 information processing device 51 random number generation unit 60 information processing device 61 smooth parameter generation unit

Claims (16)

  1.  移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定する経路補正手段と、
     前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定する角速度特定手段と、
     特定された前記移動体の角速度と、前記移動体の移動速度とに応じて、前記移動体の動作を制御する制御手段と、を備える制御システム。
    route correction means for specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object;
    angular velocity identifying means for identifying the angular velocity of the moving body based on the correction amount and the position of the moving body;
    A control system comprising control means for controlling the operation of the moving body in accordance with the identified angular velocity of the moving body and the moving speed of the moving body.
  2.  前記移動速度は、
     移動速度の変化を示す速度時系列である、請求項1に記載の制御システム。
    The moving speed is
    2. The control system of claim 1, which is a speed time series showing changes in moving speed.
  3.  前記経路補正手段は、
     前記移動速度の複数の候補のうちの一つの候補と、前記補正量の複数の候補のうちの一つの候補とを組み合わせた複数のペアの中から、一つのペアを選択する、請求項1又は2に記載の制御システム。
    The path correction means is
    2. Selecting one pair from a plurality of pairs in which one of the plurality of candidates for the moving speed and one of the plurality of candidates for the correction amount are combined. 3. The control system according to 2.
  4.  前記経路補正手段は、
     前記複数のペアそれぞれに基づいて算出した前記移動体の動作に応じて、前記一つのペアを選択する、請求項3に記載の制御システム。
    The path correction means is
    4. The control system according to claim 3, wherein said one pair is selected according to the motion of said moving body calculated based on each of said plurality of pairs.
  5.  前記角速度特定手段は、
     前記補正量と、前記移動体の位置及び姿勢とに基づいて前記移動体の角速度を特定する、請求項1乃至4のいずれか1項に記載の制御システム。
    The angular velocity specifying means is
    5. The control system according to any one of claims 1 to 4, wherein the angular velocity of said moving object is specified based on said correction amount and the position and attitude of said moving object.
  6.  前記経路補正手段は、
     前記複数のペアそれぞれと乱数とに基づいて前記移動体の動作を算出する、請求項3に記載の制御システム。
    The path correction means is
    4. The control system according to claim 3, wherein the motion of said moving object is calculated based on each of said plurality of pairs and a random number.
  7.  前記経路補正手段は、
     第1の時刻において選択された前記ペアの補正量に基づいて、第2の時刻における前記ペアの補正量を調整する、請求項3、4、及び6のいずれか1項に記載の制御システム。
    The path correction means is
    7. The control system according to any one of claims 3, 4 and 6, wherein the correction amount of said pair at a second time is adjusted based on the correction amount of said pair selected at a first time.
  8.  移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定する経路補正手段と、
     前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定する角速度特定手段と、
     特定された前記移動体の角速度と、前記移動体の移動速度とを前記移動体へ送信する通信手段と、を備える情報処理装置。
    route correction means for specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object;
    angular velocity identifying means for identifying the angular velocity of the moving body based on the correction amount and the position of the moving body;
    An information processing apparatus comprising communication means for transmitting the identified angular velocity of the moving body and the moving speed of the moving body to the moving body.
  9.  前記移動速度は、
     移動速度の変化を示す速度時系列である、請求項8に記載の情報処理装置。
    The moving speed is
    9. The information processing apparatus according to claim 8, which is a speed time series showing changes in moving speed.
  10.  前記経路補正手段は、
     前記移動速度の複数の候補のうちの一つの候補と、前記補正量の複数の候補のうちの一つの候補とを組み合わせた複数のペアの中から、一つのペアを選択する、請求項8又は9に記載の情報処理装置。
    The path correction means is
    9. Selecting one pair from among a plurality of pairs obtained by combining one of the plurality of candidates for the moving speed and one of the plurality of candidates for the correction amount, or 10. The information processing device according to 9.
  11.  前記経路補正手段は、
     前記複数のペアそれぞれに基づいて算出した前記移動体の動作に応じて、前記一つのペアを選択する、請求項10に記載の情報処理装置。
    The path correction means is
    11. The information processing apparatus according to claim 10, wherein said one pair is selected according to the motion of said moving object calculated based on each of said plurality of pairs.
  12.  前記角速度特定手段は、
     前記補正量と、前記移動体の位置及び姿勢とに基づいて前記移動体の角速度を特定する、請求項8乃至11のいずれか1項に記載の情報処理装置。
    The angular velocity specifying means is
    12. The information processing apparatus according to any one of claims 8 to 11, wherein the angular velocity of said moving object is specified based on said correction amount and the position and orientation of said moving object.
  13.  前記経路補正手段は、
      前記複数のペアそれぞれと乱数とに基づいて前記移動体の動作を算出する、請求項11に記載の情報処理装置。
    The path correction means is
    12. The information processing apparatus according to claim 11, wherein the motion of said moving object is calculated based on each of said plurality of pairs and a random number.
  14.  前記経路補正手段は、
     第1の時刻において選択された前記ペアの補正量に基づいて、第2の時刻における前記ペアの補正量を調整する、請求項10、11、及び13のいずれか1項に記載の情報処理装置。
    The path correction means is
    The information processing apparatus according to any one of claims 10, 11 and 13, wherein the correction amount of said pair at a second time is adjusted based on the correction amount of said pair selected at a first time. .
  15.  移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定し、
     前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定し、
     特定された前記移動体の角速度と、前記移動体の移動速度とに応じて、前記移動体の動作を制御する、制御方法。
    specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object;
    identifying the angular velocity of the moving body based on the correction amount and the position of the moving body;
    A control method for controlling the operation of the moving body according to the identified angular velocity of the moving body and the moving speed of the moving body.
  16.  移動体の走行経路上に位置する障害物の検出に応じて前記移動体が前記走行経路から離れる方向への補正量を特定し、
     前記補正量と、前記移動体の位置と、に基づいて前記移動体の角速度を特定し、
     特定された前記移動体の角速度と、前記移動体の移動速度とを前記移動体へ送信する、制御値生成方法。
    specifying a correction amount in a direction away from the travel route of the mobile object in response to detection of an obstacle positioned on the travel route of the mobile object;
    identifying the angular velocity of the moving body based on the correction amount and the position of the moving body;
    A method of generating a control value, which transmits the identified angular velocity of the moving body and the moving speed of the moving body to the moving body.
PCT/JP2021/033502 2021-09-13 2021-09-13 Control system, information processing device, control method, and control value generation method WO2023037539A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/033502 WO2023037539A1 (en) 2021-09-13 2021-09-13 Control system, information processing device, control method, and control value generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/033502 WO2023037539A1 (en) 2021-09-13 2021-09-13 Control system, information processing device, control method, and control value generation method

Publications (1)

Publication Number Publication Date
WO2023037539A1 true WO2023037539A1 (en) 2023-03-16

Family

ID=85506274

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/033502 WO2023037539A1 (en) 2021-09-13 2021-09-13 Control system, information processing device, control method, and control value generation method

Country Status (1)

Country Link
WO (1) WO2023037539A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0329010A (en) * 1989-06-27 1991-02-07 Komatsu Ltd Drive controller for unmanned mobile object
WO2013002067A1 (en) * 2011-06-29 2013-01-03 株式会社日立産機システム Mobile robot and self location and attitude estimation system installed upon mobile body
JP2019021202A (en) * 2017-07-20 2019-02-07 株式会社Ihi Control device and control method for mobile robot
JP2019021199A (en) * 2017-07-20 2019-02-07 株式会社Ihi Control device and control method for mobile robot
JP2019175128A (en) * 2018-03-28 2019-10-10 セコム株式会社 Movement control system
JP2021009466A (en) * 2019-06-28 2021-01-28 トヨタ自動車株式会社 Machine learning method and mobile robot

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0329010A (en) * 1989-06-27 1991-02-07 Komatsu Ltd Drive controller for unmanned mobile object
WO2013002067A1 (en) * 2011-06-29 2013-01-03 株式会社日立産機システム Mobile robot and self location and attitude estimation system installed upon mobile body
JP2019021202A (en) * 2017-07-20 2019-02-07 株式会社Ihi Control device and control method for mobile robot
JP2019021199A (en) * 2017-07-20 2019-02-07 株式会社Ihi Control device and control method for mobile robot
JP2019175128A (en) * 2018-03-28 2019-10-10 セコム株式会社 Movement control system
JP2021009466A (en) * 2019-06-28 2021-01-28 トヨタ自動車株式会社 Machine learning method and mobile robot

Similar Documents

Publication Publication Date Title
US9995589B2 (en) Path plan generating apparatus for mobile body
CN105425803B (en) Autonomous obstacle avoidance method, device and system
KR101475826B1 (en) Leader-Follower Formation Device, Method and Mobile robot using Backstepping Method
US8793069B2 (en) Object recognition system for autonomous mobile body
JP7092304B2 (en) Route estimation system, route estimation method, and route estimation program
EP3904992B1 (en) Positioning apparatus and moving body
JP2011054082A (en) Autonomous moving apparatus
JP6895911B2 (en) Object tracking device, object tracking method and computer program for object tracking
TW202020589A (en) Coach apparatus and cooperative operation controlling method for coach-driven multi-robot cooperative operation system
JP2020004095A (en) Autonomous mobile body controller and autonomous mobile body
US11579615B2 (en) Remote control apparatus, system, method, and program
WO2023037539A1 (en) Control system, information processing device, control method, and control value generation method
WO2019171491A1 (en) Mobile body control device, mobile body, mobile body control system, mobile body control method, and recording medium
US20230098219A1 (en) Mobile object control device, mobile object, learning device, learning method, and storage medium
US20220055215A1 (en) Path determination device, robot, and path determination method
JP2020042516A (en) Movement path generation device, mobile device, movement path generation method, and program
JP2021081758A (en) Control device, control method, and program
Huang et al. An autonomous UAV navigation system for unknown flight environment
Abichandani et al. Experimental multi-vehicle path coordination under communication connectivity constraints
JP2008083995A (en) Map information processing apparatus and mobile robotic device
JP7121489B2 (en) moving body
WO2023032246A1 (en) Information processing device, communication system, specification method, and non-transitory computer-readable medium
JP7238976B2 (en) ROBOT CONTROL SYSTEM, CONTROL DEVICE, MOBILE ROBOT, ROBOT CONTROL METHOD, AND PROGRAM
JP6227950B2 (en) Sensor orientation control method and apparatus
EP4332712A1 (en) Autonomous vehicle control

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21956836

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023546707

Country of ref document: JP