WO2022209208A1 - 情報処理装置、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
WO2022209208A1
WO2022209208A1 PCT/JP2022/002358 JP2022002358W WO2022209208A1 WO 2022209208 A1 WO2022209208 A1 WO 2022209208A1 JP 2022002358 W JP2022002358 W JP 2022002358W WO 2022209208 A1 WO2022209208 A1 WO 2022209208A1
Authority
WO
WIPO (PCT)
Prior art keywords
subgoal
pattern
subgoals
route
information processing
Prior art date
Application number
PCT/JP2022/002358
Other languages
English (en)
French (fr)
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 ソニーグループ株式会社
Publication of WO2022209208A1 publication Critical patent/WO2022209208A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/10Path keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • 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/02Control of position or course in two dimensions
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles

Definitions

  • the present disclosure relates to an information processing device, an information processing method, and a program. More specifically, the present invention relates to an information processing device, an information processing method, and a program that enable a moving body such as an automatic traveling robot or an automatic traveling vehicle to travel safely.
  • Mobile objects such as self-driving robots and self-driving vehicles are required to travel safely by avoiding collisions with other robots, vehicles, pedestrians, etc.
  • Patent Document 1 Patent No. 5589762
  • Patent Document 2 Japanese Patent Application Laid-Open No. 2020-004342
  • Patent Document 1 discloses a configuration in which, when a moving body travels through a passage, the travel route of the moving body is determined while adjusting the distance between the side surface of the moving body and the wall surface of the passage. Specifically, the travel route is determined based on the amount of shift from the wall surface of the mobile object calculated at a position where the distance between the side surface of the mobile object and the passage wall surface is small, thereby determining a travel route that does not cause unnecessary meandering. It is.
  • Patent Document 2 when a moving body passes through a narrow passage, a plurality of nodes through which the moving body can pass are set, and an edge, which is a line segment connecting the nodes, is generated and passed through the edge.
  • a configuration for generating a travel route of a moving object is disclosed.
  • An object of the present disclosure is to provide an information processing device, an information processing method, and a program that allow a moving object to travel a safe route that is close to a travel route preset by a user and that does not collide with obstacles.
  • an information processing device and an information processing apparatus for realizing safe travel of a mobile body by configuring the mobile body to travel along the determined route while successively determining the travel route while the mobile body is traveling.
  • a method as well as a program are provided.
  • a first aspect of the present disclosure includes: a subgoal generating unit that generates a subgoal pattern consisting of a plurality of subgoals in the moving direction of the moving object; a subgoal safety verification unit that verifies whether or not the moving object can safely travel without colliding with or contacting an obstacle for each of the subgoals that constitute the subgoal pattern generated by the subgoal generation unit; , The subgoal generation unit generating a first subgoal pattern and a second subgoal pattern having different subgoal arrangement patterns; The subgoal safety verification unit, Perform safety verification for each subgoal included in the first subgoal pattern, The information processing device performs safety verification for each of the subgoals included in the second subgoal pattern when no subgoal enabling safe driving is detected from the first subgoal pattern.
  • a second aspect of the present disclosure is An information processing method executed in an information processing device,
  • the subgoal generation unit a subgoal generating step of generating a subgoal pattern consisting of a plurality of subgoals in the moving direction of the moving body;
  • the subgoal safety verification department For each subgoal constituting the subgoal pattern generated by the subgoal generating unit, a subgoal safety verification step of verifying whether or not the moving object can safely travel without colliding with or contacting an obstacle is executed.
  • the subgoal generating step includes: A step of generating a first subgoal pattern and a second subgoal pattern having different subgoal arrangement patterns
  • the subgoal safety verification step includes: Perform safety verification for each subgoal included in the first subgoal pattern
  • the information processing method includes the step of executing safety verification for each of the subgoals included in the second subgoal pattern when no subgoal enabling safe driving is detected from the first subgoal pattern.
  • a third aspect of the present disclosure is A program for executing information processing in an information processing device,
  • a subgoal generator a subgoal generating step of generating a subgoal pattern consisting of a plurality of subgoals in the moving direction of the moving body;
  • a subgoal safety verification department For each subgoal constituting the subgoal pattern generated by the subgoal generating unit, a subgoal safety verification step of verifying whether or not the moving object can safely travel without colliding with or contacting an obstacle is executed.
  • the subgoal generation step generating a first subgoal pattern and a second subgoal pattern having different subgoal arrangement patterns;
  • the subgoal security verification step perform safety verification for each subgoal included in the first subgoal pattern;
  • safety verification is executed for each subgoal included in the second subgoal pattern when no subgoal enabling safe driving is detected from the first subgoal pattern.
  • the program of the present disclosure can be provided, for example, in a computer-readable format to an information processing device, an image processing device, or a computer system capable of executing various program codes via a storage medium or a communication medium. It's a program. By providing such a program in a computer-readable format, processing according to the program is realized on the information processing device or computer system.
  • a system is a logical collective configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same housing.
  • a subgoal generation unit that generates a subgoal pattern consisting of a plurality of subgoals in the moving direction of the moving object, and safety verification for each subgoal that constitutes the subgoal pattern to determine whether or not the moving object can travel safely.
  • has a subgoal safety verification unit that performs The subgoal generator generates a coarse subgoal pattern with wide subgoal intervals and a dense subgoal pattern with narrow subgoal intervals.
  • the subgoal safety verification unit performs safety verification on the subgoals of the coarse subgoal pattern, and if no subgoals that allow safe driving are detected, executes safety verification on each of the subgoals of the dense subgoal pattern.
  • FIG. 10 is a diagram illustrating an example of traveling of a moving object following a route set by a user;
  • FIG. 10 is a diagram illustrating an example of traveling of a moving object following a route set by a user;
  • FIG. 10 is a diagram illustrating an example of traveling of a moving object following a route set by a user;
  • FIG. 10 is a diagram illustrating an example of traveling of a moving object following a route set by a user; It is a figure explaining the driving control process using a subgoal.
  • FIG. 10 is a diagram illustrating an example of travel control of a mobile body when a new obstacle that did not exist when a user-set route was set appeared in front of the mobile body;
  • FIG. 10 is a diagram illustrating an example of travel control of a mobile body when a new obstacle that did not exist when a user-set route was set appeared in front of the mobile body;
  • FIG. 10 is a diagram illustrating an example of travel control of a mobile body when a new
  • FIG. 11 is a diagram illustrating an example of processing for generating a new travel route that passes through the subgoal SG2;
  • FIG. 10 is a diagram showing a flowchart for explaining a control sequence when a driving route is determined by safety determination processing using a subgoal and safe driving is performed;
  • FIG. 11 is a diagram illustrating an example in which the probability of being determined to be unable to travel increases when the number of subgoals is reduced;
  • FIG. 11 is a diagram illustrating an example in which the probability of being determined to be unable to travel increases when the number of subgoals is reduced;
  • FIG. 4 is a diagram illustrating an example of a plurality of subgoal patterns set by the mobile object of the present disclosure;
  • FIG. 10 is a diagram for explaining a specific example of a drawback of rough subgoal patterns, namely, "possibility of being able to detect a safe driving route is reduced";
  • FIG. 4 is a diagram showing a flowchart describing a processing sequence executed by the information processing apparatus of the present disclosure;
  • FIG. 4 is a diagram showing a flowchart describing a processing sequence executed by the information processing apparatus of the present disclosure;
  • FIG. 4 is a diagram illustrating specific examples of various subgoal patterns;
  • FIG. 4 is a diagram illustrating specific examples of various subgoal patterns;
  • FIG. 4 is a diagram illustrating specific examples of various subgoal patterns;
  • FIG. 4 is a diagram illustrating specific examples of various subgoal patterns;
  • FIG. 4 is a diagram illustrating specific examples of various subgoal patterns;
  • FIG. 4 is a diagram illustrating specific examples of various subgoal patterns;
  • FIG. 4 is a diagram illustrating specific examples of various subgoal patterns;
  • FIG. 4 is a diagram illustrating specific examples of various subgoal patterns;
  • FIG. 4 is a diagram illustrating specific examples of various subgoal patterns;
  • FIG. 4 is a diagram illustrating specific examples of various subgoal patterns;
  • FIG. 10 is a diagram illustrating a specific example of setting a subgoal using a user terminal that can communicate with a mobile object;
  • FIG. 10 is a diagram illustrating a specific example of setting a subgoal using a user terminal that can communicate with a mobile object;
  • FIG. 10 is a diagram illustrating a specific example of setting a subgoal using a user terminal that can communicate with a mobile object;
  • FIG. 10 is a diagram illustrating a specific example of setting a subgoal using a user terminal that can communicate with a mobile object;
  • FIG. 10 is a diagram illustrating a specific example of setting a subgoal using a user terminal that can communicate with a mobile object;
  • FIG. 10 is a diagram illustrating a specific example of
  • FIG. 10 is a diagram illustrating a specific example of setting a subgoal using a user terminal that can communicate with a mobile object; It is a figure explaining the example of composition of the information processor of this indication. It is a figure explaining the example of composition of the information processing system of this indication. It is a figure explaining the hardware structural example of the information processing apparatus of this indication.
  • FIG. 1 is a diagram showing a running example of a mobile object (robot) 10.
  • the user-set route 30 is a so-called global path, and is a travel route determined by a user such as an operator after confirming the travel environment of the mobile object 10 and selecting a route that does not collide with or come into contact with obstacles 20 such as walls. is.
  • this user-defined route 30 is a route generated in consideration of the distance between the moving object 10 and the obstacle 20 so that the moving object 10 can travel a predetermined distance away from the obstacle, basically: The moving body 10 can travel safely by following the route 30 set by the user.
  • new obstacles may be placed on that route. For example, as shown in FIG. 2 , if a new obstacle 21 is placed, the mobile body 10 will collide with the obstacle 21 even if it travels along the user-set route 30 .
  • the user-set route 30 may be set so that the moving object 10 cannot travel a predetermined distance away from obstacles. In this case, as shown in FIG. 3, even if the moving body 10 travels along the route 30 set by the user, it will collide with or come into contact with an obstacle 20 such as a wall.
  • the traveling path of the moving object 10 is an environment where other moving objects and people come and go, the moving object 10 does not collide with other moving objects or people even if it travels along the user-set route 30 . there's a possibility that.
  • the traveling direction of the moving body 10 must be checked while the moving body 10 is running. Therefore, it is necessary to select and travel a safe travel route one by one.
  • FIG. 5 shows a mobile object (robot) 10 that is traveling along a preset user-defined route 30 .
  • the moving body 10 runs while detecting the positions of obstacles in front thereof using a sensor such as a camera or LiDAR (Light Detection and Ranging).
  • a sensor such as a camera or LiDAR (Light Detection and Ranging).
  • the vehicle travels along a preset user-set route 30, but if it is determined that it is not possible to travel along the user-set route 30 based on sensor acquisition information, the travel route is changed to a new travel route. set and run.
  • the moving object 10 changes its travel route when it determines that it cannot travel according to the user-set route 30 . That is, when it is determined that there is a risk of collision or contact with an obstacle when traveling along the user-set route 30 .
  • the moving body 10 sets a new route that allows safe travel, and travels along the new route.
  • the new route to be set is set at a position as close to the user-set route 30 as possible.
  • FIG. 5 shows an example in which five subgoals (SG1 to SG5) are set at fixed distances ahead of the moving body 10 in the traveling direction.
  • the moving body 10 individually analyzes whether or not each route passing through these five subgoals (SG1 to SG5) is a route that does not collide with or come into contact with obstacles.
  • the grid shown in FIG. 5 indicates a grid set in an occupancy grid map (grid map), which is a map generated by the moving body 10 .
  • the occupancy grid map (grid map) is a map in which probability values of obstacles existing in each section (grid) defined by the grid are set.
  • the moving object 10 selects a section (grid) with a low probability that an obstacle exists among the sections of the occupancy grid map (grid map) as a traveling route and travels safely without colliding with the obstacle. be able to.
  • the mobile body 10 When running control using subgoals is performed, the mobile body 10 sets a plurality of subgoals ahead in the running direction of the mobile body, evaluates safety for each of the set subgoals, and determines a running route. For example, for each route passing five subgoals (SG1 to SG5) as shown in FIG. 5, it is individually analyzed whether or not the route does not collide with or come into contact with obstacles.
  • the moving body 10 first analyzes whether or not the subgoal SG1 closest to the preset user-defined route 30 is a route that does not collide with or come into contact with obstacles.
  • the moving object 10 uses a sensor such as a camera or LiDAR (Light Detection and Ranging) to detect the positions of obstacles in front of it. Regarding the position subgoal SG1, it is analyzed whether or not the moving body 10 will collide with or come into contact with obstacles when traveling along a route in which the center of the moving body 10 passes through the subgoal position.
  • a sensor such as a camera or LiDAR (Light Detection and Ranging) to detect the positions of obstacles in front of it.
  • LiDAR Light Detection and Ranging
  • the route passing through the subgoal SG1 is determined to be a safe driving route that does not collide with or come into contact with obstacles, the route passing through the subgoal SG1 is determined as the driving route and the vehicle travels. In this case, safety determination processing is not performed for other subgoals (SG2 to SG5).
  • the moving object 10 next determines the safety of the route passing through subgoal SG2 that is closer to user-set route 30. judge. If the route passing through the subgoal SG2 is determined to be a safe travel route that does not collide with or come into contact with obstacles, a new travel route passing through the subgoal SG2 is generated, and the moving object 10 travels along the generated new travel route. do. In this case, the traveling route of the mobile body 10 is a traveling route that deviates from the user-set route 30 .
  • the moving object 10 next determines the safety of the route passing through subgoal SG3, which is closer to user-set route 30. judge.
  • the moving body 10 individually checks whether or not the route does not collide with or come into contact with obstacles in order of proximity to the user-set route 30. Run an assessment. If a route is detected that includes subgoals that do not collide with or touch obstacles, safety evaluation for other subgoals can be omitted.
  • the distance between the moving body 10 shown in FIG. 5 and the five subgoals (SG1 to SG5) shown in FIG. is set to
  • a travel route passing through the subgoal is determined, and when the mobile body starts traveling according to the travel route, The body 10 sets a new sub-goal sequence, that is, a sub-call sequence composed of five sub-goals (SG1 to SG5), at a position further ahead of the safety-verified sub-call sequence.
  • the mobile body 10 sets a plurality of subgoals at positions spaced apart by a certain distance in the traveling direction of the mobile body 10, evaluates the safety of the route passing through each subgoal, and passes through the safe subgoals. Run while selecting a route.
  • FIG. 6 is a diagram illustrating an example of travel control of the mobile object 10 when a new obstacle 20a that did not exist when the user-set route 30 was set appears in front of the mobile object 10.
  • FIG. 6 is a diagram illustrating an example of travel control of the mobile object 10 when a new obstacle 20a that did not exist when the user-set route 30 was set appears in front of the mobile object 10.
  • the moving body 10 first analyzes whether or not the subgoal SG1 closest to the preset user-defined route 30 is a route that does not collide with or come into contact with obstacles.
  • the moving object 10 uses a sensor such as a camera or LiDAR (Light Detection and Ranging) to detect the positions of obstacles in front of it. For the position subgoal SG1, it is analyzed whether or not it is a route that does not collide with or come in contact with obstacles.
  • the route passing through the subgoal SG1 is determined to be a dangerous driving route that collides with the new obstacle 20a.
  • the mobile object 10 determines the safety of the route passing through the subgoal SG2 closest to the user-defined route 30 next.
  • the route passing through the subgoal SG2 is determined to be a safe travel route that does not collide with or contact the new obstacle 20a or the side wall.
  • the subgoal (SG2) estimated passage position of the moving object 10 is indicated by a dotted line.
  • the subgoal SG2 passing route of the moving body 10 is a safe running route that does not collide with or contact the new obstacle 20a or the side wall. be. According to this determination, the moving body 10 generates a new travel route passing through this subgoal SG2.
  • a new travel route 31 passing through the subgoal SG2 is generated.
  • the moving body 10 travels along the generated new travel route 31 .
  • the traveling route of the moving body 10 deviates from the user-set route 30, but it is possible to travel safely without colliding with obstacles.
  • the mobile body 10 executes safety judgments for a plurality of subgoals set in the traveling direction of the mobile body, determines a traveling route based on the judgment results, and safely travels along the determined route. It is a flow chart explaining the running control sequence to perform.
  • the processing according to this flow can be executed, for example, by the control unit (data processing unit) of the moving body 10 according to a program stored in the storage unit.
  • it can be performed as program execution processing by a processor such as a CPU having a program execution function. Processing in each step of the flow shown in FIG. 8 will be described below.
  • Step S101 First, in step S101, the moving body 10 selects one subgoal to be subjected to safety confirmation processing from a plurality of subgoals set in the traveling direction of the moving body 10 .
  • subgoals whose safety is to be confirmed are, for example, selected in order of proximity from the user-defined route.
  • Step S102 Next, in step S102, the moving body 10 confirms the safety of the single safety confirmation processing target subgoal selected in step S101.
  • this safety confirmation processing is executed as confirmation processing of whether or not the route does not collide with or come into contact with obstacles. That is, the moving body 10 uses a sensor such as a camera or LiDAR (Light Detection and Ranging) to detect the position of an obstacle in front of it, and further considers the size of the moving body 10 to perform safety determination processing. Judge the safety of the target selection subgoal. Specifically, it is analyzed whether or not the moving body 10 will collide with or come into contact with an obstacle when traveling along a route in which the center of the moving body 10 passes through the selected subgoal position.
  • a sensor such as a camera or LiDAR (Light Detection and Ranging)
  • Step S103 the moving body 10 determines whether or not the safety of the subgoal for which the safety determination process was performed in step S102 has been confirmed.
  • step S111 if the safety of the selected subgoal was not confirmed, that is, if the moving object 10 traveled along a route in which the center of the moving object 10 passes through the selected subgoal, the possibility of the moving object 10 colliding with or contacting an obstacle was confirmed. If so, the process proceeds to step S111.
  • Step S111 In step S103, if the safety of the selected subgoal whose safety has been confirmed is not confirmed, the process proceeds to step S111.
  • step S111 the moving body 10 first determines whether or not the safety confirmation of all set subgoals has been completed.
  • step S111 selects one subgoal whose safety has not been confirmed, and executes safety confirmation processing for the selected subgoal in steps S102 and below.
  • step S111 If it is determined in step S111 that the safety confirmation of all set subgoals has been completed, the process proceeds to step S112.
  • Step S112 The processing of step S112 is executed when it is determined in step S111 that the safety confirmation of all set subgoals has been completed.
  • the moving body 10 determines in step S112 that the moving body 10 cannot travel safely, and executes processing to stop.
  • Step S104 Next, the processing when the safety of the selected subgoal whose safety has been confirmed is confirmed in step S103 will be described with reference to steps S104 and subsequent steps.
  • step S103 if the safety of the selected subgoal for which safety has been confirmed is confirmed, the process proceeds to step S104.
  • step S104 the mobile body 10 sets a travel route toward a subgoal whose safety has been confirmed and travels.
  • Step S105 Next, the moving body 10 determines whether or not the moving body 10 has arrived at the destination in step S105.
  • step S106 If it is determined that the moving body 10 has arrived at the destination, the process proceeds to step S106. On the other hand, when it is determined that the moving body 10 has not arrived at the destination, the process proceeds to step S115.
  • Step S106 When it is determined in step S105 that the moving body 10 has arrived at the destination, the moving body 10 stops and finishes traveling in step S106.
  • Step S115 On the other hand, if it is determined in step S105 that the moving body 10 has not arrived at the destination, in step S115 the moving body 10 sets a new subgoal ahead of the traveling direction of the moving body 10, and For such a subgoal, the processing from step S101 is executed.
  • the mobile body 10 sets a plurality of subgoals at positions spaced apart by a certain distance in the traveling direction of the mobile body 10, evaluates the safety of the route passing through each subgoal, and passes through the safe subgoals. Run while selecting the route to be taken. By performing such travel control, it is possible to select a route closer to the preset user-set route 30 and to perform safe travel in response to the sudden appearance of obstacles.
  • FIG. 9 shows the following two different subgoal setting examples.
  • A Example of setting a small number (3) of subgoals
  • B Example of setting a large number (11) of subgoals
  • the moving object 10 In setting a small number (three) of subgoal setting examples, the moving object 10 sequentially executes safety evaluations of the three subgoals (SG1 to SG3) in order of proximity to the user-set route 30.
  • the moving object 10 In the setting of (B) a large number (11) subgoals setting example, the moving object 10 sequentially executes the safety evaluation of the 11 subgoals (SG1 to SG11) in order of proximity to the user-set route 30. Become. In either case, when a subgoal that allows safe driving is detected, the subgoal safety confirmation process ends at that point, and safety confirmation of other subgoals is not performed.
  • the mobile object 10 sequentially performs safety evaluations of the three subgoals (SG1 to SG3) in order of proximity to the user-set route 30, but the three subgoals (SG1 . . . SG3) can all come into contact with other moving bodies, side walls, or any other obstacles. In this case, the mobile object 10 cannot detect a safe subgoal passage route. As a result, the moving body 10 stops.
  • the moving object 10 sequentially executes safety evaluations of 11 subgoals (SG1 to SG11) in order of proximity to the user-set route 30, but the fourth Subgoal SG4, which is a safety confirmation target subgoal, is confirmed as a subgoal that can secure a safe travel route without the possibility of coming into contact with other moving bodies or obstacles such as side walls.
  • the moving body 10 can set a route that passes through the safe subgoal SG4 as a new travel route and travel along this new travel route. By increasing the number of subgoals in this way, it becomes possible to set a detailed travel route.
  • the present disclosure solves these problems, changes the pattern of subgoals to be set according to the situation, and realizes efficient and safe traveling of mobile bodies.
  • a specific example of the processing of the present disclosure will be described below.
  • the information processing apparatus of the present disclosure is configured inside the moving body 10, for example.
  • a data processing unit other than the sensor unit and the driving unit may be provided in an external device such as a server capable of communicating with the moving body 10 .
  • the moving body 10 changes the pattern of subgoals set in front of the traveling route of the moving body according to the situation, and efficiently realizes safe traveling of the moving body 10 .
  • FIG. 11 shows an example of a plurality of subgoal patterns set by the mobile object 10 of the present disclosure.
  • FIG. 11 shows the following two types of subgoal patterns set by the mobile object 10 of the present disclosure.
  • the first subgoal pattern (coarse subgoal pattern) is a subgoal pattern in which five subgoals (SG1 to SG5) are set on lines spaced apart by a certain distance in the traveling direction of the moving body 10.
  • the second subgoal pattern (dense subgoal pattern) is a subgoal pattern in which 11 subgoals (SG1 to SG11) are set on a line spaced apart by a certain distance in the traveling direction of the moving body 10.
  • the first subgoal pattern (coarse subgoal pattern) is a pattern in which the intervals between individual subgoals are wide, that is, a subgoal pattern in which the distance between adjacent subgoals is large.
  • the (B) second subgoal pattern (dense subgoal pattern) is a pattern in which the intervals between individual subgoals are narrow, that is, a subgoal pattern in which the distance between adjacent subgoals is small.
  • the two types of subgoal patterns shown in FIG. 11 are merely examples, and the information processing apparatus of the present disclosure, for example, the moving body 10, can set and use various other subgoal patterns with different settings. is. Examples of other subgoal patterns will be described later.
  • the mobile body 10 of the present disclosure for example, by changing the two types of subgoal patterns shown in FIG. , it is possible to efficiently detect the optimum travel route.
  • Second subgoal pattern (dense subgoal pattern) Advantage Since the number of subgoals to be checked for safety is large, the possibility of detecting a safe driving route is improved. Disadvantage: Since the number of subgoals to be safety-checked is large, the processing load of the safety-checking process for the subgoals increases.
  • FIG. 12 is a diagram showing a specific example of the drawback of (A) the first subgoal pattern (coarse subgoal pattern), ie, "possibility of being able to detect a safe driving route decreases". This diagram illustrates a situation similar to that previously described with reference to FIG.
  • the mobile body 10 sequentially performs safety evaluations of five subgoals (SG1 to SG5) in order of proximity to the user-defined route 30. Any of (SG1-SG5) may hit any obstacle, either a new obstacle or a side wall. In this case, the mobile object 10 cannot detect a safe subgoal passage route. As a result, the moving body 10 stops.
  • the mobile object 10 sequentially performs safety evaluations of many subgoals (SG1 to SG11) in order of proximity to the user-defined route 30.
  • the safety confirmation process of the subgoal SG2 which is the second safety confirmation target subgoal, the moving body 10 can secure a safe travel route without the possibility of SG2 coming into contact with new obstacles or obstacles such as side walls. It can be confirmed that
  • the mobile object 10 can set a route that passes through the safe subgoal SG2 as a new travel route and travel along this new travel route.
  • the information processing apparatus of the present disclosure sets and uses "(A) first subgoal pattern (coarse subgoal pattern)" as a basic subgoal pattern. Furthermore, only when a safe driving route cannot be detected based on "(A) first subgoal pattern (coarse subgoal pattern)", "(B) second subgoal pattern (dense subgoal pattern)" is set. use.
  • FIG. 13 and 14 are flowcharts for explaining the sequence of processing executed by the information processing apparatus of the present disclosure, for example, the moving body 10.
  • FIG. 13 and 14 are flowcharts for explaining the sequence of processing executed by the information processing apparatus of the present disclosure, for example, the moving body 10.
  • the processing according to the flowcharts shown in FIGS. 13 and 14 can be executed, for example, by the control unit (data processing unit) of the moving body 10 according to the program stored in the storage unit. For example, it can be performed as program execution processing by a processor such as a CPU having a program execution function. Processing in each step of the flow shown in FIGS. 13 and 14 will be described below.
  • Step S201 First, the information processing apparatus of the present disclosure, for example, the data processing unit of the moving body 10 acquires a user-set route in step S201.
  • the route set by the user is stored in advance, for example, in a storage unit inside the moving body 10 .
  • the data may be stored in an external device such as a server capable of communicating with the moving body 10, and the data may be acquired.
  • Steps S202-S203 the data processing unit of the moving body 10 executes the current position of the moving body, that is, the self-position estimation process, acquires the self-position information, and further detects obstacles around the moving body 10. Get map information including object location information.
  • SLAM Simultaneous localization and mapping
  • SLAM is a process that executes self-position estimation processing (localization) and environment map creation processing (mapping) in parallel, using information acquired by a sensor such as a camera, for example, an image captured by a camera attached to the moving body 10. be.
  • the three-dimensional position of the feature points can be estimated, and a map that can grasp the object positions etc. around the mobile object, A so-called environment mapping is created. Furthermore, it also estimates (localizes) the self-position (the position of the moving object 10).
  • SLAM processing analyzes the positions of various objects around the moving object, and integrates the analyzed object positions to create an environment map.
  • SLAM is a process of executing self-position estimation processing (localization) and environment map creation processing (mapping) in parallel using information acquired by a sensor such as a camera.
  • SLAM is not limited to visual SLAM that uses camera-captured images as described above, but there are various other methods.
  • LiDAR SLAM that uses LiDAR (Light Detection and Ranging), which is a sensor that measures the distance to an obstacle by laser light.
  • steps S202 and S203 for example, through this SLAM processing, self-position information, which is the current position of the moving body 10, is obtained, and map information including obstacle position information around the moving body 10 is generated.
  • step S204 the data processing unit of the moving body 10 sets the subgoal generation mode to "first subgoal pattern (coarse subgoal pattern) generation mode".
  • Step S205 the data processing unit of the moving body 10 generates a subgoal (coarse subgoal) according to the first subgoal pattern (coarse subgoal pattern).
  • the moving body 10 sets coarse subgoal patterns with wide subgoal intervals at positions spaced apart by a certain distance in the traveling direction of the moving body 10 .
  • a coarse subgoal pattern is generated according to "(A) first subgoal pattern (coarse subgoal pattern)" previously described with reference to FIG.
  • step S206 the data processing unit of the moving body 10 sequentially starts safety confirmation processing for each subgoal of the rough subgoal pattern generated in step S205.
  • the subgoal safety confirmation process is performed for each subgoal of the generated rough subgoal pattern to determine whether the route through which the center of the moving body 10 passes through each subgoal is a route that does not collide with or come into contact with obstacles. This is confirmation processing.
  • the subgoal safety confirmation process is executed in step S211 and subsequent steps below.
  • Step S211 First, in step S211, the data processing unit of the moving body 10 selects one subgoal to be subjected to safety confirmation processing from a plurality of subgoals set in the traveling direction of the moving body 10.
  • the subgoals set at the initial stage are rough subgoal patterns with wide subgoal intervals.
  • the subgoals to be checked for safety are selected in order of proximity from the route set by the user.
  • step S212 the data processing unit of the moving body 10 confirms the safety of the single safety confirmation processing target subgoal selected in step S211.
  • this safety confirmation processing is executed as confirmation processing of whether or not the route does not collide with or come into contact with obstacles.
  • the moving body 10 uses a sensor such as a camera or LiDAR (Light Detection and Ranging) to detect the position of an obstacle in front of the moving body 10, and considers the size of the moving body 10 to determine whether the object is to be subjected to safety determination processing.
  • Judge the safety of the selected subgoal Specifically, it is analyzed whether or not the moving body 10 will collide with or come into contact with an obstacle when traveling along a route in which the center of the moving body 10 passes through the selected subgoal position.
  • step S213 the moving body 10 determines whether or not the safety of the subgoal for which the safety determination process was performed in step S212 has been confirmed.
  • step S217 if the safety of the selected subgoal was not confirmed, that is, if the moving object 10 traveled along a route in which the center of the moving object 10 passes through the selected subgoal, the possibility of the moving object 10 colliding with or contacting an obstacle was confirmed. If so, the process proceeds to step S217.
  • Step S214 Processing when the safety of the selected subgoal whose safety has been confirmed is confirmed in step S213 will be described with reference to steps S214 and subsequent steps.
  • step S213 if the safety of the selected subgoal whose safety has been confirmed is confirmed, the process proceeds to step S214.
  • step S214 the mobile body 10 sets a travel route toward the subgoal whose safety has been confirmed and travels.
  • Step S215 the moving body 10 determines whether or not the moving body 10 has arrived at the destination in step S215.
  • step S216 If it is determined that the moving body 10 has arrived at the destination, the process proceeds to step S216. On the other hand, when it is determined that the moving body 10 has not arrived at the destination, the process returns to step S204.
  • Step S216 When it is determined in step S215 that the moving body 10 has arrived at the destination, the moving body 10 stops and finishes traveling in step S216.
  • step S215 If it is determined in step S215 that the moving body 10 has not arrived at the destination, the process returns to step S204 and repeats the processes from step S204 onward. That is, the data processing unit of the moving body 10 sets the subgoal generation mode to the "first subgoal pattern (coarse subgoal pattern) generation mode" in step S204.
  • step S205 a new rough subgoal pattern is set at a position ahead of the processed subgoal, that is, at a position ahead of the traveling direction of the moving body 10 according to the "first subgoal pattern (coarse subgoal pattern) generation mode". Then, the processing from step S206 onwards is executed.
  • Step S21-7 processing after step S217 will be described.
  • step S213 if the safety of the selected subgoal is not confirmed, that is, if the moving body 10 travels along a route in which the center of the moving body 10 passes through the selected subgoal, the possibility of the moving body 10 colliding with or contacting an obstacle is confirmed. If so, the process proceeds to step S217.
  • step S217 the moving body 10 first determines whether or not the safety confirmation of all set subgoals has been completed.
  • step S211 selects one subgoal whose safety has not been confirmed, and executes safety confirmation processing for the selected subgoal in steps S212 and subsequent steps.
  • step S217 If it is determined in step S217 that the safety confirmation of all set subgoals has been completed, the process proceeds to step S218.
  • Step S218 The process of step S218 is executed when it is determined in step S217 that the safety confirmation of all the set subgoals has been completed.
  • the moving body 10 determines in step S218 whether or not the subgoal setting mode is the "second subgoal pattern (dense subgoal pattern) generation mode".
  • step S22 If it is determined that the subgoal setting mode is the "second subgoal pattern (dense subgoal pattern) generation mode", the process proceeds to step S221. On the other hand, if it is determined that the subgoal setting mode is not the "second subgoal pattern (dense subgoal pattern) generation mode", the process proceeds to step S219.
  • Step S219 The process of step S219 is executed when it is determined in step S218 that the subgoal setting mode is not the "second subgoal pattern (dense subgoal pattern) generation mode".
  • step S217 it is determined that the safety confirmation process for all subgoals that have been set has been completed, and in step S218, it is determined that the subgoal setting mode is the "first subgoal pattern (coarse subgoal pattern) generation mode". In this case, the process of step S219 is executed.
  • the data processing unit of the moving body 10 sets the subgoal generation mode to the "second subgoal pattern (dense subgoal pattern) generation mode" in step S219.
  • (B) Second subgoal pattern (dense subgoal pattern) is a pattern in which the intervals between individual subgoals are narrow, that is, a subgoal pattern in which the distance between adjacent subgoals is small.
  • Step S220 the data processing unit of the moving body 10 generates a subgoal (dense subgoal) according to the second subgoal pattern (dense subgoal pattern).
  • the moving body 10 sets a dense subgoal pattern with narrow subgoal intervals at positions spaced apart by a certain distance in the traveling direction of the moving body 10 .
  • a dense subgoal pattern is generated according to "(B) second subgoal pattern (dense subgoal pattern)" described above with reference to FIG.
  • step S220 After the dense subgoal pattern setting process in step S220, the process returns to step S211.
  • step S211 one subgoal to be subjected to safety confirmation processing is selected from the dense subgoal patterns.
  • the selection process is executed as a process of sequentially selecting subgoals in order of proximity from the user-set route.
  • step S212 and below safety confirmation processing is executed for the subgoals selected from the dense subgoal pattern.
  • step S214 a new travel route passing through that sub-call is set and traveled, and the processing from step ZS215 onwards is executed. Run.
  • step S217 If a subgoal whose safety has been confirmed is not detected from the dense subgoal patterns (No in step S213), it is checked in step S217 whether or not the safety confirmation of all the set dense subgoal patterns has been completed. judge.
  • step S211 selects one subgoal whose safety has not been confirmed, and executes safety confirmation processing for the selected subgoal in steps S212 and subsequent steps.
  • step S217 If it is determined in step S217 that the safety confirmation of all the set dense subgoal patterns has been completed, the process proceeds to step S218. If it is determined in step S218 that the subgoal setting mode is the "second subgoal pattern (dense subgoal pattern) generation mode", the process proceeds to step S221.
  • Step S221 In the processing of step S221, it is determined in step S217 that the safety confirmation processing of all subgoals that have been set has ended, and in step S218 the subgoal setting mode is set to the "second subgoal pattern (dense subgoal pattern) generation mode". Executed when it is determined that
  • the data processing unit of the moving body 10 determines in step S221 that the moving body 10 cannot travel safely, and executes processing to stop.
  • the information processing apparatus of the present disclosure for example, the moving body 10, first creates a coarse subgoal pattern according to the "first subgoal pattern (coarse subgoal pattern)" at a position spaced apart by a certain distance in the traveling direction of the moving body 10. Then, the safety of the route passing through each subgoal that constitutes the rough subgoal pattern is evaluated.
  • a driving route is set according to the driving route that passes through that subgoal, and the vehicle follows that driving route.
  • a dense subgoal pattern according to the "second subgoal pattern (dense subgoal pattern)" is set, and a dense subgoal pattern is set.
  • a safety evaluation is performed for a route passing through each subgoal that constitutes a subgoal pattern.
  • a driving route is set according to the driving route that passes through that subgoal, and driving follows that driving route.
  • the information processing apparatus of the present disclosure for example, the moving body 10, first performs safety evaluation on rough subgoal patterns, thereby reducing the processing load of safety evaluation processing.
  • the moving body 10 is stopped when a traveling route including a subgoal that can be safely traveled cannot be detected by sequentially using these two types of subgoal patterns.
  • a third and fourth subgoal patterns having different subgoal arrangement configurations may be used to execute processing for detecting a travel route including a safe subgoal.
  • the information processing apparatus of the present disclosure for example, the mobile object 10, generates and uses subgoals according to the plurality of different subgoal patterns described above with reference to FIG. 11, for example.
  • the subgoal patterns described above with reference to FIG. 11 are the following two types of subgoal patterns.
  • the information processing device of the present disclosure for example, the mobile body 10, first performs safety verification of "(A) first subgoal pattern (coarse subgoal pattern)", and if no subgoal that allows safe driving is found, performs "(B ) second subgoal pattern (dense subgoal pattern)” to perform security verification of these subgoals.
  • the (A) first subgoal pattern (coarse subgoal pattern) shown in FIG. 11 is a subgoal pattern in which five subgoals (SG1 to SG5) are set on lines spaced apart by a certain distance in the traveling direction of the moving body 10.
  • the second subgoal pattern (dense subgoal pattern) is a subgoal pattern in which 11 subgoals (SG1 to SG11) are set on a line spaced apart by a certain distance in the traveling direction of the moving body 10.
  • the combination of (A) the first sub-goal pattern (coarse sub-goal pattern) and (B) the second sub-goal pattern (dense sub-goal pattern) can be other combinations.
  • An example is shown in FIG.
  • the (A) first subgoal pattern (coarse subgoal pattern) shown in FIG. 15 is a subgoal pattern in which seven subgoals (SG1 to SG7) are set on lines spaced apart by a certain distance in the traveling direction of the moving body 10.
  • (B) the second subgoal pattern (dense subgoal pattern) is a subgoal pattern in which 13 subgoals (SG1 to SG13) are set on a line spaced apart by a certain distance in the traveling direction of the moving body 10.
  • subgoals are set at intervals twice the grid (rectangular area) interval of the occupation grid map (grid map).
  • the second subgoal pattern (dense subgoal pattern) sets subgoals at the same grid (rectangular area) intervals as the occupancy grid map (grid map).
  • the occupancy grid map is a map in which the probability values of obstacles existing in each section (grid) defined by the grid are set.
  • the moving object 10 selects a section (grid) with a low probability that an obstacle exists among the sections of the occupancy grid map (grid map) as a traveling route and travels safely without colliding with the obstacle. be able to.
  • the subgoal pattern shown in FIG. 15 is a configuration in which subgoals are set with reference to each section (grid) defined by a grid of an occupancy grid map (grid map).
  • Each section (grid) defined by the grid of the occupancy grid map (grid map) is sized according to the resolution of the occupancy grid map (grid map). That is, the subgoal pattern shown in FIG. 15 is a subgoal pattern having a subgoal arrangement configuration corresponding to the resolution of the occupancy grid map (grid map). Such subgoals may be set.
  • the moving body 10 sets seven subgoals at an interval twice the grid (rectangular area) interval of the occupancy grid map (grid map) shown in FIG. Rough subgoal pattern)” safety verification.
  • a “(B) second subgoal pattern (dense subgoal pattern)” is set in which subgoals are set at the same interval as the grid (rectangular area) interval, and security verification of these subgoals is performed.
  • a configuration for performing such processing may be adopted.
  • FIG. 16 (A) First subgoal pattern (coarse subgoal pattern)" shown in FIG. 16 is a subgoal pattern in which 13 subgoals (SG1 to SG13) are set on lines spaced apart by a certain distance in the traveling direction of the moving body 10. .
  • the second subgoal pattern (dense subgoal pattern) is a subgoal pattern in which 26 subgoals (SG1 to SG26) are set on a line spaced apart by a certain distance in the moving direction of the moving body 10.
  • the first subgoal pattern In the first subgoal pattern (rough subgoal pattern), subgoals are set at the same grid (rectangular area) intervals as the occupancy grid map (grid map).
  • the second subgoal pattern (dense subgoal pattern) sets subgoals at half the grid (rectangular area) intervals of the occupancy grid map (grid map).
  • Such subgoals may be set.
  • the moving body 10 sets 13 subgoals at the same intervals as the grid (rectangular area) intervals of the occupation grid map (grid map) shown in FIG. Pattern)” safety verification.
  • a “(B) second subgoal pattern (dense subgoal pattern)” is set in which subgoals are set at intervals of 1/2 of the grid (rectangular area) interval, and security verification of these subgoals is performed.
  • a configuration for performing such processing may be adopted.
  • subgoal setting as shown in FIG. 17 can also be used.
  • "(C1) subgoal pattern c1" shown in FIG. 17 is a subgoal pattern having a setting in which the subgoal interval is small in an area close to the user-set route 30 and the subgoal interval is large in an area far from the user-set route 30.
  • a subgoal pattern with a wide average subgoal interval and a subgoal pattern with a narrow average subgoal interval of "(C1) subgoal pattern c1" shown in FIG. 17 may be generated and used.
  • the moving object 10 first performs safety verification using "a subgoal pattern with a wide average subgoal interval". If this safety verification fails to detect a subgoal that allows safe driving, next, a process of executing safety verification using a "subgoal pattern with a narrow average subgoal interval" is performed.
  • subgoal setting as shown in FIG. 18 can also be used.
  • “(C2) subgoal pattern c2” shown in FIG. 18 is an example in which a plurality of subgoal rows (first subgoal row to third subgoal row) are set in parallel from a position close to the moving body 10 to a far position.
  • the moving body 10 executes safety verification of each subgoal according to a predefined sequence. For example, for the first subgoal sequence closest to the moving body 10, safety verification is performed in order from the subgoal closest to the user-set route 30. FIG. Here, if a safe subgoal is detected, then safety verification is performed for each subgoal in the subgoal sequence 2 . Here, if a safe subgoal is detected, then safety verification is performed for each subgoal in the subgoal sequence 3 . When subgoals whose safety has been confirmed are detected in all subgoal sequences, a route connecting them is set as a driving route and the vehicle is driven.
  • (C3) subgoal pattern c3 shown in FIG. 19, for example.
  • “(C3) subgoal pattern c3” shown in FIG. 19 is a subgoal pattern in which subgoal intervals are set closely in each subgoal row. Security verification is executed using this "(C3) subgoal pattern c3".
  • subgoal setting having settings as shown in FIG. 20 may be used.
  • "(C4) subgoal pattern c4" shown in FIG. 20 is similar to the examples shown in FIGS. subgoal sequence) is set, and the subgoal sequence close to the moving body 10 is a dense subgoal pattern sequence with narrow subgoal intervals.
  • the subgoal interval is set narrower as the distance from the moving body 10 increases.
  • the subgoal pattern may be used to perform security verification for each subgoal.
  • processing using subgoal patterns of two different densities as shown in FIG. 21 is executed.
  • FIG. 21 shows the following two subgoal patterns with different densities composed of a plurality of subgoal rows similar to "(C4) subgoal pattern c4" shown in FIG.
  • A First subgoal pattern (coarse subgoal pattern)
  • B Second subgoal pattern (dense subgoal pattern)
  • the information processing device of the present disclosure for example, the mobile body 10, first performs safety verification of "(A) first subgoal pattern (coarse subgoal pattern)", and if no subgoal that allows safe driving is found, performs "(B ) second subgoal pattern (dense subgoal pattern)” to perform security verification of these subgoals.
  • safety verification is performed for each subgoal in order to determine a safe traveling route of the mobile object, and various subgoal patterns can be used. is.
  • a user interface that enables processing such as subgoal setting will be described below.
  • FIG. 22 is a diagram showing an example of setting a subgoal using a user terminal 60 that can communicate with the mobile object 10.
  • a user 50 sets a subgoal using a user terminal 60 such as a smartphone, and transmits subgoal setting information to the mobile object 10 .
  • the user terminal 60 displays a subgoal sequence 70 set on the travel route of the mobile body 10 and a user operation section 80 .
  • the user operation section 80 displays a subgoal position adjustment section and a subgoal density adjustment section.
  • the subgoal position adjustment unit is an adjustment unit that can adjust the distance between the subgoal row 70 and the moving body 10, and moves the subgoal row 70 from a position closer to the moving body 10 to a position farther from the moving body 10 by moving the slider. can be done.
  • the subgoal density adjustment unit is an adjustment unit that can adjust the density of the subgoals set in the subgoal row 70. By moving the slider, the intervals between the subgoals set in the subgoal row 70 are adjusted to create a rough subgoal pattern. , to dense subgoal patterns.
  • FIG. 23 shows an example of setting a dense subgoal pattern by moving the slider of the subgoal density adjusting section.
  • the user 50 moves the slider of the subgoal density adjustment section of the user operation section 80 to the "dense" side, thereby creating a dense subgoal pattern in which the intervals between the subgoals set in the subgoal row 70 are narrowed. can be set.
  • the mobile unit 10 sets subgoals according to the subgoal setting information received from the user terminal 60 .
  • FIG. 24 is a diagram showing an example of subgoal adjustment when a plurality of subgoal rows (first subgoal row 70a to third subgoal row 70c) are set.
  • the user 50 first selects one sub-goal sequence to be adjusted from the adjustment sub-goal sequence selection section of the user operation section 80 . After that, for the selected subgoal row, the subgoal position and density can be adjusted by moving the sliders of the subgoal position adjusting section and the subgoal density adjusting section.
  • FIG. 25 shows an example having a user operation section 80b that can adjust the setting width of the subgoal row 70.
  • the user 50 can adjust the positions of the upper end and lower end of the subgoal by vertically operating two sliders above and below the subgoal width setting section of the user operation section 80b.
  • a configuration may be adopted in which the user directly inputs and adjusts the setting of the subgoals via the (UI) unit.
  • a data processing unit other than the sensor unit and the driving unit may be provided in an external device such as a server capable of communicating with the moving body 10 .
  • FIG. 26 is a block diagram showing a configuration example of the information processing apparatus 100 of the present disclosure. Note that the information processing device 100 shown in FIG. 26 is a device provided inside the moving body 10 .
  • the information processing apparatus 100 includes a sensor (camera, LiDAR, etc.) 101, a self-position calculation unit 102, an obstacle detection unit (map generation unit) 103, a storage unit 104, a user-set route acquisition unit 105, It has a subgoal generation unit 106 , a subgoal safety verification unit 107 , a travel route determination unit 108 , a drive unit 109 , a user IF 110 and a communication unit 111 .
  • the sensor 101 is a sensor configured by, for example, a camera, LiDAR, or the like, and is a sensor that acquires an image for analyzing the external environment of the mobile body 10 and distance information to various objects such as obstacles.
  • LiDAR Light Detection and Ranging
  • LiDAR Light Detection and Ranging
  • the senor 101 is not limited to a camera and LiDAR, and may be configured to include these other sensors.
  • a configuration including a ToF sensor, ultrasonic sensor, radar, sonar, or the like may be used.
  • the self-position calculation unit 102 performs self-position estimation processing based on information acquired by the sensor 101, for example. For example, it performs self-position estimation using the aforementioned SLAM (simultaneous localization and mapping) process.
  • SLAM simultaneous localization and mapping
  • the SLAM process captures images (moving images) with a camera and analyzes the trajectories of feature points included in a plurality of captured images to estimate the three-dimensional positions of the feature points, and the camera ( It is a process of estimating (localization) the position and orientation of the self), and it is possible to create (mapping) a surrounding map (environment map) using the three-dimensional position information of the feature points.
  • An obstacle detection unit (map generation unit) 103 detects various obstacles in the traveling environment of the moving object 10 based on the information acquired by the sensor 101, and generates a map having obstacle arrangement information. .
  • This processing can also be executed by applying the SLAM processing described above, for example.
  • the storage unit 104 stores, for example, traveling route information (user-set route) of the moving body set in advance by the user (operator). It is the user setting route 30 described in the previously described embodiment.
  • User set route acquisition section 105 acquires the user set route stored in storage section 104 and outputs it to subgoal generation section 106 .
  • the user-set route may be input from the user IF (interface) 110 .
  • the information may be input from an external terminal such as a user terminal 60 such as a smartphone via the communication unit 111 .
  • the user-set route acquisition unit 105 outputs the input user-set route to the subgoal generation unit 106 and further stores it in the storage unit 104 .
  • the subgoal generation unit 106 generates a subgoal near the user-set route input from the user-set route acquisition unit 105 .
  • a subgoal pattern consisting of a subgoal row in which a plurality of subgoals are arranged on a line substantially orthogonal to a user-set route set in advance, that is, a subgoal pattern in which a plurality of subgoals are arranged from a position close to the user-set route to a distant position.
  • the subgoal generation processing by the subgoal generation unit 106 is executed according to the processing sequence of the flowcharts shown in FIGS. 13 and 14 described above.
  • a subgoal (coarse subgoal) is generated according to the first subgoal pattern (coarse subgoal pattern).
  • a subgoal (dense subgoal) according to the second subgoal pattern (dense subgoal pattern) is selected.
  • subgoal patterns there are many subgoal patterns.
  • the type of subgoal pattern to be used can be set by the user using the user terminal 60, for example.
  • the user can input via the user IF 110 .
  • Subgoal setting information set by the user using the user terminal 60 is input to the subgoal generating unit 106 via the communication unit 111 .
  • Subgoal setting information set by the user via the user IF 110 is also input to the subgoal generating unit 106 .
  • the subgoal generator 106 generates a subgoal pattern according to user settings based on these pieces of input information.
  • a predefined default subgoal pattern for example, the following two subgoal patterns described above with reference to FIG. 11, are sequentially generated.
  • the subgoal safety verification unit 107 verifies the safety of each subgoal generated by the subgoal generation unit 106 .
  • the safety verification processing for each subgoal by the subgoal safety verification unit 107 is executed according to the processing sequence of the flow charts shown in FIGS. 13 and 14 described above.
  • subgoals are selected in order from the position closest to the user-set route 30 to verify safety.
  • Subgoal security verification processing by the subgoal security verification unit 107 is executed, for example, as follows.
  • sensor camera, LiDAR, etc.
  • self-position information calculated by self-position calculation unit 102 for example, moving body 10 It is verified whether or not the moving body 10 collides with or comes into contact with obstacles when the moving body 10 travels along a route whose center passes through the selected subgoal position.
  • the subgoal safety verification unit 107 if a subgoal that allows safe driving is not detected from the first subgoal pattern (coarse subgoal pattern) generated by the subgoal generation unit 106, then the second subgoal generated by the subgoal generation unit 106 Enter the subgoal pattern (dense subgoal pattern).
  • the subgoal safety verification unit 107 also verifies whether or not each subgoal that constitutes the second subgoal pattern (dense subgoal pattern) is safe to drive.
  • the position information of the safe driving subgoal is output to the driving route determination unit 108 .
  • Driving route determination unit 108 uses subgoal position information input from subgoal safety verification unit 107, that is, position information of subgoals that allow safe driving, to generate a driving route that passes through the subgoals, and generates the generated driving route.
  • a drive command for running the moving body 10 is output to the drive unit 109 according to the above.
  • the drive unit 109 generates control information for driving the mobile object 10 according to the travel route input from the travel route determination unit 1108, controls the mobile object 10, and causes the mobile object 10 to travel according to the determined travel route.
  • the information processing device that performs the above-described processing was described as being mounted in the moving body 10 that performs self-position estimation and obstacle detection by SLAM processing, for example.
  • the information processing apparatus of the present disclosure may be configured to be installed in a server or the like that can communicate with the mobile object 10 .
  • sensors for acquiring information around the mobile object 10 are attached to the mobile object 10, the sensor acquisition information is transmitted to the server via the communication network, and the sensor acquisition information is used on the server side according to the above-described embodiment. It is also possible to adopt a configuration in which such processing is performed.
  • an information processing system 200 in which a mobile unit 10 and a mobile unit management server 210 are connected via a communication network.
  • the mobile unit 10 transmits sensor acquisition information to the mobile unit management server 210 .
  • the mobile body management server 210 uses sensor acquisition information received from the mobile body 10 to perform data processing according to the above-described embodiments.
  • a configuration using such an information processing system 200 may be employed.
  • the sensors of the moving body 10 include the camera, LiDAR, etc. described in the above embodiments.
  • a user terminal such as a smartphone may be set to be able to communicate with the mobile object 10 and the mobile object management server 210 , and input information from the user terminal may be provided to the mobile object 10 and the mobile object management server 210 .
  • FIG. 28 a hardware configuration example of the information processing apparatus of the present disclosure will be described with reference to FIG. 28 .
  • the information processing device is mounted inside the moving body 10 .
  • the data processing section other than the sensor section and drive section may be configured within the server.
  • the hardware configuration shown in FIG. 28 is a hardware configuration example that can be applied to both the information processing device in the mobile body 10 and the information processing device in the server.
  • the hardware configuration shown in FIG. 28 will be described.
  • a CPU (Central Processing Unit) 301 functions as a data processing section that executes various processes according to programs stored in a ROM (Read Only Memory) 302 or a storage section 308 . For example, the process according to the sequence described in the above embodiment is executed.
  • a RAM (Random Access Memory) 303 stores programs and data executed by the CPU 301 . These CPU 301 , ROM 302 and RAM 303 are interconnected by a bus 304 .
  • the CPU 301 is connected to an input/output interface 305 via a bus 304.
  • the input/output interface 305 includes various switches, a keyboard, a touch panel, a mouse, a microphone, and a user input unit, a camera, and various sensors 321 such as LiDAR for obtaining status data.
  • An input unit 306 including a unit, etc., and an output unit 307 including a display, a speaker, etc. are connected.
  • the output unit 307 also outputs driving information for the driving unit 322 of the moving body (robot).
  • the CPU 301 receives commands, situation data, and the like input from the input unit 306 , executes various processes, and outputs processing results to the output unit 307 , for example.
  • a storage unit 308 connected to the input/output interface 305 includes, for example, a hard disk, and stores programs executed by the CPU 301 and various data.
  • a communication unit 309 functions as a transmission/reception unit for data communication via a network such as the Internet or a local area network, and communicates with an external device.
  • a GPU Graphics Processing Unit
  • a drive 310 connected to the input/output interface 305 drives a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card to record or read data.
  • a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card to record or read data.
  • the technique disclosed in this specification can take the following configurations.
  • a subgoal generation unit that generates a subgoal pattern consisting of a plurality of subgoals in the traveling direction of the moving object; a subgoal safety verification unit that verifies whether or not the moving object can safely travel without colliding with or contacting an obstacle for each of the subgoals that constitute the subgoal pattern generated by the subgoal generation unit; , The subgoal generation unit generating a first subgoal pattern and a second subgoal pattern having different subgoal arrangement patterns; The subgoal safety verification unit, Perform safety verification for each subgoal included in the first subgoal pattern, An information processing device that executes safety verification for each subgoal included in the second subgoal pattern when a subgoal that allows safe driving is not detected from the first subgoal pattern.
  • the subgoal generation unit generating a rough subgoal pattern with wide intervals between adjacent subgoals as the first subgoal pattern; generating a dense subgoal pattern with narrow intervals between adjacent subgoals as the second subgoal pattern;
  • the subgoal safety verification unit Perform security verification for each subgoal included in the rough subgoal pattern,
  • the information processing apparatus according to (1), wherein safety verification is performed for each subgoal included in the dense subgoal pattern when no subgoal that allows safe driving is detected from the coarse subgoal pattern.
  • the subgoal generation unit The information processing apparatus according to (1) or (2), which generates a subgoal pattern in which a plurality of subgoals are arranged on a line substantially orthogonal to a preset user-set route.
  • the subgoal generation unit The information processing according to any one of (1) to (3), wherein a subgoal pattern is generated by arranging a plurality of subgoals on a plurality of lines substantially orthogonal to a preset user-set route and having different distances from the moving object. Device.
  • the subgoal generation unit The information processing apparatus according to any one of (1) to (4), wherein the second subgoal pattern is generated as a subgoal pattern having a larger number of subgoals than the first subgoal pattern.
  • the subgoal generation unit The information processing apparatus according to any one of (1) to (5), wherein the subgoals of the second subgoal pattern are arranged at positions different from the positions of the subgoals set in the first subgoal pattern.
  • the subgoal generation unit The information processing apparatus according to any one of (1) to (6), which generates a subgoal pattern having a subgoal arrangement configuration according to the resolution of an occupancy grid map (grid map) used by the moving object.
  • the subgoal generation unit A subgoal pattern according to any one of (1) to (7), wherein the adjacent subgoal interval is narrowed at a position close to a preset user-set route, and the adjacent subgoal interval is set wide at a position far from the user-set route.
  • Information processing equipment
  • the subgoal safety verification unit Safety verification is performed sequentially from the sub-goals near the preset user-defined route, and if a sub-goal whose safety is confirmed is detected, the safety verification of the sub-goals further away from the user-defined route is performed.
  • the information processing apparatus according to any one of (1) to (9), which is configured not to execute.
  • the subgoal generation unit generating a third subgoal pattern having a subgoal arrangement configuration different from the first subgoal pattern and the second subgoal pattern;
  • the subgoal safety verification unit The information processing device according to any one of (1) to (10), which performs security verification for each subgoal included in the third subgoal pattern.
  • the information processing device further includes: Having a travel route determination unit that determines a travel route of the mobile body, The subgoal safety verification unit, When a safety-confirmed sub-goal is detected, notifying the travel route determination unit of the position of the safety-confirmed sub-goal; The travel route determination unit, The information processing apparatus according to any one of (1) to (11), which determines a travel route passing through the position of the subgoal for which safety has been confirmed.
  • the subgoal generation unit The information processing apparatus according to any one of (1) to (12), which inputs subgoal setting information via a user terminal or a user interface and generates a subgoal pattern having a subgoal arrangement according to the input subgoal setting information.
  • the subgoal generation unit a subgoal generating step of generating a subgoal pattern consisting of a plurality of subgoals in the moving direction of the moving body;
  • the subgoal safety verification department For each subgoal constituting the subgoal pattern generated by the subgoal generating unit, a subgoal safety verification step of verifying whether or not the moving object can safely travel without colliding with or contacting an obstacle is executed.
  • the subgoal generating step includes: A step of generating a first subgoal pattern and a second subgoal pattern having different subgoal arrangement patterns
  • the subgoal safety verification step includes: Perform safety verification for each subgoal included in the first subgoal pattern
  • An information processing method comprising: executing safety verification for each subgoal included in the second subgoal pattern when a subgoal that allows safe driving is not detected from the first subgoal pattern.
  • a program for executing information processing in an information processing device In the subgoal generator, a subgoal generating step of generating a subgoal pattern consisting of a plurality of subgoals in the moving direction of the moving body; In the subgoal safety verification department, For each subgoal constituting the subgoal pattern generated by the subgoal generating unit, a subgoal safety verification step of verifying whether or not the moving object can safely travel without colliding with or contacting an obstacle is executed.
  • the subgoal generation step generating a first subgoal pattern and a second subgoal pattern having different subgoal arrangement patterns;
  • the subgoal security verification step perform safety verification for each subgoal included in the first subgoal pattern;
  • a program recording the processing sequence is installed in the memory of a computer built into dedicated hardware and executed, or the program is loaded into a general-purpose computer capable of executing various processing. It can be installed and run.
  • the program can be pre-recorded on a recording medium.
  • the program can be received via a network such as a LAN (Local Area Network) or the Internet and installed in a recording medium such as an internal hard disk.
  • a system is a logical collective configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same housing.
  • a device and method that reduce the processing load in confirming the safety of subgoals and improve the possibility of detecting a safe driving route are provided.
  • a subgoal generation unit that generates a subgoal pattern consisting of a plurality of subgoals in the moving direction of the moving object, and safety verification for each subgoal that constitutes the subgoal pattern to determine whether or not the moving object can travel safely.
  • the subgoal generator generates a coarse subgoal pattern with wide subgoal intervals and a dense subgoal pattern with narrow subgoal intervals.
  • the subgoal safety verification unit performs safety verification on the subgoals of the coarse subgoal pattern, and if no subgoals that allow safe driving are detected, executes safety verification on each of the subgoals of the dense subgoal pattern.

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Navigation (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Traffic Control Systems (AREA)

Abstract

サブゴールの安全性確認における処理負荷を軽減するとともに、安全な走行ルートの検出可能性の向上を可能とした装置、方法を提供する。移動体進行方向に複数のサブゴールからなるサブゴールパターンを生成するサブゴール生成部と、サブゴールパターンを構成するサブゴール各々について、移動体が安全に走行可能か否かの安全性検証を行うサブゴール安全性検証部を有する。サブゴール生成部は、サブゴール間隔が広い粗いサブゴールパターンと、サブゴール間隔が狭い密なサブゴールパターンを生成する。サブゴール安全性検証部は、粗いサブゴールパターンのサブゴールについての安全性検証を行い、安全走行可能なサブゴールが検出されない場合に、密なサブゴールパターンのサブゴール各々についての安全性検証を実行する。

Description

情報処理装置、および情報処理方法、並びにプログラム
 本開示は、情報処理装置、および情報処理方法、並びにプログラムに関する。さらに詳細には、自動走行ロボットや自動走行車両等の移動体を安全に走行させることを可能とする情報処理装置、および情報処理方法、並びにプログラムに関する。
 昨今、自動走行型のロボットや自動走行型車両の開発や利用が急速に進んでいる。例えば倉庫やオフィス内で荷物を搭載して無人で走行するロボットや、道路を走行する自動運転車両等、様々な移動体の開発や利用が進んでいる
 自動走行型のロボットや自動走行型車両等の移動体は他のロボットや車両、歩行者等との衝突を回避して安全に走行することが要求される。
 なお、自動走行型移動体の安全走行技術を開示した従来技術として例えば特許文献1(特許第5589762号公報)や、特許文献2(特開2020-004342号公報)がある。
 特許文献1は、移動体が通路を走行する場合、移動体の側面と通路壁面との距離を調整しながら移動体の走行ルートを決定する構成を開示している。具体的には、移動体側面と通路壁面との距離が小さい位置で算出した移動体の壁面からのシフト量に基づいて、走行ルートを決定することで無駄な蛇行を発生させない走行ルートを決定するものである。
 また、特許文献2は、例えば移動体が狭い通路を通過する際、移動体が通過可能なノードを複数、設定し、さらにノードを結ぶ線分であるエッジを生成してエッジを通過するように移動体の走行ルートを生成する構成を開示している。
 しかし、これらの従来技術は、狭い通路内を安全に通過させることのみを目的としており、例えば予めユーザによって決定された走行ルートにできるだけ近いルートに従って移動体を走行させる構成を開示するものではない。
 例えば通路であっても、複数の移動体が走行する環境では、複数の移動体が安全に走行するためには、左側通行に設定するといった対応が必要となる。このような場合、ユーザは、通路の左側に移動体の走行ルートを設定して移動体を走行させるといった処理が必要となる。
 すなわち、様々な走行環境を安全に走行させるためには、予めユーザが設定したルートに従って移動体を走行させることが必要となる場合がある。
特許第5589762号公報 特開2020-004342号公報
 本開示は、ユーザが予め設定した走行ルートに近く、かつ障害物に衝突しない安全なルートを移動体に走行させる情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
 本開示の一実施例においては、移動体が走行中に遂次、走行ルートを決定しながら決定ルートを走行する構成とすることで、移動体の安全走行を実現する情報処理装置、および情報処理方法、並びにプログラムを提供する。
 本開示の第1の側面は、
 移動体の進行方向に複数のサブゴールからなるサブゴールパターンを生成するサブゴール生成部と、
 前記サブゴール生成部の生成したサブゴールパターンを構成するサブゴール各々について、前記移動体が障害物に衝突または接触することなく安全に走行可能か否かの安全性検証を行うサブゴール安全性検証部を有し、
 前記サブゴール生成部は、
 異なるサブゴール配置パターンを持つ第1サブゴールパターンと、第2サブゴールパターンを生成し、
 前記サブゴール安全性検証部は、
 前記第1サブゴールパターンに含まれるサブゴール各々についての安全性検証を行い、
 前記第1サブゴールパターンから安全走行可能なサブゴールが検出されない場合に、前記第2サブゴールパターンに含まれるサブゴール各々についての安全性検証を実行する情報処理装置にある。
 さらに、本開示の第2の側面は、
 情報処理装置において実行する情報処理方法であり、
 サブゴール生成部が、
 移動体の進行方向に複数のサブゴールからなるサブゴールパターンを生成するサブゴール生成ステップと、
 サブゴール安全性検証部が、
 前記サブゴール生成部の生成したサブゴールパターンを構成するサブゴール各々について、前記移動体が障害物に衝突または接触することなく安全に走行可能か否かの安全性検証を行うサブゴール安全性検証ステップを実行し、
 前記サブゴール生成ステップは、
 異なるサブゴール配置パターンを持つ第1サブゴールパターンと、第2サブゴールパターンを生成するステップであり、
 前記サブゴール安全性検証ステップは、
 前記第1サブゴールパターンに含まれるサブゴール各々についての安全性検証を行い、
 前記第1サブゴールパターンから安全走行可能なサブゴールが検出されない場合に、前記第2サブゴールパターンに含まれるサブゴール各々についての安全性検証を実行するステップである情報処理方法にある。
 さらに、本開示の第3の側面は、
 情報処理装置において情報処理を実行させるプログラムであり、
 サブゴール生成部に、
 移動体の進行方向に複数のサブゴールからなるサブゴールパターンを生成するサブゴール生成ステップと、
 サブゴール安全性検証部に、
 前記サブゴール生成部の生成したサブゴールパターンを構成するサブゴール各々について、前記移動体が障害物に衝突または接触することなく安全に走行可能か否かの安全性検証を行うサブゴール安全性検証ステップを実行させ、
 前記サブゴール生成ステップにおいては、
 異なるサブゴール配置パターンを持つ第1サブゴールパターンと、第2サブゴールパターンを生成させ、
 前記サブゴール安全性検証ステップにおいては、
 前記第1サブゴールパターンに含まれるサブゴール各々についての安全性検証を行わせ、
 前記第1サブゴールパターンから安全走行可能なサブゴールが検出されない場合に、前記第2サブゴールパターンに含まれるサブゴール各々についての安全性検証を実行させるプログラムにある。
 なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置、画像処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
 本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 本開示の一実施例の構成によれば、サブゴールの安全性確認における処理負荷を軽減するとともに、安全な走行ルートの検出可能性の向上を可能とした装置、方法を実現する。
 具体的には、例えば、移動体進行方向に複数のサブゴールからなるサブゴールパターンを生成するサブゴール生成部と、サブゴールパターンを構成するサブゴール各々について、移動体が安全に走行可能か否かの安全性検証を行うサブゴール安全性検証部を有する。サブゴール生成部は、サブゴール間隔が広い粗いサブゴールパターンと、サブゴール間隔が狭い密なサブゴールパターンを生成する。サブゴール安全性検証部は、粗いサブゴールパターンのサブゴールについての安全性検証を行い、安全走行可能なサブゴールが検出されない場合に、密なサブゴールパターンのサブゴール各々についての安全性検証を実行する。
 本構成により、サブゴールの安全性確認における処理負荷を軽減するとともに、安全な走行ルートの検出可能性の向上を可能とした装置、方法が実現される。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
ユーザ設定ルートに従った移動体の走行例について説明する図である。 ユーザ設定ルートに従った移動体の走行例について説明する図である。 ユーザ設定ルートに従った移動体の走行例について説明する図である。 ユーザ設定ルートに従った移動体の走行例について説明する図である。 サブゴールを利用した走行制御処理について説明する図である。 移動体の前方にユーザ設定ルートの設定時には存在しなかった新規障害物が出現した場合の移動体の走行制御例について説明する図である。 サブゴールSG2を通過する新規走行ルートの生成処理例について説明する図である。 サブゴールを利用した安全性判定処理により走行ルートを決定して安全な走行を行う場合の制御シーケンスについて説明するフローチャートを示す図である。 サブゴールの数を少なくした場合に、走行不可と判定される確率が高まる例について説明する図である。 サブゴールの数を少なくした場合に、走行不可と判定される確率が高まる例について説明する図である。 本開示の移動体が設定する複数のサブゴールパターンの例について説明する図である。 粗いサブゴールパターンの欠点である「安全な走行ルートを検出できる可能性が低下する」という具体例について説明する図である。 本開示の情報処理装置の実行する処理シーケンスについて説明するフローチャートを示す図である。 本開示の情報処理装置の実行する処理シーケンスについて説明するフローチャートを示す図である。 様々なサブゴールパターンの具体例について説明する図である。 様々なサブゴールパターンの具体例について説明する図である。 様々なサブゴールパターンの具体例について説明する図である。 様々なサブゴールパターンの具体例について説明する図である。 様々なサブゴールパターンの具体例について説明する図である。 様々なサブゴールパターンの具体例について説明する図である。 様々なサブゴールパターンの具体例について説明する図である。 移動体と通信可能なユーザ端末を利用してサブゴールの設定を行う具体例について説明する図である。 移動体と通信可能なユーザ端末を利用してサブゴールの設定を行う具体例について説明する図である。 移動体と通信可能なユーザ端末を利用してサブゴールの設定を行う具体例について説明する図である。 移動体と通信可能なユーザ端末を利用してサブゴールの設定を行う具体例について説明する図である。 本開示の情報処理装置の構成例について説明する図である。 本開示の情報処理システムの構成例について説明する図である。 本開示の情報処理装置のハードウェア構成例について説明する図である。
 以下、図面を参照しながら本開示の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
 1.ユーザ設定ルートに従った移動体の走行とその問題点について
 2.サブゴールを利用した移動体の走行制御処理について
 3.本開示の情報処理装置が実行する処理について
 4.本開示の情報処理装置が実行する処理のシーケンスについて
 5.本開示の処理に利用可能なサブゴールの設定例について
 6.サブゴール設定等の処理を可能としたユーザインタフェースについて
 7.情報処理装置の構成例について
 8.移動体とサーバ間で通信を実行して処理を行う情報処理システムの構成例について
 9.情報処理装置のハードウェア構成例について
 10.本開示の構成のまとめ
  [1.ユーザ設定ルートに従った移動体の走行とその問題点について]
 まず、ユーザ設定ルートに従った移動体の走行とその問題点について説明する。
 図1は、移動体(ロボット)10の走行例を示す図である。図1には、移動体(ロボット)10が、壁などの障害物20が存在する走行路をユーザ設定ルート30(=グローバルパス)に従って走行する例を示している。
 ユーザ設定ルート30は、いわゆるグローバルパスであり、オペレータ等のユーザが、移動体10の走行環境を確認した上で、壁等の障害物20に衝突や接触しないルートを選択して決定した走行ルートである。
 このユーザ設定ルート30が、移動体10と障害物20との距離を考慮し、移動体10が障害物から所定距離、離れて走行可能なように生成されたルートであれば、基本的に、移動体10はユーザ設定ルート30に従って走行することで安全走行が可能となる。
 しかし、例えば、ユーザ設定ルート30の生成後に、そのルート上に新たな障害物が配置されることもある。
 例えば図2に示すように、新たな障害物21が配置されてしまうと、移動体10は、ユーザ設定ルート30に従って走行しても障害物21に衝突してしまうことになる。
 また、例えば、ユーザ設定ルート30自体に問題がある場合、すなわち、移動体10が障害物から所定距離、離れて走行することが可能でないユーザ設定ルート30が設定されている場合もある。
 この場合、図3に示すように、移動体10は、ユーザ設定ルート30に従って走行しても、壁等の障害物20に衝突や接触することになる。
 さらに、移動体10の走行路が、他の移動体や人などが往来する環境である場合には、移動体10は、ユーザ設定ルート30に従って走行しても他の移動体や人などに衝突する可能性がある。
 すなわち、図4に示すように、ユーザ設定ルート30上を、他の移動体11が走行していると、移動体10は、ユーザ設定ルート30に従って走行しても、この他の移動体11に衝突してしまう。
 移動体10が、このように障害物や他の移動体や人などに衝突や接触を発生させることなく、安全に走行するためには、移動体10が走行中に進行方向を確認して、遂次、安全な走行ルートを選択して走行することが必要となる。
 この安全走行を行うための走行制御処理としてサブゴールを利用した走行制御処理がある。
 以下、このサブゴールを利用した走行制御処理について説明する。
  [2.サブゴールを利用した移動体の走行制御処理について]
 次に、サブゴールを利用した移動体の走行制御処理について説明する。
 上述したように、移動体10が、障害物や他の移動体や人などに衝突や接触を発生させることなく、安全に走行するためには、移動体10が走行中に進行方向を確認して、遂次、安全な走行ルートを選択して走行することが必要となる。
 この安全走行を行うための走行制御処理の一例が、サブゴールを利用した走行制御処理である。
 図5以下を参照して、サブゴールを利用した走行制御処理について説明する。
 図5には、予め設定されたユーザ設定ルート30に従って走行中の移動体(ロボット)10を示している。
 移動体10は、カメラやLiDAR(Light Detection and Ranging)等のセンサを用いて、前方の障害物の位置を検出しながら走行する。
 基本的には、予め設定されたユーザ設定ルート30に従って走行するが、センサ取得情報に基づいてユーザ設定ルート30に従って走行することができないと判断した場合は、走行ルートを変更して新たな走行ルートを設定して走行する。
 移動体10が走行ルートを変更するのは、ユーザ設定ルート30に従って走行することができないと判断した場合である。すなわち、ユーザ設定ルート30に従って走行すると障害物に衝突、または接触する恐れがあると判断した場合である。
 この場合、移動体10は、安全に走行可能な新規ルートを設定して、その新規ルートに従って走行する。ただし、設定する新規ルートは、ユーザ設定ルート30にできるだけ近い位置に設定する。
 サブゴールは、この安全な新規走行ルートを検出するために用いられる。
 図5には、移動体10の進行方向の一定距離、先の位置に5つのサブゴール(SG1~SG5)を設定した例を示している。
 移動体10は、これら5つのサブゴール(SG1~SG5)を通過するルート各々について、個別に障害物に衝突や接触しないルートであるか否かを解析する。
 なお、図5に示す格子は、移動体10が生成する地図である占有格子地図(グリッドマップ)に設定される格子(グリッド)を示している。
 占有格子地図(グリッドマップ)は、格子によって規定される各区画(グリッド)内に障害物が存在する確率値を設定した地図である。
 移動体10は、占有格子地図(グリッドマップ)の区画中、障害物の存在する確率の低い区画(グリッド)を走行ルートとして選択して走行することで障害物に衝突することなく安全に走行することができる。
 サブゴールを利用した走行制御を行う場合、移動体10は、移動体の走行方向である前方に複数のサブゴールを設定し、設定したサブゴール各々についての安全性評価を行って走行ルートを決定する。
 例えば、図5に示すような5つのサブゴール(SG1~SG5)を通過するルート各々について、個別に障害物に衝突や接触しないルートであるか否かを解析する。
 移動体10は、まず、予め設定されたユーザ設定ルート30に最も近い位置のサブゴールSG1について、障害物に衝突や接触しないルートであるか否かを解析する。
 移動体10は、カメラやLiDAR(Light Detection and Ranging)等のセンサを用いて、前方の障害物の位置を検出し、さらに移動体10の大きさを考慮して、ユーザ設定ルート30に最も近い位置のサブゴールSG1について、移動体10の中心がサブゴール位置を通過するルートを走行した場合、移動体10が障害物に衝突や接触しないか否かを解析する。
 このサブゴールSG1を通過するルートが障害物に衝突や接触しない安全な走行ルートであると判定されれば、このサブゴールSG1を通過するルートを走行ルートに決定して走行を行う。
 この場合、その他のサブゴール(SG2~SG5)についての安全性判定処理は行わない。
 ただし、サブゴールSG1を通過するルートが障害物に衝突や接触する危険な走行ルートであると判定されると、移動体10は、次にユーザ設定ルート30に近いサブゴールSG2を通過するルートの安全性を判定する。
 サブゴールSG2を通過するルートが障害物に衝突や接触しない安全な走行ルートであると判定されれば、このサブゴールSG2を通過する新規走行ルートを生成し、移動体10は生成した新規走行ルートに従って走行する。
 この場合、移動体10の走行ルートはユーザ設定ルート30からずれた走行ルートとなる。
 なお、サブゴールSG2を通過するルートも障害物に衝突や接触する危険な走行ルートであると判定されると、移動体10は、次にユーザ設定ルート30に近いサブゴールSG3を通過するルートの安全性を判定する。
 移動体10は、このように、5つのサブゴール(SG1~SG5)を通過するルート各々について、ユーザ設定ルート30に近い順に、個別に障害物に衝突や接触しないルートであるか否かの安全性評価を実行する。
 障害物に衝突や接触しないサブゴールを含むルートが検出された場合、他のサブゴールについての安全性評価は省略可能である。
 なお、図5に示す移動体10と、図5に示す5つのサブゴール(SG1~SG5)間の距離は、移動体10が選択されたサブゴールを通る安全な走行ルートに従って走行することが可能な距離に設定される。
 図5に示すサブゴール(SG1~SG5)について、1つの安全走行可能なサブゴールが選択され、そのサブゴールを通過する走行ルートが決定され、移動体がその走行ルートに従って走行を開始すると、次に、移動体10は、安全性検証が済んだサブコール列のさらに先の位置に新たなサブゴール列、すなわち5つのサブゴール(SG1~SG5)から構成されるサブコール列を設定する。
 さらに、この新たなサブゴール列を構成する5つのサブゴール(SG1~SG5)各々について、同様な安全性判定を行い、安全なサブゴールを含む走行ルートを決定して走行する。
 このように移動体10は、移動体10の進行方向の一定距離離間した位置に複数のサブゴールを設定し、各サブゴールを通過するルートの安全性評価を行い、安全に走行可能なサブゴールを通過するルートを選択しながら走行を行う。
 このような走行制御を行うことで、予め設定したユーザ設定ルート30により近いルートを選択しながら、かつ突然の障害物の出現などにも対応した安全な走行を行うことが可能となる。
 図6は、移動体10の前方にユーザ設定ルート30の設定時には存在しなかった新規障害物20aが出現した場合の移動体10の走行制御例について説明する図である。
 移動体10は、まず、予め設定されたユーザ設定ルート30に最も近い位置のサブゴールSG1について、障害物に衝突や接触しないルートであるか否かを解析する。
 移動体10は、カメラやLiDAR(Light Detection and Ranging)等のセンサを用いて、前方の障害物の位置を検出し、さらに移動体10の大きさを考慮して、ユーザ設定ルート30に最も近い位置のサブゴールSG1について、障害物に衝突や接触しないルートであるか否かを解析する。
 図6に示す例では、サブゴールSG1を通過するルートは、新規障害物20aに衝突する危険な走行ルートであると判定される。
 この場合、移動体10は、次にユーザ設定ルート30に近いサブゴールSG2を通過するルートの安全性を判定する。
 図6に示すように、サブゴールSG2を通過するルートは、新規障害物20aにも側壁にも衝突や接触しない安全な走行ルートであると判定される。
 図6には、移動体10のサブゴール(SG2)推定通過位置を点線で示している。
 このように、移動体10のサブゴール(SG2)推定通過位置から理解されるように、移動体10のサブゴールSG2通過ルートは、新規障害物20aにも側壁にも衝突や接触しない安全な走行ルートである。
 この判定に従い、移動体10は、このサブゴールSG2を通過する新規走行ルートを生成する。
 すなわち、図7に示すようにサブゴールSG2を通過する新規走行ルート31を生成する。
 移動体10は生成した新規走行ルート31に従って走行する。
 この場合、移動体10の走行ルートはユーザ設定ルート30からずれた走行ルートとなるが、障害物に衝突することなく、安全に走行することが可能となる。
 次に、図8を参照してサブゴールを利用した安全性判定処理により走行ルートを決定して安全な走行を行う場合の制御シーケンスについて説明する。
 図8に示すフローチャートは、移動体10が、移動体の進行方向に設定した複数のサブゴールについて安全性判定を実行し、判定結果に基づいて走行ルートを決定し、決定ルートに従った安全走行を行う走行制御シーケンスについて説明するフローチトである。
 このフローに従った処理は、例えば移動体10の制御部(データ処理部)が、記憶部に格納されたプログラムに従って実行することが可能である。例えばプログラム実行機能を有するCPU等のプロセッサによるプログラム実行処理として行うことができる。
 以下、図8に示すフローの各ステップの処理について説明する。
  (ステップS101)
 まず、移動体10は、ステップS101において、移動体10の進行方向に設定した複数のサブゴールから、安全性確認処理の対象とする1つのサブゴールを選択する。
 なお、安全性確認対象とするサブゴールは、例えば、ユーザ設定ルートから近い順に、順次、選択する。
  (ステップS102)
 次に、移動体10は、ステップS102において、ステップS101で選択した1つの安全性確認処理対象サブゴールについての安全性を確認する。
 この安全性確認処理は、前述したように、障害物に衝突や接触しないルートであるか否かの確認処理として実行される。
 すなわち、移動体10は、カメラやLiDAR(Light Detection and Ranging)等のセンサを用いて、前方の障害物の位置を検出し、さらに移動体10の大きさを考慮して、安全性判定処理の対象とした選択サブゴールについての安全性を判定する。具体的には、移動体10の中心が選択サブゴール位置を通過するルートを走行した場合、移動体10が障害物に衝突や接触しないか否かを解析する。
  (ステップS103)
 次に、移動体10は、ステップS103において、ステップS102で安全性判定処理を行ったサブゴールの安全性が確認されたか否かを判定する。
 選択サブゴールの安全性が確認された場合、すなわち、移動体10の中心が選択サブゴールを通過するルートを走行した場合、移動体10が障害物に衝突や接触しないことが確認された場合は、ステップS104に進む。
 一方、選択サブゴールの安全性が確認されなかった場合、すなわち、移動体10の中心が選択サブゴールを通過するルートを走行した場合、移動体10が障害物に衝突や接触する可能性が確認された場合は、ステップS111に進む。
  (ステップS111)
 ステップS103において、安全性確認を行った選択サブゴールの安全性が確認されなかった場合は、ステップS111に進む。
 この場合、移動体10は、ステップS111において、まず、設定したサブゴール全ての安全性確認が終了したか否かを判定する。
 設定したサブゴール全ての安全性確認が終了していない場合は、ステップS111に戻り、安全性が未確認のサブゴールを1つ選択し、選択サブゴールについてステップS102以下において安全性確認処理を実行する。
 ステップS111において、設定したサブゴール全ての安全性確認が終了したと判定された場合は、ステップS112に進む。
  (ステップS112)
 ステップS112の処理は、ステップS111において、設定したサブゴール全ての安全性確認が終了したと判定された場合に実行する処理である。
 この場合、移動体10は、ステップS112において、移動体10の安全走行は不可能であると判定し、停止する処理を実行する。
  (ステップS104)
 次に、ステップS103において、安全性確認を行った選択サブゴールの安全性が確認された場合の処理について、ステップS104以下を参照して説明する。
 ステップS103において、安全性確認を行った選択サブゴールの安全性が確認された場合は、ステップS104に進む。
 この場合、移動体10は、ステップS104において、安全性が確認されたサブゴールに向けた走行ルートを設定して走行する。
  (ステップS105)
 次に、移動体10は、ステップS105において、移動体10が目的地に到着したか否かを判定する。
 移動体10が目的地に到着したと判定した場合は、ステップS106に進む。
 一方、移動体10が目的地に到着していないと判定した場合は、ステップS115に進む。
  (ステップS106)
 ステップS105において、移動体10が目的地に到着したと判定した場合、移動体10は、ステップS106において停止して走行を終了する。
  (ステップS115)
 一方、ステップS105において、移動体10が目的地に到着していないと判定した場合、移動体10は、ステップS115において、移動体10の進行方向の先に新たなサブゴールを設定し、設定した新たなサブゴールについて、ステップS101以下の処理を実行する。
 このように、移動体10は、移動体10の進行方向の一定距離離間した位置に複数のサブゴールを設定し、各サブゴールを通過するルートの安全性評価を行い、安全に走行可能なサブゴールを通過するルートを選択しながら走行を行う。
 このような走行制御を行うことで、予め設定したユーザ設定ルート30により近いルートを選択しながら、かつ突然の障害物の出現などにも対応した安全な走行を行うことが可能となる。
 しかし、このサブゴールを用いた走行制御処理の問題点として、1つ1つのサブゴールの安全性確認処理の処理負荷が大きいという問題点がある。
 例えば図5に示すように、5つのサブゴール(SG1~SG5)を設定して、ユーザ設定ルート30から近い順に1つ1つのサブゴールについて、順次、安全性確認を行う場合、最大、5回の安全性確認を行うことが必要となる。この安全性確認が終了するまで、移動体10は走行ルートの決定を行うことかできなくなり、結果として移動体10の走行速度が低下してしまう場合がある。
 なお、安全性確認処理の対象とするサブゴールの数を少なくすれば、サブゴール安全性判定処理の処理負荷を少なくすることができるが、サブゴールの数を少なくすると細かな走行ルートの制御ができなくなり、走行不可能と判定される確率が高まるという問題がある。
 この具体例について図9、図10を参照して説明する。
 図9には、以下の2つの異なるサブゴール設定例を示している。
 (A)少数(3個)のサブゴール設定例
 (B)多数(11個)のサブゴール設定例
 (A)少数(3個)のサブゴール設定例の設定では、移動体10は、ユーザ設定ルート30に近い順に3つのサブゴール(SG1~SG3)の安全性評価を順次、実行することになる。
 一方、(B)多数(11個)のサブゴール設定例の設定では、移動体10は、ユーザ設定ルート30に近い順に11個のサブゴール(SG1~SG11)の安全性評価を順次、実行することになる。
 なお、いずれの場合も安全走行可能なサブゴールが検出された場合、その時点でサブゴールの安全性確認処理は終了し、他のサブゴールの安全性確認は行わない。
 この設定で、例えば図10に示すように、前方に障害物としての他の移動体が近づいているとする。
 (A)少数(3個)のサブゴール設定例では、移動体10は、ユーザ設定ルート30に近い順に3つのサブゴール(SG1~SG3)の安全性評価を順次、実行するが、3つのサブゴール(SG1~SG3)はいずれも、他の移動体、あるいは側壁、いずれかの障害物に接触する可能性がある。
 この場合、移動体10は、安全なサブゴール通過ルートを検出できない。結果として移動体10は停止することになる。
 一方、(B)多数(11個)のサブゴール設定例では、移動体10は、ユーザ設定ルート30に近い順に11つのサブゴール(SG1~SG11)の安全性評価を順次、実行するが、4番目の安全性確認対象サブゴールであるサブゴールSG4が、他の移動体や側壁等の障害物に接触する可能性のない安全な走行ルートを確保できるサブゴールであると確認される。
 この結果、移動体10は、安全なサブゴールSG4を通過するルートを新規走行ルートに設定し、この新規走行ルートに従って走行することが可能となる。
 このように、サブゴールの数を多くすれば細かな走行ルートの設定が可能となる。
 一方、図10(A)のようにサブゴールの数を少なくすると細かな走行ルートの設定ができなくなり、走行不可能と判定される確率が高まってしまい、移動体10のスムーズな走行が妨げられるという問題が発生する。
 しかし、一方、設定するサブゴールの数を多くしてしまうとサブゴール安全性判定処理の処理負荷が増加し、移動体10の走行速度を低下させるという問題が発生する。
 本開示は、これらの問題を解決するものであり、設定するサブゴールのパターンを状況に応じて変更し、効率的な移動体の安全走行を実現するものである。
 以下、本開示の処理の具体例について説明する。
  [3.本開示の情報処理装置が実行する処理について]
 以下、本開示の情報処理装置が実行する処理について説明する。
 なお、本開示の情報処理装置は、例えば移動体10の内部に構成される。なお、センサ部や駆動部以外のデータ処理部は、移動体10と通信可能なサーバ等の外部装置に設ける構成としてもよい。
 本開示の情報処理装置、例えば移動体10は、移動体の走行経路の前方に設定するサブゴールのパターンを状況に応じて変更し、効率的に移動体10の安全走行を実現する。
 本開示の移動体10が設定する複数のサブゴールパターンの例を図11に示す。
 図11には、本開示の移動体10が設定する以下の2種類のサブゴールパターンを示している。
 (A)第1サブゴールパターン(粗いサブゴールパターン)
 (B)第2サブゴールパターン(密なサブゴールパターン)
 図11に示すように、(A)第1サブゴールパターン(粗いサブゴールパターン)は、移動体10の進行方向、一定距離離間したライン上に5個のサブゴール(SG1~SG5)を設定したサブゴールパターンである。
 一方、(B)第2サブゴールパターン(密なサブゴールパターン)は、移動体10の進行方向、一定距離離間したライン上に11個のサブゴール(SG1~SG11)を設定したサブゴールパターンである。
 (A)第1サブゴールパターン(粗いサブゴールパターン)は、個々のサブゴールの間隔が広いパターン、すなわち、隣接サブゴール間の距離が大きいサブゴールパターンである。
 一方、(B)第2サブゴールパターン(密なサブゴールパターン)は、個々のサブゴールの間隔が狭いパターン、すなわち、隣接サブゴール間の距離が小さいサブゴールパターンである。
 なお、図11に示す2種類のサブゴールパターンは一例にすぎず、本開示の情報処理装置、例えば移動体10は、この他にも様々な異なる設定のサブゴールパターンを設定して利用することが可能である。
 他のサブゴールパターンの例については後段で説明する。
 本開示の移動体10は、例えば、図11に示す2種類のサブゴールパターンを状況に応じて変更することで、移動体10におけるサブゴールの安全性確認処理の処理負荷を過大にすることなく、また、最適な走行ルートの検出を効率的に行うことを可能とするものである。
 なお、図11に示す2つのサブゴールパターンの利点と欠点は、以下の通りである。
 (A)第1サブゴールパターン(粗いサブゴールパターン)
 利点=サブゴールの安全性確認処理の処理負荷が軽減される。
 欠点=安全性確認対象のサブゴール数が少ないため、安全な走行ルートを検出できる可能性が低下する。
 (B)第2サブゴールパターン(密なサブゴールパターン)
 利点=安全性確認対象のサブゴール数が多いため、安全な走行ルートを検出できる可能性が向上する。
 欠点=安全性確認対象のサブゴール数が多いため、サブゴールの安全性確認処理の処理負荷が増加する。
 図12は、(A)第1サブゴールパターン(粗いサブゴールパターン)の欠点である「安全な走行ルートを検出できる可能性が低下する」という具体例を示す図である。
 この図は、先に図10を参照して説明したと同様の状況を説明する図である。
 図12に示すように、移動体10の前方に新規障害物が設置されてしまったとする。
 (A)第1サブゴールパターン(粗いサブゴールパターン)を利用すると、移動体10は、ユーザ設定ルート30に近い順に5つのサブゴール(SG1~SG5)の安全性評価を順次、実行するが、5つのサブゴール(SG1~SG5)はいずれも、新規障害物、あるいは側壁、いずれかの障害物に接触する可能性がある。
 この場合、移動体10は、安全なサブゴール通過ルートを検出できない。結果として移動体10は停止することになる。
 一方、(B)第2サブゴールパターン(密なサブゴールパターン)を利用すると、移動体10は、ユーザ設定ルート30に近い順に多数のサブゴール(SG1~SG11)の安全性評価を順次、実行する。移動体10は、2番目の安全性確認対象サブゴールであるサブゴールSG2の安全性確認処理において、SG2が新規障害物や側壁等の障害物に接触する可能性のない安全な走行ルートを確保できるサブゴールであると確認することができる。
 この結果、移動体10は、安全なサブゴールSG2を通過するルートを新規走行ルートに設定し、この新規走行ルートに従って走行することが可能となる。
 このように、「(A)第1サブゴールパターン(粗いサブゴールパターン)」を設定した場合より、「(B)第2サブゴールパターン(密なサブゴールパターン)」を設定した場合の方が、安全な走行ルートを検出できる可能性を高めることができる。
 しかし、前述したように、「(B)第2サブゴールパターン(密なサブゴールパターン)」を設定すると、サブゴールの安全性確認処理の処理負荷が増大するという問題が発生する。
 そこで、本開示の情報処理装置、例えば移動体10は、基本的なサブゴールパターンとして、「(A)第1サブゴールパターン(粗いサブゴールパターン)」を設定して利用する。さらに、「(A)第1サブゴールパターン(粗いサブゴールパターン)」に基づいて、安全な走行ルートが検出できない場合に限り、「(B)第2サブゴールパターン(密なサブゴールパターン)」を設定して利用する。
  [4.本開示の情報処理装置が実行する処理のシーケンスについて]
 次に、本開示の情報処理装置が実行する処理のシーケンスについて説明する。
 図13、図14は、本開示の情報処理装置、例えば移動体10が実行する処理のシーケンスについて説明するフローチャートである。
 図13、図14に示すフローチャートに従った処理は、例えば移動体10の制御部(データ処理部)が、記憶部に格納されたプログラムに従って実行することが可能である。例えばプログラム実行機能を有するCPU等のプロセッサによるプログラム実行処理として行うことができる。
 以下、図13、図14に示すフローの各ステップの処理について説明する。
  (ステップS201)
 まず、本開示の情報処理装置、例えば移動体10のデータ処理部は、ステップS201において、ユーザ設定ルートを取得する。ユーザ設定ルートは、例えば移動体10内部の記憶部に予め格納されている。
 あるいは、移動体10と通信可能なサーバ等の外部装置に格納されており、このデータを取得する構成としてもよい。
  (ステップS202~S203)
 次に、移動体10のデータ処理部は、ステップS202~S203において、現在の移動体の位置、すなわち自己位置推定処理を実行して、自己位置情報を取得し、さらに移動体10の周囲の障害物位置情報を含む地図情報を取得する。
 自己位置推定処理や地図生成処理は、例えばSLAM(simultaneous localization and mapping)により実行される。
 SLAMは、例えばカメラ等のセンサ取得情報、例えば移動体10に装着されたカメラによる撮影画像を用いて、自己位置推定処理(ローカリゼーション)と環境地図作成処理(mapping)を並行して実行する処理である。
 例えば、移動体10に装着したカメラの撮影画像に含まれる特徴点の軌跡を解析することで、特徴点の3次元位置を推定して、移動体周囲のオブジェクト位置等を把握可能とした地図、いわゆる環境地図を作成(mapping)する。さらに、併せて自己位置(移動体10の位置)も推定(ローカリゼーション)する。
 SLAM処理により、移動体周囲の様々なオブジェクト位置が解析され、解析されたオブジェクト位置の統合により環境地図を作成することができる。
 このように、カメラ等のセンサ取得情報を用いて自己位置推定処理(ローカリゼーション)と環境地図作成処理(mapping)を並行して実行する処理がSLAMである。
 SLAMには、上記のカメラ撮影画像を用いるビジュアルSLAMに限らず、様々な手法がある。例えば、レーザ光による障害物までの距離を計測するセンサであるLiDAR(Light Detection and Ranging)を用いて行うLiDAR SLAM等がある。
 ステップS202~S203では、例えばこのSLAM処理により、移動体10の現在位置である自己位置情報を取得し、さらに移動体10周囲の障害物位置情報を含む地図情報を生成する。
  (ステップS204)
 次に、移動体10のデータ処理部は、ステップS204において、サブゴール生成モードを「第1サブゴールパターン(粗いサブゴールパターン)生成モード」に設定する。
 すなわち、例えば先に図11(A)を参照して説明したパターン、すなわち「(A)第1サブゴールパターン(粗いサブゴールパターン)」の生成モードに設定する。
 「(A)第1サブゴールパターン(粗いサブゴールパターン)」は、個々のサブゴールの間隔が広いパターン、すなわち、隣接サブゴール間の距離が大きいサブゴールパターンである。
  (ステップS205)
 次に、移動体10のデータ処理部は、ステップS205において、第1サブゴールパターン(粗いサブゴールパターン)に従ったサブゴール(粗いサブゴール)を生成する。
 すなわち、移動体10は、移動体10の進行方向の一定距離離間した位置に、個々のサブゴール間隔が広い粗いサブゴールパターンを設定する。
 具体的には、例えば先に図11を参照して説明した「(A)第1サブゴールパターン(粗いサブゴールパターン)」に従った粗いサブゴールパターンを生成する。
  (ステップS206)
 次に、移動体10のデータ処理部は、ステップS206において、ステップS205において生成した粗いサブゴールパターンの各々のサブゴールについて、順次、安全性確認処理を開始する。
 サブゴールの安全性確認処理は、前述したように、生成した粗いサブゴールパターンの各々のサブゴールについて、移動体10の中心が各サブゴールを通過するルートが、障害物に衝突や接触しないルートであるか否かの確認処理である。
 サブゴールの安全性確認処理は、以下のステップS211以降において実行される。
  (ステップS211)
 まず、移動体10のデータ処理部は、ステップS211において、移動体10の進行方向に設定した複数のサブゴールから、安全性確認処理の対象とする1つのサブゴールを選択する。
 なお、初期段階で設定されているサブゴールは、サブゴールの間隔が広い粗いサブゴールパターンである。
 安全性確認対象とするサブゴールは、ユーザ設定ルートから近い順に、順次、選択する。
  (ステップS212)
 次に、移動体10のデータ処理部は、ステップS212において、ステップS211で選択した1つの安全性確認処理対象サブゴールについての安全性を確認する。
 この安全性確認処理は、前述したように、障害物に衝突や接触しないルートであるか否かの確認処理として実行される。
 移動体10は、カメラやLiDAR(Light Detection and Ranging)等のセンサを用いて、前方の障害物の位置を検出し、さらに移動体10の大きさを考慮して、安全性判定処理の対象とした選択サブゴールについての安全性を判定する。具体的には、移動体10の中心が選択サブゴール位置を通過するルートを走行した場合、移動体10が障害物に衝突や接触しないか否かを解析する。
  (ステップS213)
 次に、移動体10は、ステップS213において、ステップS212で安全性判定処理を行ったサブゴールの安全性が確認されたか否かを判定する。
 選択サブゴールの安全性が確認された場合、すなわち、移動体10の中心が選択サブゴールを通過するルートを走行した場合、移動体10が障害物に衝突や接触しないことが確認された場合は、ステップS214に進む。
 一方、選択サブゴールの安全性が確認されなかった場合、すなわち、移動体10の中心が選択サブゴールを通過するルートを走行した場合、移動体10が障害物に衝突や接触する可能性が確認された場合は、ステップS217に進む。
  (ステップS214)
 ステップS213において、安全性確認を行った選択サブゴールの安全性が確認された場合の処理について、ステップS214以下を参照して説明する。
 ステップS213において、安全性確認を行った選択サブゴールの安全性が確認された場合は、ステップS214に進む。
 この場合、移動体10は、ステップS214において、安全性が確認されたサブゴールに向けた走行ルートを設定して走行する。
  (ステップS215)
 次に、移動体10は、ステップS215において、移動体10が目的地に到着したか否かを判定する。
 移動体10が目的地に到着したと判定した場合は、ステップS216に進む。
 一方、移動体10が目的地に到着していないと判定した場合は、ステップS204に戻る。
  (ステップS216)
 ステップS215において、移動体10が目的地に到着したと判定した場合、移動体10は、ステップS216において停止して走行を終了する。
 なお、ステップS215において、移動体10が目的地に到着していないと判定した場合は、ステップS204に戻り、ステップS204以下の処理を繰り返す。
 すなわち、移動体10のデータ処理部は、ステップS204において、サブゴール生成モードを「第1サブゴールパターン(粗いサブゴールパターン)生成モード」に設定する。
 その後、ステップS205において、「第1サブゴールパターン(粗いサブゴールパターン)生成モード」に従って、処理済みのサブゴールの先の位置、すなわち、移動体10の進行方向の先の位置に新たな粗いサブゴールパターンを設定して、ステップS206以下の処理を実行する。
  (ステップS217)
 次に、ステップS217以下の処理について説明する。
 ステップS213において、選択サブゴールの安全性が確認されなかった場合、すなわち、移動体10の中心が選択サブゴールを通過するルートを走行した場合、移動体10が障害物に衝突や接触する可能性が確認された場合は、ステップS217に進む。
 この場合、移動体10は、ステップS217において、まず、設定したサブゴール全ての安全性確認が終了したか否かを判定する。
 設定したサブゴール全ての安全性確認が終了していない場合は、ステップS211に戻り、安全性が未確認のサブゴールを1つ選択し、選択サブゴールについてステップS212以下において安全性確認処理を実行する。
 ステップS217において、設定したサブゴール全ての安全性確認が終了したと判定された場合は、ステップS218に進む。
  (ステップS218)
 ステップS218の処理は、ステップS217において、設定したサブゴール全ての安全性確認が終了したと判定された場合に実行する処理である。
 この場合、移動体10は、ステップS218において、サブゴール設定モードが「第2サブゴールパターン(密なサブゴールパターン)生成モード」であるか否かを判定する。
 サブゴール設定モードが「第2サブゴールパターン(密なサブゴールパターン)生成モード」であると判定した場合は、ステップS221に進む。
 一方、サブゴール設定モードが「第2サブゴールパターン(密なサブゴールパターン)生成モード」でないと判定した場合は、ステップS219に進む。
  (ステップS219)
 ステップS219の処理は、ステップS218において、サブゴール設定モードが「第2サブゴールパターン(密なサブゴールパターン)生成モード」でないと判定した場合に実行する処理である。
 すなわち、ステップS217において、設定されたサブゴール全てのサブゴールの安全性確認処理が終了したと判定され、ステップS218においてサブゴール設定モードが「第1サブゴールパターン(粗いサブゴールパターン)生成モード」であると判定した場合に、ステップS219の処理を実行する。
 この場合、移動体10のデータ処理部は、ステップS219において、サブゴール生成モードを「第2サブゴールパターン(密なサブゴールパターン)生成モード」に設定する。
 すなわち、例えば先に図11(B)を参照して説明したパターン、すなわち「(B)第2サブゴールパターン(密なサブゴールパターン)」の生成モードに設定する。
 「(B)第2サブゴールパターン(密なサブゴールパターン)」は、個々のサブゴールの間隔が狭いパターン、すなわち、隣接サブゴール間の距離が小さいサブゴールパターンである。
  (ステップS220)
 次に、移動体10のデータ処理部は、ステップS220において、第2サブゴールパターン(密なサブゴールパターン)に従ったサブゴール(密なサブゴール)を生成する。
 すなわち、移動体10は、移動体10の進行方向の一定距離離間した位置に、個々のサブゴール間隔が狭い密なサブゴールパターンを設定する。
 具体的には、例えば先に図11を参照して説明した「(B)第2サブゴールパターン(密なサブゴールパターン)」に従った密なサブゴールパターンを生成する。
 このステップS220における密なサブゴールパターンの設定処理後、ステップS211に戻る。
 ステップS211では、密なサブゴールパターンから、安全性確認処理対象とするサブゴールを1つ選択する。
 選択処理は、ユーザ設定ルートから近い順にサブゴールを順次、選択する処理として実行される。
 その後、ステップS212以下において密なサブゴールパターンから選択されたサブゴールについての安全性確認処理が実行される。
 密なサブゴールパターンから安全性が確認されたサブゴールが検出された場合(ステップS213でYes)は、ステップS214で、そのサブコールを通過する新規走行ルートを設定して走行し、ステップZS215以下の処理を実行する。
 なお、密なサブゴールパターンから安全性が確認されたサブゴールが検出されなかった場合(ステップS213でNo)は、ステップS217で、設定した密なサブゴールパターン全ての安全性確認が終了したか否かを判定する。
 設定した密なサブゴールパターン全ての安全性確認が終了していない場合は、ステップS211に戻り、安全性が未確認のサブゴールを1つ選択し、選択サブゴールについてステップS212以下において安全性確認処理を実行する。
 ステップS217において、設定した密なサブゴールパターン全ての安全性確認が終了したと判定された場合は、ステップS218に進む。
 ステップS218において、サブゴール設定モードが「第2サブゴールパターン(密なサブゴールパターン)生成モード」であると判定した場合は、ステップS221に進む。
  (ステップS221)
 ステップS221の処理は、ステップS217において、設定されたサブゴール全てのサブゴールの安全性確認処理が終了したと判定され、ステップS218においてサブゴール設定モードが「第2サブゴールパターン(密なサブゴールパターン)生成モード」であると判定した場合に実行される。
 この場合、移動体10のデータ処理部は、ステップS221において、移動体10の安全走行は不可能であると判定し、停止する処理を実行する。
 このように、本開示の情報処理装置、例えば移動体10は、まず、移動体10の進行方向の一定距離離間した位置に「第1サブゴールパターン(粗いサブゴールパターン)」に従った粗いサブゴールパターンを設定し、粗いサブゴールパターンを構成する各サブゴールを通過するルートの安全性評価を行う。
 この粗いサブゴールパターンを構成するサブゴールから、安全に走行可能なサブゴールが検出された場合は、そのサブゴールを通過する走行ルートに従った走行ルートを設定してその走行ルートに従った走行を行う。
 一方、粗いサブゴールパターンを構成するサブゴールについて安全に走行可能なサブゴールが検出できなかった場合に限り、「第2サブゴールパターン(密なサブゴールパターン)」に従った密なサブゴールパターンを設定し、密なサブゴールパターンを構成する各サブゴールを通過するルートの安全性評価を行う。
 この密なサブゴールパターンを構成するサブゴールから、安全に走行可能なサブゴールが検出された場合は、そのサブゴールを通過する走行ルートに従った走行ルートを設定してその走行ルートに従った走行を行う。
 密なサブゴールパターンを構成するサブゴールから、安全に走行可能なサブゴールが検出されなかった場合は、走行を停止する。
 このように、本開示の情報処理装置、例えば移動体10は、まず、最初に粗いサブゴールパターンについての安全性評価を行うことで安全性評価処理の処理負荷を低減することが可能となる。
 さらに、粗いサブゴールパターンについての安全性評価によって、安全に走行可能なサブゴールが検出されない場合に限り、密なサブゴールパターンを設定して密なサブゴールパターン各々の安全性評価を実行する。
 この処理によって移動体10の走行ルートのより細かな設定が可能となり、移動体10を安全に走行させるルートの検出成功率を高めることができる。
 すなわち、本開示の走行制御処理を行うことで、サブゴールの安全性評価処理の処理負荷の低減と、移動体の安全走行ルートの検出可能性の向上、これら2つの効果を同時に実現することが可能となる。
 なお、図13、図14を参照して説明した処理シーケンスでは、以下の2種類のサブゴールパターン、すなわち、
 (A)第1サブゴールパターン(粗いサブゴールパターン)
 (B)第2サブゴールパターン(密なサブゴールパターン)
 これら2種類のサブゴールパターンを順次、利用して安全に走行可能なサブゴールを含む走行ルートを検出する構成としている。
 上記フローでは、これら2種類のサブゴールパターンを順次、利用して安全に走行可能なサブゴールを含む走行ルートを検出できない場合、移動体10を停止させていたが、さらに、上記の2種類のサブゴールパターンと異なるサブゴール配置構成を持つ第3、第4のサブゴールパターンを利用して、安全なサブゴールを含む走行ルートを検出する処理を実行する構成としてもよい。
  [5.本開示の処理に利用可能なサブゴールの設定例について]
 次に、本開示の処理に利用可能なサブゴールの設定例について説明する。
 本開示の情報処理装置、例えば移動体10は、例えば先に図11を参照して説明した複数の異なるサブゴールパターンに従ってサブゴールを生成して利用する。
 先に図11を参照して説明したサブゴールパターンは、以下の2種類のサブゴールパターンである。
 (A)第1サブゴールパターン(粗いサブゴールパターン)
 (B)第2サブゴールパターン(密なサブゴールパターン)
 本開示の情報処理装置、例えば移動体10は、まず、「(A)第1サブゴールパターン(粗いサブゴールパターン)」の安全性検証を行い、安全走行可能なサブゴールがみつからない場合に、「(B)第2サブゴールパターン(密なサブゴールパターン)」を設定して、これらのサブゴールの安全性検証を実行する。
 図11に示す(A)第1サブゴールパターン(粗いサブゴールパターン)は、移動体10の進行方向、一定距離離間したライン上に5個のサブゴール(SG1~SG5)を設定したサブゴールパターンである。
 一方、(B)第2サブゴールパターン(密なサブゴールパターン)は、移動体10の進行方向、一定距離離間したライン上に11個のサブゴール(SG1~SG11)を設定したサブゴールパターンである。
 (A)第1サブゴールパターン(粗いサブゴールパターン)と、(B)第2サブゴールパターン(密なサブゴールパターン)の組み合わせは、この他の組み合わせとすることも可能である。
 一例を図15に示す。
 図15に示す(A)第1サブゴールパターン(粗いサブゴールパターン)は、移動体10の進行方向、一定距離離間したライン上に7個のサブゴール(SG1~SG7)を設定したサブゴールパターンである。
 一方、(B)第2サブゴールパターン(密なサブゴールパターン)は、移動体10の進行方向、一定距離離間したライン上に13個のサブゴール(SG1~SG13)を設定したサブゴールパターンである。
 (A)第1サブゴールパターン(粗いサブゴールパターン)は、占有格子地図(グリッドマップ)のグリッド(矩形領域)間隔の2倍の間隔でサブゴールを設定している。
 一方、(B)第2サブゴールパターン(密なサブゴールパターン)は、占有格子地図(グリッドマップ)のグリッド(矩形領域)間隔と同一間隔でサブゴールを設定している。
 前述したように、占有格子地図(グリッドマップ)は、格子によって規定される各区画(グリッド)内に障害物が存在する確率値を設定した地図である。
 移動体10は、占有格子地図(グリッドマップ)の区画中、障害物の存在する確率の低い区画(グリッド)を走行ルートとして選択して走行することで障害物に衝突することなく安全に走行することができる。
 図15に示すサブゴールパターンは、占有格子地図(グリッドマップ)の格子によって規定される各区画(グリッド)を基準としてサブゴールを設定した構成である。
 占有格子地図(グリッドマップ)の格子によって規定される各区画(グリッド)は、占有格子地図(グリッドマップ)の分解能に応じて大きさが規定される。
 すなわち、図15に示すサブゴールパターンは、占有格子地図(グリッドマップ)の分解能に応じたサブゴール配置構成を持つサブゴールパターンである。
 このようなサブゴールの設定としてもよい。
 移動体10は、まず、図15(A)に示す占有格子地図(グリッドマップ)のグリッド(矩形領域)間隔の2倍の間隔で7個のサブゴールを設定した「(A)第1サブゴールパターン(粗いサブゴールパターン)」の安全性検証を行う。
 この安全性検証処理で、安全走行可能なサブゴールが見つからない場合に、図15(B)に示す「(B)第2サブゴールパターン(密なサブゴールパターン)」、すなわち占有格子地図(グリッドマップ)のグリッド(矩形領域)間隔と同一間隔でサブゴールを設定した「(B)第2サブゴールパターン(密なサブゴールパターン)」を設定して、これらのサブゴールの安全性検証を実行する。
 このような処理を行う構成としてもよい。
 さらに、他の例を図16に示す。
 図16に示す「(A)第1サブゴールパターン(粗いサブゴールパターン)」は、移動体10の進行方向、一定距離離間したライン上に13個のサブゴール(SG1~SG13)を設定したサブゴールパターンである。
 一方、(B)第2サブゴールパターン(密なサブゴールパターン)は、移動体10の進行方向、一定距離離間したライン上に26個のサブゴール(SG1~SG26)を設定したサブゴールパターンである。
 (A)第1サブゴールパターン(粗いサブゴールパターン)は、占有格子地図(グリッドマップ)のグリッド(矩形領域)間隔と同一間隔でサブゴールを設定している。
 一方、(B)第2サブゴールパターン(密なサブゴールパターン)は、占有格子地図(グリッドマップ)のグリッド(矩形領域)間隔の1/2の間隔でサブゴールを設定している。
 このようなサブゴール設定としてもよい。
 移動体10は、まず、図16(A)に示す占有格子地図(グリッドマップ)のグリッド(矩形領域)間隔と同一間隔で13個のサブゴールを設定した「(A)第1サブゴールパターン(粗いサブゴールパターン)」の安全性検証を行う。
 この安全性検証処理で、安全走行可能なサブゴールがみつからない場合に、図16(B)に示す「(B)第2サブゴールパターン(密なサブゴールパターン)」、すなわち占有格子地図(グリッドマップ)のグリッド(矩形領域)間隔の1/2の間隔でサブゴールを設定した「(B)第2サブゴールパターン(密なサブゴールパターン)」を設定して、これらのサブゴールの安全性検証を実行する。
 このような処理を行う構成としてもよい。
 さらに、この他のサブゴール設定例として、例えば図17に示すようなサブゴール設定も利用可能である。
 図17に示す「(C1)サブゴールパターンc1」は、ユーザ設定ルート30に近い領域では、サブゴール間隔が小さく、ユーザ設定ルート30から遠い領域では、サブゴール間隔を大きくした設定を持つサブゴールパターンである。
 例えば、先に図11を参照して説明した2つのサブゴールパターンを示している。
 (A)第1サブゴールパターン(粗いサブゴールパターン)
 (B)第2サブゴールパターン(密なサブゴールパターン)
 これらのサブゴールパターン中の「(B)第2サブゴールパターン(密なサブゴールパターン)」の代わりに、図17に示す「(C1)サブゴールパターンc1」を利用するといった設定が可能である。
 あるいは、図17に示す「(C1)サブゴールパターンc1」の平均的なサブゴール間隔が広いサブゴールパターンと狭いサブゴールパターンを生成して利用する構成としてもよい。
 この設定の場合には、移動体10は、まず、「平均的なサブゴール間隔が広いサブゴールパターン」を利用した安全性検証を先行して実行する。この安全性検証で安全走行可能なサブゴールが検出できない場合は、次に、「平均的なサブゴール間隔が狭いサブゴールパターン」を利用した安全性検証を実行するといった処理を行う。
 さらに、この他のサブゴール設定例として、例えば図18に示すようなサブゴール設定も利用可能である。
 図18に示す「(C2)サブゴールパターンc2」は、移動体10に近い位置から、遠い位置まで並列に複数のサブゴール列(第1サブゴール列~第3サブゴール列)を設定した例である。
 このような複数のサブゴール列を設定した場合、移動体10は、予め規定したシーケンスに従って各サブゴールの安全性検証を実行する。
 例えば移動体10に一番近い第1サブゴール列について、ユーザ設定ルート30に近いサブゴールから順番に安全性検証を行う。
 ここで、安全なサブゴールが検出された場合は、次に、サブゴール列2の各サブゴールについての安全性検証を行う。
 ここで、安全なサブゴールが検出された場合は、次に、サブゴール列3の各サブゴールについての安全性検証を行う。
 すべてのサブゴール列で安全性の確認されたサブゴールが検出された場合、それらを結ぶルートを走行ルートに設定して走行する。
 すべてのサブゴール列で安全性の確認されたサブゴールが検出されなかった場合は、さらに、例えば図19に示す「(C3)サブゴールパターンc3」を利用して安全性検証を実行する。
 図19に示す「(C3)サブゴールパターンc3」は、各サブゴール列において、サブゴール間隔を密に設定したサブゴールパターンである。この「(C3)サブゴールパターンc3」を利用して安全性検証を実行する。
 さらに、複数列のサブゴールを設定したサブゴールパターンの例として、図20に示すような設定を持つサブゴール設定を利用してもよい。
 図20に示す「(C4)サブゴールパターンc4」は、図18、図19に示す例と同様、移動体10に近い位置から、遠い位置まで並列に複数のサブゴール列(第1サブゴール列~第3サブゴール列)を設定しているが、移動体10に近いサブゴール列は、サブゴール間隔が狭い密なサブゴールパターン列である。移動体10から遠くなるほどサブゴール間隔が広くなる狭い設定としている。
 このようなサブゴールパターンを用いてサブゴール単位の安全性検証を行う構成としてもよい。粗いサブゴールパターンと密なサブゴールパターンの2段階の安全性検証を行う場合は、例えば図21に示すような2つの異なる密度のサブゴールパターンを利用した処理を実行する。
 図21には、図20に示す「(C4)サブゴールパターンc4」と同様の複数列のサブゴール列からなる異なる密度の以下の2つのサブゴールパターンを示している。
 (A)第1サブゴールパターン(粗いサブゴールパターン)
 (B)第2サブゴールパターン(密なサブゴールパターン)
 本開示の情報処理装置、例えば移動体10は、まず、「(A)第1サブゴールパターン(粗いサブゴールパターン)」の安全性検証を行い、安全走行可能なサブゴールが見つからない場合に、「(B)第2サブゴールパターン(密なサブゴールパターン)」を設定して、これらのサブゴールの安全性検証を実行する。
 このように、本開示の処理では様々な設定のサブゴールパターンを利用することが可能である。
  [6.サブゴール設定等の処理を可能としたユーザインタフェースについて]
 次に、サブゴール設定等の処理を可能としたユーザインタフェースについて説明する。
 上述したように、本開示の移動体の走行制御では、移動体の安全な走行ルートを決定するためにサブゴール単位の安全性検証を実行するものであり、サブゴールパターンは、様々なパターンが利用可能である。
 以下、サブゴール設定等の処理を可能としたユーザインタフェースについて説明する。
 図22は、移動体10と通信可能なユーザ端末60を利用してサブゴールの設定を行う一例を示す図である。
 ユーザ50はスマホ等のユーザ端末60を利用してサブゴールを設定し、移動体10にサブゴール設定情報を送信する。
 図22に示すようにユーザ端末60には、移動体10の走行ルート上に設定されるサブゴール列70とユーザ操作部80が表示される。
 ユーザ操作部80には、サブゴール位置の調整部と、サブゴール密度の調整部が表示される。
 サブゴール位置調整部は、サブゴール列70と移動体10との距離を調整可能とした調整部であり、スライダを移動させることで、サブゴール列70を移動体10から近い位置~遠い位置まで移動させることができる。
 サブゴール密度調整部は、サブゴール列70に設定されるサブゴールの密度を調整可能とした調整部であり、スライダを移動させることで、サブゴール列70に設定されるサブゴールの間隔を調整して粗いサブゴールパターンから、密なサブゴールパターンまで、様々な密度のサブゴールを設定することができる。
 サブゴール密度調整部のスライダ移動により、密なサブゴールパターンを設定した場合の例を図23に示す。
 図23に示すように、ユーザ50は、ユーザ操作部80のサブゴール密度調整部のスライダを「密」側に移動させることで、サブゴール列70に設定されるサブゴールの間隔を狭くした密なサブゴールパターンを設定することができる。
 これらのサブゴール設定情報は、ユーザ端末60を介して移動体10に送信される。
 移動体10は、ユーザ端末60から受信したサブゴール設定情報に従ってサブゴールを設定する。
 図24は、複数のサブゴール列(第1サブゴール列70a~第3サブゴール列70c)を設定した場合のサブゴール調整例を示す図である。
 ユーザ50は、まず、ユーザ操作部80の調整サブゴール列選択部から、1つの調整対象サブゴール列を選択する。
 その後、選択したサブゴール列について、サブゴール位置調整部とサブゴール密度調整部のスライダを移動させてサブゴール位置や密度を調整することができる。
 図25は、サブゴール列70の設定幅を調整可能としたユーザ操作部80bを有する例である。
 ユーザ50は、ユーザ操作部80bのサブゴール幅設定部の上下の2つのスライダを上下に操作することで、サブゴールの上端部や下端部の位置を調整することができる。
 なお、図22~図25を参照して説明したサブゴール調整例は、移動体10と通信可能なスマホ等のユーザ端末60を利用した調整例であるが、例えば移動体10に備えられたユーザインタフェース(UI)部を介して、ユーザが直接、入力してサブゴールの設定を調整する構成としてもよい。
  [7.情報処理装置の構成例について]
 次に、本開示の情報処理装置の構成例について説明する。
 前述したように、例えば移動体10の内部に構成される。なお、センサ部や駆動部以外のデータ処理部は、移動体10と通信可能なサーバ等の外部装置に設ける構成としてもよい。
 図26は、本開示の情報処理装置100の一構成例を示すブロック図である。
 なお、図26に示す情報処理装置100は、移動体10内部に設けられた装置である。
 図26に示すように、情報処理装置100は、センサ(カメラ、LiDAR等)101、自己位置算出部102、障害物検出部(地図生成部)103、記憶部104、ユーザ設定ルート取得部105、サブゴール生成部106、サブゴール安全性検証部107、走行ルート決定部108、駆動部109、ユーザIF110、通信部111を有する。
 情報処理装置100の各構成部の詳細と実行する処理について、順次、説明する。
 センサ101は、例えばカメラやLiDAR等によって構成されるセンサであり、移動体10の外界環境を解析するための画像や、障害物等の様々なオブジェクトまでの距離情報等を取得するセンサである。
 なお、LiDAR(Light Detection and Ranging)は、レーザ光の入出力部を備え、レーザ光を用いて障害物までの距離を計測するセンサである。
 なお、センサ101は、カメラ、LiDARに限らず、これらの他のセンサを備えた構成としてもよい。例えば、ToFセンサ、超音波センサ、レーダ、ソナー等を備えた構成でもよい。
 自己位置算出部102は、例えば、センサ101の取得情報に基づく自己位置推定処理を行う。例えば前述したSLAM(simultaneous localization and mapping)処理を適用した自己位置推定などを行う。
 前述したように、SLAM処理は、カメラで画像(動画像)を撮影し、複数の撮影画像に含まれる特徴点の軌跡を解析することで、特徴点の3次元位置を推定するとともに、カメラ(自己)の位置姿勢を推定(ローカリゼーション)する処理であり、特徴点の3次元位置情報を用いて周囲の地図(環境地図)を作成(mapping)することができる。
 障害物検出部(地図生成部)103は、例えば、センサ101の取得情報に基づいて、移動体10の走行環境にある様々な障害物を検出し、障害物の配置情報を有する地図を生成する。この処理も、例えば上述したSLAM処理を適用して実行することができる。
 記憶部104には、例えば予めユーザ(オペレータ)が設定した移動体の走行ルート情報(ユーザ設定ルート)等が格納されている。先に説明した実施例中で説明したユーザ設定ルート30である。
 ユーザ設定ルート取得部105は、記憶部104に格納されたユーザ設定ルートを取得してサブゴール生成部106に出力する。
 なお、ユーザ設定ルートは、ユーザIF(インタフェース)110から入力してもよい。また、通信部111を介して外部の端末、例えばスマホ等のユーザ端末60から、入力してもよい。あるいは外部サーバから入力してもよい。
 ユーザ設定ルート取得部105は、ユーザ設定ルートが、これら外部から入力された場合、入力されたユーザ設定ルートをサブゴール生成部106に出力し、さらに、記憶部104に格納する。
 サブゴール生成部106は、ユーザ設定ルート取得部105から入力したユーザ設定ルートの近傍にサブゴールを生成する。
 例えば、予め設定されたユーザ設定ルートにほぼ直交するライン上に複数のサブゴールを配置したサブゴール列からなるサブゴールパターン、すなわち、ユーザ設定ルートの近傍位置から離間位置まで複数のサブゴールが配置されたサブゴールパターンを生成する。
 なお、サブゴール生成部106によるサブゴール生成処理は、先に説明した図13、図14に示すフローチャートの処理シーケンスに従って実行される。
 すなわち、まず、第1サブゴールパターン(粗いサブゴールパターン)に従ったサブゴール(粗いサブゴール)を生成する。
 この粗いサブゴールパターンによるサブゴールの安全性検証処理において、障害物に接触することなく安全走行可能なサブゴールが検出されない場合は、第2サブゴールパターン(密なサブゴールパターン)に従ったサブゴール(密なサブゴール)を生成する。
 なお、先に図11や、図15~図21を参照して説明したように、サブゴールのパターンは多数ある。どのようなサブゴールパターンを利用するかについては、例えばユーザ端末60を利用してユーザが設定可能である。あるいはユーザIF110を介してユーザが入力することもできる。
 ユーザ端末60を利用してユーザが設定したサブゴール設定情報は、通信部111を介してサブゴール生成部106に入力される。ユーザIF110を介してユーザが設定したサブゴール設定情報もサブゴール生成部106に入力される。
 サブゴール生成部106は、これらの入力情報に基づいて、ユーザ設定に従ったサブゴールパターンを生成する。
 なお、ユーザ入力が行われない場合には、予め規定されたデフォルトのサブゴールパターン、例えば先に図11を参照して説明した以下の2つのサブゴールパターンを、順次、生成する。
 (A)第1サブゴールパターン(粗いサブゴールパターン)
 (B)第2サブゴールパターン(密なサブゴールパターン)
 サブゴール安全性検証部107は、サブゴール生成部106が生成したサブゴール各々についての安全性を検証する。
 サブゴール安全性検証部107によるサブゴール各々についての安全性検証処理は、先に説明した図13、図14に示すフローチャートの処理シーケンスに従って実行される。
 すなわち、まず、サブゴール生成部106が生成した第1サブゴールパターン(粗いサブゴールパターン)から、ユーザ設定ルート30に近い位置から順にサブゴールを選択して安全性を検証する。
 サブゴール安全性検証部107によるサブゴールの安全性検証処理は、例えばいかのように実行される。
 センサ(カメラやLiDAR等)101のセンサ検出情報を用いて渉外部゛津検出部103が解析した障害物位置や、自己位置算出部102によって算出される自己位置情報を用い、例えば、移動体10の中心が選択サブゴール位置を通過するルートを走行した場合、移動体10が障害物に衝突や接触しないか否かを検証する。
 サブゴール安全性検証部107において、サブゴール生成部106が生成した第1サブゴールパターン(粗いサブゴールパターン)から安全走行可能なサブゴールが検出されなかった場合は、次に、サブゴール生成部106が生成した第2サブゴールパターン(密なサブゴールパターン)を入力する。
 サブゴール安全性検証部107は、第2サブゴールパターン(密なサブゴールパターン)を構成するサブゴール各々についても安全走行可能か否かを検証する。
 サブゴール安全性検証部107において、安全走行可能なサブゴールが検出された場合、その安全走行可能なサブゴールの位置情報が走行ルート決定部108に出力される。
 走行ルート決定部108は、サブゴール安全性検証部107から入力するサブゴール位置情報、すなわち、安全走行可能なサブゴールの位置情報を利用して、そのサブゴールを通過する走行ルートを生成し、生成した走行ルートに従って移動体10を走行させるための駆動命令を駆動部109に出力する。
 駆動部109は、走行ルート決定部1108から入力する走行ルートに従って移動体10を駆動するための制御情報を生成し移動体10を制御して決定した走行ルートに従って移動体10を走行させる。
 このような処理を行うことで、移動体10を障害物に衝突、または接触させず、かつ予め設定したユーザ設定ルート30に近い位置を安全に走行させることが可能となる。
  [8.移動体とサーバ間で通信を実行して処理を行う情報処理システムの構成例について]
 次に、移動体とサーバ間で通信を実行して処理を行う情報処理システムの構成例について説明する。
 上述した実施例では、上述の処理を行う情報処理装置を、例えばSLAM処理などによる自己位置推定や障害物検出を行う移動体10内に装着した構成として説明を行ったが、前述したように、本開示の情報処理装置は、移動体10と通信可能なサーバ等に設置する構成としてもよい。
 例えば移動体10周囲の情報を取得するためのセンサ類は移動体10に装着し、センサ取得情報を、通信ネットワークを介してサーバに送信し、サーバ側で上述した実施例に従ってセンサ取得情報を利用した処理を行う構成としてもよい。
 具体的には、図27に示すように移動体10と移動体管理サーバ210を通信ネットワークで接続した情報処理システム200の利用が可能である。
 移動体10はセンサ取得情報を移動体管理サーバ210に送信する。
 移動体管理サーバ210は、移動体10から受信するセンサ取得情報を利用して上述した実施例に従ったデータ処理を実行する。
 このような情報処理システム200を利用した構成としてもよい。
 なお、移動体10のセンサには、上述の実施例において説明したカメラ、LiDAR等が含まれる。
 さらに、スマホ等のユーザ端末を移動体10や移動体管理サーバ210と通信可能な設定として、ユーザ端末からの入力情報を移動体10や移動体管理サーバ210に提供する構成としてもよい。
  [9.情報処理装置のハードウェア構成例について]
 次に、図28を参照して、本開示の情報処理装置のハードウェア構成例について説明する。
 なお、情報処理装置は移動体10内に装着される。あるいは上述したようにセンサ部や駆動部を除くデータ処理部については、サーバ内に構成してもよい。
 図28に示すハードウェア構成は、移動体10内の情報処理装置、およびサーバ内の情報処理装置、いずれにも適用可能なハードウェア構成例である。
 図28に示すハードウェア構成について説明する。
 CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記憶部308に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
 CPU301はバス304を介して入出力インタフェース305に接続され、入出力インタフェース305には、各種スイッチ、キーボード、タッチパネル、マウス、マイクロホン、さらに、ユーザ入力部やカメラ、LiDAR等各種センサ321の状況データ取得部などよりなる入力部306、ディスプレイ、スピーカなどよりなる出力部307が接続されている。
 また、出力部307は、移動体(ロボット)の駆動部322に対する駆動情報も出力する。
 CPU301は、入力部306から入力される指令や状況データ等を入力し、各種の処理を実行し、処理結果を例えば出力部307に出力する。
 入出力インタフェース305に接続されている記憶部308は、例えばハードディスク等からなり、CPU301が実行するプログラムや各種のデータを記憶する。通信部309は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
 また、CPUの他、カメラから入力される画像情報などの専用処理部としてGPU(Graphics Processing Unit)を備えてもよい。
 入出力インタフェース305に接続されているドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア311を駆動し、データの記録あるいは読み取りを実行する。
  [10.本開示の構成のまとめ]
 以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
 なお、本明細書において開示した技術は、以下のような構成をとることができる。
 (1) 移動体の進行方向に複数のサブゴールからなるサブゴールパターンを生成するサブゴール生成部と、
 前記サブゴール生成部の生成したサブゴールパターンを構成するサブゴール各々について、前記移動体が障害物に衝突または接触することなく安全に走行可能か否かの安全性検証を行うサブゴール安全性検証部を有し、
 前記サブゴール生成部は、
 異なるサブゴール配置パターンを持つ第1サブゴールパターンと、第2サブゴールパターンを生成し、
 前記サブゴール安全性検証部は、
 前記第1サブゴールパターンに含まれるサブゴール各々についての安全性検証を行い、
 前記第1サブゴールパターンから安全走行可能なサブゴールが検出されない場合に、前記第2サブゴールパターンに含まれるサブゴール各々についての安全性検証を実行する情報処理装置。
 (2) 前記サブゴール生成部は、
 前記第1サブゴールパターンとして、隣接サブゴールの間隔が広い粗いサブゴールパターンを生成し、
 前記第2サブゴールパターンとして、隣接サブゴールの間隔が狭い密なサブゴールパターンを生成し、
 前記サブゴール安全性検証部は、
 前記粗いサブゴールパターンに含まれるサブゴール各々についての安全性検証を行い、
 前記粗いサブゴールパターンから安全走行可能なサブゴールが検出されない場合に、前記密なサブゴールパターンに含まれるサブゴール各々についての安全性検証を実行する(1)に記載の情報処理装置。
 (3) 前記サブゴール生成部は、
 予め設定されたユーザ設定ルートにほぼ直交するライン上に複数のサブゴールを配置したサブゴールパターンを生成する(1)または(2)に記載の情報処理装置。
 (4) 前記サブゴール生成部は、
 予め設定されたユーザ設定ルートにほぼ直交し、前記移動体からの距離が異なる複数のライン上に複数のサブゴールを配置したサブゴールパターンを生成する(1)~(3)いずれかに記載の情報処理装置。
 (5) 前記サブゴール生成部は、
 前記第2サブゴールパターンを、前記第1サブゴールパターンよりサブゴール数が多いサブゴールパターンとして生成する(1)~(4)いずれかに記載の情報処理装置。
 (6) 前記サブゴール生成部は、
 前記第2サブゴールパターンのサブゴールを、前記第1サブゴールパターンに設定されたサブゴールの位置と異なる位置に配置する(1)~(5)いずれかに記載の情報処理装置。
 (7) 前記サブゴール生成部は、
 前記移動体が利用する占有格子地図(グリッドマップ)の分解能に応じたサブゴール配置構成を持つサブゴールパターンを生成する(1)~(6)いずれかに記載の情報処理装置。
 (8) 前記サブゴール生成部は、
 予め設定されたユーザ設定ルートに近い位置では隣接サブゴール間隔を狭くし、前記ユーザ設定ルートから遠い位置では隣接サブゴール間隔を広く設定したサブゴールパターンを生成する(1)~(7)いずれかに記載の情報処理装置。
 (9) 前記サブゴール安全性検証部は、
 予め設定されたユーザ設定ルートの近傍位置のサブゴールから順次、安全性検証を実行する(1)~(8)いずれかに記載の情報処理装置。
 (10) 前記サブゴール安全性検証部は、
 予め設定されたユーザ設定ルートの近傍位置のサブゴールから順次、安全性検証を実行し、安全性が確認されたサブゴールが検出された場合、ユーザ設定ルートからさらに離間した位置のサブゴールの安全性検証は実行しない構成である(1)~(9)いずれかに記載の情報処理装置。
 (11) 前記サブゴール安全性検証部における安全性検証において、
 前記第1サブゴールパターン、および前記第2サブゴールパターンから安全走行可能なサブゴールが検出されない場合、
 前記サブゴール生成部は、
 前記第1サブゴールパターン、および前記第2サブゴールパターンと異なるサブゴール配置構成を有する第3サブゴールパターンを生成し、
 前記サブゴール安全性検証部が、
 前記第3サブゴールパターンに含まれるサブゴール各々についての安全性検証を実行する(1)~(10)いずれかに記載の情報処理装置。
 (12) 前記情報処理装置は、さらに、
 前記移動体の走行ルートを決定する走行ルート決定部を有し、
 前記サブゴール安全性検証部は、
 安全性が確認されたサブゴールが検出された場合、安全性が確認されたサブゴールの位置を前記走行ルート決定部に通知し、
 前記走行ルート決定部は、
 前記安全性が確認されたサブゴールの位置を通過する走行ルートを決定する(1)~(11)いずれかに記載の情報処理装置。
 (13) 前記サブゴール生成部は、
 ユーザ端末、またはユーザインタフェースを介してサブゴール設定情報を入力し、入力したサブゴール設定情報に従ったサブゴール配置を有するサブゴールパターンを生成する(1)~(12)いずれかに記載の情報処理装置。
 (14) 情報処理装置において実行する情報処理方法であり、
 サブゴール生成部が、
 移動体の進行方向に複数のサブゴールからなるサブゴールパターンを生成するサブゴール生成ステップと、
 サブゴール安全性検証部が、
 前記サブゴール生成部の生成したサブゴールパターンを構成するサブゴール各々について、前記移動体が障害物に衝突または接触することなく安全に走行可能か否かの安全性検証を行うサブゴール安全性検証ステップを実行し、
 前記サブゴール生成ステップは、
 異なるサブゴール配置パターンを持つ第1サブゴールパターンと、第2サブゴールパターンを生成するステップであり、
 前記サブゴール安全性検証ステップは、
 前記第1サブゴールパターンに含まれるサブゴール各々についての安全性検証を行い、
 前記第1サブゴールパターンから安全走行可能なサブゴールが検出されない場合に、前記第2サブゴールパターンに含まれるサブゴール各々についての安全性検証を実行するステップである情報処理方法。
 (15) 情報処理装置において情報処理を実行させるプログラムであり、
 サブゴール生成部に、
 移動体の進行方向に複数のサブゴールからなるサブゴールパターンを生成するサブゴール生成ステップと、
 サブゴール安全性検証部に、
 前記サブゴール生成部の生成したサブゴールパターンを構成するサブゴール各々について、前記移動体が障害物に衝突または接触することなく安全に走行可能か否かの安全性検証を行うサブゴール安全性検証ステップを実行させ、
 前記サブゴール生成ステップにおいては、
 異なるサブゴール配置パターンを持つ第1サブゴールパターンと、第2サブゴールパターンを生成させ、
 前記サブゴール安全性検証ステップにおいては、
 前記第1サブゴールパターンに含まれるサブゴール各々についての安全性検証を行わせ、
 前記第1サブゴールパターンから安全走行可能なサブゴールが検出されない場合に、前記第2サブゴールパターンに含まれるサブゴール各々についての安全性検証を実行させるプログラム。
 なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 また、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 以上、説明したように、本開示の一実施例の構成によれば、サブゴールの安全性確認における処理負荷を軽減するとともに、安全な走行ルートの検出可能性の向上を可能とした装置、方法を実現する。
 具体的には、例えば、移動体進行方向に複数のサブゴールからなるサブゴールパターンを生成するサブゴール生成部と、サブゴールパターンを構成するサブゴール各々について、移動体が安全に走行可能か否かの安全性検証を行うサブゴール安全性検証部を有する。サブゴール生成部は、サブゴール間隔が広い粗いサブゴールパターンと、サブゴール間隔が狭い密なサブゴールパターンを生成する。サブゴール安全性検証部は、粗いサブゴールパターンのサブゴールについての安全性検証を行い、安全走行可能なサブゴールが検出されない場合に、密なサブゴールパターンのサブゴール各々についての安全性検証を実行する。
 本構成により、サブゴールの安全性確認における処理負荷を軽減するとともに、安全な走行ルートの検出可能性の向上を可能とした装置、方法が実現される。
  10 移動体
  11 他の移動体
  20,21 障害物
  30 ユーザ設定ルート
  50 ユーザ
  60 ユーザ端末
  70 サブゴール列
  80 ユーザ操作部
 100 情報処理装置
 101 センサ(カメラ、LiDAR等)
 102 自己位置算出部
 103 障害物検出部(地図生成部)
 104 記憶部
 105 ユーザ設定ルート取得部
 106 サブゴール生成部
 107 サブゴール安全性検証部
 108 走行ルート決定部
 109 駆動部
 110 ユーザIF
 111 通信部
 200 情報処理システム
 210 移動体管理サーバ
 301 CPU
 302 ROM
 303 RAM
 304 バス
 305 入出力インタフェース
 306 入力部
 307 出力部
 308 記憶部
 309 通信部
 310 ドライブ
 311 リムーバブルメディア
 321 センサ
 322 駆動部

Claims (15)

  1.  移動体の進行方向に複数のサブゴールからなるサブゴールパターンを生成するサブゴール生成部と、
     前記サブゴール生成部の生成したサブゴールパターンを構成するサブゴール各々について、前記移動体が障害物に衝突または接触することなく安全に走行可能か否かの安全性検証を行うサブゴール安全性検証部を有し、
     前記サブゴール生成部は、
     異なるサブゴール配置パターンを持つ第1サブゴールパターンと、第2サブゴールパターンを生成し、
     前記サブゴール安全性検証部は、
     前記第1サブゴールパターンに含まれるサブゴール各々についての安全性検証を行い、
     前記第1サブゴールパターンから安全走行可能なサブゴールが検出されない場合に、前記第2サブゴールパターンに含まれるサブゴール各々についての安全性検証を実行する情報処理装置。
  2.  前記サブゴール生成部は、
     前記第1サブゴールパターンとして、隣接サブゴールの間隔が広い粗いサブゴールパターンを生成し、
     前記第2サブゴールパターンとして、隣接サブゴールの間隔が狭い密なサブゴールパターンを生成し、
     前記サブゴール安全性検証部は、
     前記粗いサブゴールパターンに含まれるサブゴール各々についての安全性検証を行い、
     前記粗いサブゴールパターンから安全走行可能なサブゴールが検出されない場合に、前記密なサブゴールパターンに含まれるサブゴール各々についての安全性検証を実行する請求項1に記載の情報処理装置。
  3.  前記サブゴール生成部は、
     予め設定されたユーザ設定ルートにほぼ直交するライン上に複数のサブゴールを配置したサブゴールパターンを生成する請求項1に記載の情報処理装置。
  4.  前記サブゴール生成部は、
     予め設定されたユーザ設定ルートにほぼ直交し、前記移動体からの距離が異なる複数のライン上に複数のサブゴールを配置したサブゴールパターンを生成する請求項1に記載の情報処理装置。
  5.  前記サブゴール生成部は、
     前記第2サブゴールパターンを、前記第1サブゴールパターンよりサブゴール数が多いサブゴールパターンとして生成する請求項1に記載の情報処理装置。
  6.  前記サブゴール生成部は、
     前記第2サブゴールパターンのサブゴールを、前記第1サブゴールパターンに設定されたサブゴールの位置と異なる位置に配置する請求項1に記載の情報処理装置。
  7.  前記サブゴール生成部は、
     前記移動体が利用する占有格子地図(グリッドマップ)の分解能に応じたサブゴール配置構成を持つサブゴールパターンを生成する請求項1に記載の情報処理装置。
  8.  前記サブゴール生成部は、
     予め設定されたユーザ設定ルートに近い位置では隣接サブゴール間隔を狭くし、前記ユーザ設定ルートから遠い位置では隣接サブゴール間隔を広く設定したサブゴールパターンを生成する請求項1に記載の情報処理装置。
  9.  前記サブゴール安全性検証部は、
     予め設定されたユーザ設定ルートの近傍位置のサブゴールから順次、安全性検証を実行する請求項1に記載の情報処理装置。
  10.  前記サブゴール安全性検証部は、
     予め設定されたユーザ設定ルートの近傍位置のサブゴールから順次、安全性検証を実行し、安全性が確認されたサブゴールが検出された場合、ユーザ設定ルートからさらに離間した位置のサブゴールの安全性検証は実行しない構成である請求項1に記載の情報処理装置。
  11.  前記サブゴール安全性検証部における安全性検証において、
     前記第1サブゴールパターン、および前記第2サブゴールパターンから安全走行可能なサブゴールが検出されない場合、
     前記サブゴール生成部は、
     前記第1サブゴールパターン、および前記第2サブゴールパターンと異なるサブゴール配置構成を有する第3サブゴールパターンを生成し、
     前記サブゴール安全性検証部が、
     前記第3サブゴールパターンに含まれるサブゴール各々についての安全性検証を実行する請求項1に記載の情報処理装置。
  12.  前記情報処理装置は、さらに、
     前記移動体の走行ルートを決定する走行ルート決定部を有し、
     前記サブゴール安全性検証部は、
     安全性が確認されたサブゴールが検出された場合、安全性が確認されたサブゴールの位置を前記走行ルート決定部に通知し、
     前記走行ルート決定部は、
     前記安全性が確認されたサブゴールの位置を通過する走行ルートを決定する請求項1に記載の情報処理装置。
  13.  前記サブゴール生成部は、
     ユーザ端末、またはユーザインタフェースを介してサブゴール設定情報を入力し、入力したサブゴール設定情報に従ったサブゴール配置を有するサブゴールパターンを生成する請求項1に記載の情報処理装置。
  14.  情報処理装置において実行する情報処理方法であり、
     サブゴール生成部が、
     移動体の進行方向に複数のサブゴールからなるサブゴールパターンを生成するサブゴール生成ステップと、
     サブゴール安全性検証部が、
     前記サブゴール生成部の生成したサブゴールパターンを構成するサブゴール各々について、前記移動体が障害物に衝突または接触することなく安全に走行可能か否かの安全性検証を行うサブゴール安全性検証ステップを実行し、
     前記サブゴール生成ステップは、
     異なるサブゴール配置パターンを持つ第1サブゴールパターンと、第2サブゴールパターンを生成するステップであり、
     前記サブゴール安全性検証ステップは、
     前記第1サブゴールパターンに含まれるサブゴール各々についての安全性検証を行い、
     前記第1サブゴールパターンから安全走行可能なサブゴールが検出されない場合に、前記第2サブゴールパターンに含まれるサブゴール各々についての安全性検証を実行するステップである情報処理方法。
  15.  情報処理装置において情報処理を実行させるプログラムであり、
     サブゴール生成部に、
     移動体の進行方向に複数のサブゴールからなるサブゴールパターンを生成するサブゴール生成ステップと、
     サブゴール安全性検証部に、
     前記サブゴール生成部の生成したサブゴールパターンを構成するサブゴール各々について、前記移動体が障害物に衝突または接触することなく安全に走行可能か否かの安全性検証を行うサブゴール安全性検証ステップを実行させ、
     前記サブゴール生成ステップにおいては、
     異なるサブゴール配置パターンを持つ第1サブゴールパターンと、第2サブゴールパターンを生成させ、
     前記サブゴール安全性検証ステップにおいては、
     前記第1サブゴールパターンに含まれるサブゴール各々についての安全性検証を行わせ、
     前記第1サブゴールパターンから安全走行可能なサブゴールが検出されない場合に、前記第2サブゴールパターンに含まれるサブゴール各々についての安全性検証を実行させるプログラム。
PCT/JP2022/002358 2021-03-31 2022-01-24 情報処理装置、および情報処理方法、並びにプログラム WO2022209208A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021060123A JP2022156432A (ja) 2021-03-31 2021-03-31 情報処理装置、および情報処理方法、並びにプログラム
JP2021-060123 2021-03-31

Publications (1)

Publication Number Publication Date
WO2022209208A1 true WO2022209208A1 (ja) 2022-10-06

Family

ID=83458647

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/002358 WO2022209208A1 (ja) 2021-03-31 2022-01-24 情報処理装置、および情報処理方法、並びにプログラム

Country Status (2)

Country Link
JP (1) JP2022156432A (ja)
WO (1) WO2022209208A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065755A (ja) * 2006-09-11 2008-03-21 Hitachi Ltd 移動装置
JP2016081404A (ja) * 2014-10-21 2016-05-16 株式会社日立製作所 自律移動装置
WO2021024683A1 (ja) * 2019-08-05 2021-02-11 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065755A (ja) * 2006-09-11 2008-03-21 Hitachi Ltd 移動装置
JP2016081404A (ja) * 2014-10-21 2016-05-16 株式会社日立製作所 自律移動装置
WO2021024683A1 (ja) * 2019-08-05 2021-02-11 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム

Also Published As

Publication number Publication date
JP2022156432A (ja) 2022-10-14

Similar Documents

Publication Publication Date Title
KR102151811B1 (ko) 회피경로 생성방법 및 그를 위한 장치
US7532109B2 (en) Vehicle obstacle verification system
CN104865579A (zh) 具有判断检测对象运动状况的功能的车载障碍物检测装置
KR20200075916A (ko) 차량의 주행 제어 장치 및 그 방법
US11898855B2 (en) Assistance control system that prioritizes route candidates based on unsuitable sections thereof
EP1480057B1 (en) Monitoring system of the outside of a vehicle and method therefore
CN104554258A (zh) 采用虚拟势场技术的避让转向操作的路径规划
JP6959056B2 (ja) 移動ロボットの制御装置と制御方法
CN104554272A (zh) 存在目标车辆和周围物体时的避让转向操作的路径规划
KR20190016332A (ko) 딥 러닝 기반 자율 주행 차량, 딥 러닝 기반 자율 주행 제어 장치 및 딥 러닝 기반 자율 주행 제어 방법
JP6573769B2 (ja) 車両走行制御装置
JPWO2019058720A1 (ja) 情報処理装置、自律型移動装置、および方法、並びにプログラム
JP2003205804A (ja) 車両用衝突被害軽減装置
JP4552869B2 (ja) 移動体の追従方法
EP3667451B1 (en) Method and system for controlling a plurality of autonomous vehicles
KR20220056922A (ko) 자율주행 제어 장치 및 방법
CN112977472A (zh) 预测车辆的移动轨迹的方法及系统
US11814072B2 (en) Method and system for conditional operation of an autonomous agent
CN113954824A (zh) 防止与切入车辆碰撞的自动驾驶系统、方法及可读介质
CN113655469A (zh) 基于智能驾驶的预测感知盲区中存在物体的方法及系统
KR20220029859A (ko) 주행 제어 장치 및 방법
JP2022522298A (ja) 速度および位置情報を使用するレーダ反射の認識
CN113504782B (zh) 障碍物防撞方法、装置、系统和移动工具
WO2022209208A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
KR101807397B1 (ko) 장애물의 위험도에 기반한 장애물 회피 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22779438

Country of ref document: EP

Kind code of ref document: A1