Method, system, and non-transient computer-readable recording medium for determining a robot's movement path.
The method and system dynamically calculate obstacle radii based on motion and relationship information to enhance robot navigation accuracy and efficiency, addressing the limitations of existing path planning technologies.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- BEAR ROBOTICS INC
- Filing Date
- 2023-03-08
- Publication Date
- 2026-05-15
AI Technical Summary
Existing path planning technologies for robots fail to accurately consider the dynamic nature of obstacle radii influenced by the motion attributes and relationships with surrounding obstacles, leading to inefficient and potentially unsafe navigation.
A method and system that dynamically calculate obstacle radii by considering motion attribute information and relationship information of obstacles, enabling precise determination of optimal movement paths for robots.
Enhances the accuracy and efficiency of robot navigation by accounting for the dynamic nature of obstacle radii, improving safety and task performance.
Smart Images

Figure 0007860012000001 
Figure 0007860012000002 
Figure 0007860012000003
Abstract
Description
Technical Field
[0001] The present invention relates to a method, a system, and a non-transitory computer-readable recording medium for determining a movement path of a robot.
Background Art
[0002] Robots can be used to automate and perform difficult tasks and repetitive operations, etc., and are thus utilized in various fields to replace or assist humans. One of the fundamental and important issues in utilizing such robots is related to establishing a safe and efficient path planning for performing the tasks (or missions) assigned to the robots. For this purpose, various information about the robot and its surroundings is required. Among them, in particular, information regarding the radius of obstacles is an important basic material for establishing a path plan so that the robot does not collide with the obstacles.
[0003] Recently, with the rise of the Fourth Industrial Revolution and the attention paid to such robots as the next-generation food industry, various studies related to efficiently determining and controlling the movement path of robots have been underway.
[0004] An example of prior art relating to this is the technology disclosed in Patent Document 1, which provides a mobile robot control device that determines the path of a mobile robot using the distance between a mobile robot region having a first area and an obstacle, and the mobile robot control device is characterized by including a user interface that receives user input to select the magnitude of an error which is the maximum size of a third area obtained by subtracting the second area from the first area in order to fill the mobile robot region with at least one circle having a second area smaller than the first area, and a control unit that identifies the mobile robot region, extracts a mobile robot skeleton in which the center point of the at least one circle is located, calculates the number and position of the at least one circle placed on the mobile robot skeleton using the magnitude of the error, and compares the distance value between the pixel containing the center point of the at least one circle and the obstacle with the radius of the at least one circle.
[0005] However, according to the conventional technologies mentioned above, as well as the technologies introduced so far, the radius that the obstacle can affect is set based on a boundary line identified from the external shape of the obstacle, or a point a certain distance away from that boundary line, and the path plan is determined based on the distance between the obstacle and the robot measured based on this radius. In other words, even though the radius that the obstacle can affect can change depending on the motion attributes of the obstacle, which are determined by casters, gears, etc. attached to the obstacle, and the relationship between the obstacle and other surrounding obstacles (for example, the relationship between a chair, which is an obstacle, and a table, which is another surrounding obstacle), the radius of the obstacle is determined by applying only a certain standard without taking these factors into consideration. [Prior art documents] [Patent Documents]
[0006] [Patent Document 1] Korean Published Patent Gazette No. 2016-144848 [Overview of the project] [Problems that the invention aims to solve]
[0007] Therefore, the inventors propose a technique for calculating the radius of an obstacle affected by a particular obstacle by referring to at least one of the motion attribute information of the obstacle and relationship information of the obstacle to other obstacles associated with that obstacle, and for determining the optimal movement path of a robot based on this.
[0008] The purpose of this invention is to solve all of the problems of the prior art described above.
[0009] Furthermore, the present invention aims to dynamically calculate the obstacle radius affected by an obstacle by referring to at least one of the motion attribute information of the obstacle and relationship information of the obstacle to other obstacles associated with the obstacle.
[0010] Furthermore, another objective of the present invention is to more accurately calculate the radius of an obstacle that may have an impact. [Means for solving the problem]
[0011] A typical configuration of the present invention for achieving the above objective is as follows:
[0012] According to one aspect of the present invention, a method for determining a robot's movement path is provided, comprising the steps of: identifying at least one obstacle with respect to the robot's position; calculating an obstacle radius affected by the at least one obstacle by referring to at least one of motion attribute information of the at least one obstacle and relationship information of at least one other obstacle associated with the at least one obstacle; and determining an optimal movement path for the robot by referring to the calculated obstacle radius and a task assigned to the robot.
[0013] According to another aspect of the present invention, a system for determining the movement path of a robot is provided, comprising: an obstacle identification unit that identifies at least one obstacle based on the robot's position; an obstacle radius calculation unit that calculates an obstacle radius affected by the at least one obstacle by referring to at least one of motion attribute information of the at least one obstacle and relationship information of at least one other obstacle associated with the at least one obstacle; and a path determination unit that determines the optimal movement path of the robot by referring to the calculated obstacle radius and a task assigned to the robot.
[0014] In addition, other methods, other systems, and non-transient, computer-readable recording media for recording computer programs for performing the present invention are further provided. [Effects of the Invention]
[0015] According to the present invention, the obstacle radius affected by an obstacle can be dynamically calculated by referring to at least one of the motion attribute information of the obstacle and relationship information of the obstacle with other obstacles associated with it.
[0016] Furthermore, according to the present invention, the radius of the obstacle that may be affected can be calculated more precisely. [Brief explanation of the drawing]
[0017] [Figure 1] This figure schematically shows the configuration of the overall system for determining the movement path of a robot according to one embodiment of the present invention. [Figure 2] This figure illustrates the internal configuration of a robot path management system according to one embodiment of the present invention. [Figure 3] This figure illustrates the process by which the movement path of a robot according to one embodiment of the present invention is determined. [Modes for carrying out the invention]
[0018] The detailed description of the present invention to be described below refers to the accompanying drawings that illustrate specific embodiments in which the present invention can be implemented as examples. Such embodiments are fully and detailedly described so that those skilled in the art can implement the present invention. It should be understood that various embodiments of the present invention are different from each other but do not have to be mutually exclusive. For example, the specific shapes, structures, and characteristics described in this specification can be changed and embodied from one embodiment to another without departing from the spirit and scope of the present invention. Also, it should be understood that the position or arrangement of individual components within each embodiment can be changed without departing from the spirit and scope of the present invention. Therefore, the detailed description to be described below is not in a limiting sense, and the scope of the present invention should be accepted as including the scope claimed by the claims of the patent claims and all ranges equivalent thereto. Similar reference numerals in the drawings represent the same or similar components across various aspects.
[0019] Hereinafter, for the convenience of those having ordinary knowledge in the technical field to which the present invention pertains to easily implement the present invention, various preferred embodiments of the present invention will be described in detail with reference to the attached drawings.
[0020] Overall system configuration FIG. 1 is a diagram schematically showing the configuration of an overall system for determining the movement path of a robot according to an embodiment of the present invention.
[0021] As shown in FIG. 1, the overall system according to an embodiment of the present invention can include a communication network 100, a robot path management system 200, and a robot 300.
[0022] First, according to an embodiment of the present invention, the communication network 100 can be configured regardless of the mode of communication such as wired communication or wireless communication, and can be composed of various communication networks such as a local area network (LAN), a metropolitan area network (MAN), and a wide area network (WAN). Preferably, the communication network 100 in this specification can be a known Internet or World Wide Web (WWW). However, the communication network 100 is not limited thereto, and may include at least a part of a known wired / wireless data communication network, a known telephone network, or a known wired / wireless television communication network.
[0023] For example, the communication network 100 can be a wireless data communication network that implements at least a part of conventional communication methods such as Wi-Fi (WiFi) communication, Wi-Fi Direct (WiFi-Direct) communication, Long Term Evolution (LTE) communication, Bluetooth (registered trademark) communication (more specifically, Bluetooth (registered trademark) Low Energy (BLE) communication), infrared communication, and ultrasonic communication.
[0024] Next, a robot path management system 200 according to an embodiment of the present invention can communicate with a robot 300 described later via the communication network 100, identify at least one obstacle based on the position of the corresponding robot 300, and refer to at least one of the motion attribute information of the identified obstacle and the relationship information between the corresponding obstacle and other related obstacles to calculate the obstacle radius affected by the corresponding obstacle, and can perform the function of determining the optimal movement path of the corresponding robot 300 by referring to the calculated obstacle radius and the task assigned to the corresponding robot 300.
[0025] On the other hand, although the robot path management system 200 has been described above, this description is illustrative, and it will be obvious to those skilled in the art that at least some of the functions and components required for the robot path management system 200 may be implemented within the robot 300, as described later, or included in an external system (not shown). Furthermore, in some cases, all functions and components of the robot path management system 200 may be performed entirely within the robot 300, or all may be included within the robot 300.
[0026] Next, a robot 300 according to one embodiment of the present invention can communicate with a robot route management system 200 via a communication network 100 and is a device that can autonomously perform predetermined functions or assigned tasks without user operation, and may include a drive module (not shown) (e.g., a motor) for moving along a travel path. For example, such a robot 300 may be at least partially similar to a robotic vacuum cleaner, a robotic medical device, a guidance robot, and the like.
[0027] On the other hand, according to one embodiment of the present invention, such a robot 300 may include an application for assisting in determining the movement path of the robot 300 according to the present invention. Such an application may be downloaded from a robot path management system 200 or an external application distribution server (not shown).
[0028] Robot Path Management System Configuration The following describes in detail the internal configuration of the robot path management system 200, which performs important functions for realizing the present invention, and the functions of each component.
[0029] Figure 2 is a diagram illustrating the internal configuration of a robot path management system 200 according to one embodiment of the present invention.
[0030] Referring to Figure 2, a robot route management system 200 according to one embodiment of the present invention may include an obstacle identification unit 210, a radius calculation unit 220, a route determination unit 230, a communication unit 240, and a control unit 250. According to one embodiment of the present invention, at least a portion of the obstacle identification unit 210, radius calculation unit 220, route determination unit 230, communication unit 240, and control unit 250 may be program modules that communicate with an external system (not shown). Such program modules may be included in the robot route management system 200 in the form of an operating system, an application module, or other program modules, and may be physically stored on a variety of known storage devices. Alternatively, such program modules may be stored in a remote storage device that can communicate with the robot route management system 200. On the other hand, such program modules include, but are not limited to, routines, subroutines, programs, objects, components, data structures, etc., that perform specific tasks or execute specific types of abstract data according to the present invention.
[0031] First, the obstacle identification unit 210 according to one embodiment of the present invention can identify at least one obstacle based on the position of the robot 300.
[0032] For example, the obstacle identification unit 210 can identify at least one predicted movement path based on the robot 300's position, based on a task assigned to the robot 300, and can identify obstacles located within a predetermined distance from that identified at least one predicted movement path as the at least one obstacle. According to one embodiment of the present invention, the task assigned to the robot 300 may be determined based on at least one of the following: the location where the robot 300 is located, the function of the robot 300, and the structure of the robot 300, and may be assigned by a user associated with the robot 300 as needed (for example, a restaurant owner in the case of a restaurant service robot, a doctor in the case of a medical robot, etc.).
[0033] On the other hand, an obstacle identification unit 210 according to one embodiment of the present invention can identify at least one obstacle located within a predetermined distance from the position of the robot 300 through a camera module (not shown) or a scanning module (not shown). For example, the camera module may include a two-dimensional or three-dimensional (e.g., depth-measuring) camera module, and the scanning module may include a two-dimensional or three-dimensional laser, electromagnetic wave, or white light scanner module. More specifically, the camera module may include a stereo vision camera sensor, a Time-Of-Flight (TOF) camera sensor, a structured pattern camera sensor, etc., and the scanning module may include a LiDAR (Light Detection And Ranging) scanning sensor, a structured pattern scanning sensor, etc.
[0034] Next, the radius calculation unit 220 according to one embodiment of the present invention can calculate the radius of obstruction caused by the obstacle by referring to at least one of the motion attribute information of the obstacle and relationship information of the obstacle to other obstacles associated with the obstacle. According to one embodiment of the present invention, the motion attribute information of the obstacle may include information on whether the obstacle is movable, the means of movement the obstacle has (e.g., casters), the structure of the means of movement (e.g., the structure of the caster axis), etc. Also, according to one embodiment of the present invention, the relationship information of the obstacle to other obstacles associated with the obstacle may include information on at least one of the movable direction and movable distance of the obstacle, which are limited or expanded by the obstacle being directly or indirectly affected by other obstacles present in the vicinity (or within a predetermined distance) of the obstacle.
[0035] For example, the radius calculation unit 220 can determine motion attribute information of an obstacle based on at least one of the obstacle's external shape, function, and structure, and can determine the obstacle radius affected by the obstacle by referring to at least one of the directions and angles in which the obstacle can move and the distance in which the obstacle can move, which are specified by the motion attribute information.
[0036] More specifically, when the obstacle is a stroller, the radius calculation unit 220 can determine the direction in which the stroller can move (for example, the direction if it can only move in one way) and the distance it can move (for example, the distance it can move if the casters rotate for a few seconds) based on information regarding the number of casters, the shape of the casters, or the axis of the casters, and can calculate the obstacle radius of the stroller based on the determined direction and distance. According to one embodiment of the present invention, in the case of a stroller that can only move in one direction as described above, its obstacle radius may have a shape similar to an ellipse or rectangle.
[0037] As another example, the radius calculation unit 220 can determine the relationship between a first obstacle identified by the obstacle identification unit 210 and at least one other second obstacle located around the first obstacle, and calculate the obstacle radius of the first obstacle based on the extent to which the direction and distance that the first obstacle can move are restricted or expanded by such a relationship. According to one embodiment of the present invention, in order to determine the relationship between the first obstacle and the second obstacle, a lookup table containing pre-configured information on the relationships between multiple obstacles may be referenced.
[0038] More specifically, when the first and second obstacles are a chair and a desk, respectively, the distance the chair (i.e., the first obstacle) can move in the left-right direction may be partially restricted by the structure of the desk (i.e., the second obstacle). Specifically, the distance the chair can move in the left-right direction may be partially restricted by the two desk legs located on each side of the chair. In this case, the radius calculation unit 220 can calculate the obstacle radius of the chair by partially restricting the left-right direction in which the chair can move due to the aforementioned relationship. Furthermore, when the first obstacle is a chair and the second obstacle is a person sitting (or standing) on the desk and chair (i.e., the first obstacle), as described above, although the distance the chair (i.e., the first obstacle) can move in the left-right direction is partially restricted, the distance the chair can move in the front-back direction may be expanded (or increased) by the width of the person's body (i.e., the front-to-back width of the torso when sitting in the chair, or the front-to-back width of the feet when standing in the chair). In this case, the radius calculation unit 220 can calculate the obstacle radius of the chair by limiting the distance the chair can move in the left-right direction according to the aforementioned relationship, but expanding (or increasing) the distance it can move in the front-back direction.
[0039] Furthermore, for example, the radius calculation unit 220 can calculate the obstacle radius affected by the obstacle by referring to the motion attribute information of the obstacle to identify at least one of the possible directions and distances of movement of the obstacle, and by referring to relationship information of at least one other obstacle associated with the obstacle to limit or extend at least one of the identified directions and distances of movement.
[0040] On the other hand, according to one embodiment of the present invention, the process of calculating the obstacle radius based on at least one of the motion attribute information of the obstacle and relationship information of the obstacle with other obstacles associated with it can be performed based on artificial intelligence (AI), including machine learning or deep learning.
[0041] For example, if a chair with casters is an obstacle, and a table or a person is present around the chair as other obstacles related to the said obstacle, the obstacle radius can be calculated based on at least one of the motion attribute information of the obstacle and relationship information with other obstacles related to the obstacle by repeatedly learning through artificial intelligence the number of casters on the chair, the shape of the casters and the possible directions and distances of movement of the chair based on the axis of the casters, the possible directions and distances of movement of the chair that are constrained or extended by the table (for example, the chair's movement is restricted in the direction of the table legs), and the possible directions and distances of movement of the chair that are constrained or extended by the table and the person if a person is present on the chair.
[0042] Next, the path determination unit 230 according to one embodiment of the present invention can determine the optimal movement path for the robot 300 by referring to the obstacle radius calculated by the radius calculation unit 22 and the task assigned to the robot 300.
[0043] Specifically, the path determination unit 230 can apply the calculated obstacle radius to obstacles identified on a map associated with the location of the robot 300, and can determine the optimal movement path for the robot 300 to perform the assigned task based on the map to which the obstacle radius has been applied.
[0044] For example, a cost map corresponding to the location (or predetermined area) where the robot 300 is located may be generated by referring to the calculated obstacle radius, and the path determination unit 230 can determine the optimal movement path for the robot 300 to perform the task assigned to it based on the generated cost map. More specifically, by making the cost value on the cost map increase as the robot 300 approaches the obstacle radius on the map, it becomes possible to determine the optimal movement path that allows the robot 300 to move while efficiently and precisely avoiding the obstacle. Alternatively, at least one of a global path planning (GPP) and a local path planning (LPP) may be calculated based on the cost map that reflects the obstacle radius, and the optimal movement path for the robot 300 may be determined based on such a path planning.
[0045] On the other hand, while the above mainly describes an embodiment in which the optimal movement path of a robot is determined based on a cost map, it should be made clear that various methods other than cost maps can be used as long as the objectives of the present invention can be achieved.
[0046] Next, according to one embodiment of the present invention, the communication unit 240 can perform the function of enabling the transmission and reception of data to and from the obstacle identification unit 210, the radius calculation unit 220, and the route determination unit 230.
[0047] Finally, according to one embodiment of the present invention, the control unit 250 can perform the function of controlling the flow of data between the obstacle identification unit 210, the radius calculation unit 220, the route determination unit 230, and the communication unit 240. That is, the control unit 250 according to the present invention can control the obstacle identification unit 210, the radius calculation unit 220, the route determination unit 230, and the communication unit 240 to perform their respective functions by controlling the flow of data to and from the outside of the robot route management system 200 or the flow of data between each component of the robot route management system 200.
[0048] Figure 3 is a diagram illustrating the process by which the movement path of the robot 300 is determined according to one embodiment of the present invention.
[0049] Referring to Figure 3, we can see a hypothetical situation in which the robot route management system 200 according to the present invention is included in the robot 300, and the robot 300 is assigned tasks related to serving food in a cafeteria. Specifically, the robot 300 may be assigned tasks such as serving food to customers to tables 500 and clearing away leftover food from tables 500.
[0050] First, according to one embodiment of the present invention, at least one obstacle can be identified based on the position of the robot 300.
[0051] For example, based on the position of the robot 300, chair A (400), chair B (600), and table 500 located around the expected movement path for performing the task assigned to the robot 300 can be identified as obstacles.
[0052] Subsequently, the obstacle radius affected by the obstacles can be calculated based on at least one of the motion attribute information of each obstacle (i.e., chair A (400), chair B (600), and table (500)) and relationship information of each obstacle to other obstacles associated with it.
[0053] For example, if chair A(400) is a chair without casters, the obstacle radius 410 of chair A(400) can be calculated based on motion attribute information indicating that chair A(400) can move forward (omnidirectionally) and relational information indicating that the distance chair A(400) can move in the left-right direction is limited by a table 500 (specifically, the legs 501a and 501b of table 500) that is located around chair A(400). On the other hand, if a person is present as an additional obstacle around chair A(400), the obstacle radius 411 of chair A(400) can be calculated based on relational information indicating that the distance chair A(400) can move in the front-back direction is expanded (or increased) by the front-to-back width of the person's feet when sitting on the chair, or by the front-to-back width of their feet when standing up from the chair.
[0054] For example, if table 500 is fixed to the floor of the dining room, the obstacle radius 502 of table 500 can be calculated based on motion attribute information indicating that table 500 cannot move forward (omnidirectionally), thus limiting the distance it can move in the forward, backward, left, and right directions.
[0055] Furthermore, based on motion attribute information indicating that, for example, if chair B(600) is fixed to the floor of the dining room, chair B(600) cannot move forward (omnidirectionally), thus limiting the distance it can move in the forward, backward, left, and right directions, the obstacle radius 601 of chair B(600) can be calculated.
[0056] Subsequently, the optimal path for the robot 300 to move can be determined based on the calculated obstacle radius and the task assigned to the robot 300.
[0057] In other words, the optimal path for the robot to serve food can be determined based on the obstacle radii of chair A (400), chair B (600), and table 500 mentioned above.
[0058] For example, if a customer is eating food and not at the table (i.e., no one is sitting in a chair), the first path 412 may be determined as the optimal path for the robot to serve the food.
[0059] As another example, if a customer is seated at a table to eat food (i.e., a person is seated in a chair), the second path 413 may be determined as the optimal path for the robot to serve the food.
[0060] The embodiments of the present invention described above can be embodied in the form of program instructions that can be executed through a variety of computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., individually or in combination. The program instructions recorded on the computer-readable recording medium may be specifically designed and configured for the present invention or may be available and known to those skilled in the field of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory. Examples of program instructions include not only machine code, such as that produced by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. Hardware devices may be modified into one or more software modules to perform the processing according to the present invention, and vice versa.
[0061] Although the present invention has been described above with reference to specific components and other details, as well as limited embodiments and drawings, these are provided only to aid in a more general understanding of the invention. The present invention is not limited to the above embodiments, and a person with ordinary skill in the art to which the invention pertains can make various modifications and changes from this description.
[0062] Therefore, the concept of the present invention should not be limited to the embodiments described above, and all scopes equivalent to or equivalently modified from the claims described later fall within the scope of the concept of the present invention. [Explanation of Symbols]
[0063] 100: Communication Network 200: Robot Route Management System 210: Obstacle Identification Unit 220: Obstacle radius calculation unit 230: Route determination unit 240: Communications Department 250: Control Unit 300: Robot
Claims
1. A method for determining the movement path of a robot, which is performed in a system including an obstacle identification unit, an obstacle radius calculation unit, and a path determination unit, The obstacle identification unit identifies at least one obstacle based on the robot's position. The steps include: calculating the obstacle radius affected by the at least one obstacle by referring to the motion attribute information of the at least one obstacle and the relationship information of the at least one other obstacle associated with the at least one obstacle, and The path determination unit includes the step of determining the optimal movement path of the robot by referring to the calculated obstacle radius and the task assigned to the robot, A method wherein the motion attribute information of the at least one obstacle includes information regarding the means of moving the at least one obstacle and the structure of the means of moving the obstacle, and in the calculation step, the obstacle radius is calculated by referring to the motion attribute information of the at least one obstacle to identify at least one of the possible directions of movement and the possible distance of movement of the at least one obstacle, and the obstacle radius is adjusted by referring to relationship information of the at least one other obstacle to at least one obstacle to expand at least one of the possible directions of movement and the possible distance of movement of the at least one obstacle.
2. The method according to claim 1, wherein the at least one obstacle is an obstacle located within a predetermined distance from at least one expected movement path identified based on a task assigned to the robot.
3. The method according to claim 1, wherein the motion attribute information of the at least one obstacle is determined based on at least one of the external shape, function, and structure of the at least one obstacle.
4. The method according to claim 1, wherein, in the determination step, the optimal travel path is determined based on a cost map.
5. On the computer, A function that identifies at least one obstacle based on the robot's position. A function to calculate the obstacle radius affected by the at least one obstacle by referring to the motion attribute information of the at least one obstacle and the relationship information of the at least one other obstacle associated with the at least one obstacle, and This implements a function that determines the optimal movement path of the robot by referring to the calculated obstacle radius and the task assigned to the robot. A non-transient, computer-readable recording medium for recording a computer program that determines the robot's movement path, wherein the motion attribute information of the at least one obstacle includes information about the means of moving the at least one obstacle and the structure of the means of moving, and the calculating function calculates the obstacle radius by referring to the motion attribute information of the at least one obstacle to identify at least one of the possible directions of movement and possible distances of movement of the at least one obstacle, and the obstacle radius is adjusted by referring to relationship information of the at least one other obstacle to at least one of the possible directions of movement and possible distances of movement of the at least one obstacle.
6. A system for determining the movement path of a robot, Obstacle identification unit that identifies at least one obstacle based on the robot's position, Obstacle radius calculation unit calculates the obstacle radius affected by the at least one obstacle by referring to the motion attribute information of the at least one obstacle and the relationship information of the at least one other obstacle associated with the at least one obstacle, and The system includes a path determination unit that determines the optimal movement path for the robot by referring to the calculated obstacle radius and the task assigned to the robot. The motion attribute information of the at least one obstacle includes information regarding the means of moving the at least one obstacle and the structure of the means of moving the obstacle, and the obstacle radius calculation unit calculates the obstacle radius by referring to the motion attribute information of the at least one obstacle to identify at least one of the movable directions and movable distances of the at least one obstacle, and the obstacle radius is adjusted by referring to relationship information of the at least one other obstacle to expand at least one of the movable directions and movable distances of the at least one obstacle.