Information processing method, program, and information processing system

By calculating and utilizing the shortest allowable node-to-node distance in topological maps based on robot characteristics, the technology prevents collisions and enhances safety in multi-robot environments.

WO2025146782A1PCT designated stage expired Publication Date: 2025-07-10SONY GROUP CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/045007
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-05
Filing Date
2024-12-19
Publication Date
2025-07-10

AI Technical Summary

Technical Problem

Existing topological maps for multiple robot environments do not adequately address the issue of robots colliding with each other during movement tasks, particularly when nodes are arranged without sufficient consideration of robot sizes and collision sensors react unnecessarily.

Method used

Calculate the shortest allowable node-to-node distance in a topological map based on robot characteristics and generate the map using a base pattern where nodes are connected by edges based on this distance to prevent collisions.

Benefits of technology

Enables multiple robots to execute movement tasks more safely by preventing collisions and reducing unnecessary sensor reactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024045007_10072025_PF_FP_ABST
    Figure JP2024045007_10072025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to an information processing method, a program, and an information processing system that enable a plurality of robots to more safely execute movement tasks. This information processing system calculates, on the basis of machine body characteristic information of a mobile device, a shortest inter-node distance allowed between nodes in a topological map for route planning of the mobile device, and generates the topological map using a base pattern in which the nodes are connected by edges on the basis of the shortest inter-node distance. The present disclosure can be applied to a mobile robot system in which a plurality of robots execute movement tasks.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing method, program, and information processing system

[0001] The present disclosure relates to an information processing method, a program, and an information processing system, and more particularly to an information processing method, a program, and an information processing system that enable multiple robots to perform movement tasks more safely.

[0002] Various mobility control methods have been proposed for navigation systems of mobile devices such as autonomous mobile robots. One of these methods uses a topological map (also called a node graph) that is constructed by connecting arbitrary nodes with edges.

[0003] Among these, Patent Document 1 discloses a method for changing the placement of a node when a collision between a robot and an obstacle occurs at the position of the placed node, based on position information indicating the position of the node and map information indicating the position of the obstacle.

[0004] Japanese Patent Application Laid-Open No. 2022-14996

[0005] However, in a topological map generated for an environment in which multiple robots perform movement tasks, no measures have been established to enable the robots to safely perform the movement tasks without colliding with each other.

[0006] The present disclosure has been made in light of these circumstances, and aims to enable multiple robots to more safely perform movement tasks.

[0007] The information processing method disclosed herein is an information processing method that calculates the shortest allowable inter-node distance between nodes in a topological map for route planning of a mobile device based on aircraft characteristic information of the mobile device, and generates the topological map using a base pattern in which the nodes are connected by edges based on the shortest inter-node distance.

[0008] The program disclosed herein is a program for causing a computer to execute a process of calculating the shortest allowable inter-node distance between nodes in a topological map for route planning of a mobile device based on aircraft characteristic information of the mobile device, and generating the topological map using a base pattern in which the nodes are connected by edges based on the shortest inter-node distance.

[0009] The information processing system disclosed herein is an information processing system that includes a map generation unit that calculates the shortest allowable inter-node distance between nodes in a topological map for route planning of a mobile device based on aircraft characteristic information of the mobile device, and generates the topological map using a base pattern in which the nodes are connected by edges based on the shortest inter-node distance.

[0010] In the present disclosure, the shortest allowable inter-node distance between nodes in a topological map for route planning of a mobile device is calculated based on the vehicle characteristic information of the mobile device, and the topological map is generated using a base pattern in which the nodes are connected by edges based on the shortest inter-node distance.

[0011] 1 is a diagram illustrating an example of a topological map. FIG. 2 is a diagram illustrating a case where robots collide with each other. FIG. 3 is a diagram illustrating an example of a mobile robot system to which the technology disclosed herein is applied. FIG. 4 is a block diagram illustrating an example of the functional configuration of a robot and a server. FIG. 5 is a diagram illustrating an example of generating a base pattern. FIG. 6 is a diagram illustrating another example of generating a base pattern. FIG. 7 is a diagram illustrating determining the detection range of a collision sensor. FIG. 8 is a diagram illustrating determining the detection range of a collision sensor. FIG. 9 is a diagram illustrating an example of setting divided areas in a drivable area. FIG. 10 is a diagram illustrating setting the size of divided areas. FIG. 11 is a diagram illustrating connection of boundary nodes. FIG. 12 is a diagram illustrating placement of destination nodes. FIG. 13 is a diagram illustrating an example of a setting screen. FIG. 14 is a diagram illustrating an example of a setting screen. FIG. 15 is a flowchart illustrating base pattern generation processing. FIG. 16 is a flowchart illustrating base pattern generation processing. FIG. 17 is a diagram illustrating an example of a setting screen. FIG. 18 is a diagram illustrating base pattern placement processing. FIG. 19 is a flowchart illustrating boundary node connection processing. FIG. 20 is a flowchart illustrating destination node connection processing. FIG. 21 is a diagram illustrating an example of a setting screen. FIG. 22 is a block diagram illustrating an example of the hardware configuration of a computer.

[0012] Modes for carrying out the present disclosure (hereinafter referred to as embodiments) will be described below in the following order.

[0013] 1. Prior art and its problems 2. Configuration of a mobile robot system to which the technology disclosed herein is applied 3. Technical features in generating a topological map 4. Setting screen and processing of a mobile robot system 5. Application examples 6. Example computer hardware configurations

[0014] <1. Prior Art and Issues> Various mobility control methods have been proposed for navigation systems of mobile devices such as autonomous mobile robots. One known method uses a topological map (also called a node graph) constructed by connecting arbitrary nodes with edges. For example, in Chapter 6, "Cell Decomposition Path Planning," of "Introduction to Autonomous Mobile Robots" by R. Siegwart, a method is introduced in which obstacle-free areas are represented as a node graph.

[0015] FIG. 1 is a diagram showing an example of a topological map (node ​​graph).

[0016] In the example of FIG. 1, two robots MD1 and MD2 perform their respective movement tasks by moving along a movement path formed by edges Eg connecting a plurality of nodes Nd arranged in the environment.

[0017] 1, it is possible to use an algorithm such as Dijkstra's algorithm to determine the shortest route for a robot MD1 to travel from an arbitrary node Nd to a destination node Gn, which is the goal, without colliding with an obstacle Ob. According to the route plan created in this way, the robot can be moved to a desired location by moving the robot to a node sequence that realizes the shortest route as an intermediate target point.

[0018] Among these, Patent Document 1 (JP 2022-14996 A) discloses a method for changing the placement of a node when a collision between a robot and an obstacle occurs at the position of the placed node based on location information indicating the location of the node and map information indicating the location of the obstacle. The technology disclosed in Patent Document 1 uses the radius of the robot's turning outline to determine whether the robot will collide with an obstacle, thereby changing the placement of the node so that a collision does not occur even if the robot turns near a wall, for example.

[0019] However, in a topological map generated for an environment in which multiple robots perform movement tasks, no measures have been established to enable the robots to safely perform the movement tasks without colliding with each other.

[0020] Specifically, when a user creates a topological map for an environmental map, which is information about the environment in which multiple robots are to perform movement tasks, the placement of individual nodes is often performed manually. In this case, if the user places the nodes without providing sufficient distance between nodes in consideration of the external shapes of the robots, there is a risk of the robots colliding with each other.

[0021] For example, as shown in Figure 2, suppose two robots MD1 and MD2 simultaneously arrive at adjacent nodes where the distance between the nodes is insufficient. If robot MD1 changes direction (pivots) to proceed along movement path R1 and robot MD2 changes direction to proceed along movement path R2, robots MD1 and MD2 may collide with each other depending on their sizes. Furthermore, if each of robots MD1 and MD2 is equipped with a collision sensor, robots MD1 and MD2 may be able to avoid colliding with each other, but may stop turning and become unable to move any further if the collision sensors react and detect each other.

[0022] In contrast, the technology disclosed herein calculates the shortest allowable inter-node distance between nodes in a topological map, and generates a topological map using a base pattern constructed based on that shortest inter-node distance, thereby enabling multiple robots to perform movement tasks more safely.

[0023] 2. Configuration of a Mobile Robot System to which the Technology According to the Present Disclosure is Applied (Overall View of the System) FIG. 3 is a diagram showing an example of a mobile robot system that is an embodiment of an information processing system to which the technology according to the present disclosure is applied.

[0024] 3 is configured to include a terminal 10, multiple robots 20, and a server 30. In the mobile robot system 1, each robot 20 moves based on a movement instruction from a user U1 who specifies a movement origin and a movement destination for each robot 20.

[0025] The terminal 10 is configured as an information processing terminal such as a PC (Personal Computer), a tablet terminal, or a smartphone. The user U1 operates the terminal 10 to perform various settings related to the mobile robot system 1. Specifically, a setting screen is displayed on the terminal 10 based on display control by the server 30. The user U1 inputs setting information such as machine characteristic information, travelable area, and destination node of the robot 20 via the setting screen displayed on the terminal 10. The setting information input by the user U1 is transmitted to the server 30.

[0026] The robot 20 is configured as a mobile device such as an automated guided vehicle (AGV). The robot 20 executes a movement task given by a user U1. Specifically, the robot 20 receives a movement target coordinate instruction transmitted from the server 30 in response to a movement instruction from the user U1. The robot 20 moves to a position indicated by the received instruction, and transmits the coordinates and angle (posture) of its current position to the server 30.

[0027] The movement task is performed by any robot 20, a robot 20 having a predetermined function or capability, or a designated robot 20. As a movement task, the robot 20 may simply arrive at a certain point and perform a task such as inspection, or may further move to another point, such as transportation.

[0028] The movement task may not only be given by the user U1, but also by a separately provided server or system.

[0029] The server 30 is configured as an information processing device such as a computer installed in the environment or a cloud server connected via a network. The server 30 determines the robot 20 that will execute the movement task based on the origin and destination included in the movement task, whether each robot 20 is currently executing a movement task, and which robot 20 has the closest coordinates of its current position to the origin. The server 30 transmits to the robot 20 a set of multiple target coordinates (node ​​sequence) from the origin to the destination as a movement target coordinate instruction.

[0030] The server 30 creates a topological map (node ​​graph) in advance when determining the target coordinates for each robot 20. To create a topological map, an environmental map is required, including information such as which areas in the environment are drivable and where obstacles exist. In the mobile robot system 1, the user U2 can acquire the environmental map by moving the robot 50.

[0031] Specifically, the user U2 moves within the target environment while operating the robot 50. The robot 50 records point cloud data obtained by the mounted LiDAR (Light Detection and Ranging) and creates an environmental map by recording the point cloud of obstacles and their coordinates using SLAM (Simultaneous Localization and Mapping). The environmental map created by the robot 50 is transferred to the server 30.

[0032] (Configuration of Robot and Server) FIG. 4 is a block diagram showing an example of the functional configuration of the robot 20 and the server 30. As shown in FIG.

[0033] As shown in FIG. 4 , the robot 20 is configured to include a sensor unit 210 , a self-position estimation unit 220 , a trajectory planning unit 230 , a drive control unit 240 , a drive unit 250 , and a communication unit 260 .

[0034] The sensor unit 210 is composed of a collision sensor (proximity sensor), a wheel encoder, an acceleration sensor, a code sensor, LiDAR, etc. The sensing data acquired by the sensor unit 210 is supplied to the self-position estimation unit 220 and the trajectory planning unit 230.

[0035] The self-position estimation unit 220 estimates the self-position of the robot 20 based on the sensing data acquired by the sensor unit 210. Specifically, the self-position estimation unit 220 estimates the coordinates of the current self-position of the robot 20 (current coordinates) by correcting the travel distance and angle change obtained by the wheel encoder and acceleration sensor based on the position marker read by the code sensor, and supplies these to the trajectory planning unit 230 or transmits them to the server 30 via the communication unit 260.

[0036] The trajectory planning unit 230 plans a trajectory from the current location to the first node and a trajectory from the current node to the next node. Specifically, the trajectory planning unit 230 determines the speed and turning direction of the robot 20 based on the current coordinates from the self-position estimation unit 220 and the target coordinate sequence from the server 30, and supplies these to the drive control unit 240. When the current coordinates of the robot reach the target coordinates, the trajectory planning unit 230 plans a new trajectory by reading the next target coordinates from the target coordinate sequence.

[0037] The drive control unit 240 generates a drive signal to move along the trajectory planned by the trajectory planning unit 230 and outputs the signal to the drive unit 250 .

[0038] The driving unit 250 is composed of wheels, a driving source such as a motor, etc. Based on a driving signal from the drive control unit 240, the driving unit 250 drives the wheels with the driving source to move the robot 20.

[0039] The communication unit 260 transmits and receives various information, such as the current coordinates and target coordinates of the robot 20, to and from the server 30.

[0040] On the other hand, the server 30 is configured to include a communication unit 310 , a task planning unit 320 , a route planning unit 330 , a robot information storage unit 340 , a map storage unit 350 , a setting screen generation unit 360 , and a map generation unit 370 .

[0041] Each functional block constituting the server 30 may be realized in one device within the mobile robot system 1, or may be realized in a distributed manner across multiple devices.

[0042] The communication unit 310 transmits and receives various information, such as target coordinates and the current coordinates of each robot 20, to and from each robot 20. The communication unit 310 also transmits display data for displaying a setting screen to the terminal 10, and receives from the terminal 10 setting information input on the setting screen and movement instructions by the user U1 (such as the coordinates of the start and destination of a movement task).

[0043] The task planning unit 320 performs a task plan for executing a movement task, such as determining the robot 20 that is to execute the movement task, based on a movement instruction from the user U1 received from the terminal 10. Information indicating the contents of the task plan (the movement task and the robot 20 that is to execute the movement task) is supplied to the path planning unit 330.

[0044] The path planning unit 330 plans a path for each robot 20 based on information from the task planning unit 320, the current coordinates and angles of each robot 20 acquired from the robot information storage unit 340, and the topological map acquired from the map storage unit 350. Specifically, the path planning unit 330 uses the spatial distance of edges in the topological map as a cost and calculates a node sequence that minimizes the cost from a start node that is the source of movement to an end node that is the destination of movement using Dijkstra's algorithm. The node sequence generated by the path planning is transmitted to each robot 20 via the communication unit 310 as a target coordinate sequence.

[0045] The robot information storage unit 340 stores the current coordinates and angles received from each robot 20, and the machine characteristic information of each robot 20 inputted into the setting screen of the terminal 10, etc.

[0046] The map storage unit 350 stores the environmental map created by the robot 50, and the drivable area and destination node input to the setting screen of the terminal 10. Furthermore, the map storage unit 350 stores the topological map generated by the map generation unit 370.

[0047] The setting screen generating unit 360 generates display data for a setting screen for making various settings related to the mobile robot system 1, and transmits the display data to the terminal 10 via the communication unit 310. The setting screen generating unit 360 also acquires setting information input to the setting screen, and stores the information in the robot information storage unit 340 and the map storage unit 350.

[0048] The map generation unit 370 generates a topological map based on the environmental map created by the robot 50, and the machine characteristic information, drivable areas, and destination nodes of each robot 20 input to the setting screen of the terminal 10. In generating the topological map, the map generation unit 370 executes various processes at any timing, such as generating base patterns that are constituent units of the topological map, registering drivable areas (setting divided areas), and registering (placing) destination nodes.

[0049] 3. Technical Features in Generating a Topological Map Here, the technical features of each process executed in generating a topological map by the mobile robot system 1 will be described.

[0050] (1) Generation of base pattern In the topological map, a distance between nodes is realized that will not cause a collision sensor to react even when adjacent robots 20 turn. Specifically, the minimum allowable distance between nodes is calculated based on the external shape information (length and width (depth and width on a horizontal plane) of the robot 20), which is one of the machine body characteristic information of the robot 20, and the detection range of the collision sensor, and a base pattern in which nodes are connected by edges based on the minimum distance between nodes is generated as a constituent unit of the topological map (node ​​graph).

[0051] An example of generating a bass pattern will be described with reference to FIG.

[0052] In the xy plane based on the center of rotation when the robot 20 is viewed from above, the width (x direction) of the outer shape 20E of the robot 20 is defined as x r , the length (y direction) of the outer shape 20E is y r The width (x direction) of the detection range RD of the collision sensor provided in the front of the robot 20 in the traveling direction is set to x s , the length of the detection range RD (y direction) is ys Let's say.

[0053] Here, the radius of rotation of the outer shape 20E when the robot 20 turns is r r , the radius of rotation of the detection range RD of the collision sensor is r s Then, the shortest inter-node distance Sd at which the collision sensor does not react even when the robots 20 rotate is Sd>r r +r s That is, the shortest inter-node distance Sd can be calculated by the following formula (1).

[0054]

[0055] By using the shortest inter-node distance Sd calculated in this way, it is possible to generate a base pattern BP configured by arranging nodes Nd at the four vertices of a square whose one side has the shortest inter-node distance Sd. In the base pattern BP, the nodes Nd arranged at the four vertices of the square are connected in a lattice shape by edges Eg.

[0056] In the technology disclosed herein, a topological map is generated using such base patterns BP as building blocks. Note that the nodes Nd of the base pattern BP may be connected by edges Eg in a manner other than a grid (i.e., diagonal shapes of a square). In this case, however, path planning must be performed under conditions in which different robots 20 cannot exist on the same base pattern BP.

[0057] Furthermore, if the detection range of the collision sensor is not taken into consideration, a distance between nodes in the topological map may be realized that will prevent collisions even when adjacent robots 20 turn. Specifically, the shortest allowable distance between nodes may be calculated based only on the external shape information of the robots 20, and a base pattern in which nodes are connected by edges based on the shortest distance between nodes may be generated as a constituent unit of the topological map.

[0058] In this case, as shown in FIG. 6, the shortest inter-node distance Sd that will not cause collision even when the robots 20 rotate is Sd>r r +r r (=2r r ) should be satisfied.

[0059] In the example of FIG. 6, a base pattern BP can also be generated by arranging nodes Nd at the four vertices of a square whose side has the shortest inter-node distance Sd.

[0060] (2) Determining the Detection Range of the Collision Sensor The detection range RD of the collision sensor provided in the robot 20, which was described with reference to Fig. 5, can be determined based on the machine body characteristic information of the robot 20. Specifically, the detection range RD of the collision sensor can be determined based on speed-related information including the maximum speed, maximum acceleration, maximum angular velocity, and maximum angular acceleration of the robot 20, which is one piece of the machine body characteristic information of the robot 20.

[0061] As shown in FIG. 7, the robot 20 moves at a maximum speed V max Consider the case where an obstacle is detected in the direction of travel while driving. In this case, the maximum acceleration -a max The braking distance until V = 0 after decelerating is s = (V max ) 2 / 2a max If the detection range RD of the collision sensor is shorter than the length y s By making the braking distance greater than the braking distance s, it is possible to stop the vehicle without a collision even if deceleration is started immediately after an obstacle is detected by the collision sensor.

[0062] As shown in FIG. 8, the robot 20 moves at a maximum angular velocity ω max When an obstacle is detected in the direction of rotation while turning (rotating), the maximum angular acceleration is -a max The braking angle until the vehicle decelerates and reaches ω=0 is θ. At this time, the width x of the detection range RD of the collision sensor s is made larger than the value that satisfies the following formula (2), max Even if an obstacle is detected while rotating, the robot can stop without colliding with the obstacle.

[0063]

[0064] (3) Setting divided areas in the drivable area In the technology disclosed herein, a topological map is generated by placing the base pattern generated as described above in each divided area obtained by dividing the movable area (drivable area) in the environmental map.

[0065] Specifically, a topological map is generated by spreading the base pattern over the travelable area DA, as shown in Fig. 9. If the base pattern is spread evenly over the entire area as shown in Fig. 9A, the topological map will include a portion where the robots 20 cannot pass each other (one-way traffic) in a narrow region that is a bottleneck due to the no-travel area NDA, as shown by the dashed line E30.

[0066] Therefore, as shown in Figure 9B, the drivable area DA is divided into multiple (three in the example of Figure B) divided areas SA31, SA32, and SA33, and base patterns are arranged in each of the divided areas SA31, SA32, and SA33 so as to increase the number of movement routes.

[0067] (4) Setting the Size of the Divided Regions As described with reference to FIG. 9 , one possible method for dividing the drivable area into divided regions is for the user to manually set rectangular regions to be used as divided regions. In this case, the user draws rectangles on a GUI (Graphical User Interface) by, for example, dragging a mouse. In this case, even if a larger rectangular region is set as a divided region, it is difficult for the user to determine whether this will contribute to improving driving performance.

[0068] 10 , the size of the divided area SA41 in the drivable area DA is set by the user using the size of the base pattern BP as the unit US. That is, by changing the size of the drag range for setting the divided area SA41 in the unit US of the size of the base pattern BP, it becomes easier to set the divided area SA41 and it is possible to efficiently arrange the base pattern BP in the drivable area DA without waste.

[0069] (5) Connection of Boundary Nodes As explained with reference to Figure 9, when a base pattern is placed for each divided area into which the drivable area is divided, it is necessary to connect nodes (hereinafter referred to as boundary nodes) on either side of the boundary of adjacent divided areas with edges.

[0070] For example, as shown in Figure 11A, when the boundary nodes (the nodes closest to the boundary) of adjacent divided areas SA51 and SA52 are connected by an edge, the boundary nodes may be extremely close to each other or the positions of the nodes may be shifted. In this case, there is a risk of a collision between robot 20-1 moving within divided area SA51 and robot 20-2 moving within divided area SA52. Furthermore, depending on the accuracy (resolution) of the self-location estimation of robot 20-3, there is a risk that it may not be able to distinguish between adjacent boundary nodes, resulting in false detection of arrival at the node or failure to detect the node.

[0071] Therefore, if the distance between boundary nodes is shorter than the shortest inter-node distance, the boundary node of one of the divided areas is deleted.

[0072] 11B, in division area SA52, nodes (boundary nodes) present within a circle C511 whose center is the boundary node Nd511 located in division area SA51 and whose radius is the width of the base pattern are deleted. By performing the same process on all boundary nodes in division areas SA51 and SA52, the boundary nodes located in the portion indicated by dashed line E50 in division area SA52 are deleted. When a boundary node in division area SA52 is deleted, an edge is connected between the boundary node in division area SA51 and the nearest node in division area SA52.

[0073] This makes it possible to prevent collisions between robots at the boundaries of adjacent divided areas, and to prevent erroneous detection or failure to detect arrival at a node.

[0074] Furthermore, when connecting boundary nodes of adjacent divided areas (nodes closest to the boundary) with an edge, if part of the body of the robot 20 moving between the boundary nodes extends beyond one of the divided areas, the boundary nodes are not connected.

[0075] For example, as shown in Figure 11B, if an edge is connected between boundary node Nd512 in divided area SA51 and node Nd521 in divided area SA52 after the boundary node has been deleted, part of the body of robot 20-3 moving between the nodes will extend beyond the divided areas SA51 and SA52, and therefore there will be no connection between boundary node Nd512 and node Nd521.

[0076] This allows the robot to travel safely, avoiding collisions with walls and other obstacles.

[0077] (6) Placement of destination node In a topological map generated by placing multiple base patterns in a drivable area (divided region), there may be cases where the user wants to place a destination node set by the user at a position different from the node on the base pattern.

[0078] For example, as shown in Figure 12A, in a node graph generated by arranging multiple base patterns in divided area SA61, if a destination node Nd611 is arranged at a position different from the nodes on the base pattern, the nodes will be extremely close to each other. In this case, there is a risk of collision between robots 20 moving near node Nd611. Furthermore, depending on the accuracy (resolution) of the self-location estimation of the robot 20, there is a risk that the robot 20 will not be able to distinguish between adjacent nodes, resulting in erroneous detection of arrival at the node or failure to detect the node.

[0079] Therefore, when a destination node is placed on a topological map by a user, among the nodes constituting the base pattern placed on the topological map, nodes whose distance to the destination node is shorter than the shortest inter-node distance are deleted.

[0080] 12B, the nodes present within a circle C611 whose center is the destination node Nd611 arranged in the divided area SA61 and whose radius is the width of the base pattern are deleted, and then the destination node Nd611 and the node that was connected to the deleted node are newly connected.

[0081] This makes it possible to prevent collisions between robots near the destination node, as well as erroneous detection or failure to detect arrival at the node.

[0082] <4. Setting screen and mobile robot system processing>

[0083] (Configuration of Setting Screen) FIG. 13 is a diagram showing an example of a setting screen displayed on the terminal 10. As shown in FIG.

[0084] 13, menu tabs are provided at the top of the setting screen 700 for performing various settings related to the mobile robot system 1. Specifically, the setting screen 700 has five menu tabs: "Load environmental map," "Set machine characteristics," "Register travelable area," "Register destination node," and "Generate topological map."

[0085] “Load environmental map” is a menu tab that is selected to load the environmental map created by the robot 50 into the server 30 .

[0086] "Setting Machine Characteristics" is a menu tab selected to input machine characteristic information of the robot 20 that is to execute a movement task.

[0087] "Register travelable area" is a menu tab that is selected to set divided areas in the travelable area.

[0088] "Register Destination Node" is the menu tab that is selected to place a destination node on the generated topological map.

[0089] “Generate Topological Map” is a menu tab that is selected to generate a topological map for path planning of the robot 20 for the environmental map loaded from the robot 50 .

[0090] Additionally, by selecting the "Load Environmental Map" menu tab below the menu tabs on the setting screen 700, the environmental map loaded from the robot 50 to the server 30 is displayed. In the environmental map, the areas shown in white are the drivable areas, and a topological map is generated by placing base patterns in these drivable areas.

[0091] The following describes the processing of the mobile robot system in response to the selection of a menu tab on the setting screen 700 displayed on the terminal 10.

[0092] 14, when the menu tab for "Machine Characteristics Settings" is selected on the setting screen 700, a menu M711 for inputting machine characteristic information is displayed. In the menu M711, external shape information (length and width (depth and width on the horizontal plane) of the robot 20) and speed-related information (maximum speed, maximum acceleration, maximum angular velocity, and maximum angular acceleration of the robot 20) can be input as machine characteristic information.

[0093] The machine characteristic information input on the setting screen 700 is transmitted to the server 30 and stored in the robot information storage unit 340. In this manner, a base pattern is generated with the machine characteristic information of the robot 20 stored in the robot information storage unit 340.

[0094] 15 is a flowchart illustrating the base pattern generation process based on the aircraft characteristic information input on the setting screen 700. The base pattern generation process may be executed when, for example, the menu tab "Generate topological map" is selected on the setting screen 700.

[0095] In step S11, the map generation unit 370 refers to the machine characteristic information stored in the robot information storage unit 340 to determine whether or not external shape information has been input as the machine characteristic information.

[0096] If it is determined that external shape information has not been input as aircraft characteristic information, the setting screen generation unit 360 generates display data for a message prompting the input of aircraft characteristic information and transmits it to the terminal 10, and step S11 is repeated.

[0097] If it is determined that external shape information has been input as the machine characteristic information, the process proceeds to step S12, where the map generation unit 370 calculates the shortest inter-node distance based on the external shape information (length and width of the robot 20).

[0098] Then, in step S13, the map generating unit 370 generates a base pattern based on the calculated shortest inter-node distance.

[0099] According to the above processing, as explained with reference to FIG. 6, it is possible to realize an inter-node distance in the topological map that prevents collisions even when adjacent robots 20 turn, and it becomes possible for multiple robots to execute movement tasks more safely.

[0100] As described with reference to FIG. 5, a base pattern may be generated taking into consideration the detection range of a collision sensor.

[0101] FIG. 16 is a flowchart illustrating a base pattern generation process that takes into account the detection range of the collision sensor.

[0102] In step S21, the map generation unit 370 determines whether or not external shape information and speed-related information have been input as the machine characteristic information by referring to the machine characteristic information stored in the robot information storage unit 340.

[0103] If it is determined that external shape information and speed-related information have not been entered as aircraft characteristic information, the setting screen generation unit 360 generates display data for a message prompting the input of aircraft characteristic information and sends it to the terminal 10, and step S21 is repeated.

[0104] If it is determined that the external shape information and the speed-related information have been input as the machine characteristic information, the process proceeds to step S22. In step S22, the map generation unit 370 calculates the detection range of the collision sensor based on the speed-related information (the maximum speed, maximum acceleration, maximum angular velocity, and maximum angular acceleration of the robot 20) using the method described with reference to Figures 7 and 8.

[0105] Next, in step S23, the map generating unit 370 calculates the shortest distance between nodes based on the external shape information (length and width of the robot 20) and the calculated detection range of the collision sensor.

[0106] Then, in step S24, the map generating unit 370 generates a base pattern based on the calculated shortest inter-node distance.

[0107] According to the above processing, as explained with reference to FIG. 5, it is possible to realize a distance between nodes such that the collision sensor does not react even when adjacent robots 20 turn, and multiple robots can perform movement tasks more safely.

[0108] Incidentally, there may be cases where multiple robots 20 with different body characteristics exist within the mobile robot system 1. In this case, to satisfy the requirement that adjacent robots 20 do not collide with each other even when turning, or that the collision sensor does not react, the largest base pattern may be adopted from among the base patterns obtained based on the body characteristics of each robot 20. In other words, a topological map may be generated using a base pattern configured based on the shortest inter-node distance calculated based on the maximum depth or width of the robots 20 among the external shape information of the multiple robots 20.

[0109] FIG. 17 is a diagram showing an example of a setting screen 700 in which the largest base pattern among the base patterns obtained based on the body characteristics of a plurality of robots 20 is adopted.

[0110] 17, the "Machine Characteristics Settings" menu tab is selected, and a menu M721 is displayed indicating that machine characteristic information for three robots (robots 0, 1, and 2) has been entered. The menu M721 displays a star indicating that robot 1 has the largest external shape information of the three robots. Furthermore, text information T722 is superimposed on the setting screen 700, indicating that the node-to-node distance based on the machine characteristics (external shape information) of robot 1 has been adopted as the shortest node-to-node distance that constitutes the base pattern.

[0111] This makes it possible to realize a distance between nodes that will prevent collisions or collision sensors from reacting even when nearby robots 20 turn in an environment where multiple robots 20 with different body characteristics exist, thereby enabling multiple robots to perform movement tasks more safely.

[0112] (Divide Drivable Area and Placement of Base Pattern) As shown in Fig. 18, by selecting the menu tab "Register Drivable Area" on the setting screen 700, it is possible to place a base pattern in the drivable area on the environmental map displayed on the setting screen 700. In this case, if the base pattern is placed from the coordinate origin of the environmental map (for example, the coordinates of the upper left vertex), it may not be possible to perform efficient route planning, as described with reference to Diagram A of Fig. 9 .

[0113] Therefore, the technology disclosed herein allows the user to manually specify divided areas (rectangular areas) in which base patterns can be placed within the drivable area of ​​the environmental map. In the example of Fig. 18, two divided areas SA731 and SA732 have already been set within the drivable area of ​​the environmental map, and a third divided area SA733 is set by changing the size of the drag range in units of the size of the base pattern.

[0114] In each divided area set in this manner, a base pattern is placed as described with reference to diagram B in Fig. 9. At this time, each time a base pattern is placed in a divided area, a predicted value EV734 of the throughput of each robot 20 on the topological map may be calculated. For example, the predicted value of throughput may be calculated by using any calculation method to perform a simulation of the movement of the robot on the topological map.

[0115] In the example of FIG. 18, the lower right portion of the setting screen 700 shows a value indicating that 500 transports per hour are possible as the predicted throughput value EV734.

[0116] This allows the user to understand whether the division area settings were appropriate. Note that the predicted throughput value may be calculated each time a base pattern is placed in a division area, or may be calculated each time a division area is set in a drivable area.

[0117] 19 is a flowchart illustrating the base pattern placement process for a drivable area. The base pattern placement process may be executed after the “Generate Topological Map” menu tab is selected on the setting screen 700 and a base pattern is generated.

[0118] In step S31, the map generation unit 370 determines whether or not divided regions have been set in the travelable area.

[0119] If it is determined that no divided area has been set in the drivable area, the setting screen generation unit 360 generates display data for a message prompting the user to set a divided area, and transmits the data to the terminal 10, and step S31 is repeated.

[0120] If it is determined that divided areas have been set in the travelable area, the process proceeds to step S32, where the map generation unit 370 selects one divided area.

[0121] In step S33, the map generating unit 370 divides the width and height of the selected divided area (rectangular area) by the size of the base pattern (i.e., the shortest distance between nodes), and sets half of each remainder as the offset coordinate. Here, the quotient (division result) of the width direction of the divided area is N x , the quotient in the height direction is N y , offset coordinates (O x , O y ) When the size of the divided area is set in units of the size of the base pattern, the offset coordinates are (0, 0).

[0122] In step S34, the map generating unit 370 calculates the offset coordinates (O x , O y In this case, the base pattern is arranged with N x pcs, N in the height direction y The base patterns are arranged.

[0123] In step S35, the map generating unit 370 determines whether or not the base pattern has been placed in all the divided areas.

[0124] If it is determined that the base pattern has not been arranged in all the divided regions, the process returns to step S32, and the processes from step S32 to S34 are repeated. That is, the base pattern is arranged in the newly selected divided region.

[0125] On the other hand, if it is determined that the base pattern has been placed in all the divided areas, the base pattern placement process ends.

[0126] According to the above process, it is possible to efficiently arrange the base patterns in the travelable area without waste.

[0127] (Connection of Boundary Nodes) After the base pattern is placed for each divided area obtained by dividing the travelable area as described above, the boundary nodes on either side of the boundary between adjacent divided areas are connected by edges.

[0128] 20 is a flowchart illustrating the boundary node connection process, which is executed automatically, for example, after the base pattern placement process described with reference to FIG.

[0129] In step S51, the map generation unit 370 determines whether or not two or more divided regions have been set in the travelable area.

[0130] If it is determined that two or more divided areas have been set, the process proceeds to step S52, where the map generating unit 370 selects one of the boundaries between adjacent divided areas.

[0131] In step S53, the map generating unit 370 extracts one of the boundary nodes of one of the adjacent divided areas.

[0132] In step S54, the map generation unit 370 deletes, in the other of the adjacent divided areas, any node whose distance to the extracted boundary node is shorter than the shortest inter-node distance. At this time, if there is no node whose distance to the extracted boundary node is shorter than the shortest inter-node distance, no node is deleted from the other divided area.

[0133] In step S55, the map generation unit 370 connects the extracted boundary node with the nearest node in the other divided area with an edge. At this time, if a part of the body of the robot 20 moving between the connected nodes extends outside one of the divided areas, the nodes are not connected.

[0134] In step S56, the map generating unit 370 determines whether or not all boundary nodes have been extracted for the selected boundary.

[0135] If it is determined that all boundary nodes have not been extracted, the process returns to step S53, and the processes from step S53 to S55 are repeated.

[0136] On the other hand, if it is determined that all boundary nodes have been extracted, the process proceeds to step S57, where the map generating unit 370 determines whether all boundaries of adjacent divided areas have been selected.

[0137] If it is determined that all the boundaries have not been selected, the process returns to step S52, and the processes from step S52 to S56 are repeated.

[0138] On the other hand, if it is determined that all boundaries have been selected, the boundary node connection process ends.

[0139] In addition, if it is determined in step S51 that two or more divided areas have not been set, that is, if only one divided area has been set, all processing is skipped because there are no boundary nodes.

[0140] The above processing makes it possible to prevent collisions between robots at the boundaries of adjacent divided areas, and to prevent erroneous detection or failure to detect arrival at a node.

[0141] (Connection of Destination Nodes) On the topological map generated as described above, the user can place destination nodes, such as parts shelves and manufacturing equipment, according to the movement task of the robot 20 .

[0142] 21 is a flowchart illustrating the destination node connection process. The destination node connection process may be executed when, for example, the “Register destination node” menu tab is selected on the setting screen 700.

[0143] In step S61, the map generation unit 370 determines whether or not a destination node has been placed on the topological map displayed on the setting screen 700 of the terminal 10.

[0144] If it is determined that the destination node has not been placed, the setting screen generation unit 360 generates display data for a message urging the user to place the destination node, and transmits the data to the terminal 10, and step S61 is repeated.

[0145] If it is determined that the destination node has been placed, the process proceeds to step S62, where the map generation unit 370 deletes nodes whose distance to the destination node placed on the topological map is shorter than the shortest inter-node distance. At this time, if there is no node whose distance to the destination node is shorter than the shortest inter-node distance, the node is not deleted from the topological map.

[0146] In step S63, the map generation unit 370 connects the destination node and the node that was connected to the deleted node with an edge. Here, regardless of whether a node has been deleted, an edge may be connected between the destination node and a node that is, for example, twice the shortest inter-node distance from the destination node. At this time, if a part of the body of the robot 20 moving between the connected nodes extends outside the divided area (travelable area), the nodes are not connected.

[0147] FIG. 22 is a diagram showing an example of a setting screen 700 when the registration of the destination node is completed.

[0148] In the example of Figure 22, a destination node Gn is placed on a topological map generated by placing a base pattern in the drivable area of ​​the environmental map displayed on the setting screen 700, and is connected to surrounding nodes.

[0149] The above processing makes it possible to prevent collisions between robots near the destination node, and to prevent erroneous detection or failure to detect arrival at the node.

[0150] 5. Examples of Applications The robot 20 in the mobile robot system 1 may be a two-wheeled robot with two opposing wheels on the left and right, a steering robot with a single drive system and a steering wheel, a quadrupedal robot, or a robot using Mecanum wheels, which are wheels covered with barrel-shaped rollers tilted at 45 degrees.

[0151] Furthermore, the technology according to the present disclosure can be applied to various fields. For example, the technology according to the present disclosure may be realized as a device mounted on any type of mobile device, such as an automobile, an electric vehicle, a hybrid electric vehicle, a motorcycle, a bicycle, personal mobility, or a ship. Furthermore, the technology according to the present disclosure may be realized as a device mounted on equipment used in production processes in factories, equipment used in the construction field, or equipment used in agriculture, forestry, or the like. When applied to such fields, it becomes possible to efficiently perform work using multiple devices even in an environment where the passable area of ​​the mobile device changes depending on the work situation.

[0152] 6. Example of Computer Hardware Configuration The above-described series of processes can be executed by hardware or software. When the series of processes is executed by software, the program constituting the software is installed from a program recording medium into a computer incorporated in dedicated hardware, a general-purpose personal computer, or the like.

[0153] 23 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processes using a program. The server 30 may be configured, for example, by a computer 1000 having a configuration similar to that shown in FIG.

[0154] A CPU (Central Processing Unit) 1001 , a ROM (Read Only Memory) 1002 , and a RAM (Random Access Memory) 1003 are interconnected by a bus 1004 .

[0155] An input / output interface 1005 is further connected to the bus 1004. An input unit 1006 including a keyboard, a mouse, etc., and an output unit 1007 including a display, a speaker, etc. are connected to the input / output interface 1005. Also connected to the input / output interface 1005 are a storage unit 1008 including a hard disk, a nonvolatile memory, etc., a communication unit 1009 including a network interface, etc., and a drive 1010 that drives removable media 1011.

[0156] In the computer 1000 configured as described above, the CPU 1001 performs the above-described series of processes by, for example, loading a program stored in the memory unit 1008 into the RAM 1003 via the input / output interface 1005 and the bus 1004 and executing it.

[0157] The program executed by the CPU 1001 is stored on, for example, removable media 1011 or is provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting, and installed in the storage unit 1008.

[0158] The program executed by computer 1000 may be a program that processes in chronological order according to the order described in this specification, or may be a program that processes in parallel or at the required timing, such as when called.

[0159] In this specification, a system refers to a collection of multiple components (devices, modules (components), etc.), regardless of whether all of the components are contained in the same housing. Therefore, multiple devices housed in separate housings and connected via a network, and a single device housed in a single housing with multiple modules, are both systems.

[0160] The effects described in this specification are merely examples and are not limiting, and other effects may also be present.

[0161] The embodiments of the present disclosure are not limited to the above-described embodiments, and various modifications are possible within the scope of the gist of the present disclosure.

[0162] For example, the embodiment of the present disclosure can be configured as a cloud computing system in which a single function is shared and processed collaboratively by multiple devices via a network.

[0163] Furthermore, each step described in the above flowchart can be executed by one device, or can be shared and executed by a plurality of devices.

[0164] Furthermore, when one step includes multiple processes, the multiple processes included in that one step can be executed by one device or can be shared and executed by multiple devices.

[0165] The effects described in this specification are merely examples and are not limiting, and other effects may also be present.

[0166] Furthermore, the technology disclosed herein may have the following configurations. (1) An information processing method for calculating, based on vehicle characteristic information of a mobile device, an allowable shortest inter-node distance between nodes in a topological map for path planning of the mobile device, and generating the topological map using a base pattern in which the nodes are connected by edges based on the shortest inter-node distance. (2) The information processing method described in (1), in which the vehicle characteristic information includes external shape information of the mobile device. (3) The information processing method described in (2), in which the external shape information is the depth and width of the mobile device. (4) The information processing method described in (3), in which the topological map is generated using the base pattern constructed based on the shortest inter-node distance calculated based on the maximum depth or width of the mobile device among the external shape information of a plurality of the mobile devices. (5) The information processing method described in (4), in which the shortest inter-node distance is calculated based on the vehicle characteristic information and the detection range of a collision sensor provided in the mobile device. (6) The information processing method according to (5), wherein the aircraft characteristic information further includes speed-related information including a maximum speed, a maximum acceleration, a maximum angular velocity, and a maximum angular acceleration of the mobile device, and the detection range is determined based on the speed-related information. (7) The information processing method according to any one of (1) to (6), wherein the base pattern is configured by arranging the nodes at four vertices of a square, one side of which is the shortest inter-node distance. (8) The information processing method according to any one of (1) to (7), wherein the topological map is generated by arranging the base pattern in each divided area obtained by dividing a movable area in an environmental map. (9) The information processing method according to (8), wherein the divided area is a rectangular area set by a user. (10) The information processing method according to (9), wherein the size of the divided area set by the user is accepted in units of the size of the base pattern. (11) The information processing method according to any one of (8) to (10), wherein an expected value of throughput of the mobile device in the topological map is calculated each time the base pattern is arranged in the divided area.(12) The information processing method according to any one of (8) to (11), further comprising: deleting the boundary node of one of the divided areas when the distance between boundary nodes on either side of the boundary between adjacent divided areas is shorter than the shortest inter-node distance. (13) The information processing method according to (12), further comprising: when connecting the boundary nodes of adjacent divided areas with an edge, if a part of the body of the mobile device moving between the boundary nodes extends outside of one of the divided areas, not connecting the boundary nodes. (14) The information processing method according to any one of (1) to (13), further comprising: when a destination node is placed on the topological map by a user, deleting, from among the nodes constituting the base pattern placed on the topological map, the node whose distance to the destination node is shorter than the shortest inter-node distance. (15) The information processing method according to (14), further comprising: newly connecting the destination node to the node that was connected to the deleted node. (16) A program that causes a computer to execute a process of: calculating, based on aircraft characteristic information of a mobile device, an allowable shortest inter-node distance between nodes in a topological map for route planning of the mobile device, and generating the topological map using a base pattern in which the nodes are connected with edges based on the shortest inter-node distance. (17) An information processing system comprising: a map generation unit that calculates, based on aircraft characteristic information of the mobile device, an allowable shortest inter-node distance between nodes in a topological map for route planning of the mobile device, and generates the topological map using a base pattern in which the nodes are connected with edges based on the shortest inter-node distance.

[0167] REFERENCE SIGNS LIST 1 Mobile robot system, 10 Terminal, 20 Robot, 30 Server, 50 Robot, 310 Communication unit, 320 Task planning unit, 330 Path planning unit, 340 Robot information storage unit, 350 Map storage unit, 360 Setting screen generation unit, 370 Map generation unit

Claims

1. An information processing method for generating a topological map for path planning of a mobile device, comprising calculating a shortest allowable node-to-node distance between nodes in the topological map based on the body characteristic information of the mobile device, and generating the topological map using a base pattern in which the nodes are connected by edges based on the shortest node-to-node distance.

2. The information processing method according to claim 1, wherein the body characteristic information includes the external shape information of the mobile device.

3. The information processing method according to claim 2, wherein the external shape information is the depth and width of the mobile device.

4. The information processing method according to claim 3, wherein the topological map is generated using the base pattern configured based on the shortest node-to-node distance calculated based on the maximum depth or width of the mobile device among the external shape information of a plurality of the mobile devices.

5. The information processing method according to claim 4, wherein the shortest node-to-node distance is calculated based on the body characteristic information and the detection range of a collision sensor provided in the mobile device.

6. The information processing method according to claim 5, wherein the body characteristic information further includes speed-related information including the maximum speed, maximum acceleration, maximum angular velocity, and maximum angular acceleration of the mobile device, and the detection range is determined based on the speed-related information.

7. The information processing method according to claim 1, wherein the base pattern is configured by arranging the nodes at four vertices of a square with one side being the shortest node-to-node distance.

8. The information processing method according to claim 1, wherein the topological map is generated by arranging the base pattern for each divided region obtained by dividing the movable region in the environmental map.

9. The information processing method according to claim 8, wherein the divided region is a rectangular region set by a user.

10. The information processing method according to claim 9, wherein the size of the divided region set by the user is received with the size of the base pattern as a unit.

11. The information processing method according to claim 8, wherein an expected value of the throughput of the mobile device in the topological map is calculated each time the base pattern is arranged in the divided region.

12. The information processing method according to claim 8, wherein when the distance between boundary nodes sandwiching the boundary of adjacent divided regions is shorter than the shortest node-to-node distance, the boundary nodes of any of the divided regions are deleted.

13. The information processing method according to claim 12, wherein when connecting edges between the boundary nodes of the adjacent divided regions, if a part of the body of the moving device moving between the boundary nodes protrudes from any of the divided regions, the connection between the boundary nodes is not made.

14. The information processing method according to claim 1, wherein when a destination node is arranged on the topological map by a user, among the nodes constituting the base pattern arranged on the topological map, the nodes whose distance from the destination node is shorter than the shortest node-to-node distance are deleted.

15. The information processing method according to claim 14, wherein the destination node and the nodes connected to the deleted nodes are newly connected.

16. A program for causing a computer to execute a process of calculating the shortest allowable node-to-node distance between nodes in a topological map for route planning of the moving device based on the body characteristic information of the moving device, and generating the topological map using a base pattern in which the nodes are connected by edges based on the shortest node-to-node distance.

17. An information processing system including a map generation unit that calculates the shortest allowable node-to-node distance between nodes in a topological map for route planning of the moving device based on the body characteristic information of the moving device, and generates the topological map using a base pattern in which the nodes are connected by edges based on the shortest node-to-node distance.

Citation Information

Patent Citations

  • Information processing device, information processing method and computer program

    JP2023070904A

  • Information processing device and information processing method

    WO2023233821A1