Information processing device, information processing system, method, and program
Patent Information
- Application Number
- JP2022528527
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-06-03
- Filing Date
- 2021-05-19
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2041-05-19
AI Technical Summary
【0021】 本開示の一実施例の構成によれば、移動装置が追従する追従対象が、岐路において視野から外れることを防止して、確実な追従を可能とする装置、方法が実現される。 具体的には、例えば、移動装置の制御パラメータ決定部が、追従対象が岐路を構成する複数経路のどの経路を選択して移動するか判別できない場合、追従対象を移動装置の視野角内に入れるための目標位置と、目標位置における目標姿勢を算出し、算出した目標位置と目標姿勢を含む制御パラメータを生成する。制御パラメータ決定部は、追従対象がどの経路を選択して移動した場合にも、追従対象を移動装置の視野角内に入れることを可能とした位置と姿勢を算出する。 本構成により、移動装置が追従する追従対象が、岐路において視野から外れることを防止して、確実な追従を可能とする装置、方法が実現される。 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
Smart Images

Figure 0007643457000001 
Figure 0007643457000002 
Figure 0007643457000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to an information processing device, an information processing system, a method, and a program. More specifically, the present disclosure relates to an information processing device, an information processing system, a method, and a program for generating a movement path when a moving device such as a robot follows a person, a car, etc. [Background technology]
[0002] In recent years, the use of autonomous mobile objects such as robots, self-driving vehicles, and drones has been increasing. Among such autonomous moving bodies, there are some that are configured to set another moving body or a person in front as a "follow-up target" and move by following the following target.
[0003] Typically, when a mobile device such as a robot tracks a target, it places the target within the field of view of the robot's camera or the like to confirm the target, sets a destination position at or just before the position of the target, and generates a route to the set destination position and moves along that path.
[0004] However, if there is a fork in the road in which the target to be tracked branches off into multiple routes and the target to be tracked suddenly moves from the fork in the road onto a side road, the target to be tracked may fall out of the robot's field of view, making it impossible for the robot to recognize the target and follow it.
[0005] When the target moves out of the viewing angle, it is common to estimate the target's position and try to track it based on the estimated result. However, in many cases, it takes a long time to calculate the target, and the position estimation from the discrete movement trajectory obtained by calculation is also likely to be inaccurate. In particular, erroneous estimation is likely to occur when the target does not follow a smooth trajectory.
[0006] As another method, there is a method in which, without performing estimation processing, it is assumed that the target to be tracked exists at the position observed in the past, and the target is moved to a position where it fits within the field of view. However, for example, when the target to be tracked goes out of the field of view at a crossroads and it is unclear which route the target to be tracked has taken at the crossroads, it becomes difficult to apply this method.
[0007] Incidentally, examples of prior art that describe a robot that moves by following a specific target include Patent Document 1 (JP Patent Publication No. 2009-020749A) and Patent Document 2 (JP Patent Publication No. 2010-015194A).
[0008] Patent Document 1 (JP Patent Publication No. 2009-020749) discloses a configuration in which, when a robot loses sight of a target to be followed, it estimates the position of the target and follows it. When the sensor cannot detect the target, the system estimates where on the map the target is located based on the movement history and transition probability.
[0009] However, the configuration using transition probabilities described in Patent Document 1 has a problem in that if the estimation is incorrect, the target position will be significantly shifted from the field of view, making it difficult to return to normal, making it difficult to use at crossroads.
[0010] Patent Document 2 (JP Patent Publication No. 2010-015194) discloses a configuration for ensuring a robot's field of vision when the robot's field of vision is about to be blocked by an obstacle or the like. The present disclosure discloses a configuration in which, when a pedestrian or the like intervenes and the target to be followed becomes invisible or when it becomes impossible to generate a movement path, the target can detect a movable area and move accordingly.
[0011] However, the configuration described in Patent Document 2 has the problem that the fork in the road itself is not recognized as an obstacle, and it is not possible to determine which path the target to be tracked has chosen to move through the fork in the road, making it impossible to analyze the optimal position for capturing the target within the robot's field of view. [Prior art documents] [Patent documents]
[0012] [Patent Document 1] JP 2009-020749 A [Patent Document 2] JP 2010-015194 A Summary of the Invention [Problem to be solved by the invention]
[0013] The present disclosure has been made in consideration of the above-mentioned problems, for example, and aims to provide an information processing device, an information processing system, a method, and a program that reduce the probability of losing sight of the target to be tracked when the direction of movement of the target to be tracked at a crossroads cannot be estimated, thereby achieving more reliable tracking processing. [Means for solving the problem]
[0014] A first aspect of the present disclosure is a control parameter determination unit that determines a control parameter for the mobile device to track the target, The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, The information processing device calculates a target position for bringing the target object into the viewing angle of the mobile device and a target attitude at the target position, and generates control parameters including the calculated target position and target attitude.
[0015] Furthermore, a second aspect of the present disclosure is An information processing system including a mobile device and an information processing device capable of communicating with the mobile device, The information processing device includes: a control parameter determination unit that determines a control parameter for the moving device to follow a target object; The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, Calculating a target position for placing the target object within a viewing angle of a mobile device and a target attitude at the target position, and generating control parameters including the calculated target position and target attitude; The moving device is in an information processing system that moves according to control parameters including a target position and a target attitude generated by the information processing device.
[0016] Furthermore, a third aspect of the present disclosure is An information processing method executed in an information processing device, the information processing device has a control parameter determination unit that determines a control parameter for the mobile device to follow a target to be followed, The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, The information processing method calculates a target position for bringing the target object into the viewing angle of the mobile device and a target attitude at the target position, and generates control parameters including the calculated target position and target attitude.
[0017] Furthermore, a fourth aspect of the present disclosure is An information processing method executed in an information processing system having a mobile device and an information processing device capable of communicating with the mobile device, The information processing device, a control parameter determination unit that determines a control parameter for the moving device to follow a target object; The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, Calculating a target position for placing the target object within a viewing angle of a mobile device and a target attitude at the target position, and generating control parameters including the calculated target position and target attitude; The information processing method includes moving the moving device according to control parameters including a target position and a target attitude generated by the information processing device.
[0018] Furthermore, a fifth aspect of the present disclosure is A program for causing an information processing device to execute information processing, the information processing device has a control parameter determination unit that determines a control parameter for the mobile device to follow a target to be followed, The program further comprises: When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, The program calculates a target position for bringing the target object into the viewing angle of the mobile device and a target attitude at the target position, and generates control parameters including the calculated target position and target attitude.
[0019] The program of the present disclosure is, for example, a program that can be provided by a storage medium or a communication medium in a computer-readable format to an information processing device or a computer system capable of executing various program codes. By providing such a program in a computer-readable format, processing according to the program is realized on the information processing device or the computer system.
[0020] Further objects, features, and advantages of the present disclosure will become apparent from the following detailed description of the embodiments of the present disclosure and the accompanying drawings. In this specification, a system refers to a logical collective configuration of multiple devices, and each device is not necessarily located in the same housing.
[0021] According to a configuration of an embodiment of the present disclosure, a device and method are realized that enable reliable tracking by preventing a target followed by a mobile device from going out of view at a crossroads. Specifically, for example, when the control parameter determination unit of the mobile device cannot determine which of a plurality of routes that constitute a branch point the target to follow will move along, it calculates a target position for bringing the target into the viewing angle of the mobile device and a target attitude at the target position, and generates control parameters including the calculated target position and target attitude. The control parameter determination unit calculates a position and attitude that allows the target to be within the viewing angle of the mobile device regardless of which route the target to be followed moves along. This configuration realizes an apparatus and method that prevents an object being tracked by a mobile device from going out of view at a crossroads, enabling reliable tracking. It should be noted that the effects described in this specification are merely examples and are not limiting, and additional effects may also be provided. [Brief description of the drawings]
[0022] [Figure 1] 1 is a diagram illustrating an overview of a movement process of a robot according to the present disclosure. FIG. [Diagram 2] FIG. 1 is a block diagram showing an example of the configuration of the main components of a moving device (robot) according to the present disclosure. [Diagram 3] FIG. 11 is a flowchart illustrating an overall control sequence of a moving device (robot). [Figure 4] FIG. 13 is a flowchart illustrating a process executed by a follow-up target & branch point corresponding robot control parameter determiner in the robot control parameter determiner. [Diagram 5] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 6] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 7] FIG. 13 is a diagram illustrating a pseudo corner. [Figure 8] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 9] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 10] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 11] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 12]11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 13] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 14] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 15] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 16] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 17] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 18] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 19] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 20] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 21] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Figure 22] 11A to 11C are diagrams illustrating a specific example of a process executed by a follow-up target & branch point corresponding robot control parameter determiner. [Diagram 23] FIG. 13 is a diagram illustrating an example of the configuration of a mobile device when the mobile device alone calculates robot control parameters (target position, target posture, target path) and controls the mobile device. [Figure 24] FIG. 13 is a diagram illustrating an example of the configuration of a mobile device and a user terminal in a case where the user terminal is capable of communicating with the mobile device and calculates robot control parameters (target position, target posture, target path) and controls the mobile device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0023] The information processing device, the information processing system, the method, and the program of the present disclosure will be described in detail below with reference to the drawings. The description will be made according to the following items. 1. Overview of the movement process of the robot disclosed herein 2. Example of the configuration of the moving device (robot) 3. Overall sequence of control of moving device (robot) 4. Details of the process executed by the robot control parameter determination unit for tracking targets and crossroads 5. Example of generating control parameters (target position, target posture, target path) for a robot with different viewing angles 6. Examples of processing according to various branching configurations and robot viewing angles 7. Configuration Examples of the Mobile Device and Information Processing Device of the Present Disclosure 8. Summary of the Disclosure
[0024] [1. Overview of the robot movement process disclosed herein] First, an overview of the movement processing of the robot according to the present disclosure will be described.
[0025] As described above, when a mobile device such as a robot tracks a target, the target is placed within the field of view of the robot's camera or the like to confirm the target, a destination position is set at the position of the target or just before that position, and a travel route to the set destination position is generated and the device moves along that path.
[0026] However, if there is a fork in the road in which the target to be tracked branches off into multiple routes and the target to be tracked suddenly moves from the fork in the road onto a side road, the target to be tracked may fall out of the robot's field of view, making it impossible for the robot to recognize the target and follow it.
[0027] The present disclosure is directed to solving such problems and achieving reliable tracking processing without losing sight of the target to be tracked.
[0028] An overview of the movement processing of the robot according to the present disclosure will be described with reference to FIG. FIG. 1 shows an example of a case where a robot 10 moves while following a target 20 to be followed, and shows the following diagrams corresponding to two different times (t1, t2). (1) Example of setting target position and target attitude @t1 (before the moving direction of the target to be followed is determined) (2) Example of setting target position and target attitude @t2 (after determining the moving direction of the target to be followed)
[0029] "(1) Example of setting target position and target attitude @t1 (before moving direction of target to be followed is determined)" shows the target position 31, the target attitude 41, and the target path 51 set by the robot 10 at time (t1).
[0030] At this time t1, the robot 10 is in a state in which it is unable to estimate or determine which of the two routes, route A and route B, the target 20 to be followed will proceed along, which are two routes that form a fork in the road.
[0031] In this state, the robot 10 sets a target position 31, a target posture 41, and a target path 51 as shown in FIG. The target posture 41 at the target position 31 means the orientation of the robot 10 at the target position 31. By setting the orientation of the robot in the direction of the arrow shown in the figure, the robot 10 can observe and analyze objects within the range of a viewing angle (θ) 61 shown in the figure. In other words, the viewing angle (θ) 61 corresponds to the object recognition range of a sensor such as a camera provided on the robot 10.
[0032] 1, by setting the target posture 41 at the target position 31, it becomes possible to set the range from fork A to fork B within the viewing angle. In other words, by setting the robot 10 to the target posture 41 at the target position 31, it becomes possible to keep the target 20 to be followed within the viewing angle regardless of whether the target 20 to be followed proceeds along path A or path B, and it becomes possible to continue the following process without losing sight of the target 20 to be followed.
[0033] The present disclosure thus makes it possible to calculate the optimal position (= target position 31), optimal attitude (target attitude 41), and target route 51 for tracking the target 20 without losing sight of it, even in a situation where it is not possible to estimate or determine which of multiple routes that form a fork in the road the target 20 will take.
[0034] The process of generating the target path 51 is a path to be set in the target attitude 41 at the target position 31, and various existing algorithms can be applied as the algorithm for generating this path. For example, a smooth path is calculated taking into consideration the current position and posture of the robot 10, the target position 31, and the target posture 41. Specifically, a path can be generated using existing path generation algorithms such as "Hybrid A*" and DWA (Dynamic Window Approach), or by applying machine learning data.
[0035] FIG. 1(2) shows the state at time t2 after time t1, and shows the target position 32, target posture 42, and target path 52 set by the robot 10 at time (t2). This state at time t2 is a state after the target 20 to be tracked has determined to proceed to route B out of two routes A and B that form a branching point. The selected path of the target 20 to be followed is analyzed, for example, by analyzing the orientation and traveling direction of the target to be followed from an image captured by the camera of the robot 10.
[0036] After it is determined that the target 20 to be tracked proceeds to path B, the target position 32, the target attitude 42, and the target path 52 are changed and updated from the target position 31, the target attitude 41, and the target path 51 shown in Fig. 1(1), respectively, as shown in Fig. 1(2). In this case, only path B, which is the selected path of the target 20 to be tracked, is included in the range of the viewing angle (θ).
[0037] The robot 10 of the present disclosure is capable of calculating an optimal position (= target position 31) and an optimal posture (target posture 41) for following the target 20 without losing sight of it in a state as shown in FIG. 1(1), i.e., in a state in which it is unable to estimate or determine which of multiple routes that form a fork in the road the target 20 will take.
[0038] In the following embodiments, an autonomous robot will be described as an example of a mobile device that follows the target 20; however, the mobile device disclosed herein includes not only such autonomous robots, but also various other mobile devices, such as self-driving vehicles and drones.
[0039] This disclosure discloses a process for dealing with cases where it is difficult to estimate the direction of travel of a target at a crossroads. For example, when a drone is set to follow a person moving through an indoor corridor of a building, it may be difficult to determine which corridor the target person will take at a crossroads in the building. The process disclosed herein can be used to control the flight path of the drone in such cases.
[0040] In the following description, a processing example will be described in which an autonomous mobile robot that travels on the same plane as the object to be followed is applied as a representative example.
[0041] In order for the robot 10 shown in FIG. 1 to follow the target 20, as described above, (a) Target position, (b) Orientation at the target position (robot orientation) (c) Target path (=movement path for setting the target posture at the target position) Each of these pieces of information needs to be generated.
[0042] The generation of each piece of information and the control of the movement of the robot may be performed by a data processing unit of an information processing device provided inside the robot 10, or by an external information processing device capable of communicating with the robot. In the following embodiment, as an example, an example will be described in which the above-mentioned information is generated in a data processing unit of an information processing device inside the robot 10 and the movement of the robot is controlled. However, in the following description, the processing executed by the robot 10 may be configured to be executed by an information processing device capable of communicating with the robot 10.
[0043] [2. Example of the configuration of a moving device (robot)] Next, a configuration example of a moving device (robot) will be described.
[0044] FIG. 2 is a block diagram showing an example of the main components of the mobile device (robot) 100 of the present disclosure. 2 is a block diagram showing the main configuration of the moving device (robot) 100 shown in FIG.
[0045] As shown in FIG. 2, the mobile device (robot) 100 has an environment recognition unit 110, a robot control parameter determination unit 120, a robot driving information generation unit 131, and a robot driving unit 132.
[0046] The environment recognition unit 110 includes a branch point detection unit 111 and a target detection unit 112 . The robot control parameter determination unit 120 includes a robot control parameter determination algorithm switching unit 121 , a follow-up target & branch point corresponding robot control parameter determination unit 122 , and a follow-up target corresponding robot control parameter determination unit 123 .
[0047] The environment recognition unit 110 analyzes map data stored in a memory unit (not shown) and information acquired from a camera and distance sensor (not shown) to analyze the environment near the path of the mobile device (robot) 100.
[0048] The mobile device (robot) 100 is equipped with a camera that captures images in the direction of travel and images of a target to be tracked, an object detection sensor such as LiDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging), and various sensors such as a stereo camera, a ToF sensor, an ultrasonic sensor, a radar, and a sonar.
[0049] The environment recognition unit 110 analyzes the environment near the path of the mobile device (robot) 100 by referring to the detection information from these cameras and sensors and the map data stored in the storage unit.
[0050] The fork detection unit 111 uses a map or detection data from a camera or a sensor to detect forks in the moving direction of the mobile device 100, that is, branching points of multiple routes, and analyzes the configuration of the fork, the distance to the fork, etc. The analysis of the fork includes the route setting configuration of the fork, etc.
[0051] Junction detection information 201 including configuration information of the junction detected by the junction detection unit 111 and information on the distance to the junction is output to a robot control parameter determination algorithm switching unit 121 of the robot control parameter determination unit 120.
[0052] The target detection unit 112 analyzes the position, orientation, distance, etc. of the target using detection data from a camera or sensor. The angle at which the mobile device (robot) 100 can recognize the target to be followed is called the viewing angle.
[0053] The target to be tracked detection information 202 including the position, posture, distance, etc. of the target to be tracked detected by the target to be tracked detection unit 112 is output to a robot control parameter determination algorithm switching unit 121 in the robot control parameter determination unit 120 .
[0054] The robot control parameter determination algorithm switching unit 121 of the robot control parameter determination unit 120 executes a process of switching the robot control parameter determination algorithm to be applied, based on the input information from the environment recognition unit 110.
[0055] The robot control parameter determination unit 120 has the following two robot control parameter determination units. (1) A tracking target & branch point corresponding robot control parameter determination unit 122; (2) The robot control parameter determination unit 123 for the robot to be followed is included. These two robot control parameter determination units execute the process of determining the robot control parameters using different algorithms.
[0056] The robot control parameters to be determined are as follows: (a) Target position, (b) Orientation at the target position (robot orientation) (c) Target path (=movement path for setting the target posture at the target position) These are the parameters (a) to (c).
[0057] The "(1) robot control parameter determination unit 122 for a target to be followed and a branch point" determines robot control parameters (target position, target posture, target route) using not only target to be followed detection information 202 including the position, posture, distance, etc. of the target to be followed detected by the target to be followed detection unit 112, but also branch point detection information 201 including configuration information of the branch point detected by the branch point detection unit 111 and information on the distance to the branch point, etc.
[0058] On the other hand, the “(2) robot control parameter determination unit 123 for the target to be followed” determines the robot control parameters (target position, target posture, target route) using only the target to be followed detection information 202 including the position, posture, distance, etc. of the target to be followed detected by the target to be followed detection unit 112.
[0059] When a branch point is detected by the branch point detection unit 111 and, based on the target to be followed detection information 202 input from the target to be followed detection unit 112, it is determined that it is not possible to specify the moving direction of the target to be followed, i.e., which of the multiple routes at the branch point the target will select to move, the robot control parameter determination algorithm switching unit 121 performs the following: The robot control parameters are determined in the "(1) follow-up target & branch point corresponding robot control parameter determination unit 122."
[0060] In other cases, the robot control parameters are determined in "(2) the follow-up target corresponding robot control parameter determination unit 123." In other cases, (a) When no branch is detected by the branch detection unit 111, or (b) When a fork is detected by the fork detection unit 111, and the moving direction of the target to be tracked can be specified based on the target to be tracked detection information 202 input from the target to be tracked detection unit 112, i.e., which of the multiple routes at the fork the target to be tracked will select and move along, This applies to either (a) or (b) above.
[0061] When the robot control parameter determination algorithm switching unit 121 detects a fork in the road in the fork detection unit 111 and determines, based on the follow-up target detection information 202 input from the follow-up target detection unit 112, that it is unable to identify the direction of movement of the follow-up target to select one of the multiple routes at the fork in the road, the robot control parameter determination algorithm switching unit 121 transfers the following pieces of information input from the environment recognition unit 110 to the "follow-up target & fork in the road compatible robot control parameter determination unit 122". (p) Junction detection information 201 including configuration information of the junctions detected by the junction detection unit 111, distance information to the junctions, etc. (q) Target detection information 202 including the position, orientation, distance, etc. of the target detected by the target detection unit 112
[0062] The follow-up target & branch point corresponding robot control parameter determination unit 122 determines the robot control parameters, that is, the target position, the target posture, and the target path, using the above input information (p) and (q). The algorithm for determining the robot control parameters (target position, target posture, target path) will be explained in detail later.
[0063] On the other hand, the robot control parameter determination algorithm switching unit 121 (a) When no branch is detected by the branch detection unit 111, or (b) When a fork is detected by the fork detection unit 111, and the moving direction of the target to be tracked can be specified based on the target to be tracked detection information 202 input from the target to be tracked detection unit 112, i.e., which of the multiple routes at the fork the target to be tracked will select and move along, In either case of (a) or (b) above, the following information input from the environment recognition unit 110 is transferred to the "follow-up target corresponding robot control parameter determination unit 123". (q) Target detection information 202 including the position, orientation, distance, etc. of the target detected by the target detection unit 112
[0064] The follow-up target corresponding robot control parameter determination unit 123 determines the robot control parameters, that is, the target position, the target posture, and the target path, using the above input information (q). The algorithm for determining the robot control parameters (target position, target posture, target path) can be an existing algorithm that conforms to a general algorithm for tracking a target to be tracked.
[0065] The robot control parameters (target position, target posture, target path) 211, 212 determined in either the follow-up target & branch point corresponding robot control parameter determination unit 122 or the follow-up target corresponding robot control parameter determination unit 123 are input to the robot driving information generation unit 131.
[0066] The robot driving information generation unit 131 generates driving information for moving the mobile device (robot) 100 along the input target path and setting the mobile device (robot) 100 to the target posture at the target position based on the robot control parameters (target position, target posture, target path) 211, 212 input from the follow-up target & branch point corresponding robot control parameter determination unit 122 or the follow-up target corresponding robot control parameter determination unit 123.
[0067] The robot driving information generation unit 131 outputs the generated driving information to the robot driving unit 132 . The robot driving unit 132 drives the moving device (robot) 100 in accordance with the driving information input from the robot driving information generating unit 131. As a result, the mobile device (robot) 100 travels along the target path, reaches the target position, and is set to the target posture at the target position.
[0068] [3. Overall sequence of control of moving device (robot)] Next, the overall sequence of control of the mobile device (robot) 100 will be described with reference to the flow chart shown in FIG.
[0069] 3 and subsequent flowcharts can be executed, for example, according to a program stored in a storage unit of the mobile device (robot) 100. For example, the process is executed under the control of a data processing unit (control unit) having a CPU or the like with a program execution function. The process of each step in the flowchart shown in FIG. 3 will be described below in order.
[0070] (Step S101) First, in step S101, the environment recognition unit 110 of the mobile device (robot) 100 executes a target detection process and a fork in the road detection process.
[0071] As described above, the branching detection unit 111 uses a map or detection data from a camera or a sensor to detect branching points in the direction of movement of the mobile device 100, i.e., branching points of multiple routes, and generates branching detection information including information on the configuration of the branching point, the distance to the branching point, etc.
[0072] Furthermore, the target detection unit 112 analyzes the position, orientation, distance, etc. of the target using detection data from the camera or sensor, and generates target detection information including this information.
[0073] (Step S102) The processing in steps S102 and S103 is executed by the robot control parameter determination algorithm switching unit 121 of the robot control parameter determination unit 120.
[0074] The robot control parameter determination algorithm switching unit 121 of the robot control parameter determination unit 120 executes a process of switching the robot control parameter determination algorithm to be applied, based on the input information from the environment recognition unit 110.
[0075] First, in step S102, the robot control parameter determination algorithm switching unit 121 determines, based on the input information from the environment recognition unit 110, whether or not a fork has been detected. Specifically, it is determined based on the branch detection information input from the branch detection unit 111 whether or not a branch has been detected in the traveling direction of the “follow-up target” that the mobile device (robot) 100 is following up.
[0076] If it is determined that a fork has been detected, the process proceeds to step S103. On the other hand, if it is determined that a fork has been detected, the process proceeds to step S104.
[0077] (Step S103) If it is determined in step S102 that a fork has been detected, the process proceeds to step S103. In this case, the mobile device (robot) 100 determines in step S103 whether or not it is possible to determine the moving direction of the "follow-up target" being followed by the mobile device (robot) 100 at the crossroads.
[0078] Specifically, the robot control parameter determination algorithm switching unit 121 of the robot control parameter determination unit 120 determines, based on the follow-up target detection information 202 input from the follow-up target detection unit 112, whether or not it has been possible to identify the direction of movement of the follow-up target, that is, which of multiple routes at a fork in the road the target will select to move along.
[0079] If it is determined that the moving direction of the target to be followed, that is, which route among the multiple routes at the branch point to be selected and along which the target will move, has been specified, the process proceeds to step S104. On the other hand, if it is determined that the moving direction of the target object cannot be specified, that is, that it is not possible to specify which of the multiple routes constituting the branch point the target object will move along, the process proceeds to step S105.
[0080] (Step S104) The process of step S104 is as follows: (a) When it is determined in step S102 that a fork has not been detected, or (b) When it is determined in step S102 that a fork has been detected, and when it is possible to identify in step S103 which path the target to be tracked will take among the multiple paths through the fork and move in, Execute in either case (a) or (b) above.
[0081] The process of step S104 is executed by the follow-up target corresponding robot control parameter determination unit 123 of the robot control parameter determination unit 120.
[0082] The target-to-be-followed robot control parameter determination unit 123 determines robot control parameters, i.e., target position, target posture, and target route, using target-to-be-followed detection information 202 including the position, posture, distance, etc. of the target to be followed detected by the target-to-be-followed detection unit 112 of the environment recognition unit 110. The algorithm for determining the robot control parameters (target position, target posture, target path) can be an existing algorithm that conforms to a general algorithm for tracking a target to be tracked.
[0083] (Step S105) The process of step S105 is as follows: (a) It is determined in step S102 that a fork has been detected, and (b) In step S103, if it is not possible to specify the direction of travel of the target to be tracked, i.e., which of the multiple routes at the branch point the target will take to travel, Execute if the above (a) and (b) are satisfied.
[0084] The process of step S105 is executed by the follow-up target & branch point corresponding robot control parameter determination unit 122 of the robot control parameter determination unit 120.
[0085] The following target & branch point corresponding robot control parameter determination unit 122 is (p) Junction detection information 201 including configuration information of the junctions detected by the junction detection unit 111, distance information to the junctions, etc. (q) Target detection information 202 including the position, orientation, distance, etc. of the target detected by the target detection unit 112; Using the above input information (p) and (q), the robot control parameters, i.e., the target position, target posture, and target path, are determined. The algorithm for determining the robot control parameters (target position, target posture, target path) will be described in detail later with reference to the flow shown in FIG. 4 and the detailed diagrams shown in FIG. 5 and subsequent figures.
[0086] (Step S106) Once the robot control parameters (target position, target posture, and target path) have been determined in either step S104 or step S105, the process proceeds to step S106.
[0087] The process of step S106 is executed by the robot driving information generating unit 131. The robot driving information generation unit 131 generates driving information for moving the mobile device (robot) 100 along the input target path and setting the mobile device (robot) 100 to the target posture at the target position based on the robot control parameters (target position, target posture, target path) 211, 212 input from the follow-up target & branch point corresponding robot control parameter determination unit 122 or the follow-up target corresponding robot control parameter determination unit 123.
[0088] (Step S107) Finally, in step S107, the robot is driven based on the robot driving information generated in step S106.
[0089] This process is executed by the robot driving unit 132. The robot driving unit 132 drives the moving device (robot) 100 in accordance with the driving information input from the robot driving information generating unit 131. As a result, the mobile device (robot) 100 travels along the target path, reaches the target position, and is set to the target posture at the target position.
[0090] [4. Details of the process executed by the robot control parameter determination unit for tracking targets and intersections] Next, the details of the process executed by the follow-up target & branch point corresponding robot control parameter determination unit 122 of the robot control parameters 120 will be described.
[0091] The process of step S105 in the flowchart shown in FIG. 3 will be described in detail below. Step S105 in the flowchart shown in FIG. (a) It is determined in step S102 that a fork has been detected, and (b) In step S103, if it is not possible to specify the direction of travel of the target to be tracked, i.e., which of the multiple routes at the branch point the target will take to travel, This is a process executed by the follow-up target & branch point corresponding robot control parameter determination unit 122 of the robot control parameter determination unit 120 when the above (a) and (b) are satisfied.
[0092] In this case, the robot control parameter determination unit 122 for determining the following target and branching point of the robot control parameter determination unit 120 performs the following: (p) Junction detection information 201 including configuration information of the junctions detected by the junction detection unit 111, distance information to the junctions, etc. (q) Target detection information 202 including the position, orientation, distance, etc. of the target detected by the target detection unit 112; Using the above input information (p) and (q), the robot control parameters, i.e., the target position, target posture, and target path, are determined.
[0093] FIG. 4 is a flowchart for explaining the detailed sequence of the algorithm for determining the robot control parameters (target position, target posture, and target path). 5 and the following figures are diagrams for explaining the details of the processing of each step in the flow shown in FIG. The process according to the flow shown in FIG. 4 is executed by the follow-up target & branch point corresponding robot control parameter determination unit 122 of the robot control parameter determination unit 120.
[0094] The details of the processing of each step in the flow shown in FIG. 4 will be described below with reference to FIG. 5 and the subsequent figures.
[0095] (Step S201) First, in step S201, the follow-up target & branch point corresponding robot control parameter determiner 122 of the robot control parameter determiner 120 calculates the direction of the average vector indicating the average direction of each path direction at the branch point.
[0096] The process of step S201 will be described in detail with reference to FIG. 5 shows a robot 10. The robot 10 follows a target 20 to be followed, in the same manner as described above with reference to FIG.
[0097] FIG. 5 is a diagram for explaining the process of step S201, that is, the process of calculating the direction of an average vector indicating the average direction of each route direction at a branch point, and does not show the target 20 to be followed to avoid complication. The target object is in a position where it is impossible to determine which path to take at the fork in the road consisting of path A and path B. Specifically, the target object is located in a position on the near side (robot 10 side) from the center of the fork in the road, similar to the position shown in Figure 1 (1) described above.
[0098] In step S201, the follow-up target & branch point corresponding robot control parameter determiner 122 calculates the direction of an average vector indicating the average direction of each path direction at a branch point. The branch shown in FIG. 5 is composed of two routes, route A and route B, which are perpendicular to each other.
[0099] The follow-up target & branch point corresponding robot control parameter determiner 122 first sets, for each of the two paths A and B, a direction vector indicating the direction of each path. The direction vectors of route A and route B are shown in the figure.
[0100] The center direction of the direction vector of route A and the direction vector of route B is calculated as the direction of the average vector indicating the average direction of each route direction at the branch point. For example, an average vector 301 having a direction as shown in FIG. 5 is calculated. Note that it is sufficient for the mean vector 301 to have a specified direction, and there is no need to limit the length or position of the mean vector 301. For example, the mean vector 301 may be a unit vector with a length of 1.
[0101] (Step S202) Next, the follow-up target & branch point corresponding robot control parameter determination unit 122 executes the following process in step S202.
[0102] A junction center point indicating the center position of the junction and a center direction line passing through the junction center point and extending in the average direction of each route direction (the direction of the average vector) are calculated.
[0103] The process of step S202 will also be described with reference to FIG. Direction vectors indicating the route directions of the two routes A and B, that is, the "direction vector of route A" and the "direction vector of route B" shown in FIG. 5, are set at the center positions of the respective routes.
[0104] Furthermore, the intersection point at the branch point of the extension lines of the direction vectors corresponding to each route is set as the branch point center point 302 . As shown in FIG. 5, a branch center point 301 is set at the intersection position of the center line of a route A and the center line of a route B.
[0105] Next, the follow-up target & branch point corresponding robot control parameter determination unit 122 calculates a center direction line 303 passing through the branch point 302 . The center direction line 303 is set as a straight line that bisects the angle between the center line of route A and the center line of route B, that is, as a straight line that passes through the branch center point 302 and is parallel to the average vector direction calculated in step S201.
[0106] (Step S203) The process of steps S203 to S204 and the process of step S205 can be executed in parallel.
[0107] That is, the process of steps S203 to S204 and the process of step S205 can be executed in parallel because they are processes that can be executed independently. However, parallel execution is not essential, and the process of step S205 may be executed after the process of steps S203 to S204, or the process of step S205 may be executed before the process of steps S203 to S204.
[0108] First, the process of step S203 will be described. In step S203, the follow-up target & branch point corresponding robot control parameter determination unit 122 executes the following process.
[0109] A point (junction observation point) on the center direction line 303 where the junction can be observed within the viewing angle of the robot (for example, within the angle of view of an image captured by the robot's camera) is calculated. Note that the junction observation point includes a junction observation point corresponding to an actual corner and a junction observation point corresponding to a pseudo corner.
[0110] The center direction line 303 is a line calculated in step S202, and as explained with reference to Figure 5, is set as a straight line in a direction that bisects the angle between the center line of route A that constitutes the fork and the center line of route B, that is, a straight line that passes through the fork center point 302 and is parallel to the average vector direction calculated in step S201.
[0111] In step S203, a "junction observation point" is calculated, which is a point on the center direction line 303 where the junction can be observed within the viewing angle of the robot (for example, within the angle of view of an image captured by the robot's camera). Note that the "junction observation point" includes a "junction observation point corresponding to an actual corner" and a "junction observation point corresponding to a pseudo corner."
[0112] First, the "actual corner corresponding branch point observation point" will be described with reference to FIG. FIG. 6 shows an average vector 301, a branch center point 302, and a center direction line 303 calculated in steps S201 and S202. As mentioned above, it is sufficient that the direction of the average vector 301 is specified, and there is no need to limit the length or position. FIG. 6 shows an average vector 301 with a different position and length than FIG.
[0113] In step S203, the position of the "actual corner corresponding branch observation point" on the center direction line 303 is calculated. In the example shown in Fig. 6, it is assumed that the robot 10 moves along the center direction line 303 and faces the direction of the average vector 301. The viewing angle of the robot 10 in this case is θ. The viewing angle of the robot 10 is an angle at which the robot 10 can recognize objects using detection data from a camera or a sensor. For example, in a configuration in which the robot 10 performs object recognition using only images captured by a camera, the viewing angle corresponds to the angle of view of the images captured by the camera.
[0114] When the robot 10 moves along the center direction line 303 and faces the direction of the average vector 301, the field of view angle θ of the robot 10 is divided equally into two by the center direction line 303, and a field of view angle of θ / 2 is set to the right of the center direction line 303 as shown in Figure 6.
[0115] As shown in FIG. 6, the "actual corner corresponding branching observation point 313" is an end point on the center direction line 303 at which the "actual corner 312a" shown in FIG. In addition, an "actual corner" is a "corner region" that actually exists on a route that constitutes a fork in the road. In the example shown in Fig. 6, there are two "actual corners", actual corner 312a and actual corner 312b, but when the robot 10 moves along the center direction line 303 in the direction of the mean vector 301 (the upper right direction in Fig. 6), "actual corner 312a" is the corner that deviates from the viewing angle θ of the robot 10 first.
[0116] The "actual corner corresponding branch point observation point 313" is calculated taking into account the corner that will first deviate from the viewing angle θ of the robot 10 when the robot 10 moves along the center direction line 303 in the direction of the mean vector 301 (upper right direction in Figure 6).
[0117] When the robot 10 moves along the center direction line 303 from the "actual corner corresponding branch observation point 313", that is, when the robot 10 moves along the center direction line 303 in the direction of the mean vector 301 (toward the upper right in Figure 6), the "actual corner 312a" shown in Figure 6 will fall outside the viewing angle θ of the robot 10, and the robot 10 will no longer be able to recognize the "actual corner 312a".
[0118] In this way, the "junction observation point 313 corresponding to actual corner" is an end point on the center direction line 303 that is within the viewing angle θ of the robot 10. In other words, it is calculated as the farthest point on the center direction line 303 (the farthest point from the current position of the robot 10) at which the robot 10 facing the mean vector 301 can recognize the "actual corner 312a."
[0119] The process described with reference to Figure 6 is a process of calculating the "junction observation point 313 corresponding to actual corner" on the center direction line 303 at which the "actual corner 312a" of the junction can be observed within the field of view of the robot (for example, within the field of view of an image captured by the robot's camera).
[0120] In step S203, not only "junction observation points corresponding to actual corners" but also "junction observation points corresponding to pseudo corners" are calculated as points (junction observation points) on the center direction line 303 at which the junction can be observed within the robot's field of view (for example, within the angle of view of an image captured by the robot's camera).
[0121] The "junction observation point corresponding to an actual corner" is a position where an existing corner 312a is within the viewing angle of the robot 10, as described with reference to FIG. In contrast, a “junction observation point corresponding to a pseudo corner” is a position where a non-existent pseudo corner (pseudo corner area) is within the viewing angle of the robot 10 .
[0122] The pseudo corner (pseudo corner area) will be described with reference to FIG. Figure 7 shows the location of the "pseudo corner" at two different intersections.
[0123] As shown in FIG. 7, the pseudo corner 315 is a corner area (corner area) that does not actually exist at the fork, and is defined as the intersection position between the "actual corner extension auxiliary line," which is a perpendicular line from the actual corner 312a that actually exists at the fork, to the route-opposing surface, and the "route-opposing surface."
[0124] In step S203, the position of the "pseudo corner corresponding intersection observation point" is calculated using the position of this "pseudo corner 315". The process of calculating the position of the "pseudo corner corresponding intersection observation point" will be described with reference to FIG.
[0125] First, the position of the "pseudo corner 315" is calculated as shown in FIG. A "real corner extension auxiliary line" that is a perpendicular line from the "real corner 312a" to the path opposite surface is set, and a "pseudo corner 315" is set at the intersection of the "real corner extension auxiliary line" and the "path opposite surface".
[0126] Next, as shown in FIG. 8, a "pseudo corner corresponding branch point observation point 316" is set at an end point on the center direction line 303 where a "pseudo corner 315" shown in FIG.
[0127] The "pseudo corner corresponding crossroad observation point 316" is calculated and set at a position that will ultimately deviate from the viewing angle θ of the robot 10 when the robot 10 moves along the center direction line 303 in the direction of the mean vector 301 (upper right direction in Figure 8).
[0128] When the robot 10 moves along the center direction line 303 from the "pseudo corner corresponding branch point observation point 316" shown in Figure 8, that is, when the robot 10 moves along the center direction line 303 in the direction of the mean vector 301 (toward the upper right in Figure 8), the "pseudo corner 315" shown in Figure 8 will be outside the viewing angle θ of the robot 10, and the robot 10 will no longer be able to recognize the "pseudo corner 315."
[0129] In this way, the "junction observation point 316 corresponding to a pseudo corner" is an end point on the center direction line 303 that is within the viewing angle θ of the robot 10. In other words, it is calculated as the farthest point on the center direction line 303 (the farthest point from the current position of the robot 10) at which the robot 10 facing the mean vector 301 can recognize the "pseudo corner 315."
[0130] In this way, in step S203, a "junction observation point corresponding to an actual corner" and a "junction observation point corresponding to a pseudo corner" are calculated as points (junction observation points) on the center direction line 303 at which the junction can be observed within the robot's field of view (for example, within the angle of view of an image captured by the robot's camera).
[0131] (Step S204) Next, the follow-up target & branch point corresponding robot control parameter determination unit 122 executes the following process in step S204.
[0132] From the branch center point 302 and each of the branch observation points (the actual corner corresponding branch observation point 313 and the pseudo corner corresponding branch observation point 316), the point closest to the current position of the robot 10 (the branch center & closest point within the observation point) is selected.
[0133] That is, (a) the branch point center point 302 calculated in step S202; (b) Junction observation points calculated in step S203 (junction observation points 313 corresponding to actual corners and junction observation points 316 corresponding to pseudo corners) Of these points, the point closest to the current position of the robot 10 is selected as the "closest point within the branch point center and observation point."
[0134] The process of step S204 will be described with reference to FIG. FIG. 9 shows three points: the branching center point 302 calculated in step S202, a branching observation point corresponding to an actual corner 313 which is a branching observation point calculated in step S203, and a branching observation point corresponding to a pseudo corner 316.
[0135] In step S204, the point closest to the current position of the robot 10 is selected from these three points as the "closest point within the branch point center and observation point." 9, of the three points, the branching observation point 302, the branching observation point corresponding to an actual corner 313, and the branching observation point corresponding to a pseudo corner 316, the point closest to the current position of the robot 10 is the branching observation point corresponding to a pseudo corner 316. Therefore, in the example shown in FIG 9, the branching observation point corresponding to a pseudo corner 316 is selected as the "branching center & closest point within observation point 318".
[0136] The positional relationship between the branching center point 302, the branching observation point corresponding to the actual corner 313, and the branching observation point corresponding to the pseudo corner 316 varies depending on the configuration of the branching and the viewing angle of the robot 10. Therefore, which of the three points is selected as the “branching center & closest point within observation point 318” varies depending on the configuration of the branching and the viewing angle of the robot 10.
[0137] (Step S205) Next, the process of step S205 in the flow shown in FIG. 4 will be described. As described above, the process of step S205 can be executed in parallel with the processes of steps S203 to S204 described above.
[0138] In step S205, the follow-up target & branch point corresponding robot control parameter determination unit 122 executes the following process.
[0139] A point on the center line that does not contact obstacles such as walls and is closest to the robot's current position (closest non-contact point on the center line) is calculated.
[0140] The process of step S205 will be described with reference to Fig. 10. In Fig. 10, the position where the robot is on the center direction line 303 with the direction of the average vector 301 as the forward direction, where the robot is not in contact with an "obstacle such as a wall" and is closest to the current robot position, is shown by a dotted line as the "estimated robot position". In this example, the "obstacle such as a wall" refers to the end of the path A.
[0141] In step S205, the "estimated robot position" shown by the dotted line in Fig. 10 is calculated. That is, the position on the center direction line 303 where the robot is not in contact with "an obstacle such as a wall" with its posture with the mean vector 301 direction as the forward direction is calculated as the closest non-contact point on the center direction line 321.
[0142] (Step S206) Next, the process of step S206 in the flow shown in FIG. 4 will be described. The process of step S206 is executed after the processes of steps S203 to S204 and the process of step S205 described above are completed.
[0143] In step S206, the follow-up target & branch point corresponding robot control parameter determination unit 122 executes the following process. From the closest point within the center of the fork and the observation point, and the closest non-contact point on the center direction line, the point farthest from the robot's current position is selected, and the selected point is set as the target position.
[0144] That is, (a) The closest point 318 within the intersection center and observation point calculated in step S204; (b) The closest non-contact point 321 on the line toward the center calculated in step S205; Of these two points, the point farthest from the current position of the robot 10 is selected, and the selected point is set as the target position.
[0145] This process will be described with reference to FIG. Figure 11 shows: (a) The closest point 318 within the intersection center and observation point calculated in step S204; (b) The closest non-contact point 321 on the line toward the center calculated in step S205; These two points are shown. In step S206, from these two points, the point farthest from the current position of the robot 10 is selected, and the selected point is set as the target position.
[0146] In the example shown in Figure 11, among the closest point 318 within the branch point center & observation point and the closest non-contact point 321 on the center direction line, the point farthest from the current position of the robot 10 is the closest non-contact point 321 on the center direction line, and this closest non-contact point 321 on the center direction line is selected as the "target position".
[0147] The settings of the closest point within the branch center and observation point and the closest non-contact point on the center direction line differ depending on the branch configuration and the viewing angle of the robot 10. Therefore, which point of the closest point within the branch center and observation point and the closest non-contact point on the center direction line is selected as the "target position" changes depending on the branch configuration and the viewing angle of the robot 10.
[0148] (Step S207) Next, the process of step S207, which is the final step of the flow shown in FIG. 4, will be described.
[0149] In step S207, the follow-up target & branch point corresponding robot control parameter determination unit 122 executes the following process. The robot control parameters (target position, target posture, and target route) are generated with "target position = selected point" and "target posture = average vector direction."
[0150] A specific example of the process in step S207 will be described with reference to FIGS. FIG. 12 shows the target position 331 determined in step S206. In step S207, first, the target attitude is determined to be the direction of the average vector 301 calculated in step S201.
[0151] In step S207, a target route is determined based on these target positions and target attitudes. FIG. 13 shows a target position 331, a target attitude 332, and a target path 333 determined in step S207.
[0152] As shown in FIG. 13, the target position 331 is the point selected in step S206, that is, the selected point selected from the closest point 318 within the branch point center and observation point and the closest non-contact point 321 on the center direction line. The target attitude 332 is set to the direction of the average vector 301 calculated in step S201.
[0153] The target path 333 is a path for setting the "target attitude 332 = average vector direction" at the "target position 331", and various existing algorithms can be applied as the path generation algorithm. For example, a smooth path is calculated taking into consideration the current position and posture of the robot 10, the "target position 331" and the "target posture 332 = average vector direction." Specifically, a path can be generated using existing path generation algorithms such as "Hybrid A*" and DWA (Dynamic Window Approach), or by applying machine learning data.
[0154] In this way, the follow-up target & branch point corresponding robot control parameter determiner 122 generates robot control parameters (target position, target posture, target route) with "target position 331" and "target posture 332 = average vector direction" in step S207.
[0155] As described above, in step S105 of the flow shown in FIG. 3, the process in accordance with steps S201 to S207 of the flow shown in FIG. 4 is executed. That is, the follow-up target & branch point corresponding robot control parameter determination unit 122 performs the following in accordance with the flow shown in FIG. (p) Junction detection information 201 including configuration information of the junction detected by the junction detection unit 111 shown in FIG. 2 and information on the distance to the junction, etc. (q) Target detection information 202 including the position, orientation, distance, etc. of the target detected by target detection unit 112 shown in FIG. 2; Using the above input information (p) and (q), the robot control parameters, i.e., the target position, target posture, and target path, are determined.
[0156] The robot control parameters (target position, target posture, target path) generated by the follow-up target & branch point corresponding robot control parameter determination unit 122 are output to a robot driving information generation unit 131 as shown in FIG.
[0157] The robot driving information generator 131 executes the process of step S106 in the flow shown in FIG. That is, based on the robot control parameters (target position, target posture, target path) 211, 212 input from the follow-up target & branch point corresponding robot control parameter determination unit 122 or the follow-up target corresponding robot control parameter determination unit 123, driving information is generated for moving the mobile device (robot) 100 along the input target path and setting it to the target posture at the target position.
[0158] Furthermore, in step S107 of the flow shown in FIG. 3, the robot is driven based on the robot driving information generated in step S106. This process is executed by the robot driving unit 132. The robot driving unit 132 drives the moving device (robot) 100 in accordance with the driving information input from the robot driving information generating unit 131. As a result, the mobile device (robot) 100 travels along the target path, reaches the target position, and is set to the target posture at the target position.
[0159] In this manner, in the processing of the present disclosure, when it is not possible to estimate which of the routes constituting the fork in the path the target 20 to follow will select to move along at the fork in the road, the robot 10 is moved according to the robot control parameters (target position, target posture, target route) generated by the target and fork in the road robot control parameter determination unit 122 in accordance with the processing described with reference to FIG. 4.
[0160] By performing this control, even when the robot 10 is unable to estimate which of the routes that make up the crossroads the target 20 to be followed will take to move, the robot 10 can reduce the possibility of the target 20 to be followed going out of the field of view of the robot 10, and can reliably track the target 20 by bringing it within the field of view of the robot 10.
[0161] [5. Example of generating control parameters (target position, target posture, target path) for a robot with different viewing angles] Next, an example of generating control parameters (target position, target posture, target route) for a robot having different viewing angles will be described.
[0162] The examples of generating robot control parameters (target position, target posture, target route) described with reference to FIGS. 5 to 13 are parameter generation examples in the case where the robot has a viewing angle (θ) as shown in FIG. The robot viewing angle (θ) shown in FIG. 6 is about θ≈160°, and (θ / 2) shown in FIG. 6 is about 80°.
[0163] The viewing angle of the robot 10 varies, and the follow-up target & branch point corresponding robot control parameter determiner 122 generates different robot control parameters (target position, target posture, target route) according to the robot viewing angle. That is, the process executed by the follow-up target & branching-compatible robot control parameter determiner 122 described above with reference to the flowchart shown in FIG. 4 varies depending on the robot viewing angle.
[0164] Hereinafter, with reference to FIG. 14 and subsequent figures, a process in which the robot viewing angle (θ) is a wide viewing angle of about θ≈300°, that is, the process of each step of the flow shown in FIG. 4 will be described in detail.
[0165] In this processing example, the robot 10 has a wide viewing angle (θ) of about θ≈300°, as shown in FIG. A specific example of the robot control parameter (target position, target posture, target route) generation process executed by the follow-up target & branching point corresponding robot control parameter determiner 122 for the robot 10 having a wide viewing angle of about θ≈300° will be described below. Specific examples of the processing of each step of the flow shown in FIG. 4 will be described below with reference to FIG. 14 and subsequent figures.
[0166] (Step S201) First, in step S201, the follow-up target & branch point corresponding robot control parameter determiner 122 of the robot control parameter determiner 120 calculates the direction of the average vector indicating the average direction of each path direction at the branch point.
[0167] The process of step S201 will be described in detail with reference to FIG. The branch shown in FIG. 14 is made up of two routes, route A and route B, which are perpendicular to each other.
[0168] The follow-up target & branch point corresponding robot control parameter determiner 122 first sets, for each of the two paths A and B, a direction vector indicating the direction of each path. The direction vectors of route A and route B are shown in the figure.
[0169] The center direction of the direction vector of route A and the direction vector of route B is calculated as the direction of average vector 301 indicating the average direction of each route direction at the branch point. This average vector 301 is independent of the viewing angle of the robot 10, and the same average vector as the average vector 301 previously described with reference to FIG. 5 is calculated.
[0170] (Step S202) Next, the follow-up target & branch point corresponding robot control parameter determination unit 122 executes the following process in step S202.
[0171] A junction center point indicating the center position of the junction and a center direction line passing through the junction center point and extending in the average direction of each route direction (the direction of the average vector) are calculated. The process of step S202 will also be described with reference to FIG. Like the mean vector 301, the branch center point 302 and center direction line 303 are also independent of the viewing angle of the robot 10, and the branch center point 302 and center direction line 303 are calculated as described above with reference to FIG.
[0172] (Step S203) The process of steps S203 to S204 and the process of step S205 can be executed in parallel. First, the process of step S203 will be described. In step S203, the follow-up target & branch point corresponding robot control parameter determination unit 122 executes the following process.
[0173] A point (junction observation point) on the center direction line 303 where the junction can be observed within the viewing angle of the robot (for example, within the angle of view of an image captured by the robot's camera) is calculated. Note that the junction observation point includes a junction observation point corresponding to an actual corner and a junction observation point corresponding to a pseudo corner.
[0174] This process will be described with reference to FIG. The positions of the actual corner corresponding branch point observation point and the pseudo corner corresponding branch point observation point calculated in step S203 differ depending on the viewing angle of the robot.
[0175] FIG. 15 shows the positions of an actual corner corresponding branch point observation point 313 and a pseudo corner corresponding branch point observation point 316 when the viewing angle (θ) of the robot 10 is θ≈300°.
[0176] These positions are different from the positions of the actual corner-corresponding branch observation point 313 and the pseudo corner-corresponding branch observation point 316 when the viewing angle (θ) described above with reference to FIG. 8 is θ≈160°.
[0177] As described above, the viewing angle of the robot 10 is an angle that the robot 10 can recognize using detection data from a camera or a sensor. For example, when the robot 10 is configured to perform object recognition using only images captured by a camera, the viewing angle corresponds to the angle of view of the image captured by the camera.
[0178] 15 shows the positions of a branching observation point 313 corresponding to an actual corner and a branching observation point 316 corresponding to a pseudo corner when the viewing angle (θ) of the robot 10 is θ≈300°, but the branching observation point 313 corresponding to an actual corner is set outside the routes A and B. This position is one that the robot 10 cannot reach.
[0179] On the other hand, a pseudo corner corresponding branch point observation point 316 is set within the route. The "junction observation point 316 corresponding to a pseudo corner" is an end point on the center direction line 303 that is within the viewing angle θ of the robot 10. In other words, it is calculated as the farthest point on the center direction line 303 (the farthest point from the current position of the robot 10) at which the robot 10 facing the mean vector 301 can recognize the "pseudo corner 315."
[0180] In this way, in step S203, a "junction observation point corresponding to an actual corner" and a "junction observation point corresponding to a pseudo corner" are calculated as points (junction observation points) on the center direction line 303 at which the junction can be observed within the robot's field of view (for example, within the angle of view of an image captured by the robot's camera).
[0181] (Step S204) Next, the follow-up target & branch point corresponding robot control parameter determination unit 122 executes the following process in step S204.
[0182] From the branch center point 302 and each of the branch observation points (the actual corner corresponding branch observation point 313 and the pseudo corner corresponding branch observation point 316), the point closest to the current position of the robot 10 (the branch center & closest point within the observation point) is selected.
[0183] That is, (a) the branch point center point 302 calculated in step S202; (b) Junction observation points calculated in step S203 (junction observation points 313 corresponding to actual corners and junction observation points 316 corresponding to pseudo corners) Of these points, the point closest to the current position of the robot 10 is selected as the "closest point within the branch point center and observation point."
[0184] The process of step S204 will be described with reference to FIG. FIG. 16 shows three points: the branching center point 302 calculated in step S202, a branching observation point corresponding to an actual corner 313 which is a branching observation point calculated in step S203, and a branching observation point corresponding to a pseudo corner 316.
[0185] In step S204, the point closest to the current position of the robot 10 is selected from these three points as the "closest point within the branch point center and observation point." 16, of the three points, the branching observation point corresponding to a real corner 313, and the branching observation point corresponding to a pseudo corner 316, the point closest to the current position of the robot 10 is the branching observation point corresponding to a pseudo corner 316. Therefore, in the example shown in FIG 16, the branching observation point corresponding to a pseudo corner 316 is selected as the "branching center & closest point within observation point 318".
[0186] (Step S205) Next, the process of step S205 in the flow shown in FIG. 4 will be described. As described above, the process of step S205 can be executed in parallel with the processes of steps S203 to S204 described above.
[0187] In step S205, the follow-up target & branch point corresponding robot control parameter determination unit 122 executes the following process.
[0188] A point on the center line that does not contact obstacles such as walls and is closest to the robot's current position (closest non-contact point on the center line) is calculated.
[0189] The process of step S205 will be described with reference to FIG. In FIG. 17, the position where the robot is on the center direction line 303 with the direction of the average vector 301 facing forward and not in contact with any "obstacles such as walls" and is closest to the current position of the robot is shown by a dotted line as the "estimated robot position".
[0190] In step S205, the "estimated robot position" shown by the dotted line in Fig. 17 is calculated. That is, the position on the center direction line 303 where the robot is not in contact with "an obstacle such as a wall" with its posture with the mean vector 301 direction as the forward direction is calculated as the closest non-contact point on the center direction line 321.
[0191] It should be noted that the process of step S205 is independent of the viewing angle of the robot 10 and is therefore the same as the process previously described with reference to FIG.
[0192] (Step S206) Next, the process of step S206 in the flow shown in FIG. 4 will be described. The process of step S206 is executed after the processes of steps S203 to S204 and the process of step S205 described above are completed.
[0193] In step S206, the follow-up target & branch point corresponding robot control parameter determination unit 122 executes the following process. From the closest point within the center of the fork and the observation point, and the closest non-contact point on the center direction line, the point farthest from the robot's current position is selected, and the selected point is set as the target position.
[0194] That is, (a) The closest point 318 within the intersection center and observation point calculated in step S204; (b) The closest non-contact point 321 on the line toward the center calculated in step S205; Of these two points, the point farthest from the current position of the robot 10 is selected, and the selected point is set as the target position.
[0195] This process will be described with reference to FIG. In Figure 18, (a) The closest point 318 within the intersection center and observation point calculated in step S204; (b) The closest non-contact point 321 on the line toward the center calculated in step S205; These two points are shown. In step S206, from these two points, the point farthest from the current position of the robot 10 is selected, and the selected point is set as the target position.
[0196] In the example shown in Figure 18, among the closest point 318 within the branch point center & observation point and the closest non-contact point 321 on the center direction line, the point farthest from the current position of the robot 10 is the closest non-contact point 321 on the center direction line, and this closest non-contact point 321 on the center direction line is selected as the "target position".
[0197] (Step S207) Next, the process of step S207, which is the final step of the flow shown in FIG. 4, will be described.
[0198] In step S207, the follow-up target & branch point corresponding robot control parameter determination unit 122 executes the following process. The robot control parameters (target position, target posture, and target route) are generated with "target position = selected point" and "target posture = average vector direction."
[0199] A specific example of the process in step S207 will be described with reference to FIGS. FIG. 19 shows the target position 331 determined in step S206. In step S207, first, the target attitude is determined to be the direction of the average vector 301 calculated in step S201.
[0200] In step S207, a target route is determined based on these target positions and target attitudes. FIG. 20 shows a target position 331, a target attitude 332, and a target path 333 determined in step S207.
[0201] As shown in FIG. 20, the target position 331 is the point selected in step S206, that is, the selected point selected from the closest point 318 within the branch point center and observation point and the closest non-contact point 321 on the center direction line. The target attitude 332 is set to the direction of the average vector 301 calculated in step S201.
[0202] The target route 333 is a route for setting the "target attitude 332 = mean vector direction" at the "target position 331." As described above, the route can be generated using existing route generation algorithms such as "Hybrid A*" and DWA (Dynamic Window Approach), or by applying machine learning data.
[0203] The processes described above with reference to FIGS. 14 to 20 are specific examples of processes in the case where the robot viewing angle (θ) is a wide viewing angle of about θ≈300°. In this way, the processing of the present disclosure is capable of processing that corresponds to various robot viewing angles.
[0204] In either case, when the robot 10 is unable to estimate which of the routes that make up the fork in the road the target 20 to be followed will take to move, the robot 10 is able to reduce the possibility of the target 20 to be followed going out of the field of view of the robot 10, thereby enabling the robot 10 to reliably track the target 20 by bringing it within the field of view of the robot 10.
[0205] [6. Examples of processing according to various crossroads configurations and robot viewing angles] Next, various branch configurations and processing examples according to the robot's viewing angle will be described.
[0206] The above embodiment is a processing example in which the branch is formed by routes A and B that intersect at right angles, and the robot viewing angle (θ) is θ=160° and θ≈300°. However, in reality, there are various configurations of the crossroads, and various settings of the robot's viewing angle (θ) are also assumed.
[0207] In the following, examples of processing according to variations in the branching configuration and the robot's viewing angle will be described. FIG. 21 is a diagram showing an example of a branch point that is made up of three routes A, B, and C. In FIG. In addition, the viewing angle (θ) of the robot 10 is approximately θ≈120°. In setting this branching configuration and the robot viewing angle (θ), the positions and routes shown in FIG. 21 are set by executing the process according to the flow shown in FIG. 4 described above.
[0208] The average vector 401 has the average direction of the routes A, B, and C as its vector direction, and in the example shown in the figure, the vector coincides with the direction of the route A. A branch center point 402 is set at the intersection of the center lines of routes A, B, and C. The center direction line 403 is set as a straight line that passes through the branch point 402 and extends in the direction of the average vector 401 .
[0209] In step S203 of the flow shown in FIG. 4, an actual corner corresponding branch point observation point and a pseudo corner corresponding branch point observation point are calculated. Furthermore, in step S204, the pseudo-corner corresponding branch point observation point 413 shown in FIG.
[0210] 21, since the center direction line 403 is a straight line passing through the center position of the path A, the robot 10 does not come into contact with an obstacle such as a wall at any position on the center direction line 403. Therefore, the closest non-contact point on the center direction line calculated in step S205 of the flow shown in FIG 4 is calculated as a position equivalent to the current position of the robot.
[0211] In step S206, the “pseudo corner corresponding branch point observation point 413” selected in steps S203 to S204 is selected as the target position 431. Moreover, the direction of the average vector 401 set in step S201 is set as a target attitude 432. Furthermore, at the target position 431, a target path 433 for setting a target attitude 432 is generated by applying an existing algorithm.
[0212] By driving the robot 10 according to the robot control parameters (target position, target posture, target path) generated by these processes, it becomes possible to track the target while keeping it within the robot's field of view without losing sight of it.
[0213] In the example shown in Figure 22, the fork is configured as a T-junction. That is, the path A along which the robot is proceeding comes to an end, and paths B and C exist at right angles to each other at the T-junction. In addition, the viewing angle (θ) of the robot 10 is, for example, about θ≈300°. In setting this branching configuration and the robot viewing angle (θ), the positions and routes shown in FIG. 22 are set by executing the process according to the flow shown in FIG. 4 described above.
[0214] The average vector 451 has the average direction of routes B and C as its vector direction, and in the example shown in the figure, it is a vector that coincides with the direction of route A. A branch center point 452 is set at the intersection of the center lines of routes A, B, and C. The center direction line 453 is set as a straight line that passes through the branch center point 452 and extends in the direction of the average vector 451 .
[0215] In step S203 of the flow shown in FIG. 4, an actual corner corresponding branch point observation point 453 and a pseudo corner corresponding branch point observation point 456 are calculated. Furthermore, in step S204, the pseudo-corner corresponding branch point observation point 456 shown in FIG.
[0216] In the configuration shown in FIG. 22 as well, the closest non-contact point on the center direction line calculated in step S205 of the flow shown in FIG. 4 is calculated as a position equivalent to the current robot position.
[0217] In step S206, the “pseudo corner corresponding branch point observation point 456” selected in steps S203 to S204 is selected as the target position 481. Moreover, the direction of the average vector 451 set in step S201 is set as a target attitude 482. Furthermore, at the target position 481, a target path 483 for setting a target attitude 482 is generated by applying an existing algorithm.
[0218] By driving the robot 10 according to the robot control parameters (target position, target posture, target path) generated by these processes, it becomes possible to track the target while keeping it within the robot's field of view without losing sight of it.
[0219] [7. Configuration Examples of the Mobile Device and Information Processing Device of the Present Disclosure] Next, configuration examples of the mobile device and information processing device of the present disclosure will be described.
[0220] The mobile device of the present disclosure includes not only the robot 10 described in the above-mentioned embodiment, but also various other mobile devices such as autonomous vehicles and drones.
[0221] In addition, the calculation of robot control parameters (target position, target posture, target path) and the control of the moving device (robot, etc.) may be performed by a data processing unit of an information processing device provided inside the moving device such as the robot 10, or by an external information processing device capable of communicating with the robot.
[0222] 23 is a diagram showing an example of the configuration of a mobile device 500 when the mobile device, such as the robot 10, calculates the robot control parameters (target position, target posture, target route) and controls the mobile device by itself. That is, it is a diagram showing an example of the configuration of a mobile device 500 when an information processing device provided inside the mobile device calculates the robot control parameters (target position, target posture, target route) and controls the mobile device.
[0223] FIG. 24 is a diagram showing an example configuration of a mobile device 500 and a user terminal 700 when a user terminal capable of communicating with the mobile device, such as a controller, PC, or smartphone, calculates robot control parameters (target position, target posture, target path) and controls the mobile device.
[0224] First, with reference to FIG. 23, a configuration example of a mobile device 500 in which the mobile device alone calculates robot control parameters (target position, target posture, target path) and controls the mobile device will be described.
[0225] As shown in FIG. 23, a mobile device 500 includes a camera 501, a sensor 502, a data processing unit 503, a position information acquisition unit 504, an input unit 505, an output unit 506, a communication unit 507, and a storage unit (memory) 508.
[0226] The camera 501 captures images in the traveling direction of the mobile device 500 and images of a target to be followed. The sensor 502 is an object detection sensor configured by, for example, LiDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging) or the like. It measures the distance to an obstacle, etc. Note that the sensor 502 is not limited to LiDAR, and may be, for example, a stereo camera, a ToF sensor, an ultrasonic sensor, a radar, a sonar, etc.
[0227] The data processing unit 503 executes the processes according to the above-mentioned embodiment, that is, calculation of the robot control parameters (target position, target posture, target path) and the moving device control process.
[0228] The robot control parameter determination unit 120, the robot driving information generation unit 131, and the like, which are the main components of the moving device (robot) 100 described above with reference to FIG.
[0229] The data processing unit 503 includes a processor such as a CPU having a program execution function, and executes processes according to the flowcharts described in the above-mentioned embodiments. The program is stored in the memory unit 508.
[0230] The location information acquisition unit 504 communicates with, for example, a GPS satellite 600, analyzes the current location (latitude, longitude, altitude) of the mobile device 500 based on communication information with the GPS satellite 600, and outputs the analysis information to the data processing unit 503.
[0231] The input unit 505 is, for example, a unit operated by a user, and is used for various processes, for example, input processing of user requests such as starting and stopping driving. The output unit 506 includes an audio output unit, an image output unit, and the like. A communication unit 507 executes communication with a user terminal and an external server.
[0232] The storage unit (memory) 508 is used as a storage area and a work area for the programs executed by the data processing unit 503. It is also used as a storage area for various parameters applied to the processing. The storage unit (memory) 106 is composed of a RAM, a ROM, etc.
[0233] Next, referring to FIG. 24, we will explain the configuration of the mobile device 500 and the user terminal 700 when calculating robot control parameters (target position, target posture, target path) and controlling the mobile device in a user terminal capable of communicating with the mobile device, such as a controller, PC, or smartphone.
[0234] The moving device 500 has a configuration similar to that described with reference to FIG. It communicates with the user terminal 700 via the communication unit 507 .
[0235] The following describes the configuration of the user terminal 700. As shown in the figure, the user terminal 700 has a data processing unit 701, a storage unit (memory) 702, a communication unit 703, an input unit 704, an output unit 705, and a display unit 706.
[0236] The data processing 701 calculates the robot control parameters (target position, target posture, target route) of the mobile device 500, controls the mobile device, and performs other processes.
[0237] The processing executed by the robot control parameter determination unit 120, the robot driving information generation unit 131, and the like, which are the main components of the moving apparatus (robot) 100 described above with reference to FIG.
[0238] The data processing unit 701 of the user terminal 700 calculates robot control parameters (target position, target posture, target path), generates mobile device control information based on the calculation results, and transmits it to the mobile device 500 via the communication unit 703. The mobile device 500 moves according to the control information received from the user terminal 700 .
[0239] The data processing unit 701 includes a processor such as a CPU having a program execution function, and executes processes according to the flowcharts described in the above-mentioned embodiments. The program is stored in the memory unit 702 .
[0240] The storage unit (memory) 702 is used as a storage area and a work area for the programs executed by the data processing unit 701. It is also used as a storage area for various parameters applied to the processing. The storage unit (memory) 204 is composed of a RAM, a ROM, etc. The communication unit 703 executes communication with the mobile device 500 and an external server.
[0241] The input unit 704 is a unit operated by the user, and is used for various processes, for example, input processing of user requests such as starting and ending control of the mobile device 500, and the like. The output unit 705 includes an audio output unit, an image output unit, and the like.
[0242] The display unit 706 is used to display images captured by the camera of the mobile device 500, maps stored in the memory unit 702, route information generated by the data processing unit 701, and the like.
[0243] [8. Summary of the Configuration of the Present Disclosure] The embodiments of the present disclosure have been described in detail above with reference to specific embodiments. However, it is obvious that a person skilled in the art can modify or substitute the embodiments without departing from the gist of the present disclosure. In other words, the present invention has been disclosed in the form of an example, and should not be interpreted as being limited. In order to judge the gist of the present disclosure, the claims should be taken into consideration.
[0244] The technology disclosed in this specification can have the following configurations. (1) The mobile device has a control parameter determination unit that determines a control parameter for tracking a target object, The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, an information processing device that calculates a target position for bringing the target object into the viewing angle of a mobile device and a target attitude at the target position, and generates control parameters including the calculated target position and target attitude;
[0245] (2) The control parameter determination unit The information processing device according to (1) calculates a target position that allows the target to be within the field of view of a mobile device regardless of which of multiple routes that make up the branching point the target is selected to move to, and a target attitude at the target position.
[0246] (3) The control parameter determination unit The information processing device according to (1) or (2), further comprising: a target path for setting the target attitude at the target position based on the calculated target position and target attitude.
[0247] (4) The control parameter determination unit Calculating an average vector indicating an average direction of each of the multiple routes constituting the branch; The information processing device according to any one of (1) to (3), wherein a direction of the calculated average vector is set as the target attitude.
[0248] (5) The control parameter determination unit Calculating an intersection point of center lines of each of the multiple routes that make up the branch as a branch center point; A line passing through the calculated branch point center point and parallel to the average vector is calculated as a center direction line; The information processing device according to (4) above calculates a position on the calculated center direction line as the target position.
[0249] (6) The control parameter determination unit As the candidate for the target position, The information processing device according to (5) calculates an end point where a real corner, which is an actual corner area constituting the fork and is located on the center direction line, falls within the field of view of the mobile device as a fork observation point corresponding to the real corner.
[0250] (7) The control parameter determination unit The moving device is located on the center line, and When the mobile device is pointing in the direction of the mean vector, The information processing device according to (6), wherein an end point of the actual corner that is within a viewing angle of the mobile device is calculated as a branch observation point corresponding to the actual corner.
[0251] (8) The control parameter determination unit The information processing device according to (7), further comprising: acquiring viewing angle data of the mobile device in advance; and calculating the actual corner-corresponding branch point observation point based on the acquired viewing angle data.
[0252] (9) The control parameter determination unit As the candidate for the target position, The information processing device according to (8) calculates an end point of a pseudo corner located on the center direction line, which is an intersection point between an auxiliary line extended from the actual corner and a route end face, within the field of view of the mobile device as a pseudo corner corresponding branch point observation point.
[0253] (10) The control parameter determination unit The information processing device according to (9), wherein a point closest to a current position of the mobile device from among the branch point center point, the branch observation point corresponding to the actual corner, and the branch observation point corresponding to the pseudo corner is selected as the closest point within the branch center and observation point.
[0254] (11) The control parameter determination unit The information processing device according to (10), wherein a point located on the center direction line, not in contact with an obstacle, and closest to a current position of the mobile device is calculated as the closest non-contact point on the center direction line.
[0255] (12) The control parameter determination unit The information processing device according to (11), wherein the target position is calculated based on the closest point within the branch point center and observation point and the closest non-contact point on the center direction line, and the farthest point from the current position of the mobile device.
[0256] (13) The information processing device, The information processing device according to any one of (1) to (12), which is provided in the mobile device.
[0257] (14) The information processing device, The information processing device according to any one of (1) to (12), which is an information processing device capable of communicating with the mobile device.
[0258] (15) An information processing system including a mobile device and an information processing device capable of communicating with the mobile device, The information processing device includes: a control parameter determination unit that determines a control parameter for the moving device to follow a target object; The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, Calculating a target position for placing the target object within a viewing angle of a mobile device and a target attitude at the target position, and generating control parameters including the calculated target position and target attitude; The moving device is an information processing system that moves according to control parameters including a target position and a target attitude generated by the information processing device.
[0259] (16) An information processing method executed in an information processing device, the information processing device has a control parameter determination unit that determines a control parameter for the mobile device to follow a target to be followed, The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, An information processing method for calculating a target position for bringing the target object into the viewing angle of a mobile device and a target attitude at the target position, and generating control parameters including the calculated target position and target attitude.
[0260] (17) An information processing method executed in an information processing system having a mobile device and an information processing device capable of communicating with the mobile device, The information processing device, a control parameter determination unit that determines a control parameter for the moving device to follow a target object; The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, Calculating a target position for placing the target object within a viewing angle of a mobile device and a target attitude at the target position, and generating control parameters including the calculated target position and target attitude; An information processing method in which the mobile device moves according to control parameters including a target position and a target attitude generated by the information processing device.
[0261] (18) A program for causing an information processing device to execute information processing, the information processing device has a control parameter determination unit that determines a control parameter for the mobile device to follow a target to be followed, The program further comprises: When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, A program for calculating a target position for bringing the target object into the viewing angle of the mobile device and a target attitude at the target position, and generating control parameters including the calculated target position and target attitude.
[0262] In addition, the series of processes described in the specification can be executed by hardware, software, or a combination of both. When executing processes by software, a program recording the processing sequence can be installed and executed in a memory in a computer built into dedicated hardware, or the program can be installed and executed in a general-purpose computer capable of executing various processes. For example, the program can be pre-recorded on a recording medium. In addition to installing the program from the recording medium to the computer, the program can be received via a network such as a LAN (Local Area Network) or the Internet, and installed on a recording medium such as a built-in hard disk.
[0263] In addition, the various processes described in the specification may not only be executed in chronological order as described, but may also be executed in parallel or individually depending on the processing capacity of the device executing the processes or as necessary. Furthermore, in this specification, a system refers to a logical collective configuration of multiple devices, and is not limited to devices in the same housing. [Industrial Applicability]
[0264] As described above, according to the configuration of one embodiment of the present disclosure, an apparatus and method are realized that prevent an object being tracked by a mobile device from going out of view at a crossroads, enabling reliable tracking. Specifically, for example, when the control parameter determination unit of the mobile device cannot determine which of a plurality of routes that constitute a branch point the target to follow will move along, it calculates a target position for bringing the target into the viewing angle of the mobile device and a target attitude at the target position, and generates control parameters including the calculated target position and target attitude. The control parameter determination unit calculates a position and attitude that allows the target to be within the viewing angle of the mobile device regardless of which route the target to be followed moves along. This configuration realizes an apparatus and method that prevents an object being tracked by a mobile device from going out of view at a crossroads, enabling reliable tracking. [Explanation of symbols]
[0265] 10. Robot 20 Follow-up target 100 Mobile device (robot) 110 Environmental Awareness Department 111 Branching detection unit 112 Tracking target detection unit 120 Robot control parameter determination unit 121 Robot control parameter determination algorithm switching unit 122 Robot control parameter determination unit for tracking target and crossroads 123 Robot control parameter determination unit for tracking target 131 Robot Driving Information Generation Unit 132 Robot Drive Unit 500 Mobile Device 501 Camera 502 Sensors 503 Data Processing Unit 504 Location information acquisition unit 505 Input section 506 Output section 507 Communications Department 508 Memory 600 GPS satellites 700 User terminals 701 Data Processing Unit 702 Memory unit (memory) 703 Communications Department 704 Input section 705 Output section 706 Display section
Claims
1. a control parameter determination unit that determines a control parameter for the mobile device to track the target, The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, Calculating a target position for placing the target object within a viewing angle of a mobile device and a target attitude at the target position, and executing a process of generating control parameters including the calculated target position and target attitude; In the calculation process of the control parameters, An information processing device that calculates a target position that allows the target to be within the field of view of a mobile device regardless of which of the multiple routes that make up the branching path the target selects to move through, and a target attitude at the target position.
2. A control parameter determination unit that determines control parameters for the mobile device to track the target, The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, Calculating a target position for placing the target object within a viewing angle of a mobile device and a target attitude at the target position, and executing a process of generating control parameters including the calculated target position and target attitude; In the calculation process of the control parameters, Calculating an average vector indicating an average direction of each of the multiple routes constituting the branch; An information processing device that calculates the direction of the calculated average vector as the target attitude.
3. The control parameter determination unit 3. The information processing apparatus according to claim 1, wherein a target path for setting the target attitude at the target position is calculated based on the calculated target position and target attitude.
4. The control parameter determination unit Calculating an intersection point of center lines of each of the multiple routes that make up the branch as a branch center point; A line passing through the calculated branch point center point and parallel to the average vector is calculated as a center direction line; The information processing apparatus according to claim 2 , wherein a position on the calculated center direction line is calculated as the target position.
5. The control parameter determination unit As the candidate for the target position, 5. The information processing apparatus according to claim 4, wherein an end point where an actual corner, which is an actual corner area constituting the intersection and is located on the center direction line, falls within a viewing angle of the mobile device is calculated as an intersection observation point corresponding to the actual corner.
6. The control parameter determination unit The moving device is located on the center line, and When the mobile device is pointing in the direction of the mean vector, The information processing apparatus according to claim 5 , wherein an end point of the actual corner that is within a viewing angle of the mobile device is calculated as a branch observation point corresponding to the actual corner.
7. The control parameter determination unit The information processing apparatus according to claim 6 , further comprising: acquiring viewing angle data of the mobile device in advance; and calculating the actual corner-corresponding intersection observation point based on the acquired viewing angle data.
8. The control parameter determination unit As the candidate for the target position, The information processing device according to claim 7, wherein a pseudo corner, which is located on the center direction line and is an intersection point between an auxiliary line extended from the actual corner and a route end face, is calculated as a pseudo corner corresponding branch point observation point by calculating an end point within the field of view of the mobile device.
9. The control parameter determination unit The information processing apparatus according to claim 8 , wherein a point closest to a current position of the mobile device is selected from the branch point center point, the branch observation point corresponding to the actual corner, and the branch observation point corresponding to the pseudo corner as the closest point within the branch center and observation point.
10. The control parameter determination unit The information processing device according to claim 9 , wherein a point that is located on the center direction line, does not contact an obstacle, and is closest to a current position of the mobile device is calculated as the closest non-contact point on the center direction line.
11. The control parameter determination unit The information processing device according to claim 10 , wherein the target position is calculated by taking the point farthest from the current position of the mobile device from two points, the closest point within the branch point & observation point and the closest non-contact point on the center direction line.
12. The information processing device includes:
3. The information processing device according to claim 1, wherein the information processing device is provided within the mobile device.
13. The information processing device includes: The information processing device according to claim 1 or 2, which is capable of communicating with the mobile device.
14. An information processing system including a mobile device and an information processing device capable of communicating with the mobile device, The information processing device includes: a control parameter determination unit that determines a control parameter for the moving device to follow a target object; The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, Calculating a target position for placing the target object within a viewing angle of a mobile device and a target attitude at the target position, and executing a process of generating control parameters including the calculated target position and target attitude; In the calculation process of the control parameters, execute a process of calculating a target position where the target to be tracked can be placed within a viewing angle of a moving device and a target attitude at the target position regardless of which route of the multiple routes constituting the branching path the target to be tracked moves on; The moving device is an information processing system that moves according to control parameters including a target position and a target attitude generated by the information processing device.
15. An information processing method executed in an information processing device, the information processing device has a control parameter determination unit that determines a control parameter for the mobile device to follow a target to be followed, The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, Calculating a target position for placing the target object within a viewing angle of a mobile device and a target attitude at the target position, and executing a process of generating control parameters including the calculated target position and target attitude; In the calculation process of the control parameters, An information processing method for calculating a target position that allows the target to be within the field of view of a mobile device regardless of which of multiple routes that make up the branching point the target is selected to move through, and a target attitude at the target position.
16. An information processing method executed in an information processing system having a mobile device and an information processing device capable of communicating with the mobile device, The information processing device, a control parameter determination unit that determines a control parameter for the moving device to follow a target object; The control parameter determination unit When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, Calculating a target position for placing the target object within a viewing angle of a mobile device and a target attitude at the target position, and executing a process of generating control parameters including the calculated target position and target attitude; In the calculation process of the control parameters, execute a process of calculating a target position where the target to be tracked can be placed within a viewing angle of a moving device and a target attitude at the target position regardless of which route of the multiple routes constituting the branching path the target to be tracked moves on; An information processing method in which the mobile device moves according to control parameters including a target position and a target attitude generated by the information processing device.
17. A program for causing an information processing device to execute information processing, the information processing device has a control parameter determination unit that determines a control parameter for the mobile device to follow a target to be followed, The program further comprises: When it is not possible to determine which of a plurality of routes constituting a branch point the target to follow is to select and move, Calculating a target position for placing the target object within a viewing angle of a mobile device and a target attitude at the target position, and executing a process of generating control parameters including the calculated target position and target attitude; In the calculation process of the control parameters, A program for calculating a target position that allows the target to be within the field of view of a mobile device regardless of which of the multiple routes that make up the branching path the target selects to move along, and a target attitude at the target position.
Citation Information
Patent Citations
Autonomous mobile device
JP2007199965A
Robot control apparatus and method
JP2009020749A
Autonomous moving robot device and control method for autonomous moving robot device
JP2010015194A
Follow-up carriage system
JP2014092862A
Autonomous traveling carriage
JP2019204414A