Information processing apparatus, information processing method, and information processing program
Patent Information
- Application Number
- CN202580015773.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-02-26
- Filing Date
- 2025-02-14
- Publication Date
- 2026-09-25
AI Technical Summary
[0003]然而,与检测单元的位置和取向相关的参数的测量值由于组装误差、振动、老化劣化等而相对于设计值具有误差
[0013]为了解决上述问题,根据本公开内容的实施方式的信息处理装置包括:移动控制单元,其被配置成使移动体移动;获取单元,其被配置成获取多条检测信息,在所述多条检测信息中,在由移动控制单元使移动体移动的同时由设置在移动体中的多个检测单元中的每一个检测相同检测目标;以及设置单元,其被配置成基于由获取单元获取的检测信息来设置多个检测单元中的检测单元的参数。
Smart Images

Figure CN122826601A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to information processing apparatus, information processing methods, and information processing procedures. Background Technology
[0002] Detection units can be incorporated into mobile bodies such as robots. For example, in legged robots that include legs, distance measurement sensors (such as light detection and ranging (LiDAR) sensors) capable of detecting targets such as objects at high density can be incorporated as detection units.
[0003] However, the measured values of parameters related to the position and orientation of the detection unit are inaccurate relative to the design values due to assembly errors, vibration, aging, and other factors. This error has a significant impact on the entire device, including moving parts. Therefore, there is a need for techniques for accurately setting these parameters, such as calibration techniques to reduce errors.
[0004] Known calibration techniques include: extracting specific reference points from detection information acquired by a detection unit installed in a vehicle, and setting the parameters of the detection unit based on the detection target detected according to that reference point.
[0005] Citation List
[0006] Patent documents
[0007] PTL 1: JP 2023-4964 A Summary of the Invention
[0008] Technical issues
[0009] Using known techniques, calibration can typically be performed by removing noise based on feature points of the target being detected, correcting distortion, and optimizing parameters based on multiple detection data.
[0010] However, when placing detection units within a moving body as in known techniques, calibration may be impossible without the use of special components. For example, when placing detection units such as LiDAR with a narrow field of view (FOV) in a legged robot, the detection units face the ground, and the detection ranges are unlikely to overlap, making calibration based on the detection target impossible. This is because, unlike when the detection units are placed on an arm whose orientation can change, the detection units face the ground, and therefore, only the ground or objects on the ground with a few feature points can be detected, and the detection ranges typically do not overlap. Therefore, it is impossible to detect the same target.
[0011] Therefore, this disclosure presents an information processing apparatus, information processing method, and information processing procedure that can perform calibration without the need for special components, even when the detection unit is located in a moving body.
[0012] Solution to the problem
[0013] To address the aforementioned problems, an information processing apparatus according to embodiments of this disclosure includes: a motion control unit configured to move a mobile body; an acquisition unit configured to acquire multiple pieces of detection information, wherein the same detection target is detected by each of a plurality of detection units disposed in the mobile body while the mobile control unit moves the mobile body; and a setting unit configured to set parameters of the detection units among the plurality of detection units based on the detection information acquired by the acquisition unit. Attached Figure Description
[0014] [ Figure 1 Figure (1) shows an overview of an information processing system according to an embodiment.
[0015] [ Figure 2 Figure (2) shows an overview of the information processing system according to an embodiment.
[0016] [ Figure 3 [ ] is a block diagram illustrating an example configuration of an information processing apparatus according to an embodiment.
[0017] [ Figure 4 [ ] is a diagram used to describe the setting process according to the implementation method;
[0018] [ Figure 5 ] is a graph used to describe motion distortion.
[0019] [ Figure 6 [ ] is a diagram used to describe motion distortion correction based on motion information.
[0020] [ Figure 7 Figure (1) illustrates an example of the setup process according to the implementation method.
[0021] [ Figure 8 Figure (2) shows an example of the setting process according to the implementation method.
[0022] [ Figure 9 Figure (3) shows an example of the setting process according to the implementation method.
[0023] [ Figure 10 Figure (4) shows an example of the setting process according to the implementation method.
[0024] [ Figure 11 [ ] is a flowchart illustrating an example of an information processing procedure according to an implementation method.
[0025] [ Figure 12[Illustration 1] is a diagram illustrating an example hardware configuration of a computer that implements the functions of an information processing apparatus according to this disclosure. Detailed Implementation
[0026] In the following description, embodiments will be described in detail with reference to the accompanying drawings. Note that in the following embodiments, the same reference numerals are assigned to the same parts, and therefore redundant descriptions will be omitted.
[0027] The contents of this disclosure will be described in the following order.
[0028] 1. Implementation Method
[0029] 1-1. Overview of the information processing system according to the implementation method
[0030] 1-2. Configuration of the information processing device according to the embodiment
[0031] 1-3. Specific examples of the setting process according to the implementation method
[0032] 1-4. Information processing procedure according to the implementation method
[0033] 1-5. Modifications to the Implementation Method
[0034] 2. Other implementation methods
[0035] 3. The effects of the information processing device based on the content of this disclosure.
[0036] 4. Hardware Configuration
[0037] 1. Implementation Method
[0038] 1-1. Overview of the information processing system according to the implementation method
[0039] In the following text, we will use Figure 1 The examples described herein provide an overview of the information processing system according to the implementation method. Figure 1 Figure (1) shows an overview of an information processing system according to an embodiment. The information processing system includes an information processing device 100, a mobile body 200, a terminal 300, and a user 400.
[0040] The information processing device 100 is integrally formed with the mobile body 200 and is a control device (e.g., a computer) that controls the movement of the mobile body 200, which is a legged robot or the like capable of autonomous movement. The mobile body 200 includes multiple detection units 210, which are distance measurement sensors such as LiDAR, depth cameras, and stereo cameras, that scan and detect targets and acquire detection information such as point cloud data.
[0041] The detection units 210 are individually positioned on the front and rear sides, or left and right sides, of the moving body 200. This ensures a wide overall detection range for the moving body 200, even if the detection range (e.g., FOV) of each individual detection unit 210 is narrow. The detection units 210 are positioned downwards so that the ground or floor surface is included within the detection range of each of the detection units 210. The detection units 210 are fixed to the moving body 200.
[0042] The detection unit 210 is positioned or oriented such that the detection ranges of the detection units 210 do not overlap when the moving body 200 is stationary. Specifically, the first detection unit 211 and the second detection unit 212 are positioned such that the detection range 501 of the first detection unit 211 and the detection range 502 of the second detection unit 212 do not overlap when the moving body 200 is stationary.
[0043] Terminal 300 is a personal computer (PC) or similar device that displays information, user interface (UI), etc., on a display unit such as a monitor. Terminal 300 exchanges information with information processing device 100 and presents the information to user 400. The information provided is information related to at least one of the processing or results of parameter settings and is represented as text information to notify user 400 whether there is a problem in the processing or results of parameter settings.
[0044] User 400 is the administrator, operator, etc. of mobile device 200. User 400 inputs command information related to commands for information processing device 100 to terminal 300, and receives information from information processing device 100 via terminal 300.
[0045] As described above, the mobile body 200, such as a legged robot, is equipped with a distance measurement sensor (e.g., LiDAR) as a detection unit 210 capable of detecting targets such as objects at high density. However, the measured values of parameters related to the position and orientation of the detection unit 210 have errors relative to the design values due to assembly errors, vibration, aging degradation, etc. This error has a significant impact on the entire device, such as the mobile body 200. Therefore, there is a need for techniques for accurately setting parameters, such as calibration techniques to reduce errors.
[0046] However, when the mobile body 200 is equipped with a detection unit 210, such as a LiDAR with a narrow field of view (FOV), calibration is difficult to perform because the detection units 210 face the ground and their detection ranges are unlikely to overlap. Specifically, as... Figure 1As shown, when the detection unit 210 is set at a position where the detection range 501 of the first detection unit 211 and the detection range 502 of the second detection unit 212 do not overlap when the moving body 200 is stationary, and is fixed to the moving body 200, it is difficult to perform calibration based on the detection target.
[0047] This is because, unlike cases where the detection unit is positioned on an arm with variable orientation, the detection unit 210 faces the ground, and therefore can only detect the ground or objects on the ground with a small number of feature points, and the detection ranges typically do not overlap. Consequently, it is impossible to detect the same target.
[0048] Therefore, the information processing apparatus 100 according to this disclosure is designed to perform calibration without the need for special components, even when the detection unit 210 is installed in the moving body 200, and performs the following information processing. The information processing apparatus 100 moves the moving body 200 while each of the plurality of detection units 210 installed in the moving body 200 detects the same detection target. The information processing apparatus 100 sets the parameters of the detection unit 210 based on the multiple detection information detected by the detection unit 210, and provides the information to the terminal 300 and the user 400.
[0049] Reference Figure 1 An example of the above information processing is described. User 400 inputs command information to terminal 300 to cause the moving body 200 to move a predetermined amount at a predetermined speed. Terminal 300 sends the command information to information processing device 100.
[0050] The information processing device 100 moves the mobile body 200 based on command information received from the terminal 300. While moving the mobile body 200, the information processing device 100 acquires multiple pieces of detection information and sets the parameters of the detection unit 210 based on this detection information. The information processing device 100 provides information to the terminal 300 and the user 400.
[0051] Now will be used Figure 2 The example describes this in detail. Figure 2 Figure (2) shows an overview of the information processing system according to an embodiment. The moving body 200 includes a moving part 220 corresponding to the leg and is disposed on the ground or floor surface around the first object 601 and the second object 602.
[0052] The information processing device 100 causes the moving body 200 to turn in place or move around the first object 601, so that the first object 601, which is the same detection target, is included in the detection range 501 of the first detection unit 211 and the detection range 502 of the second detection unit 212.
[0053] The information processing device 100 causes the first detection unit 211 and the second detection unit 212 to prioritize the detection of detection targets that are prone to errors, such as box-shaped objects (e.g., cardboard boxes) comprising multiple planes.
[0054] The information processing device 100 enables the first detection unit 211 and the second detection unit 212 to prioritize the detection of such objects as detection targets, and therefore, errors occurring in the vertical direction can be detected more easily compared to the case of detecting cylindrical objects.
[0055] Subsequently, while moving the moving body 200, the information processing device 100 acquires first detection information obtained by scanning the first object 601 using the first detection unit 211 and second detection information obtained by scanning the first object 601 using the second detection unit 212. The information processing device 100 acquires multiple points of cloud data as detection information, each point of cloud data including feature points of the first object 601, which is the detection target.
[0056] The information processing device 100 also acquires movement information related to the movement of the mobile body 200, such as at least one of the position, movement path, or movement amount of the mobile body 200.
[0057] The information processing device 100 acquires its own position estimated by scanning matching, simultaneous localization and mapping (SLAM), inertial measurement unit (IMU), motion quantity, etc., as the position of the moving body 200.
[0058] The information processing device 100 acquires the position and slope of the moving body 200 at each time point as the movement path and movement amount based on the movement amount and speed of the moving body 200 indicated by command information or its estimated own position. The information processing device 100 can acquire the position and slope of the moving body 200 at each time point as the movement path or as the movement amount. The information processing device 100 can also acquire the amount of movement of the moving body 200 from one time point to another as the movement amount, which is calculated based on the position and slope of the moving body 200 at each time point.
[0059] The information processing device 100 performs calibration based on detection information accumulated as the moving body 200 moves, and sets parameters for the first detection unit 211 and the second detection unit 212. At this time, the information processing device 100 performs at least one of the following: noise removal for removing noise from the detection information, parameter optimization based on the detection information, or motion distortion correction for correcting motion distortion caused by the movement of the moving body 200.
[0060] The information processing device 100 sets parameters related to the position or orientation of each of the detection units 210 as parameters. The information processing device 100 also sets parameters for performing coordinate transformation of each point of the point cloud data between the coordinate system based on the position or orientation of each of the detection units 210 and the world coordinate system.
[0061] In the following text, an example of the information processing device 100 performing a process including noise removal, motion distortion correction, and optimization will be described.
[0062] The information processing device 100 removes flying pixels as noise removal from at least one of multiple detection information based on feature points. The information processing device 100 removes feature points of a first object 601 that do not match between the first and second detection information as flying pixels from the detection information. The information processing device 100 is not limited to feature point-based algorithms and can use any noise removal algorithm.
[0063] Subsequently, the information processing device 100 divides the point cloud data into: multiple planar point cloud data where each of the detection units 210 detects the same plane, and multiple object point cloud data where each of the detection units 210 detects the same object. The information processing device 100 performs this division by detecting the planar point cloud data and object point cloud data from the point cloud data using a planar detection algorithm and an object detection algorithm. The information processing device 100 can employ any planar detection algorithm and object detection algorithm.
[0064] Subsequently, the information processing device 100 performs motion distortion correction on the point cloud data based on the motion information. For example, when the information processing device 100 causes the moving body 200 to turn in place, the information processing device 100 performs motion distortion correction on the point cloud data based on the motion information.
[0065] The information processing device 100 performs motion distortion correction based on at least one of the position, movement path, or movement amount of the moving body 200, which is motion information.
[0066] For example, the information processing device 100 calculates the distortion coefficients based on at least one of the position, movement path, or amount of movement of the moving body 200. Then, as motion distortion correction, the information processing device 100 calculates a vector that is the product of the vector of coordinates of each point in the planar point cloud data and the object point cloud data included in the first and second detection information, respectively, and the distortion coefficient matrix. The information processing device 100 sets the vector to the coordinates of each point and performs a coordinate transformation for each point.
[0067] Subsequently, the information processing device 100 performs error minimization optimization based on detection information and movement information including point cloud data. The information processing device 100 minimizes the errors between planar point cloud data and the errors between object point cloud data, and sets parameters to minimize the errors between point cloud data, as optimization.
[0068] For example, the information processing device 100 sets parameters for the first detection unit 211 and the second detection unit 212 such that the total error between the planar point cloud data and the object point cloud data is minimized. The information processing device 100 temporarily sets parameters related to the position or orientation of each of the first detection unit 211 and the second detection unit 212.
[0069] The information processing device 100 also optimizes the movement amount or movement path of the moving body 200 to minimize the error between point cloud data.
[0070] Subsequently, the information processing device 100 determines whether the setting process related to parameter settings has been completed. If the error between multiple detection information is greater than a preset error tolerance value, the information processing device 100 determines that the setting process has not been completed, and sends provision information 700 related to parameter setting process to the terminal 300. The provision information 700 includes the error convergence rate and prompt information.
[0071] The tolerance value is preset by command information given by the information processing device 100 or the user 400. The error convergence rate is obtained by dividing the tolerance value by the error between the detected information, and is expressed as such... Figure 2 "Current:" The text message "Completed" is used to notify the user 400 how much the moving body 200 should move to bring the error to a convergence.
[0072] The prompt information is used to prompt at least one of moving the moving body 200 or detecting a new target, and is also used to advise the user 400 on how to move the moving body 200 and what type of target to detect in order to reduce errors.
[0073] The prompt message is Figure 2 The text message "Please scan the object. Please scan the object with the second distance measurement sensor" prompts the user to move the moving body 200 further and scan the second object 602 with the second detection unit 212.
[0074] like Figure 2As shown, when the information processing device 100 determines that the error has converged to a value equal to or less than the tolerance value, the information processing device 100 sends a prompt message to the terminal 300 to encourage the user to reduce the error. When the information processing device 100 determines that the error cannot converge, the information processing device 100 resets the movement of the moving body 200 and the detection of the target as currently in progress, and sends a prompt message to the terminal 300 to encourage the user to start from the beginning.
[0075] Terminal 300 receives provision information 700 from information processing device 100 and displays the provision information on a monitor. User 400 further moves the moving body 200 based on the provision information 700 and inputs command information to terminal 300 to instruct second detection unit 212 to scan second object 602. Terminal 300 sends the command information to information processing device 100.
[0076] The information processing device 100 repeats the above information processing, and when the error between multiple detection information converges to the tolerance value or smaller, the information processing device 100 determines that the setting process is complete, and sends the provision information related to the parameter setting result to the terminal 300. The terminal 300 receives the provision information from the information processing device 100 and displays the provision information on a monitor.
[0077] If there are no problems with the parameter settings indicated by the information provided related to the parameter settings, user 400 inputs command information for formally setting the command parameters into terminal 300. Terminal 300 sends the command information to information processing device 100. Information processing device 100 formally sets the parameters based on the command information.
[0078] In this way, the information processing device 100 causes the detection unit 210 to move in conjunction with the movement of the moving body 200, so that the detection ranges overlap, thereby enabling the detection unit 210 to detect the same detection target, and sets the parameters of the detection unit 210 based on multiple detection information.
[0079] Therefore, even when the number of feature points of the detected target is small, the information processing device 100 can remove noise by matching feature points of the same detected target in the detection information. The information processing device 100 can perform coordinate transformation by performing motion distortion correction on each point of multiple point cloud data in which the same detected target is detected, and can set parameters to minimize the error between the point cloud data.
[0080] Therefore, even when the detection unit 210 is located within the moving body 200, the information processing device 100 can perform calibration without the need for special components. In other words, the information processing device 100 can mitigate the disadvantages caused by the number of feature points by utilizing the advantage of calibration based on feature points and movement information (calibration can be performed without the need for special components).
[0081] Furthermore, unlike manual or visual calibrations that require millimeter-level adjustments or data verification, or calibrations that require special components, the information processing device 100 can ensure a predetermined accuracy similar to these calibrations without their drawbacks.
[0082] In addition, by performing motion distortion correction, the information processing device 100 can also perform particularly effective calibration for, for example, a legged robot 200 that is prone to three-dimensional swaying and motion distortion even when turning in place.
[0083] 1-2. Configuration of the information processing device according to the embodiment
[0084] Next, we will use Figure 3 The example describes the configuration of the information processing device 100 according to the implementation method. Figure 3 This is a block diagram illustrating an example configuration of an information processing apparatus according to an embodiment. The information processing apparatus 100 includes a communication unit 110, a storage unit 120, and a control unit 130.
[0085] The communication unit 110 is a network interface card (NIC), network interface controller, etc. The communication unit 110 is connected to the network via wired or wireless means and exchanges information with the terminal 300 via the network.
[0086] Storage unit 120 is a semiconductor memory element such as random access memory (RAM) or flash memory, or a storage device such as a hard disk or optical disk. Storage unit 120 stores various types of information such as multiple detection messages and parameters.
[0087] The control unit 130 is implemented by a central processing unit (CPU) or microprocessor unit (MPU) that uses RAM as its working area to execute programs stored in storage unit 120. The control unit 130 is implemented by integrated circuits such as application-specific integrated circuits (ASICs) and field-programmable gate arrays (FPGAs). The control unit 130 controls the information processing device 100. The control unit 130 includes a movement control unit 131, an acquisition unit 132, a setting unit 133, and a providing unit 134.
[0088] The motion control unit 131 moves the moving body 200. The motion control unit 131 moves the moving part 220 of the moving body 200 by a predetermined amount at a predetermined speed indicated by the command information. The motion control unit 131 moves the moving body 200 such that the same detection target is included in the detection range of each of the detection units 210.
[0089] First, the motion control unit 131 causes the moving body 200 to turn in place. If the detection unit 210 does not detect the target, the motion control unit 131 causes the moving body 200 to move within the area surrounding the target. The motion control unit 131 can cause the moving body 200 to perform any movement, such as linear movement, rotational movement, or movement that draws a figure-eight pattern.
[0090] The acquisition unit 132 acquires multiple detection information while the motion control unit 131 moves the moving body 200. The acquisition unit 132 acquires multiple point cloud data as detection information, and the multiple point cloud data includes feature points of the same detection target detected by each detection unit 210.
[0091] The acquisition unit 132 also acquires movement information. The acquisition unit 132 acquires at least one of the position, movement path, or movement amount of the moving body 200 as movement information.
[0092] For example, the acquisition unit 132 acquires its own position estimated by SLAM, IMU, the amount of movement of the mobile body 200, etc., as the position of the mobile body 200. Based on the amount of movement and speed indicated by the command information and the estimated own position, the acquisition unit 132 acquires the position and slope of the mobile body 200 at each time as the movement path and movement amount.
[0093] The setting unit 133 sets the parameters of the detection unit 210 based on the detection information acquired by the acquisition unit 132. The setting unit 133 performs at least one of noise removal, optimization, or motion distortion correction, and sets parameters related to the position or orientation of each of the detection units 210 as parameters.
[0094] Will use Figure 4 The example description sets up the processing. Figure 4 This is a diagram used to describe the setting process according to the implementation method. Figure 4 In the process, noise removal, motion distortion correction, and optimization are performed in sequence.
[0095] In step S1, the setting unit 133 removes flying pixels as noise removal based on the feature points acquired by the acquisition unit 132. The setting unit 133 removes feature points of the first object 601 that do not match between the first detection information and the second detection information as flying pixels from the detection information.
[0096] In step S2, the setting unit 133 performs plane detection using a plane detection algorithm. This plane detection is used to detect planar point cloud data from the point cloud data included in the first detection information and the second detection information, respectively. In step S3, the setting unit 133 performs object detection using an object detection algorithm. This object detection is used to detect object point cloud data from the point cloud data included in the first detection information and the second detection information, respectively. The planar point cloud data is represented as N1, N2, ... The object point cloud data is represented as O1. i O2 i 'i' represents the object's serial number.
[0097] In step S4, the motion control unit 131 and the setting unit 133 perform motion distortion correction based on the motion information acquired by the acquisition unit 132. For example, when the motion control unit 131 causes the moving body 200 to turn in place, the setting unit 133 performs motion distortion correction.
[0098] Reference Figure 5 and Figure 6 An example describing motion distortion correction. Figure 5 It is a graph used to describe motion distortion. Figure 6 This is a diagram used to describe motion distortion correction based on motion information. Here, the detection unit 210 is a LiDAR, and typically outputs a frame of point cloud data, showing the detected targets scanned within 100 ms.
[0099] like Figure 5 As shown, when the moving body 200 is stationary, the position of the LiDAR observation point at the start of the scan is the same as the position of the LiDAR observation point at the end of the scan.
[0100] On the other hand, such as Figure 5 As shown, when the moving body 200 is moving, the absolute position of the LiDAR changes during the scan, and the position of the LiDAR's observation point at the start of the scan differs from the position of the LiDAR's observation point at the end of the scan. Therefore, the coordinate system of the observation point is distorted, resulting in motion distortion. In this regard, the setting unit 133 performs motion distortion correction based on at least one of the position, movement path, or movement amount of the moving body 200 acquired by the acquisition unit 132.
[0101] exist Figure 6 In the process, the setting unit 133 performs motion distortion correction on the motion distortion generated in a single scan based on its own position as the position of the moving body 200 using the backpropagation algorithm.
[0102] The setting unit 133 is based on its own position "x" at time j. j u j",0" and the time interval between each observation point of LiDAR in a single scan. The weights are calculated as " (x) j u j ,0)”.f(x) j u j ,0) is a function based on its own position.
[0103] Subsequently, unit 133 calculates the vector "Xj" of each coordinate of each point corresponding to each observation point of LiDAR in the planar point cloud data and object point cloud data, along with the weight matrix " (x) j u j The product of ",0)" is used as motion distortion correction. The setting unit 133 sets the vector to the coordinates of each point and performs coordinate transformation for each point.
[0104] Again Figure 4 The following description will be provided. As another example, the setting unit 133 performs motion distortion correction based on the motion path (motion amount). In the following, the following case will be described: as shown in the following equation (1), the motion path is determined by the pose x of the moving body 200 at each time. i The pose x of the moving body 200 at each time point is configured as shown in equation (2) below. i The position t of the moving body 200 at each time point i and slope R i constitute.
[0105] [Mathematical Expression 1]
[0106]
[0107] [Mathematical Expression 2]
[0108]
[0109] Setting unit 133 calculates the following vector, which is a vector of the coordinates of each point at time t in the planar point cloud data and object point cloud data acquired for each scan of LiDAR, and the movement path T at time t. t The product of matrices. Setting unit 133 sets the vector to the coordinates of each point and performs a coordinate transformation for each point.
[0110] As shown in equation (3), the setting unit 133 uses the movement path T obtained at times l and m before and after time t. l T m To calculate the movement path T at time t. t In the following formula (3), T diffAs shown in equation (4) below.
[0111] [Mathematical Expression 3]
[0112]
[0113] [Mathematical Expression 4]
[0114]
[0115] Subsequently, unit 133 calculates the following vector, which is a vector of the coordinates of each point at time t and the movement path T. t The product of matrices. Setting unit 133 sets the vector to the coordinates of each point and performs coordinate transformation to perform motion distortion correction.
[0116] Subsequently, the setting unit 133 calculates the product of the following two items: a vector of coordinates for each point after motion distortion correction, and a matrix of parameters c related to the position or orientation of each of the first detection unit 211 and the second detection unit 212. The setting unit 133 sets the vector to the coordinates of each point and performs a coordinate transformation to convert the coordinate system based on the position or orientation of each of the first detection unit 211 and the second detection unit 212 into the world coordinate system.
[0117] In step S5, the setting unit 133 performs error minimization as an optimization based on multiple detection and movement information acquired by the acquisition unit 132. The setting unit 133 minimizes the sum of the errors between the planar point cloud data and the errors between the object point cloud data. The setting unit 133 also sets at least one of the movement amount or movement path of the moving body 200 as an optimization to minimize the errors between the multiple point cloud data.
[0118] When the parameters of the first detection unit 211 and the second detection unit 212 are set to the correct positional relationship, the object point cloud data and the planar point cloud data obtained from these detection units should be completely matched. Therefore, the error between the planar point cloud data and the error between the object point cloud data can be represented by the following equation (5).
[0119] [Mathematical Expression 5]
[0120]
[0121] K represents the number of points in the planar point cloud data and the object point cloud data. p1 represents the coordinates of each point in the point cloud data included in the first detection information. p2 represents the coordinates of each point in the point cloud data included in the second detection information. This represents the Euclidean distance between the coordinates of two points. It is not limited to the Euclidean distance between two coordinates, but can also be the Mahalanobis distance, the distance between distributions, etc.
[0122] The setting unit 133 calculates the errors of equation (5) between all object point cloud data and between all planar point cloud data, and sets the parameters and movement amount of the moving body 200 so that the sum of the errors between planar point cloud data and the errors between object point cloud data is minimized. The setting unit 133 sets the parameters and movement amount so that the sum of the errors between planar point cloud data and the errors between object point cloud data, as expressed by the following equation (6), becomes a value corresponding to the minimum error.
[0123] [Mathematical Expression 6]
[0124]
[0125] Again Figure 3 The following description is provided. The providing unit 134 provides providing information to the terminal 300 and the user 400 via the communication unit 110. The providing unit 134 provides providing information including a convergence rate of error, which is obtained by dividing a tolerance value by the error between multiple detection information acquired by the acquisition unit 132. The providing unit 134 provides providing information including prompting information for prompting at least one of moving the moving body 200 or detecting a new target.
[0126] 1-3. Specific examples of the setting process according to the implementation method
[0127] The setting process according to the implementation method is not limited to Figure 4 An example will be provided below. Figure 7 An example of the setting process according to the implementation method will be described. Figure 7 Figure (1) illustrates an example of the setup process according to the implementation method. Figure 7 In this process, the settings are executed in the order of motion distortion correction followed by optimization.
[0128] In step S11, the acquisition unit 132 acquires its own position, which is the position of the moving body 200 at each time point estimated by SLAM. In step S12, the setting unit 133 analyzes the parameters of the detection unit 210, such as the error between the initial parameter L1 of the first detection unit 211 of LiDAR and the initial parameter L2 of the second detection unit 212 of LiDAR. In step S13, the setting unit 133 performs motion distortion correction as performed in step S4.
[0129] In step S14, the setting unit 133 corrects the parameters related to the position or orientation of the detection unit 210 based on the movement information. The setting unit 133 corrects the parameters by multiplying the matrix of the movement path of the moving body 200, which includes the posture of the moving body 200 at each time, and the matrix of the parameters related to the position or orientation of the second detection unit 212, as the corrected parameters related to the position or orientation of the second detection unit 212.
[0130] In step S15, as in step S5, the setting unit 133 optimizes the parameters related to the position or orientation of the detection unit 210 and the amount of movement (movement path) of the moving body 200.
[0131] Now refer to Figure 8 Another example of the settings processing according to the implementation method is described. Figure 8 Figure (2) illustrates an example of the setup process according to the implementation method. Figure 8 In the process, the first detection unit 211 is configured in the order of noise removal, segmentation, optimization and motion distortion correction.
[0132] In step S21, the setting unit 133 performs noise removal in the same manner as in step S1. In step S22, the setting unit 133 sets the vector of the product of the vector of the coordinates of each point in the point cloud data obtained from the first detection unit 211 and the matrix of the parameters related to the position or orientation of the first detection unit 211 as the coordinates of each point, and performs coordinate transformation on each point in the point cloud data.
[0133] In step S23, the setting unit 133 divides the point cloud data into multiple planar point cloud data and multiple object point cloud data by using, for example, a planar detection algorithm and an object detection algorithm.
[0134] In step S24, as in step S5, setting unit 133 performs optimization to minimize the sum of errors between planar point cloud data and errors between other point cloud data. In step S25, setting unit 133 performs motion distortion correction as performed in step S4.
[0135] Now refer to Figure 9 Another example of the settings processing according to the implementation method is described. Figure 9 Figure (3) illustrates an example of the settings processed according to the implementation method. Figure 9 In the process, the first detection unit 211 and the second detection unit 212 are configured in the order of noise removal, motion distortion correction, division and optimization.
[0136] In step S31, the setting unit 133 performs noise removal as performed in step S1, and in step S32, the setting unit 133 performs motion distortion correction as performed in step S4. In step S33, as in step S22, the setting unit 133 performs coordinate transformation on each point of the multiple point cloud data obtained from the first detection unit 211 and the second detection unit 212.
[0137] In step S34, as in step S23, the setting unit 133 divides the multiple point cloud data into multiple planar point cloud data and multiple object point cloud data. In step S35, as in step S5, the setting unit 133 performs optimization by minimizing the sum of the errors between the planar point cloud data and the errors between the multiple object point cloud data.
[0138] Now refer to Figure 10 Another example of the settings processing according to the implementation method is described. Figure 10 Figure (4) illustrates an example of the settings processed according to the implementation method. Figure 10 In the process, the first detection unit 211 and the second detection unit 212 are configured in the order of noise removal, segmentation, motion distortion correction and optimization.
[0139] In step S41, the setting unit 133 performs noise removal in the same manner as in step S1. In step S42, as in step S22, the setting unit 133 performs coordinate transformation on each point of the multiple point cloud data.
[0140] In step S43, as in step S23, the setting unit 133 divides the multiple point cloud data into multiple planar point cloud data and multiple object point cloud data. In step S44, the setting unit 133 performs motion distortion correction as performed in step S4.
[0141] In step S45, as in step S5, the setting unit 133 performs optimization by minimizing the sum of errors between planar point cloud data and errors between multiple object point cloud data.
[0142] 1-4. Information processing procedure according to the implementation method
[0143] Next, we will refer to Figure 11 An example describing the above information processing procedure. Figure 11 This is a flowchart illustrating the information processing procedure according to an implementation method.
[0144] In step S101, the information processing device 100 moves the moving body 200. In step S102, the information processing device 100 acquires multiple detection information while moving the moving body 200. In step S103, the information processing device 100 temporarily sets the parameters of the detection unit 210 based on the acquired detection information.
[0145] In step S104, the information processing device 100 determines whether the setting process is complete. If it is determined that the setting process is not complete (No in step S104), the information processing device 100 provides information related to the parameter setting process in step S105. If it is determined that the setting process is complete (Yes in step S104), the information processing device 100 provides information related to the result of the parameter setting in step S106. In step S107, the information processing device 100 formally sets the parameters.
[0146] 1-5. Modifications to the Implementation Method
[0147] The information processing device 100 is not limited to being integrally formed with the mobile body 200, but can also be implemented as a device external to the mobile body 200, such as a device integrally formed with the terminal 300.
[0148] The mobile body 200 is not limited to a legged robot that includes legs, but can be implemented as a mobile part 220 that includes at least one of legs or wheels: a legged robot, a wheeled robot that includes wheels, a legged wheeled robot that includes legs and wheels, a vehicle that includes wheels, etc.
[0149] Terminal 300 is not limited to displaying a terminal that provides information on a display unit, but can also be implemented as a device that includes a presentation unit that provides information, such as a voice output unit that provides information via voice output.
[0150] 2. Other implementation methods
[0151] Each process according to the implementation method can be performed in various different forms other than the implementation methods described above.
[0152] In the processing operations described in the above embodiments, all or some of the operations described as automatically executed can be performed manually, or all or some of the operations described as manually executed can be performed automatically by known methods. Furthermore, unless otherwise specified, the processing procedure, specific names, and information including the various data and parameters described in the above documents and figures can be arbitrarily changed. The various types of information shown in the figures are not limited to the information shown.
[0153] The components of the device shown in the accompanying drawings are functionally conceptual and are not necessarily physically configured as shown in the drawings. That is, the specific forms of distribution and integration of the device are not limited to those shown in the accompanying drawings, and all or some of the devices in the device can be configured to be functionally or physically distributed or integrated in any unit, depending on various loads, usage conditions, etc.
[0154] As long as the content being processed does not contradict each other, the above implementation methods and modifications can be appropriately combined.
[0155] The effects described in this specification are merely illustrative and not limiting. Other effects may exist.
[0156] 3. The effects of the information processing device based on the content of this disclosure.
[0157] As described above, the information processing apparatus according to this disclosure (in the embodiment, information processing apparatus 100) includes the following as control units and executes the information processing method according to this disclosure: a mobile control unit (in the embodiment, mobile control unit 131) that executes a mobile control process, an acquisition unit (in the embodiment, acquisition unit 132) that executes an acquisition process, and a setting unit (in the embodiment, setting unit 133) that executes a setting process.
[0158] The movement control process moves the moving body (moving body 200 in this embodiment). During the acquisition process, multiple detection information is acquired while the moving body is moving. Among these multiple detection information, the same detection target is detected by multiple detection units (detection unit 210 in this embodiment) installed in the moving body. The setting process sets the parameters of the detection units based on the acquired detection information.
[0159] In this manner, the information processing apparatus according to the present disclosure moves the detection unit in conjunction with the movement of the moving body, enabling the detection unit to detect the same detection target, and sets the parameters of the detection unit based on multiple pieces of detection information.
[0160] Therefore, even when the number of feature points of the detected target is small, the information processing device can remove noise by matching feature points of the same detected target in the detection information. The information processing device can perform coordinate transformation via motion distortion correction on each point of the point cloud data, and can set parameters to minimize the error between point cloud data. Therefore, even when the detection unit is placed in a moving body, the information processing device can perform calibration without the use of special components.
[0161] The information processing device is integrally formed with the mobile body, and the mobile body includes at least one of legs or wheels.
[0162] As described above, information processing devices can be applied to mobile bodies such as legged robots, wheeled robots, legged-wheeled robots, or vehicles.
[0163] The setting unit performs at least one of the following: noise removal for removing noise from the detection information, parameter optimization based on the detection information, or motion distortion correction for correcting motion distortion caused by the movement of the moving body.
[0164] Therefore, the information processing device can perform effective calibration.
[0165] The acquisition unit also acquires motion information related to the movement of the moving body, and the setting unit performs motion distortion correction based on the motion information acquired by the acquisition unit.
[0166] Therefore, the information processing device can perform effective calibration for moving bodies such as legged robots that are prone to motion distortion.
[0167] When the motion control unit turns the moving body in place, the setting unit performs motion distortion correction.
[0168] Information processing devices can reduce the amount of movement of a mobile body by turning it in place, and thus reduce the amount of motion distortion caused by that movement. However, mobile bodies such as legged robots tend to exhibit three-dimensional swaying even when turning in place, resulting in motion distortion. Therefore, even when turning the mobile body in place, information processing devices can perform calibrations that are particularly effective for mobile bodies such as legged robots by performing motion distortion correction.
[0169] The acquisition unit acquires at least one of the position, movement path, or movement amount of the moving body as movement information, and the setting unit performs movement distortion correction based on at least one of the position, movement path, and movement amount of the moving body acquired by the acquisition unit.
[0170] In particular, when the information processing device performs motion distortion correction based on the position, path, or amount of movement of the moving body, the information processing device can perform effective motion distortion correction through coordinate transformation.
[0171] The acquisition unit acquires detection information including multiple point cloud data (where each detection target is detected by the detection unit) and motion information related to the movement of the moving body, and the setting unit performs error minimization optimization based on the detection information and motion information acquired by the acquisition unit to minimize the error between the point cloud data.
[0172] When minimizing the error between point cloud data, the information processing device can minimize the error between point cloud data obtained through coordinate transformation based on the motion information by using motion information in addition to detection information. Therefore, the information processing device can set more suitable parameters.
[0173] The setting unit divides the point cloud data into multiple planar point cloud data where each of the detection units detects the same plane, and multiple object point cloud data where each of the detection units detects the same object, and minimizes the sum of the errors between the planar point cloud data and the object point cloud data.
[0174] In this way, when minimizing the error between point cloud data, the information processing device divides the point cloud data into planar point cloud data with easily convergent errors and object point cloud data with difficult-to-converge errors, so as to easily minimize the sum of the errors between planar point cloud data and the errors between object point cloud data.
[0175] The setting unit also sets at least one of the following as optimizations: the amount of movement or the movement path of the moving body that minimizes the error between point cloud data.
[0176] With this configuration, the information processing device can prompt the user to move based on at least one of the amount of movement or the movement path that minimizes the error between point cloud data, and thus can easily minimize the error.
[0177] The acquisition unit acquires feature points of the target as detection information, and the setting unit removes flying pixels as noise removal based on the feature points acquired by the acquisition unit.
[0178] Therefore, even when the number of feature points of the detected target is small, the information processing device can remove flying pixels by matching feature points of the same detected target in the detection information.
[0179] The detection units are positioned or oriented such that the detection ranges of the detection units do not overlap when the moving body is stationary.
[0180] Even when using such a detection unit, the information processing device can make the detection unit detect the same target by overlapping the detection ranges of the detection units while moving the detection unit.
[0181] The detection units are configured to face downwards, such that the ground or floor surface is included within the detection range of each of the detection units.
[0182] Such detection units can typically only detect ground surfaces and objects on them with a small number of feature points. However, even when the number of feature points of the target is small, the information processing device can perform noise removal, motion distortion correction, and optimization based on the same target in the detection information.
[0183] The detection unit is fixed to the moving body.
[0184] Even when the detection unit has a detection range that cannot overlap when the moving body is stationary, the information processing device moves the detection unit in conjunction with the movement of the moving body, and thus the detection ranges can overlap.
[0185] The motion control unit moves the moving body so that the detection range of each of the detection units includes the detection target.
[0186] The information processing device enables a detection unit with a detection range that cannot overlap when the moving object is stationary to detect the same target by making the detection range overlap.
[0187] The setting unit sets parameters related to the position or orientation of each of the detection units as parameters.
[0188] Therefore, the information processing device can acquire the position or orientation of each of the detection units. Furthermore, by using parameters to convert the coordinate vectors of the points in each point cloud data from a coordinate system based on the position or orientation of each of the detection units to the world coordinate system, the information processing device can easily minimize the errors between the point cloud data.
[0189] The information processing apparatus further includes a providing unit that provides information relating to at least one of the processing or results of parameter settings performed by the setting unit.
[0190] This allows the information processing device to notify the user whether there are any problems in the processing or results of the parameter settings.
[0191] The providing unit provides providing information, which includes the convergence rate of the error obtained by dividing a preset tolerance value of the error by the error between the detection information acquired by the acquiring unit.
[0192] Therefore, the information processing device can notify the user how much further the moving body should be moved to bring the error to converge.
[0193] The providing unit provides providing information including prompting information for prompting at least one of moving the moving body or detecting a new detection target.
[0194] Therefore, the information processing device can advise the user on how to move the moving body and what type of target to detect, in order to further reduce errors.
[0195] 4. Hardware Configuration
[0196] The information device (e.g., information processing device 100) according to each of the above embodiments comprises having, Figure 12 The computer 1000 with the configuration shown is implemented. Figure 12 This is a diagram illustrating an example hardware configuration of a computer that implements the functions of an information processing apparatus according to this disclosure. The computer 1000 includes a CPU 1100, RAM 1200, read-only memory (ROM) 1300, hard disk drive (HDD) 1400, communication interface 1500, and input / output interface 1600. The various units of the computer 1000 are connected together via a bus 1050.
[0197] The CPU 1100 operates based on programs stored in ROM 1300 or HDD 1400 and controls each unit. The CPU 1100 deploys programs stored in ROM 1300 or HDD 1400 to RAM 1200 and executes processing operations corresponding to various programs.
[0198] ROM 1300 stores boot programs such as the Basic Input / Output System (BIOS) and programs that depend on the hardware of computer 1000, which are executed by CPU 1100 when computer 1000 starts up.
[0199] HDD 1400 is a computer-readable recording medium that non-transitorily stores a program executed by CPU 1100 and data used by such program. Specifically, HDD 1400 is a recording medium storing an information processing program according to this disclosure, the information processing program being an example of program data 1450.
[0200] The communication interface 1500 is an interface used to connect the computer 1000 to an external network 1550 (such as the Internet). The CPU 1100 receives data from other devices or sends data generated by the CPU 1100 to other devices via the communication interface 1500.
[0201] Input / output interface 1600 is an interface for connecting input / output device 1650 and computer 1000. CPU 1100 receives data from input devices such as keyboard and mouse via input / output interface 1600. CPU 1100 also sends data to output devices such as monitor, speaker, and printer via input / output interface 1600. Input / output interface 1600 can be used as a media interface for reading programs recorded on a predetermined recording medium.
[0202] Examples of media include: optical recording media such as digital multifunction discs (DVDs) or phase-change rewritable discs (PDs), magneto-optical recording media such as magneto-optical discs (MOs), magnetic tape media, magnetic recording media, and semiconductor memory.
[0203] When the computer 1000 is used as an information processing device 100 according to the embodiment, the CPU 1100 of the computer 1000 executes an information processing program loaded on the RAM 1200 to perform the functions of the control unit 130, etc. The HDD 1400 stores the information processing program according to the present disclosure and the data in the storage unit 120.
[0204] CPU 1100 reads program data 1450 from HDD 1400 and executes the program, but in other examples, CPU 1100 may obtain these programs from other devices via external network 1550.
[0205] This technology can also have the following configurations. (1)
[0207] An information processing apparatus, comprising:
[0208] A motion control unit configured to move a moving body;
[0209] An acquisition unit is configured to acquire multiple pieces of detection information, wherein, while the mobile control unit moves the mobile body, each of a plurality of detection units disposed in the mobile body detects the same detection target; and
[0210] A setting unit is configured to set parameters of the detection units among the plurality of detection units based on the detection information acquired by the acquisition unit. (2)
[0212] According to the information processing apparatus described in (1), wherein,
[0213] The information processing device is integrally formed with the mobile body, and
[0214] The mobile body includes at least one of legs and wheels. (3)
[0216] According to the information processing device described in (2), wherein,
[0217] The setting unit performs at least one of the following: noise removal for removing noise from the detection information, optimization of the parameters based on the detection information, and motion distortion correction for correcting motion distortion caused by the movement of the moving body. (4)
[0219] According to the information processing device described in (3), wherein,
[0220] The acquisition unit also acquires movement information related to the movement of the moving body, and
[0221] The setting unit performs the motion distortion correction based on the motion information acquired by the acquisition unit. (5)
[0223] According to the information processing device described in (4), wherein,
[0224] When the motion control unit causes the moving body to turn in place, the setting unit performs the motion distortion correction. (6)
[0226] According to the information processing apparatus described in (4) or (5), wherein,
[0227] The acquisition unit acquires at least one of the moving body's position, movement path, and movement amount as the movement information, and
[0228] The setting unit performs the motion distortion correction based on at least one of the position, movement path, and movement amount of the moving body obtained by the acquisition unit. (7)
[0230] The information processing apparatus according to any one of (3) to (6), wherein,
[0231] The acquisition unit acquires the detection information and movement information related to the movement of the moving body. The detection information includes multiple point cloud data points where each of the plurality of detection units detects the target.
[0232] The setting unit performs error minimization as optimization based on the detection information and movement information acquired by the acquisition unit to minimize the error between the multiple point cloud data. (8)
[0234] According to the information processing apparatus described in (7), wherein,
[0235] The setting unit divides the multiple point cloud data into multiple planar point cloud data where each of the multiple detection units detects the same plane, and multiple object point cloud data where each of the multiple detection units detects the same object, and minimizes the sum of the errors between the multiple planar point cloud data and the errors between the multiple object point cloud data. (9)
[0237] According to the information processing apparatus described in (7) or (8), wherein,
[0238] The setting unit further sets at least one of the movement amount and movement path of the moving body to minimize the error between the multiple point cloud data as the optimization. (10)
[0240] The information processing apparatus according to any one of (3) to (9), wherein,
[0241] The acquisition unit acquires the feature points of the target to be detected as the detection information, and
[0242] The setting unit removes flying pixels as noise removal based on the feature points acquired by the acquisition unit. (11)
[0244] According to the information processing device described in (2), wherein,
[0245] The plurality of detection units are positioned or oriented such that the detection ranges of the plurality of detection units do not overlap when the moving body is stationary. (12)
[0247] According to the information processing apparatus described in (11), wherein,
[0248] The plurality of detection units are configured to face downwards, such that the ground or floor surface is included within the detection range of each of the plurality of detection units. (13)
[0250] According to the information processing apparatus described in (11) or (12), wherein,
[0251] The plurality of detection units are fixed to the moving body. (14)
[0253] The information processing apparatus according to any one of (11) to (13), wherein,
[0254] The motion control unit moves the moving body such that the detection target is included within the detection range of each of the plurality of detection units. (15)
[0256] The information processing apparatus according to any one of (11) to (14), wherein,
[0257] The setting unit sets the parameter associated with each of the positions or orientations of the plurality of detection units as the parameter. (16)
[0259] The information processing apparatus according to any one of (1) to (15) further includes:
[0260] A providing unit is configured to provide information relating to at least one of the processing and results of setting the parameters performed by the setting unit. (17)
[0262] According to the information processing apparatus described in (16), wherein,
[0263] The providing unit provides the providing information, which includes the convergence rate of the error obtained by dividing a preset tolerance value of the error by the error between the multiple detection information obtained by the acquiring unit. (18)
[0265] According to the information processing apparatus described in (16) or (17), wherein,
[0266] The providing unit provides the providing information including prompting information for prompting at least one of moving the moving body and detecting a new detection target. (19)
[0268] An information processing method, comprising:
[0269] Through computer
[0270] To move the object;
[0271] Multiple detection information pieces are acquired, wherein, while the moving body is being moved, each of the multiple detection units disposed within the moving body detects the same detection target; and
[0272] The parameters of the detection units among the plurality of detection units are set based on the detection information obtained. (20)
[0274] An information processing program that enables a computer to be used as an information processing device, the information processing device comprising:
[0275] A motion control unit configured to move a moving body;
[0276] An acquisition unit is configured to acquire multiple pieces of detection information, wherein, while the mobile control unit moves the mobile body, each of a plurality of detection units disposed in the mobile body detects the same detection target; and
[0277] A setting unit is configured to set parameters of the detection units among the plurality of detection units based on the detection information acquired by the acquisition unit.
[0278] List of reference numerals
[0279] 100 Information Processing Device
[0280] 110 Communication Unit
[0281] 120 storage units
[0282] 130 Control Unit
[0283] 131 Motion Control Unit
[0284] 132 Acquisition Unit
[0285] 133 Setting Unit
[0286] 134 Providing Unit
[0287] 200 moving bodies
[0288] 210 Detection Unit
[0289] 211 First Detection Unit
[0290] 212 Second Detection Unit
[0291] 220 Mobile Department
Claims
1. An information processing apparatus, comprising: A motion control unit configured to move a moving body; An acquisition unit is configured to acquire multiple pieces of detection information, wherein, while the mobile control unit moves the mobile body, each of the multiple detection units disposed in the mobile body detects the same detection target. as well as A setting unit is configured to set parameters of the detection units among the plurality of detection units based on the detection information acquired by the acquisition unit.
2. The information processing apparatus according to claim 1, wherein, The information processing device is integrally formed with the mobile body, and The mobile body includes at least one of legs and wheels.
3. The information processing apparatus according to claim 2, wherein, The setting unit performs at least one of the following: noise removal for removing noise from the detection information, optimization of the parameters based on the detection information, and motion distortion correction for correcting motion distortion caused by the movement of the moving body.
4. The information processing apparatus according to claim 3, wherein, The acquisition unit also acquires movement information related to the movement of the moving body, and The setting unit performs the motion distortion correction based on the motion information acquired by the acquisition unit.
5. The information processing apparatus according to claim 4, wherein, When the motion control unit causes the moving body to turn in place, the setting unit performs the motion distortion correction.
6. The information processing apparatus according to claim 4, wherein, The acquisition unit acquires at least one of the moving body's position, movement path, and movement amount as the movement information, and The setting unit performs the motion distortion correction based on at least one of the position, movement path, and movement amount of the moving body obtained by the acquisition unit.
7. The information processing apparatus according to claim 3, wherein, The acquisition unit acquires the detection information and movement information related to the movement of the moving body. The detection information includes multiple point cloud data points where each of the plurality of detection units detects the target. The setting unit performs error minimization as optimization based on the detection information and movement information acquired by the acquisition unit to minimize the error between the multiple point cloud data.
8. The information processing apparatus according to claim 7, wherein, The setting unit divides the multiple point cloud data into multiple planar point cloud data where each of the multiple detection units detects the same plane and multiple object point cloud data where each of the multiple detection units detects the same object, and minimizes the sum of the errors between the multiple planar point cloud data and the errors between the multiple object point cloud data.
9. The information processing apparatus according to claim 7, wherein, The setting unit further sets at least one of the movement amount and movement path of the moving body to minimize the error between the multiple point cloud data as the optimization.
10. The information processing apparatus according to claim 3, wherein, The acquisition unit acquires the feature points of the target to be detected as the detection information, and The setting unit removes flying pixels as noise removal based on the feature points acquired by the acquisition unit.
11. The information processing apparatus according to claim 2, wherein, The plurality of detection units are positioned or oriented such that the detection ranges of the plurality of detection units do not overlap when the moving body is stationary.
12. The information processing apparatus according to claim 11, wherein, The plurality of detection units are configured to face downwards, such that the ground or floor surface is included within the detection range of each of the plurality of detection units.
13. The information processing apparatus according to claim 11, wherein, The plurality of detection units are fixed to the moving body.
14. The information processing apparatus according to claim 11, wherein, The motion control unit moves the moving body such that the detection target is included within the detection range of each of the plurality of detection units.
15. The information processing apparatus according to claim 11, wherein, The setting unit sets the parameter associated with each of the positions or orientations of the plurality of detection units as the parameter.
16. The information processing apparatus according to claim 1, further comprising: A providing unit is configured to provide information relating to at least one of the processing and results of setting the parameters performed by the setting unit.
17. The information processing apparatus according to claim 16, wherein, The providing unit provides the providing information, which includes the convergence rate of the error obtained by dividing a preset tolerance value of the error by the error between the multiple detection information obtained by the acquiring unit.
18. The information processing apparatus according to claim 16, wherein, The providing unit provides the providing information including prompting information for prompting at least one of moving the moving body and detecting a new detection target.
19. An information processing method, comprising: Through computer To move the object; Multiple detection information are acquired, and in the multiple detection information, the same detection target is detected by each of the multiple detection units set in the moving body while the moving body is being moved. as well as The parameters of the detection units among the plurality of detection units are set based on the detection information obtained.
20. An information processing program that enables a computer to be used as an information processing device, the information processing device comprising: A motion control unit configured to move a moving body; An acquisition unit is configured to acquire multiple pieces of detection information, wherein, while the mobile control unit moves the mobile body, each of the multiple detection units disposed in the mobile body detects the same detection target. as well as A setting unit is configured to set parameters of the detection units among the plurality of detection units based on the detection information acquired by the acquisition unit.
Citation Information
Patent Citations
Sensor calibration method and apparatus
JP2023004964A