How to set a travel route

By dividing space into regions and setting motion vectors based on obstacle information, the method optimizes and ensures safety in robot movement path settings, addressing the limitations of existing grid-based systems.

JP7831572B2Active Publication Date: 2026-03-17NEC CORP
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-01
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Existing methods for setting a robot's movement path, such as those described in Patent Document 1, lack flexibility and often result in suboptimal and unsafe paths due to the use of predefined vectors in a grid system.

Method used

The method involves dividing the space into various regions and setting motion vectors based on obstacle information, calculating the movement path to satisfy predefined conditions, using a spatial division unit, motion vector setting unit, and movement path calculation unit to optimize and ensure safety.

Benefits of technology

This approach allows for the setting of a movement path that is both optimal and safe, enabling the robot to navigate effectively while avoiding obstacles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007831572000063
    Figure 0007831572000063
  • Figure 0007831572000064
    Figure 0007831572000064
  • Figure 0007831572000065
    Figure 0007831572000065
Patent Text Reader

Abstract

A moving path setting device 100 according to the present disclosure comprises: a space division unit 121 that divides a space, in which a mobile body is movable, into multiple regions; a motion vector setting unit 122 that, on the basis of information about objects that are present within the space and that encumber the movement of the mobile body, sets motion vectors according to which the mobile body is to move for the respective regions; and a moving path calculation unit that, when calculating a moving path of the mobile object within the space in order to fulfill a predetermined condition, calculates the moving path on the basis of the motion vectors set for the respective regions and the distances of the respective regions with respect to the objects.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to a method for setting a travel path, a device for setting a travel path, and a program. [Background technology]

[0002] In recent years, the environments in which robots work have increased, and there is a growing need to appropriately set the robot's movement path. For example, Patent Document 1 describes a method for searching for a movement path aimed at enabling a robot to perform tasks safely and efficiently. Specifically, Patent Document 1 describes setting a grid in map information, setting vectors representing obstacle areas and the direction of vehicle movement in each grid, and searching for a path based on this information. [Prior art documents] [Patent Documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2010-191502 [Overview of the project] [Problems that the invention aims to solve]

[0004] However, the method described in Patent Document 1 above searches for the movement path of the moving object according to vectors set in a grid beforehand, which results in a low degree of freedom in setting the movement path, making it difficult to set a movement path that is both optimal and safe.

[0005] Therefore, the object of the present invention is to provide a method for setting a movement path that can solve the above-mentioned problem of difficulty in setting a movement path for a moving object that is both optimal and safe. [Means for solving the problem]

[0006] A travel path setting method, which is one embodiment of the present invention, The space in which the moving object can move is divided into various regions, For each of the aforementioned regions, a motion vector is set for the movement of the moving object based on information about objects that obstruct the movement of the moving object present in the space. When calculating the movement path of a moving object in space to satisfy pre-set conditions, the movement path is calculated based on the motion vector set for each region and the distance of the region to the object. This is the structure it takes.

[0007] Furthermore, a travel path setting device, which is one embodiment of the present invention, A spatial division unit that divides the space in which a mobile object can move into various regions, For each of the aforementioned regions, a motion vector setting unit sets a motion vector for the movement of the moving object based on information about objects that obstruct the movement of the moving object present in the space, A movement path calculation unit calculates the movement path of a moving object in space to satisfy pre-set conditions, based on the motion vector set for each region and the distance of the region to the object. Equipped with, This is the structure it takes.

[0008] Furthermore, a program, which is one embodiment of the present invention, In an information processing device, The space in which the moving object can move is divided into various regions, For each of the aforementioned regions, a motion vector is set for the movement of the moving object based on information about objects that obstruct the movement of the moving object present in the space. When calculating the movement path of a moving object in space to satisfy pre-set conditions, the movement path is calculated based on the motion vector set for each region and the distance of the region to the object. To execute the process This is the structure it takes. [Effects of the Invention]

[0009] As described above, the present invention makes it possible to set a movement path for a mobile object that achieves both optimality and safety.

Brief Description of the Drawings

[0010] [Figure 1] It is a block diagram showing the configuration of the robot control system in Embodiment 1 of the present invention. [Figure 2] It is a diagram showing an example of the work space of the robot disclosed in FIG. 1. [Figure 3] It is a block diagram showing the configuration of the robot work planning device disclosed in FIG. 1. [Figure 4] It is a diagram showing the state of processing by the robot work planning device disclosed in FIG. 1. [Figure 5] It is a diagram showing the state of processing by the robot work planning device disclosed in FIG. 1. [Figure 6] It is a diagram showing the state of processing by the robot work planning device disclosed in FIG. 1. [Figure 7] It is a flowchart showing the operation of the robot work planning device disclosed in FIG. 1. [Figure 8] It is a block diagram showing the hardware configuration of the route setting device in Embodiment 2 of the present invention. [Figure 9] It is a block diagram showing the configuration of the route setting device in Embodiment 2 of the present invention. [Figure 10] It is a flowchart showing the operation of the route setting device in Embodiment 2 of the present invention.

Modes for Carrying Out the Invention

[0011] <Embodiment 1> The first embodiment of the present invention will be described with reference to FIGS. Which is a diagram for explaining the configuration of the robot control system, and FIGS. 3 to 7 are diagrams for explaining the processing operation of the robot control system.

[0012] [Overall Configuration] Figure 1 shows the configuration of the robot control system 1 in Embodiment 1. The robot control system 1 mainly comprises a measuring device 10, a robot work planning device 20, a robot controller 30, and a robot 40. As described below, the robot control system 1 sets the movement path of the mobile robot 40 (robot arm end effector 41) in order to safely and appropriately solve the robot work planning problem.

[0013] Figure 2 shows an example of a robot work planning problem to be solved in the robot control system 1 in Embodiment 1. Specifically, in the robot control system 1, in the space R shown in Figure 2, the robot work planning device 20 performs a transport plan, including setting a movement path, to move the robot arm end effector 41 of the robot 40 while avoiding collisions with obstacles that hinder the movement of the robot arm end effector 41, grasp the transport objects 1 and 2, and then transport the grasped transport objects 1 and 2 to join them at the target position of the transport objects (releasing the grip at the target position).

[0014] The transported object may be one or multiple, as shown in Figure 2. The robot work planning device 20 may, when there are multiple transported objects, perform an overall plan for the transport of all multiple objects before issuing a planning command to the robot controller 30, or it may perform a sequential plan, such as planning the transport of one object, issuing a planning command to the robot controller 30 to have the robot 40 execute that plan, and then planning the transport of another object. Furthermore, the robot work planning problem handled by the robot control system 1 is not limited to taking place in space R as shown in Figure 2. For example, the robot work problem is not limited to the placement of obstacles and transported objects as shown in Figure 2; obstacles and transported objects of any shape, arrangement, and number may be placed. Also, space R may be of any shape and is not limited to three dimensions; it may be two-dimensional or one-dimensional space. The following describes each configuration.

[0015] The measuring device 10 consists of one or more sensors, including a camera, a range sensor, a sonar, or a combination thereof, which detect the state within the workspace R where the robot 40 performs its work. In this embodiment, the measuring device 10 actually measures the position of the transported object in workspace R. In other words, since obstacles do not move in workspace R, the measuring device 10 does not need to measure the position of obstacles each time a work plan is made. For this reason, position information representing the position and shape of obstacles can be provided to the robot work planning device 20 as a constant and stored in advance during system design. However, there may be cases where obstacles change each time a robot work plan is made, in which case the position of the obstacles also needs to be measured using the measuring device 10. The measuring device 10 supplies the measurement signals measured in this way to the robot work planning device 20.

[0016] In the robot work planning problem shown in Figure 2, the measuring device 10 is assumed to be a fixed-point camera in space R. However, if, for example, it is necessary to continuously measure moving obstacles using a moving measuring device, the measuring device 10 may be a self-propelled or flying sensor (including a drone) that moves within the work space to accommodate such situations. Also, depending on the problem, the robot 40 may apply excessive force when gripping or handling objects, potentially damaging them. To address such situations, the measuring device 10 may include sensors provided on the robot 40 and sensors provided on other objects within the work space. Furthermore, depending on the work planning problem, it is conceivable that humans may enter and exit the robot 40's work space. In such situations, it is necessary to detect the entry and exit of humans and avoid collisions between the robot 40 and humans. To address such situations, the measuring device 10 may include sensors that detect sound within the work space R. As described above, the measuring device 10 is a variety of sensors that detect the state within the work space R, and may include sensors provided at any location.

[0017] Based on the measurement signals received from the measurement device 10, the robot work planning device 20 generates a set of discrete time commands (hereinafter referred to as a task sequence) that specify simple tasks that the robot 40 can accept, such as "grasp the transport object 1" and "release the grip on the transport object 1," for each discrete time step (time step) t, and supplies it to the robot controller 30 as a planning command. For example, in the robot work planning problem shown in Figure 2, a possible planning command resulting from planning the transport of the transport object 1 would be a task sequence such as: "At discrete time step t=1, the robot arm end-user should move to a position coordinate near the transport object 1.", "At discrete time step t=2, the robot arm end-user should grasp the transport object 1.", "At discrete time step t=3, the robot arm end-user should transport the transport object 1 to its target position.", and "At discrete time step t=4, the robot arm end-user should release the grip on the transport object 1 at its target position." Thus, since the planning command is a time-based sequence of simple task commands to be performed by the robot arm end-effector 41, the robot controller 30 receives it and calculates the necessary angle changes of each joint of the robot arm to execute the planning command. However, the planning command may also include information about the angle changes of each joint of the robot arm, in which case the amount of calculations that the robot controller 30 must perform will be reduced. Details of the configuration of the robot work planning device 20 will be described later.

[0018] The robot controller 30 generates input information for controlling the robot 40 based on the planning command received from the robot work planning device 20 and supplies it to the robot 40. For example, in this embodiment, the information included in the planning command is highly abstract, such as the position of the robot 40's end-effector 41 in three-dimensional space at each discrete time step t, and which of the multiple (or single) transported objects it is gripping, or whether it is gripping no transported objects. However, in order to actually control the robot 40, information on the torque applied to each joint angle of the robot 40 is required as input information. Therefore, the robot controller 30 calculates the specific torque input information to be applied to the robot 40 necessary to realize the abstract state at each discrete time step t specified in the planning command, and supplies this as input information to the robot 40.

[0019] [Configuration and Operation of Robot Work Planning System] Next, we will further explain the configuration and operation of the robot work planning device 20 described above. Here, we will explain with reference to the block diagram showing the configuration of the robot work planning device 20 in Figure 3, the diagrams showing the processing of the robot work planning device 20 in Figures 4 to 6, and the flowchart showing the operation of the robot work planning device 20 in Figure 7.

[0020] The robot work planning device 20 is composed of one or more information processing devices equipped with a computing device and a memory device. As shown in Figure 3, the robot work planning device 20 includes a basic optimization problem configuration unit 21, an initial spatial mesh decomposition unit 22, a motion vector information setting unit 23, a spatial mesh integration unit 24, an optimization objective function addition and adjustment unit 25, and an optimization calculation execution unit 26. Each of the functions of the basic optimization problem configuration unit 21, the initial spatial mesh decomposition unit 22, the motion vector information setting unit 23, the spatial mesh integration unit 24, the optimization objective function addition and adjustment unit 25, and the optimization calculation execution unit 26 can be realized by the computing device executing a program for realizing each function stored in the memory device. The following describes each configuration in detail.

[0021] The basic optimization problem constructor 21 constructs the robot's work plan as a basic optimization problem based on the measurement signals supplied from the measurement device 10. Here, the basic optimization problem must have two elements: constraint C and objective function J. First, constraint C and objective function J are set (step S1). In the basic optimization problem, time is discretized, and the discrete time step t consists of all T steps t=1,...,T.

[0022] Constraint C is a set of constraint equations that represent the conditions that the entire system planning the movement of the robot 40 must satisfy. An example of a constraint equation included in Constraint C is the following equation 1, which represents the objective of the task to be performed by the robot.

number

[0023] Here, the variables shown in equation 2 below within equation 1 are the three-dimensional position coordinates of the two transported objects present in the system at the planned final discrete time step t=T.

number

number

number

[0024] Here, we consider a case where the variables shown in equation 3 need to be appropriately set according to the system environment. For example, this could be the case when transported objects are placed in a predetermined position on a tray arbitrarily arranged by a person. In this case, the variables in equation 3 must be appropriately set corresponding to the position and orientation of the arbitrarily arranged tray. In such cases, the measurement signal supplied from the measurement device 10 is used in the basic optimization problem constructor 21. Furthermore, the above constraint equation is merely an example; the number of transported objects can be one or three or more, and the above constraint equation can be rewritten using the distance in a full six-dimensional space, taking into account up to three dimensions of the Euler angular orientation of the transported objects. In any case, it is necessary that the two transported objects execute the solution and ultimately transition to the target state by satisfying the above constraints.

[0025] Other constraints C include constraints related to the robot's operating space (range of motion), such as the requirement that the robot arm's end effector must move within a certain area, as shown in the following five equations.

number

[0026] Here, the variables shown in equation 6 are the position coordinates in three-dimensional space of the robot arm end-effector 41 at a discrete time step t, and the variables shown in equation 7 are vectors representing the lower and upper bounds of the possible values ​​of each component of equation 6 in three-dimensional space.

number

number

[0027] Furthermore, from this point forward, we will assume that any formulas involving a discrete time step t hold true for all discrete time steps t=1,...,T.

[0028] Furthermore, constraint C also includes constraints regarding the initial conditions (initial position) of the transported object, as shown in equation 8.

number

[0029] Here, equation 9 represents the three-dimensional position coordinates of the two transported objects at the initial planned time. Equation 10 represents the position coordinates of the transported objects included in the measurement information supplied from the measuring device 10.

number

number

[0030] The above constraint equations can be considered initial conditions in a basic optimization problem, as they are used to plan how to transport the object measured by the measuring device 10 to its target position. Then, at the first discrete time step t=0, the robot 40 is made to execute a solution that starts from the position where the object is located according to the measurement information and satisfies the constraints representing the target state described above. This plan determines the movement path for transporting the measured object from the measured position to the target state, as well as the timing of gripping and releasing.

[0031] Furthermore, constraint C includes the dynamics constraints of the robot arm end effector, as shown in equation 11.

number

[0032] Here, the variables shown in equation 12 are the same as those in the constraints mentioned earlier, and represent the position coordinates of the robot arm end-user at discrete time step t. The variables shown in equation 13 represent the input vector of the robot arm end-user at discrete time step t.

number

number

[0033] Depending on the embodiment, for safety reasons, the magnitude of the input given to the robot arm end-effector 41 may be limited. In such cases, the possible values ​​of each variable in Equation 13 can be limited, as shown in Equation 14 below.

number

[0034] Here, the variables shown in equation 15 are vectors representing the minimum and maximum values ​​of each component of the input vector that can be given to the robot arm end-user 41.

number

[0035] Furthermore, constraint C includes dynamic constraints on the transported object. A specific example of this is equation 16 shown below.

number

[0036] Here, the variables in equation 17 are the same as those in the constraints described above. From the definitions of these vectors and the latter two constraints above, it can be seen that the variables shown in equation 18 are the velocity vectors of the robot arm end effector and the transported object at discrete time step t.

number

number

[0037] Equation 19 is a real number variable with a value of 0 or greater, and is called a switching variable.

number

[0038] If this switching variable is equation 20, the first constraint in the above constraint equation holds regardless of what vector equation 18 is. On the other hand, if this switching variable is equation 21, the first constraint in the above constraint equation requires that equation 22 holds. Therefore, in the case of equation 21, the transported object will move with the same velocity vector as the robot arm end-user. In other words, equation 23, which is the switching variable, can be said to represent whether or not the robot arm end-user is grasping the transported object.

number

number

number

number

[0039] Based on the above, the second constraint in the above constraint equation requires equation 24 when the switching variable is equation 20, and when the switching variable is equation 21, it requires equation 25 when considered together with the first constraint in the above constraint equation.

number

number

[0040] In other words, the above constraints (set of constraints) require the transported object 1 to remain stationary during discrete time step t when the robot arm end-effector is not grasping the transported object 1, and require the transported object 1 to move together with the robot arm end-effector 41 during discrete time step t when the robot arm end-effector 41 is grasping the transported object 1. In other words, the above constraints represent the dynamics of the transported object.

[0041] In this embodiment, in order to construct the optimization problem using only continuous variables, the switching variable represented by equation 23 is defined as a continuous variable with a value of 0 or greater. However, it may also be defined as a binary variable that can only have a value of 0 or 1. Similarly, the same variable definitions and constraints are applied to the transported object 2. The parameter representing the discrete time interval will be explained in detail in the following specific example of the objective function J.

[0042] Furthermore, constraint C includes a constraint that represents the grippable region using a switching variable. Such a constraint can be specifically expressed, for example, as shown in equation 26 below.

number

[0043] Here, the variables shown in equations 17 and 19 are the same as those in the constraints described above. Furthermore, the variable shown in equation 27 is a parameter with a positive value representing the size of the grippable area, and the user will set the desired value.

number

[0044] Here, as described above, at discrete time step t where equation 21 is obtained, the transported object 1 is being held by the robot arm end-effector 41. However, considering the above constraints, it can be understood that when equation 28 is obtained, that is, at discrete time step t where the distance between the robot arm end-effector 41 and the transported object 1 is not within the region of equation 27, the equation must be 20. Here, the switching variable will be equation 28 depending on its domain.

number

[0045] On the other hand, when equation 29 is obtained, that is, in discrete time step t where the distance between the robot arm end-user and the transported object 1 is within the range of equation 27, it can be understood that the switching variable can take either the value of equation 20 or equation 21. Therefore, by calculating a solution that satisfies the above constraints and having the robot 40 execute it, the robot arm end-user can approach the transported object 1 sufficiently and then perform the grasping. The same constraints are also applied to the transported object 2.

number

[0046] Furthermore, constraint C includes dynamic constraints on the transported object. Such constraints can be expressed as shown in equation 30.

number

[0047] Here, the variables shown in equation 31 are the same as those in the constraints described above, and represent the position coordinates of the robot arm end-user 41 at a discrete time step t. The variables shown in equation 32 are the position coordinates of the center of the obstacle, and the variables shown in equation 33 are the radius of the obstacle when it is approximated as a three-dimensional sphere. Considering the above constraints, it is required that the robot arm end-user 41 is always located outside the interior of the obstacle.

number

number

number

[0048] Next, we will explain a specific example of the objective function J. For example, to minimize the path length of the robot's end-effector's movement path, the path length can be set as the objective function. A concrete example of the mathematical expression of path length is equation 34 shown below.

number

[0049] Here, the variables shown in equation 35 are the position coordinates in three-dimensional space of the robot arm end-effector 41 at discrete time step t, and δt is the discrete time interval. That is, it is a quantity that represents how many seconds in the real world correspond to the time interval between discrete time step t and discrete time step t+1. The smaller the discrete time interval δt is set, the more temporally precise the resulting solution can be expected to be, but the computation time generally increases. Therefore, it is necessary to set an appropriate δt manually or by an automated method using a computer, depending on the desired time precision of the solution and the desired computation time.

number

[0050] Here, an example of a computer-based automatic δt setting method is as follows: First, multiple δt values ​​are prepared. These are, for example, δt1=0.1, δt1=0.2,...,δt 10 One can prepare an arithmetic progression such as =1.0. An optimization calculation can be performed using each of these δts, and from among them, the δt for which the solution is obtained within the desired calculation time can be extracted, and the one with the smallest δt among them can be determined to be the appropriate δt. This is a grid search-like method. Note that the symbol shown in equation 4 of equation 34 above, which is the objective function J, is the L2 norm of the vector v. Also, since equation 36 of equation 34 above is the path length objective function at discrete time step t, the sum of equation 36 over all discrete time steps t of the planned object, i.e., equation 37, is the overall objective function J of this robot motion plan.

number

number

[0051] The objective function J given here is merely an example, and other objective functions may be defined in other embodiments or in this embodiment if the important aspects or preconditions of the plan differ. For example, in this embodiment, instead of equation 37 above, the time sum of the magnitudes of the input vectors given to the robot arm end-effector 41 (equation 38) (equation 39) may be used as the objective function.

number

number

[0052] As described above, the basic optimization problem constructor 21 sets the constraint C and objective function J as described above and supplies them to the optimization objective function addition and adjustment unit 25.

[0053] As described above, the initial spatial mesh decomposition unit 22 (spatial division unit) divides the robot workspace R into a mesh-like structure, i.e., multiple regions, based on the known system environment and measurement signals supplied from the measurement device 10 (step S2), and supplies information G1, G2, ..., Gn, which are the grids that constitute each region of the generated mesh, to the motion vector information setting unit 23. Here, specific examples of the functions performed by the initial spatial mesh decomposition unit 22 are described in two cases.

[0054] First, let's refer to Figure 4 and explain the first specific method. The problem assumed in Figure 4 is to grasp a transport object located to the left of the central obstacle in Figure 4 with the robot arm end-effector 41, transport it while avoiding collision with the obstacle wall, and then release the grasp after placing the transport object in a predetermined position to the right of the obstacle wall. In Figure 4, only one transport object is depicted, and it is assumed that the transport object is transported from the left side of the wall to the right side, but it is also possible to plan the transport of multiple transport objects simultaneously. Furthermore, some of these transport objects may be transported from the right side of the obstacle to the left side, and the following explanation can be applied in such cases as well.

[0055] In this type of transport problem, the following can be considered regarding the interface where the desirable motion vector information of the robot arm end effector 41 of the robot 40 changes discontinuously. If the robot arm end effector 41 is located at a height lower than the height of the obstacle wall, the robot arm end effector 41 can avoid collision with the obstacle wall by moving as vertically as possible relative to the floor. If the robot arm end effector 41 is located at a height higher than the height of the wall, the robot arm end effector 41 can safely transport the object from the left side to the right side of the wall while avoiding collision with the obstacle wall by moving as horizontally as possible relative to the floor. In other words, the interface where the desirable motion vector information of the robot changes discontinuously is a horizontal plane in space where the height from the floor is the height of the obstacle. Therefore, in this problem, the spatial mesh decomposition by the initial spatial mesh decomposition unit 22 divides the robot arm's 3D workspace into two grids: region G1 where the height from the floor is higher than the height of the wall, and region G2 where the height from the floor is lower than the height of the wall. The grid information G1 and G2 supplied from the initial spatial mesh decomposition unit 22 to the motion vector information setting unit 23 are specifically the lower and upper limits of the x, y, and z three-dimensional axes of each grid, as shown in equation 40 below.

number

[0056] In the example above, each value in the grid information should be replaced with the lower and upper limits of the robot's movable area in the x, y, and z directions, respectively, resulting in equation 41, where h is the height of the obstacle wall. In this example, as mentioned above, G1 and G2 are both rectangular regions, but the shape of the grid generated by the initial spatial mesh decomposition unit 22 does not necessarily have to be rectangular; it can be spherical or elliptical, as long as the grids do not overlap. In any case, it is sufficient that the robot's movable area is divided into multiple (or single) grids by some mathematical expression.

number

[0057] Furthermore, the mesh decomposition method shown in Figure 4 allows the initial spatial mesh decomposition unit 22 to automatically divide the spatial R into meshes by formulating the mesh setting rules described above into mathematical equations or modeling them using machine learning.

[0058] Next, we will explain another example of automatic partitioning for the same problem assumed in Figure 4. In this example, the initial spatial mesh decomposition unit 22 uses computer-based machine learning to perform mesh decomposition consisting of grids G1, G2, ... G20, which are the smallest possible regions, as shown in Figure 5. The reason for using the smallest possible grids is that if the grid is too large, when the grid is integrated in the spatial mesh integration unit 24, which will be described later, a low-accuracy motion vector field will be generated. A low-accuracy motion vector field is, for example, a case where, even if the robot arm moves according to that motion vector field, it cannot avoid collisions with obstacles. Therefore, in the case of problems with complex obstacle arrangements, it is advisable to perform mesh decomposition consisting of grids G1, G2, ... G20, which are the smallest possible regions, as shown in Figure 5 of this example.

[0059] The initial spatial mesh decomposition unit 22 then supplies the motion vector information setting unit 23 with information G1, G2, ..., Gn, which are the information for each grid (region) that constitutes the mesh generated as described above.

[0060] The motion vector information setting unit 23 (motion vector setting unit) sets appropriate robot motion vector information V1, V2, ..., Vn on each grid G1, G2, ..., Gn supplied from the initial spatial mesh decomposition unit 22, corresponding to each grid (step S3). The motion vector information setting unit 23 then supplies the grids G1, G2, ..., Gn and the corresponding motion vector information V1, V2, ..., Vn to the spatial mesh integration unit 24 and the optimization objective function addition adjustment unit 25. Each of the motion vector information V1, V2, ..., Vn consists of three elements, as described below.

[0061] The motion vector information V1 has a vector v1 as one element. The dimension of this vector can be changed depending on the problem, but since the problem shown in Figure 4, which we are discussing here, is a robot motion planning problem in 3D space, it is natural to set this vector v1 as a 3D vector.

[0062] The action vector information V1 has a second element, type, which is either inner or cross. The choice between inner and cross as this type will change the formulation when adding the action vector field potential to the objective function later, which will be discussed later.

[0063] The action vector information V1 has an order as its third element. The order can be set to 1, 2, or none. The setting of the order also changes the subsequent formulation of the action vector field potential, which will be discussed later.

[0064] Here, we will explain an example of setting motion vectors using the motion vector information setting unit 23. In this example, motion vector information that teaches the desired direction of robot movement is set on each grid G1, G2, ..., Gn supplied from the initial spatial mesh decomposition unit 22, according to the position and shape of obstacles in space R. For example, the two vectors V1 and V2 shown in Figure 4 are specific examples of setting motion vector information. V1 is the motion vector information for the region G1 above the obstacle. In this region G1, it can be seen that when the transported object passes above the obstacle, it needs to move in the horizontal direction shown in the figure. Therefore, as one of the elements of V1, vector v1 is set to a vector with an x ​​component of 1 and the other components of 0, i.e., v1=(1,0,0). Also, the type is set to inner and the order to 2. Then, the motion vector information setting unit 23 generates a motion vector field potential J1 as shown in equation 42 below, which will later be added to the objective function J supplied from the basic optimization problem constructor unit 21.

number

[0065] Here, the variables shown in equation 43 are the 3D position vector and velocity vector of the robot arm end effector 41, and the variable shown in equation 44 is a positive constant. Regarding this parameter A, it will be adjusted later as needed in the optimization objective function adjustment unit 25, so here, it is sufficient to set an appropriate value, such as A=1 for all grids.

number

number

[0066] Furthermore, equation 45 is a function that is 1 when the robot's end-effector is inside grid G1, and 0 otherwise. A concrete example of a mathematical representation of such a function is one that uses a sigmoid function, as shown in equation 46 below.

number

number

[0067] Here, the variable shown in equation 47 is the position vector of the robot arm end-effector 41, and equation 48 is the x component of equation 47 (the same applies to the y and z components). The variable shown in equation 49 is, as mentioned above, the minimum and maximum values ​​of the x, y, and z coordinates of the points included in grids G1 and G2. The sigmoid function σ(x) is a function defined as shown in equation 50.

number

number

number

number

[0068] Here, 'a' in equation 50 is a parameter with a positive value that is set appropriately. The value of 'a' should be set to the largest possible value so that the numerical calculation during the optimization calculation does not diverge. This can be done by performing trial optimization calculations with multiple values ​​of 'a', as in the automatic setting method for discrete time intervals δt mentioned earlier, and selecting the largest value of 'a' that yields a solution with a certain level of accuracy within the desired calculation time.

[0069] Then, when the motion vector field potential J1, constructed as described above, is added to the minimization objective function, the goal is to maximize equation 51 when the robot arm end-effector 41 is inside the grid G1. This means that, in such a discrete time step t, the velocity vector of the robot arm end-effector 41 (equation 52) is a vector in which the x-direction component is non-zero and the other components are zero, i.e., a velocity vector like equation 53 (equation 54).

number

number

number

number

[0070] Here, we will explain the `type` and `order` mentioned above in this setting. First, by selecting `inner` as the `type`, the dot product (equation 55) of the velocity vector of the robot arm end effector 41 and the vector v1 contained in V1 is calculated. Then, by selecting `2` as the `order`, the square of that dot product is calculated, and J1 is constructed. The reason for taking the square of the dot product at this time will be explained later.

number

[0071] By doing so, for movement in the x-axis direction, it doesn't matter whether x increases or decreases, but we can set an action vector field potential J1 that prefers movement in the x-axis direction. If we keep the above setting for v1 and select 1 as the order, J1 will point to the horizontal rightward velocity vector shown in Figure 4, and the horizontal leftward velocity vector will not be preferred. If we set it that way, for example, when transporting transport object 1 to the target state, transport can be performed suitably by following the action vector field set in that way, but after releasing transport object 1 in that target state, when moving towards the next grippable area of ​​transport object 2, the horizontal rightward velocity vector shown in Figure 4 is required, but such a direction of movement does not follow the action vector field. Similarly, for V2, we can see that we should set v2 to a vector with a z component of 1 and the other components of 0, i.e., v2~(0,0,1), set the type to inner and the order to 2. In this way, the motion vector information setting unit 23 configures a motion vector field that is approximately parallel to the surface of the obstacle.

[0072] Furthermore, the motion vector information setting unit 23 can automatically set the motion vector field potential J1 by formulating the above-mentioned methods mathematically or modeling them using machine learning.

[0073] Next, we will explain another example of a method for automatically setting motion vectors from the shape and arrangement of obstacles in the motion vector information setting unit 23. Here, as shown in Figure 6, we assume that rectangular obstacles exist in space R, and that space R is divided into grids. In this case, we first consider the surfaces of obstacles that are adjacent to each grid or that are located inside each grid. If multiple obstacle surfaces are adjacent to or contained within a single grid, the obstacle surface with the largest adjacent or contained surface area is defined as the obstacle surface corresponding to that grid. Then, as shown in Figure 6, the normal vector n of the obstacle surface corresponding to each grid is obtained. By using this vector, motion vector information can be automatically set as follows.

[0074] Specifically, as shown in Figure 6, the grid on which the normal vector of the obstacle surface is determined is Gi, and the motion vector information on that grid is Vi. In this case, first, the normal vector n mentioned earlier is set as the vector to be included in Vi. Next, the type is set to cross and the order to none. By setting it in this way, the motion vector field potential J shown in equation 56 below is obtained. i This is formed and added to the objective function J supplied from the basic optimization problem constructor 21.

number

[0075] Here, the variables shown in equation 57 are the position vector and velocity vector of the robot arm end-effector 41 at discrete time step t, as defined in the constraints described above, where A is a positive constant, the symbol in equation 4 represents the L2 norm of vector v, and v × u represents the cross product of vectors v and u. Regarding parameter A, adjustments will be made later in the optimization objective function adjustment unit 25 as needed, so here, it is sufficient to set an appropriate value such as A=1 for all grids. Furthermore, equation 58 is a function that is true when the robot arm end-effector 41 is inside grid Gi at discrete time step t, and 0 otherwise. A concrete mathematical representation of such a function can be considered using the sigmoid function, as described above.

number

number

[0076] By minimizing the potential in equation 56 above, when the robot arm end-effector 41 is inside the grid Gi, equation 59 is maximized. Here, from the definition of the cross product, this vector (equation 60) is a vector orthogonal to the normal n of the surface of the obstacle. This means that the velocity vector of the robot arm end-effector 41 is preferably in a direction orthogonal to vector n. In other words, the direction of the velocity vector is set to be approximately parallel to the outer surface of the obstacle.

number

number

[0077] Since vector n is the normal vector of the obstacle surface, by solving the optimization problem based on such a motion vector field potential (equation 56), the direction of movement that avoids collisions with obstacles (velocity vector of the robot arm end effector 41) can be taught to the solver that actually solves the optimization problem. By using this method of setting motion vector information, motion vector information can be automatically set for grids that have obstacle surfaces inside.

[0078] Next, we will describe a specific example of an automatic setting method for motion vector information in a grid that does not have obstacle surfaces inside. Consider a grid that does not have obstacle surfaces inside, but where motion vector information is set in adjacent grids. For example, a grid like Gj in Figure 6. For such a grid, we will copy the motion vector information of grids adjacent to it that have motion vector information. However, if motion vector information exists on multiple adjacent grids, we will set the vector to be their average value vector (a vector obtained by taking the average value of each component) and set type=cross and order=none. This setting operation increases the number of grids that have motion vector information. Next, we similarly set motion vector information for grids adjacent to the grids that already have motion vector information. By repeating this setting operation, it is ultimately possible to automatically set motion vector information on all grids.

[0079] As described above, the motion vector information setting unit 23 outputs outputs V1, V2, ..., Vn consisting of some vector v and information type and order for constructing an appropriate motion vector field potential based on that vector. This information, along with the information of each grid G1, G2, ..., Gn supplied from the initial spatial mesh decomposition unit 22, is then supplied to the spatial mesh integration unit 24.

[0080] The spatial mesh integration unit 24 (motion vector setting unit) compares all vectors set in the motion vector information setting unit 23 between grids, and if it determines that there are grids that can be integrated (Yes in step S4), it integrates the grids (step S5). Specifically, the spatial mesh integration unit 24 compares a grid Gi with an adjacent grid Gi, and if the difference in the direction (slope) of the vectors contained in their motion vector information is within a certain threshold, it considers those vectors to be identical and integrates the adjacent grids Gi and Gj to create a new single grid Gi'. At that time, the vector contained in the motion vector information Vj' inside it is assumed to be the average vector of the respective vectors of Gi and Gj. However, such integration operations are not performed between adjacent grids with different types or orders. Therefore, when integrating, the type and order of the motion vector information of the newly generated grid can be copied from the original two grids.

[0081] However, as explained above, if the initial spatial mesh decomposition unit 22 has already divided the mesh into grids of appropriate size, then the process performed by the spatial mesh integration unit 24 does not need to be performed.

[0082] As described above, the newly generated (or completely unchanged) grid and motion vector information G1, G2, ..., Gn, V1, V2, ..., Vn are supplied to the optimization objective function addition adjustment unit 25.

[0083] The optimization objective function addition and adjustment unit 25 (movement path calculation unit) reconstructs a potential that requests the robot 40 to perform a desired action, based on the objective function J and constraints C supplied from the basic optimization problem construction unit 21, as well as the grid and motion vector information G1, G2, ..., Gn, V1, V2, ..., Vn supplied from the spatial mesh integration unit 24, thereby constructing a new optimization problem (step S6). Here, a concrete example of the mathematical representation of the motion vector field potential that requests the robot to perform an action close to the motion vector field is explained in equation 56. By adding this motion vector field potential to the objective function J constructed by the basic optimization problem construction unit 21, the final objective function J' that takes the motion vector field into account is constructed. In this way, the objective function J' and the above constraints C are generated as a new optimization problem, and this information is supplied to the optimization calculation execution unit 26.

[0084] Here, we will explain how the optimization objective function adjustment unit 25 sets the parameter A included in the motion vector field potential defined on each grid, as explained by equation 56. First, as an example, in discrete time step t where the robot arm end-effector 41 is near an obstacle, it is important to move the robot arm end-effector 41 with a velocity vector that follows the motion vector field described above. Therefore, in grids located near obstacles, the weight A of the corresponding motion vector field potential is set to be large. For this reason, the optimization objective function adjustment unit 25 sets, for example, 10 5 Set a number that is numerically large enough for computational purposes.

[0085] On the other hand, the weight A of the motion vector field potential corresponding to the grid located in a region far from the obstacle is set to be small. The reason for this is that in discrete time step t when the robot arm end-user 41 is sufficiently far from the obstacle, having a velocity vector that follows the objective function J of the original basic optimization problem, which avoids moving along redundant movement paths, rather than moving with a velocity vector that follows the motion vector field described above, allows for the calculation of more natural behavior for the robot arm end-user. For this reason, the optimization objective function adjustment unit 25 is set, for example, to 10-5 Set a number that has a numerically sufficiently small value, such as the one shown above.

[0086] In this way, the optimization objective function adjustment unit 25 changes the weight A of the motion vector field potential set on the grid according to the distance between the robot arm end-effector 41 and the obstacle, and in particular, the closer the distance to the obstacle, the higher the weight A of the motion vector field potential set on that grid is set. By setting it as described above, when the robot arm end-effector 41 moves near an obstacle, its direction of movement will strongly follow the motion vector field set to avoid collision with the obstacle, and when the robot arm end-effector moves far from the obstacle, its direction of movement will not be particularly affected by the motion vector field, and an optimal movement path that does not involve redundant movement will be selected.

[0087] Furthermore, the method for setting weight A described above can be implemented by the optimization objective function addition and adjustment unit 25 by formulating the above method mathematically or modeling it using machine learning.

[0088] Next, another example of the weight setting method described above by the optimization objective function adjustment unit 25 will be explained. Here, for example, the distance between the center coordinates of the i-th grid and the center coordinates of the obstacle is r i When defined as follows, the weight A of the action vector field potential of the i-th grid is as follows. j This can be defined as shown in equation 61.

number

[0089] Here, L is a characteristic length scale of the system being planned; for example, if the system being planned is a rectangular prism with sides of 1m, then L=1, and so on. i This is defined by equation 62, which represents the distance between the robot arm end-effector 41 and the obstacle center X at a discrete time step t. obs It is the distance between them.

number

[0090] Thus, for A i the reason for setting is the same as the weight A of the motion vector field potential in the above-described setting example. That is, at the discrete time step t, when the tip 41 of the robot arm exists near the obstacle, the weight following the motion vector field becomes large. On the other hand, at the discrete time step t, when the tip 41 of the robot arm does not exist near the obstacle, the weight following the motion vector field exponentially decreases. By setting in this way, when the tip of the robot arm operates near the obstacle, the operation direction strongly follows the motion vector field set to avoid collision with the obstacle, and when the tip of the robot arm operates far from the obstacle, the operation direction is not particularly affected by the motion vector field, and an optimal movement path that does not perform redundant movement can be selected.

[0091] The optimization calculation execution unit 26 (movement path calculation unit) executes an optimization calculation for planning the task and movement of the robot using the objective function J’ and the constraint C supplied from the objective function additional adjustment unit 25 (step S7). Here, a fixed real-time threshold T cal [seconds] is set, and if a feasible solution is obtained within this threshold T cal [seconds], the solution is supplied to the robot controller 30. On the other hand, if a feasible solution is not obtained within this threshold T cal [seconds], it is considered that the setting of the weight A i of the motion vector field in each grid is inappropriate, so it returns to the objective function additional adjustment unit 25 and adjusts the magnitude of A i . Here, the readjustment of the magnitude of this A i may be manually performed by a human based on the idea described above, or may be automatically adjusted using machine learning by a computer. In either case, this adjustment is performed until a feasible solution is obtained within the threshold T [seconds] in the optimization calculation execution unit 26.

[0092] In the above description, the method involves generating motion vector information and potentials corresponding to each grid in the motion vector information setting unit 23, and then adding them to the objective function J in the optimization objective function addition and adjustment unit 25. However, the same potentials may also be directly added to the objective function J in the motion vector information setting unit 23.

[0093] <Embodiment 2> Next, a second embodiment of the present disclosure will be described with reference to Figures 8 to 10. Figures 8 to 9 are block diagrams showing the configuration of the movement path setting device in Embodiment 2, and Figure 10 is a flowchart showing the operation of the movement path setting device. In this embodiment, the configuration of the movement path setting device and movement path setting method described in the above-described embodiment is shown in outline.

[0094] First, with reference to Figure 8, the hardware configuration of the travel path setting device 100 in this embodiment will be described. The travel path setting device 100 is composed of a general information processing device, and as an example, it is equipped with the following hardware configuration. ·CPU(Central Processing Unit)101(Arithmetic unit) ROM (Read Only Memory) 102 (Storage Device) • RAM (Random Access Memory) 103 (Storage Device) • Program group 104 loaded into RAM 103 • Storage device 105 for storing the program group 104 • Drive device 106 for reading and writing to external storage medium 110 of the information processing device. • Communication interface 107 connecting to a communication network 111 outside the information processing device. • Input / output interface 108 for data input and output. • Bus 109 connecting each component

[0095] The movement path setting device 100 can be equipped with the spatial division unit 121, the motion vector setting unit 122, and the movement path calculation unit 123 shown in Figure 9 by having the CPU 101 acquire the program group 104 and execute it. The program group 104 is stored in a storage device 105 or ROM 102 in advance, for example, and the CPU 101 loads it into RAM 103 and executes it as needed. The program group 104 may also be supplied to the CPU 101 via a communication network 111, or it may be stored in a storage medium 110 in advance, and the drive device 106 reads the program and supplies it to the CPU 101. However, the spatial division unit 121, the motion vector setting unit 122, and the movement path calculation unit 123 described above may be constructed with dedicated electronic circuits to realize these means.

[0096] Figure 8 shows an example of the hardware configuration of the information processing device, which is the travel path setting device 100. The hardware configuration of the information processing device is not limited to the case described above. For example, the information processing device may consist of only a part of the configuration described above, such as not having the drive device 106.

[0097] Then, the movement path setting device 100 executes the movement path setting method shown in the flowchart of Figure 10, based on the functions of the spatial division unit 121, the motion vector setting unit 122, and the movement path calculation unit 123, which are constructed by the program as described above.

[0098] As shown in Figure 10, the travel path setting device 100 is The space in which the mobile object can move is divided into various regions (step S101), For each of the aforementioned regions, a motion vector is set for the movement of the moving object based on information about objects that obstruct the movement of the moving object present in the space (step S102). When calculating the movement path of a moving object in space to satisfy pre-set conditions, the movement path is calculated based on the motion vector set for each region and the distance of the region to the object (step S103). This process is executed.

[0099] This disclosure, when configured as described above, makes it possible to set a movement path for a mobile object that achieves both greater optimization and safety.

[0100] The programs described above can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memory (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). Programs may also be supplied to a computer using various types of transient computer-readable media. Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can be supplied to a computer via wired communication channels such as electric wires and optical fibers, or via wireless communication channels.

[0101] Although the present invention has been described above with reference to the embodiments described above, the present invention is not limited to the embodiments described above. Various modifications to the configuration and details of the present invention can be made within the scope of the present invention as can be understood by those skilled in the art. Furthermore, at least one of the functions of the spatial division unit 121, the motion vector setting unit 122, and the movement path calculation unit 123 described above may be executed by an information processing device installed and connected at any location on the network, that is, it may be executed by so-called cloud computing.

[0102] <Note> Some or all of the above embodiments may also be described as follows. Below, the general configuration of the travel path setting method, travel path setting device, and program in the present invention will be described. However, the present invention is not limited to the following configuration. (Note 1) The space in which the moving object can move is divided into various regions, For each of the aforementioned regions, a motion vector is set for the movement of the moving object based on information about objects that obstruct the movement of the moving object present in the space. When calculating the movement path of a moving object in space to satisfy pre-set conditions, the movement path is calculated based on the motion vector set for each region and the distance of the region to the object. How to set a travel route. (Note 2) The method for setting the travel route described in Appendix 1, The weight of the motion vector set in the region is changed according to the distance of the region to the object, and the movement path is calculated based on the motion vector. How to set a travel route. (Note 3) A method for setting a travel route as described in Appendix 1 or 2, The closer the distance of the region to the object, the higher the weight of the motion vector set in that region, and the calculation of the movement path based on that motion vector. How to set a travel route. (Note 4) A method for setting a travel route as described in any of the appendices 1 to 3, Based on the shape of the object, the motion vector for each region is set. How to set a travel route. (Note 5) The method for setting the travel route described in Appendix 4, When the object is located within the said region, the motion vector of said region is set in a direction substantially parallel to the outer surface of said object. How to set a travel route. (Note 6) A method for setting a travel route as described in any of Appendix 1 to 5, If the object is located within the region, the motion vector of that region is set based on the information of the object; if the object is not located within the region, the motion vector of that region is set based on the motion vector set in other adjacent regions. How to set a travel route. (Note 7) A method for setting a travel route as described in any of the appendices 1 to 6, Based on the operation vectors of each of the mutually adjacent regions, the mutually adjacent regions are merged into one, and the operation vector of the merged region is set based on the operation vectors of each of the regions before the merger. How to set a travel route. (Note 8) The method for setting the travel route described in Appendix 7, If the difference in direction of the motion vectors of each of the adjacent regions is within a predetermined range, the adjacent regions are merged into one, and the motion vector of the merged region is set based on the motion vectors of each of the regions before the merger. How to set a travel route. (Note 9) A spatial division unit that divides the space in which a mobile object can move into various regions, For each of the aforementioned regions, a motion vector setting unit sets a motion vector for the movement of the moving object based on information about objects that obstruct the movement of the moving object present in the space, A movement path calculation unit calculates the movement path of a moving object in space to satisfy pre-set conditions, based on the motion vector set for each region and the distance of the region to the object. A travel path setting device equipped with the following features. (Note 10) A travel path setting device as described in Appendix 9, The movement path calculation unit calculates a movement path based on the movement vector by changing the weight of the motion vector set in the region according to the distance of the region to the object. Movement path setting device. (Note 11) A travel path setting device as described in Appendix 9 or 10, The movement path calculation unit increases the weight of the motion vector set for the region as the distance to the object in the region decreases, and calculates the movement path based on the motion vector. Movement path setting device. (Note 12) A travel path setting device as described in any of Appendix 9 to 11, The motion vector setting unit sets the motion vector for each region based on the shape of the object. Movement path setting device. (Note 13) A travel path setting device as described in Appendix 12, The motion vector setting unit, when the object is located within the region, sets the motion vector of the region in a direction substantially parallel to the outer surface of the object. Movement path setting device. (Note 14) A travel path setting device as described in any of Appendix 9 to 13, The motion vector setting unit sets the motion vector of the region based on the information of the object when the object is located within the region, and sets the motion vector of the region based on the motion vector set in other adjacent regions when the object is not located within the region. Movement path setting device. (Note 15) A travel path setting device as described in any of Appendix 9 to 13, The motion vector setting unit integrates the mutually adjacent regions into one based on the motion vectors of each of the mutually adjacent regions, and sets the motion vector of the integrated region based on the motion vectors of each of the regions before integration. Movement path setting device. (Note 16) A travel path setting device as described in Appendix 15, The motion vector setting unit, when the difference in direction of the motion vectors of the mutually adjacent regions is within a preset range, merges the mutually adjacent regions into one and sets the motion vector of the merged region based on the motion vectors of the regions before merger. Movement path setting device. (Note 17) In an information processing device, The space in which the moving object can move is divided into various regions, For each of the aforementioned regions, a motion vector is set for the movement of the moving object based on information about objects that obstruct the movement of the moving object present in the space. When calculating the movement path of a moving object in space to satisfy pre-set conditions, the movement path is calculated based on the motion vector set for each region and the distance of the region to the object. A computer-readable storage medium containing a program for executing a process. [Explanation of Symbols]

[0103] 10 Measuring devices 20 Robot work planning device 21 Basic Optimization Problem Construction 22 Initial spatial mesh decomposition section 23. Motion vector information setting unit 24 Spatial Mesh Integration Unit 25 Additional adjustment section for the optimization objective function 26 Optimization Calculation Execution Unit 30 Robot Controllers 40 Robots 41 Robot arm end effector 100 Movement path setting device 101 CPU 102 ROM 103 RAM 104 Program Groups 105 Storage device 106 Drive unit 107 Communication Interface 108 Input / Output Interfaces 109 Bus 110 Storage medium 111 Communication Network 121 Space division part 122 Motion vector setting unit 123 Movement Path Calculation Unit

Claims

1. The space in which the moving object can move is divided into various regions, For each of the aforementioned regions, when setting the motion vector for the movement of the moving body based on information about objects that obstruct the movement of the moving body present in the space, if the object is located within the region, the motion vector for that region is set based on the information of the object; if the object is not located within the region, the motion vector for that region is set by copying the motion vector set in another adjacent region. When calculating the movement path of a moving object in space to satisfy pre-set conditions, the movement path is calculated based on the motion vector set for each region and the distance of the region to the object. How to set a travel route.

2. The space in which the moving object can move is divided into various regions, For each of the aforementioned regions, when setting the motion vector for the movement of the moving body based on information about objects that obstruct the movement of the moving body present in the space, if the object is located within the region, the motion vector for that region is set based on the information of the object; if the object is not located within the region, the motion vector for that region is set using the average value of the motion vectors set in a plurality of other adjacent regions. When calculating the movement path of a moving object in space to satisfy pre-set conditions, the movement path is calculated based on the motion vector set for each region and the distance of the region to the object. How to set a travel route.

3. A method for setting a travel path according to claim 1 or 2, The weight of the motion vector set in the region is changed according to the distance of the region to the object, and the movement path is calculated based on the motion vector. How to set a travel route.

4. A method for setting a travel path according to any one of claims 1 to 3, Based on the shape of the object, the motion vector for each region is set. How to set a travel route.

5. A method for setting a travel path according to claim 4, When the object is located within the said region, the motion vector of said region is set in a direction substantially parallel to the outer surface of said object. How to set a travel route.

6. A method for setting a travel path according to any one of claims 1 to 5, Based on the operation vectors of each of the mutually adjacent regions, the mutually adjacent regions are merged into one, and the operation vector of the merged region is set based on the operation vectors of each of the regions before the merger. How to set a travel route.

7. A method for setting a travel path according to claim 6, If the difference in direction of the motion vectors of each of the mutually adjacent regions is within a predetermined range, the mutually adjacent regions are merged into one, and the motion vector of the merged region is set based on the motion vectors of each of the regions before the merger. How to set a travel route.

8. A spatial division unit that divides the space in which a mobile object can move into various regions, For each of the aforementioned regions, when setting the motion vector for the movement of a moving body based on information about objects that obstruct the movement of the moving body present in the space, the motion vector setting unit sets the motion vector for that region based on the information of the object when the object is located within the region, and sets the motion vector for that region by copying the motion vector set in another adjacent region when the object is not located within the region. A movement path calculation unit calculates the movement path of a moving object in space to satisfy pre-set conditions, based on the motion vector set for each region and the distance of the region to the object. A travel path setting device equipped with the following features.

9. A spatial division unit that divides the space in which a mobile object can move into various regions, For each of the aforementioned regions, when setting the motion vector for the movement of a moving body based on information about objects that obstruct the movement of the moving body present in the space, the motion vector for that region is set based on the information of the object when the object is located within the region, and when the object is not located within the region, the motion vector for that region is set using the average value of the motion vectors set in a plurality of other adjacent regions. A movement path calculation unit calculates the movement path of a moving object in space to satisfy pre-set conditions, based on the motion vector set for each region and the distance of the region to the object. A travel path setting device equipped with the following features.

10. In an information processing device, The space in which the moving object can move is divided into various regions, For each of the aforementioned regions, when setting the motion vector for the movement of the moving body based on information about objects that obstruct the movement of the moving body present in the space, if the object is located within the region, the motion vector for that region is set based on the information of the object; if the object is not located within the region, the motion vector for that region is set by copying the motion vector set in another adjacent region. When calculating the movement path of a moving object in space to satisfy pre-set conditions, the movement path is calculated based on the motion vector set for each region and the distance of the region to the object. A program to execute a process.

Citation Information

Patent Citations

  • Method and apparatus for generating trajectory of mobile body

    JP2010152684A

  • Mobile robot control system, method and program for searching path

    JP2010191502A

  • Autonomous mobile body

    JP2018185633A

  • JPP7004475B

  • Mobile robot control apparatus and method for compensating input delay time

    US20190361431A1