[go: up one dir, main page]

WO2025192613A1 - Dispositif de commande de déplacement, procédé de commande de déplacement et programme de commande de déplacement - Google Patents

Dispositif de commande de déplacement, procédé de commande de déplacement et programme de commande de déplacement

Info

Publication number
WO2025192613A1
WO2025192613A1 PCT/JP2025/009183 JP2025009183W WO2025192613A1 WO 2025192613 A1 WO2025192613 A1 WO 2025192613A1 JP 2025009183 W JP2025009183 W JP 2025009183W WO 2025192613 A1 WO2025192613 A1 WO 2025192613A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
translational
unit
target
velocity
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
PCT/JP2025/009183
Other languages
English (en)
Japanese (ja)
Inventor
徳和 殿谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of WO2025192613A1 publication Critical patent/WO2025192613A1/fr
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/40Control within particular dimensions
    • G05D1/43Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • G05D1/622Obstacle avoidance

Definitions

  • This disclosure relates to a driving control device, a driving control method, and a driving control program.
  • Patent Document 1 JP Patent Publication No. 10-161745 describes a device for controlling the travel of a vehicle equipped with a sensor that detects obstacles. This device controls the vehicle's deceleration when the sensor detects an obstacle within a predetermined detection distance ahead of the vehicle. The detection distance increases as the vehicle's travel speed increases. This makes it possible to prevent the vehicle from colliding with an obstacle regardless of its travel speed.
  • One method for driving a vehicle without colliding with obstacles in an environment where the existence of roads is not assumed, such as within the premises of a facility, is to create a driving plan consisting of a target route and target speed that will prevent the vehicle from colliding with obstacles before driving, and then have the vehicle drive according to that driving plan during driving.
  • the position of an obstacle may differ from that in the plan, or an error may occur in recognizing the vehicle's position, causing the vehicle to travel a route different from the target route, which could result in the vehicle colliding with an obstacle.
  • it is necessary to detect obstacles in front of the vehicle and prevent collisions.
  • the vehicle will only begin to decelerate when an obstacle enters the detection distance while driving, and will continue to decelerate as it approaches the obstacle until the obstacle is outside the detection distance. This results in a sudden deceleration from the driving speed before the obstacle is detected.
  • the present disclosure aims to provide a driving control device, driving control method, and driving control program that, for a vehicle that has a longer detection distance the faster the vehicle is traveling and that decelerates when an obstacle is detected within that detection distance, reduces the frequency of situations in which an obstacle enters the detection distance and the vehicle suddenly decelerates.
  • the driving control device disclosed herein is a driving control device for a vehicle in which a safety region is set with a length that increases as the translational speed of the vehicle increases from the front end of the vehicle forward and a width that approximates the width of the vehicle, and is equipped with an initial processing unit that acquires a target route that is set so that the vehicle body does not interfere with obstacles while the vehicle is traveling, an acquisition unit that acquires vehicle states including the position, attitude, translational speed, and angular speed of the vehicle, as well as location information of the obstacles around the vehicle, and an operation planning unit that sets candidate states for at least some of the future vehicle states based on the target route, and determines at least one of the translational speed and angular speed of the vehicle based on the candidate states so that the obstacle does not enter the safety region.
  • This disclosure provides a driving control device, driving control method, and driving control program that reduces the frequency of situations in which a vehicle suddenly decelerates due to an obstacle entering the detection distance.
  • FIG. 1 is a schematic diagram for explaining an example of a safety region.
  • FIG. 2 is a diagram showing the hardware configuration of the driving control device.
  • FIG. 3 is a configuration diagram of the driving control device according to this embodiment.
  • FIG. 4 is an example of a grid representing candidate states to be set.
  • FIG. 5 is a diagram illustrating an example of setting the candidate states.
  • FIG. 6 is a diagram for explaining the calculation of the obstacle term.
  • FIG. 7 is a diagram for explaining the calculation of the obstacle term taking into account the safety area.
  • FIG. 8 is a flowchart showing the flow of the cruise control process performed by the cruise control device according to the first embodiment.
  • FIG. 9 is a flowchart showing the flow of the operation planning process according to the first embodiment.
  • FIG. 10 shows an example of an image in which the shape of a vehicle is represented by a circle.
  • FIG. 11 is an image diagram of candidate states based on objective functions and constraints.
  • FIG. 12 is an image diagram of obstacle determination.
  • FIG. 13 is an image diagram of obstacle determination taking into account the safety area.
  • FIG. 14 is a flowchart showing the flow of the cruise control process performed by the cruise control device 30B according to the second embodiment.
  • FIG. 15 is a flowchart showing the flow of the operation planning process according to the second embodiment.
  • FIG. 16 is a diagram for explaining a method for expressing the shape of a vehicle using a plurality of circles.
  • FIG. 17 is a diagram for explaining a method for expressing the shape of a vehicle using a plurality of circles.
  • FIG. 16 is a diagram for explaining a method for expressing the shape of a vehicle using a plurality of circles.
  • FIG. 18 is a diagram for explaining a setting mode of the candidate state in the modified example.
  • FIG. 19 is an image diagram showing how v and ⁇ are obtained by DWA.
  • FIG. 20 is an image diagram showing how v and ⁇ are calculated using MPC.
  • FIG. 21 shows an example of an experiment in which the shape of a vehicle is represented by a plurality of circles and the method of this embodiment is applied.
  • This disclosure relates to the travel control of a vehicle as a mobile robot.
  • the travel of a vehicle is controlled by setting a safety region whose length increases as the translational speed of the vehicle increases from the front end of the vehicle forward and whose width approximates the width of the vehicle.
  • "Forward" here refers to the direction toward which the vehicle is traveling. Generally, the direction that coincides with the vehicle's travel direction is preferable, but in the case of a vehicle with a steering mechanism, it may also be substituted with the direction toward which the vehicle is traveling based on the vehicle's posture.
  • the width of the safety region may be wider than the width of the vehicle, as long as it is appropriate for the purpose of enabling travel without interfering with obstacles.
  • a safety region that is several times the width of the vehicle would make it difficult to travel without interfering with obstacles, so such a size is not included.
  • the shapes of the safety region and vehicle used in this embodiment may be circular, rectangular, elliptical, or polygonal.
  • the obstacle placement information, safety area, and vehicle shape are described as being projected onto a plane, but this is not limited to this and they may be treated three-dimensionally, including the height direction.
  • the safety area and vehicle shape may be configured as a sphere, rectangular parallelepiped, cube, etc. Furthermore, calculations to prevent the safety area and vehicle from interfering with obstacles also take into account the distance in the height direction.
  • Figure 1 is a schematic diagram illustrating an example of a safety area.
  • the safety area may be determined in advance, for example, from information on safety standards and vehicle shape, or may be determined from the distance required for the target vehicle to slow down and stop based on its travel speed.
  • the safety area is defined using the length of the upper safety area, the upper speed, the length of the lower safety area, and the lower speed.
  • the vertical width of the safety area is calculated using the above formula, and the horizontal width is calculated from the horizontal width of the vehicle shape. Note that the manner in which the safety area is calculated as a circle will be described later.
  • Typical examples of the speed command generation system processing related to vehicle operation planning include DWA (Dynamic Window Approach), a search system method, and MPC (Model Predictive Control), an optimization system model prediction method. Therefore, an embodiment using DWA will be described as the first embodiment, and an embodiment using MPC will be described as the second embodiment. Furthermore, after describing the first and second embodiments, other variations will be described.
  • DWA Dynamic Window Approach
  • MPC Model Predictive Control
  • Search-based methods divide space into grids based on translational velocity and angular velocity, and calculate a series of translational and angular velocities that will approach the goal in the shortest time without interference.
  • Optimization methods express objective functions and constraints as mathematical formulas and use optimization methods to calculate a series of translational and angular velocities.
  • translational velocity is a scalar that represents the change in position over time.
  • Angular velocity represents the change in posture over time.
  • Figure 2 is a diagram showing the hardware configuration of the driving control device.
  • Figure 3 is a diagram showing the configuration of the driving control device related to this embodiment.
  • the driving control device 30 has a CPU (Central Processing Unit) 32, memory 34, storage device 36, drive mechanism 38, sensor 40, storage medium reader 42, and communication I/F (Interface) 44. Each component is connected to each other via a bus 46 so that they can communicate with each other.
  • CPU Central Processing Unit
  • memory 34 storage device 36
  • drive mechanism 38 drive mechanism 38
  • sensor 40 storage medium reader 42
  • communication I/F (Interface) 44 communication I/F
  • Storage device 36 stores a driving control program for executing driving control processing.
  • CPU 32 is a central processing unit that executes various programs and controls each component. That is, CPU 32 reads the program from storage device 36 and executes the program using memory 34 as a work area. CPU 32 controls each of the components and performs various arithmetic processing in accordance with the program stored in storage device 36.
  • Memory 34 is composed of RAM (Random Access Memory) and serves as a working area for temporarily storing programs and data.
  • Storage device 36 is composed of ROM (Read Only Memory), HDD (Hard Disk Drive), SSD (Solid State Drive), etc., and stores various programs, including the operating system, and various data.
  • the drive mechanism 38 includes mechanisms such as a motor, a power source such as a battery, a transmission, and tires for driving and operating the vehicle 20.
  • the sensor 40 detects the position, attitude, speed, acceleration, and other conditions of the vehicle 20, and includes, for example, a gyro sensor, a speed sensor, a camera, etc.
  • the storage medium reader 42 reads and writes data stored on various storage media such as CD (Compact Disc)-ROM, DVD (Digital Versatile Disc)-ROM, Blu-ray Disc, and USB (Universal Serial Bus) memory.
  • the communication I/F 44 is an interface for communicating with other devices, and uses standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark).
  • the driving control device 30 is assumed to be a device provided inside the vehicle 20.
  • the driving control device 30 is not limited to being provided inside the vehicle 20, and may be provided externally and transmit driving instruction data to the vehicle 20.
  • the control device 10 is, for example, a personal computer, tablet terminal, controller, etc., and transmits instructions necessary for controlling the driving control device 30.
  • the vehicle 20 is, for example, an AMR (Autonomous Mobile Robot), an AGV (Automatic Guided Vehicle), etc.
  • the driving control device 30 includes, as its functional components, an execution control unit 100, an initial processing unit 102, an acquisition unit 104, an operation planning unit 106, and a wheel drive unit 108.
  • Each functional component is realized when the CPU 32 reads out a driving control program stored in the storage device 36, expands it into memory 34, and executes it.
  • the control content of each unit of the driving control device 30 differs in each embodiment, the reference numerals of each unit of the driving control device 30 in the first embodiment are suffixed with A, and the reference numerals of each unit of the driving control device 30 in the second embodiment are suffixed with B to distinguish them from each other.
  • the execution control unit 100 executes the initial processing unit 102, and then repeatedly executes the acquisition unit 104, the motion planning unit 106, and the wheel drive unit 108 as the vehicle 20 travels.
  • the vehicle 20 may also be simply referred to as the vehicle.
  • the vehicle's travel mechanism may be a two-wheel differential mechanism, an automobile mechanism (steering mechanism), or an omnidirectional movement mechanism.
  • the initial processing unit 102 acquires a target route that is set so as not to interfere with obstacles while the vehicle is traveling.
  • the target route is given as a sequence of positions, for example, (Px1, Py1), (Px2, Py2) ... (Pxn, Pyn).
  • the acquisition unit 104 acquires vehicle state information, including the vehicle's position, attitude, translational velocity, and angular velocity, as well as information on the location of obstacles around the vehicle.
  • Information on the vehicle state and obstacles is detected by the sensor 40.
  • the vehicle state is given, for example, by the vehicle's position (x, y) and attitude ⁇ (angle).
  • the translational velocity is given by v and angular velocity ⁇ .
  • Obstacles are given as a series of positions on a map, for example, (Ox1, Oy1), (Ox2, Oy2) ... (Oxn, Oyn).
  • the motion planning unit 106 sets candidate states and determines the translational velocity and angular velocity of the vehicle. Note that the motion planning unit 106 may also determine at least one of the translational velocity and angular velocity.
  • the wheel drive unit 108 drives the vehicle's wheels based on the information determined by the motion planning unit 106.
  • the initial processing unit 102A acquires the target translational speed at each position on the target route, along with the target route described above.
  • the target translational speed may be, for example, a trapezoidal speed curve that accelerates from the start position, maintains a constant speed thereafter, and then decelerates before the finish line, or the maximum speed specified in the vehicle specifications.
  • the processing of the motion planning unit 106A includes (1) setting processing and (2) calculation processing.
  • the calculation processing is a cost calculation processing and a calculation processing of adjusted velocities (adjusted translational velocity and adjusted angular velocity).
  • the motion planning unit 106A performs a process of setting combinations of possible translational velocities and possible angular velocities, each of which is discretely prepared.
  • Figure 4 is an example of a grid representing the candidate states to be set.
  • a near the center is the current translational velocity Vc and current angular velocity ⁇ c, indicating the acquired vehicle speed.
  • a is the maximum value of acceleration
  • is the maximum value of angular acceleration.
  • the motion planning unit 106A calculates the possible translational velocity and possible angular velocity by calculating the range of velocity and angular velocity that the vehicle 20 can assume at the next time (dt hours ahead of the current time) based on the acceleration and angular acceleration, with the vehicle speed at the center.
  • the motion planning unit 106A truncates the range of candidate states at the upper or lower limits.
  • the upper limit of V is Vc + a ⁇ dt or the maximum value of V
  • the lower limit of V is Vc + - a ⁇ dt or the minimum value of V.
  • the upper limit of ⁇ is ⁇ c + ⁇ ⁇ dt or the maximum value of ⁇
  • the lower limit of ⁇ is ⁇ c + - ⁇ ⁇ dt or the minimum value of ⁇ .
  • the motion planning unit 106A divides the range into grids at specific sampling intervals. The center of each grid represents one combination of possible translational velocity v and possible angular velocity ⁇ at each point in Figure 4. Note that the maximum and minimum values of V and ⁇ , and the maximum and minimum acceleration and angular acceleration values are determined, for example, from the specifications of the motor of the vehicle 20.
  • the motion planning unit 106A sets a candidate state, which is a series of vehicle positions within the prediction target time range, for each set combination based on the acquired positions and attitudes. Note that, if necessary for calculating the obstacle term described below, a series of attitudes may be set as this candidate state in addition to a series of positions.
  • the motion planning unit 106A uses the set candidate states to calculate a cost that includes a predetermined error.
  • the errors included in the cost are the error between the vehicle position at the end of the candidate state and the target path, and the error between the possible translational velocity and the target translational velocity corresponding to the acquired position.
  • the motion planning unit 106A determines the combination of adjusted translational velocity and adjusted angular velocity that minimizes the cost, based on the placement information, on the condition that the vehicle and safety area at all positions in the candidate state do not interfere with obstacles.
  • FIG. 5 is a diagram illustrating an example of setting candidate states.
  • the motion planning unit 106A calculates a predicted trajectory from each candidate state after tn time, assuming a constant velocity based on the velocity vector (v, ⁇ ).
  • the velocity vector (v, ⁇ ) is expressed as a vector representing each point of the combination of the possible translational velocity v and the possible angular velocity ⁇ . In this way, the motion planning unit 106A sets candidate states, which are a series of vehicle positions within the prediction target time range.
  • the motion planning unit 106A performs the following first to fifth calculation processes as a cost calculation process.
  • the motion planning unit 106A calculates a following term. A perpendicular line between the end of the predicted trajectory and the path is found and the distance is used as the value of the following term.
  • the following term is a term that indicates whether the vehicle will be in a position close to the path after tn time.
  • the motion planning unit 106A calculates a velocity term.
  • the velocity term is the absolute value of the difference between the possible translational velocity and the target translational velocity. In other words, it is a term that indicates whether the target translational velocity is being achieved.
  • the target translational velocity at this time is the target translational velocity at a position close to the vehicle position acquired by the acquisition unit 104, of the target translational velocities at each position on the target path acquired by the initial processing unit 102.
  • the motion planning unit 106A calculates an obstacle term.
  • the obstacle term is a term that calculates whether there is interference with an obstacle at each time.
  • the motion planning unit 106A calculates the cost based on the first to third calculation processes.
  • the motion planning unit 106A performs the above calculation for all velocity vectors (v, ⁇ ) and outputs the combination with the lowest cost among the calculated combinations as the combination of adjusted translational velocities and adjusted angular velocities that results in the minimum cost.
  • FIG. 6 is a diagram for explaining the calculation of the obstacle term.
  • Figure 7 is a diagram for explaining the calculation of the obstacle term taking the safety area into consideration.
  • R indicates the position of the candidate state at each time
  • S indicates the safety area at each time
  • each circled O indicates the detected point of the obstacle.
  • 6A is the point where there is interference with the obstacle.
  • the first process calculates the position and orientation of the vehicle at each time.
  • the second process determines whether the shape of the vehicle in the candidate state for the position and orientation at each time is interfering with the obstacle. Furthermore, in the second process, when the judgment takes the safety area into consideration, interference is deemed to occur if there is an obstacle point within the safety area and the shape of the vehicle.
  • the third process is to use a large fixed value as the value of the obstacle term if there is interference. Furthermore, if there is no interference, the distance between the vehicle's origin and the obstacle at each time when it is closest, is calculated, and the reciprocal of the calculated distance is used as the value of the obstacle term. For example, a fixed value in the case of interference is used that is larger than the reciprocal value in the case of no interference.
  • a cost function using only the following term and velocity term without using the obstacle term may be calculated such that a velocity vector (v, ⁇ ) that causes the predicted trajectory to interfere with an obstacle is not used as a combination of adjusted translational velocity and adjusted angular velocity.
  • the wheel drive unit 108A drives the vehicle's wheels based on the adjusted translational velocity and adjusted angular velocity determined by the motion planning unit 106A.
  • the execution control unit 100A repeatedly executes the acquisition unit 104A, the motion planning unit 106A, and the wheel drive unit 108A as the vehicle 20 travels.
  • FIG. 8 is a flowchart showing the flow of the driving control process by the driving control device 30A according to the first embodiment.
  • the CPU 32 reads out the driving control program from the storage device 36, loads it into the memory 34, and executes it, causing the CPU 32 to function as each functional component of the driving control device 30, and the driving control process shown in Fig. 8 is executed.
  • the execution control unit 100A instructs the initial processing unit 102A to start up.
  • step S10 the initial processing unit 102A obtains the target path and the target translational velocity at each position on the target path.
  • step S12 the acquisition unit 104A acquires vehicle status information, including the vehicle's position, attitude, translational velocity, and angular velocity, as well as obstacle location information around the vehicle.
  • step S14 the motion planning unit 106A sets candidate states and determines the combination of adjusted translational velocity and adjusted angular velocity that minimizes the cost.
  • step S16 the wheel drive unit 108A drives the vehicle wheels based on the adjusted translational velocity and adjusted angular velocity determined by the motion planning unit 106A.
  • step S18 the execution control unit 100A determines whether the termination condition is met. If the termination condition is met, the processing ends; if the termination condition is not met, the processing returns to step S12 and is repeated.
  • the termination condition may be set as appropriate, such as when the vehicle has finished traveling, when the vehicle has reached a target point on the target route, or when an instruction to stop the vehicle has been received from the control device 10.
  • Figure 9 is a flowchart showing the flow of the motion planning process according to the first embodiment.
  • step S30 the motion planning unit 106A sets multiple discrete combinations of possible translational velocities and possible angular velocities.
  • step S32 the motion planning unit 106A sets, for each set combination, a candidate state, which is a sequence of vehicle positions within the target prediction time range, based on the acquired position and orientation.
  • step S34 the motion planning unit 106A calculates the cost by calculating the following term, velocity term, and obstacle term for each set combination using the cost function of equation (1) above.
  • step S36 the combination of adjusted translational velocity and adjusted angular velocity that minimizes the cost is output.
  • the driving control device of this embodiment sets a longer detection distance as the driving speed increases, and decelerates when an obstacle is detected within that detection distance, allowing the vehicle to travel with a reduced frequency of sudden deceleration due to an obstacle entering the detection distance.
  • the processing of the motion planning unit 106B includes (1) processing for acquiring a target position series, (2) processing for calculating a candidate state, and (3) processing for calculating an adjustment speed.
  • the motion planning unit 106B acquires a target position series, which is a series of positions generated based on a target path.
  • the target position series is represented by xref and yref .
  • the target orientation is represented by ⁇ ref .
  • the motion planning unit 106B sets a command sequence based on the acquired vehicle state, and determines candidate states, which are a sequence of candidate vehicle positions, based on the command sequence.
  • the command sequence is a sequence of candidate translational velocities and candidate angular velocities over the target prediction time range.
  • the series of candidate translational velocities and candidate angular velocities are calculated, for example, as follows:
  • the candidate translational velocity v is calculated using an equation such as current translational velocity + acceleration ⁇ dt (predicted times t1, t2, tn).
  • the candidate angular velocity ⁇ is calculated using an equation such as ⁇ ref (k+i) - ⁇ ref (k+i-1)/dt.
  • the motion planning unit 106B calculates the adjusted translational speed and adjusted angular speed based on the command sequence that minimizes a predetermined evaluation value.
  • the evaluation value is determined based on the placement information, with the condition that the vehicle and safety area at all positions in the candidate state do not interfere with obstacles.
  • the evaluation value also includes the amount of error between the target position sequence and the candidate state over the prediction target time range. Note that at least the position must be the subject of the error amount, and the attitude may also be the subject of the error amount.
  • the traveling direction and attitude can be uniquely determined from the position and vehicle kinematics.
  • the objective function is expressed by the following equation (2). ... (2)
  • the first term is a term for the error between the end point of the target position series and the end point of the candidate state
  • the second term is a term for the error between the midpoint of the target position series and the midpoint of the candidate state
  • the third term is a term for the error between the target command series and the set command series.Furthermore, the deviations from the target position and attitude in equation (2-1) below are expressed as e x (k+i), and the deviations from the target control input in equation (2-1) are expressed as e u (k+i-1). ... (2-1) ... (2-2)
  • Np is the prediction horizon
  • Nc is the control horizon
  • Nc ⁇ Np P ⁇ R 3 ⁇ 3 , Q ⁇ R 3 ⁇ 3 , and R ⁇ R 3 ⁇ 3 .
  • the constraints are expressed by the following equations (3-1) to (3-4). ... (3-1) ... (3-2) ... (3-3) ... (3-4)
  • the constraint (3-1) is a kinematic constraint of the robot, such as the inability of the differential two-wheel mechanism to move laterally.
  • the constraint (3-2) is a constraint on translational velocity and angular velocity.
  • the constraint (3-3) is a constraint on translational acceleration and angular acceleration.
  • the constraint (3-4) is a constraint to avoid interference with obstacles. Note that in equation (2), the third term of the command series may not be used, and only the first and second terms may be used.
  • ⁇ (k+i) - ⁇ ref (k+i) may not be used, and only x(k+i) - x ref (k+i) and y(k+i) - y ref (k+i) may be used.
  • Figure 10 shows an example of how the shape of a vehicle can be represented by a circle.
  • a circumscribing circle as in 10A, has the advantage of reducing the calculation load.
  • 11 is an image diagram of candidate states based on the objective function and constraints.
  • the acquired vehicle position is indicated by x, y, and the target route is indicated by positions xr , yr, representing the locus of the reference path.
  • Figure 12 is an illustration of obstacle detection.
  • a circumscribing circle is set for the shape of the vehicle in the candidate state.
  • the distance between the circumscribing circle for each position in the candidate state and the obstacle is calculated, and the variables are updated so that this distance is equal to or greater than the radius of the circumscribing circle.
  • the constraints are calculated to prevent interference with obstacles, and are reflected in the calculation of the objective function.
  • FIG. 13 is an image diagram of obstacle determination taking into account the safety area. Multiple circles are set for the safety area of the candidate state and the shape of the vehicle. In the constraint calculation of equation (3-4), the distance to all obstacles is calculated for the multiple circles at each position of the candidate state, and the variables are updated so that the calculated distance is equal to or greater than the radius of each of the multiple circles. For example, if an obstacle constraint is set using multiple circles, then (3-4) The number of inequality constraints in the equation increases by the number of circles.
  • the wheel drive unit 108B drives the vehicle's wheels based on the adjusted translational velocity and adjusted angular velocity determined by the motion planning unit 106B.
  • the execution control unit 100B repeatedly executes the acquisition unit 104B, the motion planning unit 106B, and the wheel drive unit 108B as the vehicle 20 travels.
  • FIG. 14 is a flowchart showing the flow of the driving control process by the driving control device 30B according to the second embodiment.
  • the CPU 32 reads out the driving control program from the storage device 36, loads it into the memory 34, and executes it, causing the CPU 32 to function as each functional component of the driving control device 30, and the driving control process shown in Fig. 14 is executed.
  • the execution control unit 100B instructs the initial processing unit 102B to start up.
  • step S110 the initial processing unit 102B obtains the target route.
  • step S112 the acquisition unit 104B acquires information about the vehicle state, including the vehicle's position, attitude, translational velocity, and angular velocity, as well as information about the location of obstacles around the vehicle.
  • step S114 the motion planning unit 106B calculates the adjusted translational velocity and adjusted angular velocity based on the command sequence that minimizes the evaluation value.
  • step S116 the wheel drive unit 108B drives the vehicle wheels based on the adjusted translational velocity and adjusted angular velocity determined by the motion planning unit 106B.
  • step S118 the execution control unit 100B determines whether the termination condition is met. If the termination condition is met, the processing ends; if the termination condition is not met, the processing returns to step S112 and is repeated.
  • the termination condition may be set as appropriate, such as when the vehicle has finished traveling, when the vehicle has reached a target point on the target route, or when an instruction to stop the vehicle has been received from the control device 10.
  • Figure 15 is a flowchart showing the flow of the motion planning process according to the second embodiment.
  • step S130 the motion planning unit 106B acquires a target position series, which is a series of positions generated based on the target route.
  • step S132 the operation planning unit 106B sets a command sequence based on the acquired vehicle state, and determines candidate states, which are sequences of candidate vehicle positions, based on the command sequence.
  • step S134 the motion planning unit 106B uses the objective function of equation (2) above and the constraints of equations (3-1) to (3-4) to determine the adjusted translational velocity and adjusted angular velocity based on the command sequence that minimizes the evaluation value.
  • the driving control device of this embodiment sets a longer detection distance as the driving speed increases, and decelerates when an obstacle is detected within that detection distance, allowing the vehicle to travel with a reduced frequency of sudden deceleration due to an obstacle entering the detection distance.
  • FIGS 16 and 17 are diagrams for explaining a method for representing a vehicle shape with multiple circles.
  • Multiple circles are set according to steps (A1) to (A5).
  • step (A1) a square is calculated whose side length is the same as the shorter side when the vehicle shape is approximated as a rectangle.
  • step (A2) the number of squares that can fill the vehicle shape is calculated. For example, squares are added starting from the left edge, and the number of squares is calculated until the total length exceeds the vehicle shape. This number of squares becomes the number of multiple circles.
  • step (A3) squares that extend beyond the vehicle shape are deleted, and new squares are added starting from the right edge. This is to reduce excess space when the vehicle shape is covered with squares.
  • step (A4) the distance between the squares at both ends is calculated and divided by the number of squares other than those at both ends plus one. Based on this value, the positions of the squares are adjusted so that they are evenly spaced.
  • step (A5) the outline circle of each square is calculated. As described above, a circumscribing circle is set for each of the multiple squares arranged along the length of the vehicle shape. When controlling the attitude based on multiple circles, the center coordinates of each circumscribing circle are rotated according to the attitude of the vehicle.
  • Modification 1 In Modification 1, an embodiment will be described in which only the translational velocity v is controlled in the first embodiment, and the angular velocity ⁇ is calculated and set from the translational velocity v and the target path.
  • the motion planning unit 106A (1) performs a process of setting multiple discretely prepared possible translational velocities, and (2) performs a process of setting candidate states.
  • the possible translational velocities are constant values throughout the prediction target time range.
  • the candidate state is a series of vehicle positions on the target route within the prediction target time range based on the acquired position and target route for each possible translational speed.
  • the motion planning unit 106A (3) performs a process of calculating an adjusted translational speed.
  • the adjusted translational speed is calculated based on the placement information so that the difference between the possible translational speed and the target translational speed corresponding to the acquired position is minimized, provided that the vehicle and safety area at all positions in the candidate state do not interfere with obstacles.
  • the motion planning unit 106A (4) performs a process of calculating an adjusted angular velocity based on the adjusted translational speed and the target route.
  • Figure 18 is a diagram illustrating how candidate states are set in a modified example.
  • the vehicle's position and attitude (x, y, ⁇ ) are determined using self-position estimation.
  • the range of possible translational velocities that vehicle 20 can assume at the next time (dt time ahead of the current time) is calculated based on acceleration, with the vehicle speed at the center. Within that range, the possible translational velocities are divided at specific sampling intervals. For each divided possible translational velocity, a predicted trajectory for tn time along the target route is calculated, assuming a constant velocity.
  • the cost of the DWA cost function is calculated, and v (adjusted translational velocity) with the lowest cost is determined, taking into account the safety area.
  • the angular velocity ⁇ (adjusted angular velocity) is determined so that the vehicle will be positioned on the target route when traveling for dt time at the calculated adjusted translational velocity.
  • the processing flow of Modification 1 can be executed by replacing the flowchart of Figure 9 of the first embodiment.
  • the motion planning unit 106A sets several discretely prepared possible translational velocities.
  • the motion planning unit 106A sets, for each possible translational velocity, a candidate state, which is a series of vehicle positions on the target route within the prediction target time range, based on the acquired position and target route.
  • the motion planning unit 106A calculates the cost using the cost function of equation (1) above, and determines an adjusted translational velocity that minimizes the difference from a predetermined target translational velocity.
  • the motion planning unit 106A determines an adjusted angular velocity based on the adjusted translational velocity and the target route, and outputs the combination.
  • Figure 19 is an illustration of how v and ⁇ are calculated using DWA.
  • v and ⁇ are selected to minimize the error between the intersection PA with the target route, which is a certain distance from the vehicle, and the end of the predicted trajectory.
  • the certain distance may be assumed to be a rectangle as shown in Figure 19, or a circle.
  • the position of the intersection PA should be set to a position much farther away than the position that can be reached after tn seconds.
  • the vehicle will then travel toward that distant position, allowing it to smoothly return to the target route if it deviates from the target route due to slipping or other reasons. In this case, there is no need to use the velocity term in equation (1).
  • the translational speed v in this case is selected to be the maximum possible translational speed v within the range that does not interfere with the safety zone.
  • Figure 20 is an illustration of how v and ⁇ are calculated using MPC.
  • the objective function in equation (2) above which selects v ⁇ to minimize the error between the intersection with the target path at a fixed distance from the vehicle and the end of the prediction horizon, uses only the first term; the second and third terms are not required. This is because the position and orientation of points along the trajectory can be uniquely determined due to kinematic inequality constraints.
  • Figure 21 shows an example experiment in which the method of this embodiment was applied to a vehicle whose shape was represented by multiple circles.
  • the vehicle's shape was represented by multiple circles and set as an obstacle constraint, and it was confirmed that the vehicle could pass through a passage containing an obstacle.
  • processors may also be performed by various processors other than the CPU.
  • processors in this case include PLDs (Programmable Logic Devices) such as FPGAs (Field-Programmable Gate Arrays), whose circuit configuration can be changed after manufacture, and dedicated electrical circuits, such as ASICs (Application Specific Integrated Circuits), which are processors with circuit configurations designed specifically to perform specific processing.
  • information processing may be performed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, or a combination of a CPU and an FPGA).
  • the hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor devices.
  • the information processing program is pre-stored (installed) in ROM or storage, this is not limited to this.
  • the program may also be provided in a form recorded on a non-transitory recording medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory.
  • the program may also be downloaded from an external device via a network.
  • the initial processing unit (102) further acquires or sets a target translational velocity at each position on the target path; the motion planning unit (106) performs the following processes: setting a plurality of combinations of possible translational velocities and possible angular velocities, each of which is prepared discretely and has a constant value over a prediction target time range; setting, for each combination, a candidate state that is a series of positions of the vehicle within the prediction target time range based on the position and attitude acquired by the acquisition unit; calculating a cost including an error between the position of the vehicle at an end of the candidate state and the target route, and an error between the possible translational velocities and the target translational velocities corresponding to the positions acquired by the acquisition unit; and determining, based on the placement information, a combination of adjusted translational velocities and adjusted angular velocities that minimizes the cost on the condition that the vehicle and the safety area do not interfere with the obstacle at all positions in the candidate state.
  • a wheel drive unit (108) that drives wheels of the vehicle based on the adjusted translational velocity and the adjusted angular velocity
  • an execution control unit (100) that executes the initial processing unit, and then repeatedly executes the acquisition unit, the operation planning unit, and the wheel driving unit as the vehicle travels.
  • the initial processing unit (102) further acquires or sets a target translational velocity at each position on the target path; the operation planning unit (106) performs a process of setting a plurality of discretely prepared possible translational velocities that are constant over a prediction target time range; a process of setting, for each possible translational speed, a candidate state that is a series of positions of the vehicle on the target route within the prediction target time range based on the position acquired by the acquisition unit and the target route; a process of calculating an adjusted translational speed that minimizes a difference between the possible translational speeds and a target translational speed corresponding to the position acquired by the acquisition unit, on the condition that the vehicle and the safety area do not interfere with the obstacle at all positions in the candidate state, based on the placement information; and a process of calculating an adjusted angular speed based on the adjusted translational speed and the target route, a wheel drive unit (108) that drives wheels of the vehicle based on the adjusted translational velocity and the adjusted angular velocity; and an execution control
  • the operation planning unit (106) performs a process of acquiring a target position series, which is a series of positions generated based on the target route; a process of setting a command series, which is a series of candidate translational velocities and candidate angular velocities, over a prediction target time range based on the acquired vehicle state, and determining a candidate state, which is a series of candidate positions of the vehicle, based on the command series; and a process of determining an adjusted translational velocities and adjusted angular velocities based on the command series that minimizes an evaluation value including an error amount between the target position series and the candidate state over the prediction target time range, on the condition that the vehicle and the safety area do not interfere with the obstacle at all positions in the candidate state, based on the placement information; a wheel drive unit (108) that drives wheels of the vehicle based on the adjusted translational velocity and the adjusted angular velocity; and an execution control unit (100) that executes the initial processing unit, and then repeatedly executes the
  • a vehicle travel control method in which a safety region is set having a length that increases as the translational speed of the vehicle increases from a front end of the vehicle forward and a width that is approximately the same as the width of the vehicle, acquiring a target route set so that the vehicle body does not interfere with obstacles while traveling; Acquire vehicle status information including the position, attitude, translational velocity, and angular velocity of the vehicle, as well as location information of the obstacles around the vehicle; setting candidate states for at least a portion of the future vehicle states based on the target route, and determining at least one of a translational velocity and an angular velocity of the vehicle based on the candidate states so that the obstacle does not enter the safety area; A driving control method in which processing is performed by a computer.
  • an initial processing unit (102) for acquiring a target route set so that the vehicle body does not interfere with obstacles while traveling an acquisition unit (104) that acquires vehicle states including a position, an attitude, a translational velocity, and an angular velocity of the vehicle, as well as information on the location of the obstacles around the vehicle; and an operation planning unit (106) that sets candidate states for at least a part of the future vehicle states based on the target route, and determines at least one of the translational velocity and the angular velocity of the vehicle based on the candidate states so that the obstacles do not enter the safety area.
  • a driving control program that functions as a
  • Travel control device 100 Execution control unit 102 Initial processing unit 104 Acquisition unit 106 Motion planning unit 108 Wheel driving unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

Un dispositif de commande de déplacement (30) est destiné à un véhicule pour lequel est définie une zone de sécurité dont la longueur part de l'extrémité avant du véhicule (20) et s'étend vers l'avant et qui augmente à mesure que la vitesse de translation du véhicule augmente, et dont la largeur est similaire à la largeur du véhicule. Le dispositif de commande de déplacement 30 comprend : une unité de traitement initial 102 qui acquiert un itinéraire cible prévu pour que la carrosserie de véhicule ne rencontre pas d'obstacle pendant le déplacement du véhicule ; une unité d'acquisition 104 qui acquiert l'état du véhicule, y compris la position, l'attitude, la vitesse de translation et la vitesse angulaire du véhicule, et des informations d'agencement d'obstacles autour du véhicule ; et une unité de planification d'opération 106 qui règle, sur la base de l'itinéraire cible, un état candidat pour au moins une partie de l'état de véhicule dans le futur, et détermine, sur la base de l'état candidat, la vitesse de translation et/ou la vitesse angulaire du véhicule de façon à éviter qu'un obstacle ne pénètre dans la zone de sécurité.
PCT/JP2025/009183 2024-03-15 2025-03-11 Dispositif de commande de déplacement, procédé de commande de déplacement et programme de commande de déplacement Pending WO2025192613A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2024-041739 2024-03-15
JP2024041739A JP2025141689A (ja) 2024-03-15 2024-03-15 走行制御装置、走行制御方法、及び走行制御プログラム

Publications (1)

Publication Number Publication Date
WO2025192613A1 true WO2025192613A1 (fr) 2025-09-18

Family

ID=97063989

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2025/009183 Pending WO2025192613A1 (fr) 2024-03-15 2025-03-11 Dispositif de commande de déplacement, procédé de commande de déplacement et programme de commande de déplacement

Country Status (2)

Country Link
JP (1) JP2025141689A (fr)
WO (1) WO2025192613A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012164691A1 (fr) * 2011-05-31 2012-12-06 株式会社日立製作所 Système de déplacement autonome
JP2020534621A (ja) * 2017-09-22 2020-11-26 ローカス ロボティクス コーポレイション 最適相互衝突回避のコスト−クリティックを用いたダイナミック・ウィンドウ・アプローチ
WO2023037539A1 (fr) * 2021-09-13 2023-03-16 日本電気株式会社 Système de commande, dispositif de traitement d'informations, procédé de commande et procédé de production de valeur de commande

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012164691A1 (fr) * 2011-05-31 2012-12-06 株式会社日立製作所 Système de déplacement autonome
JP2020534621A (ja) * 2017-09-22 2020-11-26 ローカス ロボティクス コーポレイション 最適相互衝突回避のコスト−クリティックを用いたダイナミック・ウィンドウ・アプローチ
WO2023037539A1 (fr) * 2021-09-13 2023-03-16 日本電気株式会社 Système de commande, dispositif de traitement d'informations, procédé de commande et procédé de production de valeur de commande

Also Published As

Publication number Publication date
JP2025141689A (ja) 2025-09-29

Similar Documents

Publication Publication Date Title
CN113386795B (zh) 一种自动驾驶车辆智能决策及局部轨迹规划方法及其决策系统
US12474712B2 (en) Unobtrusive driving assistance method and system for a vehicle to avoid hazards
CN109557925B (zh) 自动驾驶车辆障碍物避让方法及装置
US10488863B2 (en) Autonomous vehicle post-fault operation
CN113165648A (zh) 用于基于采样对机动车辆的可能轨迹进行规划的控制系统和控制方法
US11106212B2 (en) Path planning for complex scenes with self-adjusting path length for autonomous driving vehicles
US20200209869A1 (en) Information processing device, autonomous mobile device, method, and program
WO2019061616A1 (fr) Commande de mouvement basée sur l'impédance pour véhicules autonomes
US11167754B2 (en) Systems and methods for trajectory based safekeeping of vehicles
US20230063845A1 (en) Systems and methods for monocular based object detection
US12296845B2 (en) Vehicle path adjustment with control barrier function
KR20200084938A (ko) 차량 동작 계획방법 및 그를 위한 장치
Kim et al. Vehicle path prediction using yaw acceleration for adaptive cruise control
US20230053243A1 (en) Hybrid Performance Critic for Planning Module's Parameter Tuning in Autonomous Driving Vehicles
US20230415736A1 (en) Systems and methods for controlling longitudinal acceleration based on lateral objects
CN116135639A (zh) 车辆路径调整
WO2025192613A1 (fr) Dispositif de commande de déplacement, procédé de commande de déplacement et programme de commande de déplacement
CN119105506A (zh) 一种多无人自主机器人狭窄通道轨迹规划方法
CN117289692A (zh) 用于确定针对移动设备的轨迹的方法
CN117733835A (zh) 动态边界框
RU2825211C1 (ru) Способ траекторного управления движением мобильного сервисного робота
JP2023154648A (ja) 経路計画装置及び搬送車両システム
Thanh An effective trajectory determination for collision avoidance of unmanned vehicles
Kimura et al. Real-time model predictive obstacle avoidance control for vehicles with reduced computational effort using constraints of prohibited region
Liu et al. A dynamic estimation-based obstacle avoidance system for AV adapting to various moving directions obstacle

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: 25769420

Country of ref document: EP

Kind code of ref document: A1