WO2022239455A1 - 情報処理装置、移動制御システム及び情報処理方法 - Google Patents

情報処理装置、移動制御システム及び情報処理方法 Download PDF

Info

Publication number
WO2022239455A1
WO2022239455A1 PCT/JP2022/011423 JP2022011423W WO2022239455A1 WO 2022239455 A1 WO2022239455 A1 WO 2022239455A1 JP 2022011423 W JP2022011423 W JP 2022011423W WO 2022239455 A1 WO2022239455 A1 WO 2022239455A1
Authority
WO
WIPO (PCT)
Prior art keywords
moving
information
route
movement
information processing
Prior art date
Application number
PCT/JP2022/011423
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 WO2022239455A1 publication Critical patent/WO2022239455A1/ja

Links

Images

Classifications

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

Definitions

  • the present disclosure relates to an information processing device, a movement control system, and an information processing method.
  • Some mobile robots create an action plan based on a map of the external world and act based on the created action plan in order to achieve their action goals.
  • Patent Document 1 an image of a shape feature at a fixed position in a work area is analyzed, and an obstacle exists in the robot coordinate system from the position and orientation of the reference coordinate system in the robot coordinate system and the obstacle shape model.
  • a technique is disclosed for setting an interference region to be used.
  • the present disclosure provides an information processing device, a movement control system, and an information processing method that can prevent an increase in the cost of moving bodies and efficiently move a plurality of moving bodies.
  • an information processing apparatus includes a planning unit that plans, based on route information, a movement route for moving a plurality of moving objects to be controlled; a determination unit that determines whether the object is another moving object to be controlled when a sensor of the moving object detects an object within a detection range, wherein the determination unit determines whether the object is another moving object to be controlled; is not the other moving object, it is determined that the movement route along which the object is detected is an immovable route due to a stationary obstacle.
  • a movement control system includes: a plurality of moving bodies capable of moving along a route indicated by route information; wherein the information processing device comprises: a planning unit that plans a movement route for moving a plurality of moving objects to be controlled based on the route information; a determining unit that determines, when an object is detected inside, whether the object is another moving body to be controlled, wherein the determining unit determines that the object is not the other moving body. If so, it is determined that the moving route along which the object is detected is a route that is immovable due to obstacles.
  • an information processing method includes: a computer planning a movement route for moving a plurality of moving bodies to be controlled based on route information; Determining whether or not the object is another moving body to be controlled when a sensor of a moving moving body detects an object within a detection range, and determining that the object is not the other moving body determining that the movement route along which the object is detected is an obstacle-immovable route, if the object is detected.
  • FIG. 1 is a configuration diagram showing an example of a configuration of a moving body according to an embodiment
  • FIG. 1 is a configuration diagram showing an example of the configuration of an information processing apparatus according to an embodiment
  • FIG. It is a figure which shows an example of the sequence of the movement control system which concerns on embodiment.
  • FIG. 7 is a flowchart showing an example of self-location notification processing of a mobile object according to the embodiment; 7 is a flowchart showing an example of route planning processing of the information processing device according to the embodiment; 7 is a flowchart illustrating an example of movement control processing for a moving object according to the embodiment; 7 is a flowchart illustrating an example of object detection processing for a moving object according to the embodiment; 6 is a flowchart showing an example of object determination processing of the information processing apparatus according to the embodiment; It is a figure for demonstrating an example in which the information processing apparatus which concerns on embodiment determines an object. It is a figure for demonstrating an example in which the information processing apparatus which concerns on embodiment changes route information.
  • FIG. 7 is a diagram showing an example of a sequence when changing route information in the mobility control system according to the embodiment.
  • FIG. 4 is a diagram for explaining an example of an operation of a moving object controlled by the movement control system according to the embodiment;
  • 1 is a hardware configuration diagram showing an example of a computer that implements functions of an information processing apparatus;
  • FIG. 1 is a diagram for explaining an example of a movement control system according to an embodiment.
  • a movement control system 1 shown in FIG. 1 is a system that controls movements of a plurality of mobile bodies 100 that can move in, for example, factories, warehouses, hospitals, public facilities, and the like.
  • the movement control system 1 controls movement of each of a plurality of moving bodies 100 to be controlled.
  • the movement control system 1 controls each of the plurality of moving bodies 100 to move on the route.
  • the plurality of moving bodies 100 includes, for example, robots, vehicles (motorcycles, automobiles, bicycles), trolleys, drones, and the like.
  • the mobile object 100 is a movable robot.
  • the movement control system 1 includes a plurality of mobile bodies 100 and an information processing device 200 that controls movement of the plurality of mobile bodies 100 .
  • a plurality of moving bodies 100 and information processing apparatuses 200 may be arranged at the same place or at different places.
  • the information processing device 200 is configured to be able to communicate with each of the plurality of moving bodies 100 .
  • the moving body 100 has a function of estimating its own position based on the results of its actual movement, position markers provided in the outside world, and the like.
  • Self-position means the current position of the moving body 100, for example.
  • the moving body 100 has a function of transmitting self-location information D10 that can identify the coordinates and angle of the current self-location to the information processing device 200 .
  • the moving body 100 has a function of receiving the movement route information D30 from the information processing device 200.
  • the movement route information D30 includes information created based on the movement task information D20 that enables identification of the movement source and movement destination specified by the user U.
  • the movement task information D20 may include, for example, information indicating relay points on the route from the movement source to the movement destination.
  • the movement route information D30 includes, for example, information indicating the arrangement of a plurality of target coordinates on the route to reach the destination.
  • the moving body 100 has a function of performing trajectory planning such as rotation direction and speed of the moving body 100 based on the route indicated by the movement path information D30 and the self-position.
  • the moving body 100 has a sensor that detects an object existing within a detection range in the traveling direction. Sensors include, for example, proximity sensors.
  • the moving body 100 has a function of notifying the information processing device 200 that the sensor has detected an object within the detection range.
  • the information processing device 200 is, for example, a dedicated or general-purpose computer.
  • the information processing device 200 is a so-called cloud server, and is a server device that executes information processing in cooperation with the mobile object 100 .
  • the information processing device 200 has a function of managing the self-position information D10 received from the mobile object 100 .
  • the information processing device 200 has a function of navigating a plurality of moving bodies 100 using a route map.
  • a route map includes, for example, a topological map (node graph).
  • the information processing device 200 has a function of acquiring the mobile task information D20 specified by the user U via the information terminal 300 and determining the mobile object 100 that executes the mobile task.
  • the information processing apparatus 200 may acquire the moving task information D20 not from the information terminal 300 but from another server, system, or the like.
  • the information processing device 200 has a function of generating moving route information D30 indicating a moving route to a destination indicated by the moving task information D20 based on a route map.
  • the information processing device 200 has a function of transmitting movement route information D30 to the moving object 100 executing the movement task.
  • FIG. 2 is a diagram showing an example of a route map according to the embodiment.
  • the route map 500 expresses target areas in which a plurality of moving bodies 100 can move as a node graph.
  • the route map 500 is an example of route information.
  • the route map 500 has nodes 510 and edges 520 .
  • a node 510 indicates an arbitrary position on the path.
  • Edges 520 indicate connections and paths between adjacent nodes 510 .
  • a route map 500 indicates a plurality of routes by combining nodes 510 and edges 520 .
  • the route map 500 can set a destination node 530 indicating the destination, position, and the like of the mobile object 100 . In the route map 500, when an obstacle 540 exists on an edge 520, the obstacle 540 renders the moving body 100 immobile.
  • the plurality of moving bodies 100 can move on the route indicated by the nodes 510 and edges 520 of the route map 500, and cannot move off the route.
  • the information processing apparatus 200 obtains the shortest route from the moving body 100 to the destination node 530 by using a known algorithm, and transmits movement route information D30 indicating the obtained route to the moving body 100 .
  • Known algorithms include, for example, the Dijkstra method, the Bellman-Ford method, and the like.
  • the moving body 100 moves in the direction indicated by the arrow and has a detection range 111E in front of it for detecting objects.
  • FIG. 3 is a diagram showing an example of an object in the movement control system 1 according to the embodiment.
  • the movement control system 1 detects the moving obstacle 600 on the edge 520 (path) as an object by the moving body 100.
  • FIG. Moving obstacles 600 include, for example, humans, animals, moving devices whose movement is controlled by other controllers, and the like.
  • the movement control system 1 detects another moving body 100 on the edge 520 as the moving body 100 as an object.
  • the movement control system 1 detects the obstacle 540 on the edge 520 as an object by the moving body 100.
  • the movement control system 1 provides a function for the information processing device 200 to determine objects in the order of scene C1, scene C2, and scene C3, for example.
  • the moving bodies 100 Unable to move on route.
  • the route of the moving body 100 may be a fixed route such as a rail or a dedicated lane.
  • objects on the path are divided into moving obstacles 600 and obstacles 540 that are static obstacles that are not moving obstacles 600 .
  • a moving obstacle 600 is an object that may move on the route or exist temporarily.
  • a stationary obstacle is an object that is unlikely to move from the path and requires the moving object 100 to detour. Stationary obstacles include, for example, placed objects and the like.
  • the movement control system 1 prevents the cost increase of the moving bodies 100 and makes it possible to efficiently move the plurality of moving bodies 100 .
  • FIG. 4 is a configuration diagram showing an example of the configuration of the mobile object 100 according to the embodiment.
  • the moving body 100 has a sensor section 110 , a communication section 120 , a driving section 130 , a storage section 140 and a control section 150 .
  • the control unit 150 is electrically connected to the sensor unit 110, the communication unit 120, the driving unit 130, the storage unit 140, and the like.
  • the mobile object 100 may be referred to as "own machine".
  • the sensor unit 110 includes various sensors that detect sensor information used for processing the moving body 100 .
  • the sensor unit 110 supplies at least part of the detected sensor information to the information processing device 200 and the like.
  • the sensor unit 110 has, for example, a proximity sensor 111, an encoder 112, an acceleration sensor 113, and a code sensor 114.
  • the proximity sensor 111 detects the presence of nearby objects without contact.
  • the proximity sensor 111 can be configured by, for example, an inductive type, a capacitance type, an ultrasonic type, a photoelectric type, a magnetic type, or the like.
  • the proximity sensor 111 has, for example, a light-emitting element that emits infrared light and a light-receiving element that receives reflected infrared light emitted from the light-emitting element.
  • the proximity sensor 111 supplies the control unit 150 with sensor information capable of identifying the detection result as to whether or not an object exists within the detection range 111E.
  • the proximity sensor 111 is, for example, a sensor that is cheaper than LiDAR, detects only the existence of an object, and cannot detect the approximate shape, shape, etc. of the object.
  • the encoder 112 detects the drive amount of the wheels driven by the drive unit 130 .
  • the encoder 112 supplies the control unit 150 with sensor information that can identify the detected drive amount.
  • the acceleration sensor 113 detects the direction, magnitude, etc. of acceleration acting on the mobile object 100 .
  • the acceleration sensor 113 supplies the control unit 150 with sensor information capable of identifying the detected acceleration.
  • the code sensor 114 detects position markers provided in the external environment in which the mobile object 100 moves.
  • the position marker includes, for example, a QR code (registered trademark) or the like.
  • a location marker contains a location code.
  • the position code includes, for example, a code for position correction, information indicating coordinates, and the like.
  • the location code can be used to estimate the current coordinates.
  • a position marker is provided at, for example, the position of the node 510, the reference position, or the like.
  • the code sensor 114 supplies the control unit 150 with sensor information capable of identifying the position code of the detected position marker.
  • the communication unit 120 communicates with the information processing device 200 .
  • the communication unit 120 supplies various information received from the information processing device 200 to the control unit 150 .
  • the communication unit 120 transmits information instructed by the control unit 150 to the information processing device 200 .
  • the communication protocol supported by the communication unit 120 is not particularly limited, and the communication unit 120 can also support multiple types of communication protocols.
  • the drive unit 130 drives a moving mechanism that moves the moving body 100 .
  • Movement mechanisms include, for example, mechanisms for driving wheels, legs, propellers, and the like.
  • the drive unit 130 drives the moving mechanism according to the operation command or the like output from the control unit 150 . As a result, the moving body 100 moves by driving the moving mechanism.
  • the storage unit 140 stores various data and programs.
  • the storage unit 11 is realized by, for example, a semiconductor memory device such as a RAM or flash memory, or a storage device such as a hard disk or an optical disk. Note that the storage unit 140 may be provided outside the moving body 100 . Specifically, storage unit 140 may be a storage device that can be accessed by control unit 150 via a network.
  • the storage unit 140 stores various types of information such as self-location information D10, movement route information D30, and trajectory plan information D40, for example.
  • the self-location information D10 includes information indicating the self-location of the moving body 100.
  • FIG. The storage unit 140 stores at least the latest self-location information D10.
  • the movement route information D30 is information received from the information processing device 200 .
  • the movement route information D30 is information indicating the movement route from the movement source to the movement destination.
  • the movement route information D30 includes, for example, information such as a plurality of target coordinates (node string) corresponding to the movement route to reach the destination.
  • the trajectory plan information D40 includes information indicating the rotation direction, movement speed, etc. of the moving body 100 based on the movement route information D30.
  • the control unit 150 is an arithmetic processing unit. Arithmetic processing units include, for example, CPUs (Central Processing Units), SoCs (System-on-a-Chips), MCUs (Micro Control Units), FPGAs (Field-Programmable Gate Arrays), and coprocessors. Not limited.
  • the control unit 150 executes commands included in the programs stored in the storage unit 140 while referring to the information stored in the storage unit 140 as necessary, and controls the operation of the moving body 100 in an integrated manner. to realize various functions.
  • the control unit 150 includes functional units such as a self-position estimation unit 151, a trajectory planning unit 152, a drive control unit 153, and an object detection unit 154, for example.
  • the self-position estimation unit 151 estimates the self-position of the moving body 100 based on the sensor information detected by the sensor unit 110 .
  • the self-position estimation unit 151 estimates the self-position including the position and posture of the mobile body 100, for example.
  • the orientation of the mobile object 100 includes, for example, the orientation (traveling direction) of the mobile object 100 and the like.
  • the self-location estimation unit 151 may estimate the self-location, for example, based on the location information indicated by the location code or the like acquired from the outside of the moving body 100 .
  • the self-location estimating unit 151 may estimate the self-location using, for example, a highly accurate map using techniques such as SLAM (Simultaneous Localization and Mapping).
  • Self-position estimation section 151 stores self-position information D10 indicating the estimated self-position in storage section 140 .
  • the trajectory planning unit 152 plans the trajectory of the moving object 100 that moves along the movement route indicated by the movement route information D30.
  • the trajectory planning unit 152 plans the rotational direction, moving speed, and the like of the moving body 100 from its own position toward the target coordinates, taking into account the movement performance of the moving body 100 .
  • the trajectory planning unit 152 reads the target coordinates from the moving route information D30 and plans the trajectory from the self position to the target coordinates.
  • the trajectory planning unit 152 sequentially reads the target coordinates of the movement route information D30 and plans the trajectory to the destination.
  • the trajectory planning unit 152 stores the planned trajectory planning information D40 of the moving body 100 in the storage unit 140 .
  • the drive control unit 153 controls driving of the drive unit 130 so that the moving body 100 moves along the movement route.
  • the drive control unit 153 outputs to the drive unit 130, for example, an operation command or the like for realizing the movement of the movement route based on the self-location information D10 and the trajectory plan information D40.
  • the moving body 100 moves along the moving path by driving the driving unit 130 to operate the moving mechanism.
  • the drive control unit 153 stops driving the drive unit 130.
  • the object detection unit 154 notifies the information processing device 200 via the communication unit 120 that the proximity sensor 111 has detected the presence of an object inside the detection range 111E. Object detection unit 154 notifies information processing apparatus 200 via communication unit 120 to cancel object detection when proximity sensor 111 changes from the state in which the presence of an object is detected to the state in which the presence of an object is not detected.
  • the functional configuration example of the moving body 100 according to the present embodiment has been described above. Note that the above configuration described using FIG. 4 is merely an example, and the functional configuration of the moving body 100 according to this embodiment is not limited to the example.
  • the functional configuration of the moving body 100 according to this embodiment can be flexibly modified according to specifications and operations.
  • FIG. 5 is a configuration diagram showing an example of the configuration of the information processing device 200 according to the embodiment.
  • the information processing apparatus 200 includes a communication section 210, a storage section 220, and a control section 230.
  • Control unit 230 is electrically connected to communication unit 210 and storage unit 220 .
  • the communication unit 210 communicates with each of the plurality of mobile units 100.
  • the communication unit 210 for example, transmits and receives various data via a network.
  • the communication unit 210 supplies various information received from the mobile object 100 to the control unit 230, for example.
  • the communication unit 210 for example, transmits the information instructed by the control unit 230 to the instructed destination.
  • the communication protocol supported by the communication unit 210 is not particularly limited, and the communication unit 210 can also support multiple types of communication protocols.
  • the storage unit 220 stores various data and programs.
  • the storage unit 220 is, for example, a RAM, a semiconductor memory device such as a flash memory, a hard disk, an optical disk, or the like.
  • Storage unit 220 stores information received via communication unit 210 .
  • the storage unit 220 stores various types of information such as route information D100, moving body information D200, self-location information D10, movement task information D20, and movement route information D30, for example.
  • the route information D100 includes information indicating routes in the target area for controlling the movement of the plurality of moving bodies 100.
  • the route information D100 includes, for example, information indicating a route in the target area in a node graph (topological map).
  • the route information D100 includes information modeling the route of the entire environment of the target area.
  • the route information D100 includes, for example, information that can identify the route map 500 shown in FIG.
  • the route information D100 can include information indicating routes that are immovable due to obstacles.
  • the mobile body information D200 includes information about the mobile body 100 to be controlled in the target area.
  • the moving body information D200 includes information indicating the current position, moving state, specifications, etc. of the moving body 100 in the target area.
  • the moving state indicates, for example, a state in which the mobile object 100 is moving, a state in which it is stopped, or the like.
  • the storage unit 220 can store a plurality of moving body information D200 corresponding to each of the plurality of moving bodies 100. FIG.
  • the mobile object information D200 includes outline information D210 that allows the outline of the mobile object 100 to be identified.
  • the outline information D210 may include, for example, shape information D211 that indicates the shape, size, center position, outline, etc. of the moving body 100 when flattened.
  • the outline information D210 may include, for example, outline information D212 that indicates the outline of the moving body 100 when flattened, characteristic coordinates, and the like.
  • the outline information D212 includes, for example, information that can identify the coordinates, shape, and the like of feature points such as squares, trapezoids, and circles.
  • the outline information D210 may be configured to include both the shape information D211 and the outline information D212.
  • the self-position information D10 is information received from the mobile object 100.
  • the self-location information D10 includes information indicating the self-location of the moving body 100 to be controlled by the information processing device 200 .
  • the storage unit 220 can store the self-location information D10 in association with the mobile body information D200 corresponding to the mobile body 100 that transmitted the self-location information D10.
  • the self-location information D10 indicates the self-location of each of the plurality of moving bodies 100.
  • the migration task information D20 includes information indicating a migration task that specifies a migration source and a migration destination.
  • the mobile task information D20 includes, for example, information indicating the mobile task specified by the user U, the mobile task specified by the computer, and the like.
  • the storage unit 220 can store a plurality of moving task information D20.
  • the movement route information D30 includes information indicating the movement route of the moving body 100 to reach the destination.
  • the movement route information D30 includes information indicating the route from the movement source indicated by the movement task to the movement destination.
  • the moving route information D30 is associated with the moving body information D200 corresponding to the moving body 100 to be controlled.
  • the movement route information D30 includes, for example, information indicating the arrangement of a plurality of target coordinates until reaching the movement destination and the coordinates of the movement destination.
  • the storage unit 220 can store a plurality of moving route information D30.
  • the information processing device 200 stores the route information D100 and the moving object information D200 in the internal storage unit 220, but the present invention is not limited to this.
  • the information processing device 200 may store the route information D100 and the moving body information D200 in an accessible external storage device.
  • the control unit 230 is, for example, a dedicated or general-purpose computer.
  • the control unit 230 is, for example, an integrated control unit that controls the information processing device 200 .
  • the control unit 230 has functions for controlling movement of the plurality of mobile bodies 100 in the target area.
  • the control unit 230 includes functional units including a task planning unit 231 , a planning unit 232 , a determining unit 233 , a changing unit 234 , a specifying unit 235 , and a calculating unit 236 .
  • Each functional unit of the control unit 230 executes a program stored inside the information processing device 200 by using, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit) as a work area such as a RAM. Realized.
  • each functional unit may be implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA, for example.
  • ASIC Application Specific Integrated Circuit
  • the task planning unit 231 determines the moving object 100 to be moved from among the plurality of moving objects 100 based on the moving task information D20 and the moving object information D200. For example, the task planning unit 231 determines the moving object 100 located near the movement source indicated by the movement task information D20 as a movement target. The task planning unit 231 determines the moving body 100 to move along the planned movement route from among the moving bodies 100 that have not executed the movement task. The task planning unit 231 associates the movement task information D20 with the mobile body information D200 indicating the mobile body 100 to be moved, and registers the destination and the mobile body 100 to be moved.
  • the planning unit 232 plans a movement route for moving the plurality of moving bodies 100 to be controlled from the route information D100.
  • the planning unit 232 obtains the shortest route from the movement source indicated by the movement task information D20 to the movement destination using an algorithm such as the Dijkstra method. For example, the planning unit 232 uses the spatial distance of the edge 520 indicated by the route information D100 as a cost, and the sequence of nodes 510 (node sequence ) is calculated by the Dijkstra method.
  • the planning unit 232 generates moving route information D30 indicating the calculated moving route, and stores the moving route information D30 in the storage unit 220 in association with the moving body information D200 of the determined moving body 100 .
  • the determination unit 233 determines whether the object is another mobile body 100 to be controlled. If the determination unit 233 determines that the object is not the other moving body 100, the determination unit 233 determines that the moving route along which the object is detected is an impassable route due to obstacles. When the proximity sensor 111 of the moving object 100 detects an object within the detection range 111E, the determining unit 233 determines that the object is not the moving obstacle 600, and determines that the object is another moving object 100 to be controlled. Determine whether or not
  • the determination unit 233 determines that the object is not the moving obstacle 600 when the proximity sensor 111 detects the object within the detection range 111E until the determination time elapses.
  • the determination time includes, for example, the time set for determination based on the moving speed of the moving obstacle 600, the result of machine learning of the behavior of the moving obstacle 600, and the like.
  • the determination unit 233 determines whether or not the detected object is the moving obstacle 600, and determines whether or not the detected object is another movable body 100 whose movement can be controlled. Although a case including processing will be described, it is not limited to this.
  • the determination unit 233 does not include the process of determining whether the detected object is the moving obstacle 600, but performs the process of determining whether the detected object is another moving body 100 whose movement can be controlled. It is good also as a structure containing.
  • the changing unit 234 changes the route information D100 based on a route that is immovable due to obstacles. For example, the changing unit 234 changes the route information D100 so that the route map indicates places where movement is impossible due to obstacles. For example, the changing unit 234 changes the route information D100 so as to cut off the route of the place where the movement is impossible due to an obstacle. By changing the route information D100, the changing unit 234 can reflect the locations that cannot be moved due to obstacles in the plans of the other moving bodies 100. FIG. When the changing unit 234 changes the route information D100, the planning unit 232 re-plans the movement route based on the changed route information D100.
  • the identifying unit 235 identifies the outer shape area of the other moving body 100 based on the position information and the outer shape information of the other moving body 100 . For example, the identifying unit 235 acquires the position information of the other moving body 100 from the self-location information D10, and acquires the outline information from the moving body information D200.
  • the external shape information includes, for example, information indicating the shape, general shape, etc. of the other moving object 100 .
  • the specifying unit 235 specifies the outer shape area of the other moving body 100 in the target area based on the position coordinates and the angle of the outer shape of the other moving body 100 . When a plurality of other moving bodies 100 exist in the target area, the identifying unit 235 identifies the arrangement of each of the plurality of other moving bodies 100 .
  • the calculation unit 236 calculates the detection range 111E of the proximity sensor 111 at the current position of the moving object 100. For example, the calculation unit 236 calculates the detection range 111E of the proximity sensor 111 at the current position of the moving body 100 from the position coordinates of the moving body 100 indicated by the self-position information D10 and the angle of the traveling direction.
  • the determination unit 233 determines whether or not the object is another moving body 100 to be controlled, based on the positional relationship between the contour area of the other moving body 100 and the detection range 111E of the proximity sensor 111 . If the contour area and the detection range 111E intersect, the determination unit 233 determines that the object is another moving body 100 to be controlled. If the contour area and the detection range 111E do not intersect, the determination unit 233 determines that the object is not another moving body 100 to be controlled. Further, the determination unit 233 may determine that the object is another moving body 100 to be controlled when the contour area and the detection range 111E approach to a certain distance.
  • the functional configuration example of the information processing apparatus 200 according to the embodiment has been described above. Note that the above configuration described using FIG. 5 is merely an example, and the functional configuration of the information processing apparatus 200 according to the embodiment is not limited to the example.
  • the functional configuration of the information processing apparatus 200 according to the embodiment can be flexibly modified according to specifications and operations.
  • FIG. 6 is a diagram showing an example of the sequence of the movement control system 1 according to the embodiment.
  • the information processing device 200 controls movements of a plurality of mobile bodies 100 in a target area.
  • the moving object 100 After estimating the self-position, the moving object 100 transmits self-position information D10 indicating the self-position to the information processing device 200 (step S1).
  • the information processing apparatus 200 stores the received self-location information D10 in the storage unit 220 in association with the moving body information D200 of the moving body 100 .
  • the information processing device 200 provides the information terminal 300 with information such as the current position of the mobile object 100 and the task execution status (step S2).
  • the information terminal 300 provides the user U with information indicating the current position of each of the plurality of mobile objects 100 in the target area, task execution status, and the like. Thereby, the information terminal 300 can allow the user U to check the current positions of the plurality of moving objects 100 in the target area, the task execution status, and the like.
  • the information terminal 300 transmits the movement task information D20 indicating the movement task to the information processing device 200 (step S3).
  • the information processing device 200 Upon receiving the movement task information D20 from the information terminal 300, the information processing device 200 plans a movement route to the destination indicated by the movement task. After determining the moving object 100 that executes the movement task, the information processing device 200 transmits the moving route information D30 to the determined moving object 100 (step S4).
  • the moving object 100 Upon receiving the moving route information D30 from the information processing device 200, the moving object 100 plans the trajectory of the moving object 100 based on the moving route information D30.
  • the moving body 100 estimates its own position at predetermined timings when it starts moving based on the trajectory plan.
  • the moving body 100 transmits the self-location information D10 indicating the estimated self-location to the information processing device 200 at each predetermined timing (step S5).
  • the information processing apparatus 200 stores the self-position information D10 received from the mobile object 100 in the storage unit 220 in association with the mobile object information D200.
  • the moving body 100 When the estimated self-position reaches the destination in the movement route information D30, the moving body 100 notifies the information processing device 200 of the completion of movement (step S6). When the movement completion is notified, the information processing device 200 notifies the information terminal 300 of the completion of the corresponding movement task information D20 (step S7). The information terminal 300 notifies the user U of the completion of the movement task. Thereby, the user U can confirm that the mobile object 100 has completed the movement task based on the notification from the information terminal 300 .
  • FIG. 7 is a flow chart showing an example of self-location notification processing of the mobile object 100 according to the embodiment.
  • the processing procedure shown in FIG. 7 is implemented by the control unit 150 of the moving body 100 executing a program.
  • the processing procedure shown in FIG. 7 is executed by the control unit 150 at a predetermined timing.
  • the predetermined timing includes, for example, when the mobile object 100 is activated, when the information processing apparatus 200 instructs to start, and the like.
  • the control unit 150 of the moving body 100 sets initial values of position coordinates and angles of the moving body 100 (step S1101). For example, the control unit 150 sets the initial position coordinates and the initial angle of the moving body 100 when the movement is started.
  • a plurality of position markers indicating the position coordinates and angle of the installation location are provided in the target area.
  • the position marker includes, for example, a QR code (registered trademark), a bar code, a signboard, or the like, which indicates the reference position coordinates and angle of the setting location.
  • control unit 150 determines whether or not the position marker has been read based on the detection result of the code sensor 114 (step S1102). If control unit 150 determines that the position marker has not been read (No in step S1102), the process proceeds to step S1104, which will be described later. If control unit 150 determines that the position marker has been read (Yes in step S1102), control unit 150 advances the process to step S1103.
  • the control unit 150 updates the position coordinates and angles to the values of the position marker, and resets the values of the encoder 112 and the acceleration sensor 113 (step S1103). For example, the control unit 150 corrects the position coordinates and angle of the moving body 100 by changing the position coordinates and angle indicated by the position marker. After completing the process of step S1103, control unit 150 advances the process to step S1104.
  • the control unit 150 acquires the values of the encoder 112 and the acceleration sensor 113 and estimates the self-location information D10 (step S1104).
  • Estimating the self-location information D10 means, for example, estimating the self-location, traveling direction, and the like of the mobile object 100 .
  • the control unit 150 estimates the self-position, traveling direction, etc. of the moving body 100 based on the sensor information detected by the sensor unit 110 .
  • the control unit 150 advances the process to step S1105.
  • the control unit 150 transmits the self-location information D10 to the information processing device 200 (step S1105).
  • control unit 150 transmits self-location information D10 estimated in step S1104 to information processing apparatus 200 via communication unit 120 .
  • the control unit 150 After completing the process of step S1105, the control unit 150 returns the process to the already described step S1102 and continues the process.
  • control unit 150 forcibly terminates the processing procedure shown in FIG. 7 in response to occurrence of an end sequence or the like, regardless of which step is being executed.
  • FIG. 8 is a flowchart showing an example of route planning processing of the information processing device 200 according to the embodiment.
  • the processing procedure shown in FIG. 8 is implemented by control unit 230 of information processing apparatus 200 executing a program.
  • the processing procedure shown in FIG. 8 is repeatedly executed by the control unit 230 .
  • the control unit 230 of the information processing device 200 acquires the moving task information D20 from the information terminal 300 (step S2101). For example, the control unit 230 acquires the mobile task information D20 transmitted by the information terminal 300 via the communication unit 210 . After storing the acquired moving task information D20 in the storage unit 220, the control unit 230 advances the process to step S2102.
  • the control unit 230 determines whether or not there is a moving object 100 that has not executed the movement task (step S2102). For example, based on the task execution status indicated by the other moving task information D20 stored in the storage unit 220, the moving body information D200, and the like, the control unit 230 determines whether there is a moving body 100 that is not executing the moving task. determine whether or not If the control unit 230 determines that there is no mobile object 100 that has not executed the movement task (No in step S2102), the control unit 230 returns the processing to the already explained step 2102 and continues the processing. Accordingly, the control unit 230 waits for the moving object 100 that has finished the moving task among the plurality of moving objects 100 that are executing the moving task.
  • control unit 230 determines that there is a moving object 100 that has not executed the movement task (Yes in step S2102), the process proceeds to step S2103.
  • the control unit 230 plans a movement route from the movement source to the movement destination based on the movement task information D20 and the route information D100 (step S2103). For example, the control unit 230 plans the movement route from the movement source to the movement destination indicated by the movement task information D20 using an algorithm such as the Dijkstra method. After completing the process of step S2103, control unit 230 advances the process to step S2104.
  • the control unit 230 determines a moving object 100 to execute the moving task from among the moving objects 100 that have not yet executed the moving task (step S2104). For example, the control unit 230 determines the moving object 100 closest to the movement source from among the moving objects 100 that have not executed the movement task as the moving object 100 to execute the movement task. After completing the process of step S2104, control unit 230 advances the process to step S2105.
  • the control unit 230 transmits the moving route information D30 to the determined moving body 100 (step S2105).
  • the control unit 230 transmits the moving route information D30 to the moving object 100 determined in step S2104 via the communication unit 210.
  • FIG. 9 is a flowchart illustrating an example of movement control processing of the moving object 100 according to the embodiment.
  • the processing procedure shown in FIG. 9 is implemented by the control unit 150 of the moving body 100 executing the program.
  • the processing procedure shown in FIG. 9 is repeatedly executed by the control unit 150 .
  • the control unit 150 of the moving object 100 determines whether or not the moving route information D30 has been received (step S1201). For example, when the control unit 150 receives the movement route information D30 from the information processing device 200 via the communication unit 120, the control unit 150 determines that the movement route information D30 has been received. When determining that the movement route information D30 has not been received (No in step S1201), the control unit 150 terminates the processing procedure shown in FIG.
  • step S1202 If the control unit 150 determines that the moving route information D30 has been received (Yes in step S1201), the process proceeds to step S1202.
  • the control unit 150 stores the node coordinate string of the moving route information D30 in FIFO (First-In First-Out) (step S1202).
  • a FIFO is a first-in, first-out memory.
  • the control unit 150 sets a plurality of node coordinate strings of the movement route information D30 in the FIFO in the order from the movement source to the movement destination.
  • control unit 150 advances the process to step S1203.
  • the control unit 150 takes out one node coordinate from the FIFO (step S1203). After retrieving the pre-inserted node coordinates from the FIFO, control unit 150 advances the process to step S1204.
  • the control unit 150 plans a trajectory toward the extracted node coordinates (step S1204). For example, the control unit 150 plans the trajectory of the moving object 100 from its own position to the target node coordinates, such as the rotational direction and moving speed, in consideration of the movement performance of the moving object 100 .
  • the control unit 150 advances the process to step S1205. Accordingly, the drive control unit 153 of the moving body 100 controls driving of the driving unit 130 so that the moving body 100 moves along the trajectory indicated by the trajectory plan information D40.
  • the control unit 150 determines whether the self-position and node coordinates match (step S1205). For example, the control unit 150 estimates the self-position of the moving body 100 based on the sensor information detected by the sensor unit 110, and compares the estimated self-position and node coordinates. If the control unit 150 determines that the self-position and the node coordinates do not match (No in step S1205), the moving body 100 has not reached the node coordinate position, so the process returns to the already described step S1205 to continue the process. continue. If the control unit 150 determines that the self position and the node coordinates match (Yes in step S1205), the moving body 100 has reached the node coordinate position, so the process proceeds to step S1206.
  • the control unit 150 determines whether the FIFO is empty (step S1206). For example, the control unit 150 determines that the FIFO is empty when all node coordinates have been extracted from the FIFO. If the control unit 150 determines that the FIFO is not empty (No in step S1206), the control unit 150 returns the process to the already described step S1203 and continues the process. If control unit 150 determines that the FIFO is empty (Yes in step S1206), control unit 150 advances the process to step S1207.
  • the control unit 150 notifies the information processing device 200 of the completion of movement of the moving object 100 (step S1207). For example, the control unit 150 transmits to the information processing apparatus 200 via the communication unit 120 movement completion information indicating that the movement to the destination indicated by the movement route information D30 has been completed. After completing the processing of step S1207, the control unit 150 terminates the processing procedure shown in FIG.
  • FIG. 10 is a flowchart illustrating an example of object detection processing of the moving body 100 according to the embodiment.
  • the processing procedure shown in FIG. 10 is implemented by the control unit 150 of the moving body 100 executing the program.
  • the processing procedure shown in FIG. 10 is repeatedly executed by the control unit 150 .
  • the control unit 150 of the moving body 100 determines whether or not the proximity sensor 111 has detected an object (step S1301). For example, the control unit 150 determines that the proximity sensor 111 has detected the object when the proximity sensor 111 detects the presence of the object inside the detection range 111E. When the control unit 150 determines that the proximity sensor 111 has not detected an object (No in step S1301), the processing procedure shown in FIG. 10 is terminated. If the control unit 150 determines that the proximity sensor 111 has detected an object (Yes in step S1301), the process proceeds to step S1302.
  • the control unit 150 determines whether or not the own machine is moving (step S1302). For example, when the drive control unit 153 of the moving body 100 is controlling the driving unit 130 or the encoder 112 is detecting the driving amount of the wheels, the control unit 150 determines that the own device is moving. judge. If control unit 150 determines that its own device is not moving (No in step S1302), the process proceeds to step S1304, which will be described later. If control unit 150 determines that the device is moving (Yes in step S1302), control unit 150 advances the process to step S1303.
  • the control unit 150 stops the temporary movement of the moving body 100 (step S1303).
  • the control unit 150 stops the movement of the moving body 100 by instructing the drive control unit 153 to temporarily stop the moving body 100 .
  • control unit 150 advances the process to step S1304.
  • the control unit 150 notifies the information processing device 200 of the detection of the self-position and the object (step S1304). For example, the control unit 150 transmits, via the communication unit 120, notification information capable of notifying the self-position and detection of an object to the information processing apparatus 200.
  • the control unit 150 determines whether or not the proximity sensor 111 detects an object (step S1305). For example, if the object is the moving obstacle 600 , it may be out of the detection range 111E of the proximity sensor 111 . Control unit 150 determines that proximity sensor 111 detects an object when proximity sensor 111 detects the presence of an object within detection range 111E. When the control unit 150 determines that the proximity sensor 111 has detected an object (Yes in step S1305), the control unit 150 returns the processing to the already described step S1305 and continues the processing. If control unit 150 determines that proximity sensor 111 has not detected an object (No in step S1305), control unit 150 advances the process to step S1306.
  • the control unit 150 notifies the information processing device 200 of cancellation of object detection (step S1306).
  • the control unit 150 transmits notification information capable of notifying the cancellation of object detection to the information processing apparatus 200 via the communication unit 120 .
  • control unit 150 advances the process to step S1307.
  • the control unit 150 determines whether or not the object was moving when the object was detected (step S1307). For example, the control unit 150 determines that the object is moving when the object is detected when the object is paused. If the control unit 150 determines that the object was not moving when the object was detected (No in step S1307), the processing procedure shown in FIG. 10 ends.
  • step S1308 If the control unit 150 determines that the object was moving when the object was detected (Yes in step S1307), the process proceeds to step S1308.
  • the control unit 150 restarts the movement of the moving body 100 (step S1308). For example, the control unit 150 restarts the movement of the moving body 100 by instructing the drive control unit 153 to cancel the temporary stop of the moving body 100 . After completing the processing of step S1308, the control unit 150 terminates the processing procedure shown in FIG.
  • FIG. 11 is a flowchart showing an example of object determination processing of the information processing apparatus 200 according to the embodiment.
  • the processing procedure shown in FIG. 11 is implemented by control unit 230 of information processing apparatus 200 executing a program.
  • the processing procedure shown in FIG. 11 is repeatedly executed by the control unit 230 .
  • the control unit 230 of the information processing device 200 determines whether or not there is an object detection notification from the moving body 100 (step S2201). For example, the control unit 230 determines that the notification of object detection has been received from the mobile unit 100 when notification information capable of notifying the detection of the self position and the object is received from the mobile unit 100 via the communication unit 210. do. If the control unit 230 determines that there is no notification of object detection from the moving body 100 (No in step S2201), the processing procedure shown in FIG. 11 is terminated.
  • control unit 230 determines that there has been an object detection notification from the moving body 100 (Yes in step S2201), the process proceeds to step S2202.
  • Control unit 230 responds to object detection and waits until the moving obstacle determination time elapses (step S2202). For example, the control unit 230 transmits a response to notification of object detection to the moving object via the communication unit 210 .
  • Control unit 230 waits until the determination time elapses, and if detection of the object is canceled by moving body 100 during that time, it can be determined that the object is a moving obstacle. Therefore, the control unit 230 waits until the determination time elapses after the notification of object detection.
  • the determination time includes, for example, the time for calculating the detection range [m] of the proximity sensor 111 ⁇ human average walking speed [m/s], a preset time, and the like.
  • control unit 230 advances the process to step S2203.
  • the control unit 230 determines whether or not the mobile body 100 has notified that the object detection has been canceled (step S2203). For example, when the control unit 230 receives notification information for notifying the cancellation of object detection from the mobile unit 100 via the communication unit 210, the control unit 230 determines that the mobile unit 100 has notified the cancellation of the object detection. If the control unit 230 determines that the cancellation of the object detection has been notified from the moving body 100 (Yes in step S2203), the control unit 230 terminates the processing procedure shown in FIG.
  • control unit 230 determines that the cancellation of the object detection has not been notified from the moving body 100 (No in step S2203), the process proceeds to step S2204.
  • the control unit 230 acquires the self-location information D10 and the mobile body information D200 of the other mobile body 100 (step S2204).
  • the control unit 230 may acquire the self-location information D10 and the mobile body information D200 of all mobile bodies 100 to be controlled.
  • the control unit 230 may acquire the self-location information D10 and the mobile body information D200 of other mobile bodies 100 located within a predetermined range from the mobile body 100 that detected the object.
  • control unit 230 advances the process to step S2205.
  • the control unit 230 calculates the detection range 111E of the proximity sensor 111 of the moving body 100 in the target area (step S2205).
  • the control unit 230 obtains the center coordinates of the proximity sensor 111 offset from the position coordinates of the moving body 100, and calculates the detection range 111E of the proximity sensor 111 based on the center coordinates.
  • control unit 230 advances the process to step S2206.
  • the control unit 230 identifies the outline area of the other moving body 100 in the target area (step S2206). For example, the control unit 230 identifies the contour area in the target area based on the contour information of the moving body information D200 of the other moving body 100 and the self-location information D10. A method of specifying the outer shape area will be described later. After completing the process of step S2206, control unit 230 advances the process to step S2207.
  • the control unit 230 determines whether or not the detection range 111E of the proximity sensor 111 and the contour area intersect (step S2207). For example, the control unit 230 compares the detection range 111E and the contour area, and determines that the detection range 111E of the proximity sensor 111 and the contour area intersect when an intersection exists. If the control unit 230 determines that the detection range 111E of the proximity sensor 111 and the contour area intersect (Yes in step S2207), the process proceeds to step S2208. The control unit 230 determines that the object is another moving body 100 to be controlled (step S2208). After storing the determination result in the storage unit 220, the control unit 230 terminates the processing procedure shown in FIG.
  • control unit 230 determines that the detection range 111E of the proximity sensor 111 does not intersect with the contour area (No in step S2207). If the control unit 230 determines that the detection range 111E of the proximity sensor 111 does not intersect with the contour area (No in step S2207), the process proceeds to step S2209. Control unit 230 determines that the object is a stationary obstacle (step S2209). After storing the determination result in storage unit 220, control unit 230 advances the process to step S2210.
  • the control unit 230 determines that the movement route along which the object is detected is an obstacle-immovable route (step S2210).
  • the control unit 230 changes the route information D100 based on the immovable route (step S2211). For example, the control unit 230 changes the route information D100 so as to cut off the route of the place where movement is impossible due to a stationary obstacle. A modification example of the route information D100 will be described later.
  • the control unit 230 terminates the processing procedure shown in FIG.
  • FIG. 12 is a diagram for explaining an example of how the information processing apparatus 200 according to the embodiment determines an object.
  • the information processing device 200 sets the center coordinates of the proximity sensor 111 offset from the coordinates 100P of the moving body 100-1 to coordinates (x, y).
  • the information processing device 200 obtains the coordinates (x 1 , y 1 ), which are the central coordinates of the proximity sensor 111 with the moving object 100-1 rotated by ⁇ , using the following equation (1).
  • outline information D210 of other moving object 100-2 indicates a rectangular outline, with four vertex coordinates (x 2a , y 2b ), (x 2b , y 2b ), (x 2c , y 2c ), (x 2d , y 2d ), etc.
  • the area surrounded by the four vertex coordinates (x 2a , y 2b ), (x 2b , y 2b ), (x 2c , y 2c ), (x 2d , y 2d ) is the outline area 100G.
  • the length of the perpendicular line from each side of the rotated moving body 100-2 from the coordinates (x, y) of the center coordinates of the proximity sensor 111 of the moving body 100-1 is is smaller than the radius r of the detection range 111E of the proximity sensor 111.
  • the detection range 111E of the proximity sensor 111 which is a circle with a radius r centered on the center coordinates of the proximity sensor 111 of the moving body 100-1, is defined by the intersection of each side of the outer shape area 100G of the rotated moving body 100-2. will exist. If there is an intersection, the proximity sensor 111 of the moving object 100-1 detects another moving object 100-2.
  • the information processing device 200 determines that the object is the other moving body 100-2. . Since the other moving object 100-2 can be moved according to instructions from the information processing device 200, it need not be judged as an obstacle.
  • the information processing apparatus 200 determines that the object detected by the proximity sensor 111 is a stationary obstacle for the moving body 100-1 when the object is not the other moving body 100-2.
  • the information processing device 200 changes the route information D100 based on the stationary obstacle. That is, when the information processing apparatus 200 determines that the detected object is the other moving object 100-2, it can determine that it is not necessary to change the route information D100.
  • FIG. 13 is a diagram for explaining an example in which the information processing device 200 according to the embodiment changes the route information D100.
  • the information processing device 200 determines that the object detected by the proximity sensor 111 of the mobile object 100-1 is not the other mobile object 100-2 but a stationary obstacle. Assume that moving body 100-1 is moving along edge 520 between nodes 510A and 510B toward node 510B. Information processing apparatus 200 sets detection range 111E of proximity sensor 111 based on the self-position of moving body 100-1.
  • the information processing apparatus 200 obtains an intersection point between the circumference of the detection range 111E and the edge 520, and sets a new node 511-1 at the intersection point on the traveling direction side of the moving object 100-1.
  • the information processing device 200 sets a new node 511-2 at the current coordinates of the moving object 100-1.
  • the information processing apparatus 200 changes the corresponding portion of the route information D100 so that there is a stationary obstacle inside the detection range 111E of the proximity sensor 111 of the moving object 100-1, so that the object cannot move. do.
  • the information processing device 200 changes the route information D100 so as to cut the edge 520 between the new nodes 511-1 and 511-2.
  • the new nodes 511-1 and 511-2 become end nodes indicating the end of the route.
  • the moving object 100 After estimating the self-position, the moving object 100 transmits self-position information D10 indicating the self-position to the information processing device 200 (step S1).
  • the information processing device 200 provides the information terminal 300 with information such as the current position of the mobile object 100 and the task execution status (step S2).
  • the information terminal 300 transmits the movement task information D20 indicating the movement task to the information processing device 200 (step S3).
  • the information processing device 200 After determining the moving object 100 that executes the movement task, transmits the moving route information D30 to the determined moving object 100 (step S4).
  • the moving body 100 transmits the self-location information D10 indicating the estimated self-location to the information processing device 200 at each predetermined timing (step S5).
  • the moving object 100 notifies the information processing device 200 of object detection (step S11).
  • the information processing device 200 transmits an object detection response to the moving body 100 (step S12).
  • the object detection response includes, for example, acknowledging that an object detection notification has been received.
  • the information processing apparatus 200 determines that the object detected by the moving body 100 is a stationary obstacle
  • the information processing apparatus 200 changes the path information D100 so that the path including the stationary obstacle becomes an immovable path (step S13).
  • the information processing apparatus 200 re-plans the movement route of the moving object 100 based on the changed route information D100, the information processing device 200 transmits new movement route information D30 to the moving object 100 (step S14).
  • the moving object 100 When the moving object 100 receives the new moving route information D30 from the information processing device 200, the moving object 100 performs trajectory planning based on the moving route information D30.
  • the moving body 100 estimates its own position at predetermined timings when it starts moving based on the trajectory plan.
  • the moving body 100 transmits the self-location information D10 indicating the estimated self-location to the information processing device 200 at each predetermined timing (step S15).
  • the information processing device 200 stores the self-location information D10 received from the moving body 100 in the storage unit 220 .
  • the moving body 100 When the estimated self-position reaches the destination of the movement route information D30, the moving body 100 notifies the information processing device 200 of movement completion (step S16). When the movement completion is notified, the information processing device 200 notifies the information terminal 300 of the completion of the corresponding movement task information D20 (step S17). The information terminal 300 notifies the user U of the completion of the movement task. As a result, the user U can confirm that the movement task has been completed by the mobile object 100 based on the notification from the information terminal 300 without being aware of the impossibility of moving along the movement route according to the movement task.
  • FIG. 15 is a diagram for explaining an example of the operation of the moving body 100 controlled by the movement control system 1 according to the embodiment.
  • the information processing device 200 controls the movements of the mobile bodies 100-1 and 100-2 for the sake of simplicity of explanation.
  • the information processing device 200 controls the movements of the moving bodies 100-1 and 100-2.
  • the moving body 100-1 follows a movement route R10 in the order of the node 500A, the node 500B, the node 500C and the destination node 530.
  • FIG. Mobile object 100-1 is moving from node 500A toward node 500B.
  • the moving object 100-2 is moving from the node 510E toward the node 500F.
  • the moving object 100-2 has a movement path in the order of node 500F, node 500B, node 500C, and destination node 530.
  • moving object 100-1 passes node 500B and is moving along edge 520 from node 500B toward node 500C.
  • the proximity sensor 111 of the moving object 100-1 detects an object existing inside the detection range 111E and stops temporarily.
  • Information processing apparatus 200 determines that the object is not moving obstacle 600 if there is no release notification from moving body 100-1 within the elapse of the determination time after receiving notification of object detection from moving body 100-1. do.
  • the information processing apparatus 200 identifies the outer shape area 100G of the other moving body 100 based on the self-location information D10 and the outer shape information D210 of the other moving body 100.
  • the information processing device 200 calculates the detection range 111E of the proximity sensor 111 of the moving object 100-1 based on the self-location information D10 and the moving object information D200 of the moving object 100-1.
  • the information processing device 200 determines whether or not the object is another moving body 100 to be controlled, based on the positional relationship between the contour area 100G of the other moving body 100 and the detection range 111E.
  • the information processing device 200 determines that the object is not another moving body 100.
  • the information processing apparatus 200 determines that the movement route along which the moving body 100-1 has detected the object is an obstacle-immovable route.
  • the information processing device 200 changes the route information D100 so as to delete from the route a place that cannot move due to an obstacle, based on the self-location information D10 of the mobile object 100-1 that has detected the object.
  • the information processing device 200 re-plans the movement route of the moving object 100-1 based on the changed route information D100, self-location information D10, and movement task information D20.
  • the information processing apparatus 200 replans the movement route R11 in the order of the node 500B, the node 500F, the node 500E, the node 500D and the destination node 530.
  • the information processing device 200 controls the movement of the moving body 100 so as to move along the replanned movement route R11.
  • the information processing device 200 may re-plan the movement route of the moving object 100-2 in the target area.
  • the information processing apparatus 200 re-plans the movement route of the mobile object 100-2 when the movement route of the mobile object 100-2 includes an edge 520 (route) that cannot be moved.
  • the information processing device 200 controls the movement of the moving body 100-2 so as to move along the replanned movement route.
  • the movement control system 1 can smoothly move the moving body 100-2, which has not detected an object, to the destination, so that the plurality of moving bodies 100 can be moved efficiently.
  • the mobility control system 1 has described a case where the information processing device 200 is realized by a cloud server, but the present invention is not limited to this.
  • the movement control system 1 implements the information processing device 200 in any one of the plurality of mobile bodies 100, or implements the information processing device 200 in each of the plurality of mobile bodies 100.
  • FIG. 16 is a hardware configuration diagram showing an example of a computer 1000 that implements the functions of the information processing apparatus 200.
  • the computer 1000 has a CPU 1100 , a RAM 1200 , a ROM (Read Only Memory) 1300 , a HDD (Hard Disk Drive) 1400 , a communication interface 1500 and an input/output interface 1600 .
  • Each part of computer 1000 is connected by bus 1050 .
  • the CPU 1100 operates based on programs stored in the ROM 1300 or HDD 1400 and controls each section. For example, the CPU 1100 loads programs stored in the ROM 1300 or HDD 1400 into the RAM 1200 and executes processes corresponding to various programs.
  • the ROM 1300 stores a boot program such as BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 is started, and programs dependent on the hardware of the computer 1000.
  • BIOS Basic Input Output System
  • the HDD 1400 is a computer-readable recording medium that non-temporarily records programs executed by the CPU 1100 and data used by such programs.
  • HDD 1400 is a recording medium that records an information processing program according to the present disclosure, which is an example of program data 1450 .
  • a communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (for example, the Internet).
  • CPU 1100 receives data from another device via communication interface 1500, and transmits data generated by CPU 1100 to another device.
  • the input/output interface 1600 is an interface for connecting the input/output device 1650 and the computer 1000 .
  • the CPU 1100 receives data from input devices such as a keyboard and mouse via the input/output interface 1600 .
  • the CPU 1100 also transmits data to an output device such as a display, speaker, or printer via the input/output interface 1600 .
  • the input/output interface 1600 may function as a media interface for reading a program or the like recorded on a predetermined recording medium.
  • Media include, for example, optical recording media such as DVDs (Digital Versatile Discs), magneto-optical recording media such as MOs (Magneto-Optical disks), tape media, magnetic recording media, semiconductor memories, and the like.
  • the CPU 1100 of the computer 1000 executes the program loaded on the RAM 1200 to perform the task planning section 231 and the planning section 232. , the determination unit 233, the change unit 234, the identification unit 235, the calculation unit 236, and the like.
  • the HDD 1400 stores programs according to the present disclosure and data in the storage unit 220 .
  • CPU 1100 reads and executes program data 1450 from HDD 1400 , as another example, these programs may be obtained from another device via external network 1550 .
  • the program is recorded and read by the computer.
  • a possible recording medium may also be provided.
  • each step related to the processing of the mobile object 100 and the information processing device 200 in this specification does not necessarily have to be processed in chronological order according to the order described in the flowchart.
  • each step related to the processing of the mobile body 100 and the information processing device 200 may be processed in an order different from the order described in the flowchart, or may be processed in parallel.
  • the information processing apparatus 200 includes a planning unit 232 that plans a movement route for moving a plurality of moving bodies to be controlled based on the route information D100, and a sensor of the moving body 100 that moves along the movement route to detect an object inside the detection range 111E. is detected, the determination unit 233 determines whether the object is another moving body 100 to be controlled. If the determination unit 233 determines that the object is not another moving body 100, the determination unit 233 determines that the moving route along which the object is detected is an immovable route due to stationary obstacles.
  • the information processing apparatus 200 determines that the object detected by the sensor of the moving body 100 is not another moving body 100 in the paths along which the plurality of moving bodies 100 can move, can be determined as a route that does not require movement due to stationary obstacles. As a result, the information processing apparatus 200 can determine whether the object is an obstacle that moves or does not move from the location where the object is detected, based on the presence or absence of the object within the detection range 111E, thereby suppressing an increase in the cost of the moving object. It is possible to efficiently move a plurality of moving bodies.
  • the determination unit 233 determines that the object is not a moving obstacle, and determines that the object is another moving body to be controlled. Determine whether or not there is
  • the information processing device 200 determines whether the object is another moving object to be controlled, thereby determining whether the moving path is a stationary obstacle. can improve the determination accuracy of a route that does not require movement. As a result, the information processing apparatus 200 can efficiently move the plurality of moving bodies 100 even in an environment where moving obstacles and the plurality of moving bodies 100 coexist.
  • the information processing device 200 further includes a changing unit 234 that changes the route information D100 based on a route that is immovable due to stationary obstacles.
  • the information processing device 200 can reflect in the route information D100 a route that is immovable due to stationary obstacles. As a result, the information processing apparatus 200 can suppress the influence of an object whose route information D100 is different from a stationary obstacle. It is possible to improve the reliability of the indicated route.
  • the planning unit 232 re-plans the movement route based on the changed route information D100.
  • the information processing apparatus 200 can re-plan the movement route so as to avoid the immovable route by reflecting the route that is immovable due to the obstacle in the route information D100.
  • the information processing apparatus 200 can efficiently move the plurality of moving bodies 100 even when the plurality of moving bodies 100 move in a track environment.
  • the information processing apparatus 200 includes a specifying unit 235 that specifies the outer shape area 100G of the other moving body 100 based on the position information and the outer shape information D210 of the other moving body 100, and the detection range of the sensor at the current position of the moving body 100. and a calculator 236 that calculates 111E.
  • the determination unit 233 determines whether or not the object is another moving body 100 to be controlled, based on the positional relationship between the contour area 100G of the other moving body 100 and the detection range 111E.
  • the information processing device 200 can determine whether or not the object is another moving body 100 to be controlled without analyzing the external world in front of the moving body 100 .
  • the information processing apparatus 200 can obtain the intersection of the contour area 100G and the detection range 111E by simple calculation.
  • the information processing apparatus 200 can simplify the processing related to determining whether or not the object is another moving body 100, so that the processing load related to the control of the plurality of moving bodies 100 can be suppressed.
  • the information processing apparatus 200 does not need to use a sensor that is more expensive than the sensor that detects the presence of an object inside the detection range 111E, so it can contribute to cost reduction of the moving body.
  • the specifying unit 235 specifies the outer shape area 100G in which the shape indicated by the outer shape information D210 is arranged at the position indicated by the position information.
  • the information processing device 200 can identify the outer shape area 100G that indicates the outer shape of the other moving body 100.
  • the information processing apparatus 200 can further reduce the processing load for specifying the contour area 100G, and can easily cope with an increase in the number of moving bodies 100 to be controlled.
  • the determination unit 233 determines that the sensor of the moving body 100 does not detect the object inside the detection range 111E until the determination time elapses after the sensor detects the object inside the detection range 111E. If so, the object is determined to be a moving obstacle, and if the sensor detects the object within the detection range 111E until the determination time elapses, the object is determined not to be a moving obstacle.
  • the information processing apparatus 200 determines whether the object is a moving obstacle based on the detection state from when the sensor of the moving body 100 detects the object within the detection range 111E to the determination time. be able to. As a result, even if a moving object is detected within the detection range 111E, the information processing apparatus 200 can improve the moving obstacle determination accuracy by setting the determination time.
  • the movement control system 1 includes a plurality of mobile bodies 100 that can move along the route indicated by the route information D100, and an information processing device 200 that controls the movement of the plurality of mobile bodies 100.
  • the information processing apparatus 200 includes a planning unit 232 that plans a movement route for moving a plurality of moving bodies 100 to be controlled based on the route information D100, and a sensor of the moving body 100 that moves along the movement route. is detected, the determination unit 233 determines whether the object is another mobile object to be controlled. If the determination unit 233 determines that the object is not the other moving body 100, the determination unit 233 determines that the moving route along which the object is detected is an impassable route due to obstacles.
  • the movement control system 1 allows the sensors of the moving bodies 100 to detect objects inside the detection range 111E on paths along which the plurality of moving bodies 100 can move.
  • the information processing device 200 determines that the object detected by the sensor of the moving body 100 is not another moving body 100
  • the movement control system 1 determines that the movement path along which the object is detected is a path requiring no movement due to stationary obstacles. can judge.
  • the movement control system 1 can determine whether the object is an obstacle that moves or does not move from the location where the object is detected, based on the presence or absence of the object within the detection range 111E, thereby suppressing cost increases of the moving body. It is possible to efficiently move a plurality of moving bodies.
  • the moving body 100 stops moving and the sensor does not detect the object within the detection range 111E after the determination time has elapsed. , the information processing apparatus 200 is notified of the cancellation of the movement stop, and the movement is resumed. If there is no release notification from the moving body 100 that has stopped moving, the determination unit 233 of the information processing device 200 determines whether the object is another moving body 100 to be controlled.
  • the movement control system 1 can stop the movement of the moving body 100 and restart movement according to the detection state of the object.
  • the movement control system 1 can determine whether the object is another moving body 100 by the information processing device 200 . .
  • the movement control system 1 can efficiently move a plurality of moving bodies 100 even in an environment where movement control of the plurality of moving bodies 100 is performed.
  • the moving body 100 moves along the movement route replanned by the information processing device 200.
  • the movement control system 1 can avoid the immovable route and allow the moving body 100 to move to the movable route only by detecting the presence of the object with the sensor of the moving body 100 .
  • the movement control system 1 can construct a system for controlling the plurality of moving bodies 100 at low cost, and can move the plurality of moving bodies efficiently.
  • the sensor is a proximity sensor 111 that includes a detection range 111E in the traveling direction of the moving object 100.
  • the movement control system 1 only needs to include the proximity sensor 111 in the moving body 100, so there is no need to include a LiDAR sensor, camera, or the like, which is more expensive than the proximity sensor 111.
  • the movement control system 1 can reduce the cost of the moving bodies 100, so that a system for controlling the plurality of moving bodies 100 can be constructed at low cost, and the plurality of moving bodies can be efficiently moved.
  • the computer plans a movement route for moving a plurality of moving bodies to be controlled based on the route information D100, and the sensor of the moving body 100 moving along the movement route detects an object within the detection range 111E.
  • the sensor of the moving body 100 moving along the movement route detects an object within the detection range 111E.
  • the information processing method can Stationary obstacles allow the computer to determine paths that do not require movement.
  • the information processing method can determine whether the object is a moving obstacle or a non-moving obstacle from the location where the object is detected, based on the presence or absence of the object within the detection range 111E. , a plurality of moving bodies can be moved efficiently.
  • a planning unit that plans, based on route information, a movement route for moving a plurality of moving bodies to be controlled; a determination unit that determines, when a sensor of the moving body moving along the movement path detects an object within a detection range, whether the object is another moving body to be controlled; with The determination unit determines that the moving route along which the object is detected is an immovable route due to a stationary obstacle when determining that the object is not the other moving body.
  • the determination unit determines whether the object is another moving body to be controlled when determining that the object is not a moving obstacle.
  • the information processing apparatus in which it is determined whether or not.
  • an identifying unit that identifies an outer shape area of the other moving body based on the position information and the outer shape information of the other moving body; a calculation unit that calculates the detection range of the sensor at the current position of the moving object; further comprising The determining unit determines whether or not the object is the other moving body to be controlled, based on the positional relationship between the outer area of the other moving body and the detection range.
  • the specifying unit specifies the outer shape region in which the shape indicated by the outer shape information is arranged at the position indicated by the position information.
  • the determination unit determines that the object is the moving obstacle, and if the sensor detects the object within the detection range until the determination time elapses, determining that the object is not the moving obstacle;
  • a plurality of moving bodies capable of moving along the route indicated by the route information; an information processing device that controls movement of the plurality of mobile bodies; with
  • the information processing device is a planning unit that plans, based on the route information, a movement route for moving a plurality of moving bodies to be controlled; a determination unit that determines, when a sensor of the moving body moving along the movement path detects an object within a detection range, whether the object is another moving body to be controlled; with When determining that the object is not the other moving object, the determination unit determines that the moving route along which the object is detected is an immovable route due to obstacles.
  • the information processing device determines that the sensor does not detect the object within the detection range after the determination time has elapsed after stopping movement. notifies the cancellation of the movement stop to , resumes movement,
  • the determination unit of the information processing device determines whether or not the object is another mobile object to be controlled when there is no cancellation notification from the mobile object that has stopped moving. movement control system.
  • the sensor detects an object within the detection range and the information processing device determines that the moving object is an immovable route, the moving object moves along the movement route replanned by the information processing device (8) or The movement control system according to (9).
  • Movement Control System 100 Moving Body 110 Sensor Section 111 Proximity Sensor 112 Encoder 113 Acceleration Sensor 114 Code Sensor 120 Communication Section 130 Drive Section 140 Storage Section 150 Control Section 151 Self-Position Estimation Section 152 Trajectory Planning Section 153 Drive Control Section 154 Object Detection Section 200 information processing device 210 communication unit 220 storage unit 230 control unit 231 task planning unit 232 planning unit 233 determination unit 234 change unit 235 identification unit 236 calculation unit 500 route map 510 node 520 edge 530 destination node 540 obstacle 600 moving obstacle D10 self-location information D20 movement task information D30 movement route information D100 route information D200 moving body information D210 outline information D211 shape information D212 general shape information

Landscapes

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

Abstract

情報処理装置(200)は、制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画する計画部(232)と、移動経路を移動する移動体のセンサが検出範囲の内部に物体を検出すると、物体が制御対象の他の移動体であるか否かを判定する判定部(233)と、を備える。判定部(233)は、物体が他の移動体ではないと判定した場合に、物体を検出した移動経路が静止障害物によって移動不能な経路と判定する。

Description

情報処理装置、移動制御システム及び情報処理方法
 本開示は、情報処理装置、移動制御システム及び情報処理方法に関する。
 移動ロボットは、行動目標を達成するために、外界地図に基づいて行動計画を作成し、作成した行動計画に基づいて行動するものがある。特許文献1には、作業領域内の定位置にある形状的特徴物の画像を解析し、ロボット座標系における基準座標系の位置姿勢と障害物形状モデルとから、ロボット座標系における障害物が存在する干渉領域を設定する技術が開示されている。
特開2018-94641号公報
 従来の技術では、移動体の移動を制御する場合、移動体が障害物を検出するために、カメラや画像解析手段が必要であった。このため、移動体は、障害物を認識する場合、高価なセンサ等を搭載するために、コストアップを抑制するのが困難であった。また、従来の技術は、複数の移動体が移動する環境下で、移動体が経路上に物体を検出した場合、物体を回避するのか、物体が移動するのを待つのかを判断することが困難であった。
 そこで、本開示では、移動体のコストアップを抑止し、複数の移動体を効率的に移動させることができる情報処理装置、移動制御システム及び情報処理方法を提供する。
 上記の課題を解決するために、本開示に係る一形態の情報処理装置は、制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画する計画部と、前記移動経路を移動する前記移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定する判定部と、を備え、前記判定部は、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が静止障害物によって移動不能な経路と判定する。
 上記の課題を解決するために、本開示に係る一形態の移動制御システムは、経路情報が示す経路を移動可能な複数の移動体と、複数の前記移動体の移動を制御する情報処理装置と、を備え、前記情報処理装置は、制御対象の複数の移動体を移動させる移動経路を前記経路情報に基づいて計画する計画部と、前記移動経路を移動する前記移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定する判定部と、を備え、前記判定部は、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定する。
 上記の課題を解決するために、本開示に係る一形態の情報処理方法は、コンピュータが、制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画すること、前記移動経路を移動する移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定すること、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定すること、を含む。
実施形態に係る移動制御システムの一例を説明するための図である。 実施形態に係る経路地図の一例を示す図である。 実施形態に係る移動制御システムにおける物体の一例を示す図である。 実施形態に係る移動体の構成の一例を示す構成図である。 実施形態に係る情報処理装置の構成の一例を示す構成図である。 実施形態に係る移動制御システムのシーケンスの一例を示す図である。 実施形態に係る移動体の自己位置通知処理の一例を示すフローチャートである。 実施形態に係る情報処理装置の経路計画処理の一例を示すフローチャートである。 実施形態に係る移動体の移動制御処理の一例を示すフローチャートである。 実施形態に係る移動体の物体検出処理の一例を示すフローチャートである。 実施形態に係る情報処理装置の物体判定処理の一例を示すフローチャートである。 実施形態に係る情報処理装置が物体を判定する一例を説明するための図である。 実施形態に係る情報処理装置が経路情報を変更する一例を説明するための図である。 実施形態に係る移動制御システムの経路情報の変更時のシーケンスの一例を示す図である。 実施形態に係る移動制御システムが制御する移動体の動作例の一例を説明するための図である。 情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、実質的に同一の部位には同一の符号を付することにより重複する説明を省略する。
(実施形態)
[実施形態に係る移動制御システムの概要]
 図1は、実施形態に係る移動制御システムの一例を説明するための図である。図1に示す移動制御システム1は、例えば、工場、倉庫、病院、公共施設等を移動可能な複数の移動体100の移動を制御するシステムである。移動制御システム1は、制御対象の複数の移動体100のそれぞれの移動を制御する。移動制御システム1は、複数の移動体100のそれぞれが経路上を移動するように制御する。複数の移動体100は、例えば、ロボット、車両(自動二輪車、自動四輪車、自転車)、台車、ドローン等を含む。以下の説明では、移動体100は、移動可能なロボットである場合について説明する。
 図1に示す一例では、移動制御システム1は、複数の移動体100と、複数の移動体100の移動を制御する情報処理装置200と、を備える。複数の移動体100と情報処理装置200とは、同一の場所に配置されてもよいし、異なる場所に配置されてもよい。情報処理装置200は、複数の移動体100のそれぞれと通信が可能な構成になっている。
 移動体100は、自機が実際に移動した移動結果、外界に設けられた位置マーカ等に基づいて自己位置を推定する機能を有する。自己位置は、例えば、移動体100の現在位置を意味する。移動体100は、現在の自己位置の座標及び角度を識別可能な自己位置情報D10を情報処理装置200に送信する機能を有する。移動体100は、移動経路情報D30を情報処理装置200から受信する機能を有する。移動経路情報D30は、ユーザUが指定した移動元及び移動先を識別可能な移動タスク情報D20に基づいて作成された情報を含む。移動タスク情報D20は、例えば、移動元から移動先までの経路の中継箇所を示す情報を含んでもよい。移動経路情報D30は、例えば、移動先に到達するまでの経路上における複数の目標座標の配列を示す情報を含む。移動体100は、移動経路情報D30が示す経路と自己位置に基づいて、移動体100の回転方向、速度等の軌道計画を行う機能を有する。移動体100は、進行方向における検出範囲の内部に存在する物体を検出するセンサを有する。センサは、例えば、近接センサを含む。移動体100は、センサが検出範囲の内部に物体を検出したことを情報処理装置200に通知する機能を有する。
 情報処理装置200は、例えば、専用または汎用コンピュータである。情報処理装置200は、いわゆるクラウドサーバ(Cloud Server)であり、移動体100と連携して情報処理を実行するサーバ装置である。情報処理装置200は、移動体100から受信した自己位置情報D10を管理する機能を有する。情報処理装置200は、経路地図を用いて、複数の移動体100をナビゲーションする機能を有する。経路地図は、例えば、トポロジカル地図(ノードグラフ)を含む。情報処理装置200は、ユーザUが情報端末300を介して指定した移動タスク情報D20を取得し、移動タスクを実行する移動体100を決定する機能を有する。情報処理装置200は、例えば、移動タスク情報D20を情報端末300からではなく、別のサーバ、システム等から取得してもよい。情報処理装置200は、移動タスク情報D20が示す移動先への移動経路を示す移動経路情報D30を、経路地図に基づいて生成する機能を有する。情報処理装置200は、移動タスクを実行する移動体100に、移動経路情報D30を送信する機能を有する。
 図2は、実施形態に係る経路地図の一例を示す図である。図2に示すように、経路地図500は、複数の移動体100が移動可能な対象領域をノードグラフとして表現している。経路地図500は、経路情報の一例である。経路地図500は、ノード510と、エッジ520と、を有する。ノード510は、経路上の任意の位置を示す。エッジ520は、隣接するノード510の間の連結関係及び経路を示す。経路地図500は、ノード510とエッジ520の組み合わせによって複数の経路を示している。経路地図500は、移動体100の移動先、位置等を示す移動先ノード530を設定できる。経路地図500は、障害物540がエッジ520上に存在すると、障害物540によって移動体100が移動不能になる。
 本実施形態では、複数の移動体100は、経路地図500のノード510とエッジ520が示す経路上を移動可能になっており、経路から外れた移動が不能になっている。情報処理装置200は、移動体100から移動先ノード530に到達するまでの最短経路を公知のアルゴリズムで求め、求めた経路を示す移動経路情報D30を移動体100に送信する。公知のアルゴリズムは、例えば、ダイクストラ法、ベルマン-フォード法等が挙げられる。図2に示す一例では、移動体100は、矢印で示す進行方向に移動し、物体を検出する検出範囲111Eを前方に有している。
 図3は、実施形態に係る移動制御システム1における物体の一例を示す図である。図3に示すように、移動制御システム1は、場面C1では、エッジ520(経路)上の移動障害物600を、移動体100が物体として検出する。移動障害物600は、例えば、人間、動物、他の制御装置が移動を制御する移動装置等を含む。移動制御システム1は、場面C2では、エッジ520上の他の移動体100を、移動体100が物体として検出する。移動制御システム1は、場面C3では、エッジ520上の障害物540を、移動体100が物体として検出する。本実施形態では、移動制御システム1は、例えば、場面C1、場面C2、場面C3の順序で、情報処理装置200が物体の判定を行う機能を提供する。
 移動制御システム1は、複数の移動体100が経路を離脱して自由に移動できないという制限がある場合、経路上に物体が置かれたり、移動障害物600が存在したりすると、移動体100が経路上を移動できない。例えば、工場、倉庫などでは、移動体100の経路は、レール、専用レーンなどの固定された経路の場合がある。本実施形態では、経路上の物体は、移動障害物600と、移動障害物600ではない静止障害物である障害物540とに区分する。移動障害物600は、経路上から移動する可能性がある、あるいは、一時的に存在する物体である。静止障害物は、経路上から移動する可能性が低く、移動体100の迂回を必要とする物体である。静止障害物は、例えば、載置物等を含む。本開示では、移動制御システム1は、移動体100のコストアップを抑止し、複数の移動体100を効率的に移動させることを可能とする。
[実施形態に係る移動体の構成例]
 図4は、実施形態に係る移動体100の構成の一例を示す構成図である。図4に示すように、移動体100は、センサ部110と、通信部120と、駆動部130と、記憶部140と、制御部150と、を有する。制御部150は、センサ部110、通信部120、駆動部130、記憶部140等と電気的に接続されている。以下の説明では、移動体100を「自機」と表記する場合がある。
 センサ部110は、移動体100の処理に用いるセンサ情報を検出する各種センサを備える。センサ部110は、検出したセンサ情報の少なくとも一部の情報を情報処理装置200等に供給する。本実施形態では、センサ部110は、例えば、近接センサ111と、エンコーダ112と、加速度センサ113と、コードセンサ114と、を有する。
 近接センサ111は、近隣の物体の存在を非接触で検出する。近接センサ111は、例えば、誘導形、静電容量形、超音波形、光電形、磁気形等で構成することができる。近接センサ111は、例えば、赤外線を照射する発光素子と、発光素子から照射された赤外線の反射光を受光する受光素子を有する。近接センサ111は、検出範囲111Eの内部に物体が存在するか否かの検出結果を識別可能なセンサ情報を制御部150に供給する。近接センサ111は、例えば、LiDARよりも安価なセンサであり、物体の存在のみを検出し、物体の概形、形状等を検出できない。
 エンコーダ112は、駆動部130が駆動した車輪等の駆動量を検出する。エンコーダ112は、検出した駆動量を識別可能なセンサ情報を制御部150に供給する。加速度センサ113は、移動体100に働く加速度の方向、大きさ等を検出する。加速度センサ113は、検出した加速度を識別可能なセンサ情報を制御部150に供給する。コードセンサ114は、移動体100が移動する外部環境に設けられた位置マーカを検出する。位置マーカは、例えば、QRコード(登録商標)等を含む。位置マーカは、位置コードを含む。位置コードは、例えば、位置補正用のコード、座標等を示す情報を含む。位置コードは、現在座標の推定に用いることができる。位置マーカは、例えば、ノード510の位置、基準位置等に設けられている。コードセンサ114は、検出した位置マーカの位置コードを識別可能なセンサ情報を制御部150に供給する。
 通信部120は、情報処理装置200との通信を行う。通信部120は、情報処理装置200から受信した各種情報を制御部150に供給する。通信部120は、制御部150が指示した情報を情報処理装置200に送信する。なお、通信部120がサポートする通信プロトコルは、特に限定されるものではなく、また、通信部120が、複数の種類の通信プロトコルをサポートすることも可能である。
 駆動部130は、移動体100を移動させる移動機構を駆動させる。移動機構は、例えば、車輪、脚、プロペラ等を駆動するための機構を含む。駆動部130は、制御部150から出力された動作指令等に応じて移動機構を駆動させる。その結果、移動体100は、移動機構の駆動によって移動する。
 記憶部140は、各種データ及びプログラムを記憶する。記憶部11は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。なお、記憶部140は、移動体100の外部に設けられていてもよい。具体的には、記憶部140は、ネットワークを介して制御部150がアクセス可能な記憶装置としてもよい。
 記憶部140は、例えば、自己位置情報D10、移動経路情報D30、軌道計画情報D40等の各種情報を記憶する。自己位置情報D10は、移動体100の自己位置を示す情報含む。記憶部140は、少なくとも最新の自己位置情報D10を記憶する。移動経路情報D30は、情報処理装置200から受信した情報である。移動経路情報D30は、移動元から移動先までの移動経路を示す情報である。移動経路情報D30は、例えば、移動先に到達するまでの移動経路に応じた複数の目標座標(ノード列)等の情報を含む。軌道計画情報D40は、移動経路情報D30に基づく移動体100の回転方向、移動速度等を示す情報を含む。
 制御部150は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System-on-a-Chip)、MCU(Micro Control Unit)、FPGA(Field-Programmable Gate Array)、及びコプロセッサを含むが、これらに限定されない。制御部150は、記憶部140に記憶されている情報を必要に応じて参照しつつ、記憶部140に記憶されているプログラムに含まれる命令を実行し、移動体100の動作を統括的に制御して各種の機能を実現する。
 制御部150は、例えば、自己位置推定部151と、軌道計画部152と、駆動制御部153と、物体検出部154といった各機能部を備える。
 自己位置推定部151は、センサ部110が検出したセンサ情報に基づいて、移動体100の自己位置を推定する。自己位置推定部151は、例えば、移動体100の位置及び姿勢等を含む自己位置を推定する。移動体100の姿勢は、例えば、移動体100の向き(進行方向)等を含む。自己位置推定部151は、例えば、移動体100の外部から取得した位置コード等が示す位置情報に基づいて自己位置を推定してもよい。自己位置推定部151は、例えば、SLAM(Simultaneous Localization and Mapping)等の技術を用いた高精度なマップを用いて自己位置を推定してもよい。自己位置推定部151は、推定した自己位置を示す自己位置情報D10を記憶部140に記憶する。
 軌道計画部152は、移動経路情報D30が示す移動経路を移動させる移動体100の軌道を計画する。軌道計画部152は、自己位置から目標座標に向かう移動体100の回転方向、移動速度等を、移動体100の運動性能を考慮して計画する。例えば、軌道計画部152は、移動経路情報D30から目標座標を読み込み、自己位置から目標座標までの軌道を計画する。軌道計画部152は、移動経路情報D30の目標座標を順次読み込み、移動先までの軌道を計画する。軌道計画部152は、計画した移動体100の軌道計画情報D40を記憶部140に記憶する。
 駆動制御部153は、移動体100が移動経路に沿って移動するように、駆動部130の駆動を制御する。駆動制御部153は、例えば、自己位置情報D10と軌道計画情報D40に基づいて、移動経路の移動を実現するための動作指令等を駆動部130に出力する。これにより、移動体100は、駆動部130の駆動によって移動機構が動作することで、移動経路に沿って移動する。駆動制御部153は、駆動部130を駆動させている場合に、近接センサ111が検出範囲111Eの内部に物体を検出すると、駆動部130の駆動を停止させる。
 物体検出部154は、近接センサ111が検出範囲111Eの内部に物体の存在を検出したことを、通信部120を介して情報処理装置200に通知する。物体検出部154は、近接センサ111が物体の存在を検出した状態から物体の存在を検出していない状態へ変化すると、通信部120を介して情報処理装置200に物体検出の解除を通知する。
 以上、本実施形態に係る移動体100の機能構成例について説明した。なお、図4を用いて説明した上記の構成はあくまで一例であり、本実施形態に係る移動体100の機能構成は係る例に限定されない。本実施形態に係る移動体100の機能構成は、仕様や運用に応じて柔軟に変形可能である。
[実施形態に係る情報処理装置の構成例]
 図5は、実施形態に係る情報処理装置200の構成の一例を示す構成図である。図5に示すように、情報処理装置200は、通信部210と、記憶部220と、制御部230と、を備える。制御部230は、通信部210及び記憶部220と電気的に接続されている。
 通信部210は、例えば、複数の移動体100のそれぞれと通信を行う。通信部210は、例えば、ネットワークを介して各種データを送受信する。通信部210は、例えば、移動体100から受信した各種情報を制御部230に供給する。通信部210は、例えば、制御部230が指示した情報を指示された送信先に送信する。なお、通信部210がサポートする通信プロトコルは、特に限定されるものではなく、また、通信部210が、複数の種類の通信プロトコルをサポートすることも可能である。
 記憶部220は、各種データ及びプログラムを記憶する。記憶部220は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。記憶部220は、通信部210を介して受信した情報を記憶する。記憶部220は、例えば、経路情報D100、移動体情報D200、自己位置情報D10、移動タスク情報D20、移動経路情報D30等の各種情報を記憶する。
 経路情報D100は、複数の移動体100の移動を制御する対象領域における経路を示す情報を含む。経路情報D100は、例えば、対象領域における経路をノードグラフ(トポロジカル地図)で示す情報を含む。経路情報D100は、対象領域の環境全体の経路をモデル化した情報を含む。経路情報D100は、例えば、図2に示した経路地図500を識別可能な情報を含む。経路情報D100は、障害物によって移動不能な経路を示す情報を含めることができる。
 移動体情報D200は、対象領域において制御対象とする移動体100に関する情報を含む。移動体情報D200は、対象領域における移動体100の現在位置、移動状態、スペック等を示す情報を含む。移動状態は、例えば、移動体100が移動している状態、停止している状態等を示す。記憶部220は、複数の移動体100のそれぞれに対応した複数の移動体情報D200を記憶できる。
 本実施形態では、移動体情報D200は、移動体100の外形を識別可能な外形情報D210を含む。外形情報D210は、例えば、移動体100を平面化したときの形状、サイズ、中心位置、輪郭等を示す形状情報D211を含む構成としてもよい。外形情報D210は、例えば、移動体100を平面化したときの概形、特徴座標等を示す概形情報D212を含む構成としてもよい。概形情報D212は、例えば、方形、台形、円形等の特徴点の座標、形状等を識別可能な情報を含む。外形情報D210は、形状情報D211及び概形情報D212の双方を含む構成としてもよい。
 自己位置情報D10は、移動体100から受信した情報である。自己位置情報D10は、情報処理装置200が制御対象とする移動体100の自己位置を示す情報を含む。記憶部220は、自己位置情報D10を送信した移動体100に対応した移動体情報D200に関連付けて、自己位置情報D10を記憶できる。自己位置情報D10は、複数の移動体100ごとの自己位置を示す。
 移動タスク情報D20は、移動元と移動先を指定した移動タスクを示す情報を含む。移動タスク情報D20は、例えば、ユーザUが指定した移動タスク、コンピュータが指定した移動タスク等を示す情報を含む。記憶部220は、複数の移動タスク情報D20を記憶できる。
 移動経路情報D30は、移動先に到達するまでの移動体100の移動経路を示す情報を含む。移動経路情報D30は、移動タスクが示す移動元から移動先までの経路を示す情報を含む。移動経路情報D30は、制御対象の移動体100に対応した移動体情報D200に関連付けられている。移動経路情報D30は、例えば、移動先に到達するまでの複数の目標座標と移動先との座標の配列を示す情報を含む。記憶部220は、複数の移動経路情報D30を記憶できる。
 本実施形態では、情報処理装置200は、経路情報D100及び移動体情報D200を内蔵する記憶部220に記憶する場合について説明するが、これに限定されない。例えば、情報処理装置200は、アクセス可能な外部の記憶装置に経路情報D100及び移動体情報D200を記憶してもよい。
 制御部230は、例えば、専用または汎用のコンピュータである。制御部230は、例えば、情報処理装置200を制御する統合制御ユニットである。制御部230は、複数の移動体100の対象領域における移動を制御する各機能を備える。
 制御部230は、タスク計画部231と、計画部232と、判定部233と、変更部234と、特定部235と、算出部236との各機能部を備える。制御部230の各機能部は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置200の内部に記憶されたプログラムがRAM等を作業領域として実行されることにより実現される。また、各機能部は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA等の集積回路により実現されてもよい。
 タスク計画部231は、移動タスク情報D20と移動体情報D200とに基づいて、複数の移動体100の中から移動対象の移動体100を決定する。例えば、タスク計画部231は、移動タスク情報D20が示す移動元の近くに位置する移動体100を、移動対象として決定する。タスク計画部231は、計画した移動経路を移動させる移動体100を、移動タスクを未実行の移動体100の中から決定する。タスク計画部231は、移動タスク情報D20と移動対象の移動体100を示す移動体情報D200とを関連付け、移動先と移動対象の移動体100とを登録する。
 計画部232は、経路情報D100から制御対象の複数の移動体100を移動させる移動経路を計画する。計画部232は、移動タスク情報D20が示す移動元から移動先に到達するまでの最短経路を、ダイクストラ法等のアルゴリズムで求める。例えば、計画部232は、経路情報D100が示すエッジ520の空間的距離をコストとして、移動元である始点のノード510から移動先の終点のノード510までが最小となるノード510の並び(ノード列)を、ダイクストラ法で算出する。計画部232は、算出した移動経路を示す移動経路情報D30を生成し、移動経路情報D30を決定した移動体100の移動体情報D200に関連付けて記憶部220に記憶する。
 判定部233は、移動経路を移動する移動体100の近接センサ111が検出範囲111Eの内部に物体を検出すると、物体が制御対象の他の移動体100であるか否かを判定する。判定部233は、物体が他の移動体100ではないと判定した場合に、物体を検出した移動経路が障害物によって移動不能な経路と判定する。判定部233は、移動体100の近接センサ111が検出範囲111Eの内部に物体を検出すると、物体が移動障害物600ではないと判定した場合に、物体が制御対象の他の移動体100であるか否かを判定する。
 判定部233は、移動体100の近接センサ111が検出範囲111Eの内部に物体を検出してから判定時間が経過するまでに、近接センサ111が検出範囲111Eの内部に物体を検出しなくなった場合、物体が移動障害物600であると判定する。判定部233は、判定時間が経過するまで、近接センサ111が検出範囲111Eの内部に物体を検出している場合、物体が移動障害物600ではないと判定する。判定時間は、例えば、移動障害物600の移動速度、移動障害物600の行動を機械学習した結果等に基づいて、判定用に設定された時間を含む。
 本実施形態では、判定部233は、検出した物体が移動障害物600であるか否かを判定する処理と、検出した物体が移動制御可能な他の移動体100であるか否かを判定する処理とを含む場合について説明するが、これに限定されない。判定部233は、検出した物体が移動障害物600であるか否かを判定する処理を含まずに、検出した物体が移動制御可能な他の移動体100であるか否かを判定する処理を含む構成としてもよい。
 変更部234は、障害物によって移動不能な経路に基づいて経路情報D100を変更する。例えば、変更部234は、障害物により移動不能な箇所を経路地図が示すように、経路情報D100を変更する。例えば、変更部234は、障害物により移動不能な箇所の経路を遮断するように、経路情報D100を変更する。変更部234は、経路情報D100を変更することにより、障害物により移動不能な箇所を他の移動体100の計画に反映することができる。変更部234が経路情報D100を変更すると、計画部232は、変更した経路情報D100に基づいて移動経路を再計画する。
 特定部235は、他の移動体100の位置情報及び外形情報に基づいて、他の移動体100の外形領域を特定する。例えば、特定部235は、他の移動体100の位置情報を自己位置情報D10から取得し、外形情報を移動体情報D200から取得する。外形情報は、例えば、他の移動体100の形状、概形等を示す情報を含む。特定部235は、他の移動体100の外形の位置座標及び角度に基づいて、対象領域における他の移動体100の外形領域を特定する。他の移動体100が対象領域に複数存在する場合、特定部235は、複数の他の移動体100のそれぞれの配置を特定する。
 算出部236は、移動体100の現在位置における近接センサ111の検出範囲111Eを算出する。算出部236は、例えば、自己位置情報D10が示す移動体100の位置座標と進行方向の角度から、移動体100の現在位置における近接センサ111の検出範囲111Eを算出する。
 判定部233は、他の移動体100の外形領域と近接センサ111の検出範囲111Eとの位置関係に基づいて、物体が制御対象の他の移動体100であるか否かを判定する。判定部233は、外形領域と検出範囲111Eとが交わる場合、物体が制御対象の他の移動体100であると判定する。判定部233は、外形領域と検出範囲111Eとが交わらない場合、物体が制御対象の他の移動体100ではないと判定する。また、判定部233は、外形領域と検出範囲111Eとが一定の距離まで接近した場合に、物体が制御対象の他の移動体100であると判定してもよい。
 以上、実施形態に係る情報処理装置200の機能構成例について説明した。なお、図5を用いて説明した上記の構成はあくまで一例であり、実施形態に係る情報処理装置200の機能構成は係る例に限定されない。実施形態に係る情報処理装置200の機能構成は、仕様や運用に応じて柔軟に変形可能である。
[実施形態に係る移動制御システムのシーケンス例]
 図6は、実施形態に係る移動制御システム1のシーケンスの一例を示す図である。図6に示すように、移動制御システム1は、情報処理装置200が複数の移動体100の対象領域における移動を制御する。
 移動体100は、自己位置を推定すると、自己位置を示す自己位置情報D10を情報処理装置200に送信する(ステップS1)。情報処理装置200は、受信した自己位置情報D10を移動体100の移動体情報D200に関連付けて記憶部220に記憶する。情報処理装置200は、例えば、移動体100の現在位置、タスク実行状況等の情報を情報端末300に提供する(ステップS2)。
 情報端末300は、対象領域における複数の移動体100のそれぞれの現在位置、タスク実行状況等を示す情報をユーザUに提供する。これにより、情報端末300は、対象領域の複数の移動体100の現在位置、タスク実行状況等を、ユーザUに確認させることができる。情報端末300は、ユーザUが対象領域における移動元から移動先の移動タスクを設定すると、該移動タスクを示す移動タスク情報D20を情報処理装置200に送信する(ステップS3)。
 情報処理装置200は、情報端末300から移動タスク情報D20を受信すると、移動タスクが示す移動先への移動経路を計画する。情報処理装置200は、移動タスクを実行する移動体100を決定すると、決定した移動体100に移動経路情報D30を送信する(ステップS4)。
 移動体100は、情報処理装置200から移動経路情報D30を受信すると、移動経路情報D30に基づいて移動体100の軌道計画を行う。移動体100は、軌道計画に基づいた移動を開始すると、所定のタイミングごとに自己位置を推定する。移動体100は、所定のタイミングごとに推定した自己位置を示す自己位置情報D10を、情報処理装置200に送信する(ステップS5)。情報処理装置200は、移動体100から受信した自己位置情報D10を移動体情報D200に関連付けて記憶部220に記憶する。
 移動体100は、推定した自己位置が移動経路情報D30の移動先に到達すると、移動完了を情報処理装置200に通知する(ステップS6)。情報処理装置200は、移動完了が通知されると、該当する移動タスク情報D20の完了を情報端末300に通知する(ステップS7)。情報端末300は、移動タスクの完了をユーザUに対して通知する。これにより、ユーザUは、情報端末300の通知に基づいて、移動体100によって移動タスクが完了したことを確認することができる。
[移動体の自己位置通知処理の一例]
 図7は、実施形態に係る移動体100の自己位置通知処理の一例を示すフローチャートである。図7に示す処理手順は、移動体100の制御部150がプログラムを実行することによって実現される。図7に示す処理手順は、制御部150によって所定のタイミングで実行される。所定のタイミングは、例えば、移動体100の起動時、情報処理装置200から開始が指示されたとき等を含む。
 図7に示すように、移動体100の制御部150は、移動体100の位置座標、角度の初期値を設定する(ステップS1101)。例えば、制御部150は、移動体100の動作開始時の初期位置座標及び初期角度を設定する。対象領域には、設置場所の位置座標及び角度を示す位置マーカが複数設けられている。位置マーカは、例えば、設定場所の基準となる位置座標及び角度を示すQRコード(登録商標)、バーコード、看板等を含む。制御部150は、ステップS1101の処理が終了すると、処理をステップS1102に進める。
 制御部150は、コードセンサ114の検出結果に基づいて、位置マーカを読み取ったか否かを判定する(ステップS1102)。制御部150は、位置マーカを読み取っていないと判定した場合(ステップS1102でNo)、処理を後述するステップS1104に進める。また、制御部150は、位置マーカを読み取ったと判定した場合(ステップS1102でYes)、処理をステップS1103に進める。
 制御部150は、位置座標及び角度を位置マーカの値に更新し、エンコーダ112及び加速度センサ113の値をリセットする(ステップS1103)。例えば、制御部150は、位置マーカが示す位置座標及び角度に変更することで、移動体100の位置座標及び角度を補正する。制御部150は、ステップS1103の処理が終了すると、処理をステップS1104に進める。
 制御部150は、エンコーダ112と加速度センサ113の値を取得して自己位置情報D10を推定する(ステップS1104)。自己位置情報D10を推定するとは、例えば、移動体100の自己位置、進行方向等を推定することを意味する。例えば、制御部150は、センサ部110が検出したセンサ情報に基づいて、移動体100の自己位置、進行方向等を推定する。制御部150は、推定した自己位置情報D10を記憶部140に記憶すると、処理をステップS1105に進める。
 制御部150は、自己位置情報D10を情報処理装置200に送信する(ステップS1105)。例えば、制御部150は、ステップS1104で推定した自己位置情報D10を、通信部120を介して情報処理装置200に送信する。制御部150は、ステップS1105の処理が終了すると、処理を既に説明したステップS1102に戻し、処理を継続する。
 図7に示す処理手順では、制御部150は、いずれのステップを実行していても、終了シーケンスの発生等に応じて図7に示す処理手順を強制的に終了させる。
[情報処理装置の経路計画処理の一例]
 図8は、実施形態に係る情報処理装置200の経路計画処理の一例を示すフローチャートである。図8に示す処理手順は、情報処理装置200の制御部230がプログラムを実行することによって実現される。図8に示す処理手順は、制御部230によって繰り返し実行される。
 図8に示すように、情報処理装置200の制御部230は、情報端末300から移動タスク情報D20を取得する(ステップS2101)。例えば、制御部230は、通信部210を介して、情報端末300が送信した移動タスク情報D20を取得する。制御部230は、取得した移動タスク情報D20を記憶部220に記憶すると、処理をステップS2102に進める。
 制御部230は、移動タスクを未実行の移動体100が存在するか否かを判定する(ステップS2102)。例えば、制御部230は、記憶部220に記憶している他の移動タスク情報D20が示すタスク実行状況、移動体情報D200等に基づいて、移動タスクを実行していない移動体100が存在するか否かを判定する。制御部230は、移動タスクを未実行の移動体100が存在しないと判定した場合(ステップS2102でNo)、処理を既に説明したステップ2102に戻し、処理を継続する。これにより、制御部230は、移動タスクを実行している複数の移動体100のうち、移動タスクが終了した移動体100を待つ。
 また、制御部230は、移動タスクを未実行の移動体100が存在すると判定した場合(ステップS2102でYes)、処理をステップS2103に進める。制御部230は、移動タスク情報D20及び経路情報D100に基づいて、移動元から移動先までの移動経路を計画する(ステップS2103)。例えば、制御部230は、移動タスク情報D20が示す移動元から移動先までの移動経路を、ダイクストラ法等のアルゴリズムを用いて計画する。制御部230は、ステップS2103の処理が終了すると、処理をステップS2104に進める。
 制御部230は、移動タスクを未実行の移動体100の中から移動タスクを実行させる移動体100を決定する(ステップS2104)。例えば、制御部230は、移動タスクを未実行の移動体100の中から移動元に最も近い移動体100を、移動タスクを実行させる移動体100として決定する。制御部230は、ステップS2104の処理が終了すると、処理をステップS2105に進める。
 制御部230は、決定した移動体100に移動経路情報D30を送信する(ステップS2105)。例えば、制御部230は、通信部210を介して、ステップS2104で決定した移動体100に移動経路情報D30を送信する。制御部230は、ステップS2105の処理が終了すると、図8に示す処理手順を終了させる。
[移動体の移動制御処理の一例]
 図9は、実施形態に係る移動体100の移動制御処理の一例を示すフローチャートである。図9に示す処理手順は、移動体100の制御部150がプログラムを実行することによって実現される。図9に示す処理手順は、制御部150によって繰り返し実行される。
 図9に示すように、移動体100の制御部150は、移動経路情報D30を受信したか否かを判定する(ステップS1201)。例えば、制御部150は、通信部120を介して、情報処理装置200から移動経路情報D30を受信している場合に、移動経路情報D30を受信したと判定する。制御部150は、移動経路情報D30を受信していないと判定した場合(ステップS1201でNo)、図9に示す処理手順を終了させる。
 また、制御部150は、移動経路情報D30を受信したと判定した場合(ステップS1201でYes)、処理をステップS1202に進める。制御部150は、移動経路情報D30のノード座標列をFIFO(First-In First-Out)に格納する(ステップS1202)。FIFOは、先入れ先出しのメモリである。例えば、制御部150は、移動経路情報D30の複数のノード座標列を、移動元から移動先の順序でFIFOに設定する。制御部150は、ステップS1202の処理が終了すると、処理をステップS1203に進める。
 制御部150は、FIFOからノード座標を1つ取り出す(ステップS1203)。制御部150は、先入れしたノード座標をFIFOから取り出すと、処理をステップS1204に進める。制御部150は、取り出したノード座標に向かう軌道を計画する(ステップS1204)。例えば、制御部150は、自己位置から目標のノード座標に向かう移動体100の回転方向、移動速度等の軌道を、移動体100の運動性能を考慮して計画する。制御部150は、計画した軌道を示す軌道計画情報D40を記憶部140に記憶すると、処理をステップS1205に進める。これにより、移動体100の駆動制御部153は、軌道計画情報D40が示す軌道を移動体100が移動するように、駆動部130の駆動を制御する。
 制御部150は、自己位置とノード座標が一致するか否かを判定する(ステップS1205)。例えば、制御部150は、センサ部110が検出したセンサ情報に基づいて、移動体100の自己位置を推定し、推定した自己位置とノード座標とを比較する。制御部150は、自己位置とノード座標が一致しないと判定した場合(ステップS1205でNo)、移動体100がノード座標位置に到達していないので、処理を既に説明したステップS1205に戻し、処理を継続する。また、制御部150は、自己位置とノード座標が一致すると判定した場合(ステップS1205でYes)、移動体100がノード座標位置に到達しているので、処理をステップS1206に進める。
 制御部150は、FIFOが空であるか否かを判定する(ステップS1206)。例えば、制御部150は、FIFOから全てのノード座標を取り出している場合に、FIFOが空であると判定する。制御部150は、FIFOが空ではないと判定した場合(ステップS1206でNo)、処理を既に説明したステップS1203に戻し、処理を継続する。また、制御部150は、FIFOが空であると判定した場合(ステップS1206でYes)、処理をステップS1207に進める。
 制御部150は、移動体100の移動完了を情報処理装置200に通知する(ステップS1207)。例えば、制御部150は、移動経路情報D30が示す移動先への移動が完了したことを示す移動完了情報を、通信部120を介して情報処理装置200に送信する。制御部150は、ステップS1207の処理が終了すると、図9に示す処理手順を終了させる。
[移動体の物体検出処理の一例]
 図10は、実施形態に係る移動体100の物体検出処理の一例を示すフローチャートである。図10に示す処理手順は、移動体100の制御部150がプログラムを実行することによって実現される。図10に示す処理手順は、制御部150によって繰り返し実行される。
 図10に示すように、移動体100の制御部150は、近接センサ111が物体を検出したか否かを判定する(ステップS1301)。例えば、制御部150は、近接センサ111が検出範囲111Eの内部に物体の存在を検出した場合に、近接センサ111が物体を検出したと判定する。制御部150は、近接センサ111が物体を検出していないと判定した場合(ステップS1301でNo)、図10に示す処理手順を終了させる。また、制御部150は、近接センサ111が物体を検出したと判定した場合(ステップS1301でYes)、処理をステップS1302に進める。
 制御部150は、自機が移動中であるか否かを判定する(ステップS1302)。例えば、制御部150は、移動体100の駆動制御部153が駆動部130を制御している、エンコーダ112が車輪の駆動量を検出している等の場合に、自機が移動中であると判定する。制御部150は、自機が移動中ではないと判定した場合(ステップS1302でNo)、処理を後述するステップS1304に進める。また、制御部150は、自機が移動中であると判定した場合(ステップS1302でYes)、処理をステップS1303に進める。
 制御部150は、移動体100の一時移動を停止させる(ステップS1303)。例えば、制御部150は、移動体100の一時停止を駆動制御部153に指示することで、移動体100の移動を停止させる。制御部150は、ステップS1303の処理が終了すると、処理をステップS1304に進める。
 制御部150は、自己位置及び物体の検出を情報処理装置200に通知する(ステップS1304)。例えば、制御部150は、自己位置及び物体の検出を通知可能な通知情報を、通信部120を介して情報処理装置200に送信する。制御部150は、ステップS1304の処理が終了すると、処理をステップS1305に進める。
 制御部150は、近接センサ111が物体を検出しているか否かを判定する(ステップS1305)。例えば、物体が移動障害物600である場合、近接センサ111の検出範囲111Eから外れる可能性がある。制御部150は、近接センサ111が検出範囲111Eの内部に物体の存在を検出している場合に、近接センサ111が物体を検出していると判定する。制御部150は、近接センサ111が物体を検出していると判定した場合(ステップS1305でYes)、処理を既に説明したステップS1305に戻し、処理を継続する。また、制御部150は、近接センサ111が物体を検出していないと判定した場合(ステップS1305でNo)、処理をステップS1306に進める。
 制御部150は、物体の検出の解除を情報処理装置200に通知する(ステップS1306)。例えば、制御部150は、物体の検出の解除を通知可能な通知情報を、通信部120を介して情報処理装置200に送信する。制御部150は、ステップS1306の処理が終了すると、処理をステップS1307に進める。
 制御部150は、物体検出時、移動中であったか否かを判定する(ステップS1307)。例えば、制御部150は、一時停止している場合に、物体検出時、移動中であったと判定する。制御部150は、物体検出時、移動中ではなかったと判定した場合(ステップS1307でNo)、図10に示す処理手順を終了させる。
 また、制御部150は、物体検出時、移動中であったと判定した場合(ステップS1307でYes)、処理をステップS1308に進める。制御部150は、移動体100の移動を再開する(ステップS1308)。例えば、制御部150は、移動体100の一時停止の解除を駆動制御部153に指示することで、移動体100の移動を再開させる。制御部150は、ステップS1308の処理が終了すると、図10に示す処理手順を終了させる。
[情報処理装置の物体判定処理の一例]
 図11は、実施形態に係る情報処理装置200の物体判定処理の一例を示すフローチャートである。図11に示す処理手順は、情報処理装置200の制御部230がプログラムを実行することによって実現される。図11に示す処理手順は、制御部230によって繰り返し実行される。
 図11に示すように、情報処理装置200の制御部230は、移動体100から物体検出の通知があったか否かを判定する(ステップS2201)。例えば、制御部230は、通信部210を介して、自己位置及び物体の検出を通知可能な通知情報を移動体100から受信している場合に、移動体100から物体検出の通知があったと判定する。制御部230は、移動体100から物体検出の通知がないと判定した場合(ステップS2201でNo)、図11に示す処理手順を終了させる。
 また、制御部230は、移動体100から物体検出の通知があったと判定した場合(ステップS2201でYes)、処理をステップS2202に進める。制御部230は、物体検出に応答し、移動障害物の判定時間が経過するまで待機する(ステップS2202)。例えば、制御部230は、通信部210を介して、物体検出の通知の応答を移動体に送信する。制御部230は、判定時間が経過するまで待ち、その間に物体の検出が移動体100によって解除されれば、物体が移動障害物であると判定することができる。このため、制御部230は、物体検出の通知から判定時間が経過するまで待機する。判定時間は、例えば、近接センサ111の検出範囲[m]÷人間の平均歩行速度[m/s]を算出した時間、予め設定された時間等を含む。制御部230は、判定時間が経過すると、処理をステップS2203に進める。
 制御部230は、移動体100から物体検出の解除が通知されたか否かを判定する(ステップS2203)。例えば、制御部230は、通信部210を介して、物体検出の解除を通知する通知情報を移動体100から受信している場合に、移動体100から物体検出の解除が通知されたと判定する。制御部230は、移動体100から物体検出の解除が通知されたと判定した場合(ステップS2203でYes)、図11に示す処理手順を終了させる。
 また、制御部230は、移動体100から物体検出の解除が通知されていないと判定した場合(ステップS2203でNo)、処理をステップS2204に進める。制御部230は、他の移動体100の自己位置情報D10及び移動体情報D200を取得する(ステップS2204)。例えば、制御部230は、制御対象の全ての移動体100の自己位置情報D10及び移動体情報D200を取得してもよい。例えば、制御部230は、物体を検出した移動体100から所定範囲の内部に位置する他の移動体100の自己位置情報D10及び移動体情報D200を取得してもよい。制御部230は、ステップS2204の処理が終了すると、処理をステップS2205に進める。
 制御部230は、対象領域における移動体100の近接センサ111の検出範囲111Eを算出する(ステップS2205)。制御部230は、移動体100位置座標からオフセットした近接センサ111の中心座標を求め、該中心座標に基づいて近接センサ111の検出範囲111Eを算出する。制御部230は、ステップS2205の処理が終了すると、処理をステップS2206に進める。
 制御部230は、対象領域における他の移動体100の外形領域を特定する(ステップS2206)。例えば、制御部230は、他の移動体100の移動体情報D200の外形情報及び自己位置情報D10に基づいて、対象領域における外形領域を特定する。外形領域の特定方法は、後述する。制御部230は、ステップS2206の処理が終了すると、処理をステップS2207に進める。
 制御部230は、近接センサ111の検出範囲111Eと外形領域が交わっているか否かを判定する(ステップS2207)。例えば、制御部230は、検出範囲111Eと外形領域とを比較し、交点が存在する場合に、近接センサ111の検出範囲111Eと外形領域が交わっていると判定する。制御部230は、近接センサ111の検出範囲111Eと外形領域が交わっていると判定した場合(ステップS2207でYes)、処理をステップS2208に進める。制御部230は、物体が制御対象の他の移動体100であると判定する(ステップS2208)。制御部230は、判定結果を記憶部220に記憶すると、図11に示す処理手順を終了させる。
 また、制御部230は、近接センサ111の検出範囲111Eと外形領域が交わっていないと判定した場合(ステップS2207でNo)、処理をステップS2209に進める。制御部230は、物体が静止障害物であると判定する(ステップS2209)。制御部230は、判定結果を記憶部220に記憶すると、処理をステップS2210に進める。
 制御部230は、物体を検出した移動経路が障害物によって移動不能な経路と判定する(ステップS2210)。制御部230は、移動不能な経路に基づいて経路情報D100を変更する(ステップS2211)。例えば、制御部230は、静止障害物により移動不能な箇所の経路を遮断するように、経路情報D100を変更する。経路情報D100の変更例は、後述する。制御部230は、ステップS2211の処理が終了すると、図11に示す処理手順を終了させる。
[情報処理装置の物体判定例]
 図12は、実施形態に係る情報処理装置200が物体を判定する一例を説明するための図である。図12の場面C11では、情報処理装置200は、移動体100-1の座標100Pからオフセットした近接センサ111の中心座標を座標(x,y)とする。情報処理装置200は、移動体100-1の角度がθ回転した近接センサ111の中心座標である座標(x,y)を、以下の式(1)によって求める。
Figure JPOXMLDOC01-appb-M000001
 場面C12の一例では、他の移動体100-2の外形情報D210は、方形状の外形を示し、4つの頂点座標(x2a,y2b)、(x2b,y2b)、(x2c,y2c)、(x2d,y2d)等の情報を有している。4つの頂点座標(x2a,y2b)、(x2b,y2b)、(x2c,y2c)、(x2d,y2d)で囲まれた領域は、外形領域100Gである。情報処理装置200は、他の移動体100-2の任意の座標(x,y)における各頂点座標(x2n,y2n)を、x=x+x2n、y=y+y2nとする。nは、a、b、c、dのいずれかである。この場合、情報処理装置200は、角度θの移動体100-2の各頂点は、以下の式(2)によって求める。
Figure JPOXMLDOC01-appb-M000002
 場面C13の一例では、移動体100-1の近接センサ111の中心座標を座標(x,y)から、回転した移動体100-2の各辺からの垂線の長さは、移動体100-1の近接センサ111の検出範囲111Eの半径rよりも小さい。この場合、移動体100-1の近接センサ111の中心座標を中心として半径rの円である近接センサ111の検出範囲111Eは、回転した移動体100-2の外形領域100Gの各辺の交点が存在することになる。もし、交点が存在すれば、移動体100-1の近接センサ111が検出したのは、他の移動体100-2である。このため、情報処理装置200は、近接センサ111の検出範囲111Eと他の移動体100-2の外形の辺に交点が存在する場合に、物体が他の移動体100-2であると判定する。他の移動体100-2は、情報処理装置200の指示によって移動させることが可能なので、障害物とは判定する必要はない。情報処理装置200は、近接センサ111によって検出された物体が他の移動体100-2ではない場合に、移動体100-1の静止障害物であると判定する。情報処理装置200は、検出した物体を静止障害物と判定した場合、静止障害物に基づいて経路情報D100を変更する。すなわち、情報処理装置200は、検出した物体が他の移動体100-2であると判定した場合、経路情報D100を変更する必要がないと判定できる。
[情報処理装置の経路情報の変更例]
 図13は、実施形態に係る情報処理装置200が経路情報D100を変更する一例を説明するための図である。図13の場面C21では、情報処理装置200は、移動体100-1の近接センサ111によって検出した物体を、他の移動体100-2ではなく、静止障害物と判定している。移動体100-1は、ノード510Aとノード510Bとの間のエッジ520をノード510Bに向かって移動していたとする。情報処理装置200は、移動体100-1の自己位置に基づいて近接センサ111の検出範囲111Eを設定する。情報処理装置200は、検出範囲111Eの円周とエッジ520との交点を求め、移動体100-1の進行方向側の交点に新規のノード511-1を設定する。情報処理装置200は、移動体100-1の現在座標に新規のノード511-2を設定する。
 場面C22では、情報処理装置200は、移動体100-1の近接センサ111の検出範囲111Eの内部に静止障害物があるので、そこが移動不能となるように、経路情報D100の該当箇所を変更する。例えば、情報処理装置200は、新規のノード511-1とノード511-2との間のエッジ520を切断するように、経路情報D100を変更する。これにより、経路情報D100は、新規のノード511-1及びノード511-2が経路の終端を示す終端ノードとなる。
[移動制御システムの経路情報の変更時のシーケンス例]
 図14は、実施形態に係る移動制御システム1の経路情報D100の変更時のシーケンスの一例を示す図である。図14に示すように、移動制御システム1は、情報処理装置200が複数の移動体100の対象領域における移動を制御する。図14に示すシーケンスは、ステップS1からステップS5が図6で示したステップS1からステップS5と同一である。
 移動体100は、自己位置を推定すると、自己位置を示す自己位置情報D10を情報処理装置200に送信する(ステップS1)。情報処理装置200は、例えば、移動体100の現在位置、タスク実行状況等の情報を情報端末300に提供する(ステップS2)。情報端末300は、ユーザUが対象領域における移動元から移動先の移動タスクを設定すると、該移動タスクを示す移動タスク情報D20を情報処理装置200に送信する(ステップS3)。情報処理装置200は、移動タスクを実行する移動体100を決定すると、決定した移動体100に移動経路情報D30を送信する(ステップS4)。移動体100は、所定のタイミングごとに推定した自己位置を示す自己位置情報D10を、情報処理装置200に送信する(ステップS5)。
 その後、移動体100は、近接センサ111が検出範囲111Eの内部に存在する物体を検出すると、物体検出を情報処理装置200に通知する(ステップS11)。情報処理装置200は、物体検出の応答を移動体100に送信する(ステップS12)。物体検出の応答は、例えば、物体検出の通知を受信したことを通知することを含む。情報処理装置200は、移動体100が検出した物体を静止障害物であると判定した場合、静止障害物が存在する経路を移動不能な経路となるように、経路情報D100を変更する(ステップS13)。情報処理装置200は、変更した経路情報D100に基づいて、移動体100の移動経路を再計画すると、新たな移動経路情報D30を移動体100に送信する(ステップS14)。
 移動体100は、情報処理装置200から新たな移動経路情報D30を受信すると、移動経路情報D30に基づいて移動体100の軌道計画を行う。移動体100は、軌道計画に基づいた移動を開始すると、所定のタイミングごとに自己位置を推定する。移動体100は、所定のタイミングごとに推定した自己位置を示す自己位置情報D10を、情報処理装置200に送信する(ステップS15)。情報処理装置200は、移動体100から受信した自己位置情報D10を記憶部220に記憶する。
 移動体100は、推定した自己位置が移動経路情報D30の移動先に到達すると、移動完了を情報処理装置200に通知する(ステップS16)。情報処理装置200は、移動完了が通知されると、該当する移動タスク情報D20の完了を情報端末300に通知する(ステップS17)。情報端末300は、移動タスクの完了をユーザUに対して通知する。これにより、ユーザUは、移動タスクに応じた移動経路の移動不能を意識することなく、情報端末300の通知に基づいて、移動体100によって移動タスクが完了したことを確認することができる。
[移動制御システムにおける移動体の動作例]
 図15は、実施形態に係る移動制御システム1が制御する移動体100の動作例の一例を説明するための図である。図15の一例では、移動制御システム1は、説明を簡単化するために、情報処理装置200が移動体100-1及び移動体100-2の移動を制御している。
 図15に示す場面C31では、移動制御システム1は、移動体100-1及び移動体100-2の移動を情報処理装置200が制御している。移動体100-1は、ノード500A、ノード500B、ノード500C及び移動先ノード530の順序の移動経路R10となっている。移動体100-1は、ノード500Aからノード500Bに向かって移動している。また、移動体100-2は、ノード510Eからノード500Fに向かって移動している。例えば、移動体100-2は、ノード500F、ノード500B、ノード500C及び移動先ノード530の順序の移動経路となっている。
 場面C32では、移動体100-1は、ノード500Bを通過し、ノード500Bからノード500Cに向かってエッジ520を移動している。この場合、エッジ520上に障害物540が存在しているため、移動体100-1は、近接センサ111が検出範囲111Eの内部に存在する物体を検出して一時停止する。
 情報処理装置200は、移動体100-1から物体検出が通知されてから判定時間が経過するまでに、移動体100-1からの解除通知がない場合、物体が移動障害物600ではないと判定する。情報処理装置200は、他の移動体100の自己位置情報D10及び外形情報D210に基づいて、他の移動体100の外形領域100Gを特定する。情報処理装置200は、移動体100-1の自己位置情報D10及び移動体情報D200に基づいて、移動体100-1の近接センサ111の検出範囲111Eを算出する。情報処理装置200は、他の移動体100の外形領域100Gと検出範囲111Eとの位置関係に基づいて、物体が制御対象の他の移動体100であるか否かを判定する。移動体100-2の外形領域100Gと移動体100-1の検出範囲111Eとは交わらないので、情報処理装置200は、物体が他の移動体100ではないと判定する。この場合、情報処理装置200は、移動体100-1が物体を検出した移動経路が障害物によって移動不能な経路と判定する。
 情報処理装置200は、物体を検出した移動体100-1の自己位置情報D10に基づいて、障害物により移動不能な箇所を経路から削除するように経路情報D100を変更する。情報処理装置200は、変更した経路情報D100と自己位置情報D10と移動タスク情報D20とに基づいて、移動体100-1の移動経路を再計画する。例えば、情報処理装置200は、ノード500B、ノード500F、ノード500E、ノード500D及び移動先ノード530の順序の移動経路R11を再計画する。情報処理装置200は、再計画した移動経路R11を移動するように、移動体100の移動を制御する。
 また、情報処理装置200は、経路情報D100を変更した場合、対象領域の移動体100-2の移動経路を再計画してもよい。例えば、情報処理装置200は、移動体100-2の移動経路が移動不能となったエッジ520(経路)を含んでいる場合に、移動体100-2の移動経路を再計画する。情報処理装置200は、再計画した移動経路を移動するように、移動体100-2の移動を制御する。これにより、移動制御システム1は、物体を検出していない移動体100-2をスムーズに移動先へ移動させることができるので、複数の移動体100を効率的に移動させることができる。
[移動制御システムの他の変形例]
 上述の本実施形態では、移動制御システム1は、情報処理装置200をクラウドサーバで実現する場合について説明したが、これに限定されない。例えば、移動制御システム1は、情報処理装置200を複数の移動体100のうちのいずれか1つの移動体100で実現させたり、情報処理装置200を複数の移動体100のそれぞれで実現させたりしてもよい。
[ハードウェア構成]
 上述してきた実施形態に係る情報処理装置200は、例えば図16に示すような構成のコンピュータ1000によって実現してもよい。以下、実施形態に係る情報処理装置200を例に挙げて説明する。図16は、情報処理装置200の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
 CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
 ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
 HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
 通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
 入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
 例えば、コンピュータ1000が実施形態に係る移動制御システム1の情報処理装置200として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、タスク計画部231、計画部232、判定部233、変更部234、特定部235、算出部236等の機能を実現する。また、HDD1400には、本開示に係るプログラムや、記憶部220内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 また、コンピュータに内蔵されるCPU、ROMおよびRAMなどのハードウェアに、情報処理装置200が有する構成と同等の機能を発揮させるためのプログラムも作成可能であり、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。
 また、本明細書の移動体100及び情報処理装置200の処理に係る各ステップは、必ずしもフローチャートに記載された順序に沿って時系列に処理される必要はない。例えば、移動体100及び情報処理装置200の処理に係る各ステップは、フローチャートに記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
(効果)
 情報処理装置200は、制御対象の複数の移動体を移動させる移動経路を経路情報D100に基づいて計画する計画部232と、移動経路を移動する移動体100のセンサが検出範囲111Eの内部に物体を検出すると、物体が制御対象の他の移動体100であるか否かを判定する判定部233と、を備える。判定部233は、物体が他の移動体100ではないと判定した場合に、物体を検出した移動経路が静止障害物によって移動不能な経路と判定する。
 これにより、情報処理装置200は、複数の移動体100が移動可能な経路において、移動体100のセンサが検出した物体が他の移動体100ではないと判定した場合に、物体を検出した移動経路が静止障害物によって移動不要な経路と判定することができる。その結果、情報処理装置200は、物体を検出した場所から移動する障害物か移動しない障害物であるかを、検出範囲111Eの内部における物体の有無によって判定できるので、移動体のコストアップを抑制し、複数の移動体を効率的に移動させることができる。
 情報処理装置200では、判定部233は、移動体100のセンサが検出範囲の内部に物体を検出すると、物体が移動障害物ではないと判定した場合に、物体が制御対象の他の移動体であるか否かを判定する。
 これにより、情報処理装置200は、検出範囲の内部の物体が移動障害物でない場合に、当該物体が制御対象の他の移動体であるか否かを判定することで、移動経路が静止障害物によって移動不要な経路の判定精度を向上させることができる。その結果、情報処理装置200は、移動障害物と複数の移動体100が混在する環境下であっても、複数の移動体100を効率的に移動させることができる。
 情報処理装置200は、静止障害物によって移動不能な経路に基づいて、経路情報D100を変更する変更部234をさらに備える。
 これにより、情報処理装置200は、静止障害物によって移動不能な経路を経路情報D100に反映することができる。その結果、情報処理装置200は、経路情報D100が静止障害物とは異なる物体の影響を抑制できるので、移動障害物と複数の移動体100が混在する環境下であっても、経路情報D100が示す経路の信頼性を向上させることができる。
 情報処理装置200は、計画部232は、変更した経路情報D100に基づいて移動経路を再計画する。
 これにより、情報処理装置200は、障害物によって移動不能な経路を経路情報D100に反映すると、移動不能な経路を回避するように移動経路を再計画することができる。その結果、情報処理装置200は、複数の移動体100が有軌道環境で移動する場合でも、複数の移動体100を効率的に移動させることができる。
 情報処理装置200は、他の移動体100の位置情報及び外形情報D210に基づいて、他の移動体100の外形領域100Gを特定する特定部235と、移動体100の現在位置におけるセンサの検出範囲111Eを算出する算出部236と、をさらに備える。判定部233は、他の移動体100の外形領域100Gと検出範囲111Eとの位置関係に基づいて、物体が制御対象の他の移動体100であるか否かを判定する。
 これにより、情報処理装置200は、移動体100の前方の外界を解析することなく、物体が制御対象の他の移動体100であるか否かを判定することができる。情報処理装置200は、外形領域100Gと検出範囲111Eとの交点を簡単な計算で求めることができる。その結果、情報処理装置200は、物体が他の移動体100であるか否かの判定に係る処理を簡単化できるので、複数の移動体100の制御に係る処理負担を抑制することができる。情報処理装置200は、検出範囲111Eの内部の物体の存在を検出するセンサよりも高価なセンサを用いる必要がないので、移動体のコストダウンに貢献することができる。
 情報処理装置200では、特定部235は、外形情報D210が示す形状を位置情報が示す位置に配置した外形領域100Gを特定する。
 これにより、情報処理装置200は、他の移動体100の外形を示す外形領域100Gを特定することができる。その結果、情報処理装置200は、外形領域100Gを特定するための処理負担をより一層抑制することができるので、制御対象の移動体100の増加に容易に対応することができる。
 情報処理装置200では、判定部233は、移動体100のセンサが検出範囲111Eの内部に物体を検出してから判定時間が経過するまでに、センサが検出範囲111Eの内部に物体を検出しなくなった場合、物体が移動障害物であると判定し、判定時間が経過するまで、センサが検出範囲111Eの内部に物体を検出している場合、物体が移動障害物ではないと判定する。
 これにより、情報処理装置200は、移動体100のセンサが物体を検出範囲111Eの内部に検出してから判定時間までの検出状態に基づいて、物体が移動障害物であるか否かを判定することができる。その結果、情報処理装置200は、移動している物体を検出範囲111Eの内部に検出しても判定時間を設けることで、移動障害物の判定精度を向上させることができる。
 移動制御システム1は、経路情報D100が示す経路を移動可能な複数の移動体100と、複数の移動体100の移動を制御する情報処理装置200と、を備える。情報処理装置200は、制御対象の複数の移動体100を移動させる移動経路を経路情報D100に基づいて計画する計画部232と、移動経路を移動する移動体100のセンサが検出範囲の内部に物体を検出すると、物体が制御対象の他の移動体であるか否かを判定する判定部233と、を備える。判定部233は、物体が他の移動体100ではないと判定した場合に、物体を検出した移動経路が障害物によって移動不能な経路と判定する。
 これにより、移動制御システム1は、複数の移動体100が移動可能な経路において、移動体100のセンサが検出範囲111Eの内部の物体を検出することができる。移動制御システム1は、情報処理装置200が移動体100のセンサによって検出した物体を他の移動体100ではないと判定した場合に、物体を検出した移動経路が静止障害物によって移動不要な経路と判定することができる。その結果、移動制御システム1は、物体を検出した場所から移動する障害物か移動しない障害物であるかを、検出範囲111Eの内部における物体の有無によって判定できるので、移動体のコストアップを抑制し、複数の移動体を効率的に移動させることができる。
 移動制御システム1では、移動体100は、センサが検出範囲111Eの内部に物体を検出した場合、移動を停止して判定時間が経過した後に、センサが検出範囲111Eの内部に物体を検出しないと、情報処理装置200に移動停止の解除通知を行い、移動を再開する。情報処理装置200の判定部233は、移動を停止した移動体100から解除通知がない場合、物体が制御対象の他の移動体100であるか否かを判定する。
 これにより、移動制御システム1は、センサが検出範囲111Eの内部に物体を検出した場合、移動体100の移動を停止し、物体の検出状態に応じて移動を再開することができる。移動制御システム1は、移動を停止した移動体100が情報処理装置200に解除通知を行わなかった場合、情報処理装置200によって物体が他の移動体100であるか否かを判定することができる。その結果、移動制御システム1は、複数の移動体100の移動制御を行う環境下であっても、複数の移動体を効率的に移動させることができる。
 移動制御システム1では、移動体100は、センサが検出範囲111Eの内部に物体を検出し、情報処理装置200が移動不能な経路と判定すると、情報処理装置200が再計画した移動経路を移動する。
 これにより、移動制御システム1は、移動体100のセンサで物体の存在を検出するだけで、移動不能な経路を回避し、移動可能な移動経路を移動体100に移動させることができる。その結果、移動制御システム1は、複数の移動体100を制御するシステムを低コストで構築でき、かつ複数の移動体を効率的に移動させることができる。
 移動制御システム1では、センサは、移動体100の進行方向の検出範囲111Eを含む近接センサ111である。
 これにより、移動制御システム1は、移動体100が近接センサ111を備えればよいので、近接センサ111よりも高価な、例えばLiDARセンサ、カメラ等を備える必要がなくなる。その結果、移動制御システム1は、移動体100のコストを抑制できるので、複数の移動体100を制御するシステムを低コストで構築でき、かつ複数の移動体を効率的に移動させることができる。
 情報処理方法は、コンピュータが、制御対象の複数の移動体を移動させる移動経路を経路情報D100に基づいて計画すること、移動経路を移動する移動体100のセンサが検出範囲111Eの内部に物体を検出すると、物体が制御対象の他の移動体100であるか否かを判定すること、物体が他の移動体100ではないと判定した場合に、物体を検出した移動経路が障害物によって移動不能な経路と判定すること、を含む。
 これにより、情報処理方法は、複数の移動体100が移動可能な経路において、移動体100のセンサが検出した物体が他の移動体100ではないと判定した場合に、物体を検出した移動経路が静止障害物によって移動不要な経路とコンピュータが判定することができる。その結果、情報処理方法は、物体を検出した場所から移動する障害物か移動しない障害物であるかを、検出範囲111Eの内部における物体の有無によって判定できるので、移動体のコストアップを抑制し、複数の移動体を効率的に移動させることができる。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画する計画部と、
 前記移動経路を移動する前記移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定する判定部と、
 を備え、
 前記判定部は、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が静止障害物によって移動不能な経路と判定する
 情報処理装置。
(2)
 前記判定部は、前記移動体の前記センサが検出範囲の内部に前記物体を検出すると、前記物体が移動障害物ではないと判定した場合に、前記物体が制御対象の他の移動体であるか否かを判定する
 前記(1)に記載の情報処理装置。
(3)
 前記静止障害物によって移動不能な経路に基づいて、前記経路情報を変更する変更部をさらに備える
 前記(1)または(2)に記載の情報処理装置。
(4)
 前記計画部は、変更した前記経路情報に基づいて前記移動経路を再計画する
 前記(1)から(3)のいずれかに記載の情報処理装置。
(5)
 前記他の移動体の位置情報及び外形情報に基づいて、前記他の移動体の外形領域を特定する特定部と、
 前記移動体の現在位置における前記センサの前記検出範囲を算出する算出部と、
 をさらに備え、
 前記判定部は、前記他の移動体の前記外形領域と前記検出範囲との位置関係に基づいて、前記物体が前記制御対象の前記他の移動体であるか否かを判定する
 前記(3)または(4)に記載の情報処理装置。
(6)
 前記特定部は、前記外形情報が示す形状を前記位置情報が示す位置に配置した前記外形領域を特定する
 前記(5)に記載の情報処理装置。
(7)
 前記判定部は、前記移動体の前記センサが検出範囲の内部に前記物体を検出してから判定時間が経過するまでに、前記センサが検出範囲の内部に前記物体を検出しなくなった場合、前記物体が前記移動障害物であると判定し、前記判定時間が経過するまで、前記センサが検出範囲の内部に前記物体を検出している場合、前記物体が前記移動障害物ではないと判定する
 前記(1)から(6)のいずれかに記載の情報処理装置。
(8)
 経路情報が示す経路を移動可能な複数の移動体と、
 複数の前記移動体の移動を制御する情報処理装置と、
 を備え、
 前記情報処理装置は、
 制御対象の複数の移動体を移動させる移動経路を前記経路情報に基づいて計画する計画部と、
 前記移動経路を移動する前記移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定する判定部と、
 を備え、
 前記判定部は、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定する
 移動制御システム。
(9)
 前記移動体は、前記センサが検出範囲の内部に物体を検出した場合、移動を停止して判定時間が経過した後に、前記センサが検出範囲の内部に前記物体を検出しないと、前記情報処理装置に移動停止の解除通知を行い、移動を再開し、
 前記情報処理装置の前記判定部は、移動を停止した前記移動体から前記解除通知がない場合、前記物体が前記制御対象の他の移動体であるか否かを判定する
 前記(8)に記載の移動制御システム。
(10)
 前記移動体は、前記センサが検出範囲の内部に物体を検出し、前記情報処理装置が移動不能な経路と判定すると、前記情報処理装置が再計画した前記移動経路を移動する
 前記(8)または(9)に記載の移動制御システム。
(11)
 前記センサは、前記移動体の進行方向の前記検出範囲を含む近接センサである
 前記(8)から(10)のいずれかに記載の移動制御システム。
(12)
 コンピュータが、
 制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画すること、
 前記移動経路を移動する移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定すること、
 前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定すること、
 を含む情報処理方法。
(13)
 コンピュータに、
 制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画すること、
 前記移動経路を移動する移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定すること、
 前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定すること、
 を実行させる情報処理プログラム。
 1 移動制御システム
 100 移動体
 110 センサ部
 111 近接センサ
 112 エンコーダ
 113 加速度センサ
 114 コードセンサ
 120 通信部
 130 駆動部
 140 記憶部
 150 制御部
 151 自己位置推定部
 152 軌道計画部
 153 駆動制御部
 154 物体検出部
 200 情報処理装置
 210 通信部
 220 記憶部
 230 制御部
 231 タスク計画部
 232 計画部
 233 判定部
 234 変更部
 235 特定部
 236 算出部
 500 経路地図
 510 ノード
 520 エッジ
 530 移動先ノード
 540 障害物
 600 移動障害物
 D10 自己位置情報
 D20 移動タスク情報
 D30 移動経路情報
 D100 経路情報
 D200 移動体情報
 D210 外形情報
 D211 形状情報
 D212 概形情報

Claims (12)

  1.  制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画する計画部と、
     前記移動経路を移動する前記移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定する判定部と、
     を備え、
     前記判定部は、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が静止障害物によって移動不能な経路と判定する
     情報処理装置。
  2.  前記判定部は、前記移動体の前記センサが検出範囲の内部に前記物体を検出すると、前記物体が移動障害物ではないと判定した場合に、前記物体が制御対象の他の移動体であるか否かを判定する
     請求項1に記載の情報処理装置。
  3.  前記静止障害物によって移動不能な経路に基づいて、前記経路情報を変更する変更部をさらに備える
     請求項2に記載の情報処理装置。
  4.  前記計画部は、変更した前記経路情報に基づいて前記移動経路を再計画する
     請求項3に記載の情報処理装置。
  5.  前記他の移動体の位置情報及び外形情報に基づいて、前記他の移動体の外形領域を特定する特定部と、
     前記移動体の現在位置における前記センサの前記検出範囲を算出する算出部と、
     をさらに備え、
     前記判定部は、前記他の移動体の前記外形領域と前記検出範囲との位置関係に基づいて、前記物体が前記制御対象の前記他の移動体であるか否かを判定する
     請求項3に記載の情報処理装置。
  6.  前記特定部は、前記外形情報が示す形状を前記位置情報が示す位置に配置した前記外形領域を特定する
     請求項5に記載の情報処理装置。
  7.  前記判定部は、前記移動体の前記センサが検出範囲の内部に前記物体を検出してから判定時間が経過するまでに、前記センサが検出範囲の内部に前記物体を検出しなくなった場合、前記物体が前記移動障害物であると判定し、前記判定時間が経過するまで、前記センサが検出範囲の内部に前記物体を検出している場合、前記物体が前記移動障害物ではないと判定する
     請求項2に記載の情報処理装置。
  8.  経路情報が示す経路を移動可能な複数の移動体と、
     複数の前記移動体の移動を制御する情報処理装置と、
     を備え、
     前記情報処理装置は、
     制御対象の複数の移動体を移動させる移動経路を前記経路情報に基づいて計画する計画部と、
     前記移動経路を移動する前記移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定する判定部と、
     を備え、
     前記判定部は、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定する
     移動制御システム。
  9.  前記移動体は、前記センサが検出範囲の内部に物体を検出した場合、移動を停止して判定時間が経過した後に、前記センサが検出範囲の内部に前記物体を検出しないと、前記情報処理装置に移動停止の解除通知を行い、移動を再開し、
     前記情報処理装置の前記判定部は、移動を停止した前記移動体から前記解除通知がない場合、前記物体が前記制御対象の他の移動体であるか否かを判定する
     請求項8に記載の移動制御システム。
  10.  前記移動体は、前記センサが検出範囲の内部に物体を検出し、前記情報処理装置が移動不能な経路と判定すると、前記情報処理装置が再計画した前記移動経路を移動する
     請求項9に記載の移動制御システム。
  11.  前記センサは、前記移動体の進行方向の前記検出範囲を含む近接センサである
     請求項10に記載の移動制御システム。
  12.  コンピュータが、
     制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画すること、
     前記移動経路を移動する移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定すること、
     前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定すること、
     を含む情報処理方法。
PCT/JP2022/011423 2021-05-10 2022-03-14 情報処理装置、移動制御システム及び情報処理方法 WO2022239455A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-079760 2021-05-10
JP2021079760A JP2022173809A (ja) 2021-05-10 2021-05-10 情報処理装置、移動制御システム及び情報処理方法

Publications (1)

Publication Number Publication Date
WO2022239455A1 true WO2022239455A1 (ja) 2022-11-17

Family

ID=84028169

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/011423 WO2022239455A1 (ja) 2021-05-10 2022-03-14 情報処理装置、移動制御システム及び情報処理方法

Country Status (2)

Country Link
JP (1) JP2022173809A (ja)
WO (1) WO2022239455A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5977517A (ja) * 1982-10-27 1984-05-04 Kubota Ltd 走行車輌
JP2019049874A (ja) * 2017-09-11 2019-03-28 Kddi株式会社 飛行管理装置、飛行装置、及び飛行管理方法
CN110941266A (zh) * 2019-11-12 2020-03-31 天津大学 一种多机器人系统中的障碍物检测与规避方法
CN112099491A (zh) * 2020-08-20 2020-12-18 上海姜歌机器人有限公司 机器人排队方法、机器人和计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5977517A (ja) * 1982-10-27 1984-05-04 Kubota Ltd 走行車輌
JP2019049874A (ja) * 2017-09-11 2019-03-28 Kddi株式会社 飛行管理装置、飛行装置、及び飛行管理方法
CN110941266A (zh) * 2019-11-12 2020-03-31 天津大学 一种多机器人系统中的障碍物检测与规避方法
CN112099491A (zh) * 2020-08-20 2020-12-18 上海姜歌机器人有限公司 机器人排队方法、机器人和计算机可读存储介质

Also Published As

Publication number Publication date
JP2022173809A (ja) 2022-11-22

Similar Documents

Publication Publication Date Title
US10974395B2 (en) Method and system for controlling indoor autonomous robot
US11709489B2 (en) Method for controlling an autonomous, mobile robot
JP7356567B2 (ja) 移動ロボット及びその制御方法
JP6032163B2 (ja) 三次元物体認識装置、三次元物体認識方法、及び移動体
KR20240063820A (ko) 청소 로봇 및 그의 태스크 수행 방법
US20180100743A1 (en) Computer-Implemented Method and a System for Guiding a Vehicle Within a Scenario with Obstacles
KR102096875B1 (ko) 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법
US20210370511A1 (en) Cleaning robot and task performing method therefor
JP2021535485A (ja) 自律移動ロボットによるロボット使用領域の探索
JP2019525342A (ja) 自律移動ロボッを制御する方法
US11249492B2 (en) Methods and apparatus to facilitate autonomous navigation of robotic devices
Ziparo et al. RFID-based exploration for large robot teams
JP2019500693A (ja) 自律視覚ナビゲーション
CN111630460A (zh) 自主移动装置的路径规划
KR20210058998A (ko) 웨이포인트 매칭을 이용한 자율적 맵 주행
EP3646058A1 (en) Systems and methods for improvements in scanning and mapping
KR20240014093A (ko) 로봇 및 그의 제어 방법
CN111331595B (zh) 控制服务机器人的操作的方法和设备
WO2022227917A1 (zh) 机器人的导航方法、芯片及机器人
Coltin et al. Multi-observation sensor resetting localization with ambiguous landmarks
WO2020083069A1 (zh) 避让的方法、设备及存储介质
JP2023509231A (ja) モバイルロボットにおけるセマンティックマップ管理
WO2022267283A1 (zh) 机器人及其导航方法、装置和计算机可读存储介质
KR102043421B1 (ko) 실내 자율 주행 로봇을 위한 제어 방법 및 시스템
KR20150075639A (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: 22807161

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

Country of ref document: EP

Kind code of ref document: A1