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

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

Info

Publication number
WO2022190662A1
WO2022190662A1 PCT/JP2022/001992 JP2022001992W WO2022190662A1 WO 2022190662 A1 WO2022190662 A1 WO 2022190662A1 JP 2022001992 W JP2022001992 W JP 2022001992W WO 2022190662 A1 WO2022190662 A1 WO 2022190662A1
Authority
WO
WIPO (PCT)
Prior art keywords
map
information
node
elevator
analysis unit
Prior art date
Application number
PCT/JP2022/001992
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 ソニーグループ株式会社
Priority to JP2023505177A priority Critical patent/JPWO2022190662A1/ja
Publication of WO2022190662A1 publication Critical patent/WO2022190662A1/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, an information processing method, and a program. More specifically, the present invention relates to an information processing apparatus, an information processing method, and a program for creating a map that can be used for traveling of a moving body such as a robot.
  • map information and destination information to grasp the surrounding conditions.
  • map information that enables them to select a safe travel route without colliding with obstacles is necessary.
  • a map on which the positions of obstacles and the like can be confirmed is called an environmental map, for example.
  • SLAM Simultaneous localization and mapping
  • SLAM is known as a representative process for creating an environment map and estimating a self-location.
  • SLAM is a process of executing self-position estimation processing (localization) and environment map creation processing (mapping) in parallel using, for example, information acquired by a sensor such as a camera, such as a photographed image of the robot's running environment.
  • a map is created (mapping), which is a so-called environmental map that enables grasping of object positions and the like.
  • robot position is also estimated (localized).
  • SLAM processing analyzes the object positions at various positions where the robot that creates the map has moved, and for example, by integrating the object positions at each position, creates an environment map corresponding to each floor, which is a map for each floor. can be done.
  • SLAM is a process that executes self-position estimation processing (localization) and environment map creation processing (mapping) in parallel using information acquired by sensors such as cameras.
  • SLAM is not limited to visual SLAM that uses camera-captured images as described above, but there are various other methods.
  • LiDAR SLAM that uses LiDAR (Light Detection and Ranging), which is a sensor that measures the distance to an obstacle by laser light.
  • a process of analyzing the positions of surrounding objects and the like from images captured by cameras at various positions (x, y, z) is performed.
  • the environment map on the first floor and the environment map on the second floor must be created as separate and independent maps.
  • the environmental maps for each floor can be created individually, but the plurality of created environmental maps do not record data indicating the relationship with other environmental maps. Therefore, even if an attempt is made to move a robot on the first floor to a destination on the second floor using environment maps created for each floor, for example, a remote operation by an operator or the like is required to move the robot from the first floor to the second floor. etc. is necessary.
  • Patent Document 1 Japanese Unexamined Patent Application Publication No. 2012-215959 discloses a configuration in which a robot travels a plurality of floors and travels.
  • This patent document 1 discloses a security robot that can move and run on a plurality of floors.
  • the configuration described in this document is a configuration in which the robot is moved according to one security route preset by the user, and cannot be applied to a configuration in which the starting point or destination is changed.
  • JP 2012-215959 A International publication WO2020/085135
  • the present disclosure has been made, for example, in view of the above-described problems. It is an object of the present invention to provide an information processing device, an information processing method, and a program for creating a map and map structure information that enable the vehicle to travel to the ground.
  • map structure information that records the relationship between each map when creating a plurality of independent environmental maps, such as floor-by-floor environmental maps.
  • a first aspect of the present disclosure includes: a map generation unit that generates a map using sensor acquisition information from a sensor attached to a mobile object; a map structure analysis unit that generates map structure information indicating relationships between the plurality of maps generated by the map generation unit; The map structure analysis unit When the map generating unit finishes generating the first map and generates a new second map, The node position of the first map transition node that is the map creation end node of the first map, the node position of the second map transition node that is the map creation start node of the second map, and the node position of these two map transition nodes as map transition node information in a map structure information storage unit.
  • a second aspect of the present disclosure is An information processing method executed in an information processing device, a map generation step in which the map generation unit generates a map using sensor acquisition information from a sensor attached to the mobile object; a map structure information recording step in which the map structure analysis unit generates map structure information indicating the relationship between the plurality of maps generated by the map generation unit and records the map structure information in the map structure information storage unit; The map structure analysis unit, in the map structure information recording step, When the map generating unit finishes generating the first map and generates a new second map, The node position of the first map transition node that is the map creation end node of the first map, the node position of the second map transition node that is the map creation start node of the second map, and the node position of these two map transition nodes as map transition node information in a map structure information storage unit.
  • a third aspect of the present disclosure is A program for executing information processing in an information processing device, a map generation step of causing a map generation unit to generate a map using sensor acquisition information from a sensor attached to a mobile object; causing a map structure analysis unit to execute a map structure information recording step of generating map structure information indicating relationships between a plurality of maps generated by the map generation unit and recording the map structure information in a map structure information storage unit;
  • the program in the map structure information recording step that is executed by the map structure analysis unit, When the map generating unit finishes generating the first map and generates a new second map, The node position of the first map transition node that is the map creation end node of the first map, the node position of the second map transition node that is the map creation start node of the second map, and the node position of these two map transition nodes as map transition node information in the map structure information storage unit.
  • the program of the present disclosure is, for example, a program that can be provided in a computer-readable format to an information processing device or computer system capable of executing various program codes via a storage medium or communication medium.
  • processing according to the program is realized on the information processing device or computer system.
  • a system is a logical collective configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same housing.
  • a map generation unit that generates a map using sensor-obtained information from a sensor attached to a moving body, and map structure information that indicates the relationship between a plurality of maps generated by the map generation unit is generated. It has a map structure analysis part.
  • the map structure analysis unit determines the node position of the first map transition node, which is the map generation end node of the first map, and the first map transition node.
  • the node position of the second map transition node which is the map creation start node of the second map, is recorded in the map structure information storage unit as map transition node information.
  • the map generating unit is instructed to store the first map in the map information storage unit and to start generating the second map.
  • FIG. 5 is a diagram illustrating an example of processing for creating an environment map by a robot; It is a figure explaining an example of the data stored in the map information memory
  • FIG. 4 is a diagram for explaining data stored in a map information storage unit within a storage unit of a robot by map creation processing for two floors; It is a figure explaining the problem of map creation processing accompanying elevator movement.
  • FIG. 4 is a diagram describing an outline of processing of the present disclosure
  • FIG. 4 is a diagram describing an outline of processing of the present disclosure
  • FIG. 4 is a diagram describing an outline of processing of the present disclosure
  • FIG. 4 is a diagram describing an outline of processing of the present disclosure
  • FIG. 4 is a diagram describing an outline of processing of the present disclosure
  • FIG. 4 is a diagram describing an outline of processing of the present disclosure
  • FIG. 4 is a diagram illustrating data stored in a storage unit of a robot (information processing device) through processing according to the present disclosure
  • 4 is a diagram illustrating a correspondence relationship between data stored in a map structure information storage unit 40 and data stored in a map information storage unit 30.
  • FIG. FIG. 3 is a diagram illustrating an overview of processing of the first embodiment of the information processing apparatus of the present disclosure
  • FIG. 3 is a diagram illustrating an overview of processing of the first embodiment of the information processing apparatus of the present disclosure
  • 1 is a diagram illustrating a configuration example of an information processing apparatus according to Example 1 of the present disclosure
  • FIG. 4 is a diagram illustrating data stored in a map information storage unit of the information processing apparatus according to Example 1 of the present disclosure
  • FIG. 4 is a diagram illustrating data stored in a map structure information storage unit of the information processing apparatus according to the first embodiment of the present disclosure
  • FIG. 4 is a diagram showing a flowchart describing a processing sequence executed by the information processing apparatus according to the first embodiment of the present disclosure
  • FIG. 4 is a diagram showing a flowchart describing a processing sequence executed by the information processing apparatus according to the first embodiment of the present disclosure
  • FIG. 3 is a sequence diagram describing a processing sequence executed by the information processing apparatus according to the first embodiment of the present disclosure
  • FIG. 3 is a sequence diagram describing a processing sequence executed by the information processing apparatus according to the first embodiment of the present disclosure
  • FIG. 3 is a sequence diagram describing a processing sequence executed by the information processing apparatus according to the first embodiment of the present disclosure
  • FIG. 10 is a diagram illustrating an outline of processing of the second embodiment of the information processing apparatus of the present disclosure
  • FIG. 10 is a diagram illustrating an outline of processing of the second embodiment of the information processing apparatus of the present disclosure
  • FIG. 10 is a diagram illustrating an outline of processing of the second embodiment of the information processing apparatus of the present disclosure
  • FIG. 7 is a diagram illustrating a configuration example of an information processing apparatus according to a second embodiment of the present disclosure
  • FIG. 10 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to a second embodiment of the present disclosure
  • FIG. 10 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to a second embodiment of the present disclosure
  • FIG. 12 is a diagram illustrating an overview of processing of the third embodiment of the information processing apparatus of the present disclosure
  • FIG. 12 is a diagram illustrating an overview of processing of the third embodiment of the information processing apparatus of the present disclosure
  • FIG. 11 is a diagram illustrating a configuration example of an information processing apparatus according to a third embodiment of the present disclosure
  • FIG. 11 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to Example 3 of the present disclosure
  • FIG. 12 is a diagram illustrating an overview of processing of the fourth embodiment of the information processing apparatus of the present disclosure
  • FIG. 12 is a diagram illustrating a configuration example of an information processing apparatus according to a fourth embodiment of the present disclosure
  • FIG. 11 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to Example 4 of the present disclosure
  • FIG. 11 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to Example 4 of the present disclosure
  • FIG. 12 is a diagram illustrating an outline of processing of the fifth embodiment of the information processing apparatus of the present disclosure
  • FIG. 13 is a diagram illustrating a configuration example of an information processing apparatus according to Example 5 of the present disclosure
  • FIG. 11 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to Example 5 of the present disclosure
  • FIG. 11 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to Example 5 of the present disclosure
  • FIG. 12 is a diagram illustrating an outline of processing of the sixth embodiment of the information processing apparatus of the present disclosure
  • FIG. 13 is a diagram illustrating data stored in a map structure information storage unit of an information processing apparatus according to Example 6 of the present disclosure
  • FIG. 13 is a diagram illustrating data stored in a map structure information storage unit of an information processing apparatus according to Example 6 of the present disclosure
  • FIG. 11 is a diagram illustrating a configuration example of an information processing apparatus according to a sixth embodiment of the present disclosure
  • FIG. 13 is a diagram illustrating data stored in a map structure information storage unit of an information processing apparatus according to Example 6 of the present disclosure
  • FIG. 11 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to Example 6 of the present disclosure
  • FIG. 11 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to Example 6 of the present disclosure
  • FIG. 12 is a diagram illustrating an outline of processing of the seventh embodiment of the information processing apparatus of the present disclosure
  • FIG. 12 is a diagram illustrating an outline of processing of the seventh embodiment of the information processing apparatus of the present disclosure
  • FIG. 12 is a diagram illustrating an outline of processing of the seventh embodiment of the information processing apparatus of the present disclosure
  • FIG. 12 is a diagram illustrating an outline of processing of the seventh embodiment of the information processing apparatus of the present disclosure
  • FIG. 12 is a diagram illustrating an outline of processing of the seventh embodiment of the information processing apparatus of the present disclosure
  • FIG. 11 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus
  • FIG. 12 is a diagram illustrating a configuration example of an information processing apparatus according to a seventh embodiment of the present disclosure
  • FIG. 14 is a diagram illustrating data stored in a map structure information storage unit of an information processing apparatus according to Example 7 of the present disclosure
  • FIG. 14 is a diagram illustrating data stored in a map structure information storage unit of an information processing apparatus according to Example 7 of the present disclosure
  • FIG. 14 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to Example 7 of the present disclosure
  • FIG. 14 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to Example 7 of the present disclosure
  • FIG. 14 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to Example 7 of the present disclosure
  • Example 14 is a sequence diagram illustrating a processing sequence executed by an information processing apparatus according to Example 7 of the present disclosure; It is a figure explaining the example of composition of the information processing system of this indication. It is a figure explaining the hardware structural example of the information processing apparatus of this indication.
  • Embodiment 2 Embodiment in which a plurality of maps and map structure information are generated by analyzing an image captured by a camera to detect elevator movement 3-3.
  • Embodiment 3 Embodiment in which elevator movement is detected using user input information and multiple maps and map structure information are generated 3-4.
  • Embodiment 4 An embodiment in which a plurality of maps and map structure information are generated by analyzing communication data with a communication unit installed in an elevator boarding/alighting unit to detect elevator movement.
  • Embodiment 5 Regarding an embodiment of returning to the floor where the map has already been created and updating the created map.
  • Embodiment 6 Regarding an embodiment in which the generated map is switched according to the inclination angle of the robot running surface6.
  • Map information is required.
  • a map on which the positions of obstacles and the like can be confirmed is called an environmental map, for example.
  • FIG. 1 is a diagram showing an execution example of SLAM (simultaneous localization and mapping) processing, which is representative processing for creating an environment map and estimating a self-location.
  • SLAM simultaneous localization and mapping
  • the robot 10 shown in FIG. 1 runs on the first floor (1F) 11, which is the planned floor for map creation.
  • the robot 10 is equipped with sensors such as a camera and LiDAR (Light Detection and Ranging), and moves on the first floor (1F) 11 while acquiring sensor detection information.
  • sensors such as a camera and LiDAR (Light Detection and Ranging), and moves on the first floor (1F) 11 while acquiring sensor detection information.
  • FIG. 1 shows the processing when the robot 10 sequentially moves a plurality of nodes 12a to 12d on the first floor, that is, nodes 1A to 1B to nodes 1C to 1D (Ev_1f) to create a map.
  • the robot 10 records, for example, the three-dimensional positions (x, y, z) of the nodes 1A and 12a and the yaw angle (Yaw) indicating the direction of the robot as node information 13a of the nodes 1A and 12a in a storage unit inside the robot. do. Furthermore, sensor acquisition information acquired by the nodes 1A and 12a, that is, surrounding object position information acquired by sensors such as cameras and LiDARs is recorded.
  • sensors such as LiDAR detect the distance to objects around the robot, and by setting point groups according to this distance, it is possible to construct a map consisting of point groups according to the shape of the object.
  • the robot 10 acquires node information (x, y, z, yaw) consisting of the positions of the nodes and the direction of the robot on the nodes for each of a plurality of nodes (1A to 1D) on the travel route. and stores it in the storage unit, and obtains surrounding point group information (object position information) for each node and stores it in the storage unit.
  • node information x, y, z, yaw
  • FIG. 2 is a diagram explaining the data stored in the map information storage unit 15 in the storage unit of the robot by the map creation process shown in FIG.
  • the map information storage unit 15 stores map correspondence data 15p and 1F map actual data 15q.
  • (P1) 1F map correspondence data is recorded in the map correspondence data 15p.
  • (P11) Source frame 1F map (P12) 1F map node information Consists of these data.
  • the source frame is acquisition destination information of the map data (actual map data), and in this case, the 1F map.
  • 1F map node information is a recording area for the node information described with reference to FIG. That is, node information (x, y, z, yaw) consisting of the position (x, y, z) of each node and the orientation (yaw) of the robot is recorded as target frame data.
  • this 1F map node information (x, y, z, yaw) is data according to a coordinate system unique to the 1F map.
  • the 1F map coordinate system is, for example, a coordinate system set with the generation start point of the 1F map as the origin.
  • each target frame of the (P12) 1F map node information of the map correspondence data 15p corresponds to the position (x, y, z) on the 1F map actual data 15q and the orientation (yaw) of the robot. do.
  • the point group information at each node of the 1F map actual data 15q that is, the position of objects such as obstacles Information can be obtained.
  • the robot 10 that creates the environment map stores the map-corresponding data consisting of the position (x, y, z) of the node to which the robot has moved and the orientation (yaw) of the robot in the map information storage unit 15, and the map-corresponding data.
  • Actual map data composed of point cloud information (object position information) that can be acquired based on the recorded data (target frame) is recorded.
  • the robot 10 or other robots refer to the map correspondence data 15p and the 1F actual map data 15q to autonomously run on the first floor (1F) 11 shown in FIG. 1 without colliding with obstacles. becomes possible.
  • a point cloud (PC) corresponding to the object position generated based on the object distance information, which is the LiDAR detection information, is set.
  • the object distance information which is the LiDAR detection information
  • the environment map is not limited to such point cloud data, and may be a map using various representation formats such as voxel representation and a primitive shape group using object detection information.
  • SLAM processing analyzes the object positions around the movement route of the robot that creates the map, and integrates them to create a floor-by-floor map. environment map can be created.
  • a process of analyzing the positions of surrounding objects and the like from images captured by cameras at various positions (x, y, z) is performed.
  • FIG. 3 shows the first floor 11 and the second floor 21 . Each floor can be moved using an elevator.
  • the rightmost node 1D (EV_1f) on the first floor 11 shown in FIG. 3 corresponds to the elevator position on the first floor.
  • the rightmost node 2A (EV_2f) on the second floor 21 shown in FIG. 3 corresponds to the elevator position on the second floor.
  • the robot 10 operates on the first floor 11, as described above with reference to FIGS.
  • a map is created by sequentially moving nodes 1D (Ev_1f).
  • the robot 10 After moving to the second floor (2F) 21 using the elevator, the robot 10 starts moving from the elevator position corresponding node 2A (EV_2F) on the second floor (2F) 21 and moves to the second floor (2F). 21 start the environmental map creation process.
  • the robot 10 runs on the second floor (2F) 21, which is the planned floor for map creation.
  • the robot 10 sequentially moves a plurality of nodes on the second floor, that is, node 2A (EV_2F) through node 2B through node 2C through node 2D to create a map.
  • the robot 10 acquires node information (x, y, z, yaw) for a plurality of nodes (2A to 2D) on the travel route and stores it in the storage unit, and also acquires point groups around each node.
  • Information object position information is acquired and stored in the storage unit.
  • FIG. 4 is a diagram explaining data stored in the map information storage unit 15 in the storage unit of the robot by the map creation process for the two floors shown in FIG.
  • the map information storage unit 15 stores map-corresponding data 15p, 1F actual map data 15q1, and 2F actual map data 15q2 in the same manner as described above with reference to FIG. .
  • the map-corresponding data 15p includes: (P1) 1F map corresponding data (P2) 2F map corresponding data, These are recorded separately.
  • (P11) source frame and (P21) source frame are acquisition destination information of map data (actual map data), and in this case, they are the 1F map and 2F map, respectively.
  • (P12) 1F map node information and (P22) 2F map node information are recording areas for the node information described with reference to FIG. That is, node information (x, y, z, yaw) consisting of the position (x, y, z) of each node and the orientation (yaw) of the robot is recorded as target frame data.
  • (P12) 1F map node information (x, y, z, yaw) is data according to the coordinate system unique to the 1F map.
  • the 1F map coordinate system is, for example, a coordinate system set with the generation start point of the 1F map as the origin.
  • (P22) 2F map node information (x, y, z, yaw) is data according to the coordinate system unique to the 2F map.
  • the 2F map coordinate system is, for example, a coordinate system set with the starting point of generation of the 2F map as the origin.
  • the actual map data is configured as 1F actual map data 15q1 and 2F actual map data 15q2, that is, two separate environment map data.
  • the map information storage unit 15 does not record any relationship between these two environmental maps. As described above, when the robot 10 moves in an elevator, it is impossible to analyze the direction and amount of movement of the elevator from information acquired by sensors such as cameras and LiDAR. Therefore, self-position estimation and environment map creation processing cannot be continued, and environment map creation and self-position estimation processing as SLAM processing are interrupted. environmental maps become separate and independent maps, and their relationships cannot be recorded at all.
  • the environment map can be created individually for each floor, but the created environment maps do not have data indicating the relationship with other environment maps. Therefore, even if an attempt is made to move a robot on the first floor to a destination on the second floor by using the created environment maps for each floor, the information for moving from the first floor to the second floor cannot be obtained from the map information. can't get As a result, there arises a problem that, for example, remote operation by an external operator or the like is required.
  • the robot 10 uses the map correspondence data 15q, the 1F actual map data 15q1, and the 2F actual map data 15q2, which are created by the robot 10 and stored in the map information storage unit 15, to determine whether the robot 10 is on the first floor.
  • the following unknown points occur.
  • remote operation by an operator or the like is required.
  • the present disclosure has been made, for example, in view of the above-described problems. Allows it to run to the ground.
  • map structure information that records the relationship between each map is recorded.
  • the information processing apparatus of the present disclosure is installed in a robot that performs processing for creating an environment map by, for example, SLAM processing.
  • it may be configured to be installed in a server or the like that can communicate with the robot.
  • the robot uses an information processing device having a data processing unit and a storage unit that perform environment map creation processing, map structure information generation processing, and storage processing of these generated data in a storage unit. It is an example of processing in the case of a configuration having
  • FIGS. 6 to 10 show an outline of the processing sequence when the robot 10 creates a plurality of individual environment maps. Specifically, first, create an environment map (1F map) of the first floor (1F), then move to the second floor (2F) by elevator, and then move to the second floor (2F) environment map (2F map) map) is shown. Each processing of the processing steps (S01) to (S06) shown in FIGS. 6 to 10 will be described in order.
  • Step S01 First, in step S01, the robot 10 starts creating a map of the first floor. As described above with reference to FIG. 1, a map is created while setting a plurality of nodes at the movement positions on the first floor.
  • step S02 the robot 10 ends map creation of the first floor. As previously described with reference to FIG. 1, robot 10 finishes mapping the ground floor when it reaches the node corresponding to the elevator location on the ground floor.
  • Step S03 Next, in step S03 shown in FIG. 7, the robot 10 stores the map of the first floor (1F map) in the map information storage unit.
  • the robot 10 stores 1F map corresponding data 30p1 and 1F map actual data 30q1 in the map information storage unit 30 within the robot.
  • the 1F map correspondence data 30p1 is composed of the following data, as shown in FIG. (1)
  • Source frame information 1F map (2) 1F map node information (3) 1F map origin position information (x, y) (4) 1F map resolution information
  • Source frame information is acquisition destination information of map data (actual map data), and in this case, it is the 1F map.
  • 1F map node information is a recording area for node information similar to that described with reference to FIG. That is, node information (x, y, z, yaw) consisting of the position (x, y, z) of each node and the orientation (yaw) of the robot is recorded as target frame data.
  • 1F map origin position information (x, y,) is a coordinate position indicating the origin position of the 1F map in an external coordinate system, for example, a coordinate system such as world coordinates. Although only the two-dimensional coordinate position (x, y) is shown in this example, the three-dimensional coordinate position (x, y, z) may be recorded.
  • 1F map resolution information is information indicating the resolution of the 1F map data 30q1.
  • the map information storage unit 30 stores the actual 1F map data generated by the robot 10 in the 1F actual map data 30q1.
  • the 1F map actual data 30q1 is the same data as the data described above with reference to FIGS. That is, for example, map data (environmental map) representing objects around the robot travel route as point group information (object position information) is stored.
  • map data environment map
  • the environment map is not limited to point cloud data, and may be a map using various representation formats such as voxel representation and primitive shape group using object detection information.
  • Step S04 Next, in step S04 shown in FIG. 8, the robot 10 uses an elevator to move from the first floor (1F) to the second floor (2F).
  • the map structure information storage unit 40 provided in the information processing device in the robot stores the relational information between the two maps, that is, the generated 1F map and the newly generated map. Record the information related to the 2F map.
  • map structure information storage unit 40 records the following information.
  • Map transition node attributes (2) Map transition node information (3) Movement amount data between map transition nodes
  • Map transition node attribute is a field for recording attributes related to nodes before and after switching the environment map.
  • the map transition nodes are two nodes, one for the first floor (1F) elevator position and the other for the second floor (2F) elevator position.
  • Map transition node information records the node information of two map transition nodes, the node at the elevator position on the first floor (1F) and the node at the elevator position on the second floor (2F).
  • This node information is similar to the map correspondence data 15p in the map information storage unit 15p described above with reference to FIG. That is, for each of the two map transition nodes, a source frame (1F map or 2F map), which is the acquisition destination information of the map data (actual map data); Node information (x, y, z, yaw) consisting of the position (x, y, z) of each node and the orientation (yaw) of the robot Record these data.
  • Target frame before map transition EV_1F: (x, y, z, yaw)
  • This data is node information about the node of the elevator position on the first floor (1F), and is data according to the coordinate system unique to the 1F map.
  • the 1F map coordinate system is, for example, a coordinate system set with the generation start point of the 1F map as the origin.
  • Target frame after map transition EV_2F: (x, y, z, yaw)
  • This data is node information about the node of the elevator position on the second floor (2F), and is data according to the coordinate system specific to the 2F map.
  • the 2F map coordinate system is, for example, a coordinate system set with the starting point of generation of the 2F map as the origin.
  • the map structure information storage unit 40 records "(3) movement amount data between map transition nodes". Note that the (3) map transition node-to-map movement amount data is data that is optionally recorded, not essential recording data.
  • the movement amount data between map transition nodes is the movement amount between two map transition nodes. That is, the movement amount data between the nodes of the two map transition nodes, the node of the elevator position on the first floor (1F) and the node of the elevator position on the second floor (2F), is recorded.
  • the amount of movement is recorded for each element of (x, y, z, yaw), for example. i.e. Movement amount in x direction (rel_x) Movement amount in y direction (rel_y) Movement amount in z direction (rel_z) Movement amount of yaw angle (rel_yaw) These element-by-element movement amounts are recorded.
  • movement between two map transition nodes is movement only in the vertical direction (z direction).
  • (3) movement amount data between map transition nodes is not limited to recording as movement amount data (rel_x, rel_y, rel_z, rel_yaw) for each element as described above. It may be configured to record the floor.
  • Movement amount data between map transition nodes "1st floor (1F) -> 2nd floor (2F)”
  • Movement amount data between map transition nodes "2nd floor (2F) -> 5th floor (5F)”
  • Map structure information is generated and recorded as information indicating the relationship. That is, as shown in FIG. 8, the following information is recorded in the map structure information storage unit 40.
  • Map transition node attributes (2) Map transition node information (3) Movement amount data between map transition nodes
  • Step S05 the robot 10 starts creating a new environment map, that is, the environment map of the second floor (2F), runs on the second floor (2F),
  • step S06 shown in FIG. 10 the creation of the environmental map of the second floor (2F) ends.
  • map information storage unit 30 of the robot 10 stores map correspondence data 30p2 and 2F map actual data 30q2 as shown in FIG.
  • the map correspondence data 30p2 generated by the process of creating the environment map of the second floor (2F) is composed of the following data, as shown in FIG. (1)
  • Source frame information 2F map (2) 2F map node information (3) 2F map origin position information (x, y) (4) 2F map resolution information
  • Source frame information is acquisition destination information of map data (actual map data), and in this case, it is the 2F map.
  • 2F map node information is a recording area for node information similar to that described with reference to FIG. That is, node information (x, y, z, yaw) consisting of the position (x, y, z) of each node and the orientation (yaw) of the robot is recorded as target frame data.
  • 2F map origin position information (x, y,) is a coordinate position indicating the origin position of the 2F map in an external coordinate system, for example, a coordinate system such as world coordinates. Although only the two-dimensional coordinate position (x, y) is shown in this example, the three-dimensional coordinate position (x, y, z) may be recorded.
  • 2F map resolution information is information indicating the resolution of the 2F map data 30q2.
  • the map information storage unit 30 stores the 2F map data generated by the robot 10 in the 2F map actual data 30q2 in addition to the 2F map corresponding data 30p2.
  • the 2F map actual data 30q2 is the same data as the data described above with reference to FIGS. That is, for example, map data (environmental map) representing objects around the robot travel route as point group information (object position information) is stored.
  • map data environment map
  • the environment map is not limited to point cloud data, and may be a map using various representation formats such as voxel representation and primitive shape group using object detection information.
  • map correspondence data 30p, 1F actual map data 30q1, and 2F actual map data 30q2 are recorded.
  • the map correspondence data 30p includes the following data. (P1) 1F map corresponding data (P2) 2F map corresponding data, These are recorded separately.
  • (P1) 1F map correspondence data is correspondence data for the 1F map actual data 30q1 previously described with reference to FIG. 7, and is composed of the following data.
  • (P11) Source frame information 1F map (P12) 1F map node information (P13) 1F map origin position information (x, y) (P14) 1F map resolution information
  • (P11) source frame information is acquisition destination information of map data (actual map data), and is the 1F map.
  • (P12) 1F map node information is a recording area for node information similar to that described with reference to FIG. That is, node information (x, y, z, yaw) consisting of the position (x, y, z) of each node and the orientation (yaw) of the robot is recorded as target frame data.
  • the (P2) 2F map corresponding data is corresponding data for the 2F map actual data 30q2 described above with reference to FIG. 10, and is composed of the following data.
  • Source frame information 2F map (P22) 2F map node information (P23) 2F map origin position information (x, y) (P24) 2F map resolution information
  • Source frame information is acquisition destination information of map data (actual map data), and in this case, it is the 2F map.
  • node information (x, y, z, yaw) consisting of the position (x, y, z) of each node and the orientation (yaw) of the robot is recorded as target frame data.
  • (P12) 1F map node information (x, y, z, yaw) is data according to the coordinate system unique to the 1F map.
  • the 1F map coordinate system is, for example, a coordinate system set with the generation start point of the 1F map as the origin.
  • (P22) 2F map node information (x, y, z, yaw) is data according to the coordinate system unique to the 2F map.
  • the 2F map coordinate system is, for example, a coordinate system set with the starting point of generation of the 2F map as the origin.
  • the 1F actual map data 30q1 and the 2F actual map data 30q2 are individual environment map data, and as described above, are configured by map data, such as point cloud data, that can identify object positions on each floor.
  • map structure information 40 is recorded in the storage unit of the robot 10 .
  • the map structure information 40 records the following information. (1) Map transition node attributes (2) Map transition node information (3) Movement amount data between map transition nodes
  • Map transition node attribute Elevator
  • Map transition node information The following data are recorded as map transition node information.
  • map structure information 40 The following information recorded in the map structure information 40: (1) Map transition node attributes (2) Map transition node information (3) Movement amount data between map transition nodes By referring to these pieces of information, the relationship between two individual environment maps can be analyzed.
  • node information about all nodes is recorded as the map-corresponding data 30p of the map information storage unit 30.
  • the node information is node information (x, y, z, yaw) including the position (x, y, z) of each node and the orientation (yaw) of the robot at each node.
  • the map structure information storage unit 40 stores node information about transition nodes between two pieces of map data, that is, 1F map data and 2F map data. i.e. (a) Node information of node 1D (EV_1f), which is a transition node on the first floor (1F) (b) Node information of node 2A (EV_2f), which is a transition node on the second floor (2F) These node information (x) , y, z, yaw) are recorded.
  • map structure information storage unit 40 stores two pieces of map data, that is, movement amount information between transition nodes between the 1F map data and the 2F map data, that is, (c) Movement amount information between transition nodes (rel_x, rel_y, rel_z, rel_yaw) is recorded.
  • the autonomous mobile robot attempting to move from the node 1A on the first floor to the node 2D on the second floor performs the following processing. By executing these in sequence, it becomes possible to move from the node 1A on the first floor to the node 2D on the second floor.
  • the robot analyzes the amount of movement by the elevator.
  • a specific example of this elevator movement amount analysis processing will be described later.
  • the robot 10 reads the map structure information stored in the map structure information storage unit 40, that is, (1) Map transition node attributes (2) Map transition node information (3) Movement amount data between map transition nodes From among these, "(3) Movement amount data between map transition nodes" is acquired and analyzed by the robot. Judge if it matches the elevator movement amount.
  • the node information 2A (EV_2f) of the elevator stop position on the second floor is also recorded as 2F map corresponding data stored in the map corresponding data 30p of the map information storage unit 30, that is, "(P22) 2F map node information". and the robot acquires this node information.
  • the robot uses the data stored in the map information storage unit 30 and the data stored in the map structure information storage unit 40 to use a plurality of different environment maps without using instructions from the outside such as an operator. Autonomous driving becomes possible.
  • Embodiment 1 An embodiment in which elevator movement is detected using detection information from an air pressure sensor and an IMU (inertial measurement unit) to generate a plurality of maps and map structure information.
  • Embodiment 3 Example of detecting elevator movement using user input information and generating multiple maps and map structure information (Implementation)
  • Example 4 An embodiment that analyzes communication data with a communication unit installed in an elevator boarding/alighting unit, detects elevator movement, and generates a plurality of maps and map structure information.
  • the information processing apparatus of the present disclosure is, for example, an information processing apparatus incorporated in a mobile object such as a robot, or an information processing apparatus that communicates with a mobile object such as a robot, and executes SLAM processing. It is an information processing device that performs map creation, self-position estimation processing, and the like.
  • a representative example of the information processing apparatus an embodiment using an information processing apparatus incorporated in a moving object such as a robot will be described.
  • Example 1 Embodiment 1 Embodiment in Which Elevator Movement is Detected Using Detection Information from an Air Pressure Sensor and an IMU (Inertial Measurement Unit) to Generate Multiple Maps and Map Structure Information
  • Example 1 an example will be described in which a plurality of maps and map structure information are generated by detecting elevator movement using detection information from an air pressure sensor and an IMU (inertial measurement unit).
  • Example 1 is an example in which elevator movement is detected using an air pressure sensor and information detected by an IMU (inertial measurement unit).
  • IMU intial measurement unit
  • FIG. 13 is a diagram explaining the details of the process of detecting elevator movement using detection information from an IMU (inertial measurement unit).
  • the graph shown in FIG. 13 is a graph showing changes in the speed of the elevator during this elevator movement.
  • the horizontal axis indicates time (sec), and the vertical axis indicates elevator speed (m/s).
  • Time t0 is the time when the elevator in which the robot 10 has boarded starts rising from the first floor (1F).
  • the elevator then accelerates from time t0 to time t1, gradually increasing the upward speed. Acceleration is stopped when the speed of the elevator reaches Va, and then the elevator rises at a constant speed (Va) until time t2. After that, deceleration is started at time t2, and the speed becomes 0 at time t3. That is, the elevator stops.
  • This time t3 is the time when the elevator reaches the second floor (2F).
  • the speed change in the graph shown in FIG. 13 is data that can be detected by an IMU (inertial measurement unit) attached to the robot 10 . That is, if the robot 10 is equipped with an IMU (inertial measurement unit) as a sensor, it is possible to detect whether the robot 10 is ascending or descending. However, since the distance between floors varies depending on the structure of the building, it is difficult to accurately determine the number of floors to which the vehicle has moved based on this speed data alone.
  • the robot 10 is equipped with an IMU (inertial measurement unit) as a sensor, and is equipped with an atmospheric pressure sensor for detecting the atmospheric pressure for determining the number of floors to move.
  • the robot 10 analyzes the detected value of the air pressure sensor to determine the number of floors to move.
  • FIG. 14 A specific example of the process of determining the number of floors to be moved by analyzing the detected value of the air pressure sensor will be described with reference to FIG. 14 .
  • an elevator configured in a multi-level building ascends or descends, it passes through each floor of the building.
  • the space in which the floors are configured becomes a sparse space, and the space between the floors becomes a dense space.
  • the space between floors is above the ceiling of the lower floor and under the floor of the upper floor, and since there are steel frames, concrete, various pipes, wiring, etc., it becomes a dense space.
  • the graph shown on the right side of FIG. 14 is a graph showing a specific example of changes in atmospheric pressure when the elevator moves upward from the first floor (1F) to the third floor (3F).
  • the horizontal axis is time t (sec), and the vertical axis is atmospheric pressure (Pa).
  • the elevator From time t0 to t1, the elevator is in a state of being stopped on the first floor, then rises to time t6, and shows changes in atmospheric pressure until it stops on the third floor. The atmospheric pressure will decrease as the elevator rises.
  • FIG. 15 is a block diagram showing a configuration example of the information processing apparatus 100 of the first embodiment.
  • This information processing device 100 is mounted inside a robot 10 that creates a map.
  • a part of the configuration other than the sensors and the like may be set in a device capable of communicating with the robot 10, such as a server.
  • the information processing apparatus 100 includes an atmospheric pressure sensor 101, an IMU (inertial measurement unit) 102, a wheel encoder 103, a LiDAR 104, an elevator movement analysis unit 105, a map generation unit 106, a map structure analysis unit 107, map information It has a storage unit 108 and a map structure information storage unit 109 .
  • IMU intial measurement unit
  • the atmospheric pressure sensor 101 detects atmospheric pressure and outputs atmospheric pressure information 111 as a detected value to the elevator movement analysis unit 105 .
  • An IMU (inertial measurement unit) 102 detects the acceleration and angular velocity of the robot 10 and outputs the detected acceleration and angular velocity 112 to an elevator movement analysis unit 105 and a map generation unit 106 .
  • the wheel encoder 103 measures the amount of rotation of the wheels of the robot, calculates the amount of movement of the robot, and outputs the calculated amount of movement 113 to the map generator 106 .
  • the LiDAR 104 calculates the object distance around the robot based on the laser light, generates point group information 114 indicating the object position based on the calculated result, and outputs the point group information 114 to the map generation unit 106 .
  • the elevator movement analysis unit 105 receives atmospheric pressure information 111 input from the atmospheric pressure sensor 101 and the acceleration and angular velocity 112 of the robot 10 from the IMU (inertial measurement unit) 102, and uses the elevator based on these input information. Elevator detection information indicating whether or not a moving movement occurs, and the amount of elevator movement corresponding to information on the number of floors moved by the elevator are analyzed. The analysis information generated by the elevator movement analysis unit 105 , that is, the elevator detection information & elevator movement amount 115 is output to the map structure analysis unit 107 .
  • the map generating unit 106 inputs the acceleration and angular velocity 112 of the robot 10 from the IMU (inertial measurement unit) 102, inputs the movement amount 113 of the robot from the wheel encoder 103, and furthermore, from the LiDAR 104, calculates the object positions around the robot. Input the point cloud information 114 shown.
  • the map generation unit 106 utilizes these pieces of input information to generate an environment map showing object positions and the like around the travel route of the robot 10, and further performs self-position estimation. For example, the SLAM process using the LiDAR detection information is performed, and the environment map generation process and the self-position estimation process are performed together.
  • a generated map 118 that is an environmental map generated by the map generation unit 106 and other map-related information are stored in the map information storage unit 108 .
  • Estimated self-position 116 calculated by map generation unit 106 is output to map structure analysis unit 107 .
  • the processing of storing the generated map 106 in the map information storage unit 108 in the map generation unit 106 and the processing of generating a new map are executed based on the input of the processing system example from the map structure analysis unit 107 . That is, it is executed based on the input of the "map storage instruction, new map creation instruction 117" output from the map structure analysis unit 107 shown in FIG.
  • the map structure analysis unit 107 receives analysis information from the elevator movement analysis unit 105 , that is, elevator detection information & elevator movement amount 115 . Furthermore, the estimated self-position 116 is input from the map generator 106 . Based on these pieces of information, the map structure analysis unit 107 generates map structure information indicating the relationship between the plurality of maps generated by the map generation unit 106. FIG. That is, the map structure information 119 shown in FIG. 15 is generated, and the generated map-related information is stored in the map structure information storage unit 109 .
  • the map structure analysis unit 107 further includes a map generated by the map generation unit 106 based on the elevator detection information & elevator movement amount 115 input from the elevator movement analysis unit 105 and the estimated self-position 116 input from the map generation unit 106.
  • a map storage instruction is output to the map generation unit 106 at the timing for storing the map in the map information storage unit 108 or at the determined storage timing. It also determines the timing of new map creation by the map generation unit 106, and instructs the map generation unit 106 to start creating the new map at the determined new map creation timing.
  • the map information storage unit 108 stores maps and map-related information generated by the map generation unit 106 .
  • the map structure information storage unit 109 stores map structure information 119 generated by the map structure analysis unit 107 .
  • FIG. 16 Details of the information stored in the map information storage unit 108 and the information stored in the map structure information storage unit 109 will be described with reference to FIGS. 16 and 17.
  • FIG. 16 Details of the information stored in the map information storage unit 108 and the information stored in the map structure information storage unit 109 will be described with reference to FIGS. 16 and 17.
  • FIG. 16 Details of the information stored in the map information storage unit 108 and the information stored in the map structure information storage unit 109 will be described with reference to FIGS. 16 and 17.
  • FIG. 16 shows an example of information stored in the map information storage unit 108 by the map generation unit 106. As shown in FIG. 16
  • the information stored in the map information storage unit 108 by the map generation unit 106 includes map correspondence data 108p and actual map data 108q as shown in FIG.
  • the map correspondence data 108p is composed of the following data, as shown in FIG. (1) Source frame information (2) Map node information (3) Map origin position information (x, y) (4) Map resolution information
  • Source frame information is acquisition destination information of map data (actual map data), and is, for example, a 1F map, a 2F map, or the like.
  • Map node information is a recording area for node information similar to that described with reference to FIG. That is, node information (x, y, z, yaw) consisting of the position (x, y, z) of each node and the orientation (yaw) of the robot is recorded as target frame data.
  • Map origin position information is a coordinate position indicating the origin position of the map in an external coordinate system, for example, a coordinate system such as world coordinates. Although only the two-dimensional coordinate position (x, y) is shown in this example, the three-dimensional coordinate position (x, y, z) may be recorded.
  • Map resolution information is information indicating the resolution of the actual map data 108q.
  • the actual map data 108q stores actual map data generated by the information processing apparatus 100 (robot 10).
  • the actual map data 108q is data similar to the data described above with reference to FIGS. That is, for example, map data (environmental map) representing objects around the robot travel route as point group information (object position information) is stored.
  • map data environment map
  • the environment map is not limited to point cloud data, and may be a map using various representation formats such as voxel representation and primitive shape group using object detection information.
  • FIG. 17 shows an example of information stored in the map structure information storage unit 109 by the map structure information analysis unit 107.
  • map structure information storage unit 109 records the following information.
  • Map transition node attributes (2) Map transition node information (3) Movement amount data between map transition nodes
  • Map transition node information records the node information of each map before and after the map switch. Specifically, the map creation end node that is the final node (map creation end node) of the map that has been created, the map creation start node that is the first node of the map to start creation, the positions of these transition nodes, etc. Record node information, including
  • the node information of two map transition nodes is recorded.
  • a source frame (1F map or 2F map) which is the acquisition destination information of the map data (actual map data);
  • Node information (x, y, z, yaw) consisting of the position (x, y, z) of each node and the orientation (yaw) of the robot
  • Target frame before map transition EV_1F: (x, y, z, yaw)
  • This data is node information about the node of the elevator position on the first floor (1F), and is data according to the coordinate system unique to the 1F map.
  • the 1F map coordinate system is, for example, a coordinate system set with the generation start point of the 1F map as the origin.
  • Target frame after map transition EV_2F: (x, y, z, yaw)
  • This data is node information about the node of the elevator position on the second floor (2F), and is data according to the coordinate system specific to the 2F map.
  • the 2F map coordinate system is, for example, a coordinate system set with the starting point of generation of the 2F map as the origin.
  • the map structure information storage unit 109 records "(3) movement amount data between map transition nodes".
  • the (3) map transition node-to-map movement amount data is data that is optionally recorded, not essential recording data.
  • the movement amount data between map transition nodes is the amount of movement between two map transition nodes, that is, the node at the elevator position on the first floor (1F) and the node at the elevator position on the second floor (2F). Inter-node movement data for one map transition node is recorded.
  • the amount of movement is recorded for each element of (x, y, z, yaw). i.e. Movement amount in x direction (rel_x) Movement amount in y direction (rel_y) Movement amount in z direction (rel_z) Movement amount of yaw angle (rel_yaw) These element-by-element movement amounts are recorded.
  • movement between two map transition nodes is movement only in the vertical direction (z direction).
  • FIG. 18 is a flowchart explaining the processing sequence executed by the elevator movement analysis unit 105 of the information processing apparatus 100 of the first embodiment shown in FIG.
  • the processing according to the flow described below is executed in accordance with a program stored in the storage unit of an information processing device in a mobile object such as a robot or an information processing device capable of communicating with a mobile object such as a robot. It is possible to For example, it can be performed as program execution processing by a processor such as a CPU having a program execution function. Processing of each step of the flow shown in FIG. 18 will be described below.
  • Step S101 First, in step S101, the elevator movement analysis unit 105 receives an IMU detection value, such as the acceleration of the robot, from the IMU (inertial measurement unit) 102 .
  • an IMU detection value such as the acceleration of the robot
  • step S102 the elevator movement analysis unit 105 analyzes the acceleration input from the IMU (inertial measurement unit) 102 and determines whether vertical acceleration has been detected. If acceleration in the vertical direction is detected, the process proceeds to step S103. If it is not detected, the process returns to step S101 and repeats the processes from step S101 onward.
  • IMU intial measurement unit
  • Step S103 When vertical acceleration is detected in step S102, the elevator movement analysis unit 105 notifies the map structure analysis unit 107 of detection of robot movement by the elevator in step S103.
  • Step S104 the elevator movement analysis unit 105 receives atmospheric pressure information from the atmospheric pressure sensor 101 and analyzes the inputted atmospheric pressure information.
  • step S105 Next, in step S ⁇ b>105 , the elevator movement analysis unit 105 determines whether movement between floors has been detected as an analysis result of the atmospheric pressure information input from the atmospheric pressure sensor 101 .
  • This hierarchical movement determination process is a determination process based on whether or not the phenomenon described above with reference to FIG. 14 is detected. That is, the determination is made according to whether or not a disturbance of the initial atmospheric change that occurs according to the density of the space through which the elevator passes has been detected. If the disturbance of the first atmospheric change occurs, it is determined that the movement between floors has been performed.
  • step S106 the elevator movement analysis unit 105 notifies the map structure analysis unit 107 of the analysis information in step S105, that is, detection information of floor movement obtained from the analysis result of the atmospheric pressure information input from the atmospheric pressure sensor 101. do.
  • step S107 the elevator movement analysis unit 105 receives an IMU detection value, such as the acceleration of the robot, from the IMU (inertial measurement unit) 102 .
  • step S108 the elevator movement analysis unit 105 analyzes the acceleration input from the IMU (inertial measurement unit) 102 and determines whether deceleration in the vertical direction has been detected. If vertical deceleration is detected, the process proceeds to step S109. If not detected, the process returns to step S107 and repeats the process of step S107.
  • IMU intial measurement unit
  • Step S109 When the deceleration of the speed in the vertical direction is detected in step S108, the elevator movement analysis unit 105 notifies the map structure analysis unit 107 that the elevator has stopped moving the robot in step S109.
  • the map structure analysis unit 107 successively inputs information such as the start of elevator movement of the robot, floor movement, movement stop, etc., from the elevator movement analysis unit 105 .
  • information such as the start of elevator movement of the robot, floor movement, movement stop, etc.
  • the map structure analysis unit 107 for inputting these pieces of information will be described with reference to the flowchart shown in FIG. The processing from step S121 onward in the flow shown in FIG. 19 will be sequentially described.
  • Step S121 First, in step S121, the map structure analysis unit 107 determines whether or not an elevator movement detection notification has been input from the elevator movement analysis unit 105.
  • FIG. 1 the map structure analysis unit 107 determines whether or not an elevator movement detection notification has been input from the elevator movement analysis unit 105.
  • step S121 This is the notification input confirmation process in step S103 of the flow shown in FIG. If it is determined in step S121 that the elevator movement detection notification from the elevator movement analysis unit 105 has been input, the process proceeds to step S122.
  • Step S122 If the map structure analysis unit 107 determines in step S121 that an elevator movement detection notification has been received from the elevator movement analysis unit 105, the map structure analysis unit 107 executes the process of step S122.
  • map structure analysis unit 107 acquires the elevator position on the created map before the elevator movement, and executes a process of recording it in the map structure information storage unit 109 .
  • This information corresponds to the following information in "(2) Map transition node information" recorded in the map structure information storage unit 109 described above with reference to FIG. (2a) Source frame before map transition Target frame before map transition
  • step S123 the map structure analysis unit 107 outputs to the map generation unit 106 an instruction to store the created map before moving to the elevator.
  • the map structure analysis unit 107 in step S123, An instruction to save the map of the first floor (1F) created before moving to the elevator is output to the generation unit 106 .
  • the map generation unit 106 stores the created map in the map information storage unit 108 according to the instruction from the map structure analysis unit 107 . For example, a map of the first floor (1F) created before moving by the elevator is stored in the map information storage unit 108 .
  • Step S124 the map structure analysis unit 107 determines whether or not a floor movement notification by elevator has been input from the elevator movement analysis unit 105 .
  • step S106 This is the notification input confirmation process in step S106 of the flow shown in FIG. If it is determined in step S124 that an elevator floor movement detection notification from the elevator movement analysis unit 105 has been input, the process proceeds to step S125.
  • Step S125 When the map structure analysis unit 107 determines in step S124 that the floor movement detection notification by the elevator from the elevator movement analysis unit 105 has been input, the process of step S125 is executed.
  • the map structure analysis unit 107 counts the number of floor movement detection notifications from the elevator movement analysis unit 105 in step S125 to determine the number of floors moved.
  • the number of floor movement detection notifications from the elevator movement analysis unit 105 is one, it is determined that the robot has moved one floor by the elevator. If the number of floor movement detection notifications from the elevator movement analysis unit 105 is two, it is determined that the robot has moved two floors by the elevator.
  • step S126 the map structure analysis unit 107 determines whether or not an elevator stop detection notification has been input from the elevator movement analysis unit 105 . If it is determined that the elevator stop detection notification has been input, the process proceeds to step S127. If the elevator stop detection notification has not been input, the process of step S125 is continued.
  • Step S127 If the map structure analysis unit 107 determines in step S126 that the elevator stop detection notification has been input from the elevator movement analysis unit 105, the process of step S127 is executed.
  • the map structure analysis unit 107 stores the following in the map structure information storage unit 109 in step S127.
  • "(3) Movement amount data between map transition nodes” "floor before elevator movement ⁇ floor after elevator movement”
  • This map transition node-to-node movement amount data is recorded. This is the data recorded in the map structure information storage unit 109 previously described with reference to FIG.
  • step S128 the map structure analysis unit 107 notifies the map generation unit 106 of an instruction to create a new map on the floor after moving by the elevator.
  • the map generation unit 106 Upon receiving this notification from the map structure analysis unit 107, the map generation unit 106 starts creating a new map on the floor after the elevator has moved.
  • Step S129 the map structure analysis unit 107 acquires the elevator position on the created map after the elevator movement, and executes processing for recording it in the map structure information storage unit 109.
  • FIG. 1 the map structure information storage unit 109.
  • Map transition node information recorded in the map structure information storage unit 109 described above with reference to FIG. (2b) Source frame after map transition Target frame after map transition
  • the robot 10 creates a map of the 1st floor (1F), gets on the elevator from the 1st floor (1F), moves to the 2nd floor (2F) by the elevator, and creates a map of the 2nd floor (2F).
  • the above information (2b) becomes the following information.
  • Source frame after map transition 2F
  • Target frame after map transition EV_2F: (x, y, z, yaw)
  • FIGS. 20 to 22 show elevator movement analysis unit 105, map structure analysis unit 107, and map generation unit when information processing apparatus 100 (robot 10) creates two maps before and after elevator movement.
  • 106 is a sequence diagram for explaining the sequence of data processing executed in each unit and data transfer processing between units. The processing of each step in this sequence diagram will be described below.
  • Step S151 First, in step S151, the map generating unit 106 of the information processing device 100 (robot 10) starts generating map 1.
  • FIG. For example, SLAM processing is started from the initial position of the first floor (1F), and map creation of the first floor (1F) is started.
  • Step S152 when the elevator movement analysis unit 105 detects the vertical acceleration of the robot 10 based on the acceleration information input from the IMU (inertial measurement unit) 102, the map structure analysis unit 107 detects the robot movement caused by the elevator. Notify when movement is detected.
  • Step S153 When the map structure analysis unit 107 receives the detection notification of the robot movement by the elevator from the elevator movement analysis unit 105, in step S153, the map structure analysis unit 107 inquires of the map generation unit 106 about the current self-position.
  • Step S154 In response to a self-location inquiry from the map structure analysis unit 107, the map generation unit 106 transmits the self-position calculated in the SLAM processing to the map structure analysis unit 107.
  • this self-position is the self-position in the coordinate system of the map 1 whose preparation is started in step S151, and corresponds to the elevator position.
  • the map 1 started to be created in step S151 is the map of the 1st floor (1F)
  • the map structure analysis unit 107 acquires the elevator position on the created map before the elevator movement, and executes a process of recording it in the map structure information storage unit 109 .
  • the map structure analysis unit 107 records the self position acquired from the map generation unit 106, ie, the elevator position, in the map structure information storage unit 109.
  • the map structure analysis unit 107 acquires the elevator position on the created map before the elevator moves, and executes a process of recording it as map structure information.
  • the recorded information corresponds to the following information in "(2) map transition node information" recorded in the map structure information storage unit 109 described with reference to FIG. (2a) Source frame before map transition Target frame before map transition
  • step S156 the map structure analysis unit 107 outputs to the map generation unit 106 an instruction to store the created map before the elevator movement.
  • This process corresponds to the process of step S123 described above with reference to the flow of FIG.
  • the map structure analysis unit 107 in step S156, An instruction to save the map of the first floor (1F) created before moving to the elevator is output to the generation unit 106 .
  • Map generation unit 106 stores the created map in map information storage unit 108 in accordance with the instruction from map structure analysis unit 107 in step S157. For example, a map of the first floor (1F) created before moving by the elevator is stored in the map information storage unit 108 .
  • step S158 the elevator movement analysis unit 105 outputs an elevator floor movement detection notification.
  • This process corresponds to the process of step S106 in the flow shown in FIG. 17 described above.
  • Step S159 the map structure analysis unit 107 determines the number of floors moved based on the floor movement detection notification from the elevator movement analysis unit 105.
  • step S125 of the flow shown in FIG. 19 This process is in contrast to the process of step S125 of the flow shown in FIG. 19 described above. For example, if the number of floor movement detection notifications from the elevator movement analysis unit 105 is one, it is determined that the robot has moved one floor by the elevator. If the number of floor movement detection notifications from the elevator movement analysis unit 105 is two, it is determined that the robot has moved two floors by the elevator.
  • Step S160 Next, in step S160, the elevator movement analysis unit 105 notifies the map structure analysis unit 107 that the elevator has stopped.
  • This process is a process corresponding to the process of step S109 in the flow of FIG. 18 described above.
  • the elevator movement analysis unit 105 detects deceleration in the vertical direction based on the input from the IMU (inertial measurement unit) 102, the elevator movement analysis unit 105 notifies the map structure analysis unit 107 of detection of the elevator stop.
  • Step S161 when the map structure analysis unit 107 receives the elevator stop notification from the elevator movement analysis unit 105, it analyzes the elevator movement amount and records the analyzed movement amount in the map structure information storage unit 109 in step S161.
  • the movement amount information recorded in the map structure information storage unit 109 is the recorded information described above with reference to FIG. (1) Map transition node attribute (2) Map transition node information (3) Movement amount data between map transition nodes This corresponds to "movement amount data between map transition nodes" in these pieces of information.
  • “(3) Movement amount data between map transition nodes” is the amount of movement between two map transition nodes in two maps generated by the robot 10, for example, the node at the elevator position on the first floor (1F) and the node on the second floor. It is the movement amount data between the two map transition nodes of the node of the elevator position of (2F).
  • the movement amount may be recorded for each element of (x, y, z, yaw). i.e. Movement amount in x direction (rel_x) Movement amount in y direction (rel_y) Movement amount in z direction (rel_z) Movement amount of yaw angle (rel_yaw) These element-by-element movement amounts may be recorded.
  • Step S162 the map structure analysis unit 107 instructs the map generation unit 106 to create a new map on the floor after moving by the elevator.
  • step S163 the map generation unit 106 starts to generate a new map (map 2) in response to the input of the new map generation instruction from the map structure analysis unit 107.
  • step S164 the map structure analysis unit 107 inquires of the map generation unit 106 about the current self-position.
  • Step S165 In response to a self-location inquiry from the map structure analysis unit 107, the map generation unit 106 transmits the self-position calculated in the SLAM processing to the map structure analysis unit 107.
  • this self-position is the self-position in the coordinate system of the map 2 whose creation is started in step S163, and corresponds to the elevator position after movement by the elevator.
  • the map 2 started to be created in step S163 is the map of the second floor (2F)
  • the map structure analysis unit 107 records the self-position acquired from the map generation unit 106, that is, the elevator position, in the map structure information storage unit 109.
  • the map structure analysis unit 107 acquires the elevator position on the created map after the elevator movement and executes processing for recording it as map structure information.
  • the recorded information corresponds to the following information in "(2) map transition node information" recorded in the map structure information storage unit 109 described with reference to FIG. (2b) Source frame after map transition Target frame after map transition
  • the robot 10 creates a map of the 1st floor (1F), gets into the elevator from the 1st floor (1F), moves in the elevator, and after arriving at the 2nd floor (2F), moves to the 2nd floor (2F).
  • the above information (2b) becomes the following information.
  • Source frame after map transition 2F
  • Target frame after map transition EV_2F: (x, y, z, yaw)
  • the map structure information storage unit 109 is configured to record information clarifying the relationship between a plurality of maps.
  • Map transition node attribute (2) Map transition node information (3) Movement amount data between map transition nodes These data are recorded. By recording these data, it becomes possible to analyze the relationship between a plurality of individual maps recorded in the map information storage unit 108 .
  • autonomous driving using a plurality of different environmental maps can be achieved without using external instructions such as an operator. can be performed by the robot.
  • Example 2 An embodiment in which a plurality of maps and map structure information are generated by analyzing an image captured by a camera to detect elevator movement.
  • a second embodiment is an embodiment that analyzes an image captured by a camera, detects elevator movement, and generates a plurality of maps and map structure information.
  • Figures 23 to 25 are diagrams explaining the details of the process of analyzing the captured image of the camera and detecting the movement of the elevator.
  • the robot 10 that performs the map creation process first creates a map of the first floor (1F) and arrives in front of the elevator on the first floor (1F). This state is the state shown in FIG. Next, as shown in FIG. 23(b), the robot 10 gets into an elevator with an open door on the floor where map creation has been completed, for example, the first floor (1F).
  • This state is the state shown in FIG.
  • the robot 10 photographs the state inside the elevator with a camera attached to the robot 10.
  • the elevator then begins to ascend or descend to move to the next mapping floor. For example, if the current point is on the first floor (1F) and the next mapping floor is on the second floor (2F), then start climbing to move to the second floor (2F), for example.
  • This state is the state shown in FIG.
  • the robot 10 photographs the floor display section in the elevator with a camera attached to the robot 10 .
  • the data processing unit of the information processing device in the robot 10 analyzes the captured image of the floor number display unit in the elevator to confirm the number of floors to which the elevator is moved.
  • the elevator then reaches the next mapping floor, for example the second floor (2F), and the door is opened.
  • This state is the state shown in FIG.
  • a data processing unit of the information processing device in the robot 10 analyzes an image of the interior of the elevator and detects an open space.
  • an image captured by a camera attached to the robot 10 and a point cloud map generated using LiDAR detection information are analyzed to detect elevator movement, and a plurality of maps and map structure information are generated. Generate.
  • FIG. 26 is a block diagram showing a configuration example of the information processing apparatus 120 of the second embodiment.
  • This information processing device 120 is mounted inside the robot 10 that creates a map.
  • a part of the configuration other than the sensors and the like may be set in a device capable of communicating with the robot 10, such as a server.
  • the information processing device 120 includes a camera 121, an IMU (inertial measurement unit) 102, a wheel encoder 103, a LiDAR 104, an elevator movement analysis unit 105, a map generation unit 106, a map structure analysis unit 107, and a map information storage. 108 and a map structure information storage unit 109 .
  • Components other than camera 121 that is, IMU (inertial measurement unit) 102, wheel encoder 103, LiDAR 104, elevator movement analysis unit 105, map generation unit 106, map structure analysis unit 107, map information storage unit 108, map structure information storage A unit 109 has the same configuration as the information processing apparatus 100 of the first embodiment described above with reference to FIG.
  • the captured image information 125 of the camera 121 and the point cloud information 114 generated by the LiDAR 104 are input to the elevator movement analysis unit 105 .
  • the camera 121 captures an image around the robot and outputs the captured image, that is, captured image information 125 shown in FIG.
  • the LiDAR 104 calculates the object distance around the robot based on the laser light, generates point cloud information 114 indicating the object position based on the calculated result, and outputs it to the elevator movement analysis unit 105 and the map generation unit 106.
  • the elevator movement analysis unit 105 receives the captured image information 125 generated by the camera 121 and the point group information 114 generated by the LiDAR 104, and based on these input information, determines whether movement using the elevator has occurred. and the elevator movement amount corresponding to the information on the number of floors moved by the elevator are analyzed.
  • the elevator movement analysis unit 105 can analyze, for example, the photographed image information 125 generated by the camera 121 to analyze the elevator boarding/alighting of the robot and the number of elevator boarding/alighting floors.
  • the analysis information generated by the elevator movement analysis unit 105 that is, the elevator detection information & elevator movement amount 115 is output to the map structure analysis unit 107 .
  • the processing by the elevator movement analysis unit 105 is significantly different from that in the first embodiment.
  • the elevator movement analysis unit 105 uses the captured image information 125 generated by the camera 121 and the point cloud information 114 generated by the LiDAR 104 to detect elevator detection information as to whether or not movement using the elevator has occurred, Elevator travel amount corresponding to information on the number of floors traveled by the elevator is analyzed.
  • the elevator movement analysis unit 105 when the robot 10 enters the elevator and the elevator is closed, the elevator movement analysis unit 105 generates captured image information 125 generated by the camera 121, That is, it detects that the robot 10 has entered the closed space by analyzing the captured image of the interior of the elevator.
  • the camera 121 attached to the robot 10 photographs the floor display section inside the elevator.
  • the elevator movement analysis unit 105 analyzes captured image information 125 generated by the camera 121 . In other words, the number of floors to which the elevator moves is confirmed by analyzing an image of the floor number display section in the elevator.
  • the door is opened when the elevator reaches the next mapping floor, for example, the second floor (2F).
  • the elevator movement analysis unit 105 analyzes the captured image information 125 generated by the camera 121 to detect an open space.
  • an image captured by a camera attached to the robot 10 and a point cloud map generated using LiDAR detection information are analyzed to detect elevator movement, and a plurality of maps and map structure information are generated. Generate.
  • FIG. 27 is a flowchart for explaining the processing sequence executed by the elevator movement analysis unit 105 of the information processing apparatus 120 of the second embodiment shown in FIG.
  • the processing according to the flow described below is executed in accordance with a program stored in the storage unit of an information processing device in a mobile object such as a robot or an information processing device capable of communicating with a mobile object such as a robot. It is possible to For example, it can be performed as program execution processing by a processor such as a CPU having a program execution function. Processing of each step of the flow shown in FIG. 27 will be described below.
  • Step S201 First, in step S201, the elevator movement analysis unit 105 receives the point cloud information 114 generated by the LiDAR 104 and analyzes the input point cloud information.
  • the LiDAR 104 calculates the object distance around the robot based on the laser beam, generates the point group information 114 indicating the object position based on the calculated result, and outputs it to the elevator movement analysis unit 105.
  • step S202 the elevator movement analysis unit 105 determines whether or not it has detected that the robot 10 has entered a closed space as the analysis result of the point cloud information 114 input from the LiDAR 104 .
  • step S203 If a closed space is detected, proceed to step S203. If it is not detected, the process returns to step S201 and repeats the processing from step S201 onwards.
  • Steps S203-S204 When a closed space is detected in step S202, the elevator movement analysis unit 105 analyzes the camera-captured image and determines whether or not it is inside an elevator in step S203. For example, it analyzes whether or not the captured image has a feature amount inside the elevator. If it is determined that the vehicle is inside the elevator based on the image captured by the camera, the process proceeds to step S205.
  • Step S205 the elevator movement analysis unit 105 analyzes the image captured by the camera, detects the floor display part from the captured image, and confirms the current floor and the floor movement.
  • step S206 the elevator movement analysis unit 105 notifies the map structure analysis unit 107 of detection of robot movement by the elevator.
  • step S207 the elevator movement analysis unit 105 receives the point cloud information 114 generated by the LiDAR 104 and analyzes the input point cloud information.
  • the LiDAR 104 calculates the object distance around the robot based on the laser beam, generates the point group information 114 indicating the object position based on the calculated result, and outputs it to the elevator movement analysis unit 105.
  • step S208 the elevator movement analysis unit 105 determines whether an open space has been detected from the analysis result of the point group information 114 input from the LiDAR 104.
  • Step S209 the elevator movement analysis unit 105 analyzes the photographed image information 125 generated by the camera 121 in step S209. In other words, the number of floors to which the elevator moves is confirmed by analyzing an image of the floor number display section in the elevator.
  • Step S210 Next, in step S210, the elevator movement analysis unit 105 notifies the map structure analysis unit 107 that the elevator has stopped moving the robot.
  • the map structure analysis unit 107 successively inputs information such as the start of elevator movement of the robot, floor movement, movement stop, etc., from the elevator movement analysis unit 105 .
  • information such as the start of elevator movement of the robot, floor movement, movement stop, etc.
  • the sequence of processing executed by the map structure analysis unit 107 for inputting these pieces of information will be described with reference to the flowchart shown in FIG. Processing after step S221 in the flow shown in FIG. 28 will be described in order.
  • Step S221 First, in step S221, the map structure analysis unit 107 determines whether or not an elevator movement detection notification has been input from the elevator movement analysis unit 105.
  • FIG. 1 the map structure analysis unit 107 determines whether or not an elevator movement detection notification has been input from the elevator movement analysis unit 105.
  • step S206 This is the notification input confirmation process in step S206 of the flow shown in FIG. If it is determined in step S221 that the elevator movement detection notification from the elevator movement analysis unit 105 has been input, the process proceeds to step S222.
  • Step S222 If the map structure analysis unit 107 determines in step S221 that an elevator movement detection notification has been received from the elevator movement analysis unit 105, the map structure analysis unit 107 executes the process of step S222.
  • map structure analysis unit 107 acquires the elevator position on the created map before the elevator movement, and executes a process of recording it in the map structure information storage unit 109 .
  • This information corresponds to the following information in "(2) Map transition node information" recorded in the map structure information storage unit 109 described above with reference to FIG. (2a) Source frame before map transition Target frame before map transition
  • step S223 the map structure analysis unit 107 outputs to the map generation unit 106 an instruction to store the created map before moving to the elevator.
  • the map structure analysis unit 107 In step S223, An instruction to save the map of the first floor (1F) created before moving to the elevator is output to the generation unit 106 .
  • the map generation unit 106 stores the created map in the map information storage unit 108 according to the instruction from the map structure analysis unit 107 . For example, a map of the first floor (1F) created before moving by the elevator is stored in the map information storage unit 108 .
  • Step S224 the map structure analysis unit 107 determines whether or not a notification of elevator floor movement stoppage and stop floor number has been input from the elevator movement analysis unit 105 or not.
  • step S224 This is the notification input confirmation process in step S210 of the flow shown in FIG. If it is determined in step S224 that the notification of the elevator floor movement stop and the number of floors to be stopped from the elevator movement analysis unit 105 has been input, the process proceeds to step S225.
  • Step S225 If the map structure analysis unit 107 determines in step S224 that the elevator movement analysis unit 105 has input the notification of the floor movement stop by the elevator and the number of floors to stop, the map structure analysis unit 107 executes the process of step S225.
  • step S226 the map structure analysis unit 107 notifies the map generation unit 106 of an instruction to create a new map on the floor after moving by the elevator.
  • the map generation unit 106 Upon receiving this notification from the map structure analysis unit 107, the map generation unit 106 starts creating a new map on the floor after the elevator has moved.
  • Step S227 the map structure analysis unit 107 acquires the elevator position on the created map after the elevator movement, and executes a process of recording it in the map structure information storage unit 109.
  • FIG. 1 the map structure information storage unit 109.
  • Map transition node information recorded in the map structure information storage unit 109 described above with reference to FIG. (2b) Source frame after map transition Target frame after map transition
  • the robot 10 creates a map of the 1st floor (1F), gets on the elevator from the 1st floor (1F), moves to the 2nd floor (2F) by the elevator, and creates a map of the 2nd floor (2F).
  • the above information (2b) becomes the following information.
  • Source frame after map transition 2F
  • Target frame after map transition EV_2F: (x, y, z, yaw)
  • an image captured by a camera attached to the robot 10 and a point cloud map generated using LiDAR detection information are analyzed to detect elevator movement, and a plurality of maps and map structure information are generated. Generate.
  • Example 3 Embodiment 3 Embodiment of Detecting Elevator Movement Using User Input Information and Generating Multiple Maps and Map Structure Information
  • Example 3 an example in which elevator movement is detected using user input information and a plurality of maps and map structure information are generated will be described.
  • Example 3 is an example in which user input information is used to detect elevator movement and generate multiple maps and map structure information.
  • 29 to 30 are diagrams explaining the details of the process of detecting elevator movement using user input information.
  • the robot 10 that performs the map creation process first creates a map of the first floor (1F) and arrives in front of the elevator on the first floor (1F). This state is the state shown in FIG. Next, as shown in FIG. 29(b), the robot 10 gets into an elevator with an open door on the floor where map creation has been completed, for example, the first floor (1F).
  • the user When a user such as an operator observes the movement of the robot 10 and confirms that the robot 10 has boarded the elevator, the user inputs that the robot 10 has boarded the elevator via the UI section of the information processing device.
  • the input information from the user may be directly input to the UI unit of the robot 10, but may also be input via a UI unit such as a controller capable of communicating with the robot 10.
  • This state is the state shown in FIG.
  • a user such as an operator observes the movement of the robot 10, confirms that the robot 10 has entered the elevator, closed the elevator doors, and started moving. Enters that the elevator in which is boarded has started to move.
  • the input information from the user may be directly input to the UI unit of the robot 10, but may also be input via a UI unit such as a controller capable of communicating with the robot 10.
  • the elevator then reaches the next mapping floor, for example the second floor (2F), and the door is opened.
  • This state is the state shown in FIG.
  • the elevator in which the robot 10 has boarded is displayed via the UI section of the information processing device. Enter information such as the fact that the vehicle stopped, the number of floors it stopped, and the fact that the door was opened.
  • the input information from the user may be directly input to the UI unit of the robot 10, but may also be input via a UI unit such as a controller capable of communicating with the robot 10.
  • the third embodiment is an embodiment in which the movement of the elevator is detected using the user input information of the user who observes the movement of the robot 10, and multiple maps and map structure information are generated.
  • FIG. 31 is a block diagram showing a configuration example of the information processing device 130 of the third embodiment.
  • This information processing device 130 is mounted inside the robot 10 that creates a map.
  • a part of the configuration other than the sensors and the like may be set in a device capable of communicating with the robot 10, such as a server.
  • the information processing device 130 includes a UI unit 131, an inertial measurement unit (IMU) 102, a wheel encoder 103, a LiDAR 104, a map generation unit 106, a map structure analysis unit 107, a map information storage unit 108, a map structure It has an information storage unit 109 .
  • IMU inertial measurement unit
  • IMU intial measurement unit
  • wheel encoder 103 wheel encoder
  • LiDAR 104 map generation unit
  • map structure analysis unit 107 map information storage unit 108
  • map structure information storage unit 109 map structure information storage unit 109
  • user input information 135 input via the UI unit 131 is input to the map structure analysis unit 107.
  • the user input information 135 input via the UI unit 131 is, as described above with reference to FIGS. 29 and 30, (a) that the robot 10 got into the elevator (b) that the elevator into which the robot 10 got into started to move (c) that the elevator into which the robot 10 got into stopped and the number of floors to stop These pieces of information.
  • the map structure analysis unit 107 analyzes these pieces of user input information, analyzes that the robot 10 is moving using an elevator, analyzes the number of floors to which the robot 10 is moving, and analyzes the map structure described above with reference to FIG. It performs processing such as generating structure information.
  • Step S301 First, in step S ⁇ b>301 , the map structure analysis unit 107 determines whether or not the notification of the robot entering the elevator and the movement start has been input from the UI unit 131 . If so, the process proceeds to step S302.
  • Step S302 When the map structure analysis unit 107 determines in step S301 that the notification of the robot getting into the elevator and the movement start has been input from the UI unit 131, the map structure analysis unit 107 executes the process of step S302.
  • map structure analysis unit 107 acquires the elevator position on the created map before the elevator movement, and executes a process of recording it in the map structure information storage unit 109 .
  • This information corresponds to the following information in "(2) Map transition node information" recorded in the map structure information storage unit 109 described above with reference to FIG. (2a) Source frame before map transition Target frame before map transition
  • step S303 the map structure analysis unit 107 outputs to the map generation unit 106 an instruction to store the created map before the elevator movement.
  • the map structure analysis unit 107 in step S123, An instruction to save the map of the first floor (1F) created before moving to the elevator is output to the generation unit 106 .
  • the map generation unit 106 stores the created map in the map information storage unit 108 according to the instruction from the map structure analysis unit 107 . For example, a map of the first floor (1F) created before moving by the elevator is stored in the map information storage unit 108 .
  • Step S304 Next, in step S ⁇ b>304 , the map structure analysis unit 107 determines whether or not notification of the elevator stop and the number of floors to be moved has been input from the UI unit 131 . If it is determined that the notification has been input, the process proceeds to step S305.
  • Step S305 If the map structure analysis unit 107 determines in step S304 that the notification of the elevator stop and the number of floors to be moved has been input from the UI unit 131, the map structure analysis unit 107 executes the process of step S305.
  • the map structure analysis unit 107 stores the following in the map structure information storage unit 109 in step S305.
  • "(3) Movement amount data between map transition nodes” "floor before elevator movement ⁇ floor after elevator movement”
  • This map transition node-to-node movement amount data is recorded. This is the data recorded in the map structure information storage unit 109 previously described with reference to FIG.
  • step S306 the map structure analysis unit 107 notifies the map generation unit 106 of an instruction to create a new map on the floor after moving by the elevator.
  • the map generation unit 106 Upon receiving this notification from the map structure analysis unit 107, the map generation unit 106 starts creating a new map on the floor after the elevator has moved.
  • Step S307 the map structure analysis unit 107 acquires the elevator position on the created map after the elevator movement, and executes processing for recording it in the map structure information storage unit 109.
  • FIG. 1 the map structure information storage unit 109.
  • Map transition node information recorded in the map structure information storage unit 109 described above with reference to FIG. (2b) Source frame after map transition Target frame after map transition
  • the robot 10 creates a map of the 1st floor (1F), gets on the elevator from the 1st floor (1F), moves to the 2nd floor (2F) by the elevator, and creates a map of the 2nd floor (2F).
  • the above information (2b) becomes the following information.
  • Source frame after map transition 2F
  • Target frame after map transition EV_2F: (x, y, z, yaw)
  • the third embodiment uses user input information from a user who observes the movement of the robot 10 to detect elevator movement and generate multiple maps and map structure information.
  • Example 4 Embodiment in which Elevator Movement is Detected by Analyzing Communication Data with a Communication Unit Installed in an Elevator Boarding/Alighting Section, and Multiple Maps and Map Structure Information are Generated
  • Example 4 an example will be described in which communication data with a communication section installed in an elevator boarding/alighting section is analyzed, elevator movement is detected, and a plurality of maps and map structure information are generated.
  • a fourth embodiment is an embodiment that analyzes communication data with a communication section installed in an elevator boarding/alighting section, detects elevator movement, and generates a plurality of maps and map structure information.
  • a data communication unit 145 is provided at the entrance/exit of the elevator.
  • a data communication unit 145 at the entrance/exit of the elevator communicates with the information processing device of the robot 10 . For example, it notifies the robot 10 that it is an elevator entrance and exit, current floor information, and the like.
  • the robot 10 confirms that it is an elevator doorway and the current floor based on the information received from the data communication unit 145 of the elevator doorway. Based on this confirmation result, the elevator movement of the robot 10 is analyzed to generate a plurality of maps and map structure information.
  • FIG. 34 is a block diagram showing a configuration example of the information processing device 140 of the fourth embodiment.
  • This information processing device 140 is mounted inside the robot 10 that creates a map.
  • a part of the configuration other than the sensors and the like may be set in a device capable of communicating with the robot 10, such as a server.
  • the information processing device 140 includes a communication unit 141, an inertial measurement unit (IMU) 102, a wheel encoder 103, a LiDAR 104, an elevator movement analysis unit 105, a map generation unit 106, a map structure analysis unit 107, map information It has a storage unit 108 and a map structure information storage unit 109 .
  • IMU inertial measurement unit
  • Components other than the communication unit 141 that is, IMU (inertial measurement unit) 102, wheel encoder 103, LiDAR 104, elevator movement analysis unit 105, map generation unit 106, map structure analysis unit 107, map information storage unit 108, map structure information
  • the storage unit 109 has the same configuration as the information processing apparatus 100 of the first embodiment described above with reference to FIG.
  • the reception information 142 of the communication unit 141 and the point cloud information 114 generated by the LiDAR 104 are input to the elevator movement analysis unit 105.
  • the communication unit 141 receives information transmitted by the communication unit 145 installed at the elevator doorway described with reference to FIG. For example, it receives from the communication unit 145 the fact that it is an elevator entrance/exit, the current floor information, and the like. Communication unit 141 outputs reception information 142 to elevator movement analysis unit 105 .
  • the LiDAR 104 calculates the object distance around the robot based on the laser light, generates point cloud information 114 indicating the object position based on the calculated result, and outputs it to the elevator movement analysis unit 105 and the map generation unit 106.
  • the elevator movement analysis unit 105 inputs the reception information 142 received by the communication unit 141 and the point group information 114 generated by the LiDAR 104, and based on these input information, determines whether movement using the elevator has occurred. and the elevator movement amount corresponding to the information on the number of floors moved by the elevator are analyzed.
  • the elevator movement analysis unit 105 can analyze, for example, the reception information 142 received by the communication unit 141 to analyze the elevator boarding/alighting of the robot and the number of elevator boarding/alighting floors.
  • the analysis information generated by the elevator movement analysis unit 105 that is, the elevator detection information & elevator movement amount 115 is output to the map structure analysis unit 107 .
  • the processing by the elevator movement analysis unit 105 is significantly different from that in the first embodiment.
  • the elevator movement analysis unit 105 uses the reception information 142 received by the communication unit 141 from the communication unit 145 installed at the elevator entrance and the point group information 114 generated by the LiDAR 104 to determine whether movement using the elevator occurs. Elevator detection information indicating whether or not the elevator is moving and the amount of elevator movement corresponding to information on the number of floors moved by the elevator are analyzed.
  • FIG. 35 is a flowchart for explaining the processing sequence executed by the elevator movement analysis unit 105 of the information processing apparatus 140 of the fourth embodiment shown in FIG.
  • the processing according to the flow described below is executed in accordance with a program stored in the storage unit of an information processing device in a mobile object such as a robot or an information processing device capable of communicating with a mobile object such as a robot. It is possible to For example, it can be performed as program execution processing by a processor such as a CPU having a program execution function. Processing of each step of the flow shown in FIG. 35 will be described below.
  • Step S401 First, the elevator movement analysis unit 105 determines whether input information from the communication unit 141 has been detected in step S401. If detected, the process proceeds to step S402.
  • Step S402 the elevator movement analysis unit 105 acquires elevator detection information and current floor information from the information input from the communication unit 141 in step S402.
  • step S403 the elevator movement analysis unit 105 receives the point cloud information 114 generated by the LiDAR 104 and analyzes the input point cloud information.
  • the LiDAR 104 calculates the object distance around the robot based on the laser beam, generates the point group information 114 indicating the object position based on the calculated result, and outputs it to the elevator movement analysis unit 105.
  • Step S404 the elevator movement analysis unit 105 determines whether or not it has detected that the robot 10 has entered a closed space as the analysis result of the point group information 114 input from the LiDAR 104.
  • Step S405 If a closed space is detected in step S404, the elevator movement analysis unit 105 receives an IMU detection value, such as robot acceleration, from the IMU (inertial measurement unit) 102 in step S405.
  • an IMU detection value such as robot acceleration
  • step S406 the elevator movement analysis unit 105 analyzes the acceleration input from the IMU (inertial measurement unit) 102, and determines whether vertical acceleration has been detected. If vertical acceleration is detected, the process proceeds to step S407. If not detected, the process returns to step S405, and the processes from step S405 onward are repeated.
  • IMU intial measurement unit
  • Step S407 the elevator movement analysis unit 105 notifies the map structure analysis unit 107 of detection of floor movement of the robot by the elevator.
  • step S408 the elevator movement analysis unit 105 receives the point cloud information 114 generated by the LiDAR 104 and analyzes the input point cloud information.
  • the LiDAR 104 calculates the object distance around the robot based on the laser beam, generates the point group information 114 indicating the object position based on the calculated result, and outputs it to the elevator movement analysis unit 105.
  • step S409 the elevator movement analysis unit 105 determines whether an open space has been detected from the analysis result of the point group information 114 input from the LiDAR 104.
  • step S410 If an open space is detected, proceed to step S410. If not detected, the process returns to step S408, and the processing from step S408 onward is repeated.
  • Step S410 the elevator movement analysis unit 105 acquires the current floor, that is, the number of the floor reached by the elevator movement, based on the input information from the communication unit 141.
  • FIG. 1 the elevator movement analysis unit 105 acquires the current floor, that is, the number of the floor reached by the elevator movement, based on the input information from the communication unit 141.
  • step S411 the elevator movement analysis unit 105 notifies the map structure analysis unit 107 of the detection of the robot's movement stop by the elevator and the number of floors to stop.
  • the map structure analysis unit 107 successively inputs information such as the start of elevator movement of the robot, floor movement, movement stop, etc., from the elevator movement analysis unit 105 .
  • information such as the start of elevator movement of the robot, floor movement, movement stop, etc.
  • the sequence of processing executed by the map structure analysis unit 107 for inputting these pieces of information will be described with reference to the flowchart shown in FIG. Processing after step S421 in the flow shown in FIG. 36 will be described in order.
  • Step S421 First, in step S421, the map structure analysis unit 107 determines whether or not an elevator movement detection notification has been input from the elevator movement analysis unit 105.
  • FIG. 1 the map structure analysis unit 107 determines whether or not an elevator movement detection notification has been input from the elevator movement analysis unit 105.
  • step S406 This is the notification input confirmation process in step S406 of the flow shown in FIG. If it is determined in step S421 that the elevator movement detection notification from the elevator movement analysis unit 105 has been input, the process proceeds to step S422.
  • Step S422 If the map structure analysis unit 107 determines in step S421 that an elevator movement detection notification has been received from the elevator movement analysis unit 105, the map structure analysis unit 107 executes the process of step S422.
  • map structure analysis unit 107 acquires the elevator position on the created map before the elevator movement, and executes a process of recording it in the map structure information storage unit 109 .
  • This information corresponds to the following information in "(2) Map transition node information" recorded in the map structure information storage unit 109 described above with reference to FIG. (2a) Source frame before map transition Target frame before map transition
  • step S423 the map structure analysis unit 107 outputs to the map generation unit 106 an instruction to save the created map before moving to the elevator.
  • the robot 10 creates a map of the 1st floor (1F), gets into the elevator from the 1st floor (1F), and starts moving in the elevator, the map structure analysis unit 107, in step S423, An instruction to save the map of the first floor (1F) created before moving to the elevator is output to the generation unit 106 .
  • the map generation unit 106 stores the created map in the map information storage unit 108 according to the instruction from the map structure analysis unit 107 . For example, a map of the first floor (1F) created before moving by the elevator is stored in the map information storage unit 108 .
  • step S424 the map structure analysis unit 107 determines whether or not the elevator movement analysis unit 105 has input an elevator stop and movement floor notification. If it is determined that the notification has been input, the process proceeds to step S425.
  • Step S425) If the map structure analysis unit 107 determines in step S424 that the elevator movement analysis unit 105 has input the elevator stop and movement floor notification, the map structure analysis unit 107 executes the process of step S425.
  • the map structure analysis unit 107 stores the following in the map structure information storage unit 109 in step S425.
  • "(3) Movement amount data between map transition nodes” "floor before elevator movement ⁇ floor after elevator movement”
  • This map transition node-to-node movement amount data is recorded. This is the data recorded in the map structure information storage unit 109 previously described with reference to FIG.
  • step S426 the map structure analysis unit 107 notifies the map generation unit 106 of an instruction to create a new map on the floor after moving by the elevator.
  • the map generation unit 106 Upon receiving this notification from the map structure analysis unit 107, the map generation unit 106 starts creating a new map on the floor after the elevator has moved.
  • Step S427) the map structure analysis unit 107 acquires the elevator position in the created map after the elevator movement, and executes processing for recording it in the map structure information storage unit 109.
  • FIG. 1 the map structure information storage unit 109.
  • Map transition node information recorded in the map structure information storage unit 109 described above with reference to FIG. (2b) Source frame after map transition Target frame after map transition
  • the robot 10 creates a map of the 1st floor (1F), gets on the elevator from the 1st floor (1F), moves to the 2nd floor (2F) by the elevator, and creates a map of the 2nd floor (2F).
  • the above information (2b) becomes the following information.
  • Source frame after map transition 2F
  • Target frame after map transition EV_2F: (x, y, z, yaw)
  • the fourth embodiment analyzes communication data with the communication unit installed in the elevator boarding/alighting unit, detects elevator movement, and generates multiple maps and map structure information.
  • Example 5 Returning to the floor where the map has been created and updating the created map]
  • Example 5 an example of returning to the floor on which the map has already been created and updating the created map will be described.
  • FIG. 37(a) the robot 10 moves to the second floor (2F) by elevator after creating the map of the first floor (1F), and completes the creation of the map of the second floor (2F). state.
  • the robot 10 creates two floor-by-floor maps in accordance with the processing of the first embodiment described above, stores the created maps in the map information storage unit 108, and stores the map structure information in the map structure information storage unit 109. is stored in
  • the robot 10 uses the elevator to return from the second floor (2F) to the first floor (1F). Furthermore, as shown in FIG. 37(c), the robot 10 moves on the first floor (1F) and creates a map of the first floor (1F) again.
  • the fifth embodiment is a process that is applied when the robot 10 creates a map again for an area in which a map that has already been created exists.
  • the robot 10 when the robot 10 creates a map again for an area where a created map already exists, the robot 10 acquires the created 1F map_V1 with the position information of the map switching position as the initial position. Then, the 1F map_V2 is generated by the process of updating the acquired map.
  • either the 1F map_V1 or the 2F map_V1 may be used for updating.
  • FIG. 38 is a block diagram showing a configuration example of the information processing apparatus 150 of the fifth embodiment.
  • This information processing device 150 is mounted inside the robot 10 that creates a map.
  • a part of the configuration other than the sensors and the like may be set in a device capable of communicating with the robot 10, such as a server.
  • the information processing device 150 includes an air pressure sensor 101, an IMU (inertial measurement unit) 102, a wheel encoder 103, a LiDAR 104, an elevator movement analysis unit 105, a map generation unit 106, a map structure analysis unit 107, map information It has a storage unit 108 and a map structure information storage unit 109 . These have the same configuration as the information processing apparatus 100 of the first embodiment described above with reference to FIG.
  • a difference from the first embodiment is notification data 151 that the map structure analysis unit 107 outputs to the map generation unit 106 .
  • the map structure analysis unit 107 instructs the map generation unit 106 to (a) map storage instructions; (b) new map creation instructions; In addition to these instructions, (c) Initial position at the start of new map creation and instruction to read created map These notifications are executed. The above (c) is used when performing the map update process described with reference to FIG.
  • FIG. 39 is a flowchart for explaining the processing sequence executed by the elevator movement analysis unit 105 of the information processing apparatus 150 of the fifth embodiment shown in FIG.
  • the processing according to the flow described below is executed in accordance with a program stored in the storage unit of an information processing device in a mobile object such as a robot or an information processing device capable of communicating with a mobile object such as a robot. It is possible to For example, it can be performed as program execution processing by a processor such as a CPU having a program execution function. Processing in each step of the flow shown in FIG. 39 will be described below.
  • Step S501 First, in step S501, the elevator movement analysis unit 105 receives an IMU detection value, such as the acceleration of the robot, from the IMU (inertial measurement unit) 102 .
  • an IMU detection value such as the acceleration of the robot
  • Step S502 the elevator movement analysis unit 105 analyzes the acceleration input from the IMU (inertial measurement unit) 102 and determines whether vertical acceleration has been detected. If acceleration in the vertical direction is detected, the process proceeds to step S503. If not detected, the process returns to step S501 to repeat the processes from step S501 onward.
  • IMU intial measurement unit
  • Step S503 When vertical acceleration is detected in step S502, the elevator movement analysis unit 105 notifies the map structure analysis unit 107 of detection of robot movement by the elevator in step S503.
  • step S504 the elevator movement analysis unit 105 receives atmospheric pressure information from the atmospheric pressure sensor 101 and analyzes the inputted atmospheric pressure information.
  • step S505 the elevator movement analysis unit 105 determines whether movement between floors has been detected as an analysis result of the atmospheric pressure information input from the atmospheric pressure sensor 101.
  • This hierarchical movement determination process is a determination process based on whether or not the phenomenon described above with reference to FIG. 14 is detected. That is, the determination is made according to whether or not a disturbance of the initial atmospheric change that occurs according to the density of the space through which the elevator passes has been detected. If the disturbance of the first atmospheric change occurs, it is determined that the movement between floors has been performed.
  • step S506 the elevator movement analysis unit 105 notifies the map structure analysis unit 107 of the analysis information in step S505, that is, detection information of floor movement obtained from the analysis result of the atmospheric pressure information input from the atmospheric pressure sensor 101. do.
  • Step S507 the elevator movement analysis unit 105 receives an IMU detection value, such as the acceleration of the robot, from the IMU (inertial measurement unit) 102 .
  • step S508 the elevator movement analysis unit 105 analyzes the acceleration input from the IMU (inertial measurement unit) 102 and determines whether deceleration in the vertical direction has been detected. If vertical deceleration is detected, the process proceeds to step S509. If not detected, the process returns to step S507 and repeats the processing of step S507.
  • IMU intial measurement unit
  • Step S509 When the deceleration of the speed in the vertical direction is detected in step S508, the elevator movement analysis unit 105 notifies the map structure analysis unit 107 that the elevator has stopped moving the robot in step S509.
  • the map structure analysis unit 107 successively inputs information such as the start of elevator movement of the robot, floor movement, movement stop, etc., from the elevator movement analysis unit 105 .
  • information such as the start of elevator movement of the robot, floor movement, movement stop, etc.
  • the map structure analysis unit 107 for inputting these pieces of information will be described with reference to the flowchart shown in FIG. Processing after step S521 in the flow shown in FIG. 40 will be described in order.
  • Step S521 First, in step S521, the map structure analysis unit 107 determines whether or not an elevator movement detection notification has been input from the elevator movement analysis unit 105.
  • FIG. 1 the map structure analysis unit 107 determines whether or not an elevator movement detection notification has been input from the elevator movement analysis unit 105.
  • step S503 This is the notification input confirmation process in step S503 of the flow shown in FIG. If it is determined in step S521 that an elevator movement detection notification from the elevator movement analysis unit 105 has been input, the process proceeds to step S522.
  • Step S522 If the map structure analysis unit 107 determines in step S521 that an elevator movement detection notification has been received from the elevator movement analysis unit 105, the map structure analysis unit 107 executes the process of step S522.
  • map structure analysis unit 107 acquires the elevator position on the created map before the elevator movement, and executes a process of recording it in the map structure information storage unit 109 .
  • This information corresponds to the following information in "(2) Map transition node information" recorded in the map structure information storage unit 109 described above with reference to FIG. (2a) Source frame before map transition Target frame before map transition
  • step S523 the map structure analysis unit 107 outputs to the map generation unit 106 an instruction to save the created map before moving to the elevator.
  • the robot 10 creates a map of the 1st floor (1F), gets into the elevator from the 1st floor (1F), and starts moving in the elevator, the map structure analysis unit 107, in step S523, An instruction to save the map of the first floor (1F) created before moving to the elevator is output to the generation unit 106 .
  • the map generation unit 106 stores the created map in the map information storage unit 108 according to the instruction from the map structure analysis unit 107 . For example, a map of the first floor (1F) created before moving by the elevator is stored in the map information storage unit 108 .
  • Step S524 the map structure analysis unit 107 determines whether or not a floor movement notification by elevator has been input from the elevator movement analysis unit 105.
  • step S506 This is the notification input confirmation process in step S506 of the flow shown in FIG. If it is determined in step S524 that an elevator floor movement detection notification has been input from the elevator movement analysis unit 105, the process proceeds to step S525.
  • Step S525) If the map structure analysis unit 107 determines in step S524 that the floor movement detection notification by the elevator has been input from the elevator movement analysis unit 105, the map structure analysis unit 107 executes the process of step S525.
  • the map structure analysis unit 107 counts the number of floor movement detection notifications from the elevator movement analysis unit 105 in step S525 to determine the number of floors moved.
  • the number of floor movement detection notifications from the elevator movement analysis unit 105 is one, it is determined that the robot has moved one floor by the elevator. If the number of floor movement detection notifications from the elevator movement analysis unit 105 is two, it is determined that the robot has moved two floors by the elevator.
  • step S526 the map structure analysis unit 107 determines whether an elevator stop detection notification has been input from the elevator movement analysis unit 105 or not. If it is determined that the elevator stop detection notification has been input, the process proceeds to step S527. If the elevator stop detection notification has not been input, the process of step S525 is continued.
  • Step S527) If it is determined in step S526 that the map structure analysis unit 107 has received an elevator stop detection notification from the elevator movement analysis unit 105, the process of step S527 is executed.
  • the map structure analysis unit 107 stores the following information in the map structure information storage unit 109 in step S527.
  • "(3) Movement amount data between map transition nodes” "floor before elevator movement ⁇ floor after elevator movement”
  • This map transition node-to-node movement amount data is recorded. This is the data recorded in the map structure information storage unit 109 previously described with reference to FIG.
  • step S528 the map structure analysis unit 107 determines whether the floor on which the elevator has stopped is a new floor without a created map.
  • This determination process is executed by referring to the stored map data of the map information storage unit 108 and the stored data of the map structure information storage unit 109.
  • Step S529) If it is determined in step S528 that the floor on which the elevator has stopped is a new floor without a created map, the process proceeds to step S529.
  • step S529 the map structure analysis unit 107 notifies the map generation unit 106 of an instruction to create a new map on the floor after the elevator has moved.
  • the map generation unit 106 Upon receiving this notification from the map structure analysis unit 107, the map generation unit 106 starts creating a new map on the floor after the elevator has moved.
  • Step S530 the map structure analysis unit 107 acquires the elevator position in the created map after the elevator movement, and executes processing for recording it in the map structure information storage unit 109.
  • Map transition node information recorded in the map structure information storage unit 109 described above with reference to FIG. (2b) Source frame after map transition Target frame after map transition
  • the robot 10 creates a map of the 1st floor (1F), gets on the elevator from the 1st floor (1F), moves to the 2nd floor (2F) by the elevator, and creates a map of the 2nd floor (2F).
  • the above information (2b) becomes the following information.
  • Source frame after map transition 2F
  • Target frame after map transition EV_2F: (x, y, z, yaw)
  • Step S531 On the other hand, if it is determined in step S528 that the floor on which the elevator has stopped is the floor on which the created map exists, the process proceeds to step S531.
  • step S531 the map structure analysis unit 107 notifies the map generation unit 106 of the initial position and instructs it to update the created map.
  • the map generation unit 106 acquires the created map stored in the map information storage unit 108 in response to the input of this instruction, and performs update processing using the acquired created map.
  • either one of the 1F map_V1 and the 2F map_V1 may be used for updating.
  • Example 6 Regarding an embodiment in which the generated map is switched according to the inclination angle of the robot running surface
  • FIG. 41 shows an example of a running surface on which the robot 10 creates a map while running.
  • the running surface shown in FIG. 41 is a substantially horizontal surface from x1 to x2, and an inclined surface from x2 to x3, that is, a slope having an inclination angle. Furthermore, x3 to x4 are substantially horizontal planes.
  • the map to be generated is switched at the point where the inclination angle of the running surface is changed in this way.
  • the robot 10 generates the following three maps. (1) Horizontal map 1 from x1 to x2 (2) Map 2 for slopes from x2 to x3 (3) Horizontal map 3 from x3 to x4 Robot 10 generates these three maps.
  • the robot 10 When the generated map is switched, the robot 10 records map structure information indicating the relationship between the maps before and after switching in the map structure information storage unit.
  • map structure information An example of the map structure information that the robot 10 records in the map structure information storage unit will be described with reference to FIGS. 42 and 43.
  • FIG. 42 and 43 An example of the map structure information that the robot 10 records in the map structure information storage unit will be described with reference to FIGS. 42 and 43.
  • the robot 10 (p) complete generation of map 1 corresponding to horizontal planes from x1 to x2; (q) start generating map 2 corresponding to slopes from x2 to x3;
  • the map structure information A records the following information in the same manner as described above with reference to FIG. (1) Map transition node attributes (2) Map transition node information (3) Movement amount data between map transition nodes
  • Map transition node attribute is a field for recording attributes related to nodes before and after switching of a generated map (environmental map).
  • Rotation amount), and a roll corresponding to the rotation amount around the axis (X-axis) in the traveling direction of the robot are also recorded.
  • the movement amount data between map transition nodes is the amount of movement between two map transition nodes, that is, the map transition node 1e of map 1, the map transition node 2s of map 2, and the movement between these two map transition nodes. Quantitative data are recorded.
  • the amount of movement is recorded for each element of (x, y, z, roll, pitch, yaw). i.e. Movement amount in x direction (rel_x) Movement amount in y direction (rel_y) Movement amount in z direction (rel_z) Movement amount of roll angle (rel_roll) Movement amount of pitch angle (rel_pitch) Movement amount of yaw angle (rel_yaw) These element-by-element movement amounts are recorded.
  • the pitch of the map transition node 1e of the map 1 is 0deg
  • the pitch of the map transition node 2s of the map 2 is 30deg.
  • rel_pitch the amount of movement of the pitch angle
  • the robot 10 (r) completing the generation of map 2 corresponding to slopes from x2 to x3; (s) start generating map 3 corresponding to horizontal planes from x3 to x4;
  • An example of the map structure information B recorded in the map structure information storage unit 109 is shown.
  • Map transition node attributes (2) Map transition node information (3) Movement amount data between map transition nodes
  • Map transition node attribute is a field for recording attributes related to nodes before and after switching of a generated map (environmental map).
  • a source frame (map 2 or map 3), which is the acquisition destination information of the map data (actual map data);
  • Node information (x, y, z, roll, pitch, yaw) consisting of the position (x, y, z) of each node and the amount of rotation (roll, pitch, yaw) around three axes (XYZ axes)
  • the map transition node 2e of the map 2 is on an inclined surface.
  • the inclination is 30 degrees
  • the movement amount data between map transition nodes is the amount of movement between two map transition nodes, that is, the map transition node 2e of map 2, the map transition node 3s of map 3, and the movement between these two map transition nodes. Quantitative data are recorded.
  • the pitch of the map transition node 2e of the map 2 is 30deg, and the pitch of the map transition node 3s of the map 3 is 0deg.
  • FIG. 44 is a block diagram showing a configuration example of the information processing device 160 of the sixth embodiment.
  • This information processing device 160 is mounted inside the robot 10 that creates a map.
  • a part of the configuration other than the sensors and the like may be set in a device capable of communicating with the robot 10, such as a server.
  • the information processing device 160 includes an IMU (inertial measurement unit) 102, a wheel encoder 103, a LiDAR 104, an inclination analysis unit 161, a map generation unit 106, a map structure analysis unit 107, a map information storage unit 108, It has a map structure information storage unit 109 .
  • IMU intial measurement unit
  • Components other than the tilt angle analysis unit 161 that is, an IMU (inertial measurement unit) 102, a wheel encoder 103, a LiDAR 104, an elevator movement analysis unit 105, a map generation unit 106, a map structure analysis unit 107, a map information storage unit 108, and a map
  • the structural information storage unit 109 has the same configuration as the information processing apparatus 100 of the first embodiment described above with reference to FIG.
  • the IMU (inertial measurement unit) 102 detects the acceleration and angular velocity of the robot 10 and outputs the detected values of acceleration and angular velocity 112 to the tilt angle analysis unit 161 and the map generation unit 106 .
  • the tilt angle analysis unit 161 detects the tilt of the robot 10, that is, the tilt angle of the robot running surface, based on the acceleration and angular velocity 112 input from the IMU (inertial measurement unit) 102 .
  • the tilt of the robot 10 detected by the tilt angle analysis unit 161 that is, the tilt angle change detection information indicating the tilt angle of the robot running surface and the tilt angle information 162 are output to the map structure analysis unit 107 .
  • the map structure analysis unit 107 uses the tilt angle change detection information and the tilt angle information 162 input from the tilt angle analysis unit 161 to generate the map structure information 119 indicating the relationship between the two maps, and stores the map structure information. Stored in unit 109 . That is, the map structure information 119 as described above with reference to FIGS. 42 and 43 is generated and stored in the map structure information storage unit 109.
  • FIG. 109 the map structure information 119 as described above with reference to FIGS. 42 and 43 is generated and stored in the map structure information storage unit 109.
  • Map transition node attribute (2) Map transition node information (3) Movement amount data between map transition nodes
  • map transition node information for each of the two map transition nodes, a source frame (map 1 or map 2), which is information on where to obtain map data (actual map data); Node information (x, y, z, roll, pitch, yaw) consisting of the position (x, y, z) of each node and the amount of rotation (roll, pitch, yaw) around three axes (XYZ axes) These data are recorded.
  • Movement amount data between map transition nodes records movement amount data between two map transition nodes. for example, Movement amount in x direction (rel_x) Movement amount in y direction (rel_y) Movement amount in z direction (rel_z) Movement amount of roll angle (rel_roll) Movement amount of pitch angle (rel_pitch) Movement amount of yaw angle (rel_yaw) These element-by-element movement amounts are recorded.
  • IMU detection values ie, robot acceleration and angular velocity information
  • IMU intial measurement unit
  • Step S603 If the amount of pitch change per unit time is equal to or greater than the threshold, the tilt angle analysis unit 161 causes the map structure analysis unit 107 to notify the map structure analysis unit 107 of tilt angle change detection information and tilt angle information in step S603. conduct.
  • Step S621 First, in step S ⁇ b>621 , the map structure analysis unit 107 determines whether or not notification of tilt angle change detection information and tilt angle information has been input from the tilt angle analysis unit 161 .
  • step S603 This is the notification input confirmation process in step S603 of the flow shown in FIG. If it is determined in step S621 that notification of tilt angle change detection information and tilt angle information has been input from the tilt angle analysis unit 161, the process proceeds to step S622.
  • Step S622 If the map structure analysis unit 107 determines in step S621 that the tilt angle change detection information and the tilt angle information from the tilt angle analysis unit 161 have been input, it executes the process of step S622.
  • the map structure analysis unit 107 acquires the position and inclination (pitch) of the map transition node, which is the final node (map creation end node) in the created map before the inclination angle change, and stores the information in the map structure information storage unit. 109 is executed.
  • This information corresponds to the following information in "(2) map transition node information" recorded in the map structure information storage unit 109 described above with reference to FIG. (2a) Source frame before map transition Target frame before map transition
  • the map structure analysis unit 107 determines the position and inclination (pitch) of the map transition node, which is the final node (map creation end node) in the created map before the inclination angle change, and furthermore, the created map after the inclination angle change. Acquire the position and inclination (pitch) of the map transition node, which is the map creation start node, in the map structure information storage unit 109, (3) Execute the process of recording the amount of movement between map transition nodes.
  • the amount of movement is recorded for each element of (x, y, z, roll, pitch, yaw). i.e. Movement amount in x direction (rel_x) Movement amount in y direction (rel_y) Movement amount in z direction (rel_z) Movement amount of roll angle (rel_roll) Movement amount of pitch angle (rel_pitch) Movement amount of yaw angle (rel_yaw)
  • movement amount in x direction (rel_x) Movement amount in y direction (rel_y) Movement amount in z direction (rel_z) Movement amount of roll angle (rel_roll) Movement amount of pitch angle (rel_pitch) Movement amount of yaw angle (rel_yaw)
  • step S623 the map structure analysis unit 107 outputs to the map generation unit 106 an instruction to store the created map before the inclination angle is changed.
  • the map generation unit 106 stores the created map in the map information storage unit 108 according to the instruction from the map structure analysis unit 107 .
  • the horizontal floor map 1 created before the inclination angle is changed is stored in the map information storage unit 108 .
  • Step S624 the map structure analysis unit 107 notifies the map generation unit 106 of an instruction to create a new map on the floor after the tilt angle has been changed.
  • the map generation unit 106 Upon receiving this notification from the map structure analysis unit 107, the map generation unit 106 starts creating a new map on the floor after the tilt angle has been changed.
  • step S625 the map structure analysis unit 107 acquires the position and inclination angle of the map transition node, which is the map creation start node in the created map after the inclination angle change, and records them in the map structure information storage unit 109. to run.
  • This information corresponds to the following information in "(2) map transition node information" recorded in the map structure information storage unit 109 described above with reference to FIG. (2b) Source frame after map transition Target frame after map transition
  • the sixth embodiment is an embodiment in which the generated map is switched according to the inclination angle of the robot's running surface. Not only the position of the map transition node to be switched but also the pitch corresponding to the inclination angle of the map transition node are recorded. Furthermore, it is configured to record the tilt angle change amount (rel
  • Example 7 Regarding an embodiment in which the generated map is switched according to the availability of GPS signals.
  • FIG. 48 shows an example of a running surface on which the robot 10 creates a map while running.
  • the robot 10 runs in the section x1 to x2 inside the building. In the building, it is difficult to receive the transmission signal from the GPS satellite 40, and the vehicle runs without using the GPS position information.
  • the robot 10 leaves the building at x2 and travels in the section from x2 to x3.
  • the section from x2 to x3 is outdoors, and the transmission signal from the GPS satellite 40 can be received. Therefore, the robot 10 runs using the GPS position information in this outdoor section x2-x3.
  • the robot 10 After that, the robot 10 re-enters another building at x3 and travels within the building from x3 to x4. It is difficult to receive the transmission signal from the GPS satellite 40 in this section from x3 to x4. Therefore, the robot 10 runs without using the GPS position information in this intra-building section x3-x4.
  • the map to be generated is switched at the point where the availability of GPS position information is changed as described above.
  • the robot 10 generates the following three maps. (1) Map 1 of GPS location information unusable section (GPS signal strength low section) from section x1 to x2 (2) Map 2 of the section x2 to x3 where GPS location information can be used (high GPS signal strength section) (3) Map 3 of GPS location information unusable section (GPS signal strength low section) from section x3 to x4 Robot 10 generates these three maps.
  • the robot 10 When the generated map is switched in this way, the robot 10 records the GPS position information in the map structure information storage unit 109 if the GPS position information is available in the map structure information storage unit.
  • FIG. 50 shows a robot travel route similar to FIGS. 48 and 49.
  • Map 1 of GPS location information unusable section (GPS signal strength low section) from section x1 to x2 (2) Map 2 of the section x2 to x3 where GPS location information can be used (high GPS signal strength section) (3) Map 3 of GPS location information unusable section (GPS signal strength low section) from section x3 to x4 Robot 10 generates these three maps.
  • the robot 10 When executing such map creation processing, the robot 10 stores the GPS position information in the map structure information storage unit 109 if the GPS position information is available at the timing of switching the created map from map 1 to map 2, for example. Record.
  • map transition node 1e which is the final node (map creation end node) of map 1 shown in FIG.
  • the GPS position information is recorded in the map structure information storage unit 109 for the map transition node 2s, which is the map creation start node of the map 2, which is the GPS position information usable section.
  • the movement from the map transition node 2e, which is the final node (map creation end node) of the map 2 shown in FIG. Switching from the section to the unavailable section occurs.
  • the GPS position information is recorded in the map structure information storage unit 109 for the map transition node 2e, which is the final node (map creation end node) of the map 2, which is the GPS position information usable section.
  • the GPS position information is recorded in the map structure information storage unit 109 as node information.
  • FIG. 51 is a block diagram showing a configuration example of the information processing device 170 of the seventh embodiment.
  • This information processing device 170 is mounted inside the robot 10 that creates a map.
  • a part of the configuration other than the sensors and the like may be set in a device capable of communicating with the robot 10, such as a server.
  • the information processing device 170 includes a GPS signal receiving unit 171, a magnetic sensor 172, a GPS switching determination unit 173, an IMU (inertial measurement unit) 102, a wheel encoder 103, a LiDAR 104, a map generation unit 106, a map structure It has an analysis unit 107 , a map information storage unit 108 , and a map structure information storage unit 109 .
  • Components other than the GPS signal reception unit 171, the magnetic sensor 172, and the GPS switching determination unit 173, namely, the IMU (inertial measurement unit) 102, the wheel encoder 103, the LiDAR 104, the map generation unit 106, the map structure analysis unit 107, and the map information storage A unit 108 and a map structure information storage unit 109 have the same configuration as the information processing apparatus 100 of the first embodiment described above with reference to FIG.
  • a GPS signal 175 received by the GPS signal receiver 171 and posture information 176 indicating the posture of the robot, which is detected by the magnetic sensor 172 , are input to the GPS switching determination unit 173 .
  • the GPS switching determination unit 173 uses a GPS reception signal 175 input from the GPS signal reception unit 171 and attitude information 176 indicating the attitude of the robot input from the magnetic sensor 172 to perform self-position estimation using GPS position information and autonomous robot movement. Determine whether or not to run.
  • a mode in which self-position estimation and autonomous travel are performed using GPS position information is referred to as "outdoor mode", and a mode in which self-position estimation and autonomous travel are not performed using GPS position information is referred to as “indoor mode”.
  • indoor mode in which self-position estimation using GPS position information and autonomous driving are not performed, self-position estimation and autonomous driving are performed based only on SLAM processing.
  • the GPS switching determination unit 173 uses a GPS reception signal 175 input from the GPS signal reception unit 171 and attitude information 176 indicating the attitude of the robot input from the magnetic sensor 172 to perform self-position estimation using GPS position information and autonomous robot movement. It is determined whether or not to run, and the mode is determined according to the determination result.
  • the GPS switching determination unit 173 outputs a mode switching instruction and GPS position information according to the determined mode information to the map generation unit 106 and the map structure analysis unit 107 . This is the “mode switching instruction & GPS position information 177” shown in FIG.
  • the map generation unit 106 refers to the “mode switching instruction & GPS position information 177 ” input from the GPS switching determination unit 173 to switch the mode. That is, mode switching is performed between an “outdoor mode” in which self-position estimation and autonomous driving are performed using GPS position information, and an “indoor mode” in which self-position estimation and autonomous driving are not performed using GPS position information.
  • the map structure analysis unit 107 refers to the "mode switching instruction & GPS position information 177" input from the GPS switching determination unit 173, and generates and records data to be recorded in the map structure information storage unit 109.
  • FIG. 52 An example of map structure information recorded by the robot 10 in the map structure information storage unit will be described with reference to FIGS. 52 and 53.
  • FIG. 52 An example of map structure information recorded by the robot 10 in the map structure information storage unit will be described with reference to FIGS. 52 and 53.
  • the robot 10 (1) complete the generation of the map 1 of the GPS position information unusable section (GPS signal strength low section) of the section x1 to x2, (2) Start generating map 2 for the GPS location information available section (GPS signal strength high section) of section x2 to x3, An example of the map structure information recorded in the map structure information storage unit 109 is shown.
  • map structure information As for the map structure information, the following information is recorded in the same manner as described with reference to FIG. (1) Map transition node attributes (2) Map transition node information (3) Movement amount data between map transition nodes
  • Map transition node attribute is a field for recording attributes related to nodes before and after switching of a generated map (environmental map).
  • the target frame after map transition 2 s is a node for which GPS location information is available, so GPS location information is recorded.
  • the movement amount data between map transition nodes is the amount of movement between two map transition nodes, that is, the map transition node 1e of map 1, the map transition node 2s of map 2, and the movement between these two map transition nodes. Quantitative data are recorded.
  • the amount of movement is recorded for each element of (x, y, z, yaw). i.e. Movement amount in x direction (rel_x) Movement amount in y direction (rel_y) Movement amount in z direction (rel_z) Movement amount of yaw angle (rel_yaw) These element-by-element movement amounts are recorded.
  • the robot 10 (1) complete the generation of the map 2 of the GPS position information available section (GPS signal strength high section) of the section x2 to x3, (2) Start generating map 3 for the section x3 to x4 where GPS location information is not available (low GPS signal strength section), An example of the map structure information recorded in the map structure information storage unit 109 is shown.
  • map structure information As for the map structure information, the following information is recorded in the same manner as described with reference to FIG. (1) Map transition node attributes (2) Map transition node information (3) Movement amount data between map transition nodes
  • Map transition node attribute is a field for recording attributes related to nodes before and after switching of a generated map (environmental map).
  • the movement amount data between map transition nodes is the amount of movement between two map transition nodes, that is, the map transition node 2e of map 2, the map transition node 3s of map 3, and the movement between these two map transition nodes. Quantitative data are recorded.
  • the amount of movement is recorded for each element of (x, y, z, yaw). i.e. Movement amount in x direction (rel_x) Movement amount in y direction (rel_y) Movement amount in z direction (rel_z) Movement amount of yaw angle (rel_yaw) These element-by-element movement amounts are recorded.
  • Step S701 the GPS switching determination unit 173 analyzes the strength of the GPS signal received by the GPS signal reception unit 171 in step S701.
  • Step S702 the GPS switching determination section 173 determines whether or not the strength of the GPS signal received by the GPS signal reception section 171 is equal to or greater than a predetermined specified threshold.
  • step S703 If the GPS signal strength is greater than or equal to the specified threshold, the process proceeds to step S704.
  • Step S703 If the GPS signal strength is greater than or equal to the specified threshold, the GPS switching determination section 173 executes the following process in step S703.
  • the GPS switching determination unit 173 transmits the GPS position information based on the "outdoor mode" setting request signal for self-position estimation and autonomous driving using the GPS position information and the received signal from the GPS satellite to the map generation unit 106 and the map. Output to the structural analysis unit 107 .
  • Step S704 On the other hand, when the GPS signal strength is not equal to or greater than the specified threshold value, the GPS switching determination section 173 executes the following process in step S704.
  • GPS switching determination section 173 outputs to map generation section 106 and map structure analysis section 107 an “indoor mode” setting request signal in which self-position estimation using GPS position information and autonomous driving are not performed. At the same time, the output of the GPS positional information based on the signals received from the GPS satellites to the map generation unit 106 and the map structure analysis unit 107 is stopped.
  • Step S721 First, in step S721, the map structure analysis unit 107 determines whether or not the GPS switching determination unit 173 has input a “setting change request from indoor mode to outdoor mode”. If so, the process from step S722 onwards is executed.
  • Step S722 If the map structure analysis unit 107 determines in step S721 that the GPS switching determination unit 173 has input a "request to change the setting from the indoor mode to the outdoor mode", the map structure analysis unit 107 executes the process of step S722.
  • the map structure analysis unit 107 acquires the position of the map transition node, which is the final node (map creation end node) of the created map in the GPS disabled state before the map transition, and records it in the map structure information storage unit 109. Execute the process.
  • This information corresponds to the following information in "(2) map transition node information" recorded in the map structure information storage unit 109 described above with reference to FIG. (2a)
  • Source frame before map transition map 1 (GPS signal unavailable)
  • Target frame before map transition 1e: (x, y, z, yaw)
  • step S723 the map structure analysis unit 107 outputs to the map generation unit 106 an instruction to store the created map before the map transition.
  • the map generation unit 106 stores the created map in the map information storage unit 108 according to the instruction from the map structure analysis unit 107 .
  • the map 1 created in the GPS unavailable state is stored in the map information storage unit 108 .
  • step S724 the map structure analysis unit 107 notifies the map generation unit 106 of an instruction to create a new map under the GPS enabled state.
  • the map generation unit 106 Upon receiving this notification from the map structure analysis unit 107, the map generation unit 106 starts creating a new map in the GPS enabled state.
  • step S725 the map structure analysis unit 107 acquires the position of the map transition node, which is the map creation start node in the created map in the GPS enabled state, and executes processing for recording it in the map structure information storage unit 109. . GPS position information is also recorded.
  • map transition node information recorded in the map structure information storage unit 109 described above with reference to FIG. (2b)
  • Source frame map 2 after map transition GPS signal available
  • Target frame before map transition 2s: (x, y, z, yaw) & node 2s (latitude, longitude)
  • the map structure analysis unit 107 determines the amount of movement between nodes before and after the map transition, that is, the position of the map transition node, which is the final node (map creation end node) in the created map in the GPS unavailable state, and the orientation (yaw direction) of the robot. ) and the position of the map transition node, which is the map creation start node in the created map in the GPS enabled state, and the orientation (yaw) of the robot are acquired, and stored in the map structure information storage unit 109, (3) Execute the process of recording as the amount of movement between map transition nodes.
  • the amount of movement is recorded for each element of (x, y, z, yaw). i.e. Movement amount in x direction (rel_x) Movement amount in y direction (rel_y) Movement amount in z direction (rel_z) Movement amount of yaw angle (rel_yaw) These element-by-element movement amounts are recorded.
  • Step S741 First, in step S ⁇ b>741 , the map structure analysis unit 107 determines whether or not a “request for setting change from outdoor mode to indoor mode” has been input from the GPS switching determination unit 173 . If so, the process from step S742 onwards is executed.
  • Step S742 If the map structure analysis unit 107 determines in step S741 that the GPS switching determination unit 173 has input a "request to change the setting from the outdoor mode to the indoor mode", the map structure analysis unit 107 executes the process of step S742.
  • the map structure analysis unit 107 acquires the position of the map transition node, which is the final node (map creation end node) of the created map in the GPS enabled state before the map transition, and records it in the map structure information storage unit 109. Execute the process. GPS position information is also recorded.
  • map transition node information recorded in the map structure information storage unit 109 described above with reference to FIG. (2a)
  • Source frame before map transition map 2 (GPS signal available)
  • Target frame before map transition 2e: (x, y, z, yaw) & node 2e (latitude, longitude)
  • step S743 the map structure analysis unit 107 outputs to the map generation unit 106 an instruction to store the created map before the map transition.
  • the map generation unit 106 stores the created map in the map information storage unit 108 according to the instruction from the map structure analysis unit 107 .
  • the map 2 created in the GPS usable state is stored in the map information storage unit 108 .
  • step S744 the map structure analysis unit 107 notifies the map generation unit 106 of an instruction to create a new map under the GPS unavailable state.
  • the map generation unit 106 Upon receiving this notification from the map structure analysis unit 107, the map generation unit 106 starts creating a new map in the GPS disabled state.
  • step S745 the map structure analysis unit 107 acquires the position of the map transition node, which is the map creation start node in the map created in the GPS disabled state, and executes processing for recording it in the map structure information storage unit 109. . Note that the GPS position information cannot be obtained and is therefore not recorded.
  • This information corresponds to the following information in "(2) map transition node information" recorded in the map structure information storage unit 109 described above with reference to FIG. (2b)
  • Source frame map 3 after map transition GPS signal available
  • Target frame before map transition 3s: (x, y, z, yaw)
  • the map structure analysis unit 107 determines the amount of movement between nodes before and after the map transition, that is, the position of the map transition node, which is the final node (map creation end node) in the created map in the GPS enabled state, and the orientation (yaw) of the robot. and the difference between the position of the map transition node, which is the map creation start node, and the direction (yaw) of the robot in the created map in the GPS unavailable state, and store it in the map structure information storage unit 109, (3) Execute the process of recording as the amount of movement between map transition nodes.
  • the amount of movement is recorded for each element of (x, y, z, yaw). i.e. Movement amount in x direction (rel_x) Movement amount in y direction (rel_y) Movement amount in z direction (rel_z) Movement amount of yaw angle (rel_yaw) These element-by-element movement amounts are recorded.
  • the map to be generated is switched at a point where the availability of GPS location information is changed. Furthermore, when GPS position information is available, the GPS position information is also recorded as information indicating node positions in the map information storage unit and the map structure information storage unit.
  • the information processing device that performs the above-described processing was described as being installed in a robot that performs environment map creation processing such as SLAM processing.
  • the processing device may be configured to be installed in a server or the like that can communicate with the robot.
  • sensors for acquiring information around the robot are attached to the robot, the sensor acquisition information is transmitted to the server via the communication network, and the server performs processing using the sensor acquisition information according to the above-described embodiment. may be configured.
  • an information processing system 200 in which the robot 10 and the robot management server 210 are connected via a communication network.
  • the robot 10 transmits sensor acquisition information to the robot management server 210 .
  • the robot management server 210 uses sensor acquisition information received from the robot 10 to perform data processing according to the above-described embodiments.
  • a configuration using such an information processing system 200 may be employed.
  • the sensors of the robot 10 include the atmospheric pressure sensor 101, the IMU (inertial measurement unit) 102, the wheel encoder 103, the LiDAR 104, the camera 121, the communication unit 141, the GPS signal receiving unit 171, and the magnetic sensor 172 described in each embodiment. included.
  • the UI unit 131 the one attached to the robot 10 may be used, or a user terminal other than the robot, such as a smartphone, may be used. It is preferable that the user terminal, the robot 10, and the robot management server 210 are set to be able to communicate with each other.
  • the information processing device is installed inside the robot 10 .
  • it may be configured in the server as described above.
  • a CPU (Central Processing Unit) 301 functions as a data processing section that executes various processes according to programs stored in a ROM (Read Only Memory) 302 or a storage section 308 . For example, the process according to the sequence described in the above embodiment is executed.
  • a RAM (Random Access Memory) 303 stores programs and data executed by the CPU 301 . These CPU 301 , ROM 302 and RAM 303 are interconnected by a bus 304 .
  • the CPU 301 is connected to an input/output interface 305 via a bus 304.
  • the input/output interface 305 includes various switches, a keyboard, a touch panel, a mouse, a microphone, and status data of various sensors 321 such as a user input unit, a camera, and LiDAR GPS.
  • An input unit 306 such as an acquisition unit and an output unit 307 such as a display and a speaker are connected.
  • the output unit 307 also outputs driving information to the driving unit 322 of the mobile device (robot).
  • the CPU 301 receives commands, situation data, and the like input from the input unit 306 , executes various processes, and outputs processing results to the output unit 307 , for example.
  • a storage unit 308 connected to the input/output interface 305 includes, for example, a hard disk, and stores programs executed by the CPU 301 and various data.
  • a communication unit 309 functions as a transmission/reception unit for data communication via a network such as the Internet or a local area network, and communicates with an external device.
  • a GPU Graphics Processing Unit
  • a drive 310 connected to the input/output interface 305 drives a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card to record or read data.
  • a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card to record or read data.
  • the technique disclosed in this specification can take the following configurations.
  • a map generation unit that generates a map using sensor acquisition information from a sensor attached to a mobile object; a map structure analysis unit that generates map structure information indicating relationships between the plurality of maps generated by the map generation unit; The map structure analysis unit When the map generating unit finishes generating the first map and generates a new second map, The node position of the first map transition node that is the map creation end node of the first map, the node position of the second map transition node that is the map creation start node of the second map, and the node position of these two map transition nodes as map transition node information in a map structure information storage unit.
  • the map generating unit The generated map is stored in the map information storage unit, and node position information used for map generation is recorded in the map information storage unit,
  • the node positions of the two map transition nodes recorded in the map structure information storage unit by the map structure analysis unit are data at the same positions as the node positions recorded in the map information storage unit by the map generation unit.
  • the map structure analysis unit When performing processing for recording the node positions of the two map transition nodes as map transition node information in the map structure information storage unit, The information processing apparatus according to (1) or (2), wherein the map generation unit is instructed to store the first map in the map information storage unit and to start generating the second map.
  • the map structure analysis unit Further, as the map transition node information, (1) recording yaw angle information indicating the direction of the moving object at the first map transition node and yaw angle information indicating the direction of the moving object at the second map transition node in the map structure information storage unit; (3) The information processing device according to any one of the above.
  • the map structure analysis unit any one of (1) to (5) of recording, in the map structure information storage unit, a map transition node attribute indicating that an elevator has been moved between the first map transition node and the second map transition node; The information processing device described.
  • the map structure analysis unit Information according to any one of (1) to (6), wherein a map transition node attribute indicating that the first map transition node and the second map transition node have different running surface inclinations is recorded in the map structure information storage unit. processing equipment.
  • the map structure analysis unit The method according to any one of (1) to (7), wherein a map transition node attribute indicating that the first map transition node and the second map transition node have different GPS availability states is recorded in the map structure information storage unit.
  • Information processing equipment Information processing equipment.
  • the map structure analysis unit The information processing apparatus according to any one of (1) to (8), wherein the amount of movement of the moving object between the first map transition node and the second map transition node is recorded in the map structure information storage unit.
  • the map structure analysis unit As the amount of movement of the moving body between the first map transition node and the second map transition node, inter-node change data corresponding to the xyz axes of the moving body, or changes in orientation and inclination of the moving body.
  • the information processing apparatus according to any one of (1) to (9), wherein at least one of the inter-node angle change data shown and the data is recorded in the map structure information storage unit.
  • the information processing device further includes: having an elevator movement analysis unit, The elevator movement analysis unit Analyzing whether or not the moving body has boarded the elevator based on the sensor acquisition information of the sensor attached to the moving body, and notifying the map structure analysis unit of the analysis result according to any one of (1) to (10). information processing equipment.
  • the map structure analysis unit When analysis information indicating that the moving object has entered the elevator is input from the elevator movement analysis unit, outputting an instruction to the map generation unit to store the generated map in the map information storage unit;
  • analysis information indicating that the elevator in which the moving object has boarded has stopped is input from the elevator movement analysis unit,
  • the information processing apparatus according to (11), which outputs an instruction to create a new map to the map generation unit.
  • the elevator movement analysis unit (11) or (12) analyzing the number of floors moved by the elevator boarded by the moving body based on the acquired information from the atmospheric pressure sensor attached to the moving body, and notifying the map structure analysis unit of the analysis result;
  • the information processing device according to .
  • the elevator movement analysis unit According to (11) or (12), analyzing the moving floor number of the elevator boarded by the moving object based on the photographed image of the camera, which is the sensor attached to the moving object, and notifying the map structure analysis unit of the analysis result. information processing equipment.
  • the elevator movement analysis unit The communication unit attached to the moving object inputs the received information received from the transmitting unit installed at the elevator doorway, analyzes the elevator getting on and off of the moving object and the number of elevator getting on and off floors, and uses the analysis result as the map structure analysis.
  • the information processing apparatus according to (11) or (12), which notifies the department.
  • the map structure analysis unit The information processing apparatus according to any one of (1) to (10), which analyzes user input information from a user observing the moving object and records an analysis result in the map structure information storage unit.
  • the information processing device further includes: having a tilt angle analysis unit, The tilt angle analysis unit When it is detected that the moving body has moved to a running surface with a different tilt angle based on the sensor-acquired information of the sensor attached to the moving body, the tilt angle change detection result including the tilt angle information is sent to the map structure analysis unit.
  • the information processing apparatus according to any one of (1) to (10), which notifies.
  • the information processing device further includes: Having a GPS switching determination unit, The GPS switching determination unit, Based on the signal received by the GPS signal receiving unit attached to the mobile object, it is determined whether or not to use the GPS position information for confirming the position of the mobile object, and a mode switching instruction and acquisition are performed according to the determination result.
  • the information processing apparatus according to any one of (1) to (10), which outputs the GPS position information thus obtained to the map structure analysis unit.
  • An information processing method executed in an information processing device a map generation step in which the map generation unit generates a map using sensor acquisition information from a sensor attached to the mobile object; a map structure information recording step in which the map structure analysis unit generates map structure information indicating the relationship between the plurality of maps generated by the map generation unit and records the map structure information in the map structure information storage unit;
  • the map structure analysis unit in the map structure information recording step, When the map generating unit finishes generating the first map and generates a new second map, The node position of the first map transition node that is the map creation end node of the first map, the node position of the second map transition node that is the map creation start node of the second map, and the node position of these two map transition nodes as map transition node information in the map structure information storage unit.
  • a program for executing information processing in an information processing device a map generation step of causing a map generation unit to generate a map using sensor acquisition information from a sensor attached to a mobile object; causing a map structure analysis unit to execute a map structure information recording step of generating map structure information indicating relationships between a plurality of maps generated by the map generation unit and recording the map structure information in a map structure information storage unit;
  • the program in the map structure information recording step that is executed by the map structure analysis unit, When the map generating unit finishes generating the first map and generates a new second map, The node position of the first map transition node that is the map creation end node of the first map, the node position of the second map transition node that is the map creation start node of the second map, and the node position of these two map transition nodes as map transition node information in the map structure information storage unit.
  • a program recording the processing sequence is installed in the memory of a computer built into dedicated hardware and executed, or the program is loaded into a general-purpose computer capable of executing various processing. It can be installed and run.
  • the program can be pre-recorded on a recording medium.
  • the program can be received via a network such as a LAN (Local Area Network) or the Internet and installed in a recording medium such as an internal hard disk.
  • a system is a logical collective configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same housing.
  • map generation unit that generates a map using sensor-obtained information from a sensor attached to a moving body, and map structure information that indicates the relationship between a plurality of maps generated by the map generation unit is generated. It has a map structure analysis part.
  • the map structure analysis unit determines the node position of the first map transition node, which is the map generation end node of the first map, and the first map transition node.
  • the node position of the second map transition node which is the map creation start node of the second map, is recorded in the map structure information storage unit as map transition node information.
  • the map generating unit is instructed to store the first map in the map information storage unit and to start generating the second map.
  • map information storage unit 40 map structure information storage unit 100 information processing device 101 atmospheric pressure sensor 102 IMU (inertial measurement unit) 103 wheel encoder 104 LiDAR 105 Elevator movement analysis unit 106 Map generation unit 107 Map structure analysis unit 108 Map information storage unit 109 Map structure information storage unit 121 Camera 131 UI unit 141 Communication unit 145 Data transmission unit 161 Inclination analysis unit 171 GPS signal reception unit 172 Magnetic sensor 173 GPS switching determination unit 200 information processing system 210 robot management server 301 CPU 302 ROMs 303 RAM 304 bus 305 input/output interface 306 input unit 307 output unit 308 storage unit 309 communication unit 310 drive 311 removable media 321 sensor 322 drive unit

Landscapes

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

Abstract

複数の地図の関係性を示す地図構造情報を生成して記録することで、複数の地図の関係性を明確にして複数地図を利用した自律移動を可能とする。移動体に装着したセンサのセンサ取得情報を利用して地図を生成する地図生成部と、地図生成部の生成する複数の地図の関係性を示す地図構造情報を生成する地図構造解析部を有する。地図構造解析部は、地図生成部が第1地図の生成を終了し、新たな第の地図を生成する場合、第1地図の地図作成終了ノードである第1地図遷移ノードのノード位置、および第2地図の地図作成開始ノードである第2地図遷移ノードのノード位置を地図遷移ノード情報として地図構造情報記憶部に記録する。併せて地図生成部に第1地図の地図情報記憶部への保存処理と、第2地図の生成開始を指示する。

Description

情報処理装置、および情報処理方法、並びにプログラム
 本開示は、情報処理装置、および情報処理方法、並びにプログラムに関する。さらに詳細には、ロボット等の移動体の走行に利用可能な地図の作成処理を行う情報処理装置、および情報処理方法、並びにプログラムに関する。
 ロボットや自動運転車両等の移動体が自律走行を行う場合、周囲状況を把握する地図情報や目的地情報が必要となる。
 ロボットや自動運転車両等の移動体が障害物にぶつかることなく安全に目的地まで走行を行うためには、障害物にぶつからない安全な走行ルートを選択可能とした地図情報が必要である。障害物等の位置を確認可能とした地図は例えば環境地図と呼ばれる。
 環境地図の作成処理や自己位置推定処理を行う代表的処理としてSLAM(simultaneous localization and mapping)が知られている。
 SLAMは、例えばカメラ等のセンサ取得情報、例えばロボット走行環境の撮影画像を用いて、自己位置推定処理(ローカリゼーション)と環境地図作成処理(mapping)を並行して実行する処理である。
 例えば、地図作成予定のフロアにカメラを装着したロボットを走行させて、ロボットのカメラ撮影画像に含まれる特徴点の軌跡を解析することで、特徴点の3次元位置を推定して、ロボット周囲のオブジェクト位置等を把握可能とした地図、いわゆる環境地図を作成(mapping)する。さらに、併せて自己位置(ロボット位置)も推定(ローカリゼーション)する。
 SLAM処理により、地図作成を行うロボットの移動した様々な位置におけるオブジェクト位置が解析され、例えば各位置のオブジェクト位置を統合することで1つのフロア単位の地図であるフロア対応の環境地図を作成することができる。
 このように、カメラ等のセンサ取得情報を用いて自己位置推定処理(ローカリゼーション)と環境地図作成処理(mapping)を並行して実行する処理がSLAMである。
 SLAMには、上記のカメラ撮影画像を用いるビジュアルSLAMに限らず、様々な手法がある。例えば、レーザ光による障害物までの距離を計測するセンサであるLiDAR(Light Detection and Ranging)を用いて行うLiDAR SLAM等がある。
 環境地図作成処理においては、例えば地図作成処理対象となるフロアを走行するロボットの初期位置を原点((x,y,z)=(0,0,0))とし、その後のロボットの移動に伴う様々な位置(x,y,z)におけるカメラ撮影画像から周囲のオブジェクト位置等を解析する処理が行われることになる。
 しかし、例えばビルの異なる階、例えば1階と2階の環境地図を作成する際に、地図作成を行うカメラを備えたロボットがエレベータを利用して移動してしまうと、エレベータの移動方向や移動量については、カメラ撮影画像から解析できないため、自己位置推定や環境地図作成処理を継続して行うことができず、SLAM処理は中断することになる。
 従って、1階の環境地図と、2階の環境地図とは、個別の独立した地図として作成せざる得ないことになる。
 フロア単位の環境地図は、それぞれ個別に作成可能であるが、作成した複数の環境地図には、他の環境地図との関係性を示すデータが記録されていない。
 従って、例えば作成した複数のフロア単位の環境地図を利用して1階にいるロボットを2階の目的地に移動させようとしても、1階から2階へ移動させるためにはオペレータ等によるリモート操作などが必要になるという問題がある。
 なお、ロボットに複数の階を移動させて走行させる構成を開示した従来技術として、例えば特許文献1(特開2012-215959号公報)がある。
 この特許文献1は、複数の階を移動走行可能な警備用ロボットを開示している。
 しかし、この文献に記載の構成は、ユーザが予め設定した1つの警備ルートに従ってロボットを移動させる構成であり、出発地や目的地が変更される構成に適用することはできない。
特開2012-215959号公報 国際公開WO2020/085135号公報
 本開示は、例えば上記問題点に鑑みてなされたものであり、出発地や目的地が異なる環境地図上に設定され、さらに出発地や目的地が変更される場合でも、ロボットを出発地から目的地まで走行させることを可能とした地図と地図構造情報を作成する情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
 本開示の一実施例構成においては、フロア単位の環境地図等、複数の独立した環境地図を作成する際に各地図の関係性を記録した地図構造情報を記録する構成を有する。この構成により、出発地や目的地が異なる環境地図上に設定され、かつ出発地や目的地が変更される場合でも、ロボットを出発地から目的地まで走行させることを可能とした地図と地図構造情報を作成する。
 本開示の第1の側面は、
 移動体に装着したセンサのセンサ取得情報を利用して地図を生成する地図生成部と、
 前記地図生成部の生成する複数の地図の関係性を示す地図構造情報を生成する地図構造解析部を有し、
 前記地図構造解析部は、
 前記地図生成部が第1地図の生成を終了し、新たな第の地図を生成する場合、
 前記第1地図の地図作成終了ノードである第1地図遷移ノードのノード位置、および前記第2地図の地図作成開始ノードである第2地図遷移ノードのノード位置、これら2つの地図遷移ノードのノード位置を地図遷移ノード情報として地図構造情報記憶部に記録する情報処理装置にある。
 さらに、本開示の第2の側面は、
 情報処理装置において実行する情報処理方法であり、
 地図生成部が、移動体に装着したセンサのセンサ取得情報を利用して地図を生成する地図生成ステップと、
 地図構造解析部が、前記地図生成部の生成する複数の地図の関係性を示す地図構造情報を生成して地図構造情報記憶部に記録する地図構造情報記録ステップを有し、
 前記地図構造解析部は、地図構造情報記録ステップにおいて、
 前記地図生成部が第1地図の生成を終了し、新たな第の地図を生成する場合、
 前記第1地図の地図作成終了ノードである第1地図遷移ノードのノード位置、および前記第2地図の地図作成開始ノードである第2地図遷移ノードのノード位置、これら2つの地図遷移ノードのノード位置を地図遷移ノード情報として地図構造情報記憶部に記録する情報処理方法にある。
 さらに、本開示の第3の側面は、
 情報処理装置において情報処理を実行させるプログラムであり、
 地図生成部に、移動体に装着したセンサのセンサ取得情報を利用して地図を生成させる地図生成ステップと、
 地図構造解析部に、前記地図生成部の生成する複数の地図の関係性を示す地図構造情報を生成して地図構造情報記憶部に記録させる地図構造情報記録ステップを実行させ、
 前記プログラムは、前記地図構造解析部に実行させる前記地図構造情報記録ステップにおいて、
 前記地図生成部が第1地図の生成を終了し、新たな第の地図を生成する場合、
 前記第1地図の地図作成終了ノードである第1地図遷移ノードのノード位置、および前記第2地図の地図作成開始ノードである第2地図遷移ノードのノード位置、これら2つの地図遷移ノードのノード位置を地図遷移ノード情報として前記地図構造情報記憶部に記録させるプログラムにある。
 なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
 本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 本開示の一実施例の構成によれば、複数の地図の関係性を示す地図構造情報を生成して記録することで、複数の地図の関係性を明確にして複数地図を利用した自律移動を可能とする構成が実現される。
 具体的には、例えば、移動体に装着したセンサのセンサ取得情報を利用して地図を生成する地図生成部と、地図生成部の生成する複数の地図の関係性を示す地図構造情報を生成する地図構造解析部を有する。地図構造解析部は、地図生成部が第1地図の生成を終了し、新たな第の地図を生成する場合、第1地図の地図作成終了ノードである第1地図遷移ノードのノード位置、および第2地図の地図作成開始ノードである第2地図遷移ノードのノード位置を地図遷移ノード情報として地図構造情報記憶部に記録する。併せて地図生成部に第1地図の地図情報記憶部への保存処理と、第2地図の生成開始を指示する。
 本構成により、複数の地図の関係性を示す地図構造情報を生成して記録することで、複数の地図の関係性を明確にして複数地図を利用した自律移動を可能とする構成が実現される。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
ロボットによる環境地図の作成処理例について説明する図である。 地図作成処理によってロボットの記憶部内の地図情報記憶部に格納されるデータの一例について説明する図である。 エレベータ移動を伴う地図作成処理の一例について説明する図である。 2つのフロアの地図作成処理によってロボットの記憶部内の地図情報記憶部に格納されるデータについて説明する図である。 エレベータ移動を伴う地図作成処理の問題点について説明する図である。 本開示の処理の概要について説明する図である。 本開示の処理の概要について説明する図である。 本開示の処理の概要について説明する図である。 本開示の処理の概要について説明する図である。 本開示の処理の概要について説明する図である。 本開示の処理によってロボット(情報処理装置)の記憶部に格納されるデータについて説明する図である。 地図構造情報記憶部40の格納データと、地図情報記憶部30に格納されるデータとの対応関係について説明する図である。 本開示の情報処理装置の実施例1の処理の概要について説明する図である。 本開示の情報処理装置の実施例1の処理の概要について説明する図である。 本開示の実施例1の情報処理装置の構成例について説明する図である。 本開示の実施例1の情報処理装置の地図情報記憶部の格納データについて説明する図である。 本開示の実施例1の情報処理装置の地図構造情報記憶部の格納データについて説明する図である。 本開示の実施例1の情報処理装置の実行する処理シーケンスについて説明するフローチャートを示す図である。 本開示の実施例1の情報処理装置の実行する処理シーケンスについて説明するフローチャートを示す図である。 本開示の実施例1の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の実施例1の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の実施例1の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の情報処理装置の実施例2の処理の概要について説明する図である。 本開示の情報処理装置の実施例2の処理の概要について説明する図である。 本開示の情報処理装置の実施例2の処理の概要について説明する図である。 本開示の実施例2の情報処理装置の構成例について説明する図である。 本開示の実施例2の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の実施例2の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の情報処理装置の実施例3の処理の概要について説明する図である。 本開示の情報処理装置の実施例3の処理の概要について説明する図である。 本開示の実施例3の情報処理装置の構成例について説明する図である。 本開示の実施例3の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の情報処理装置の実施例4の処理の概要について説明する図である。 本開示の実施例4の情報処理装置の構成例について説明する図である。 本開示の実施例4の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の実施例4の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の情報処理装置の実施例5の処理の概要について説明する図である。 本開示の実施例5の情報処理装置の構成例について説明する図である。 本開示の実施例5の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の実施例5の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の情報処理装置の実施例6の処理の概要について説明する図である。 本開示の実施例6の情報処理装置の地図構造情報記憶部の格納データについて説明する図である。 本開示の実施例6の情報処理装置の地図構造情報記憶部の格納データについて説明する図である。 本開示の実施例6の情報処理装置の構成例について説明する図である。 本開示の実施例6の情報処理装置の地図構造情報記憶部の格納データについて説明する図である。 本開示の実施例6の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の実施例6の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の情報処理装置の実施例7の処理の概要について説明する図である。 本開示の情報処理装置の実施例7の処理の概要について説明する図である。 本開示の情報処理装置の実施例7の処理の概要について説明する図である。 本開示の実施例7の情報処理装置の構成例について説明する図である。 本開示の実施例7の情報処理装置の地図構造情報記憶部の格納データについて説明する図である。 本開示の実施例7の情報処理装置の地図構造情報記憶部の格納データについて説明する図である。 本開示の実施例7の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の実施例7の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の実施例7の情報処理装置の実行する処理シーケンスについて説明するシーケンス図である。 本開示の情報処理システムの構成例について説明する図である。 本開示の情報処理装置のハードウェア構成例について説明する図である。
 以下、図面を参照しながら本開示の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
 1.環境地図作成処理の概要と問題点について
 2.本開示の情報処理装置が実行する環境地図作成処理と地図構造情報の生成、格納処理について
 3.エレベータ移動を伴う経路において複数の地図と地図構造情報を生成する実施例について
 3-1.(実施例1)気圧センサとIMU(慣性計測装置)の検出情報を用いてエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例について
 3-2.(実施例2)カメラの撮影画像を解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例について
 3-3.(実施例3)ユーザ入力情報を用いてエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例について
 3-4.(実施例4)エレベータ乗降部に設置された通信部との通信データを解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例について
 4.(実施例5)地図作成済みのフロアに戻り、作成済みの地図の更新処理を行う実施例について
 5.(実施例6)ロボット走行面の傾斜角に応じて生成地図を切り替える構成とした実施例について
 6.(実施例7)GPS信号の利用可否に応じて生成地図を切り替える構成とした実施例について
 7.ロボットとサーバ間で通信を実行して処理を行う情報処理システムの構成例について
 8.情報処理装置のハードウェア構成例について
 9.本開示の構成のまとめ
  [1.環境地図作成処理の概要と問題点について]
 まず、図1以下を参照して環境地図作成処理の概要と問題点について説明する。
 前述したように、ロボットや自動運転車両等の移動体が障害物に衝突や接触することなく安全に目的地まで走行を行うためには、障害物にぶつからない安全な走行ルートを選択可能とした地図情報が必要である。障害物等の位置を確認可能とした地図は例えば環境地図と呼ばれる。
 図1を参照して環境地図の作成処理の具体例について説明する。
 図1は、環境地図の作成処理や自己位置推定処理を行う代表的処理であるSLAM(simultaneous localization and mapping)処理の実行例を示す図である。
 図1に示すロボット10は、地図作成予定フロアである1階フロア(1F)11上を走行する。ロボット10は、カメラやLiDAR(Light Detection and Ranging)等のセンサを備えており、1階フロア(1F)11上を、センサ検出情報を取得しながら移動する。
 図1にはロボット10が1階フロア上の複数のノード12a~12d、すなわちノード1A~ノード1B~ノード1C~ノード1D(Ev_1f)を順次、移動して地図作成を行う場合の処理を示している。
 ロボット10は、例えばノード1A,12aのノード情報13aとして、ノード1A,12aの3次元位置(x,y,z)と、ロボットの向きを示すヨー角(Yaw)をロボット内部の記憶部に記録する。さらにノード1A,12aにおいて取得されるセンサ取得情報、すなわちカメラやLiDAR等のセンサによって取得される周囲のオブジェクト位置情報を記録する。
 例えばLiDAR等のセンサによってロボット周囲のオブジェクトまでの距離が検出され、この距離に応じた点群を設定することでオブジェクトの形状に応じた点群からなる地図を構成することができる。
 すなわち、センサとしてLiDARを用いる場合、LiDAR検出情報であるオブジェクト距離情報に基づいてオブジェクトの位置に点群(PC:Point Cloud)を設定した地図データを生成することができる。
 ロボット10は図に示すように走行ルート上の複数のノード(1A~1D)各々について、ノードの位置やノード上のロボットの向きから構成されるノード情報(x,y,z,yaw)を取得して記憶部に格納するとともに、各ノードにおける周囲の点群情報(オブジェクト位置情報)を取得して記憶部に格納する。
 図2は、図1に示す地図作成処理によってロボットの記憶部内の地図情報記憶部15に格納されるデータを説明する図である。
 図2に示すように、地図情報記憶部15には、地図対応データ15pと、1F地図実データ15qが記録される。
 地図対応データ15pには、図2に示すように、(P1)1F地図対応データが記録される。(P1)1F地図対応データは、
 (P11)ソースフレーム=1F地図
 (P12)1F地図ノード情報
 これらのデータによって構成される。
 (P11)ソースフレームは、地図データ(地図実データ)の取得先情報であり、この場合、1F地図となる。
 (P12)1F地図ノード情報は、図1を参照して説明したノード情報の記録領域である。すなわち、各ノードの位置(x,y,z)とロボットの向き(yaw)からなるノード情報(x,y,z,yaw)がターゲットフレームデータとして記録される。
 なお、この1F地図ノード情報(x,y,z,yaw)は、1F地図固有の座標系に従ったデータである。1F地図座標系は、例えば1F地図の生成開始点を原点として設定される座標系である。
 図2に示すように、地図対応データ15pの(P12)1F地図ノード情報のターゲットフレームの各々は、1F地図実データ15q上の位置(x,y,z)やロボットの向き(yaw)に対応する。
 すなわち、地図対応データ15pの(P12)1F地図ノード情報のターゲットフレーム(x,y,z,yaw)に基いて、1F地図実データ15qの各ノードにおける点群情報、すなわち障害物等のオブジェクト位置情報を取得することができる。
 環境地図を作成するロボット10は、このように地図情報記憶部15にロボットの移動したノードの位置(x,y,z)とロボットの向き(yaw)からなる地図対応データと、地図対応データの記録データ(ターゲットフレーム)に基いて取得可能な点群情報(オブジェクト位置情報)から構成される地図実データを記録する。
 その後、ロボット10、あるいはその他のロボットは、地図対応データ15pと1F地図実データ15qを参照することで、図1に示す1階フロア(1F)11上を障害物に衝突することなく自律走行することが可能となる。
 なお、図1、図2を参照して説明した例では、環境地図の例として、LiDAR検出情報であるオブジェクト距離情報に基づいて生成されるオブジェクト位置対応の点群(PC:Point Cloud)を設定した点群地図データを生成する例について説明したが、これは環境地図の一例である。
 環境地図は、このような点群データに限らず、例えばボクセル表現や、物体検出情報を用いたプリミティブ形状群など、様々な表現形式を利用した地図としてもよい。
 図1、図2を参照して説明したように、SLAM処理により、地図作成を行うロボットの移動ルート周囲のオブジェクト位置が解析され、これらを統合することで1つのフロア単位の地図であるフロア対応の環境地図を作成することができる。
 次に、この環境地図作成処理における問題点について説明する。
 環境地図作成処理においては、例えば地図作成処理対象となるフロアを走行するロボットの初期位置を原点((x,y,z)=(0,0,0))とし、その後のロボットの移動に伴う様々な位置(x,y,z)におけるカメラ撮影画像から周囲のオブジェクト位置等を解析する処理が行われることになる。
 しかし、例えばビルの異なる階、例えば1階と2階の環境地図を作成する際に、地図作成を行うためのセンサ(LiDARやカメラ)を備えたロボットがエレベータを利用して移動してしまうと、エレベータの移動方向や移動量をカメラやLiDAR等のセンサ取得情報から解析することができない。従って、自己位置推定や環境地図作成処理を継続して行うことができず、SLAM処理を中断することになる。
 結果として、1階の環境地図と、2階の環境地図は、個別の独立した地図として作成せざる得ないことになる。
 具体例について、図3以下を参照して説明する。
 図3には、1階フロア11と、2階フロア21を示している。各フロア間はエレベータを利用して移動可能な構成である。
 図3に示す1階フロア11の右端のノード1D(EV_1f)が1階におけるエレベータ位置に対応する。同様に図3に示す2階フロア21の右端のノード2A(EV_2f)が2階のエレベータ位置に対応する。
 まず、ロボット10は、1階フロア11について、先に図1、図2を参照して説明したと同様、1階フロア上の複数のノード12a~12d、すなわちノード1A~ノード1B~ノード1C~ノード1D(Ev_1f)を順次、移動して地図作成を行う。
 ロボット10が、1階におけるエレベータ位置に対応するノード1D(Ev_1f)に到達すると、ロボット10は、エレベータを利用して2階フロア(2F)21に移動する。
 このエレベータの移動方向や移動量については、カメラやLiDAR等のセンサ取得情報からの解析が不可能である。従って、自己位置推定や環境地図作成処理を継続して行うことができず、SLAM処理としての環境地図作成や自己位置推定処理は中断せざる得ない。結果として、1階の環境地図と、2階の環境地図とは、個別の独立した地図として作成せざる得ないことになる。
 ロボット10は、エレベータを利用して2階フロア(2F)21に移動した後、2階フロア(2F)21のエレベータ位置対応ノード2A(EV_2F)から移動を開始して、2階フロア(2F)21の環境地図作成処理を開始する。
 すなわち、ロボット10は、地図作成予定フロアである2階フロア(2F)21上を走行する。ロボット10は2階フロア上の複数のノード、すなわちノード2A(EV_2F)~ノード2B~ノード2C~ノード2Dを順次、移動して地図作成を行う。
 ロボット10は図に示すように走行ルート上の複数のノード(2A~2D)についてノード情報(x,y,z,yaw)を取得して記憶部に格納するとともに、各ノードにおける周囲の点群情報(オブジェクト位置情報)を取得して記憶部に格納する。
 図4は、図3に示す2つのフロアの地図作成処理によってロボットの記憶部内の地図情報記憶部15に格納されるデータを説明する図である。
 図4に示すように、地図情報記憶部15には、先に図2を参照して説明したと同様、地図対応データ15pと、1F地図実データ15q1、および2F地図実データ15q2が記録される。
 地図対応データ15pには、図4に示すように、
 (P1)1F地図対応データ
 (P2)2F地図対応データ、
 これらが個別に記録される。
 なお、(P1)1F地図対応データは、先に図2を参照して説明したように、
 (P11)ソースフレーム=1F地図
 (P12)1F地図ノード情報
 これらのデータによって構成される。
 さらに(P2)2F地図対応データは、
 (P21)ソースフレーム=2F地図
 (P22)2F地図ノード情報
 これらのデータによって構成される。
 なお、(P11)ソースフレーム、(P21)ソースフレームは、地図データ(地図実データ)の取得先情報であり、この場合、それぞれ1F地図、2F地図となる。
 (P12)1F地図ノード情報や、(P22)2F地図ノード情報は、図1を参照して説明したノード情報の記録領域である。すなわち、各ノードの位置(x,y,z)とロボットの向き(yaw)からなるノード情報(x,y,z,yaw)がターゲットフレームデータとして記録される。
 ただし、(P12)1F地図ノード情報(x,y,z,yaw)は、1F地図固有の座標系に従ったデータである。1F地図座標系は、例えば1F地図の生成開始点を原点として設定される座標系である。
 同様に、(P22)2F地図ノード情報(x,y,z,yaw)は、2F地図固有の座標系に従ったデータである。2F地図座標系は、例えば2F地図の生成開始点を原点として設定される座標系である。
 図4に示すように地図実データは、1F地図実データ15q1と、2F地図実データ15q2、すなわち2つの個別の環境地図データとして構成される。
 地図情報記憶部15には、この2つの環境地図の関連性については全く記録されない。
 上述したように、ロボット10が、エレベータに乗って移動する場合、エレベータの移動方向や移動量については、カメラやLiDAR等のセンサ取得情報からの解析が不可能である。従って、自己位置推定や環境地図作成処理を継続して行うことができず、SLAM処理としての環境地図作成や自己位置推定処理が中断してしまい、結果として、1階の環境地図と、2階の環境地図が個別の独立した地図となり、その関連性については全く記録することができない。
 このように、ロボットの環境地図作成処理において、フロア単位の環境地図は個別に作成可能であるが、作成した複数の環境地図には、他の環境地図との関係性を示すデータがない。
 従って、例えば作成した複数のフロア単位の環境地図を利用して1階にいるロボットを2階の目的地に移動させようとしても、1階から2階へ移動させるための情報は、地図情報から得ることができない。結果として、例えば外部のオペレータ等のリモート操作が必要になるという問題が発生する。
 具体的には、図5に示すように、ロボット10が作成し、地図情報記憶部15に格納した地図対応データ15q、1F地図実データ15q1、2F地図実データ15q2を利用して1階にいるロボットを2階の目的地に移動させようとした場合、以下のような不明点が発生する。
 (a)フロア地図の関係性や、利用時の切り替えタイミングが分からない。
 (b)各フロアの移動手段が分からない。
 結果として、1階から2階へ移動させるためにはオペレータ等によるリモート操作などが必要になる。
 本開示は、例えば上記問題点に鑑みてなされたものであり、出発地や目的地が異なる環境地図上に設定され、さらに出発地や目的地が変更される場合でも、ロボットを出発地から目的地まで走行させることを可能とする。
 具体的には、フロア単位の環境地図等、複数の独立した環境地図を作成する際に各地図の関係性を記録した地図構造情報を記録する。この地図構造情報を記録することで、出発地や目的地が異なる環境地図上に設定され、かつ出発地や目的地が変更される場合でも、ロボットを出発地から目的地まで走行させることを可能とする。
 以下、本開示の構成と処理について説明する。
  [2.本開示の情報処理装置が実行する環境地図作成処理と地図構造情報の生成、格納処理について]
 次に、本開示の情報処理装置が実行する環境地図作成処理と地図構造情報の生成、格納処理について説明する。
 図6以下を参照して、本開示の情報処理装置が実行する環境地図作成処理と地図構造情報の生成、格納処理のシーケンスについて説明する。
 なお、本開示の情報処理装置は、例えばSLAM処理などによる環境地図の作成処理を行うロボット内に装着される。あるいは、ロボットと通信可能なサーバ等に設置する構成としてもよい。
 図6以下において説明する例は、ロボットが、環境地図作成処理と地図構造情報の生成処理、およびこれら生成データの記憶部への格納処理を行うデータ処理部と記憶部を備えた情報処理装置を有する構成である場合の処理例である。
 図6~図10には、ロボット10が、複数の個別の環境地図を作成する場合の処理シーケンスの概要を示している。具体的には、まず、1階フロア(1F)の環境地図(1F地図)を作成し、その後、エレベータで2階フロア(2F)に移動して、2階フロア(2F)の環境地図(2F地図)を作成するシーケンスを示している。
 図6~図10に示す処理ステップ(S01)~(S06)の各処理について、順次、説明する。
  (ステップS01)
 まず、ロボット10は、ステップS01において、1階フロアの地図作成を開始する。先に図1を参照して説明したと同様、1階フロア上の移動位置に複数のノードを設定しながら地図作成を行う。
  (ステップS02)
 ロボット10は、ステップS02において、1階フロアの地図作成を終了する。先に図1を参照して説明したと同様、1階フロア上のエレベータ位置に対応するノードに到達すると、ロボット10は1階フロアの地図作成を終了する。
  (ステップS03)
 次に、ロボット10は、図7に示すステップS03において、1階フロアの地図(1F地図)を地図情報記憶部に格納する。
 ロボット10は、図7に示すようにロボット内の地図情報記憶部30に、1F地図対応データ30p1と、1F地図実データ30q1を格納する。
 1F地図対応データ30p1は、図7に示すように、以下のデータによって構成される。
 (1)ソースフレーム情報=1F地図
 (2)1F地図ノード情報
 (3)1F地図原点位置情報(x,y)
 (4)1F地図解像度情報
 (1)ソースフレーム情報は、地図データ(地図実データ)の取得先情報であり、この場合、1F地図となる。
 (2)1F地図ノード情報は、図1を参照して説明したと同様のノード情報の記録領域である。すなわち、各ノードの位置(x,y,z)とロボットの向き(yaw)からなるノード情報(x,y,z,yaw)がターゲットフレームデータとして記録される。
 (3)1F地図原点位置情報(x,y,)は、1F地図の原点位置を外部座標系、例えば世界座標等の座標系で示した座標位置である。なお、本例では、2次元座標位置(x,y)のみを示しているが、3次元座標位置(x,y,z)を記録してもよい。
 (4)1F地図解像度情報は、1F地図データ30q1の解像度(resolution)を示す情報である。
 地図情報記憶部30には、これらの1F地図対応データ30p1の他、1F地図実データ30q1に、ロボット10が生成した実際の1F地図データが格納される。
 1F地図実データ30q1は、先に図2や図4を参照して説明したデータと同様のデータである。
 すなわち、例えばロボット走行ルート周囲のオブジェクトを点群情報(オブジェクト位置情報)として表した地図データ(環境地図)が格納される。
 なお、前述したように、環境地図は点群データに限らず、例えばボクセル表現や、物体検出情報を用いたプリミティブ形状群など、様々な表現形式を利用した地図としてもよい。
  (ステップS04)
 次に、ロボット10は、図8に示すステップS04において、エレベータを利用して1階フロア(1F)から2階フロア(2F)に移動する。
 ロボット10は、2階フロア(2F)に到着すると、ロボット内の情報処理装置内に設けられた地図構造情報記憶部40に2つの地図の関係情報、すなわち生成済みの1F地図と、これから新規生成する2F地図との関係情報を記録する。
 図8に示すように、地図構造情報記憶部40には、以下の情報が記録される。
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
 「(1)地図遷移ノード属性」は、環境地図の切り替え前後のノードに関する属性(attribute)を記録するフィールドである。
 この例では、地図遷移ノードは、1階フロア(1F)のエレベータ位置のノードと、2階フロア(2F)のエレベータ位置のノードの2つのノードである。
 これらの2つの地図遷移ノードの属性は「エレベータ」となり、
 (1)地図遷移ノード属性=エレベータ
 となる。
 「(2)地図遷移ノード情報」には、1階フロア(1F)のエレベータ位置のノードと、2階フロア(2F)のエレベータ位置のノードの2つの地図遷移ノードのノード情報が記録される。
 このノード情報は、先に図2を参照して説明した地図情報記憶部15pの地図対応データ15pと同様のノード情報である。
 すなわち、2つの地図遷移ノード各々について、
 地図データ(地図実データ)の取得先情報であるソースフレーム(1F地図、または2F地図)と、
 各ノードの位置(x,y,z)とロボットの向き(yaw)からなるノード情報(x,y,z,yaw)
 これらのデータを記録する。
 具体的には、図8に示すように、
 (2)地図遷移ノード情報として、以下の各データを記録する。
 (2a)地図遷移前ソースフレーム=1F地図
     地図遷移前ターゲットフレーム=EV_1F:(x,y,z,yaw)
 (2b)地図遷移後ソースフレーム=2F地図
     地図遷移後ターゲットフレーム=EV_2F:(x,y,z,yaw)
 なお、地図遷移前ターゲットフレーム=EV_1F:(x,y,z,yaw)
 このデータは、1階フロア(1F)のエレベータ位置のノードに関するノード情報であり、1F地図固有の座標系に従ったデータである。1F地図座標系は、例えば1F地図の生成開始点を原点として設定される座標系である。
 また、地図遷移後ターゲットフレーム=EV_2F:(x,y,z,yaw)
 このデータは、2階フロア(2F)のエレベータ位置のノードに関するノード情報であり、2F地図固有の座標系に従ったデータである。2F地図座標系は、例えば2F地図の生成開始点を原点として設定される座標系である。
 さらに、図8に示すように、地図構造情報記憶部40には、「(3)地図遷移ノード間移動量データ」が記録される。
 なお、この(3)地図遷移ノード間移動量データは必須記録データではなくオプション的に記録されるデータである。
 (3)地図遷移ノード間移動量データは、2つの地図遷移ノード間の移動量である。すなわち、1階フロア(1F)のエレベータ位置のノードと、2階フロア(2F)のエレベータ位置のノードの2つの地図遷移ノードのノード間の移動量データが記録される。
 移動量は、例えば(x,y,z,yaw)の各要素単位で記録する。すなわち、
 x方向の移動量(rel_x)
 y方向の移動量(rel_y)
 z方向の移動量(rel_z)
 yaw角の移動量(rel_yaw)
 これら、要素単位の移動量が記録される。
 この例では、1階フロア(1F)のエレベータ位置のノードと、2階フロア(2F)のエレベータ位置のノードの2つの地図遷移ノードのノード間の移動は、垂直方向(z方向)のみの移動であり、図8に示すように、例えば、以下のようなデータが記録される。
 (3)地図遷移ノード間移動量データ(rel_x,rel_y,rel_z,rel_yaw)=(0,0,5,0)
 なお、「(3)地図遷移ノード間移動量データ」は、上記のような要素単位の移動量データ(rel_x,rel_y,rel_z,rel_yaw)として記録する態様に限らず、例えば地図遷移ノード間の移動フロアを記録する構成としてもよい。
 例えば、遷移前のノードが1階フロア(1F)で遷移後のノードが2階フロア(2F)である場合には、
 地図遷移ノード間移動量データ=「1階フロア(1F)→2階フロア(2F)」
 といった記録データを設定してもよい。
 また、遷移前のノードが2階フロア(2F)で遷移後のノードが5階フロア(5F)である場合には、
 地図遷移ノード間移動量データ=「2階フロア(2F)→5階フロア(5F)」
 といった記録データとなる。
 このように、本開示のロボット10は、生成する環境地図の切り替えを行う際、すなわち1つの環境地図の作成を終了し、新たな環境地図の作成を開始する際に、これら2つの環境地図の関係性を示す情報として地図構造情報を生成して記録する。
 すなわち、図8に示すように、地図構造情報記憶部40に、以下の情報を記録する。
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
  (ステップS05~S06)
 次に、ロボット10は、ステップS05において、図9に示すように、新たな環境地図、すなわち2階フロア(2F)の環境地図の作成を開始し、2階フロア(2F)上を走行し、図10に示すステップS06において、2階フロア(2F)の環境地図の作成を終了する。
 この2階フロア(2F)の環境地図の作成処理により、ロボット10の地図情報記憶部30には、図10に示すように地図対応データ30p2と、2F地図実データ30q2が格納される。
 2階フロア(2F)の環境地図の作成処理により生成される地図対応データ30p2は、図10に示すように、以下のデータによって構成される。
 (1)ソースフレーム情報=2F地図
 (2)2F地図ノード情報
 (3)2F地図原点位置情報(x,y)
 (4)2F地図解像度情報
 (1)ソースフレーム情報は、地図データ(地図実データ)の取得先情報であり、この場合、2F地図となる。
 (2)2F地図ノード情報は、図1を参照して説明したと同様のノード情報の記録領域である。すなわち、各ノードの位置(x,y,z)とロボットの向き(yaw)からなるノード情報(x,y,z,yaw)がターゲットフレームデータとして記録される。
 (3)2F地図原点位置情報(x,y,)は、2F地図の原点位置を外部座標系、例えば世界座標等の座標系で示した座標位置である。なお、本例では、2次元座標位置(x,y)のみを示しているが、3次元座標位置(x,y,z)を記録してもよい。
 (4)2F地図解像度情報は、2F地図データ30q2の解像度(resolution)を示す情報である。
 地図情報記憶部30には、これらの2F地図対応データ30p2の他、2F地図実データ30q2に、ロボット10が生成した2F地図データが格納される。
 2F地図実データ30q2は、先に図2や図4を参照して説明したデータと同様のデータである。
 すなわち、例えばロボット走行ルート周囲のオブジェクトを点群情報(オブジェクト位置情報)として表した地図データ(環境地図)が格納される。
 なお、前述したように、環境地図は点群データに限らず、例えばボクセル表現や、物体検出情報を用いたプリミティブ形状群など、様々な表現形式を利用した地図としてもよい。
 ロボット10が1階フロア(1F)の環境地図を作成し、その後エレベータで2階に移動して、2階フロア(2F)の環境地図の作成を完了した時点で、ロボット10(情報処理装置)の記憶部に格納されるデータの例について図11を参照して説明する。
 図11に示すように、ロボット10(情報処理装置)の記憶部には、以下の各データが記録される。
 地図情報記憶部30には、地図対応データ30pと、1F地図実データ30q1と、2F地図実データ30q2が記録される。
 地図対応データ30pには、以下のデータが含まれる。
 (P1)1F地図対応データ
 (P2)2F地図対応データ、
 これらが個別に記録される。
 (P1)1F地図対応データは、先に図7を参照して説明した1F地図実データ30q1用の対応データであり、以下のデータによって構成される。
 (P11)ソースフレーム情報=1F地図
 (P12)1F地図ノード情報
 (P13)1F地図原点位置情報(x,y)
 (P14)1F地図解像度情報
 なお、(P11)ソースフレーム情報は、地図データ(地図実データ)の取得先情報であり、1F地図となる。
 (P12)1F地図ノード情報は、図1を参照して説明したと同様のノード情報の記録領域である。すなわち、各ノードの位置(x,y,z)とロボットの向き(yaw)からなるノード情報(x,y,z,yaw)がターゲットフレームデータとして記録される。
 また、(P2)2F地図対応データは、先に図10を参照して説明した2F地図実データ30q2用の対応データであり、以下のデータによって構成される。
 (P21)ソースフレーム情報=2F地図
 (P22)2F地図ノード情報
 (P23)2F地図原点位置情報(x,y)
 (P24)2F地図解像度情報
 (P21)ソースフレーム情報は、地図データ(地図実データ)の取得先情報であり、この場合、2F地図となる。
 (P22)2F地図ノード情報は、各ノードの位置(x,y,z)とロボットの向き(yaw)からなるノード情報(x,y,z,yaw)がターゲットフレームデータとして記録される。
 ただし、(P12)1F地図ノード情報(x,y,z,yaw)は、1F地図固有の座標系に従ったデータである。1F地図座標系は、例えば1F地図の生成開始点を原点として設定される座標系である。
 同様に、(P22)2F地図ノード情報(x,y,z,yaw)は、2F地図固有の座標系に従ったデータである。2F地図座標系は、例えば2F地図の生成開始点を原点として設定される座標系である。
 1F地図実データ30q1と、2F地図実データ30q2は、個別の環境地図データであり、前述したように、各フロアのオブジェクト位置を識別可能な地図データ、例えば点群データによって構成される。
 さらに、図11に示すように、ロボット10の記憶部には、地図構造情報40が記録される。
 地図構造情報40には、以下の情報が記録される。
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
 本例では、先に図8を参照して説明したように、以下の各データが記録されることになる。
 (1)地図遷移ノード属性=エレベータ
 (2)地図遷移ノード情報として、以下の各データが記録される。
 (2a)地図遷移前ソースフレーム=1F地図
     地図遷移前ターゲットフレーム=EV_1F:(x,y,z,yaw)
 (2b)地図遷移後ソースフレーム=2F地図
     地図遷移後ターゲットフレーム=EV_2F:(x,y,z,yaw)
 (3)地図遷移ノード間移動量データ(rel_x,rel_y,rel_z,rel_yaw)=(0,0,5,0)
 このように、本開示のロボット10は、生成する環境地図の切り替えを行う際、すなわち1つの環境地図の作成を終了し、新たな環境地図の作成を開始する際に、これら2つの環境地図の関係性を示す情報として地図構造情報を生成して記録する。
 地図構造情報40に記録される以下の情報、すなわち、
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
 これらの情報を参照することで、2つの個別の環境地図の関係性が解析可能となる。
 すなわち、図11に示す地図情報記憶部30の記録データと、地図構造情報40の記録データを参照することで、例えば1階フロアに設定されたスタート地点から、2階フロアに設定された目的地までロボットを移動させることが可能となる。
 図12を参照して、地図構造情報記憶部40の格納データと、地図情報記憶部30に格納されるデータとの対応関係について説明する。
 図12には、ロボット10が地図作成処理において通過したノードを示している。すなわち、
 1F地図作成時に通過した1階のノード=ノード1A~ノード1D(EV_1f)
 2F地図作成時に通過した2階のノード=ノード2A(EV_2f)~ノード2D
 これらのノードを示している。
 図12に示す地図情報記憶部30の地図対応データ30pと各ノードを結ぶ点線が示すように、地図情報記憶部30の地図対応データ30pとして、全てのノードに関するノード情報が記録されている。
 ノード情報は、各ノードの位置(x,y,z)と、各ノードにおけるロボットの向き(yaw)を含むノード情報(x,y,z,yaw)である。
 これら、地図情報記憶部30の地図対応データ30pとして記録されたノード情報(x,y,z,yaw)に基づいて、地図情報記憶部30の1F地図実データ30q1と、2F地図実データ30q2に基づいて、各ノード周囲のオブジェクト位置を確認可能な地図データを取得することができる。
 一方、地図構造情報記憶部40には、2つの地図データ、すなわち1F地図データと2F地図データ間の遷移ノードについてのノード情報が記録されている。すなわち、
 (a)1階フロア(1F)の遷移ノードであるノード1D(EV_1f)のノード情報
 (b)2階フロア(2F)の遷移ノードであるノード2A(EV_2f)のノード情報
 これらのノード情報(x,y,z,yaw)が記録されている。
 さらに、地図構造情報記憶部40には、2つの地図データ、すなわち1F地図データと2F地図データ間の遷移ノード間の移動量情報、すなわち、
 (c)遷移ノード間移動量情報(rel_x,rel_y,rel_z,rel_yaw)
 が記録されている。
 例えば、これら、地図情報記憶部30と地図構造情報記憶部40に格納されたデータを用いて、1階のノード1Aから2階のノード2Dまで移動しようとする自律走行ロボットは、以下の処理を順次、実行することで、1階のノード1Aから2階のノード2Dまで移動することが可能となる。
 (処理1)地図情報記憶部30の地図対応データ30pに格納された1F地図対応データ、すなわち、
 (P11)ソースフレーム情報=1F地図
 (P12)1F地図ノード情報
 これらのデータに基づいて、1F地図実データ30q1から、各ノード(1A~1D(EV_1f)周囲のオブジェクト位置情報を取得してノード1Aからノード1D(EV_1f)まで進む。
 (処理2)
 次に、エレベータに乗り込んだロボットは、エレベータの移動に伴い、2階に移動する。
 この移動処理に際し、ロボットは、1階のエレベータ位置のノードであるノード1D(EV_1f)のノードが遷移ノードであることを、地図構造情報記憶部40に格納された地図構造情報、すなわち、
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 これらのデータを利用して確認する。
 さらに、ロボットは、エレベータによる移動量を解析する。なお、このエレベータ移動量の解析処理の具体例については、後段で説明する。
 エレベータが2階に到着すると、ロボット10は、地図構造情報記憶部40に格納された地図構造情報、すなわち、
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
 これらの中から、「(3)地図遷移ノード間移動量データ」を取得して、ロボットが解析したエレベータ移動量と一致するかを判断する。
  (処理3)
 移動量データが一致したことが確認された場合、ロボットは、地図構造情報記憶部40に格納された地図構造情報から、「(2)地図遷移ノード情報」を取得して、2階のエレベータ停止位置のノード情報2A(EV_2f)を取得する。
 2階のエレベータ停止位置のノード情報2A(EV_2f)は、地図情報記憶部30の地図対応データ30pに格納された2F地図対応データ、すなわち、「(P22)2F地図ノード情報」としても記録されており、ロボットは、このノード情報を取得する。
  (処理4)
 その後、ロボットは、地図情報記憶部30の地図対応データ30pに格納された2F地図対応データ、すなわち、
 (P21)ソースフレーム情報=2F地図
 (P22)2F地図ノード情報
 これらのデータに基づいて、2F地図実データ30q2から、2階の各ノード(2A(EV_2f)~2D周囲のオブジェクト位置情報を取得してノード2A(EV_2f)からノード2Dまで進むことができる。
 このように、ロボットは、地図情報記憶部30の格納データと地図構造情報記憶部40の格納データを用いることで、オペレータ等の外部の指示を利用することなく、異なる複数の環境地図を利用した自律走行を行うことが可能となる。
 なお、上述したように、この自律走行を行うためには、ロボットがエレベータに乗り込んだことや、エレベータの移動量を把握することが必要であり、これらの解析に必要となる情報についても、地図構造情報記憶部40に格納することが必要となる。
 以下、ロボットがエレベータに乗り込んだことや、エレベータの移動量を把握するための情報解析処理も含んだ具体的な実施例について説明する。
  [3.エレベータ移動を伴う経路において複数の地図と地図構造情報を生成する実施例について]
 次に、エレベータ移動を伴う経路において複数の地図と地図構造情報を生成する実施例について説明する。
 以下、本開示の情報処理装置が実行するエレベータ移動を伴う経路において複数の地図と地図構造情報を生成する実施例として、以下の複数の実施例について、順次、説明する。
 (実施例1)気圧センサとIMU(慣性計測装置)の検出情報を用いてエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例
 (実施例2)カメラの撮影画像を解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例
 (実施例3)ユーザ入力情報を用いてエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例
 (実施例4)エレベータ乗降部に設置された通信部との通信データを解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例
 なお、本開示の情報処理装置は、前述したように、例えばロボット等の移動体に組み込まれた情報処理装置や、ロボット等の移動体と通信を行う情報処理装置であり、SLAM処理を実行して地図の作成、自己位置推定処理などを行う情報処理装置である。
 以下の実施例の説明では、情報処理装置の代表例としてロボット等の移動体に組み込まれた情報処理装置を用いた実施例について説明する。
  (3-1.(実施例1)気圧センサとIMU(慣性計測装置)の検出情報を用いてエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例について)
 まず、実施例1として、気圧センサとIMU(慣性計測装置)の検出情報を用いてエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例について説明する。
 図13以下を参照して実施例1の構成と処理について説明する。
 実施例1は、気圧センサとIMU(慣性計測装置)の検出情報を用いてエレベータ移動を検出する実施例である。
 図13は、IMU(慣性計測装置)の検出情報を用いてエレベータ移動を検出する処理の詳細について説明する図である。
 本開示の情報処理装置を搭載したロボット10がビルのエレベータを用いて上下方向に移動する場合、図13に示すように、ロボット10は、まず、例えば地図作成が完了したフロア、例えば1階フロア(1F)で扉の開いたエレベータに乗り込む。
 その後、エレベータの扉が閉じて、次の地図作成フロア、例えば2階フロア(2F)に移動する。
 その後、エレベータは2階フロア(2F)で停止して、扉を開け、ロボット10は2階フロア(2F)において地図作成処理を開始する。
 図13に示すグラフは、このエレベータ移動の際のエレベータの速度の変化を示したグラフである。
 横軸が時間(sec)で、縦軸がエレベータ速度(m/s)を示している。
 時間t0は、ロボット10が乗り込んだエレベータが1階フロア(1F)から上昇を開始する時間である。
 エレベータは、その後、時間t0から時間t1まで加速し、上昇速度を徐々に上げていく。エレベータの速度がVaとなった時点で加速を停止し、その後、時間t2まで一定速度(Va)で上昇する。
 その後、時間t2から減速を開始して、時間t3で速度0となる。すなわちエレベータが停止する。この時間t3が、エレベータが2階フロア(2F)に到着した時間となる。
 図13に示すグラフの速度変化は、ロボット10に装着されたIMU(慣性計測装置)によって検出可能なデータである。
 すなわち、ロボット10が、センサとしてIMU(慣性計測装置)を装着していれば、ロボット10が上昇しているか下降しているかの検出が可能となる。
 しかし、ビルの構造によって各階の離間距離は異なるため、この速度データのみでは移動階数を正確に判定することは困難である。
 本実施例では、ロボット10は、センサとしてIMU(慣性計測装置)を装着するとともに、移動階数判定のため、大気圧を検出するための気圧センサを装着する。
 ロボット10は、気圧センサの検出値を解析して移動階数を判定する。
 図14を参照して、気圧センサの検出値を解析して移動階数を判定する処理の具体例について説明する。
 複数可以を有するビルに構成されたエレベータが上昇または下降する際、エレベータはビルの各フロアを通過することになる。
 図14の左に示すように、ビルの構造はフロアが構成された空間が疎な空間となり、フロア間は密な空間となる。フロア間は下層フロアの天井より上、上層フロアの床下の空間であり、鉄骨やコンクリート、さらに様々な配管、配線等が存在するため密な空間となる。
 エレベータが上昇、または下降する際には、疎な空間と密な空間を交互に通過する。
 図14の右側に示すグラフは、エレベータが1階(1F)から3階(3F)に上昇して移動する際の大気圧変化の具体例を示すグラフである。
 横軸が時間t(sec)、縦軸が大気圧(Pa)である。
 時間t0~t1は、エレベータが1階フロアで停止している状態であり、その後、時間t6まで上昇して、3階フロアに停止するまでの大気圧変化を示している。
 大気圧は、エレベータ上昇に伴い、減少することになる。
 しかし、このグラフ中、時間t2~t3の期間と、時間t4~t5の期間において、大気圧変化に乱れが発生している。
 この乱れは、図14の左の図に示すフロア間の密な空間において発生する。
 すなわち、エレベータが疎な空間を上昇中に観測される大気圧変化はなめらかな変化となるが、密な空間を通過する際の大気圧変化はなめらかな変化とならず乱れが発生する。また、エレベータが疎な空間から密な空間へ移動する際、および、密な空間から疎な空間へ移動する際に、大気圧変動に顕著な乱れが発生する。
 なお、この現象についての詳細については、本出願人が先に出願した特許文献2(国際公開WO2020/085135号公報)に記載されている。
 本開示の情報処理装置は、この特許文献2(国際公開WO2020/085135号公報)に記載された原理に基づいて、エレベータの通過したフロア数を判定する。
 次に、図15を参照して本実施例1の情報処理装置の構成例について説明する。
 図15は、本実施例1の情報処理装置100の構成例を示すブロック図である。
 この情報処理装置100は地図作成を行うロボット10内部に搭載されている。なお、センサ等を除く一部の構成についてはロボット10と通信可能な装置、例えばサーバ等に設定した構成とすることもできる。
 図15に示す情報処理装置100の構成について説明する。
 図15に示すように、情報処理装置100は、気圧センサ101、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、エレベータ移動解析部105、地図生成部106、地図構造解析部107、地図情報記憶部108、地図構造情報記憶部109を有する。
 気圧センサ101は、大気圧を検出し、検出値である大気圧情報111をエレベータ移動解析部105に出力する。
 IMU(慣性計測部)102は、ロボット10の加速度、角速度を検出し、検出値である加速度、角速度112をエレベータ移動解析部105と、地図生成部106に出力する。
 ホイールエンコーダ103は、ロボットの車輪の回転量を計測してロボットの移動量を算出し、算出した移動量113を地図生成部106に出力する。
 LiDAR104は、レーザ光に基づいてロボット周囲のオブジェクト距離を算出し、算出した結果に基づくオブジェクト位置を示す点群情報114を生成して地図生成部106に出力する。
 エレベータ移動解析部105は、気圧センサ101から入力する大気圧情報111と、IMU(慣性計測部)102から、ロボット10の加速度、角速度112を入力し、これらの入力情報に基づいて、エレベータを利用した移動が発生しているか否かのエレベータ検出情報と、エレベータによる移動階数情報に相当するエレベータ移動量を解析する。
 エレベータ移動解析部105の生成した解析情報、すなわち、エレベータ検出情報&エレベータ移動量115は、地図構造解析部107に出力する。
 地図生成部106は、IMU(慣性計測部)102から、ロボット10の加速度、角速度112を入力し、ホイールエンコーダ103からロボットの移動量113を入力し、さらに、LiDAR104から、ロボット周囲のオブジェクト位置を示す点群情報114を入力する。
 地図生成部106は、これらの入力情報を利用して、ロボット10の進行ルート周囲のオブジェクト位置等を示す環境地図を生成し、さらに自己位置推定を行う。
 例えばLiDAR検出情報を利用したSLAM処理を行って環境地図の生成処理と、自己位置推定処理を併せて実行する。
 地図生成部106が生成した環境地図である生成地図118やその他の地図関連情報は、地図情報記憶部108に格納される。
 また、地図生成部106が算出した推定自己位置116は、地図構造解析部107に出力される。
 なお、地図生成部106における生成地図106の地図情報記憶部108に対する格納処理や、新規地図の生成処理は、地図構造解析部107からの処理系例の入力に基づいて実行される。
 すなわち、図15に示す地図構造解析部107の出力する「地図保存指示、新規地図作成指示117」の入力に基づいて実行される。
 地図構造解析部107は、エレベータ移動解析部105の解析情報、すなわち、エレベータ検出情報&エレベータ移動量115を入力する。さらに、地図生成部106から推定自己位置116を入力する。
 地図構造解析部107は、これらの情報に基づいて、地図生成部106が生成する複数の地図の関係を示す地図構造情報を生成する。すなわち図15に示す地図構造情報119を生成し、生成した地図関係情報を地図構造情報記憶部109に格納する。
 地図構造解析部107は、さらに、エレベータ移動解析部105から入力するエレベータ検出情報&エレベータ移動量115と、地図生成部106から入力する推定自己位置116に基づいて、地図生成部106によって生成された地図の地図情報記憶部108に対する保存タイミングや、決定した保存タイミングにおいて地図生成部106に対して地図保存指示を出力する。
 また、地図生成部106による新規地図作成タイミングを決定し、決定した新規地図作成タイミングにおいて、地図生成部106に新規地図の作成開始を指示する。
 地図情報記憶部108は、地図生成部106が生成した地図や地図関連情報を記憶する。
 地図構造情報記憶部109は、地図構造解析部107が生成した地図構造情報119を格納する。
 地図情報記憶部108の格納情報と、地図構造情報記憶部109の格納情報の詳細について、図16、図17を参照して説明する。
 まず、図16を参照して、地図情報記憶部108の格納情報の詳細について説明する。
 図16には、地図生成部106が地図情報記憶部108に格納する情報の例を示している。
 地図生成部106による地図情報記憶部108に対する格納情報は、図16に示すように地図対応データ108pと、地図実データ108qが含まれる。
 地図対応データ108pは、図16に示すように、以下のデータによって構成される。
 (1)ソースフレーム情報
 (2)地図ノード情報
 (3)地図原点位置情報(x,y)
 (4)地図解像度情報
 (1)ソースフレーム情報は、地図データ(地図実データ)の取得先情報であり、例えば、1F地図や2F地図等となる。
 (2)地図ノード情報は、図1を参照して説明したと同様のノード情報の記録領域である。すなわち、各ノードの位置(x,y,z)とロボットの向き(yaw)からなるノード情報(x,y,z,yaw)がターゲットフレームデータとして記録される。
 (3)地図原点位置情報(x,y,)は、地図の原点位置を外部座標系、例えば世界座標等の座標系で示した座標位置である。なお、本例では、2次元座標位置(x,y)のみを示しているが、3次元座標位置(x,y,z)を記録してもよい。
 (4)地図解像度情報は、地図実データ108qの解像度(resolution)を示す情報である。
 地図実データ108qは、情報処理装置100(ロボット10)が生成した実際の地図データが格納される。
 地図実データ108qは、先に図2や図4を参照して説明したデータと同様のデータである。
 すなわち、例えばロボット走行ルート周囲のオブジェクトを点群情報(オブジェクト位置情報)として表した地図データ(環境地図)が格納される。
 なお、前述したように、環境地図は点群データに限らず、例えばボクセル表現や、物体検出情報を用いたプリミティブ形状群など、様々な表現形式を利用した地図としてもよい。
 図17には、地図構造情解析部107が地図構造情報記憶部109に格納する情報の例を示している。
 図17に示すように、地図構造情報記憶部109には、以下の情報が記録される。
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
 「(1)地図遷移ノード属性」は、環境地図の切り替え前後のノードに関する属性(attribute)を記録するフィールドである。
 例えば、情報処理装置100(ロボット10)が1階フロア(1F)の地図作成と2階フロア(2F)の2つの地図作成を行い、2つの地図作成の間にエレベータで移動した場合、地図遷移ノードは、1階フロア(1F)のエレベータ位置のノードと、2階フロア(2F)のエレベータ位置のノードの2つのノードである。
 これらの2つの地図遷移ノードの属性は「エレベータ」となり、
 (1)地図遷移ノード属性=エレベータ
 となる。
 「(2)地図遷移ノード情報」には、地図切り替え前後の各地図のノード情報を記録する。具体的には、作成が完了した地図の最終ノード(地図作成終了ノード)である地図作成終了ノードと、作成を開始する地図の最初のノードである地図作成開始ノード、これらの遷移ノードの位置等を含むノード情報を記録する。
 本例では、1階フロア(1F)のエレベータ位置のノードと、2階フロア(2F)のエレベータ位置のノードの2つの地図遷移ノードのノード情報が記録される。
 例えば、2つの地図遷移ノード各々について、
 地図データ(地図実データ)の取得先情報であるソースフレーム(1F地図、または2F地図)と、
 各ノードの位置(x,y,z)とロボットの向き(yaw)からなるノード情報(x,y,z,yaw)
 これらのデータが記録される。
 具体的には、図17に示すように、
 (2)地図遷移ノード情報として、以下の各データを記録する。
 (2a)地図遷移前ソースフレーム=1F地図
     地図遷移前ターゲットフレーム=EV_1F:(x,y,z,yaw)
 (2b)地図遷移後ソースフレーム=2F地図
     地図遷移後ターゲットフレーム=EV_2F:(x,y,z,yaw)
 なお、地図遷移前ターゲットフレーム=EV_1F:(x,y,z,yaw)
 このデータは、1階フロア(1F)のエレベータ位置のノードに関するノード情報であり、1F地図固有の座標系に従ったデータである。1F地図座標系は、例えば1F地図の生成開始点を原点として設定される座標系である。
 また、地図遷移後ターゲットフレーム=EV_2F:(x,y,z,yaw)
 このデータは、2階フロア(2F)のエレベータ位置のノードに関するノード情報であり、2F地図固有の座標系に従ったデータである。2F地図座標系は、例えば2F地図の生成開始点を原点として設定される座標系である。
 さらに、図17に示すように、地図構造情報記憶部109には、「(3)地図遷移ノード間移動量データ」が記録される。
 なお、この(3)地図遷移ノード間移動量データは必須記録データではなくオプション的に記録されるデータである。
 (3)地図遷移ノード間移動量データは、2つの地図遷移ノード間の移動量、すなわち、1階フロア(1F)のエレベータ位置のノードと、2階フロア(2F)のエレベータ位置のノードの2つの地図遷移ノードのノード間の移動量データが記録される。
 移動量は、(x,y,z,yaw)の各要素単位で記録する。すなわち、
 x方向の移動量(rel_x)
 y方向の移動量(rel_y)
 z方向の移動量(rel_z)
 yaw角の移動量(rel_yaw)
 これら、要素単位の移動量が記録される。
 この例では、1階フロア(1F)のエレベータ位置のノードと、2階フロア(2F)のエレベータ位置のノードの2つの地図遷移ノードのノード間の移動は、垂直方向(z方向)のみの移動であり、図17に示すように、例えば、以下のようなデータが記録される。
 (3)地図遷移ノード間移動量データ(rel_x,rel_y,rel_z,rel_yaw)=(0,0,5,0)
 次に、図15に示す実施例1の情報処理装置100のエレベータ移動解析部105と、地図構造解析部107が実行する具体的な処理のシーケンスについて説明する。
 まず、図18を参照して、エレベータ移動解析部105が実行する処理シーケンスについて説明する。
 図18に示すフローチャートは、図15に示す実施例1の情報処理装置100のエレベータ移動解析部105が実行する処理シーケンスを説明するフローチャートである。
 なお、以下において説明するフローに従った処理は、ロボット等の移動体内の情報処理装置、あるいはロボット等の移動体と通信可能な情報処理装置において情報処理装置の記憶部に格納されたプログラムに従って実行することが可能である。例えばプログラム実行機能を有するCPU等のプロセッサによるプログラム実行処理として行うことができる。
 以下、図18に示すフローの各ステップの処理について説明する。
  (ステップS101)
 まず、エレベータ移動解析部105は、ステップS101において、IMU(慣性計測部)102から、IMU検出値、例えばロボットの加速度等を入力する。
  (ステップS102)
 次に、エレベータ移動解析部105は、ステップS102において、IMU(慣性計測部)102から入力した加速度の解析を実行して、上下方向の加速度を検出したか否かを判定する。
 上下方向の加速度を検出した場合はステップS103に進む。検出しない場合は、ステップS101に戻り、ステップS101以下の処理を繰り返す。
  (ステップS103)
 ステップS102において上下方向の加速度を検出した場合、エレベータ移動解析部105は、ステップS103において、地図構造解析部107に対して、エレベータによるロボット移動の検知を通知する。
  (ステップS104)
 次に、エレベータ移動解析部105は、ステップS104において、気圧センサ101から、大気圧情報を入力し、入力した大気圧情報の解析を行う。
  (ステップS105)
 次に、エレベータ移動解析部105は、ステップS105において、気圧センサ101から入力した大気圧情報の解析結果として、階層移動を検出したか否かを判定する。
 この階層移動判定処理は、先に図14を参照して説明した現象の検出有無に基づく判定処理である。すなわち、エレベータが通過する空間の粗密に応じて発生する大気初変化の乱れが検出されたか否かに応じて判定する。
 大気初変化の乱れが発生した場合は、階層間の移動が行われたと判定する。
 なお、先に図14を参照して説明したように、エレベータによる階層移動を行なうと、乱れのないスムーズな大気圧変化と、乱れのある大気圧変化が交互に発生するが、エレベータ移動解析部105は、大気圧変化の乱れを階数移動と判定する。
  (ステップS106)
 次に、エレベータ移動解析部105は、ステップS106において、ステップS105における解析情報、すなわち、気圧センサ101から入力した大気圧情報の解析結果から得られる階層移動の検出情報を地図構造解析部107に通知する。
  (ステップS107)
 次に、エレベータ移動解析部105は、ステップS107において、IMU(慣性計測部)102から、IMU検出値、例えばロボットの加速度等を入力する。
  (ステップS108)
 次に、エレベータ移動解析部105は、ステップS108において、IMU(慣性計測部)102から入力した加速度の解析を実行して、上下方向の速度の減速を検出したか否かを判定する。
 上下方向の減速を検出した場合はステップS109に進む。検出しない場合は、ステップS107に戻り、ステップS107の処理を繰り返す。
  (ステップS109)
 ステップS108において上下方向の速度の減速を検出した場合、エレベータ移動解析部105は、ステップS109において、地図構造解析部107に対して、エレベータによるロボット移動停止の検知を通知する。
 地図構造解析部107は、このフローに従って、エレベータ移動解析部105から、ロボットのエレベータによる移動の開始や、フロア(階)移動や、移動停止等の情報を、遂次、入力する。
 次に、図19に示すフローチャートを参照して、これらの情報を入力する地図構造解析部107の実行する処理のシーケンスについて説明する。
 図19に示すフローのステップS121以下の処理について、順次、説明する。
  (ステップS121)
 まず、地図構造解析部107は、ステップS121において、エレベータ移動解析部105から、エレベータ移動検出通知を入力したか否かを判定する。
 これは、図18に示すフローのステップS103の通知の入力確認処理である。
 ステップS121において、エレベータ移動解析部105からのエレベータ移動検出通知を入力したと判定した場合は、ステップS122に進む。
  (ステップS122)
 地図構造解析部107は、ステップS121において、エレベータ移動解析部105からのエレベータ移動検出通知を入力したと判定した場合、ステップS122の処理を実行する。
 この場合、地図構造解析部107は、ステップS122において、ロボット10のエレベータ移動の発生に応じて地図構造情報記憶部109に、まず、先に図17を参照して説明した、
 「(1)地図遷移ノード属性」=「エレベータ」を記録する。
 さらに、地図構造解析部107は、エレベータ移動前の作成地図におけるエレベータ位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図17を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2a)地図遷移前ソースフレーム
     地図遷移前ターゲットフレーム
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を開始した場合には、上記情報(2a)は、以下のような情報となる。
 (2a)地図遷移前ソースフレーム=1F地図
     地図遷移前ターゲットフレーム=EV_1F:(x,y,z,yaw)
  (ステップS123)
 次に、地図構造解析部107は、ステップS123において、地図生成部106に対して、エレベータ移動前の作成地図の保存指示を出力する。
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を開始した場合には、地図構造解析部107は、ステップS123において、地図生成部106に対して、エレベータ移動前に作成した1階フロア(1F)の地図の保存指示を出力する。
 地図生成部106は、地図構造解析部107からの指示に応じて作成地図を地図情報記憶部108に格納する。例えばエレベータ移動前に作成した1階フロア(1F)の地図を地図情報記憶部108に格納する。
  (ステップS124)
 次に、地図構造解析部107は、ステップS124において、エレベータ移動解析部105から、エレベータによる階層移動通知を入力したか否かを判定する。
 これは、図18に示すフローのステップS106の通知の入力確認処理である。
 ステップS124において、エレベータ移動解析部105からのエレベータ階層移動検出通知を入力したと判定した場合は、ステップS125に進む。
  (ステップS125)
 地図構造解析部107は、ステップS124において、エレベータ移動解析部105からのエレベータによる階層移動検出通知を入力したと判定した場合、ステップS125の処理を実行する。
 この場合、地図構造解析部107は、ステップS125において、エレベータ移動解析部105からの階層移動検出通知の回数をカウントして、移動階数を判定する。
 例えば、エレベータ移動解析部105からの階層移動検出通知の回数が1回であれば、ロボットはエレベータにより1フロア移動したと判定する。エレベータ移動解析部105からの階層移動検出通知の回数が2回であれば、ロボットはエレベータにより2フロア移動したと判定する。
  (ステップS126)
 次に、地図構造解析部107は、ステップS126において、エレベータ移動解析部105から、エレベータ停止検出通知を入力したか否かを判定する。
 エレベータ停止検出通知を入力したと判定した場合、ステップS127に進む。
 エレベータ停止検出通知を入力していない場合は、ステップS125の処理を継続して実行する。
  (ステップS127)
 ステップS126において、地図構造解析部107がエレベータ移動解析部105から、エレベータ停止検出通知を入力したと判定した場合、ステップS127の処理を実行する。
 この場合、地図構造解析部107は、ステップS127において、地図構造情報記憶部109に、
 「(3)地図遷移ノード間移動量データ」=「エレベータ移動前の階→エレベータ移動後の階」
 この地図遷移ノード間移動量データを記録する。これは、先に図17を参照して説明した地図構造情報記憶部109の記録データである
  (ステップS128)
 次に、地図構造解析部107は、ステップS128において、地図生成部106に対して、エレベータ移動後のフロアにおいて新規地図の作成指示を通知する。
 地図生成部106は、地図構造解析部107からこの通知を受領すると、エレベータ移動後のフロアにおいて新規地図の作成を開始する。
  (ステップS129)
 次に、地図構造解析部107は、ステップS129において、エレベータ移動後の作成地図におけるエレベータ位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図17を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2b)地図遷移後ソースフレーム
     地図遷移後ターゲットフレーム
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータにより2階フロア(2F)に移動して、2階フロア(2F)の地図作成を開始する場合には、上記情報(2b)は、以下のような情報となる。
 (2b)地図遷移後ソースフレーム=2F地図
     地図遷移後ターゲットフレーム=EV_2F:(x,y,z,yaw)
 以上、図18、図19を参照して図15に示す実施例1の情報処理装置100のエレベータ移動解析部105と、地図構造解析部107が実行する具体的な処理のシーケンスについて説明した。
 次に、図15に示す実施例1の情報処理装置100のエレベータ移動解析部105と、地図構造解析部107と、地図生成部106の各々で実行されるデータ処理や、各部間のデータ転送処理のシーケンスについて、図20以下に示すシーケンス図を参照して説明する。
 図20~図22に示すシーケンス図は、情報処理装置100(ロボット10)がエレベータ移動前後で2つの地図を作成する場合に、エレベータ移動解析部105と、地図構造解析部107と、地図生成部106の各々で実行されるデータ処理や、各部間のデータ転送処理のシーケンスについて説明するシーケンス図である。以下、このシーケンス図の各ステップの処理について説明する。
  (ステップS151)
 まず、ステップS151において、情報処理装置100(ロボット10)の地図生成部106が、地図1の作成を開始する。例えば1階フロア(1F)の初期位置からSLAM処理を開始して、1階フロア(1F)の地図作成を開始する。
 ロボット10は地図作成をほぼ完了した時点で、ロボット10がエレベータに乗り込み、エレベータによる移動を開始する。
  (ステップS152)
 ステップS152において、エレベータ移動解析部105は、IMU(慣性計測部)102から入力した加速度情報に基づいて、ロボット10の上下方向の加速度を検出すると、地図構造解析部107に対して、エレベータによるロボット移動の検知を通知する。
  (ステップS153)
 地図構造解析部107は、エレベータ移動解析部105からエレベータによるロボット移動の検知通知を受領すると、ステップS153において、地図生成部106に対して、現在の自己位置の問合せを行う。
  (ステップS154)
 地図生成部106は、地図構造解析部107からの自己位置問合せに応じて、SLAM処理において算出済みの自己位置を地図構造解析部107に送信する。
 なお、この自己位置は、ステップS151で作成を開始している地図1の座標系における自己位置であり、エレベータ位置に相当する。
 例えばステップS151で作成を開始している地図1が1階フロア(1F)の地図である場合、その1階フロア(1F)の地図に適用している座標系での1階フロア(1F)のエレベータ位置となる。
  (ステップS155)
 次に、地図構造解析部107は、ステップS155において、ロボット10のエレベータ移動の検出確認に応じて地図構造情報記憶部109に、まず、先に図17を参照して説明した、
 「(1)地図遷移ノード属性」=「エレベータ」を記録する。
 さらに、地図構造解析部107は、エレベータ移動前の作成地図におけるエレベータ位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 地図構造解析部107は、地図生成部106から取得した自己位置、すなわちエレベータ位置を地図構造情報記憶部109に記録する。
 この処理は、先に図19のフローを参照して説明したステップS122の処理に対応する処理となる。地図構造解析部107は、エレベータ移動前の作成地図におけるエレベータ位置を取得して地図構造情報として記録する処理を実行する。
 記録情報は、先に図17を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2a)地図遷移前ソースフレーム
     地図遷移前ターゲットフレーム
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を開始した場合には、上記情報(2a)は、以下のような情報となる。
 (2a)地図遷移前ソースフレーム=1F地図
     地図遷移前ターゲットフレーム=EV_1F:(x,y,z,yaw)
  (ステップS156)
 次に、地図構造解析部107は、ステップS156において、地図生成部106に対して、エレベータ移動前の作成地図の保存指示を出力する。
 この処理は、先に図19のフローを参照して説明したステップS123の処理に対応する処理となる。
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を開始した場合には、地図構造解析部107は、ステップS156において、地図生成部106に対して、エレベータ移動前に作成した1階フロア(1F)の地図の保存指示を出力する。
  (ステップS157)
 地図生成部106は、ステップS157において、地図構造解析部107からの指示に応じて作成地図を地図情報記憶部108に格納する。例えばエレベータ移動前に作成した1階フロア(1F)の地図を地図情報記憶部108に格納する。
  (ステップS158)
 次に、エレベータ移動解析部105は、ステップS158において、エレベータの階層移動検出通知を出力する。
 この処理は、先に説明した図17に示すフローのステップS106の処理に対応する。
  (ステップS159)
 地図構造解析部107は、ステップS159において、エレベータ移動解析部105からの階層移動検出通知に基づいて、移動階数を判定する。
 すなわち、エレベータ移動解析部105からの階層移動検出通知の回数をカウントして、移動階数を判定する。
 この処理は、先に説明した図19に示すフローのステップS125の処理に対得王する。
 例えば、エレベータ移動解析部105からの階層移動検出通知の回数が1回であれば、ロボットはエレベータにより1フロア移動したと判定する。エレベータ移動解析部105からの階層移動検出通知の回数が2回であれば、ロボットはエレベータにより2フロア移動したと判定する。
  (ステップS160)
 次に、エレベータ移動解析部105は、ステップS160において、地図構造解析部107に対して、エレベータの停止検出を通知する。
 この処理は、先に説明した図18のフローのステップS109の処理に対応する処理である。
 エレベータ移動解析部105は、IMU(慣性計測部)102かからの入力に基づいて上下方向の速度の減速を検出した場合、地図構造解析部107に対して、エレベータ停止の検知を通知する。
  (ステップS161)
 次に、地図構造解析部107は、エレベータ移動解析部105からエレベータ停止通知を受領すると、ステップS161において、エレベータ移動量を解析し、解析した移動量を地図構造情報記憶部109に記録する。
 地図構造情報記憶部109に記録する移動量情報は、先に図17を参照して説明した記録情報、すなわち、
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
 これらの情報中の「地図遷移ノード間移動量データ」に相当する。
 「(3)地図遷移ノード間移動量データ」は、ロボット10が生成する2つの地図における2つの地図遷移ノード間の移動量、例えば1階フロア(1F)のエレベータ位置のノードと、2階フロア(2F)のエレベータ位置のノードの2つの地図遷移ノードのノード間の移動量データである。
 記録データは、例えば、
 「(3)地図遷移ノード間移動量データ」=「エレベータ移動前の階→エレベータ移動後の階」
 このような記録データとなる。
 あるいは、移動量を、(x,y,z,yaw)の各要素単位で記録する構成としてもよい。すなわち、
 x方向の移動量(rel_x)
 y方向の移動量(rel_y)
 z方向の移動量(rel_z)
 yaw角の移動量(rel_yaw)
 これら、要素単位の移動量を記録してもよい。
  (ステップS162)
 次に、地図構造解析部107は、ステップS162において、地図生成部106に対して、エレベータ移動後のフロアでの新規地図作成を指示する。
  (ステップS163)
 次に、地図生成部106は、ステップS163において、地図構造解析部107からの新規地図作成指示の入力に応じて新規地図(地図2)の作成を開始する。
  (ステップS164)
 次に、地図構造解析部107は、ステップS164において、地図生成部106に対して、現在の自己位置の問合せを行う。
  (ステップS165)
 地図生成部106は、地図構造解析部107からの自己位置問合せに応じて、SLAM処理において算出済みの自己位置を地図構造解析部107に送信する。
 なお、この自己位置は、ステップS163で作成を開始している地図2の座標系における自己位置であり、エレベータによる移動後のエレベータ位置に相当する。
 例えばステップS163で作成を開始している地図2が2階フロア(2F)の地図である場合、その2階フロア(2F)の地図に適用している座標系での2階フロア(2F)のエレベータ位置となる。
  (ステップS166)
 次に、地図構造解析部107は、ステップS166において、エレベータ移動後の作成地図におけるエレベータ位置、すなわち上記ステップS165で父主生成部106から取得した自己位置(=エレベータ位置)を地図構造情報記憶部109に記録する処理を実行する。
 このように、地図構造解析部107は、地図生成部106から取得した自己位置、すなわちエレベータ位置を地図構造情報記憶部109に記録する。
 この処理は、先に図19のフローを参照して説明したステップS129の処理に対応する処理となる。地図構造解析部107は、エレベータ移動後の作成地図におけるエレベータ位置を取得して地図構造情報として記録する処理を実行する。
 記録情報は、先に図17を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2b)地図遷移後ソースフレーム
     地図遷移後ターゲットフレーム
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を行ない、2階フロア(2F)に到着後、2階フロア(2F)の地図作成を開始する場合には、上記情報(2b)は、以下のような情報となる。
 (2b)地図遷移後ソースフレーム=2F地図
     地図遷移後ターゲットフレーム=EV_2F:(x,y,z,yaw)
 以上、説明したように、本開示の地図作成処理では、複数の地図を作成し、複数地図の作成の間の移動が、ロボット10が実行するSLAM処理で移動ルート等を解析できない移動であっても、地図構造情報記憶部109に複数の地図の関係を明確にする情報を記録する構成としている。
 具体的には、地図構造情報記憶部109に、
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
 これらのデータを記録する。
 これらのデータを記録することで、地図情報記憶部108に記録された複数の個別の地図の関係性を解析することが可能となる。
 結果として、例えば、地図情報記憶部108の格納データと地図構造情報記憶部109の格納データを用いることで、オペレータ等の外部の指示を利用することなく、異なる複数の環境地図を利用した自律走行をロボットに行わせることが可能となる。
  (3-2.(実施例2)カメラの撮影画像を解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例について)
 次に、実施例2として、カメラの撮影画像を解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例について説明する。
 図23以下を参照して実施例2の構成と処理について説明する。
 実施例2は、カメラの撮影画像を解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例である。
 図23~図25は、カメラの撮影画像を解析してエレベータ移動を検出する処理の詳細について説明する図である。
 地図作成処理を行うロボット10は、例えば、まず1階フロア(1F)の地図を作成し、1階フロア(1F)のエレベータ前に到着する。
 この状態が図23(a)に示す状態である。
 次に、図23(b)に示すように、ロボット10は、地図作成が完了したフロア、例えば1階フロア(1F)で扉の開いたエレベータに乗り込む。
 その後、エレベータの扉が閉じる。
 この状態が図24(c)に示す状態である。
 ロボット10は、エレベータ内の様子をロボット10に装着されたカメラで撮影する。
 ロボット10内の情報処理装置のデータ処理部は、エレベータ内の様子を撮影した画像を解析して、ロボット10が閉空間に侵入したことを検出する。
 閉空間への侵入は、例えばロボット10が動いていないのに、解放領域(=オブジェクトが検出されない進行可能な領域)が消滅したことで検出可能である。なお、解放領域の有無は、ロボット10が生成する地図、地図、例えばLiDAR検出情報を用いて生成される点群地図や占有格子地図などを参照することで判定できる。
 その後、エレベータは次の地図作成フロアに移動するため上昇または下降を始める。例えば、現在地点が1階フロア(1F)であり、次の地図作成フロアが2階フロア(2F)である場合は、例えば2階フロア(2F)に移動するために上昇を始める。
 この状態が図24(d)に示す状態である。
 ロボット10は、エレベータ内の階数表示部をロボット10に装着されたカメラで撮影する。
 ロボット10内の情報処理装置のデータ処理部は、エレベータ内の階数表示部を撮影した画像を解析して、エレベータの移動階数を確認する。
 その後、エレベータは次の地図作成フロア、例えば2階フロア(2F)に到着し、扉が開けられる。
 この状態が図25(e)に示す状態である。
 ロボット10内の情報処理装置のデータ処理部は、エレベータ内の様子を撮影した画像を解析して、開空間を検出する。
 開空間の検出は、例えばロボット10が動いていないのに、解放領域(=オブジェクトが検出されない進行可能な領域)が出現したことで検出可能である。なお、解放領域の有無は、前述したようにロボット10が生成する地図、例えばLiDAR検出情報を用いて生成される点群地図や占有格子地図などを参照することで判定できる。
 このように、実施例2では、ロボット10に装着したカメラの撮影画像や、LiDAR検出情報を用いて生成される点群地図を解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する。
 次に、図26を参照して、本実施例2の情報処理装置の構成例について説明する。
 図26は、本実施例2の情報処理装置120の構成例を示すブロック図である。
 この情報処理装置120は地図作成を行うロボット10内部に搭載されている。なお、センサ等を除く一部の構成についてはロボット10と通信可能な装置、例えばサーバ等に設定した構成とすることもできる。
 図26に示す情報処理装置120の構成について説明する。
 図26に示すように、情報処理装置120は、カメラ121、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、エレベータ移動解析部105、地図生成部106、地図構造解析部107、地図情報記憶部108、地図構造情報記憶部109を有する。
 カメラ121以外の構成部、すなわち、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、エレベータ移動解析部105、地図生成部106、地図構造解析部107、地図情報記憶部108、地図構造情報記憶部109、これらは先に図15を参照して説明した実施例1の情報処理装置100と同様の構成である。
 本実施例2では、カメラ121の撮影画像情報125と、LiDAR104の生成する点群情報114がエレベータ移動解析部105に入力される。
 カメラ121は、ロボット周囲の画像を撮影し、撮影した画像、すなわち、図26に示す撮影画像情報125をエレベータ移動解析部105に出力する。
 LiDAR104は、レーザ光に基づいてロボット周囲のオブジェクト距離を算出し、算出した結果に基づくオブジェクト位置を示す点群情報114を生成してエレベータ移動解析部105と、地図生成部106に出力する。
 エレベータ移動解析部105は、カメラ121が生成する撮影画像情報125と、LiDAR104が生成する点群情報114を入力し、これらの入力情報に基づいて、エレベータを利用した移動が発生しているか否かのエレベータ検出情報と、エレベータによる移動階数情報に相当するエレベータ移動量を解析する。
 エレベータ移動解析部105は、例えばカメラ121が生成する撮影画像情報125を解析して、ロボットのエレベータ乗降、およびエレベータ乗降階数を解析することができる。
 エレベータ移動解析部105の生成した解析情報、すなわち、エレベータ検出情報&エレベータ移動量115は、地図構造解析部107に出力する。
 実施例2では、このエレベータ移動解析部105による処理が、実施例1とは大きく異なる。
 すなわち、エレベータ移動解析部105は、カメラ121が生成する撮影画像情報125と、LiDAR104が生成する点群情報114を用いて、エレベータを利用した移動が発生しているか否かのエレベータ検出情報と、エレベータによる移動階数情報に相当するエレベータ移動量を解析する。
 具体的には、図24(c)を参照して説明したように、ロボット10がエレベータに入ってエレベータが閉じられた場合、エレベータ移動解析部105は、カメラ121が生成する撮影画像情報125、すなわち、エレベータ内の様子を撮影した画像を解析して、ロボット10が閉空間に侵入したことを検出する。
 さらに、エレベータ移動解析部105は、LiDAR104が生成する点群情報114を用いて、解放領域(=オブジェクトが検出されない進行可能な領域)が消滅したこと、すなわちロボット10が閉空間に侵入したことを検知し、この検知結果に基づいてエレベータへの乗り込みが発生したことを検知する。
 さらに、図24(d)を参照して説明したように、エレベータが移動を開始すると、エレベータ内の階数表示部をロボット10に装着されたカメラ121が撮影する。
 エレベータ移動解析部105は、カメラ121の生成した撮影画像情報125を解析する。すなわち、エレベータ内の階数表示部を撮影した画像を解析して、エレベータの移動階数を確認する。
 さらに、図25(e)を参照して説明したように、エレベータが次の地図作成フロア、例えば2階フロア(2F)に到着すると扉が開けられる。
 エレベータ移動解析部105は、カメラ121の生成した撮影画像情報125を解析して、開空間を検出する。
 開空間の検出は、例えばロボット10が動いていないのに、解放領域(=オブジェクトが検出されない進行可能な領域)が出現したことで検出可能である。なお、解放領域の有無は、LiDAR104が生成する点群情報114を用いて判定することができる。
 このように、実施例2では、ロボット10に装着したカメラの撮影画像や、LiDAR検出情報を用いて生成される点群地図を解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する。
 次に、図26に示す実施例2の情報処理装置120のエレベータ移動解析部105と、地図構造解析部107が実行する具体的な処理のシーケンスについて説明する。
 まず、図27を参照して、エレベータ移動解析部105が実行する処理シーケンスについて説明する。
 図27に示すフローチャートは、図26に示す実施例2の情報処理装置120のエレベータ移動解析部105が実行する処理シーケンスを説明するフローチャートである。
 なお、以下において説明するフローに従った処理は、ロボット等の移動体内の情報処理装置、あるいはロボット等の移動体と通信可能な情報処理装置において情報処理装置の記憶部に格納されたプログラムに従って実行することが可能である。例えばプログラム実行機能を有するCPU等のプロセッサによるプログラム実行処理として行うことができる。
 以下、図27に示すフローの各ステップの処理について説明する。
  (ステップS201)
 まず、エレベータ移動解析部105は、ステップS201において、LiDAR104が生成する点群情報114を入力し、入力した点群情報を解析する。
 前述したように、LiDAR104は、レーザ光に基づいてロボット周囲のオブジェクト距離を算出し、算出した結果に基づくオブジェクト位置を示す点群情報114を生成してエレベータ移動解析部105に出力する。
  (ステップS202)
 次に、エレベータ移動解析部105は、ステップS202において、LiDAR104から入力した点群情報114の解析結果として、ロボット10が閉空間に侵入したことを検知したか否かを判定する。
 ロボット10が閉空間に侵入したか否かは、LiDAR104から入力した点群情報114から解放領域(=オブジェクトが検出されない進行可能な領域)が検出されるか否かに応じて判定することができる。
 閉空間が検出された場合はステップS203に進む。検出しない場合は、ステップS201に戻り、ステップS201以下の処理を繰り返す。
  (ステップS203~S204)
 ステップS202において閉空間を検出した場合、エレベータ移動解析部105は、ステップS203において、カメラ撮影画像を解析し、エレベータ内であるか否かを判定する。例えば、撮影画像がエレベータ内部の特徴量を有するか否かを解析する。
 カメラ撮影画像に基づいてエレベータ内であると判定された場合は、ステップS205に進む。
  (ステップS205)
 次に、エレベータ移動解析部105は、ステップS205において、カメラ撮影画像を解析し、撮影画像から階層表示部を検出して、現階層と階層移動を確認する。
  (ステップS206)
 次に、エレベータ移動解析部105は、ステップS206において、地図構造解析部107に対して、エレベータによるロボット移動検出を通知する。
  (ステップS207)
 次に、エレベータ移動解析部105は、ステップS207において、LiDAR104が生成する点群情報114を入力し、入力した点群情報を解析する。
 前述したように、LiDAR104は、レーザ光に基づいてロボット周囲のオブジェクト距離を算出し、算出した結果に基づくオブジェクト位置を示す点群情報114を生成してエレベータ移動解析部105に出力する。
  (ステップS208)
 次に、エレベータ移動解析部105は、ステップS208において、LiDAR104から入力した点群情報114の解析結果から開空間を検出したか否かを判定する。
 開空間の検出有無は、LiDAR104から入力した点群情報114から解放領域(=オブジェクトが検出されない進行可能な領域)が検出されるか否かに応じて判定することができる。
 開空間が検出された場合はステップS209に進む。検出しない場合は、ステップS207に戻り、ステップS207以下の処理を繰り返す。
  (ステップS209)
 次に、エレベータ移動解析部105は、ステップS209において、カメラ121の生成した撮影画像情報125を解析する。すなわち、エレベータ内の階数表示部を撮影した画像を解析して、エレベータの移動階数を確認する。
  (ステップS210)
 次に、エレベータ移動解析部105は、ステップS210において、地図構造解析部107に対して、エレベータによるロボット移動停止の検知を通知する。
 地図構造解析部107は、このフローに従って、エレベータ移動解析部105から、ロボットのエレベータによる移動の開始や、フロア(階)移動や、移動停止等の情報を、遂次、入力する。
 次に、図28に示すフローチャートを参照して、これらの情報を入力する地図構造解析部107の実行する処理のシーケンスについて説明する。
 図28に示すフローのステップS221以下の処理について、順次、説明する。
  (ステップS221)
 まず、地図構造解析部107は、ステップS221において、エレベータ移動解析部105から、エレベータ移動検出通知を入力したか否かを判定する。
 これは、図27に示すフローのステップS206の通知の入力確認処理である。
 ステップS221において、エレベータ移動解析部105からのエレベータ移動検出通知を入力したと判定した場合は、ステップS222に進む。
  (ステップS222)
 地図構造解析部107は、ステップS221において、エレベータ移動解析部105からのエレベータ移動検出通知を入力したと判定した場合、ステップS222の処理を実行する。
 この場合、地図構造解析部107は、ステップS222において、ロボット10のエレベータ移動の発生に応じて地図構造情報記憶部109に、まず、先に図17を参照して説明した、
 「(1)地図遷移ノード属性」=「エレベータ」を記録する。
 さらに、地図構造解析部107は、エレベータ移動前の作成地図におけるエレベータ位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図17を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2a)地図遷移前ソースフレーム
     地図遷移前ターゲットフレーム
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を開始した場合には、上記情報(2a)は、以下のような情報となる。
 (2a)地図遷移前ソースフレーム=1F地図
     地図遷移前ターゲットフレーム=EV_1F:(x,y,z,yaw)
  (ステップS223)
 次に、地図構造解析部107は、ステップS223において、地図生成部106に対して、エレベータ移動前の作成地図の保存指示を出力する。
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を開始した場合には、地図構造解析部107は、ステップS223において、地図生成部106に対して、エレベータ移動前に作成した1階フロア(1F)の地図の保存指示を出力する。
 地図生成部106は、地図構造解析部107からの指示に応じて作成地図を地図情報記憶部108に格納する。例えばエレベータ移動前に作成した1階フロア(1F)の地図を地図情報記憶部108に格納する。
  (ステップS224)
 次に、地図構造解析部107は、ステップS224において、エレベータ移動解析部105から、エレベータ階層移動停止と停止階数の通知を入力したか否かを判定する。
 これは、図27に示すフローのステップS210の通知の入力確認処理である。
 ステップS224において、エレベータ移動解析部105からのエレベータ階層移動停止と停止階数の通知を入力したと判定した場合は、ステップS225に進む。
  (ステップS225)
 地図構造解析部107は、ステップS224において、エレベータ移動解析部105からのエレベータによる階層移動停止と停止階数の通知を入力したと判定した場合、ステップS225の処理を実行する。
 この場合、地図構造解析部107は、ステップS225において、エレベータ移動解析部105から入力した停止階数に基づいて、地図構造情報記憶部109に、
 「(3)地図遷移ノード間移動量データ」=「エレベータ移動前の階→エレベータ移動後の階」
 この地図遷移ノード間移動量データを記録する。これは、先に図17を参照して説明した地図構造情報記憶部109の記録データである
  (ステップS226)
 次に、地図構造解析部107は、ステップS226において、地図生成部106に対して、エレベータ移動後のフロアにおいて新規地図の作成指示を通知する。
 地図生成部106は、地図構造解析部107からこの通知を受領すると、エレベータ移動後のフロアにおいて新規地図の作成を開始する。
  (ステップS227)
 次に、地図構造解析部107は、ステップS227において、エレベータ移動後の作成地図におけるエレベータ位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図17を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2b)地図遷移後ソースフレーム
     地図遷移後ターゲットフレーム
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータにより2階フロア(2F)に移動して、2階フロア(2F)の地図作成を開始する場合には、上記情報(2b)は、以下のような情報となる。
 (2b)地図遷移後ソースフレーム=2F地図
     地図遷移後ターゲットフレーム=EV_2F:(x,y,z,yaw)
 以上、図27、図28を参照して図26に示す実施例2の情報処理装置120のエレベータ移動解析部105と、地図構造解析部107が実行する具体的な処理のシーケンスについて説明した。
 このように、実施例2では、ロボット10に装着したカメラの撮影画像や、LiDAR検出情報を用いて生成される点群地図を解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する。
  (3-3.(実施例3)ユーザ入力情報を用いてエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例について)
 次に、実施例3として、ユーザ入力情報を用いてエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例について説明する。
 図29以下を参照して実施例3の構成と処理について説明する。
 実施例3は、ユーザ入力情報を用いてエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例である。
 図29~図30は、ユーザ入力情報を用いてエレベータ移動を検出する処理の詳細について説明する図である。
 地図作成処理を行うロボット10は、例えば、まず1階フロア(1F)の地図を作成し、1階フロア(1F)のエレベータ前に到着する。
 この状態が図29(a)に示す状態である。
 次に、図29(b)に示すように、ロボット10は、地図作成が完了したフロア、例えば1階フロア(1F)で扉の開いたエレベータに乗り込む。
 オペレータ等のユーザは、ロボット10の動きを観察し、ロボット10がエレベータに乗り込んだことを確認すると、情報処理装置のUI部を介して、ロボット10がエレベータに乗り込んだことを入力する。
 なお、ユーザからの入力情報はロボット10のUI部に直接、入力してもよいが、ロボット10と通信可能なコントローラ等のUI部を介して入力することもできる。
 その後、エレベータの扉が閉じてエレベータが移動を開始する。
 この状態が図30(c)に示す状態である。
 オペレータ等のユーザは、ロボット10の動きを観察し、ロボット10がエレベータに乗り込み、エレベータの扉が閉じ、エレベータが移動を開始したことを確認すると、情報処理装置のUI部を介して、ロボット10が乗り込んだエレベータが移動を開始したことを入力する。
 なお、ユーザからの入力情報はロボット10のUI部に直接、入力してもよいが、ロボット10と通信可能なコントローラ等のUI部を介して入力することもできる。
 その後、エレベータは次の地図作成フロア、例えば2階フロア(2F)に到着し、扉が開けられる。
 この状態が図30(d)に示す状態である。
 オペレータ等のユーザは、ロボット10の動きを観察し、ロボット10の乗り込んだエレベータが停止し、扉が開いたことを確認すると、情報処理装置のUI部を介して、ロボット10の乗り込んだエレベータが停止したことや停止階数、扉が開いたことなどの情報を入力する。
 なお、ユーザからの入力情報はロボット10のUI部に直接、入力してもよいが、ロボット10と通信可能なコントローラ等のUI部を介して入力することもできる。
 このように、実施例3では、ロボット10の動きを観察するユーザのユーザ入力情報を用いてエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例である。
 次に、図31を参照して、本実施例3の情報処理装置の構成例について説明する。
 図31は、本実施例3の情報処理装置130の構成例を示すブロック図である。
 この情報処理装置130は地図作成を行うロボット10内部に搭載されている。なお、センサ等を除く一部の構成についてはロボット10と通信可能な装置、例えばサーバ等に設定した構成とすることもできる。
 図31に示す情報処理装置130の構成について説明する。
 図31に示すように、情報処理装置130は、UI部131、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、地図生成部106、地図構造解析部107、地図情報記憶部108、地図構造情報記憶部109を有する。
 本実施例3の情報処理装置130と、先に図15を参照して説明した実施例1の情報処理装置100との差分は、実施例1の情報処理装置100が有していた気圧センサ101と、エレベータ移動解析部105を削除し、新たにUI部131を追加した点である。
 その他の構成、すなわち、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、地図生成部106、地図構造解析部107、地図情報記憶部108、地図構造情報記憶部109、これらは先に図15を参照して説明した実施例1の情報処理装置100と同様の構成である。
 本実施例3では、UI部131を介して入力されるユーザ入力情報135が、地図構造解析部107に入力される。
 UI部131を介して入力されるユーザ入力情報135は、先に図29、図30を参照して説明したように、
 (a)ロボット10がエレベータに乗り込んだこと
 (b)ロボット10が乗り込んだエレベータが移動を開始したこと
 (c)ロボット10が乗り込んだエレベータが停止したこと、および停止階数
 これらの情報である。
 地図構造解析部107は、これらのユーザ入力情報を解析して、ロボット10がエレベータを利用して移動していることや、移動階数を解析して、先に図17を参照して説明した地図構造情報を生成する処理などを行う。
 図32を参照して本実施例3の情報処理装置130の地図構造解析部107が実行する具体的な処理のシーケンスについて説明する。
  (ステップS301)
 まず、地図構造解析部107は、ステップS301において、UI部131から、ロボットのエレベータ乗り込みと移動開始通知を入力したか否かを判定する。
 入力した場合は、ステップS302に進む。
  (ステップS302)
 地図構造解析部107は、ステップS301において、UI部131からのロボットのエレベータ乗り込みと移動開始通知を入力したと判定した場合、ステップS302の処理を実行する。
 この場合、地図構造解析部107は、ステップS302において、ロボット10のエレベータ移動の発生に応じて地図構造情報記憶部109に、まず、先に図17を参照して説明した、
 「(1)地図遷移ノード属性」=「エレベータ」を記録する。
 さらに、地図構造解析部107は、エレベータ移動前の作成地図におけるエレベータ位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図17を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2a)地図遷移前ソースフレーム
     地図遷移前ターゲットフレーム
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を開始した場合には、上記情報(2a)は、以下のような情報となる。
 (2a)地図遷移前ソースフレーム=1F地図
     地図遷移前ターゲットフレーム=EV_1F:(x,y,z,yaw)
  (ステップS303)
 次に、地図構造解析部107は、ステップS303において、地図生成部106に対して、エレベータ移動前の作成地図の保存指示を出力する。
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を開始した場合には、地図構造解析部107は、ステップS123において、地図生成部106に対して、エレベータ移動前に作成した1階フロア(1F)の地図の保存指示を出力する。
 地図生成部106は、地図構造解析部107からの指示に応じて作成地図を地図情報記憶部108に格納する。例えばエレベータ移動前に作成した1階フロア(1F)の地図を地図情報記憶部108に格納する。
  (ステップS304)
 次に、地図構造解析部107は、ステップS304において、UI部131から、エレベータ停止、移動階数通知を入力したか否かを判定する。
 通知を入力したと判定した場合は、ステップS305に進む。
  (ステップS305)
 地図構造解析部107は、ステップS304において、UI部131から、エレベータ停止、移動階数通知を入力したと判定した場合、ステップS305の処理を実行する。
 この場合、地図構造解析部107は、ステップS305において、地図構造情報記憶部109に、
 「(3)地図遷移ノード間移動量データ」=「エレベータ移動前の階→エレベータ移動後の階」
 この地図遷移ノード間移動量データを記録する。これは、先に図17を参照して説明した地図構造情報記憶部109の記録データである
  (ステップS306)
 次に、地図構造解析部107は、ステップS306において、地図生成部106に対して、エレベータ移動後のフロアにおいて新規地図の作成指示を通知する。
 地図生成部106は、地図構造解析部107からこの通知を受領すると、エレベータ移動後のフロアにおいて新規地図の作成を開始する。
  (ステップS307)
 次に、地図構造解析部107は、ステップS307において、エレベータ移動後の作成地図におけるエレベータ位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図17を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2b)地図遷移後ソースフレーム
     地図遷移後ターゲットフレーム
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータにより2階フロア(2F)に移動して、2階フロア(2F)の地図作成を開始する場合には、上記情報(2b)は、以下のような情報となる。
 (2b)地図遷移後ソースフレーム=2F地図
     地図遷移後ターゲットフレーム=EV_2F:(x,y,z,yaw)
 以上、図32を参照して図31に示す実施例3の情報処理装置130の地図構造解析部107が実行する具体的な処理のシーケンスについて説明した。
 このように、実施例3は、ロボット10の動きを観察するユーザのユーザ入力情報を用いてエレベータ移動を検出して複数の地図と地図構造情報を生成する。
  (3-4.(実施例4)エレベータ乗降部に設置された通信部との通信データを解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例について)
 次に、実施例4として、エレベータ乗降部に設置された通信部との通信データを解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例について説明する。
 図33を参照して実施例4の構成と処理について説明する。
 実施例4は、エレベータ乗降部に設置された通信部との通信データを解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する実施例である。
 図33に示すように、エレベータの乗降口にデータ通信部145が備えられている。
 エレベータの乗降口のデータ通信部145はロボット10の情報処理装置と通信を行う。
 例えばエレベータの乗降口であることや、現在の階数情報等をロボット10に通知する。
 ロボット10は、エレベータの乗降口のデータ通信部145からの受信情報に基づいてエレベータの乗降口であることや現在の階数を確認する。この確認結果に基づいて、ロボット10のエレベータ移動を解析して複数の地図と地図構造情報を生成する。
 次に、図34を参照して、本実施例4の情報処理装置の構成例について説明する。
 図34は、本実施例4の情報処理装置140の構成例を示すブロック図である。
 この情報処理装置140は地図作成を行うロボット10内部に搭載されている。なお、センサ等を除く一部の構成についてはロボット10と通信可能な装置、例えばサーバ等に設定した構成とすることもできる。
 図34に示す情報処理装置140の構成について説明する。
 図34に示すように、情報処理装置140は、通信部141、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、エレベータ移動解析部105、地図生成部106、地図構造解析部107、地図情報記憶部108、地図構造情報記憶部109を有する。
 通信部141以外の構成部、すなわち、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、エレベータ移動解析部105、地図生成部106、地図構造解析部107、地図情報記憶部108、地図構造情報記憶部109、これらは先に図15を参照して説明した実施例1の情報処理装置100と同様の構成である。
 本実施例4では、通信部141の受信情報142と、LiDAR104の生成する点群情報114がエレベータ移動解析部105に入力される。
 通信部141は、図33を参照して説明したエレベータ乗降口に設置された通信部145の送信する情報を受信する。例えばエレベータの乗降口であることや、現在の階数情報等を通信部145から受信する。
 通信部141は、受信情報142をエレベータ移動解析部105に出力する。
 LiDAR104は、レーザ光に基づいてロボット周囲のオブジェクト距離を算出し、算出した結果に基づくオブジェクト位置を示す点群情報114を生成してエレベータ移動解析部105と、地図生成部106に出力する。
 エレベータ移動解析部105は、通信部141が受信した受信情報142と、LiDAR104が生成する点群情報114を入力し、これらの入力情報に基づいて、エレベータを利用した移動が発生しているか否かのエレベータ検出情報と、エレベータによる移動階数情報に相当するエレベータ移動量を解析する。
 エレベータ移動解析部105は、例えば通信部141が受信した受信情報142を解析して、ロボットのエレベータ乗降、およびエレベータ乗降階数を解析することができる。
 エレベータ移動解析部105の生成した解析情報、すなわち、エレベータ検出情報&エレベータ移動量115は、地図構造解析部107に出力する。
 実施例4では、このエレベータ移動解析部105による処理が、実施例1とは大きく異なる。
 すなわち、エレベータ移動解析部105は、通信部141がエレベータ乗降口に設置された通信部145から受信した受信情報142と、LiDAR104が生成する点群情報114を用いて、エレベータを利用した移動が発生しているか否かのエレベータ検出情報と、エレベータによる移動階数情報に相当するエレベータ移動量を解析する。
 次に、図34に示す実施例4の情報処理装置140のエレベータ移動解析部105と、地図構造解析部107が実行する具体的な処理のシーケンスについて説明する。
 まず、図35を参照して、エレベータ移動解析部105が実行する処理シーケンスについて説明する。
 図35に示すフローチャートは、図34に示す実施例4の情報処理装置140のエレベータ移動解析部105が実行する処理シーケンスを説明するフローチャートである。
 なお、以下において説明するフローに従った処理は、ロボット等の移動体内の情報処理装置、あるいはロボット等の移動体と通信可能な情報処理装置において情報処理装置の記憶部に格納されたプログラムに従って実行することが可能である。例えばプログラム実行機能を有するCPU等のプロセッサによるプログラム実行処理として行うことができる。
 以下、図35に示すフローの各ステップの処理について説明する。
  (ステップS401)
 まず、エレベータ移動解析部105は、ステップS401において、通信部141からの入力情報を検出したか否かを判定する。
 検出した場合は、ステップS402に進む。
  (ステップS402)
 次に、エレベータ移動解析部105は、ステップS402において、通信部141から入力した情報から、エレベータ検出情報、現在の階層情報を取得する。
  (ステップS403)
 次に、エレベータ移動解析部105は、ステップS403において、LiDAR104が生成する点群情報114を入力し、入力した点群情報を解析する。
 前述したように、LiDAR104は、レーザ光に基づいてロボット周囲のオブジェクト距離を算出し、算出した結果に基づくオブジェクト位置を示す点群情報114を生成してエレベータ移動解析部105に出力する。
  (ステップS404)
 次に、エレベータ移動解析部105は、ステップS402において、LiDAR104から入力した点群情報114の解析結果として、ロボット10が閉空間に侵入したことを検知したか否かを判定する。
 ロボット10が閉空間に侵入したか否かは、LiDAR104から入力した点群情報114から解放領域(=オブジェクトが検出されない進行可能な領域)が検出されるか否かに応じて判定することができる。
 閉空間が検出された場合はステップS405に進む。検出しない場合は、ステップS401に戻り、ステップS404以下の処理を繰り返す。
  (ステップS405)
 ステップS404において閉空間を検出した場合、エレベータ移動解析部105は、ステップS405において、IMU(慣性計測部)102から、IMU検出値、例えばロボットの加速度等を入力する。
  (ステップS406)
 次に、エレベータ移動解析部105は、ステップS406において、IMU(慣性計測部)102から入力した加速度の解析を実行して、上下方向の加速度を検出したか否かを判定する。
 上下方向の加速度を検出した場合はステップS407に進む。検出しない場合は、ステップS405に戻り、ステップS405以下の処理を繰り返す。
  (ステップS407)
 次に、エレベータ移動解析部105は、ステップS407において、地図構造解析部107に対して、エレベータによるロボットの階層移動検出を通知する。
  (ステップS408)
 次に、エレベータ移動解析部105は、ステップS408において、LiDAR104が生成する点群情報114を入力し、入力した点群情報を解析する。
 前述したように、LiDAR104は、レーザ光に基づいてロボット周囲のオブジェクト距離を算出し、算出した結果に基づくオブジェクト位置を示す点群情報114を生成してエレベータ移動解析部105に出力する。
  (ステップS409)
 次に、エレベータ移動解析部105は、ステップS409において、LiDAR104から入力した点群情報114の解析結果から開空間を検出したか否かを判定する。
 開空間の検出有無は、LiDAR104から入力した点群情報114から解放領域(=オブジェクトが検出されない進行可能な領域)が検出されるか否かに応じて判定することができる。
 開空間が検出された場合はステップS410に進む。検出しない場合は、ステップS408に戻り、ステップS408以下の処理を繰り返す。
  (ステップS410)
 次に、エレベータ移動解析部105は、ステップS410において、通信部141からの入力情報に基づいて現在の階層、すなわちエレベータ移動によって到着したフロアの階数を取得する。
  (ステップS411)
 次に、エレベータ移動解析部105は、ステップS411において、地図構造解析部107に対して、エレベータによるロボット移動停止の検出と停止階数を通知する。
 地図構造解析部107は、このフローに従って、エレベータ移動解析部105から、ロボットのエレベータによる移動の開始や、フロア(階)移動や、移動停止等の情報を、遂次、入力する。
 次に、図36に示すフローチャートを参照して、これらの情報を入力する地図構造解析部107の実行する処理のシーケンスについて説明する。
 図36に示すフローのステップS421以下の処理について、順次、説明する。
  (ステップS421)
 まず、地図構造解析部107は、ステップS421において、エレベータ移動解析部105から、エレベータ移動検出通知を入力したか否かを判定する。
 これは、図35に示すフローのステップS406の通知の入力確認処理である。
 ステップS421において、エレベータ移動解析部105からのエレベータ移動検出通知を入力したと判定した場合は、ステップS422に進む。
  (ステップS422)
 地図構造解析部107は、ステップS421において、エレベータ移動解析部105からのエレベータ移動検出通知を入力したと判定した場合、ステップS422の処理を実行する。
 この場合、地図構造解析部107は、ステップS422において、ロボット10のエレベータ移動の発生に応じて地図構造情報記憶部109に、まず、先に図17を参照して説明した、
 「(1)地図遷移ノード属性」=「エレベータ」を記録する。
 さらに、地図構造解析部107は、エレベータ移動前の作成地図におけるエレベータ位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図17を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2a)地図遷移前ソースフレーム
     地図遷移前ターゲットフレーム
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を開始した場合には、上記情報(2a)は、以下のような情報となる。
 (2a)地図遷移前ソースフレーム=1F地図
     地図遷移前ターゲットフレーム=EV_1F:(x,y,z,yaw)
  (ステップS423)
 次に、地図構造解析部107は、ステップS423において、地図生成部106に対して、エレベータ移動前の作成地図の保存指示を出力する。
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を開始した場合には、地図構造解析部107は、ステップS423において、地図生成部106に対して、エレベータ移動前に作成した1階フロア(1F)の地図の保存指示を出力する。
 地図生成部106は、地図構造解析部107からの指示に応じて作成地図を地図情報記憶部108に格納する。例えばエレベータ移動前に作成した1階フロア(1F)の地図を地図情報記憶部108に格納する。
  (ステップS424)
 次に、地図構造解析部107は、ステップS424において、エレベータ移動解析部105から、エレベータ停止、移動階数通知を入力したか否かを判定する。
 通知を入力したと判定した場合は、ステップS425に進む。
  (ステップS425)
 地図構造解析部107は、ステップS424において、エレベータ移動解析部105から、エレベータ停止、移動階数通知を入力したと判定した場合、ステップS425の処理を実行する。
 この場合、地図構造解析部107は、ステップS425において、地図構造情報記憶部109に、
 「(3)地図遷移ノード間移動量データ」=「エレベータ移動前の階→エレベータ移動後の階」
 この地図遷移ノード間移動量データを記録する。これは、先に図17を参照して説明した地図構造情報記憶部109の記録データである
  (ステップS426)
 次に、地図構造解析部107は、ステップS426において、地図生成部106に対して、エレベータ移動後のフロアにおいて新規地図の作成指示を通知する。
 地図生成部106は、地図構造解析部107からこの通知を受領すると、エレベータ移動後のフロアにおいて新規地図の作成を開始する。
  (ステップS427)
 次に、地図構造解析部107は、ステップS427において、エレベータ移動後の作成地図におけるエレベータ位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図17を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2b)地図遷移後ソースフレーム
     地図遷移後ターゲットフレーム
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータにより2階フロア(2F)に移動して、2階フロア(2F)の地図作成を開始する場合には、上記情報(2b)は、以下のような情報となる。
 (2b)地図遷移後ソースフレーム=2F地図
     地図遷移後ターゲットフレーム=EV_2F:(x,y,z,yaw)
 以上、図35、図36を参照して図34に示す実施例4の情報処理装置140のエレベータ移動解析部105と、地図構造解析部107が実行する具体的な処理のシーケンスについて説明した。
 このように、実施例4は、エレベータ乗降部に設置された通信部との通信データを解析してエレベータ移動を検出して複数の地図と地図構造情報を生成する。
  [4.(実施例5)地図作成済みのフロアに戻り、作成済みの地図の更新処理を行う実施例について]
 次に、実施例5として、地図作成済みのフロアに戻り、作成済みの地図の更新処理を行う実施例について説明する。
 本実施例5の処理の具体例について、図37を参照して説明する。
 図37に示す(a)~(c)の順で処理が行われる。
 まず、図37(a)は、ロボット10が、1階フロア(1F)の地図を作成後、エレベータで2階フロア(2F)に移動し、2階フロア(2F)の地図の作成を完了した状態を示している。
 例えば、ロボット10は、先に説明した実施例1の処理に従って2つのフロア単位の地図を作成して作成した地図を地図情報記憶部108に格納し、さらに地図構造情報を地図構造情報記憶部109に格納している。
 次に、ロボット10は、図37(b)に示すように、エレベータを利用して2階フロア(2F)から1階フロア(1F)に戻る。
 さらに、図37(c)に示すように、ロボット10は、1階フロア(1F)上を移動して、1階フロア(1F)の地図を、再度、作成する。
 本実施例5は、このように、ロボット10が既に作成済みの地図が存在する領域について、再度、地図を作成する場合に適用する処理である。
 具体的には、ロボット10が既に作成済みの地図が存在する領域について、再度、地図を作成する場合、ロボット10は、地図切り替え位置の位置情報を初期位置とし、作成済み1F地図_V1を取得して、取得地図を更新する処理により1F地図_V2を生成する。
 すなわち、すでに作成済みの地図が存在する場合は、新たに地図を作成するのではなく、作成済みの地図を更新して更新地図を作成する。
 このような処理を行うことで、過去の地図データを利用した処理が可能となり、地図作成処理かが効率化される。
 なお、例えば、上下階で構造がほぼ同じ場合、1F地図_V1、または2F地図_V1のいずれか1つを利用して更新する処理を行ってもよい。
 次に、図38を参照して、本実施例5の情報処理装置の構成例について説明する。
 図38は、本実施例5の情報処理装置150の構成例を示すブロック図である。
 この情報処理装置150は地図作成を行うロボット10内部に搭載されている。なお、センサ等を除く一部の構成についてはロボット10と通信可能な装置、例えばサーバ等に設定した構成とすることもできる。
 図38に示す情報処理装置150の構成について説明する。
 図38に示すように、情報処理装置150は、気圧センサ101、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、エレベータ移動解析部105、地図生成部106、地図構造解析部107、地図情報記憶部108、地図構造情報記憶部109を有する。
 これらは先に図15を参照して説明した実施例1の情報処理装置100と同様の構成である。
 実施例1との違いは、地図構造解析部107が、地図生成部106に出力する通知データ151である。
 本実施例5では、地図構造解析部107は、地図生成部106に対して、
 (a)地図保存指示、
 (b)新規地図作成指示、
 これらの指示の他、
 (c)新規地図作成開始時の初期位置と、作成済み地図読み込み指示
 これらの通知を実行する。
 上記(c)が、図37を参照して説明した地図の更新処理を行う際に利用される。
 次に、図38に示す実施例5の情報処理装置150のエレベータ移動解析部105と、地図構造解析部107が実行する具体的な処理のシーケンスについて説明する。
 まず、図39を参照して、エレベータ移動解析部105が実行する処理シーケンスについて説明する。
 図39に示すフローチャートは、図38に示す実施例5の情報処理装置150のエレベータ移動解析部105が実行する処理シーケンスを説明するフローチャートである。
 なお、以下において説明するフローに従った処理は、ロボット等の移動体内の情報処理装置、あるいはロボット等の移動体と通信可能な情報処理装置において情報処理装置の記憶部に格納されたプログラムに従って実行することが可能である。例えばプログラム実行機能を有するCPU等のプロセッサによるプログラム実行処理として行うことができる。
 以下、図39に示すフローの各ステップの処理について説明する。
  (ステップS501)
 まず、エレベータ移動解析部105は、ステップS501において、IMU(慣性計測部)102から、IMU検出値、例えばロボットの加速度等を入力する。
  (ステップS502)
 次に、エレベータ移動解析部105は、ステップS502において、IMU(慣性計測部)102から入力した加速度の解析を実行して、上下方向の加速度を検出したか否かを判定する。
 上下方向の加速度を検出した場合はステップS503に進む。検出しない場合は、ステップS501に戻り、ステップS501以下の処理を繰り返す。
  (ステップS503)
 ステップS502において上下方向の加速度を検出した場合、エレベータ移動解析部105は、ステップS503において、地図構造解析部107に対して、エレベータによるロボット移動の検知を通知する。
  (ステップS504)
 次に、エレベータ移動解析部105は、ステップS504において、気圧センサ101から、大気圧情報を入力し、入力した大気圧情報の解析を行う。
  (ステップS505)
 次に、エレベータ移動解析部105は、ステップS505において、気圧センサ101から入力した大気圧情報の解析結果として、階層移動を検出したか否かを判定する。
 この階層移動判定処理は、先に図14を参照して説明した現象の検出有無に基づく判定処理である。すなわち、エレベータが通過する空間の粗密に応じて発生する大気初変化の乱れが検出されたか否かに応じて判定する。
 大気初変化の乱れが発生した場合は、階層間の移動が行われたと判定する。
 なお、先に図14を参照して説明したように、エレベータによる階層移動を行なうと、乱れのないスムーズな大気圧変化と、乱れのある大気圧変化が交互に発生するが、エレベータ移動解析部105は、大気圧変化の乱れを階数移動と判定する。
  (ステップS506)
 次に、エレベータ移動解析部105は、ステップS506において、ステップS505における解析情報、すなわち、気圧センサ101から入力した大気圧情報の解析結果から得られる階層移動の検出情報を地図構造解析部107に通知する。
  (ステップS507)
 次に、エレベータ移動解析部105は、ステップS507において、IMU(慣性計測部)102から、IMU検出値、例えばロボットの加速度等を入力する。
  (ステップS508)
 次に、エレベータ移動解析部105は、ステップS508において、IMU(慣性計測部)102から入力した加速度の解析を実行して、上下方向の速度の減速を検出したか否かを判定する。
 上下方向の減速を検出した場合はステップS509に進む。検出しない場合は、ステップS507に戻り、ステップS507の処理を繰り返す。
  (ステップS509)
 ステップS508において上下方向の速度の減速を検出した場合、エレベータ移動解析部105は、ステップS509において、地図構造解析部107に対して、エレベータによるロボット移動停止の検知を通知する。
 地図構造解析部107は、このフローに従って、エレベータ移動解析部105から、ロボットのエレベータによる移動の開始や、フロア(階)移動や、移動停止等の情報を、遂次、入力する。
 次に、図40に示すフローチャートを参照して、これらの情報を入力する地図構造解析部107の実行する処理のシーケンスについて説明する。
 図40に示すフローのステップS521以下の処理について、順次、説明する。
  (ステップS521)
 まず、地図構造解析部107は、ステップS521において、エレベータ移動解析部105から、エレベータ移動検出通知を入力したか否かを判定する。
 これは、図39に示すフローのステップS503の通知の入力確認処理である。
 ステップS521において、エレベータ移動解析部105からのエレベータ移動検出通知を入力したと判定した場合は、ステップS522に進む。
  (ステップS522)
 地図構造解析部107は、ステップS521において、エレベータ移動解析部105からのエレベータ移動検出通知を入力したと判定した場合、ステップS522の処理を実行する。
 この場合、地図構造解析部107は、ステップS522において、ロボット10のエレベータ移動の発生に応じて地図構造情報記憶部109に、まず、先に図17を参照して説明した、
 「(1)地図遷移ノード属性」=「エレベータ」を記録する。
 さらに、地図構造解析部107は、エレベータ移動前の作成地図におけるエレベータ位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図17を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2a)地図遷移前ソースフレーム
     地図遷移前ターゲットフレーム
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を開始した場合には、上記情報(2a)は、以下のような情報となる。
 (2a)地図遷移前ソースフレーム=1F地図
     地図遷移前ターゲットフレーム=EV_1F:(x,y,z,yaw)
  (ステップS523)
 次に、地図構造解析部107は、ステップS523において、地図生成部106に対して、エレベータ移動前の作成地図の保存指示を出力する。
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータ移動を開始した場合には、地図構造解析部107は、ステップS523において、地図生成部106に対して、エレベータ移動前に作成した1階フロア(1F)の地図の保存指示を出力する。
 地図生成部106は、地図構造解析部107からの指示に応じて作成地図を地図情報記憶部108に格納する。例えばエレベータ移動前に作成した1階フロア(1F)の地図を地図情報記憶部108に格納する。
  (ステップS524)
 次に、地図構造解析部107は、ステップS524において、エレベータ移動解析部105から、エレベータによる階層移動通知を入力したか否かを判定する。
 これは、図39に示すフローのステップS506の通知の入力確認処理である。
 ステップS524において、エレベータ移動解析部105からのエレベータ階層移動検出通知を入力したと判定した場合は、ステップS525に進む。
  (ステップS525)
 地図構造解析部107は、ステップS524において、エレベータ移動解析部105からのエレベータによる階層移動検出通知を入力したと判定した場合、ステップS525の処理を実行する。
 この場合、地図構造解析部107は、ステップS525において、エレベータ移動解析部105からの階層移動検出通知の回数をカウントして、移動階数を判定する。
 例えば、エレベータ移動解析部105からの階層移動検出通知の回数が1回であれば、ロボットはエレベータにより1フロア移動したと判定する。エレベータ移動解析部105からの階層移動検出通知の回数が2回であれば、ロボットはエレベータにより2フロア移動したと判定する。
  (ステップS526)
 次に、地図構造解析部107は、ステップS526において、エレベータ移動解析部105から、エレベータ停止検出通知を入力したか否かを判定する。
 エレベータ停止検出通知を入力したと判定した場合、ステップS527に進む。
 エレベータ停止検出通知を入力していない場合は、ステップS525の処理を継続して実行する。
  (ステップS527)
 ステップS526において、地図構造解析部107がエレベータ移動解析部105から、エレベータ停止検出通知を入力したと判定した場合、ステップS527の処理を実行する。
 この場合、地図構造解析部107は、ステップS527において、地図構造情報記憶部109に、
 「(3)地図遷移ノード間移動量データ」=「エレベータ移動前の階→エレベータ移動後の階」
 この地図遷移ノード間移動量データを記録する。これは、先に図17を参照して説明した地図構造情報記憶部109の記録データである
  (ステップS528)
 次に、地図構造解析部107は、ステップS528において、エレベータが停止したフロアが、作成済み地図のない新規フロアであるか否かを判定する。
 この判定処理は、地図情報記憶部108の格納地図データや、地図構造情報記憶部109の格納データを参照して実行する。
 エレベータが停止したフロアが、作成済み地図のない新規フロアであると判定した場合は、ステップS529に進む。
 一方、エレベータが停止したフロアが、作成済み地図のあるフロアであると判定した場合はステップS531に進む。
  (ステップS529)
 ステップS528において、エレベータが停止したフロアが、作成済み地図のない新規フロアであると判定した場合は、ステップS529に進む。
 この場合、地図構造解析部107は、ステップS529において、地図生成部106に対して、エレベータ移動後のフロアにおいて新規地図の作成指示を通知する。
 地図生成部106は、地図構造解析部107からこの通知を受領すると、エレベータ移動後のフロアにおいて新規地図の作成を開始する。
  (ステップS530)
 次に、地図構造解析部107は、ステップS530において、エレベータ移動後の作成地図におけるエレベータ位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図17を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2b)地図遷移後ソースフレーム
     地図遷移後ターゲットフレーム
 例えば、ロボット10が1階フロア(1F)の地図を作成して、1階フロア(1F)からエレベータに乗り込んでエレベータにより2階フロア(2F)に移動して、2階フロア(2F)の地図作成を開始する場合には、上記情報(2b)は、以下のような情報となる。
 (2b)地図遷移後ソースフレーム=2F地図
     地図遷移後ターゲットフレーム=EV_2F:(x,y,z,yaw)
  (ステップS531)
 一方、ステップS528において、エレベータが停止したフロアが、作成済み地図のあるフロアであると判定した場合は、ステップS531に進む。
 この場合、地図構造解析部107は、ステップS531において、地図生成部106に対して、初期位置を通知し、作成済み地図の更新を指示する。
 地図生成部106は、この指示の入力に応じて、地図情報記憶部108に格納された作成済み地図を取得し、取得した作成済み地図を利用して更新処理を行う。
 このような処理を行うことで、過去の地図データを利用した処理が可能となり、地図作成処理かが効率化される。
 なお、前述したように、例えば、上下階で構造がほぼ同じ場合、1F地図_V1、または2F地図_V1のいずれか1つを利用して更新する処理を行ってもよい。
  [5.(実施例6)ロボット走行面の傾斜角に応じて生成地図を切り替える構成とした実施例について]
 次に、実施例6として、ロボットの走行面の傾斜角に応じて生成地図を切り替える構成とした実施例について説明する。
 図41以下を参照して、本実施例6の処理の概要について説明する。
 図41は、ロボット10が走行しながら地図を作成する走行面の例を示している。
 図41に示す走行面は、x1~x2までがほぼ水平面であり、x2~x3が傾斜面、すなわち傾斜角を有するスロープである傾斜面である。さらにx3~x4がほぼ水平面となっている。
 本実施例6では、このように走行面の傾斜角が変更される地点で、生成する地図を切り替える。
 図41に示す例では、ロボット10は、以下の3つの地図を生成する。
 (1)x1~x2までの水平面対応の地図1
 (2)x2~x3までの傾斜面対応の地図2
 (3)x3~x4までの水平面対応の地図3
 ロボット10は、これら3つの地図を生成する。
 ロボット10は、このような生成地図の切り替えを行う際に、地図構造情報記憶部に対して、切り替え前後の地図の関係性を示す地図構造情報を記録する。
 図42、図43を参照して、ロボット10が地図構造情報記憶部に記録する地図構造情報の例について説明する。
 図42には、ロボット10が、
 (p)x1~x2までの水平面対応の地図1の生成を完了し、
 (q)x2~x3までの傾斜面対応の地図2の生成を開始、
 する際に地図構造情報記憶部109に記録する地図構造情報Aの例を示している。
 地図構造情報Aは、先に図17を参照して説明したと同様、以下の情報が記録される。
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
 「(1)地図遷移ノード属性」は、生成する地図(環境地図)の切り替え前後のノードに関する属性(attribute)を記録するフィールドである。
 この例では、地図遷移ノードは、
 (p)x1~x2までの水平面対応の地図1の地図作成終了ノード=ノード1e、
 (q)x2~x3までの傾斜面対応の地図2の地図作成開始ノード=ノード2s、、
これら2つのノードである。
 これらの2つの地図遷移ノードの属性は「傾斜角変化」となり、
 (1)地図遷移ノード属性=傾斜格変化
 となる。
 「(2)地図遷移ノード情報」には、
 (p)x1~x2までの水平面対応の地図1の地図作成終了ノード=ノード1e、
 (q)x2~x3までの傾斜面対応の地図2の地図作成開始ノード=ノード2s、
これら2つのノード
 すなわち、これら2つの地図遷移ノード各々について、
 地図データ(地図実データ)の取得先情報であるソースフレーム(地図1、または地図2)と、
 各ノードの位置(x,y,z)と、3軸(XYZ軸)回りの回転量(roll,pitch,yaw)からなるノード情報(x,y,z,roll,pitch,yaw)
 これらのデータが記録される。
 本例では、ノード情報として、ロボット10の向きに相当するヨー(yaw)(=Z軸周りの回転量)のみではなく、ロボット進行方向に対する傾きに相当するピッチ(pitch)(=Y軸周りの回転量)、さらにロボット進行方向軸(X軸)周りの回転量に相当するロール(roll)についても記録する設定としている。
 本実施例では、(2)地図遷移ノード情報として、以下の各データが記録される。
 (2a)地図遷移前ソースフレーム=地図1
     地図遷移前ターゲットフレーム=1e:(x,y,z,roll,pitch,yaw)
 (2b)地図遷移後ソースフレーム=地図2
     地図遷移後ターゲットフレーム=2s:(x,y,z,roll,pitch,yaw)
 なお、図42に示す例では、地図1の地図遷移ノード1eは、ほぼ水平であり傾き=0degであるので、地図遷移前ターゲットフレーム=1eの傾きを示すピッチ(pitch)には0degが記録される。
 また、地図2の地図遷移ノード2sは、傾斜面にあり、例えば傾き=30degの場合、地図遷移前ターゲットフレーム=2sの傾きを示すピッチ(pitch)には30degが記録される。
 (3)地図遷移ノード間移動量データは、2つの地図遷移ノード間の移動量、すなわち、地図1の地図遷移ノード1eと、地図2の地図遷移ノード2s、これら2つの地図遷移ノード間の移動量データが記録される。
 移動量は、(x,y,z,roll,pitch,yaw)の各要素単位で記録する。すなわち、
 x方向の移動量(rel_x)
 y方向の移動量(rel_y)
 z方向の移動量(rel_z)
 roll角の移動量(rel_roll)
 pitch角の移動量(rel_pitch)
 yaw角の移動量(rel_yaw)
 これら、要素単位の移動量が記録される。
 なお、図42に示す例では、地図1の地図遷移ノード1eのピッチ(pitch)=0deg、地図2の地図遷移ノード2sのピッチ(pitch)=30degであるので、
 pitch角の移動量(rel_pitch)として、
 rel_pitch=+30deg
 このような移動量データが記録される。
 さらに、図43には、ロボット10が、
 (r)x2~x3までの傾斜面対応の地図2の生成を完了し、
 (s)x3~x4までの水平面対応の地図3の生成を開始、
 する際に地図構造情報記憶部109に記録する地図構造情報Bの例を示している。
 地図構造情報Bにも、先に図17を参照して説明したと同様、以下の情報が記録される。
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
 「(1)地図遷移ノード属性」は、生成する地図(環境地図)の切り替え前後のノードに関する属性(attribute)を記録するフィールドである。
 この例では、地図遷移ノードは、
 (r)x2~x3までの傾斜面対応の地図2の地図作成終了ノード=ノード2e、
 (s)x3~x4までの水平面対応の地図3の地図作成開始ノード=ノード3s、、
これら2つのノードである。
 これらの2つの地図遷移ノードの属性は「傾斜角変化」となり、
 (1)地図遷移ノード属性=傾斜格変化
 となる。
 「(2)地図遷移ノード情報」には、
 (r)x2~x3までの傾斜面対応の地図2の地図作成終了ノード=ノード2e、
 (s)x3~x4までの水平面対応の地図3の地図作成開始ノード=ノード3s、、
これら2つのノード
 すなわち、これら2つの地図遷移ノード各々について、
 地図データ(地図実データ)の取得先情報であるソースフレーム(地図2、または地図3)と、
 各ノードの位置(x,y,z)と、3軸(XYZ軸)回りの回転量(roll,pitch,yaw)からなるノード情報(x,y,z,roll,pitch,yaw)
 これらのデータが記録される。
 本実施例では、(2)地図遷移ノード情報として、以下の各データが記録される。
 (2a)地図遷移前ソースフレーム=地図2
     地図遷移前ターゲットフレーム=2e:(x,y,z,roll,pitch,yaw)
 (2b)地図遷移後ソースフレーム=地図3
     地図遷移後ターゲットフレーム=3s:(x,y,z,roll,pitch,yaw)
 なお、図43に示す例では、地図2の地図遷移ノード2eは傾斜面にあり、例えば傾き=30degの場合、地図遷移前ターゲットフレーム=2eの傾きを示すピッチ(pitch)には30degが記録される。
 また、地図3の地図遷移ノード3sは、ほぼ水平であり傾き=0degであるので、地図遷移前ターゲットフレーム=3sの傾きを示すピッチ(pitch)には0degが記録される。
 (3)地図遷移ノード間移動量データは、2つの地図遷移ノード間の移動量、すなわち、地図2の地図遷移ノード2eと、地図3の地図遷移ノード3s、これら2つの地図遷移ノード間の移動量データが記録される。
 図43に示す例では、地図2の地図遷移ノード2eのピッチ(pitch)=30deg、地図3の地図遷移ノード3sのピッチ(pitch)=0degであるので、
 pitch角の移動量(rel_pitch)として、
 rel_pitch=-30deg
 このような移動量データが記録される。
 次に、図44を参照して、本実施例6の情報処理装置の構成例について説明する。
 図44は、本実施例6の情報処理装置160の構成例を示すブロック図である。
 この情報処理装置160は地図作成を行うロボット10内部に搭載されている。なお、センサ等を除く一部の構成についてはロボット10と通信可能な装置、例えばサーバ等に設定した構成とすることもできる。
 図44に示す情報処理装置160の構成について説明する。
 図44に示すように、情報処理装置160は、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、傾斜角解析部161、地図生成部106、地図構造解析部107、地図情報記憶部108、地図構造情報記憶部109を有する。
 傾斜角解析部161以外の構成部、すなわち、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、エレベータ移動解析部105、地図生成部106、地図構造解析部107、地図情報記憶部108、地図構造情報記憶部109、これらは先に図15を参照して説明した実施例1の情報処理装置100と同様の構成である。
 本実施例6では、IMU(慣性計測部)102は、ロボット10の加速度、角速度を検出し、検出値である加速度、角速度112を傾斜角解析部161と、地図生成部106に出力する。
 傾斜角解析部161は、IMU(慣性計測部)102から入力する加速度、角速度112に基づいて、ロボット10の傾き、すなわちロボット走行面の傾斜角を検出する。
 傾斜角解析部161が検出したロボット10の傾き、すなわちロボット走行面の傾斜角を示す傾斜角変化検出情報、傾斜角情報162は、地図構造解析部107に出力される。
 地図構造解析部107は、傾斜角解析部161から入力する傾斜角変化検出情報、傾斜角情報162を利用して、2つの地図間の関係を示す地図構造情報119を生成して地図構造情報記憶部109に格納する。
 すなわち、先に図42、図43を参照して説明したような地図構造情報119を生成して地図構造情報記憶部109に格納する。
 図45を参照して地図構造解析部107が地図構造情報記憶部109に記録するデータについて説明する。
 図45に示すように、地図構造情報記憶部109には、以下の情報が記録される。
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
 これらは、先に図17を参照して説明したと同様の情報である。
 「(1)地図遷移ノード属性」は、生成する地図(環境地図)の切り替え前後のノードに関する属性(attribute)を記録するフィールドであり、
 本実施例の構成では、
 (1)地図遷移ノード属性=傾斜格変化
 となる。
 「(2)地図遷移ノード情報」には、2つの地図遷移ノード各々について、
 地図データ(地図実データ)の取得先情報であるソースフレーム(地図1や地図2)と、
 各ノードの位置(x,y,z)と、3軸(XYZ軸)回りの回転量(roll,pitch,yaw)からなるノード情報(x,y,z,roll,pitch,yaw)
 これらのデータが記録される。
 (3)地図遷移ノード間移動量データは、2つの地図遷移ノード間の移動量データが記録される。例えば、
 x方向の移動量(rel_x)
 y方向の移動量(rel_y)
 z方向の移動量(rel_z)
 roll角の移動量(rel_roll)
 pitch角の移動量(rel_pitch)
 yaw角の移動量(rel_yaw)
 これら、要素単位の移動量が記録される。
 次に、図44に示す実施例6の情報処理装置160の傾斜角解析部161と、地図構造解析部107が実行する具体的な処理のシーケンスについて説明する。
 まず、図46に示すフローチャートを参照して、傾斜角解析部161が実行する処理シーケンスについて説明する。
 以下、図46に示すフローの各ステップの処理について説明する。
  (ステップS601)
 まず、傾斜角解析部161は、ステップS601において、IMU(慣性計測部)102から、IMU検出値、すなわち例えばロボットの加速度、角速度情報を入力し、入力情報の解析を実行する。
 具体的には、例えばロボットの傾斜角(=ロボット走行面の傾斜角度)に相当するピッチ(pitch)や、ピッチ(pitch)の単位時間単位の変化量を算出する。
  (ステップS602)
 次に、傾斜角解析部161は、ステップS602において、IMU(慣性計測部)102からの入力情報に基づく解析結果として得られたロボットの傾斜角(=ロボット走行面の傾斜角度)に相当するピッチ(pitch)の単位時間単位の変化量と、予め規定したしきい値と比較する。
 ピッチ(pitch)の単位時間単位変化量がしきい値以上である場合、すなわち、
 ピッチ(pitch)の単位時間単位変化量≧しきい値
 上記判定式が成立する場合は、ステップS603に進む。
  (ステップS603)
 ピッチ(pitch)の単位時間単位変化量がしきい値以上である場合、傾斜角解析部161は、ステップS603において、地図構造解析部107に、傾斜角変化検出情報、傾斜角情報の通知処理を行う。
 次に、図47に示すフローチャートを参照して、これらの情報を入力する地図構造解析部107の実行する処理のシーケンスについて説明する。
 図47に示すフローのステップS621以下の処理について、順次、説明する。
  (ステップS621)
 まず、地図構造解析部107は、ステップS621において、傾斜角解析部161から、傾斜角変化検出情報、傾斜角情報の通知を入力したか否かを判定する。
 これは、図46に示すフローのステップS603の通知の入力確認処理である。
 ステップS621において、傾斜角解析部161から、傾斜角変化検出情報、傾斜角情報の通知を入力したと判定した場合は、ステップS622に進む。
  (ステップS622)
 地図構造解析部107は、ステップS621において、傾斜角解析部161からの傾斜角変化検出情報、傾斜角情報の通知を入力したと判定した場合、ステップS622の処理を実行する。
 この場合、地図構造解析部107は、ステップS622において、ロボット10の傾斜角変化の発生に応じて地図構造情報記憶部109に、まず、先に図45を参照して説明したように、
 「(1)地図遷移ノード属性」=「傾斜角変化」を記録する。
 さらに、地図構造解析部107は、傾斜角変化前の作成地図における最終ノード(地図作成終了ノード)である地図遷移ノードの位置と傾き(ピッチ(pitch))等を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図45を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2a)地図遷移前ソースフレーム
     地図遷移前ターゲットフレーム
 例えば、ロボット10がほぼ水平の傾き=0degのフロアで地図1を作成して、遷移ノード1eから、傾き=30degの傾斜面に移動した場合には、上記情報(2a)は、以下のような情報となる。
 (2a)地図遷移前ソースフレーム=地図1
     地図遷移前ターゲットフレーム=1e:(x,y,z,roll,pitch,yaw,)
 この情報中、ロボット傾きを示すピッチ(pitch)=0degとして記録される。
 さらに、地図構造解析部107は、傾斜角変化前の作成地図における最終ノード(地図作成終了ノード)である地図遷移ノードの位置と傾き(ピッチ(pitch))、さらに、傾斜角変化後の作成地図における地図作成開始ノードである地図遷移ノードの位置と傾き(ピッチ(pitch))等を取得して地図構造情報記憶部109に、
 (3)地図遷移ノード間移動量
 を記録する処理を実行する。
 先に図45を参照して説明したように、移動量は、(x,y,z,roll,pitch,yaw)の各要素単位で記録する。すなわち、
 x方向の移動量(rel_x)
 y方向の移動量(rel_y)
 z方向の移動量(rel_z)
 roll角の移動量(rel_roll)
 pitch角の移動量(rel_pitch)
 yaw角の移動量(rel_yaw)
 これら、要素単位の移動量が記録される。
 例えば、傾斜角変化前の地図1の地図遷移ノード1eのピッチ(pitch)=0deg、傾斜角変化後の地図2の地図遷移ノード2sのピッチ(pitch)=30degの場合、
 pitch角の移動量(rel_pitch)として、
 rel_pitch=+30deg
 このような移動量データを記録する。
  (ステップS623)
 次に、地図構造解析部107は、ステップS623において、地図生成部106に対して、傾斜角変化前の作成地図の保存指示を出力する。
 地図生成部106は、地図構造解析部107からの指示に応じて作成地図を地図情報記憶部108に格納する。例えば傾斜角変化前に作成した水平面フロアの地図1を地図情報記憶部108に格納する。
  (ステップS624)
 次に、地図構造解析部107は、ステップS624において、地図生成部106に対して、傾斜角変化後のフロアにおいて新規地図の作成指示を通知する。
 地図生成部106は、地図構造解析部107からこの通知を受領すると、傾斜角変化後のフロアにおいて新規地図の作成を開始する。
  (ステップS625)
 次に、地図構造解析部107は、ステップS625において、傾斜角変化後の作成地図における地図作成開始ノードである地図遷移ノードの位置や傾斜角を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図45を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2b)地図遷移後ソースフレーム
     地図遷移後ターゲットフレーム
 例えば、ロボット10がほぼ水平の傾き=0degのフロアで地図1を作成して、遷移ノード1eから、傾き=30degの傾斜面の地図作成開始ノード2sから新規地図として地図2を作成する場合には、上記情報(2a)は、以下のような情報となる。
 (2a)地図遷移前ソースフレーム=地図2
     地図遷移前ターゲットフレーム=2s:(x,y,z,roll,pitch,yaw,)
 この情報中、ロボット傾きを示すピッチ(pitch)=30degとして記録される。
 以上、説明したように、本実施例6は、ロボットの走行面の傾斜角に応じて生成地図を切り替える構成とした実施例であり、地図構造情報記憶部に、傾斜角変化が発生し、地図切り替えを行う地図遷移ノードの位置のみではなく、地図遷移ノードの傾斜角に相当するピッチ(pitch)を記録する。さらに、地図遷移ノード間の傾斜角変化量(rel|pitc)も記録する構成としている。
  [6.(実施例7)GPS信号の利用可否に応じて生成地図を切り替える構成とした実施例について]
 次に、実施例7として、GPS信号の利用可否に応じて生成地図を切り替える構成とした実施例について説明する。
 図48以下を参照して、本実施例7の処理の概要について説明する。
 図48は、ロボット10が走行しながら地図を作成する走行面の例を示している。
 図48に示す例において、ロボット10は、x1~x2の区間をビル内で走行する。ビル内は、GPS衛星40からの送信信号の受信が困難であり、GPS位置情報を用いずに走行する。
 その後、ロボット10は、x2でビルから外に出て、x2~x3の区間を走行する。x2~x3の区間は屋外であり、GPS衛星40からの送信信号の受信が可能となる。従って、ロボット10は、この屋外区間x2~x3においてGPS位置情報を用いて走行する。
 その後、ロボット10は、x3で、再度、別のビル内に入り、x3~x4の区間をビル内で走行する。このx3~x4の区間はGPS衛星40からの送信信号の受信が困難となる。従って、ロボット10は、このビル内区間x3~x4においてGPS位置情報を用いずに走行する。
 本実施例7では、このようにGPS位置情報の利用可否状態が変更される地点で、生成する地図を切り替える。
 図49に示すように、ロボット10は、以下の3つの地図を生成する。
 (1)区間x1~x2のGPS位置情報利用不可能区間(GPS信号強度低区間)の地図1
 (2)区間x2~x3のGPS位置情報利用可能区間(GPS信号強度高区間)の地図2
 (3)区間x3~x4のGPS位置情報利用不可能区間(GPS信号強度低区間)の地図3
 ロボット10は、これら3つの地図を生成する。
 ロボット10は、このような生成地図の切り替えを行う際に、地図構造情報記憶部に、GPS位置情報が利用可能な場合、GPS位置情報を地図構造情報記憶部109に記録する。
 GPS位置情報を地図構造情報記憶部109に記録する処理の具体例について、図50を参照して説明する。
 図50には、図48、図49と同様のロボット走行ルートを示している。
 (1)区間x1~x2のGPS位置情報利用不可能区間(GPS信号強度低区間)の地図1
 (2)区間x2~x3のGPS位置情報利用可能区間(GPS信号強度高区間)の地図2
 (3)区間x3~x4のGPS位置情報利用不可能区間(GPS信号強度低区間)の地図3
 ロボット10は、これら3つの地図を生成する。
 このような地図作成処理を実行する際、ロボット10は、例えば地図1から地図2へ、作成地図切り替えを行うタイミングでGPS位置情報が利用可能な場合、GPS位置情報を地図構造情報記憶部109に記録する。
 例えば図50に示す地図1の最終ノード(地図作成終了ノード)である地図遷移ノード1eから、次の地図2の地図作成開始ノードである地図遷移ノード2sへの移動は、GPS位置情報利用不可能区間から利用可能区間への切り替えが発生する。このような場合、GPS位置情報利用可能区間となる地図2の地図作成開始ノードである地図遷移ノード2sについてGPS位置情報を地図構造情報記憶部109に記録する。
 また、図50に示す地図2の最終ノード(地図作成終了ノード)である地図遷移ノード2eから、次の地図3の地図作成開始ノードである地図遷移ノード3sへの移動は、GPS位置情報利用可能区間から利用不可能区間への切り替えが発生する。このような場合、GPS位置情報利用可能区間である地図2の最終ノード(地図作成終了ノード)である地図遷移ノード2eについてGPS位置情報を地図構造情報記憶部109に記録する。
 本実施例7では、このようにGPS位置情報が利用可能な場合、ノード情報としてGPS位置情報を地図構造情報記憶部109に記録する。
 次に、図51を参照して、本実施例7の情報処理装置の構成例について説明する。
 図51は、本実施例7の情報処理装置170の構成例を示すブロック図である。
 この情報処理装置170は地図作成を行うロボット10内部に搭載されている。なお、センサ等を除く一部の構成についてはロボット10と通信可能な装置、例えばサーバ等に設定した構成とすることもできる。
 図51に示す情報処理装置170の構成について説明する。
 図51に示すように、情報処理装置170は、GPS信号受信部171、磁気センサ172、GPS切り替え判定部173、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、地図生成部106、地図構造解析部107、地図情報記憶部108、地図構造情報記憶部109を有する。
 GPS信号受信部171、磁気センサ172、GPS切り替え判定部173以外の構成部、すなわち、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、地図生成部106、地図構造解析部107、地図情報記憶部108、地図構造情報記憶部109、これらは先に図15を参照して説明した実施例1の情報処理装置100と同様の構成である。
 本実施例7では、GPS信号受信部171によって受信されるGPS受信信号175と、磁気センサ172の検出値であるロボットの姿勢を示す姿勢情報176がGPS切り替え判定部173に入力される。
 GPS切り替え判定部173は、GPS信号受信部171から入力するGPS受信信号175と、磁気センサ172から入力するロボットの姿勢を示す姿勢情報176を用いて、GPS位置情報を用いた自己位置推定や自律走行を行うか否かを判定する。
 なお、GPS位置情報を用いた自己位置推定や自律走行を行うモードを「屋外モード」、GPS位置情報を用いた自己位置推定や自律走行を行わないモードを「屋内モード」とする。
 なお、GPS位置情報を用いた自己位置推定や自律走行を行わない「屋内モード」ではSLAM処理のみに基づいて自己位置推定や自律走行を行うことになる。
 GPS切り替え判定部173は、GPS信号受信部171から入力するGPS受信信号175と、磁気センサ172から入力するロボットの姿勢を示す姿勢情報176を用いて、GPS位置情報を用いた自己位置推定や自律走行を行うか否かを判定し、判定結果に応じたモード決定を行う。
 GPS切り替え判定部173は、決定したモード情報に従ったモード切り替え指示とGPS位置情報を、地図生成部106と地図構造解析部107に出力する。図51に示す「モード切り替え指示&GPS位置情報177」である。
 地図生成部106は、GPS切り替え判定部173から入力する「モード切り替え指示&GPS位置情報177」を参照して、モード切り替えを行う。
 すなわち、GPS位置情報を用いた自己位置推定や自律走行を行う「屋外モード」、またはGPS位置情報を用いた自己位置推定や自律走行を行わない「屋内モード」のモード切り替えを実行する。
 地図構造解析部107は、GPS切り替え判定部173から入力する「モード切り替え指示&GPS位置情報177」を参照して、地図構造情報記憶部109に記録するデータを生成して記録する。
 次に、図52、図53を参照して、ロボット10が地図構造情報記憶部に記録する地図構造情報の例について説明する。
 図52には、ロボット10が、
 (1)区間x1~x2のGPS位置情報利用不可能区間(GPS信号強度低区間)の地図1の生成を完了し、
 (2)区間x2~x3のGPS位置情報利用可能区間(GPS信号強度高区間)の地図2の生成を開始、
 する際に地図構造情報記憶部109に記録する地図構造情報の例を示している。
 地図構造情報は、先に図17を参照して説明したと同様、以下の情報が記録される。
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
 「(1)地図遷移ノード属性」は、生成する地図(環境地図)の切り替え前後のノードに関する属性(attribute)を記録するフィールドである。
 この例では、地図遷移ノードは、
 (p)区間x1~x2のGPS位置情報利用不可能区間の地図1の地図作成終了ノード=ノード1e、
 (q)区間x2~x3のGPS位置情報利用可能区間の地図2の地図作成開始ノード=ノード2s、
これら2つのノードである。
 これらの2つの地図遷移ノードの属性は「GPS利用不可からGPS利用可」となり、
 (1)地図遷移ノード属性=GPS利用不可からGPS利用可
 となる。
 「(2)地図遷移ノード情報」には、
 (p)区間x1~x2のGPS位置情報利用不可能区間の地図1の地図作成終了ノード=ノード1e、
 (q)区間x2~x3のGPS位置情報利用可能区間の地図2の地図作成開始ノード=ノード2s、
 これら2つのノード
 すなわち、これら2つの地図遷移ノード各々について、
 地図データ(地図実データ)の取得先情報であるソースフレーム(地図1、または地図2)と、
 各ノードの位置(x,y,z)と、向き(yaw)からなるノード情報(x,y,z,yaw)、さらに、GPS位置情報が取得可能なノードについてはGPS位置情報、
 これらのデータが記録される。
 本実施例では、(2)地図遷移ノード情報として、以下の各データが記録される。
 (2a)地図遷移前ソースフレーム=地図1
     地図遷移前ターゲットフレーム=1e:(x,y,z,yaw)
 (2b)地図遷移後ソースフレーム=地図2
     地図遷移後ターゲットフレーム=2s:(x,y,z,yaw)、GPS位置情報(緯度、経度)
 地図遷移後ターゲットフレーム=2sは、GPS位置情報が利用可能なノードであるため、GPS位置情報が記録される。
 (3)地図遷移ノード間移動量データは、2つの地図遷移ノード間の移動量、すなわち、地図1の地図遷移ノード1eと、地図2の地図遷移ノード2s、これら2つの地図遷移ノード間の移動量データが記録される。
 移動量は、(x,y,z,yaw)の各要素単位で記録する。すなわち、
 x方向の移動量(rel_x)
 y方向の移動量(rel_y)
 z方向の移動量(rel_z)
 yaw角の移動量(rel_yaw)
 これら、要素単位の移動量が記録される。
 さらに、図53には、ロボット10が、
 (1)区間x2~x3のGPS位置情報利用可能区間(GPS信号強度高区間)の地図2の生成を完了し、
 (2)区間x3~x4のGPS位置情報利用不可能区間(GPS信号強度低区間)の地図3の生成を開始、
 する際に地図構造情報記憶部109に記録する地図構造情報の例を示している。
 地図構造情報は、先に図17を参照して説明したと同様、以下の情報が記録される。
 (1)地図遷移ノード属性
 (2)地図遷移ノード情報
 (3)地図遷移ノード間移動量データ
 「(1)地図遷移ノード属性」は、生成する地図(環境地図)の切り替え前後のノードに関する属性(attribute)を記録するフィールドである。
 この例では、地図遷移ノードは、
 (p)区間x2~x3のGPS位置情報利用可能区間の地図2の地図作成終了ノード=ノード2e、
 (q)区間x3~x4のGPS位置情報利用不可能区間の地図3の地図作成開始ノード=ノード3s、
これら2つのノードである。
 これらの2つの地図遷移ノードの属性は「GPS利用可からGPS利用不可」となり、
 (1)地図遷移ノード属性=GPS利用可からGPS利用不可
 となる。
 「(2)地図遷移ノード情報」には、
 (p)区間x2~x3のGPS位置情報利用可能区間の地図2の地図作成終了ノード=ノード2e、
 (q)区間x3~x4のGPS位置情報利用不可能区間の地図3の地図作成開始ノード=ノード3s、
 これら2つのノード
 すなわち、これら2つの地図遷移ノード各々について、
 地図データ(地図実データ)の取得先情報であるソースフレーム(地図2、または地図3)と、
 各ノードの位置(x,y,z)と、向き(yaw)からなるノード情報(x,y,z,yaw)、さらに、GPS位置情報が取得可能なノードについてはGPS位置情報、
 これらのデータが記録される。
 本実施例では、(2)地図遷移ノード情報として、以下の各データが記録される。
 (2a)地図遷移前ソースフレーム=地図2
     地図遷移前ターゲットフレーム=2e:(x,y,z,yaw)、GPS位置情報(緯度、経度)
 (2b)地図遷移後ソースフレーム=地図3
     地図遷移後ターゲットフレーム=3s:(x,y,z,yaw)
 地図遷移後ターゲットフレーム=2eは、GPS位置情報が利用可能なノードであるため、GPS位置情報が記録される。
 (3)地図遷移ノード間移動量データは、2つの地図遷移ノード間の移動量、すなわち、地図2の地図遷移ノード2eと、地図3の地図遷移ノード3s、これら2つの地図遷移ノード間の移動量データが記録される。
 移動量は、(x,y,z,yaw)の各要素単位で記録する。すなわち、
 x方向の移動量(rel_x)
 y方向の移動量(rel_y)
 z方向の移動量(rel_z)
 yaw角の移動量(rel_yaw)
 これら、要素単位の移動量が記録される。
 次に、図54以下に示すフローチャートを参照して、図51に示す実施例7の情報処理装置170のGPS切り替え判定部173と、地図構造解析部107が実行する具体的な処理のシーケンスについて説明する。
 まず、図54に示すフローチャートを参照して、GPS切り替え判定部173が実行する処理シーケンスについて説明する。
 以下、図54に示すフローの各ステップの処理について説明する。
  (ステップS701)
 まず、GPS切り替え判定部173は、ステップS701において、GPS信号受信部171の受信するGPS信号の強度を解析する。
  (ステップS702)
 次に、GPS切り替え判定部173は、ステップS702において、GPS信号受信部171の受信するGPS信号の強度が予め定めた規定のしきい値以上であるか否かを判定する。
 GPS信号強度が規定しきい値以上である場合は、ステップS703に進む。
 GPS信号強度が規定しきい値以上でない場合は、ステップS704に進む。
  (ステップS703)
 GPS信号強度が規定しきい値以上である場合は、GPS切り替え判定部173は、ステップS703において以下の処理を実行する。
 すなわち、GPS切り替え判定部173は、GPS位置情報を用いた自己位置推定や自律走行を行う「屋外モード」設定要求信号とGPS衛星からの受信信号に基づくGPS位置情報を地図生成部106と、地図構造解析部107に出力する。
  (ステップS704)
 一方、GPS信号強度が規定しきい値以上でない場合は、GPS切り替え判定部173は、ステップS704において以下の処理を実行する。
 すなわち、GPS切り替え判定部173は、GPS位置情報を用いた自己位置推定や自律走行を行わない「屋内モード」設定要求信号を地図生成部106と、地図構造解析部107に出力する。
 併せて、GPS衛星からの受信信号に基づくGPS位置情報の地図生成部106と、地図構造解析部107への出力を停止する。
 次に、本実施例7における地図構造解析部107の実行する処理のシーケンスについて、図55、図56を参照して説明する。
 なお、本実施例7における地図構造解析部107の実行する処理は、
 (a)GPS切り替え判定部173が、GPS位置情報を用いた自己位置推定や自律走行を行う「屋外モード」設定要求信号を出力した場合、
 (b)GPS切り替え判定部173が、GPS位置情報を用いた自己位置推定や自律走行を行わない「屋内モード」設定要求信号を出力した場合、
 これらの2通りの場合に応じて異なる処理となる。
 まず、図55に示すフローを参照して、
 (a)GPS切り替え判定部173が、GPS位置情報を用いた自己位置推定や自律走行を行う「屋外モード」設定要求信号を出力した場合、
 この場合に、地図構造解析部107の実行する処理のシーケンスについて説明する。
 図55に示すフローのステップS721以下の処理について、順次、説明する。
  (ステップS721)
 まず、地図構造解析部107は、ステップS721において、GPS切り替え判定部173から、「屋内モードから屋外モードへの設定変更要求」を入力したか否かを判定する。
 入力した場合、ステップS722以下の処理を実行する。
  (ステップS722)
 地図構造解析部107は、ステップS721において、GPS切り替え判定部173から、「屋内モードから屋外モードへの設定変更要求」を入力したと判定した場合、ステップS722の処理を実行する。
 この場合、地図構造解析部107は、ステップS722において、地図構造情報記憶部109に、まず、先に図52を参照して説明したように、
 「(1)地図遷移ノード属性」=「GPS利用不可からGPS利用可」を記録する。
 さらに、地図構造解析部107は、地図遷移前のGPS利用不可状態における作成地図の最終ノード(地図作成終了ノード)である地図遷移ノードの位置等を取得して地図構造情報記憶部109に記録する処理を実行する。
 この情報は、先に図52を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2a)地図遷移前ソースフレーム=地図1(GPS信号利用不可)
     地図遷移前ターゲットフレーム=1e:(x,y,z,yaw)
  (ステップS723)
 次に、地図構造解析部107は、ステップS723において、地図生成部106に対して、地図遷移前の作成地図の保存指示を出力する。
 地図生成部106は、地図構造解析部107からの指示に応じて作成地図を地図情報記憶部108に格納する。例えばGPS利用不可状態で作成した地図1を地図情報記憶部108に格納する。
  (ステップS724)
 次に、地図構造解析部107は、ステップS724において、地図生成部106に対して、GPS利用可能状態下で新規地図の作成指示を通知する。
 地図生成部106は、地図構造解析部107からこの通知を受領すると、GPS利用可能状態において新規地図の作成を開始する。
  (ステップS725)
 次に、地図構造解析部107は、ステップS725において、GPS利用可能状態における作成地図における地図作成開始ノードである地図遷移ノードの位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 なお、GPS位置情報も記録する。
 この情報は、先に図52を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2b)地図遷移後ソースフレーム地図2(GPS信号利用可)
     地図遷移前ターゲットフレーム=2s:(x,y,z,yaw)&ノード2s(緯度、経度)
 さらに、地図構造解析部107は、地図遷移前後のノード間の移動量、すなわちGPS利用不可能状態の作成地図における最終ノード(地図作成終了ノード)である地図遷移ノードの位置およびロボットの向き(yaw)と、GPS利用可能状態での作成地図における地図作成開始ノードである地図遷移ノードの位置およびロボットの向き(yaw)との差分を取得して地図構造情報記憶部109に、
 (3)地図遷移ノード間移動量
 として記録する処理を実行する。
 先に図52を参照して説明したように、移動量は、(x,y,z,yaw)の各要素単位で記録する。すなわち、
 x方向の移動量(rel_x)
 y方向の移動量(rel_y)
 z方向の移動量(rel_z)
 yaw角の移動量(rel_yaw)
 これら、要素単位の移動量が記録される。
 次に、図56に示すフローを参照して、
 (b)GPS切り替え判定部173が、GPS位置情報を用いた自己位置推定や自律走行を行わない「屋内モード」設定要求信号を出力した場合、
 この場合に、地図構造解析部107の実行する処理のシーケンスについて説明する。
 図56に示すフローのステップS741以下の処理について、順次、説明する。
  (ステップS741)
 まず、地図構造解析部107は、ステップS741において、GPS切り替え判定部173から、「屋外モードから屋内モードへの設定変更要求」を入力したか否かを判定する。
 入力した場合、ステップS742以下の処理を実行する。
  (ステップS742)
 地図構造解析部107は、ステップS741において、GPS切り替え判定部173から、「屋外モードから屋内モードへの設定変更要求」を入力したと判定した場合、ステップS742の処理を実行する。
 この場合、地図構造解析部107は、ステップS742において、地図構造情報記憶部109に、まず、先に図53を参照して説明したように、
 「(1)地図遷移ノード属性」=「GPS利用可からGPS利用不可」を記録する。
 さらに、地図構造解析部107は、地図遷移前のGPS利用可状態における作成地図の最終ノード(地図作成終了ノード)である地図遷移ノードの位置等を取得して地図構造情報記憶部109に記録する処理を実行する。なお、GPS位置情報についても記録する。
 この情報は、先に図53を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2a)地図遷移前ソースフレーム=地図2(GPS信号利用可)
     地図遷移前ターゲットフレーム=2e:(x,y,z,yaw)&ノード2e(緯度、経度)
  (ステップS743)
 次に、地図構造解析部107は、ステップS743において、地図生成部106に対して、地図遷移前の作成地図の保存指示を出力する。
 地図生成部106は、地図構造解析部107からの指示に応じて作成地図を地図情報記憶部108に格納する。例えばGPS利用可状態で作成した地図2を地図情報記憶部108に格納する。
  (ステップS744)
 次に、地図構造解析部107は、ステップS744において、地図生成部106に対して、GPS利用不可状態下で新規地図の作成指示を通知する。
 地図生成部106は、地図構造解析部107からこの通知を受領すると、GPS利用不可状態において新規地図の作成を開始する。
  (ステップS745)
 次に、地図構造解析部107は、ステップS745において、GPS利用不可状態における作成地図における地図作成開始ノードである地図遷移ノードの位置を取得して地図構造情報記憶部109に記録する処理を実行する。
 なお、GPS位置情報については取得できないので記録しない。
 この情報は、先に図53を参照して説明した地図構造情報記憶部109に記録される「(2)地図遷移ノード情報」中の以下の情報に相当する。
 (2b)地図遷移後ソースフレーム地図3(GPS信号利用可)
     地図遷移前ターゲットフレーム=3s:(x,y,z,yaw)
 さらに、地図構造解析部107は、地図遷移前後のノード間の移動量、すなわちGPS利用可能状態の作成地図における最終ノード(地図作成終了ノード)である地図遷移ノードの位置およびロボットの向き(yaw)と、GPS利用不可能状態での作成地図における地図作成開始ノードである地図遷移ノードの位置およびロボットの向き(yaw)との差分を取得して地図構造情報記憶部109に、
 (3)地図遷移ノード間移動量
 として記録する処理を実行する。
 先に図53を参照して説明したように、移動量は、(x,y,z,yaw)の各要素単位で記録する。すなわち、
 x方向の移動量(rel_x)
 y方向の移動量(rel_y)
 z方向の移動量(rel_z)
 yaw角の移動量(rel_yaw)
 これら、要素単位の移動量が記録される。
 以上、説明したように、本実施例7では、GPS位置情報の利用可否状態が変更される地点で、生成する地図を切り替える。さらに、GPS位置情報が利用可能な場合には、地図情報記憶部や地図構造情報記憶部にノード位置を示す情報としてGPS位置情報も併せて記録する。
  [7.ロボットとサーバ間で通信を実行して処理を行う情報処理システムの構成例について]
 次に、ロボットとサーバ間で通信を実行して処理を行う情報処理システムの構成例について説明する。
 上述した実施例では、上述の処理を行う情報処理装置を、例えばSLAM処理などによる環境地図の作成処理を行うロボット内に装着した構成として説明を行ったが、前述したように、本開示の情報処理装置は、ロボットと通信可能なサーバ等に設置する構成としてもよい。
 例えばロボット周囲の情報を取得するためのセンサ類はロボットに装着し、センサ取得情報を、通信ネットワークを介してサーバに送信し、サーバ側で上述した実施例に従ってセンサ取得情報を利用した処理を行う構成としてもよい。
 具体的には、図57に示すようにロボット10とロボット管理サーバ210を通信ネットワークで接続した情報処理システム200の利用が可能である。
 ロボット10はセンサ取得情報をロボット管理サーバ210に送信する。
 ロボット管理サーバ210は、ロボット10から受信するセンサ取得情報を利用して上述した実施例に従ったデータ処理を実行する。
 このような情報処理システム200を利用した構成としてもよい。
 なお、ロボット10のセンサには、各実施例において説明した気圧センサ101、IMU(慣性計測部)102、ホイールエンコーダ103、LiDAR104、カメラ121、通信部141、GPS信号受信部171、磁気センサ172が含まれる。またUI部131については、ロボット10に装着したものを利用してもよいし、ロボット以外のスマホ等のユーザ端末を利用してもよい。ユーザ端末とロボット10と、ロボット管理サーバ210は相互に通信可能な設定とすることが好ましい。
  [8.情報処理装置のハードウェア構成例について]
 次に、図58を参照して、本開示の情報処理装置のハードウェア構成例について説明する。
 なお、情報処理装置は、ロボット10内に装着される。あるいは上述したようにサーバ内に構成してもよい。
 CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記憶部308に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
 CPU301はバス304を介して入出力インタフェース305に接続され、入出力インタフェース305には、各種スイッチ、キーボード、タッチパネル、マウス、マイクロフォン、さらに、ユーザ入力部やカメラ、LiDAR GPS等各種センサ321の状況データ取得部などよりなる入力部306、ディスプレイ、スピーカなどよりなる出力部307が接続されている。
 また、出力部307は、移動装置(ロボット)の駆動部322に対する駆動情報も出力する。
 CPU301は、入力部306から入力される指令や状況データ等を入力し、各種の処理を実行し、処理結果を例えば出力部307に出力する。
 入出力インタフェース305に接続されている記憶部308は、例えばハードディスク等からなり、CPU301が実行するプログラムや各種のデータを記憶する。通信部309は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
 また、CPUの他、カメラから入力される画像情報などの専用処理部としてGPU(Graphics Processing Unit)を備えてもよい。
 入出力インタフェース305に接続されているドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア311を駆動し、データの記録あるいは読み取りを実行する。
  [9.本開示の構成のまとめ]
 以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
 なお、本明細書において開示した技術は、以下のような構成をとることができる。
 (1) 移動体に装着したセンサのセンサ取得情報を利用して地図を生成する地図生成部と、
 前記地図生成部の生成する複数の地図の関係性を示す地図構造情報を生成する地図構造解析部を有し、
 前記地図構造解析部は、
 前記地図生成部が第1地図の生成を終了し、新たな第の地図を生成する場合、
 前記第1地図の地図作成終了ノードである第1地図遷移ノードのノード位置、および前記第2地図の地図作成開始ノードである第2地図遷移ノードのノード位置、これら2つの地図遷移ノードのノード位置を地図遷移ノード情報として地図構造情報記憶部に記録する情報処理装置。
 (2) 前記地図生成部は、
 生成した地図を地図情報記憶部に格納するとともに、地図生成に利用したノード位置情報を前記地図情報記憶部に記録する構成であり、
 前記地図構造解析部が地図構造情報記憶部に記録する前記2つの地図遷移ノードのノード位置は、前記地図生成部が前記地図情報記憶部に記録するノード位置と同一位置のデータである(1)に記載の情報処理装置。
 (3) 前記地図構造解析部は、
 前記2つの地図遷移ノードのノード位置を地図遷移ノード情報として地図構造情報記憶部に記録する処理を行う場合、
 前記地図生成部に対して、前記第1地図の地図情報記憶部への保存処理と、前記第2地図の生成開始を指示する(1)または(2)に記載の情報処理装置。
 (4) 前記地図構造解析部は、
 前記地図遷移ノード情報として、さらに、
 前記第1地図遷移ノードにおける前記移動体の向きを示すヨー角情報と、前記第2地図遷移ノードにおける前記移動体の向きを示すヨー角情報を前記地図構造情報記憶部に記録する(1)~(3)いずれかに記載の情報処理装置。
 (5) 前記地図構造解析部は、
 さらに、前記第1地図遷移ノードと、前記第2地図遷移ノードのノード間の移動手段、またはノード間の状態差分を示す地図遷移ノード属性を前記地図構造情報記憶部に記録する(1)~(4)いずれかに記載の情報処理装置。
 (6) 前記移動体が前記第1地図遷移ノードと、前記第2地図遷移ノードの間をエレベータで移動した場合、
 前記地図構造解析部は、
 前記第1地図遷移ノードと、前記第2地図遷移ノードの間でエレベータ移動が実行されたことを示す地図遷移ノード属性を前記地図構造情報記憶部に記録する(1)~(5)いずれかに記載の情報処理装置。
 (7) 前記第1地図遷移ノードの走行面傾きと、前記第2地図遷移ノードの走行面傾きが異なる場合、
 前記地図構造解析部は、
 前記第1地図遷移ノードと、前記第2地図遷移ノードの走行面傾きが異なることを示す地図遷移ノード属性を前記地図構造情報記憶部に記録する(1)~(6)いずれかに記載の情報処理装置。
 (8) 前記第1地図遷移ノードと、前記第2地図遷移ノードのGPS利用可否状態が異なる場合、
 前記地図構造解析部は、
 前記第1地図遷移ノードと、前記第2地図遷移ノードのGPS利用可否状態が異なることを示す地図遷移ノード属性を前記地図構造情報記憶部に記録する(1)~(7)いずれかに記載の情報処理装置。
 (9) 前記地図構造解析部は、
 前記第1地図遷移ノードと、前記第2地図遷移ノードの間における前記移動体の移動量を前記地図構造情報記憶部に記録する(1)~(8)いずれかに記載の情報処理装置。
 (10) 前記地図構造解析部は、
 前記第1地図遷移ノードと、前記第2地図遷移ノードの間における前記移動体の移動量として、前記移動体のxyz各軸対応のノード間変化データ、または前記移動体の向きや傾きの変化を示すノード間角度変化データ、これらデータの少なくともいずれかを前記地図構造情報記憶部に記録する(1)~(9)いずれかに記載の情報処理装置。
 (11) 前記情報処理装置は、さらに、
 エレベータ移動解析部を有し、
 前記エレベータ移動解析部は、
 前記移動体に装着したセンサのセンサ取得情報に基づいて前記移動体がエレベータに乗り込んだか否かを解析し、解析結果を前記地図構造解析部に通知する(1)~(10)いずれかに記載の情報処理装置。
 (12) 前記地図構造解析部は、
 前記エレベータ移動解析部から、前記移動体がエレベータに乗り込んだことの解析情報を入力した場合、
 前記地図生成部に対して、生成済み地図を地図情報記憶部に保存させる指示を出力し、
 前記エレベータ移動解析部から、前記移動体の乗り込んだエレベータが停止したことの解析情報を入力した場合、
 前記地図生成部に対して、新規地図の作成指示を出力する(11)に記載の情報処理装置。
 (13) 前記エレベータ移動解析部は、
 前記移動体に装着したセンサである大気圧センサの取得情報に基づいて前記移動体が乗り込んだエレベータの移動階数を解析し、解析結果を前記地図構造解析部に通知する(11)または(12)に記載の情報処理装置。
 (14) 前記エレベータ移動解析部は、
 前記移動体に装着したセンサであるカメラの撮影画像に基づいて前記移動体が乗り込んだエレベータの移動階数を解析し、解析結果を前記地図構造解析部に通知する(11)または(12)に記載の情報処理装置。
 (15) 前記エレベータ移動解析部は、
 前記移動体に装着した通信部がエレベータ乗降口に設置された送信部から受信した受信情報を入力して、前記移動体のエレベータ乗降、およびエレベータ乗降階数を解析し、解析結果を前記地図構造解析部に通知する(11)または(12)に記載の情報処理装置。
 (16) 前記地図構造解析部は、
 前記移動体を観察するユーザによるユーザ入力情報を解析して、解析結果を前記地図構造情報記憶部に記録する(1)~(10)いずれかに記載の情報処理装置。
 (17) 前記情報処理装置は、さらに、
 傾斜角解析部を有し、
 前記傾斜角解析部は、
 前記移動体に装着したセンサのセンサ取得情報に基づいて前記移動体が傾斜角の異なる走行面に移動したことを検出した場合、傾斜角情報を含む傾斜角変化検出結果を前記地図構造解析部に通知する(1)~(10)いずれかに記載の情報処理装置。
 (18) 前記情報処理装置は、さらに、
 GPS切り替え判定部を有し、
 前記GPS切り替え判定部は、
 前記移動体に装着したGPS信号受信部の受信信号に基づいて、前記移動体の位置確認のためにGPS位置情報を利用するか否かを判定し、判定結果に応じたモード切り替え指示と、取得できたGPS位置情報を前記地図構造解析部に出力する(1)~(10)いずれかに記載の情報処理装置。
 (19) 情報処理装置において実行する情報処理方法であり、
 地図生成部が、移動体に装着したセンサのセンサ取得情報を利用して地図を生成する地図生成ステップと、
 地図構造解析部が、前記地図生成部の生成する複数の地図の関係性を示す地図構造情報を生成して地図構造情報記憶部に記録する地図構造情報記録ステップを有し、
 前記地図構造解析部は、地図構造情報記録ステップにおいて、
 前記地図生成部が第1地図の生成を終了し、新たな第の地図を生成する場合、
 前記第1地図の地図作成終了ノードである第1地図遷移ノードのノード位置、および前記第2地図の地図作成開始ノードである第2地図遷移ノードのノード位置、これら2つの地図遷移ノードのノード位置を地図遷移ノード情報として地図構造情報記憶部に記録する情報処理方法。
 (20) 情報処理装置において情報処理を実行させるプログラムであり、
 地図生成部に、移動体に装着したセンサのセンサ取得情報を利用して地図を生成させる地図生成ステップと、
 地図構造解析部に、前記地図生成部の生成する複数の地図の関係性を示す地図構造情報を生成して地図構造情報記憶部に記録させる地図構造情報記録ステップを実行させ、
 前記プログラムは、前記地図構造解析部に実行させる前記地図構造情報記録ステップにおいて、
 前記地図生成部が第1地図の生成を終了し、新たな第の地図を生成する場合、
 前記第1地図の地図作成終了ノードである第1地図遷移ノードのノード位置、および前記第2地図の地図作成開始ノードである第2地図遷移ノードのノード位置、これら2つの地図遷移ノードのノード位置を地図遷移ノード情報として前記地図構造情報記憶部に記録させるプログラム。
 なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 また、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 以上、説明したように、本開示の一実施例の構成によれば、複数の地図の関係性を示す地図構造情報を生成して記録することで、複数の地図の関係性を明確にして複数地図を利用した自律移動を可能とする構成が実現される。
 具体的には、例えば、移動体に装着したセンサのセンサ取得情報を利用して地図を生成する地図生成部と、地図生成部の生成する複数の地図の関係性を示す地図構造情報を生成する地図構造解析部を有する。地図構造解析部は、地図生成部が第1地図の生成を終了し、新たな第の地図を生成する場合、第1地図の地図作成終了ノードである第1地図遷移ノードのノード位置、および第2地図の地図作成開始ノードである第2地図遷移ノードのノード位置を地図遷移ノード情報として地図構造情報記憶部に記録する。併せて地図生成部に第1地図の地図情報記憶部への保存処理と、第2地図の生成開始を指示する。
 本構成により、複数の地図の関係性を示す地図構造情報を生成して記録することで、複数の地図の関係性を明確にして複数地図を利用した自律移動を可能とする構成が実現される。
  10 ロボット
  15 地図情報記憶部
  30 地図情報記憶部
  40 地図構造情報記憶部
 100 情報処理装置
 101 気圧センサ
 102 IMU(慣性計測部)
 103 ホイールエンコーダ
 104 LiDAR
 105 エレベータ移動解析部
 106 地図生成部
 107 地図構造解析部
 108 地図情報記憶部
 109 地図構造情報記憶部
 121 カメラ
 131 UI部
 141 通信部
 145 データ送信部
 161 傾斜角解析部
 171 GPS信号受信部
 172 磁気センサ
 173 GPS切り替え判定部
 200 情報処理システム
 210 ロボット管理サーバ
 301 CPU
 302 ROM
 303 RAM
 304 バス
 305 入出力インタフェース
 306 入力部
 307 出力部
 308 記憶部
 309 通信部
 310 ドライブ
 311 リムーバブルメディア
 321 センサ
 322 駆動部

Claims (20)

  1.  移動体に装着したセンサのセンサ取得情報を利用して地図を生成する地図生成部と、
     前記地図生成部の生成する複数の地図の関係性を示す地図構造情報を生成する地図構造解析部を有し、
     前記地図構造解析部は、
     前記地図生成部が第1地図の生成を終了し、新たな第の地図を生成する場合、
     前記第1地図の地図作成終了ノードである第1地図遷移ノードのノード位置、および前記第2地図の地図作成開始ノードである第2地図遷移ノードのノード位置、これら2つの地図遷移ノードのノード位置を地図遷移ノード情報として地図構造情報記憶部に記録する情報処理装置。
  2.  前記地図生成部は、
     生成した地図を地図情報記憶部に格納するとともに、地図生成に利用したノード位置情報を前記地図情報記憶部に記録する構成であり、
     前記地図構造解析部が地図構造情報記憶部に記録する前記2つの地図遷移ノードのノード位置は、前記地図生成部が前記地図情報記憶部に記録するノード位置と同一位置のデータである請求項1に記載の情報処理装置。
  3.  前記地図構造解析部は、
     前記2つの地図遷移ノードのノード位置を地図遷移ノード情報として地図構造情報記憶部に記録する処理を行う場合、
     前記地図生成部に対して、前記第1地図の地図情報記憶部への保存処理と、前記第2地図の生成開始を指示する請求項1に記載の情報処理装置。
  4.  前記地図構造解析部は、
     前記地図遷移ノード情報として、さらに、
     前記第1地図遷移ノードにおける前記移動体の向きを示すヨー角情報と、前記第2地図遷移ノードにおける前記移動体の向きを示すヨー角情報を前記地図構造情報記憶部に記録する請求項1に記載の情報処理装置。
  5.  前記地図構造解析部は、
     さらに、前記第1地図遷移ノードと、前記第2地図遷移ノードのノード間の移動手段、またはノード間の状態差分を示す地図遷移ノード属性を前記地図構造情報記憶部に記録する請求項1に記載の情報処理装置。
  6.  前記移動体が前記第1地図遷移ノードと、前記第2地図遷移ノードの間をエレベータで移動した場合、
     前記地図構造解析部は、
     前記第1地図遷移ノードと、前記第2地図遷移ノードの間でエレベータ移動が実行されたことを示す地図遷移ノード属性を前記地図構造情報記憶部に記録する請求項1に記載の情報処理装置。
  7.  前記第1地図遷移ノードの走行面傾きと、前記第2地図遷移ノードの走行面傾きが異なる場合、
     前記地図構造解析部は、
     前記第1地図遷移ノードと、前記第2地図遷移ノードの走行面傾きが異なることを示す地図遷移ノード属性を前記地図構造情報記憶部に記録する請求項1に記載の情報処理装置。
  8.  前記第1地図遷移ノードと、前記第2地図遷移ノードのGPS利用可否状態が異なる場合、
     前記地図構造解析部は、
     前記第1地図遷移ノードと、前記第2地図遷移ノードのGPS利用可否状態が異なることを示す地図遷移ノード属性を前記地図構造情報記憶部に記録する請求項1に記載の情報処理装置。
  9.  前記地図構造解析部は、
     前記第1地図遷移ノードと、前記第2地図遷移ノードの間における前記移動体の移動量を前記地図構造情報記憶部に記録する請求項1に記載の情報処理装置。
  10.  前記地図構造解析部は、
     前記第1地図遷移ノードと、前記第2地図遷移ノードの間における前記移動体の移動量として、前記移動体のxyz各軸対応のノード間変化データ、または前記移動体の向きや傾きの変化を示すノード間角度変化データ、これらデータの少なくともいずれかを前記地図構造情報記憶部に記録する請求項1に記載の情報処理装置。
  11.  前記情報処理装置は、さらに、
     エレベータ移動解析部を有し、
     前記エレベータ移動解析部は、
     前記移動体に装着したセンサのセンサ取得情報に基づいて前記移動体がエレベータに乗り込んだか否かを解析し、解析結果を前記地図構造解析部に通知する請求項1に記載の情報処理装置。
  12.  前記地図構造解析部は、
     前記エレベータ移動解析部から、前記移動体がエレベータに乗り込んだことの解析情報を入力した場合、
     前記地図生成部に対して、生成済み地図を地図情報記憶部に保存させる指示を出力し、
     前記エレベータ移動解析部から、前記移動体の乗り込んだエレベータが停止したことの解析情報を入力した場合、
     前記地図生成部に対して、新規地図の作成指示を出力する請求項11に記載の情報処理装置。
  13.  前記エレベータ移動解析部は、
     前記移動体に装着したセンサである大気圧センサの取得情報に基づいて前記移動体が乗り込んだエレベータの移動階数を解析し、解析結果を前記地図構造解析部に通知する請求項11に記載の情報処理装置。
  14.  前記エレベータ移動解析部は、
     前記移動体に装着したセンサであるカメラの撮影画像に基づいて前記移動体が乗り込んだエレベータの移動階数を解析し、解析結果を前記地図構造解析部に通知する請求項11に記載の情報処理装置。
  15.  前記エレベータ移動解析部は、
     前記移動体に装着した通信部がエレベータ乗降口に設置された送信部から受信した受信情報を入力して、前記移動体のエレベータ乗降、およびエレベータ乗降階数を解析し、解析結果を前記地図構造解析部に通知する請求項11に記載の情報処理装置。
  16.  前記地図構造解析部は、
     前記移動体を観察するユーザによるユーザ入力情報を解析して、解析結果を前記地図構造情報記憶部に記録する請求項1に記載の情報処理装置。
  17.  前記情報処理装置は、さらに、
     傾斜角解析部を有し、
     前記傾斜角解析部は、
     前記移動体に装着したセンサのセンサ取得情報に基づいて前記移動体が傾斜角の異なる走行面に移動したことを検出した場合、傾斜角情報を含む傾斜角変化検出結果を前記地図構造解析部に通知する請求項1に記載の情報処理装置。
  18.  前記情報処理装置は、さらに、
     GPS切り替え判定部を有し、
     前記GPS切り替え判定部は、
     前記移動体に装着したGPS信号受信部の受信信号に基づいて、前記移動体の位置確認のためにGPS位置情報を利用するか否かを判定し、判定結果に応じたモード切り替え指示と、取得できたGPS位置情報を前記地図構造解析部に出力する請求項1に記載の情報処理装置。
  19.  情報処理装置において実行する情報処理方法であり、
     地図生成部が、移動体に装着したセンサのセンサ取得情報を利用して地図を生成する地図生成ステップと、
     地図構造解析部が、前記地図生成部の生成する複数の地図の関係性を示す地図構造情報を生成して地図構造情報記憶部に記録する地図構造情報記録ステップを有し、
     前記地図構造解析部は、地図構造情報記録ステップにおいて、
     前記地図生成部が第1地図の生成を終了し、新たな第の地図を生成する場合、
     前記第1地図の地図作成終了ノードである第1地図遷移ノードのノード位置、および前記第2地図の地図作成開始ノードである第2地図遷移ノードのノード位置、これら2つの地図遷移ノードのノード位置を地図遷移ノード情報として地図構造情報記憶部に記録する情報処理方法。
  20.  情報処理装置において情報処理を実行させるプログラムであり、
     地図生成部に、移動体に装着したセンサのセンサ取得情報を利用して地図を生成させる地図生成ステップと、
     地図構造解析部に、前記地図生成部の生成する複数の地図の関係性を示す地図構造情報を生成して地図構造情報記憶部に記録させる地図構造情報記録ステップを実行させ、
     前記プログラムは、前記地図構造解析部に実行させる前記地図構造情報記録ステップにおいて、
     前記地図生成部が第1地図の生成を終了し、新たな第の地図を生成する場合、
     前記第1地図の地図作成終了ノードである第1地図遷移ノードのノード位置、および前記第2地図の地図作成開始ノードである第2地図遷移ノードのノード位置、これら2つの地図遷移ノードのノード位置を地図遷移ノード情報として前記地図構造情報記憶部に記録させるプログラム。
PCT/JP2022/001992 2021-03-11 2022-01-20 情報処理装置、および情報処理方法、並びにプログラム WO2022190662A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023505177A JPWO2022190662A1 (ja) 2021-03-11 2022-01-20

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021039592 2021-03-11
JP2021-039592 2021-03-11

Publications (1)

Publication Number Publication Date
WO2022190662A1 true WO2022190662A1 (ja) 2022-09-15

Family

ID=83226623

Family Applications (1)

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

Country Status (2)

Country Link
JP (1) JPWO2022190662A1 (ja)
WO (1) WO2022190662A1 (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07229728A (ja) * 1994-02-22 1995-08-29 Nikon Corp 路面検出装置
JP2000284830A (ja) * 1999-03-30 2000-10-13 Komatsu Ltd 無人走行制御装置
JP2010015194A (ja) * 2008-06-30 2010-01-21 Ihi Corp 自律移動ロボット装置及び自律移動ロボット装置の制御方法
US20100223031A1 (en) * 2009-02-27 2010-09-02 Regis Vincent Method and apparatus for mapping of multiple-floor structures
JP2013190265A (ja) * 2012-03-13 2013-09-26 Hitachi Ltd 移動量推定システム、移動量推定方法、移動端末
JP2013222446A (ja) * 2012-04-19 2013-10-28 Toyota Central R&D Labs Inc 障害物検出装置及びそれを備えた移動体
JP2017044470A (ja) * 2014-01-15 2017-03-02 旭化成株式会社 情報処理装置、マップマッチング装置、情報処理方法、およびプログラム
JP2019023848A (ja) * 2017-05-01 2019-02-14 サビオーク インコーポレイテッドSavioke, Inc. ロボットによる自動マッピング用コンピュータシステム及び方法
CN110696004A (zh) * 2019-09-18 2020-01-17 五邑大学 一种智能导航机器人及其控制方法
US20200116493A1 (en) * 2018-10-11 2020-04-16 Zillow Group, Inc. Automated Mapping Information Generation From Inter-Connected Images

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07229728A (ja) * 1994-02-22 1995-08-29 Nikon Corp 路面検出装置
JP2000284830A (ja) * 1999-03-30 2000-10-13 Komatsu Ltd 無人走行制御装置
JP2010015194A (ja) * 2008-06-30 2010-01-21 Ihi Corp 自律移動ロボット装置及び自律移動ロボット装置の制御方法
US20100223031A1 (en) * 2009-02-27 2010-09-02 Regis Vincent Method and apparatus for mapping of multiple-floor structures
JP2013190265A (ja) * 2012-03-13 2013-09-26 Hitachi Ltd 移動量推定システム、移動量推定方法、移動端末
JP2013222446A (ja) * 2012-04-19 2013-10-28 Toyota Central R&D Labs Inc 障害物検出装置及びそれを備えた移動体
JP2017044470A (ja) * 2014-01-15 2017-03-02 旭化成株式会社 情報処理装置、マップマッチング装置、情報処理方法、およびプログラム
JP2019023848A (ja) * 2017-05-01 2019-02-14 サビオーク インコーポレイテッドSavioke, Inc. ロボットによる自動マッピング用コンピュータシステム及び方法
US20200116493A1 (en) * 2018-10-11 2020-04-16 Zillow Group, Inc. Automated Mapping Information Generation From Inter-Connected Images
CN110696004A (zh) * 2019-09-18 2020-01-17 五邑大学 一种智能导航机器人及其控制方法

Also Published As

Publication number Publication date
JPWO2022190662A1 (ja) 2022-09-15

Similar Documents

Publication Publication Date Title
EP3715785B1 (en) Slam assisted ins
Borenstein et al. Histogramic in-motion mapping for mobile robot obstacle avoidance
TWI827649B (zh) 用於vslam比例估計的設備、系統和方法
Wang et al. A mono-camera and scanning laser range finder based UAV indoor navigation system
JP2016540211A (ja) 回転翼型小型飛行体(mav)での屋内環境及び屋外環境における安定自律飛行のためのマルチセンサの融合
Zhang et al. An indoor navigation aid for the visually impaired
Mulgaonkar et al. The tiercel: A novel autonomous micro aerial vehicle that can map the environment by flying into obstacles
WO2023000294A1 (zh) 位姿估计方法、激光雷达-惯性里程计、可移动平台及存储介质
JP2020079997A (ja) 情報処理装置、情報処理方法、及びプログラム
EP4088884A1 (en) Method of acquiring sensor data on a construction site, construction robot system, computer program product, and training method
EP3992747B1 (en) Mobile body, control method, and program
RU195749U1 (ru) Интеллектуальная система технического зрения беспилотного летательного аппарата для решения задач навигации, построения трехмерной карты окружающего пространства и препятствий и автономного патрулирования
Lim et al. Three-dimensional (3D) dynamic obstacle perception in a detect-and-avoid framework for unmanned aerial vehicles
EP3682306B1 (en) Action plan generation when the own position is unknown
Asadi et al. An integrated aerial and ground vehicle (UAV-UGV) system for automated data collection for indoor construction sites
US20180364046A1 (en) Apparatus and method for determining a vehicle position in a fixed-traffic-node coordinate system
Muller et al. A probabilistic sonar sensor model for robust localization of a small-size blimp in indoor environments using a particle filter
WO2022190662A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
KR102252295B1 (ko) 실내 토폴로지맵 생성 방법 및 이를 위한 자율주행 로봇
JP2019075037A (ja) 情報処理装置、情報処理方法、およびプログラム
JP7351609B2 (ja) 経路探索装置及びプログラム
JP7411185B2 (ja) 通行人追従型の移動ロボットの誘導
JP7468543B2 (ja) 情報処理装置、情報処理方法、プログラムおよび飛行体
Poomarin et al. Automatic docking with obstacle avoidance of a differential wheel mobile robot
CN113632029B (zh) 信息处理装置、程序及信息处理方法

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023505177

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22766629

Country of ref document: EP

Kind code of ref document: A1