WO2023127337A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2023127337A1
WO2023127337A1 PCT/JP2022/042645 JP2022042645W WO2023127337A1 WO 2023127337 A1 WO2023127337 A1 WO 2023127337A1 JP 2022042645 W JP2022042645 W JP 2022042645W WO 2023127337 A1 WO2023127337 A1 WO 2023127337A1
Authority
WO
WIPO (PCT)
Prior art keywords
depth
information
reliability
sensor
distance
Prior art date
Application number
PCT/JP2022/042645
Other languages
English (en)
French (fr)
Inventor
承夏 梁
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2023127337A1 publication Critical patent/WO2023127337A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Definitions

  • the present technology relates to an information processing device, an information processing method, and a program applicable to a traveling robot.
  • Patent Document 1 discloses an information processing device that creates a three-dimensional map.
  • the three-dimensional map is updated based on the image captured by the imaging device.
  • the 3D map is corrected based on the feature points in the image captured by the imaging device. This makes it possible to reduce errors accumulated in the three-dimensional map.
  • an object of the present technology is to provide an information processing device, an information processing method, and a program that enable accurate creation of map information.
  • an information processing apparatus includes an acquisition unit, a first calculation unit, a second calculation unit, and a reliability calculation unit.
  • the acquisition unit acquires each of image information and depth information for a sensing area of the sensor based on a sensing result of the sensor capable of acquiring image information.
  • the first calculator estimates a position of the sensor based on the image information, and calculates a first distance between the sensor and the sensing area based on the estimated position of the sensor.
  • the second calculator calculates a second distance between the sensor and the sensing area based on the depth information.
  • the reliability calculation unit calculates reliability of the depth information based on the first distance and the second distance.
  • the position of the sensor is estimated based on the image information for the sensing area, and the first distance between the sensor and the sensing area is calculated.
  • a second distance between the sensor and the sensing area is calculated based on the depth information for the sensing area.
  • the reliability of the depth information for the sensing area is calculated.
  • the reliability calculation unit may calculate the reliability of the depth information based on the difference between the first distance and the second distance.
  • the reliability calculation unit calculates the reliability of the depth information such that the reliability of the depth information increases as the difference between the first distance and the second distance decreases. good too.
  • the sensor may be installed on a mobile body configured to be movable on the ground so as to be movable integrally with the mobile body.
  • the sensing area may include a peripheral area of the mobile body on the ground.
  • the first calculator may calculate the shortest distance between the sensor and the peripheral area as the first distance.
  • the second calculator may calculate the shortest distance between the sensor and the peripheral area as the second distance.
  • the sensor may be installed at a position on the upper side of the main body of the moving body, facing downward.
  • the first calculator calculates the height of the sensor relative to the mobile body based on the image information, and calculates the height of the sensor relative to the mobile body and the calculated height of the mobile body. may be calculated as the first distance.
  • the mobile body may have a surface included in the sensing area and on which feature points are arranged.
  • the first calculator may calculate the height of the sensor with respect to the mobile body based on the image information regarding the feature point.
  • the second calculation unit calculates a shortest distance between the sensor and the sensing area based on the depth information as a candidate shortest distance, and the candidate shortest distance is the shortest distance between the sensor and the mobile body.
  • the sum of the candidate shortest distance and the height of the mobile body may be calculated as the second distance.
  • the information processing device may further include a map creation unit that creates a depth map in which the sensing area, the depth information, and the reliability of the depth information are associated with each other.
  • the map creating unit determines the reliability of the depth information having the highest value in the overlapping area.
  • the depth map may be generated using the depth information associated with degrees.
  • the reliability calculation unit may calculate the reliability of the depth information based on the reliability at the time of acquisition of the depth information calculated when the depth information is acquired.
  • the information processing device may further include a movement control unit that controls movement of the moving object based on the depth map.
  • the depth map may include the presence or absence of obstacles on the sensing area.
  • the movement control unit may set the obstacle as an object to be avoided when the reliability of the depth information of the area in the sensing area where the obstacle exists is relatively high. .
  • the depth map may include the presence or absence of obstacles on the sensing area. In this case, when the reliability of the depth information of the area in the sensing area where the obstacle exists is relatively low, the movement control unit does not set the obstacle as an object to be avoided. good.
  • the sensor may be a monocular camera.
  • the acquisition unit may acquire the depth information by executing machine learning using the sensing result of the monocular camera as an input.
  • the sensor may be installed on a mobile body configured to be movable on the ground so as to be movable integrally with the mobile body.
  • the information processing device may further include the sensor and the mobile body.
  • the sensor may be installed on a mobile body configured to be movable on the ground so as to be movable integrally with the mobile body, and may be configured to be detachable from the mobile body.
  • An information processing method is an information processing method executed by a computer system, in which image information and depth information for a sensing region of the sensor are obtained based on sensing results of a sensor capable of acquiring image information. Including getting each. A position of the sensor is estimated based on the image information, and a first distance between the sensor and the sensing area is calculated based on the estimated position of the sensor. A second distance between the sensor and the sensing area is calculated based on the depth information. The reliability of the depth information is calculated based on the first distance and the second distance.
  • a program includes a step of acquiring image information and depth information for a sensing area of the sensor based on a sensing result of a sensor capable of acquiring image information; estimating a position of a sensor and calculating a first distance between the sensor and the sensing area based on the estimated position of the sensor; and determining a distance between the sensor and the sensing area based on the depth information.
  • a computer system is caused to perform the steps of calculating a second distance and calculating the reliability of the depth information based on the first distance and the second distance.
  • FIG. 2 is a schematic diagram for explaining application of a small traveling robot according to an embodiment of the present technology to last-mile delivery;
  • 1 is a schematic diagram showing the appearance of a small traveling robot;
  • FIG. 3 is a schematic diagram showing a functional configuration example of a small traveling robot;
  • 7 is a flowchart illustrating an example of depth map generation processing;
  • 10 is a flowchart showing a detailed processing example of estimating the position and orientation of a monocular camera;
  • FIG. 4 is a schematic diagram for explaining feature points;
  • 10 is a flowchart showing a detailed processing example of depth estimation;
  • 7 is a flowchart showing a detailed processing example of reliability calculation;
  • FIG. 10 is a schematic diagram for explaining calculation of the height of the monocular camera from the surrounding ground;
  • FIG. 4 is a schematic diagram for explaining calculation of the shortest distance from the monocular camera to the surrounding ground;
  • FIG. 4 is a schematic diagram of a table used for reliability calculation;
  • FIG. 4 is a schematic diagram of a depth map created by a map creator;
  • FIG. 10 is a flowchart showing a detailed processing example of map integration;
  • FIG. 4 is a schematic diagram of a depth map created by a map creator;
  • FIG. 4 is a schematic diagram of a depth map created by a map creator;
  • FIG. 4 is a schematic diagram of a depth map with associated integrated confidence;
  • FIG. 4 is a schematic diagram showing an example of a moving route of a small traveling robot;
  • FIG. 4 is a schematic diagram showing an example of a moving route of a small traveling robot;
  • FIG. 4 is a schematic diagram showing an example of a moving route of a small traveling robot;
  • FIG. 4 is a schematic diagram showing an example of a moving route of a small traveling robot;
  • FIG. 4 is a schematic diagram showing an example of a moving route of a small traveling robot
  • 1 is a schematic diagram of a small traveling robot or a track on which a traveling robot is mounted
  • FIG. 3 is a schematic diagram of a sensing range of a small traveling robot or a traveling robot
  • 1 is a schematic diagram of a small traveling robot and a computer
  • FIG. It is a block diagram which shows the hardware configuration example of a computer.
  • FIG. 1 is a schematic diagram for explaining application of a small traveling robot according to an embodiment of the present technology to last-mile delivery.
  • a truck 1 as shown in FIG. 1 can run on wide roads without any problems.
  • it is difficult to drive in residential areas because many roads are narrow and traffic is inconvenient. Therefore, when the package 2 is delivered from the delivery center of the delivery company to each household, the package 2 is transported by the truck 1 from the delivery center to the entrance of the residential area. Then, the cargo 2 is unloaded at the entrance of the residential area, and from there the cargo 2 is placed on a trolley and carried to each home by human power.
  • Such last-mile delivery is often adopted as a delivery method in physical distribution.
  • the term "last mile delivery” refers to "the last mile in physical distribution", and is a term that means the delivery process from "the entrance of a residential area to each home".
  • FIG. 2 is a schematic diagram showing the appearance of the small traveling robot 3. As shown in FIG.
  • the small traveling robot 3 includes a mobile body 6 , a pole 7 and a monocular camera 8 . 1, the illustration of the pole 7 and the monocular camera 8 is omitted, and only the mobile main body 6 included in the small traveling robot 3 is schematically illustrated.
  • the mobile body 6 has a base portion 9 and four tires 10 .
  • the base portion 9 is a component that serves as the base of the moving body main body 6 .
  • the base unit 9 incorporates various mechanisms for driving the small traveling robot 3, such as a controller 17 (see FIG. 3) and a drive motor.
  • the shape of the base portion 9 is a rectangular parallelepiped and has an upper surface 11, a lower surface 12 and four side surfaces 13.
  • the shape of the base portion 9 is not limited, and may have an arbitrary shape such as a cylindrical shape or a spherical shape.
  • Characteristic points 14 are arranged on the upper surface 11 of the base portion 9 . This will be explained in detail later.
  • each of the four tires 10 is arranged on the side surfaces 13 of the base portion 9 . Rotation of each of the four tires 10 allows the small traveling robot 3 to travel. That is, the moving body main body 6 is configured to be movable on the ground. Specific configurations such as the number and size of the tires 10 are not limited.
  • the moving body main body 6 Any configuration may be adopted as the moving body main body 6 .
  • a ready-made traveling robot may be used as the mobile body 6 .
  • a drone, a boardable self-driving vehicle, a multi-legged robot, or the like may be used as the mobile body 6 .
  • a pole 7 is a member that supports a monocular camera 8 .
  • the pole 7 is a rod-shaped member and is made of a rigid material such as metal or plastic.
  • the specific material and shape of the pole 7 are not limited.
  • the pole 7 is installed so as to extend upward from the upper surface 11 of the base portion 9 .
  • the pole 7 is installed so as to extend vertically when the moving body main body 6 is installed on a horizontal surface.
  • the present technology is not limited to this, and the present technology can also be applied when the pole 7 is installed at an angle that intersects slightly upward.
  • the monocular camera 8 is installed at the upper end of the pole 7 with its photographing direction directed downward. That is, the monocular camera 8 is installed at a position on the upper side of the moving body main body 6 via the pole 7, facing downward. In addition, the monocular camera 8 is installed so as to be movable integrally with the moving body main body 6 .
  • the angle of view range (shooting range) in which the monocular camera 8 can shoot is the sensing area of the monocular camera 8 .
  • the sensing area includes the mobile body 6 placed on the ground and the peripheral area of the mobile body 6 on the ground. That is, by photographing the sensing area with the monocular camera 8, an image including the mobile body 6 and the surrounding area of the mobile body 6 on the ground is acquired as a sensing result.
  • the frame rate for photographing by the monocular camera 8 is not limited and may be any value.
  • the surrounding area of the mobile body 6 on the ground may be referred to as the surrounding ground.
  • the pole 7 may be configured to be attachable/detachable to/from the base portion 9 .
  • the monocular camera 8 may be configured to be detachable from the pole 7 .
  • the pole 7 when last-mile delivery is performed, the pole 7 is attached to the base portion 9 by a delivery person or the like.
  • a monocular camera 8 is attached to the top end of the pole 7 .
  • the pole 7 may be made in a foldable form and stored at a predetermined position on the base portion 9 .
  • the pole 7 is taken out by a delivery person or the like and installed so as to extend upward from the base portion 9 .
  • a monocular camera 8 is attached to the top end of the pole 7 .
  • the pole 7 may be fixed with respect to the base portion 9 .
  • the monocular camera 8 may be fixed with respect to the pole 7 .
  • the small traveling robot 3 shown in FIG. 2 functions as an embodiment of the mobile body according to the present technology.
  • the small traveling robot 3 also functions as an embodiment of the information processing device according to the present technology. That is, the small traveling robot 3 can also be said to be an example in which the information processing device according to the present technology is applied to a moving object.
  • the monocular camera 8 corresponds to an embodiment of a sensor capable of acquiring image information according to the present technology. The camera is not limited to the monocular camera 8, and any other camera or the like capable of acquiring image information may be used.
  • FIG. 3 is a schematic diagram showing a functional configuration example of the small traveling robot 3.
  • the mobile body 6 further has a controller 17 , an input section 18 , an output section 19 , a communication section 20 , a storage section 21 and an actuator 22 .
  • these blocks are mounted on the base portion 9 of the mobile body 6 .
  • illustration of the pole 7 included in the small traveling robot 3 and the base portion 9 and the tire 10 included in the moving body main body 6 is omitted.
  • the controller 17 , input section 18 , output section 19 , communication section 20 , storage section 21 and actuator 22 are interconnected via bus 23 .
  • each block may be connected using a communication network, a unique unstandardized communication method, or the like.
  • the controller 17 has hardware necessary for configuring a computer, such as processors such as CPU, GPU, and DSP, memories such as ROM and RAM, and storage devices such as HDD.
  • processors such as CPU, GPU, and DSP
  • memories such as ROM and RAM
  • storage devices such as HDD.
  • the information processing method according to the present technology is executed by the CPU loading a program according to the present technology pre-recorded in the ROM or the like into the RAM and executing the program.
  • a device such as a PLD (Programmable Logic Device) such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) may be used.
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • the CPU of the controller 17 executes a program (for example, an application program) according to the present technology, so that functional blocks include an image acquisition unit 24, a feature point estimation unit 25, a self-position estimation unit 26, a first A calculation unit 27, a depth estimation unit 28, a recognition unit 29, a second calculation unit 30, a reliability calculation unit 31, a map generation unit 32, a movement plan processing unit 33, and a movement control processing unit 34 are realized.
  • These functional blocks execute the information processing method according to the present embodiment.
  • dedicated hardware such as an IC (integrated circuit) may be used as appropriate.
  • the image acquisition unit 24 acquires image information for the sensing area of the monocular camera 8 based on the sensing result of the monocular camera 8 .
  • an image including the mobile body 6 and the surrounding ground is acquired as the image information.
  • the image information corresponds to the sensing result of the monocular camera 8 .
  • a depth map 47 (see FIG. 12) according to the present technology is generated by the operation of each of the degree calculation unit 31 and the map creation unit 32 . The generation of the depth map 47 and the depth map 47 will be described later in detail.
  • the feature point extraction unit 25 generates image information regarding the feature points 14 based on the image information acquired from the image acquisition unit 24 .
  • the self-position estimation unit 26 estimates the self-position of the mobile body 6 .
  • a technique such as SLAM (Simultaneous Localization and Mapping) is used to estimate the position and orientation (self-position) of the mobile body 6 .
  • the position and orientation of the monocular camera 8 are estimated based on the image information about the feature points 14 generated by the feature point extraction unit 25 .
  • the first calculator 27 calculates the distance between the monocular camera 8 and the surrounding ground based on the position of the monocular camera 8 estimated by the self-position estimator 26 .
  • the distance between the monocular camera 8 and the surrounding ground, which is calculated by the first calculator 27 based on the position of the monocular camera 8, corresponds to an embodiment of the first distance according to the present technology.
  • this distance may be referred to as a first distance.
  • the feature point extraction unit 25, the self-position estimation unit 26, and the first calculation unit 27 correspond to an embodiment of the first calculation unit according to the present technology.
  • the depth estimation unit 28 acquires depth information for the sensing area based on the image information acquired from the image acquisition unit 24 . Specifically, monocular depth estimation is performed using image information as an input, and depth information for the moving body main body 6 or the surrounding ground is acquired.
  • the image acquisition unit 24 and the depth estimation unit 28 correspond to an embodiment of the acquisition unit according to the present technology.
  • the recognition unit 29 acquires the depth information from the depth estimation unit 28, and determines whether the depth information is the depth information for the mobile body 6 or the depth information for the surrounding ground. Image information acquired by the image acquiring unit 24 may be used for the determination.
  • the second calculator 30 calculates the distance between the monocular camera 8 and the surrounding ground based on the depth information and the determination result acquired from the recognizer 29 .
  • the distance between the monocular camera 8 and the surrounding ground which is calculated by the second calculator 30 based on the depth information and the determination result, corresponds to an embodiment of the second distance according to the present technology.
  • this distance may be referred to as a second distance.
  • the recognition unit 29 and the second calculation unit 30 correspond to an embodiment of the second calculation unit according to the present technology.
  • the reliability calculation unit 31 calculates the reliability of the depth information based on the first distance calculated by the first calculation unit 27 and the second distance calculated by the second calculation unit 30. .
  • the reliability is calculated using a table that inputs the first distance and the second distance and outputs the reliability.
  • the map creation unit 32 creates a depth map 47 based on the reliability calculated by the reliability calculation unit 31 .
  • the movement plan processor 33 generates a movement plan for the small traveling robot 3 based on the depth map 47 created by the map creator 32 . Specifically, a movement plan including the movement trajectory, speed, acceleration, etc. of the small traveling robot 3 is generated and output to the movement control processing unit 34 .
  • the movement control processor 34 controls movement of the small traveling robot 3 based on the movement plan generated by the movement plan processor 33 . For example, it generates a control signal that controls the specific movement of the actuator 22 to operate the actuator 22 .
  • the movement plan processing unit 33 and the movement control processing unit 34 correspond to an embodiment of the movement control unit according to the present technology.
  • the input unit 18 includes a device used by the user of the small traveling robot 3 to input various data and instructions.
  • a device used by the user of the small traveling robot 3 to input various data and instructions.
  • operation devices such as touch panels, buttons, switches, keyboards, and pointing devices.
  • the output unit 19 includes a device that outputs various information to the user.
  • the display shows the depth map 47 and information about the movement plan.
  • a warning (such as "Please do not approach") may be notified to pedestrians or the like present in the vicinity of the small running robot 3 by a speaker.
  • the communication unit 20 is a communication module that communicates with other devices via a network such as WAN or LAN.
  • a communication module for short-range wireless communication such as Bluetooth (registered trademark) may be provided.
  • Communication equipment such as modems and routers may also be used.
  • the communication unit 20 executes communication between the small traveling robot 3 and an external device.
  • the storage unit 21 is a storage device such as a nonvolatile memory, and for example, an HDD, an SSD, or the like is used. In addition, any computer-readable non-transitory storage medium may be used.
  • the storage unit 21 stores a control program for controlling the overall operation of the small traveling robot 3 . The method of installing the control program, content data, etc. is not limited.
  • the storage unit 21 also stores various information such as a depth map 47 and an action plan.
  • the actuator 22 includes a configuration that realizes movement of the small traveling robot 3 .
  • a drive motor is built in the base portion 9 to rotate the tire 10 .
  • the actuator 22 operates based on the control signal generated by the movement control processing section 34 .
  • the specific configurations of the input unit 18, the output unit 19, the communication unit 20, the storage unit 21, and the actuator 22 are not limited.
  • FIG. 4 is a flowchart showing an example of processing for generating the depth map 47. As shown in FIG. A series of processes of steps 101 to 105 shown in FIG. 4 are executed, for example, at a predetermined frame rate (30 fps, 60 fps, etc.). Of course, the frame rate is not limited, and may be set as appropriate according to the processing power of the hardware.
  • Image information is acquired by the image acquisition unit 24 (step 101). Specifically, first, the monocular camera 8 is used to capture an image of the mobile body 6 and the surrounding ground. Further, the image is acquired as image information by the image acquisition unit 24 .
  • FIG. 5 is a flowchart showing a detailed processing example of step 102. As shown in FIG. First, the feature points 14 used in self-position estimation of the monocular camera 8 will be described.
  • FIG. 6 is a schematic diagram for explaining the feature points 14. As shown in FIG. In FIG. 6, illustration of the pole 7 and the like of the small traveling robot 3 is omitted.
  • the mobile body 6 has a surface on which the feature points 14 are arranged. Specifically, as shown in FIG. 6, markers are arranged on the upper surface 11 of the base portion 9 as the feature points 14 . Each marker has a star shape, and seven markers are arranged in a curved line. Of course, the shape, color, number, arrangement, etc. of the feature points 14 are not limited. Also, a mark or an object other than a marker may be arranged as the feature point 14 .
  • the upper surface 11 on which the feature points 14 are arranged is included in the sensing area of the monocular camera 8 . Therefore, the image acquired by the monocular camera 8 in step 101 is an image including the feature points 14 . Also, the image information acquired by the image acquisition unit 24 is an image including the feature points 14 . Therefore, the image information acquired by the image acquisition unit 24 can also be said to be image information including the feature points 14 .
  • the feature point extraction unit 25 acquires image information from the image acquisition unit 24 (step 201).
  • the image information acquired by the feature point extraction unit 25 is image information including the feature points 14 .
  • the feature points 14 are extracted by the feature point extractor 25 (step 202).
  • the feature point extraction unit 25 generates the coordinates of each feature point 14 based on the acquired image information. Specifically, the feature point extraction unit 25 generates coordinates of two types of feature points 14, 2D points (two-dimensional points) and 3D points (three-dimensional points).
  • a 2D point is a two-dimensional coordinate of a feature point 14 in image information.
  • a two-dimensional coordinate system is set in the image information (image including the feature point 14), and the two-dimensional coordinates indicate where the feature point 14 exists in the image.
  • a 3D point is the three-dimensional coordinates of the feature point 14 .
  • a three-dimensional coordinate system is set with a predetermined position as a reference position, and the three-dimensional coordinates of the feature point 14 are expressed.
  • the reference position is not limited, and may be an arbitrary position such as the center of the upper surface 11 of the base portion 9, for example.
  • the coordinate system for expressing 2D points and 3D points is not limited. Any coordinate system may be used, for example, a rectangular coordinate system or a polar coordinate system.
  • the feature point extraction unit 25 generates image information about the feature points 14 .
  • information is generated in which three types of information are associated: an image including the feature points 14, 2D points, and 3D points.
  • the image information about the feature points 14 generated by the feature point extraction unit 25 is output to the self-position estimation unit 26 and used for estimating the position and orientation of the monocular camera 8 .
  • the image information related to the feature points 14 generated by the feature point extraction unit 25 is not limited, and arbitrary information that can be used for estimating the position and orientation of the monocular camera 8 may be generated.
  • Solve PnP (Perspective-n-Point) is executed by the self-position estimation unit 26 (step 203).
  • Solve PnP is a method of estimating the position and orientation of a camera from 2D points and 3D points of feature points 14 captured by the camera.
  • Solve PnP is executed by the self-position estimation unit 26 based on the image information about the feature points 14 acquired from the feature point extraction unit 25 to estimate the position and orientation of the monocular camera 8 .
  • the position of the monocular camera 8 is represented by three values of X coordinate, Y coordinate, and Z coordinate in an orthogonal coordinate system based on a predetermined position, for example.
  • the attitude of the monocular camera 8 is represented by, for example, three values of pitch, yaw, and roll.
  • the method of representing the position and orientation is not limited, and any method may be adopted.
  • the position and orientation of the monocular camera 8 may be estimated based on the image information by a method other than Solve PnP.
  • the estimated position and orientation of the monocular camera 8 are output to the first calculator 27 .
  • the position and orientation of the mobile body 6 may be estimated at the same time as the position and orientation of the monocular camera 8 are estimated in step 103 .
  • the depth estimation unit 28 estimates the depth of the sensing area (step 103).
  • FIG. 7 is a flowchart showing a detailed processing example of step 103. As shown in FIG.
  • Image information is acquired from the image acquiring unit 24 by the depth estimating unit 28 (step 301). Furthermore, monocular depth estimation is performed by the depth estimation unit 28 (step 302). In the present embodiment, the depth information is acquired by executing machine learning with the image information as input by the depth estimation unit 28 .
  • the depth estimation unit 28 has a learning unit and an identification unit (not shown).
  • the learning unit performs machine learning based on input learning data (image information) and outputs a learning result (depth information).
  • the identification unit identifies (determines, predicts, etc.) the input learning data based on the input learning data and the learning result.
  • Deep learning for example, is used as a learning method in the learning unit.
  • Deep learning is a model using a multi-layered neural network, which repeats characteristic learning in each layer and can learn complex patterns hidden in a large amount of data. Deep learning is used, for example, to identify objects in images and words in audio. Of course, it can also be applied to the calculation of depth information according to this embodiment. Of course, other learning methods such as a learning method using a neural network may be used.
  • Depth information for the sensing area is acquired by the learned depth estimation unit 28 with image information as input. For example, a depth value for each pixel of image information is acquired as depth information. The acquired depth information for the sensing area is output to the recognition unit 29 .
  • FIG. 8 is a flow chart showing a detailed processing example of step 104 .
  • the first calculator 27 calculates the height of the monocular camera 8 from the surrounding ground (step 401).
  • FIG. 9 is a schematic diagram for explaining calculation of the height of the monocular camera 8 from the surrounding ground.
  • the position and orientation of the monocular camera 8 estimated by the self-position estimation unit 26 are acquired by the first calculation unit 27 .
  • the height of the monocular camera 8 with respect to the mobile body 6 is calculated by the first calculator 27 .
  • the height of the monocular camera 8 with respect to the mobile body 6 corresponds to the vertical distance between the upper surface 11 of the base portion 9 of the mobile body 6 and the monocular camera 8 . In FIG. 9, the distance is indicated by an arrow as "estimation result height (a)".
  • the height (a) is calculated based on the position of the monocular camera 8 estimated by the self-position estimation unit 26 . Specifically, the height (a) is calculated based on the Z coordinate of the position and orientation acquired by the first calculator 27 . For example, when the reference position of the coordinate system representing the position is on the upper surface 11, the Z coordinate and the height (a) are equal. Therefore, the first calculator 27 directly calculates the value of the Z coordinate as the height (a).
  • the height ( a) can be calculated.
  • the height (a) may be calculated based on values other than the Z coordinate, such as the X coordinate and Y coordinate of the position, the pitch of the attitude, the yaw, and the roll.
  • the specific calculation method of the height (a) is not limited.
  • the first calculator 27 calculates the height (A) of the monocular camera 8 from the surrounding ground 37 .
  • the height (A) is indicated by an arrow in FIG.
  • the design height (b) is indicated by an arrow.
  • the design height (b) is the height of the mobile body 6 and is a known value.
  • the height (a) is the height of the monocular camera 8 with respect to the mobile body 6, the value obtained by adding the height (b) to this value is the height of the monocular camera 8 with respect to the surrounding ground 37.
  • Height (A) Therefore, the total value of the height (a) and the height (b) is calculated as the height (A) by the first calculator 27 .
  • the height (A) can also be said to be the first distance (the distance between the monocular camera 8 and the surrounding ground 37).
  • the shortest distance between the monocular camera 8 and the surrounding ground surface 37 is calculated by the first calculator 27 as the first distance.
  • the direction in which the distance is the shortest among all the directions, that is, the distance in the vertical direction is calculated as the first distance. This makes it possible to accurately calculate the first distance.
  • the first calculator 27 may calculate a distance other than the shortest distance between the monocular camera 8 and the surrounding ground 37 .
  • a distance in a direction slightly crossing the vertical direction may be calculated.
  • a distance other than the shortest distance can also be called the first distance.
  • the height (a) is calculated based on the image information regarding the feature point 14 . Furthermore, the total value of height (a) and height (b) is calculated as height (A). By using such a calculation method, the height (a) and the height (A) can be calculated with high accuracy.
  • the recognition unit 29 recognizes the surrounding ground surface 37 (step 402). Specifically, first, the recognition unit 29 acquires depth information for the sensing region from the depth estimation unit 28 .
  • the sensing area includes the mobile body 6 and the surrounding ground 37 . Therefore, the depth information (depth value for each pixel) acquired by the recognition unit 29 can include both the depth value for the mobile body 6 and the depth value for the surrounding ground surface 37 .
  • the recognition unit 29 determines for each pixel which depth value the depth value corresponds to. Determination by the recognition unit 29 is performed based on the acquired depth information. Alternatively, for example, image information may be acquired from the image acquiring unit 24 and determination may be performed based on the image information. Also, both depth information and image information may be used for discrimination.
  • the recognition unit 29 outputs the depth information and the determination result for the sensing area to the second calculation unit 30 .
  • the second calculator 30 calculates the shortest distance from the monocular camera 8 to the surrounding ground 37 (step 403).
  • FIG. 10 is a schematic diagram for explaining calculation of the shortest distance from the monocular camera 8 to the surrounding ground 37. As shown in FIG. In FIGS. 10A and B, the shortest distance (B) from the monocular camera 8 to the surrounding ground 37 is indicated by an arrow. 10A and 10B illustrate a state in which the small traveling robot 3 travels and the pole 7 and the monocular camera 8 are tilted due to inertia.
  • the depth information for the sensing area is acquired from the recognition unit 29 by the second calculation unit 30 .
  • the depth information may include both a depth value for the mobile body 6 and a depth value for the surrounding ground 37 .
  • the second calculation unit 30 calculates the smallest depth value among the acquired depth information (depth value for each pixel).
  • the photographing direction of the monocular camera 8 is directed toward the center of the upper surface 11 of the base portion 9, so the photographing range 40 is a predetermined range with the center of the upper surface 11 as a reference.
  • the imaging range 40 is indicated by diagonal lines.
  • the imaging range 40 includes both the mobile body 6 and the surrounding ground 37 . Therefore, the depth information acquired by the second calculator 30 also includes both the depth value for the mobile body 6 and the depth value for the surrounding ground surface 37 .
  • the monocular camera 8 is positioned vertically above the surrounding ground 37 and not vertically above the mobile body 6 . Therefore, the smallest depth value is the depth value of the pixel in which the surrounding ground 37 vertically below the monocular camera 8 is captured.
  • the imaging range 40 includes both the moving body main body 6 and the surrounding ground surface 37, as in FIG. 10A.
  • the depth information acquired by the second calculator 30 also includes both the depth value for the mobile body 6 and the depth value for the surrounding ground surface 37 .
  • the monocular camera 8 is positioned vertically above the mobile body 6 . Therefore, the smallest depth value is the depth value of the pixel in which the mobile body 6 vertically below the monocular camera 8 is captured.
  • the “minimum depth value” calculated by the second calculation unit 30 is the depth value of the pixel that captures the vertically downward direction of the monocular camera 8, and is relative to either the mobile body 6 or the surrounding ground 37. Depth value.
  • the candidate shortest distance is calculated by the second calculator 30 based on the “smallest depth value”.
  • the candidate shortest distance is the shortest distance between the monocular camera 8 and the sensing area. That is, the vertical distance between the monocular camera 8 and the object (either the mobile body 6 or the surrounding ground 37) positioned vertically below the monocular camera 8 is calculated. Note that the method of calculating the candidate shortest distance is not limited, and any method of calculating the distance based on the depth value may be used.
  • the second calculation unit 30 determines whether the "smallest depth value" used to calculate the candidate shortest distance is the depth value with respect to the moving body main body 6 or the depth value with respect to the surrounding ground surface 37. . Determination is performed based on the determination result obtained from the recognition unit 29 .
  • the "smallest depth value" is determined to be the depth value for the surrounding ground surface 37.
  • the second calculator 30 determines that the candidate shortest distance is the vertical distance between the monocular camera 8 and the surrounding ground 37 . That is, the candidate shortest distance is the shortest distance (B) shown in FIG. 10A.
  • the second calculation unit 30 determines that the candidate shortest distance is the vertical distance between the monocular camera 8 and the mobile body 6 . That is, the candidate shortest distance is the shortest distance (a) to the mobile body 6 shown in FIG. 10B. In this case, the shortest distance (B) to the surrounding ground 37 is obtained by adding the designed height (b) to the shortest distance (a). Therefore, the second calculator 30 calculates the sum of the shortest distance (a) and the height (b) as the shortest distance (B).
  • the first 2 calculates the shortest distance (B).
  • the shortest distance (B) is calculated with high accuracy.
  • the shortest distance (B) can also be said to be the second distance (the distance between the monocular camera 8 and the surrounding ground 37).
  • the second calculator 30 may calculate a distance other than the shortest distance between the monocular camera 8 and the surrounding ground 37 .
  • a distance in a direction slightly crossing the vertical direction may be calculated.
  • a distance other than the shortest distance can also be called a second distance.
  • the specific calculation method of the first distance and the second distance is not limited. Any method of calculating the distance between the sensor and the sensing area as the first distance may be employed, for example, based on the estimated position of the sensor. Also, any method of calculating the distance between the sensor and the sensing area as the second distance based on the depth information may be adopted.
  • the reliability is calculated by the reliability calculator 31 (step 404).
  • FIG. 11 is a schematic diagram of a table used for reliability calculation.
  • the reliability calculation unit 31 calculates based on the difference between the height (A) calculated by the first calculation unit 27 and the shortest distance (B) calculated by the second calculation unit 30. , the reliability of the depth information is calculated.
  • a table (reliability reference table) is used to calculate the reliability.
  • the table 43 shown in FIG. 11A is used to calculate the reliability.
  • the horizontal axis of the table 43 represents the gap (the absolute value of the difference between the height (A) and the shortest distance (B)).
  • the absolute value of the difference between the height (A) and the shortest distance (B) corresponds to one embodiment of the difference between the first distance and the second distance according to the present technology.
  • the vertical axis of the table 43 represents the reliability of depth information. That is, the table 43 is a table that inputs the gap and outputs the reliability.
  • the reliability calculation unit 31 acquires the height (A) calculated by the first calculation unit 27 and the shortest distance (B) calculated by the second calculation unit 30 . Further, the reliability calculation unit 31 calculates the gap and inputs the calculated gap to the table 43 to calculate the reliability.
  • a value in the range of 0.0 to 1.0 is calculated as the reliability. For example, if the gap is a value close to 0, the calculated reliability will be a value close to 1.0. Also, as the gap increases to some extent, the calculated reliability decreases to 0.8, 0.6, and so on.
  • the table 43 is a monotonically decreasing table (a table in which the larger the input gap is, the smaller the output reliability is). Therefore, the reliability calculation unit 31 calculates the reliability of the depth information so that the reliability of the depth information increases as the difference between the height (A) and the shortest distance (B) decreases.
  • the monotonically decreasing table is not limited to a table in which the relationship between the gap and the reliability is a curve like the table 43 .
  • a table 44 shown in FIG. 11B, in which the relationship between the gap and the reliability is a straight line may be used. By using the table, it becomes possible to calculate the reliability with high accuracy. Also, efficient processing becomes possible.
  • any monotonically decreasing table may be used.
  • a table other than a monotonically decreasing table may be used.
  • a table may be used in which the reliability increases along the way as the gap increases.
  • the reliability may be calculated using a function or the like.
  • the specific method for calculating the reliability is not limited.
  • step 401 (calculation of height), step 402 (recognition of the ground) and step 403 (calculation of shortest distance) are shown in parallel. Not limited. For example, either step 401 or step 402 may be performed first.
  • FIG. 12 is a schematic diagram of the depth map 47 created by the map creating section 32. As shown in FIG.
  • the depth map 47 is information in which a position in a certain region is associated with a depth value at that position.
  • a sensor capable of acquiring a depth value acquires a depth value for each position in the region with the position of the sensor as a reference.
  • the depth value of position A is 30, the depth value of position B is 50, . . . , and so on.
  • Information in which positions and depth values are associated is generated as a depth map 47 .
  • the depth value inside the hole will be a relatively large value.
  • the depth value at the convex portion is a relatively small value.
  • the depth value changes compared to the surroundings. Therefore, based on the depth value, it is also possible to obtain information about the position where the obstacle exists. Such information may be included in depth map 47 .
  • the moving body can avoid obstacles or select the shortest route to the destination and travel.
  • the map creation unit 32 creates a depth map 47 in which the sensing area, the depth information, and the reliability of the depth information are associated with each other.
  • FIG. 12A shows a depth map 47 created by the map creating section 32 .
  • the small traveling robot 3 is schematically illustrated by a hatched circle.
  • a depth map 47 is created in a predetermined area based on the small traveling robot 3 .
  • a depth map 47 is created in a rectangular area centered on the small traveling robot 3 .
  • the rectangular area is included in the imaging range 40 (sensing area) of the monocular camera 8 .
  • the reference position, shape, range, etc. of the area are not limited.
  • the map creation unit 32 acquires depth information for the sensing area from the depth estimation unit 28 . Further, the reliability is acquired from the reliability calculation unit 31 by the map creation unit 32 . Further, the map creation unit 32 extracts information in which the position of each rectangular area and the depth value are associated with each other. Since the rectangular area is an area included in the sensing area, for example, the acquired depth information for the sensing area (information in which each position of the sensing area is associated with a depth value) can be used to determine each rectangular area. It is possible to extract only the information associated with the position and the depth value.
  • FIG. 12A schematically illustrates a state in which a rectangular area is divided into grids.
  • the region is divided into 12 rectangular grids, each of which is arranged in a grid pattern of 4 vertically and 3 horizontally.
  • the area is divided with the range of the area corresponding to the pixel range as one grid.
  • the specific range, shape, etc. of the grid are not limited.
  • Each grid becomes a processing unit of position. That is, processing by the map creating unit 32 and the like is executed with one grid as one position. Note that the method of processing by the map creation unit 32 and the like is not limited to the method using the grid.
  • the map creation unit 32 generates information in which grid positions and depth values are associated with each other.
  • Such information is, for example, D(X, Y) and so on.
  • the generated information (D(X, Y)) is also 12 types of D(1, 1) to D(3, 4).
  • the position of the grid is represented only by the X and Y coordinates for the sake of clarity of explanation, but the position may also include the Z coordinate.
  • information in which grid positions and depth values are associated is, for example, D(X, Y, Z) and so on.
  • the map creation unit 32 further associates reliability with the information (D(X, Y)) in which the position and the depth value are associated.
  • a plurality of depths with degrees of reliability generated in this manner constitute the depth map 47 . That is, the depth map 47 can also be said to be a depth map 47 in which the sensing area, the depth information, and the reliability of the depth information are associated with each other. What kind of information the created depth map 47 is is not particularly limited, and it may be arbitrary information in which the sensing area, the depth information, and the reliability of the depth information are associated with each other. Any map information other than the depth map 47 may be created, and the specific method for creating the map information is not limited.
  • the depth with reliability is further associated with a frame number.
  • Dconf(N) may be referred to as depth with reliability without being distinguished from Dconf.
  • Dconf(1) (D(2,4)(1),0.6)
  • a depth with confidence such as is generated.
  • the same coordinates (2, 4) are associated with different confidences, such as a confidence of 1.0 in frame 0 and a confidence of 0.6 in frame 1 . Since one type of reliability is obtained for each frame in the map creating unit 32, even if the reliability for the same coordinate is obtained, the reliability may have a different value if the frame number is different. This also applies to depth values.
  • a depth map 47 created by the map creator 32 is illustrated while the small traveling robot 3 is moving.
  • the first distance (height (A)) calculated by the first calculator 27 and the second distance (shortest distance (B)) calculated by the second calculator 30 are both the same.
  • the first distance and the second distance also become relatively inaccurate values, resulting in a difference between the first distance and the second distance. That is, the gap calculated based on the difference between the first distance and the second distance has a relatively large value. Then, a relatively low value is calculated as the reliability.
  • the small traveling robot 3 is moving, so a relatively low reliability value of 0.6 is calculated. If the small traveling robot 3 moves even faster, the monocular camera 8 may vibrate violently and the reliability may be calculated lower.
  • a depth map 47 including information about the obstacle 48 may be created as the depth map 47 by the map creating unit 32 .
  • the depth map 47 may include the presence or absence of obstacles on the sensing area.
  • An obstacle 48 exists at the position of .
  • the specific method of expressing the information associated with the presence or absence of the obstacle 48 is not limited. Further, as information about the obstacle 48 , information such as the size, height, type, etc. of the obstacle 48 may be included in the depth map 47 .
  • FIG. 13 is a flowchart showing a detailed processing example of step 105. As shown in FIG.
  • the depth map 47 is initialized by the map generator 32 (step 501).
  • the depth map 47 is first initialized.
  • the case where the depth map 47 is created for the first time is, for example, the moment when the small traveling robot 3 starts moving, and corresponds to the case where the series of processes of steps 101 to 105 shown in FIG. 4 are executed for the first time.
  • Initialization of the depth map 47 may be performed.
  • an initialization button for initialization may be provided, and the initialization process may be executed when a user (such as a delivery person) using the small traveling robot 3 presses the initialization button.
  • the depth map 47 is created by the map creating unit 32 in a predetermined area based on the small traveling robot 3 while the small traveling robot 3 is stopped.
  • the map creation unit 32 acquires a relatively high reliability value. For example, a reliability of 1.0 is acquired, and a depth map 47 is created in which a grid of 12 squares is associated with a reliability of 1.0, as in the example of FIG. 12A.
  • an unsearched area is created that is uniformly associated with a reliability of 0.0. Sensing is not performed in the unsearched area, and depth information is not acquired, so depth information is not associated with the unsearched area.
  • an initial depth value such as "0" may be associated as a provisional depth value.
  • FIG. 14 is a schematic diagram of a depth map 47 created by the map creating section 32.
  • FIG. 14A shows two depth maps 47 consisting of a 12-square grid. Note that in this figure, different codes such as depth map 47a and depth map 47b are used in order to distinguish the two depth maps 47 from each other.
  • the small traveling robot 3 moves upward by one grid and rightward by one grid, and a new depth map 47b is created at the position after the movement. It is shown.
  • a series of processes of steps 101 to 105 shown in FIG. 4 are executed at any time (for example, at a predetermined frame rate) even while the small traveling robot 3 is moving, and a new depth map 47b is continuously created.
  • An algorithm called ICP Iterative Closest Point
  • ICP is an algorithm that uses two point cloud data acquired by sensors to calculate a position where the point cloud data match.
  • the depth map 47b that has been obtained once is subjected to ICP with the depth map 47a that is obtained immediately before, and the depth map 47b after the ICP is generated.
  • the depth map 47b is accurately corrected, and a new depth map 47b can be generated with high accuracy.
  • ICP may be used for self-position estimation of the monocular camera 8 in step 102 and depth estimation in step 103 .
  • ICP may be performed between the acquired depth value and the previously acquired depth value to correct the acquired depth value.
  • the method of creating the new depth map 47b is not limited to the method using ICP, and any method may be employed.
  • step 503 It is determined whether the newly created depth map 47b is the depth map 47b for the unsearched area (step 503).
  • an unsearched area associated with a reliability of 0.0 is created in grids other than the 12-square grid.
  • the newly created depth map 47b does not include the previously created depth map 47a, it is determined to be the depth map 47b for an unsearched area. On the other hand, if the newly created depth map 47b includes the previously created depth map 47a (for example, if one or more grids of the newly created depth map 47b overlap the depth map 47a ), it is determined that the depth map 47b does not correspond to the unsearched area.
  • FIG. 14A shows a state where the depth map 47b is determined not to be the depth map 47b for the unsearched area.
  • the depth map 47b includes six upper right grid areas of the depth map 47a created in the past. That is, the six grids on the upper right of the depth map 47a (2 horizontal x 3 vertical from the upper right) overlap the 6 grids on the lower left of the depth map 47b (2 horizontal x 3 vertical from the lower left).
  • the overlapped area 51 is illustrated by a dashed rectangle.
  • the overlapping region 51 is a region of the depth map 47b that overlaps with the depth map 47b corresponding to the previously created depth map 47a.
  • a confidence comparison is performed on the overlap region 51 .
  • the map creating unit 32 calculates the highest reliability in the overlapping area 51 .
  • the depth map 47a has a reliability of 1.0
  • the depth map 47b has a reliability of 0.6. Therefore, 1.0, which is the reliability of the depth map 47a, is calculated as the reliability of the highest value on the overlapping region 51 .
  • the depth maps 47b are integrated (step 505). In this case, there is no overlapping area 51 between the depth map 47a and the depth map 47b. Integration is performed by overwriting the unsearched area with the depth map 47b, and the depth map 47 after integration is created from the depth map 47a and the depth map 47b.
  • FIG. 14B shows the depth map 47c after integration.
  • the area that was originally the overlapping area 51 in FIG. 14A (the central 6-square grid) is associated with the highest reliability of 1.0.
  • the reliability of the depth map 47a or the depth map 47b is directly associated with the region that was originally not the overlapping region 51 .
  • the depth information associated with the highest reliability in the overlapping area 51 is associated with the overlapping area 51 .
  • the depth information associated with the reliability of 1.0, which is the highest reliability, is the reliability of the depth map 47a. Therefore, the depth information of the depth map 47a is associated with the area of the depth map 47c that was originally the overlapping area 51.
  • the area that was originally the overlapping area 51 is associated with the depth information and reliability of the depth map 47a. Also, the area that was originally included in the depth map 47a and was not the overlap area 51 is associated with the depth information and reliability of the depth map 47a. Also, the area that was originally included in the depth map 47b and was not the overlap area 51 is associated with the depth information and reliability of the depth map 47b.
  • the depth map 47a and the depth map 47b are integrated to create a depth map 47c. That is, when the overlapping area 51 exists, integration is performed in such a manner that the reliability and depth information are overwritten if the new reliability is higher than the existing reliability.
  • the integrated depth map 47c is stored in the storage unit 21, for example.
  • the specific method of integration is not limited, and any method may be used.
  • FIG. 15 is a schematic diagram of a depth map 47 created by the map creating section 32. As shown in FIG. 15A, after the depth map 47c of FIG. 14B is created by integration, the small traveling robot 3 moves further upward by one grid and rightward by one grid, and a new depth map is created at the position after the movement. 47d is shown created. The depth map 47d is uniformly associated with a reliability of 0.8.
  • the map generator 32 compares the reliability on the overlapping area 51 .
  • the overlapping area 51 is an area corresponding to the upper right six grids of the depth map 47c and the lower left six grids of the depth map 47d.
  • the two grids on the lower left (1 horizontal by 2 vertical from the lower left) have a reliability of 1.0.
  • the reliability of four grids other than the two grids on the lower left is 0.6.
  • the reliability of the lower left six grids of the depth map 47d is 0.8.
  • the reliability of the depth map 47c of 1.0 is compared with the reliability of the depth map 47d of 0.8. Then, the reliability 1.0 and the depth information of the depth map 47c are associated.
  • the reliability of the depth map 47c of 0.6 is compared with the reliability of the depth map 47d of 0.8. Then, the reliability 0.8 and the depth information of the depth map 47d are associated.
  • FIG. 15B shows the depth map 47e after integration.
  • step 106 It is determined whether or not the process of generating the depth map 47 is finished (step 106). If it is determined to end the generation process (Yes in step 106), the process ends. For example, when the small traveling robot 3 reaches the destination and finishes moving, it is determined that the depth map 47 generation process is finished. Determination is performed by the map creating unit 32 or the like, for example. If it is determined not to end the generation process (No at step 106), the series of processes from step 101 to step 105 are executed again.
  • step 102 self-position estimation
  • step 103 depth estimation
  • the process of step 103 may be executed first, or the two processes may be executed in parallel.
  • the reliability of the depth information may be calculated by the reliability calculation unit 31 based on the reliability at the time of acquisition of the depth information calculated when the depth information is acquired. Specifically, when the depth information is acquired by the depth estimation unit 28 in step 103 (depth estimation), depending on the method of depth estimation, the reliability at acquisition of the acquired depth information may be calculated. be.
  • the acquisition reliability is a parameter that indicates how accurate the depth information acquired by the depth estimation unit 28 is. For example, if the image information used to acquire the depth information is a blurred image, the acquired depth information is also determined to be relatively inaccurate, and the reliability at the time of acquisition is calculated to be low.
  • the method of calculating the reliability at the time of acquisition is not limited, and may be arbitrary. Also, a machine learning algorithm or the like may be used to calculate the reliability at the time of acquisition. Since the depth information is a depth value that differs from grid to grid, the acquisition reliability also has a different value from grid to grid.
  • Gap reliability is reliability calculated based on the first distance and the second distance. For example, in the same way as the method described in step 404, the absolute value
  • the gap reliability may be calculated by other methods based on the first distance and the second distance.
  • the reliability calculation unit 31 calculates integrated reliability.
  • the integrated reliability is calculated based on the acquisition reliability and the gap reliability. Therefore, the parameters reflect the accuracy of the acquired depth information and the accuracy of the first distance and the second distance.
  • the gap reliability has the same value uniformly in 12 grids, but the reliability at the time of acquisition has a different value for each grid, so the integrated reliability also has a different value for each grid.
  • a depth map 47 associated with the integrated reliability is created by the map creator 32 . Specifically, the depth map 47 is created by associating the integrated reliability and depth information of the depth map 47 with the highest integrated reliability in the overlap region 51 .
  • FIG. 16 is a schematic diagram of a depth map 47 associated with integrated reliability. As shown in FIG. 16, the depth map 47 is associated with a different integrated reliability for each grid.
  • the reliability of the depth information acquired by the depth estimation unit 28 (reliability at the time of acquisition) is evaluated, and the depth map 47 is created with high accuracy.
  • a specific method for calculating the integrated reliability is not limited, and the integrated reliability may be calculated by any method based on the reliability at the time of acquisition.
  • the integrated reliability corresponds to an embodiment of the reliability of depth information calculated based on the first distance and the second distance by the reliability calculation unit according to the present technology.
  • Movement of the small traveling robot 3 is controlled by the movement control processing unit 34 based on the depth map 47 .
  • the depth map 47 created by the map creation unit 32 is acquired by the movement plan processing unit 33 .
  • the movement plan processing unit 33 generates a movement plan for the small traveling robot 3 based on the obtained depth map 47 .
  • the depth map 47 includes the destination position of the small traveling robot 3 and the presence or absence of an obstacle 48 . Then, based on the depth map 47, the movement plan processing unit 33 generates the shortest route that allows the user to reach the destination in the shortest time (or the shortest distance) while avoiding the obstacles 48 as a movement plan.
  • the travel plan may include not only the shortest route, but also a safe route to the destination. In addition, any information related to movement such as the speed and acceleration of the small running robot 3 may be included.
  • the movement of the small traveling robot 3 is controlled by the movement control processing section 34 based on the movement plan created by the movement plan processing section 33 .
  • the movement control processing unit 34 generates a control signal for controlling specific movement of the actuator 22 .
  • the driving motor and the like included in the actuator 22 operate based on the generated control signal.
  • generation of a movement plan by the movement plan processing unit 33 and movement control by the movement control processing unit 34 are included in movement control according to the present technology.
  • FIG. 17 is a schematic diagram showing an example of a moving route of the small traveling robot 3. As shown in FIG. In FIG. 17, the movement path of the small traveling robot 3 is indicated by arrows. A depth map 47 corresponding to the sensing area in which the small traveling robot 3 moves is also shown. Note that the depth map 47 is associated with a different integrated reliability for each grid.
  • the small traveling robot 3 is moving from the initial position (the position where the small traveling robot 3 is illustrated) toward the goal 55, which is the destination. It has been determined that an obstacle 48a exists on the grid 54a on the side of the initial position of the small traveling robot 3 .
  • the movement plan processing unit 33 sets the obstacle 48 as an object to be avoided when the reliability of the depth information of the area in the sensing area where the obstacle 48 exists is relatively high. For example, a predetermined threshold such as "0.5" is set, and when the integrated reliability is higher than the threshold, the obstacle 48 is set as an object to be avoided. In this example, the integrated reliability of grid 54a is 0.9, which is higher than the threshold. Therefore, the movement plan processing unit 33 sets the obstacle 48a as an object to be avoided. Then, a movement plan including a route avoiding the obstacle 48a is generated. This allows the small traveling robot 3 to travel safely.
  • the small traveling robot 3 avoids the obstacle 48a and moves to the grid 54b. It is determined that the obstacle 48b exists in the grid 54c above the grid 54b. Also in this case, the integrated reliability of the grid 54c is 0.9, which is higher than the threshold, so the obstacle 48b is set as an object to be avoided.
  • the movement routes toward the goal 55 while avoiding the obstacle 48b include a route reaching the goal 55 via the grids 54d and 54f and a route reaching the goal 55 via the grids 54e and 54f. You could think so.
  • the integrated reliability of grid 54d is 0.8, and the integrated reliability of grid 54e is 0.4.
  • the integrated reliability of the grid 54d is higher, it is less likely that an error has occurred in the depth estimation and that the determination result that the obstacle 48 does not exist is more likely to be correct. be. In other words, it is determined that there is a low possibility of erroneously determining that the obstacle 48 does not exist even though the obstacle 48 actually exists.
  • a movement route leading to the grid 54d is selected. That is, the movement plan processing unit 33 generates a movement plan including the grid 54d in the movement route, and controls the movement of the small traveling robot 3.
  • FIG. 18 is a schematic diagram showing an example of a moving route of the small traveling robot 3.
  • the small traveling robot 3 first moves from the initial position to the grid 54g while avoiding the obstacle 48.
  • the goal 55 which is the destination
  • the integrated reliability of the grid 54h is 0.2, which is a low value.
  • the movement plan processing unit 33 does not set the obstacle 48 as a target to be avoided when the reliability of the depth information of the area in the sensing area where the obstacle 48 exists is relatively low. For example, a predetermined threshold such as "0.5" is set, and if the integrated reliability is lower than the threshold, even if it is determined that the obstacle 48 exists, the obstacle 48 is set as a target to be avoided. do not.
  • the integrated reliability of grid 54h is 0.2, which is lower than the threshold. Therefore, the movement plan processing unit 33 does not set the obstacle 48c as an avoidance target. Then, a movement plan including a route that does not avoid the obstacle 48c (a route that passes through the grid 54h) is generated. In this way, considering the possibility that the route may include an area with low reliability, the movement plan may be created in consideration of the balance. This enables the small traveling robot 3 to travel efficiently.
  • the threshold used for determining whether the reliability of depth information is relatively high or low may be any value. For example, if it is desired to have the small traveling robot 3 reach its destination quickly, even if it means sacrificing safety to some extent, the threshold is set high. By doing so, even if it is determined that the obstacle 48 exists and the reliability is somewhat high, a movement plan is generated that passes through the area, and the arrival time to the destination is shortened. be. On the other hand, if it is desired to give priority to safety even if it takes some time to reach the destination, the threshold is set low. By doing so, even in an area with a slightly low reliability, if it is determined that an obstacle 48 exists, a movement plan for avoiding that area is generated, and the small traveling robot 3 can be safely moved. It can be moved. Note that the method of determining whether the reliability of depth information is relatively high or low is not limited to the method using a threshold, and any method may be used.
  • FIG. 19 is a schematic diagram showing an example of a moving route of the small traveling robot 3. As shown in FIG. The example shown in FIG. 19 shows the state after the small traveling robot 3 reaches the grid 54g in FIG. 18 and a movement plan passing through the grid 54h is generated.
  • a new depth map 47 is created by the map creating section 32 when the small traveling robot 3 enters the grid 54h.
  • FIG. 19 shows the newly created depth map 47 .
  • the integration reliability of the grid 54h was 0.2, but in the new depth map 47 in FIG. 19, the integration reliability of the grid 54h is changed to 1.0.
  • a movement plan may be generated in which the small traveling robot 3 hurriedly avoids the obstacle 48 .
  • sensing is performed while the small traveling robot 3 is moving a little or stopped in order to accurately confirm the presence or absence of the obstacle 48.
  • a route that bypasses the obstacle 48 may be planned. This makes it possible to realize flexible movement according to changes in reliability.
  • the position of the monocular camera 8 is estimated based on the image information for the sensing area, and the first distance between the monocular camera 8 and the sensing area is calculated.
  • a second distance between the monocular camera 8 and the sensing area is calculated based on the depth information for the sensing area.
  • the reliability of the depth information for the sensing area is calculated.
  • FIG. 20 is a schematic diagram of the small traveling robot 3 or the truck 1 on which the traveling robot is placed. Similar to FIG. 1, FIG. 20A illustrates a state in which a small traveling robot 3 according to the present technology is placed on a truck 1. FIG. FIG. 20B shows a state in which a traveling robot 58 as a comparative example is placed on the truck 1 .
  • FIG. 20B when a relatively large traveling robot 58 is placed on the truck 1, there is only one traveling robot 58 and four packages 2, so many traveling robots 58 and packages 2 cannot be placed. .
  • FIG. 20A when the small traveling robots 3 according to the present technology are mounted, there are two small traveling robots 3 and five packages 2, which are more compact robots than the example in FIG. 20B. It becomes possible to put the traveling robot 3 and the load 2 on it.
  • FIG. 21 is a schematic diagram of the sensing range of the small running robot 3 or the running robot 58. As shown in FIG. In FIG. 21A, the sensing range of the small-sized traveling robot 3 according to the present technology is illustrated with diagonal lines. FIG. 21B shows the sensing range of the traveling robot 58 as a comparative example.
  • the sensing range of the traveling robot 58 is the space in front of the traveling robot 58 .
  • An obstacle 48 exists in front of the traveling robot 58 .
  • the sensing range does not include the bottom surface of the hole and part of the wall surface (upper side and lower side), and the entire hole and wall surface are not sensed.
  • the traveling robot 58 having a low sensor position such as the traveling robot 58 of the comparative example, it is difficult to acquire sufficient information necessary for recognizing the surrounding environment, and it is difficult to plan a safe route.
  • it is possible to increase the height of the traveling robot 58 and install the sensor at a high place there arises a problem that the traveling robot 58 tends to fall down.
  • the storage location is limited.
  • the monocular camera 8 is installed at the upper end of the pole 7 with the imaging direction directed downward. Then, the entire hole and wall surface are sensed by taking a bird's-eye view of the entire ground surface. This makes it possible to acquire the shape of the ground necessary for safe driving, such as the depth of the hole and the height of the wall. Then, it becomes possible to determine whether or not the small traveling robot 3 can climb the wall surface. Also, it becomes possible to generate a depth map 47 of a wide area.
  • the pole 7 serves as a landmark, and it becomes possible to call attention to pedestrians and the like in the vicinity. For example, an accident in which a pedestrian or the like does not notice the presence of the small running robot 3 and collides with the small running robot 3 can be prevented.
  • the reliability is calculated such that the reliability increases as the difference between the first distance and the second distance decreases. This makes it possible to accurately evaluate the difference between the first distance and the second distance.
  • a depth map 47 is created in which the sensing region, depth information, and reliability are associated with each other. This makes it possible to create a high quality depth map 47 .
  • an accurate depth map 47 is created because it includes more reliability information than a depth map in which only sensing regions and depth information are associated.
  • the depth map 47 is created using the depth information associated with the highest reliability in the overlapping area 51 .
  • the depth map 47 is created with high accuracy.
  • machine learning is executed with the sensing region result obtained by the monocular camera 8 as an input, and depth information is acquired. This makes it possible to acquire depth information with high accuracy with a simple sensor configuration.
  • a sensor capable of acquiring depth information may be provided in addition to the sensor capable of acquiring an image.
  • distance sensors such as LiDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging) and ToF (Time of Flight) sensors can be used.
  • a sensor capable of acquiring both images and depth information such as a stereo camera, may be used. In this case, the process of acquiring depth information based on image information in step 103 can be omitted.
  • the configuration is not limited to the configuration in which the sensor is attached to the top of the pole 7, and a configuration in which the sensor is built in the mobile body main body 6, for example, may be employed.
  • the position of the sensor and the like may be determined as appropriate within the range in which the present technology can be implemented.
  • the small traveling robot 3 may have a plurality of sensors.
  • a pole whose length can be adjusted may be used as the pole 7 .
  • the scale of sensing can be known, sensing without using the feature points 14 is possible, and the present technology can be realized with a simple configuration.
  • a configuration including an IMU (Inertial Measurement Unit) may be adopted. This makes it possible to improve the accuracy of self-position estimation of the sensor and the mobile body 6 .
  • FIG. 22 is a schematic diagram of the small traveling robot 3 and the computer 61. As shown in FIG. FIG. 22 shows the small traveling robot 3 and an external computer 61 (server device, etc.).
  • a computer 61 that can communicate via a network or the like.
  • the small traveling robot 3 and the computer 61 may be provided with a communication function.
  • other functional blocks with communication functions may be configured and be able to cooperate with the "communication part".
  • the sensing result obtained by the monocular camera 8 is transmitted from the small traveling robot 3 to the computer 61 .
  • Various functional blocks of the computer 61 generate a depth map 47, a movement plan, and the like based on the sensing results.
  • the generated movement plan or the like is transmitted to the small traveling robot 3 via a network or the like.
  • the "information control method" according to the present technology may be executed.
  • Such a configuration can also be called an "information processing system” according to the present technology.
  • FIG. 23 is a block diagram showing a hardware configuration example of the computer 61.
  • the computer 61 comprises a CPU 501, a ROM 502, a RAM 503, an input/output interface 505, and a bus 504 connecting them together.
  • a display unit 506, an input unit 507, a storage unit 508, a communication unit 509, a drive unit 510, and the like are connected to the input/output interface 505.
  • the display unit 506 is a display device using liquid crystal, EL, or the like, for example.
  • the input unit 507 is, for example, a keyboard, pointing device, touch panel, or other operating device. If input unit 507 includes a touch panel, the touch panel can be integrated with display unit 506 .
  • a storage unit 508 is a non-volatile storage device, such as an HDD, flash memory, or other solid-state memory.
  • the drive unit 98 is a device capable of driving a removable recording medium 511 such as an optical recording medium or a magnetic recording tape.
  • a communication unit 509 is a modem, router, or other communication equipment connectable to a LAN, WAN, or the like, for communicating with other devices.
  • the communication unit 509 may use either wired or wireless communication.
  • the communication unit 509 is often used separately from the computer 61 .
  • Information processing by the computer 61 having the hardware configuration as described above is realized by cooperation of software stored in the storage unit 508 or the ROM 502 or the like and the hardware resources of the computer 61 .
  • the information processing method according to the present technology is realized by loading a program constituting software stored in the ROM 502 or the like into the RAM 503 and executing the program.
  • the program is installed in the computer 61 via the removable recording medium 511, for example.
  • the program may be installed on the computer 61 via a global network or the like.
  • any non-transitory storage medium readable by the computer 61 may be used.
  • the information processing method according to the present technology may be executed by a plurality of computers communicably connected via a network or the like, and the information processing apparatus according to the present technology may be constructed. That is, the information processing method according to the present technology can be executed not only in a computer system configured by a single computer, but also in a computer system in which a plurality of computers operate in conjunction with each other.
  • a system means a set of multiple components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a single device housing a plurality of modules within a single housing, are both systems.
  • Execution of the information processing method according to the present technology by a computer system includes, for example, sensing by a sensor, acquisition of image information and depth information, sensor position estimation, distance calculation, reliability calculation, depth map creation, and movement plan generation. , movement control, etc., are executed by a single computer, and each process is executed by a different computer. Execution of each process by a predetermined computer includes causing another computer to execute part or all of the process and obtaining the result. That is, the information processing method according to the present technology can also be applied to a configuration of cloud computing in which a single function is shared and processed jointly by a plurality of devices via a network.
  • expressions using "more than” such as “greater than A” and “less than A” encompass both the concept including the case of being equivalent to A and the concept not including the case of being equivalent to A. is an expression contained in For example, “greater than A” is not limited to not including equal to A, but also includes “greater than or equal to A.” Also, “less than A” is not limited to “less than A”, but also includes “less than A”. When implementing the present technology, specific settings and the like may be appropriately adopted from concepts included in “greater than A” and “less than A” so that the effects described above are exhibited.
  • the present technology can also adopt the following configuration.
  • an acquisition unit that acquires each of image information and depth information for a sensing area of the sensor based on the sensing result of the sensor capable of acquiring image information; a first calculator that estimates the position of the sensor based on the image information and calculates a first distance between the sensor and the sensing area based on the estimated position of the sensor; a second calculator that calculates a second distance between the sensor and the sensing area based on the depth information;
  • An information processing apparatus comprising: a reliability calculation unit that calculates reliability of the depth information based on the first distance and the second distance.
  • Information processing apparatus wherein the reliability calculation unit calculates reliability of the depth information based on a difference between the first distance and the second distance.
  • the reliability calculation unit calculates the reliability of the depth information such that the reliability of the depth information increases as the difference between the first distance and the second distance decreases. processing equipment.
  • the sensor is installed on a mobile body configured to be movable on the ground so as to be movable integrally with the mobile body, the sensing area includes a peripheral area of the mobile body on the ground;
  • the first calculator calculates the shortest distance between the sensor and the peripheral area as the first distance,
  • the information processing apparatus, wherein the second calculator calculates a shortest distance between the sensor and the peripheral area as the second distance.
  • the information processing device (4), The information processing device, wherein the sensor is installed at a position on the upper side of the main body of the mobile body, facing downward.
  • the information processing device (4) or (5), The first calculator calculates the height of the sensor relative to the mobile body based on the image information, and calculates the height of the sensor relative to the mobile body and the calculated height of the mobile body. as the first distance.
  • Information processing apparatus (7) The information processing device according to (6), the moving body body is included in the sensing area and has a surface on which feature points are arranged; The information processing apparatus, wherein the first calculation unit calculates the height of the sensor with respect to the mobile body based on the image information regarding the feature point.
  • the information processing device calculates a shortest distance between the sensor and the sensing area based on the depth information as a candidate shortest distance, and the candidate shortest distance is the shortest distance between the sensor and the mobile body. In this case, the information processing apparatus calculates a total value of the candidate shortest distance and the height of the mobile body as the second distance.
  • An information processing apparatus comprising a map creation unit that creates a depth map in which the sensing area, the depth information, and the reliability of the depth information are associated with each other.
  • the information processing device When there is an overlapping area overlapping with the sensing area corresponding to the depth map created in the past in the sensing area, the map creating unit determines the reliability of the depth information having the highest value in the overlapping area.
  • An information processing apparatus that creates the depth map using the depth information associated with degrees.
  • the information processing device according to any one of (1) to (10), The information processing apparatus, wherein the reliability calculation unit calculates the reliability of the depth information based on the reliability at the time of acquisition of the depth information calculated when the depth information is acquired.
  • the information processing device according to (9) or (10), further comprising: An information processing apparatus comprising a movement control unit that controls movement of the moving object based on the depth map.
  • the information processing device includes the presence or absence of obstacles on the sensing area, The movement control unit sets the obstacle as an object to be avoided when the reliability of the depth information of the area in the sensing area where the obstacle exists is relatively high.
  • the information processing device includes the presence or absence of obstacles on the sensing area, The information processing apparatus, wherein the movement control unit does not set the obstacle as a target to be avoided when the reliability of the depth information of the area in the sensing area where the obstacle exists is relatively low.
  • the information processing device is a monocular camera, The information processing apparatus, wherein the acquisition unit acquires the depth information by executing machine learning using the sensing result of the monocular camera as an input.
  • the information processing device is installed on a mobile body configured to be movable on the ground so as to be movable integrally with the mobile body, The information processing device further includes: the sensor; An information processing device comprising: the mobile body; (17) The information processing device according to any one of (1) to (16), The information processing apparatus, wherein the sensor is installed on a mobile body configured to be movable on the ground so as to be integrally movable with the mobile body, and configured to be detachable from the mobile body.

Abstract

本技術の一形態に係る情報処理装置は、取得部と、第1の算出部と、第2の算出部と、信頼度算出部とを具備する。前記取得部は、画像情報を取得可能なセンサのセンシング結果に基づいて、前記センサのセンシング領域に対する画像情報及びデプス情報の各々を取得する。前記第1の算出部は、前記画像情報に基づいて前記センサの位置を推定し、推定された前記センサの位置に基づいて前記センサと前記センシング領域との第1の距離を算出する。前記第2の算出部は、前記デプス情報に基づいて、前記センサと前記センシング領域との第2の距離を算出する。前記信頼度算出部は、前記第1の距離と前記第2の距離とに基づいて、前記デプス情報の信頼度を算出する。

Description

情報処理装置、情報処理方法、及びプログラム
 本技術は、走行ロボットに適用可能な情報処理装置、情報処理方法、及びプログラムに関する。
 特許文献1には、三次元マップを作成する情報処理装置について開示されている。この情報処理装置では、撮像装置により撮像された画像に基づいて、三次元マップが更新される。さらに、撮像装置により撮像された画像内の特徴点に基づいて、三次元マップが補正される。これにより、三次元マップに蓄積する誤差を低減させることが可能となる。
特開2021-005399号公報
 走行ロボット等が走行するためのマップ情報を、精度よく作成することを可能とする技術が求められている。
 以上のような事情に鑑み、本技術の目的は、マップ情報を精度よく作成することを可能とする情報処理装置、情報処理方法、及びプログラムを提供することにある。
 上記目的を達成するため、本技術の一形態に係る情報処理装置は、取得部と、第1の算出部と、第2の算出部と、信頼度算出部とを具備する。
 前記取得部は、画像情報を取得可能なセンサのセンシング結果に基づいて、前記センサのセンシング領域に対する画像情報及びデプス情報の各々を取得する。
 前記第1の算出部は、前記画像情報に基づいて前記センサの位置を推定し、推定された前記センサの位置に基づいて前記センサと前記センシング領域との第1の距離を算出する。
 前記第2の算出部は、前記デプス情報に基づいて、前記センサと前記センシング領域との第2の距離を算出する。
 前記信頼度算出部は、前記第1の距離と前記第2の距離とに基づいて、前記デプス情報の信頼度を算出する。
 この情報処理装置では、センシング領域に対する画像情報に基づいてセンサの位置が推定され、センサとセンシング領域との第1の距離が算出される。またセンシング領域に対するデプス情報に基づいて、センサとセンシング領域との第2の距離が算出される。算出された第1の距離と第2の距離とに基づいて、センシング領域に対するデプス情報の信頼度が算出される。算出された信頼度を用いることで、マップ情報を精度よく作成することが可能となる。
 前記信頼度算出部は、前記第1の距離と前記第2の距離との差分に基づいて、前記デプス情報の信頼度を算出してもよい。
 前記信頼度算出部は、前記第1の距離と前記第2の距離との差分が小さくなるのに応じて前記デプス情報の信頼度が高くなるように、前記デプス情報の信頼度を算出してもよい。
 前記センサは、地面を移動可能に構成される移動体本体に、前記移動体本体と一体的に移動可能に設置されてもよい。この場合、前記センシング領域は、前記地面の前記移動体本体の周辺領域を含んでもよい。また、前記第1の算出部は、前記センサと前記周辺領域との最短距離を、前記第1の距離として算出してもよい。また、前記第2の算出部は、前記センサと前記周辺領域との最短距離を、前記第2の距離として算出してもよい。
 前記センサは、前記移動体本体の上方側の位置に、下方側に向けて設置されてもよい。
 前記第1の算出部は、前記画像情報に基づいて前記移動体本体に対する前記センサの高さを算出し、算出された前記移動体本体に対する前記センサの高さ、及び前記移動体本体の高さの合計値を、前記第1の距離として算出してもよい。
 前記移動体本体は、前記センシング領域に含まれ、特徴点が配置された表面を有してもよい。この場合、前記第1の算出部は、前記特徴点に関する画像情報に基づいて、前記移動体本体に対する前記センサの高さを算出してもよい。
 前記第2の算出部は、前記デプス情報に基づいて前記センサと前記センシング領域との最短距離を候補最短距離として算出し、前記候補最短距離が前記センサと前記移動体本体との最短距離である場合には、前記候補最短距離、及び前記移動体本体の高さの合計値を、前記第2の距離として算出してもよい。
 前記情報処理装置は、さらに、前記センシング領域、前記デプス情報、及び前記デプス情報の信頼度が互いに関連付けられたデプスマップを作成するマップ作成部を具備してもよい。
 前記マップ作成部は、前記センシング領域内に過去に作成された前記デプスマップに対応する前記センシング領域と重複する重複領域がある場合には、前記重複領域において最も高い値となる前記デプス情報の信頼度に関連付けられた前記デプス情報を用いて、前記デプスマップを作成してもよい。
 前記信頼度算出部は、前記デプス情報が取得される際に算出される前記デプス情報の取得時信頼度に基づいて、前記デプス情報の信頼度を算出してもよい。
 前記情報処理装置は、さらに、前記デプスマップに基づいて、前記移動体の移動を制御する移動制御部を具備してもよい。
 前記デプスマップは、前記センシング領域上の障害物の有無を含んでもよい。この場合、前記移動制御部は、前記センシング領域内の前記障害物が存在する領域の前記デプス情報の信頼度が相対的に高い場合には、前記障害物を回避する対象として設定してもよい。
 前記デプスマップは、前記センシング領域上の障害物の有無を含んでもよい。この場合、前記移動制御部は、前記センシング領域内の前記障害物が存在する領域の前記デプス情報の信頼度が相対的に低い場合には、前記障害物を回避する対象として設定しなくてもよい。
 前記センサは、単眼カメラであってもよい。この場合、前記取得部は、前記単眼カメラの前記センシング結果を入力として機械学習を実行することで、前記デプス情報を取得してもよい。
 前記センサは、地面を移動可能に構成される移動体本体に、前記移動体本体と一体的に移動可能に設置されてもよい。この場合、前記情報処理装置は、さらに、前記センサと、前記移動体本体とを具備してもよい。
 前記センサは、地面を移動可能に構成される移動体本体に、前記移動体本体と一体的に移動可能に設置され、前記移動体本体に対して着脱可能に構成されてもよい。
 本技術の一形態に係る情報処理方法は、コンピュータシステムが実行する情報処理方法であって、画像情報を取得可能なセンサのセンシング結果に基づいて、前記センサのセンシング領域に対する画像情報及びデプス情報の各々を取得することを含む。
 前記画像情報に基づいて前記センサの位置が推定され、推定された前記センサの位置に基づいて前記センサと前記センシング領域との第1の距離が算出される。
 前記デプス情報に基づいて、前記センサと前記センシング領域との第2の距離が算出される。
 前記第1の距離と前記第2の距離とに基づいて、前記デプス情報の信頼度が算出される。
 本技術の一形態に係るプログラムは、画像情報を取得可能なセンサのセンシング結果に基づいて、前記センサのセンシング領域に対する画像情報及びデプス情報の各々を取得するステップと、前記画像情報に基づいて前記センサの位置を推定し、推定された前記センサの位置に基づいて前記センサと前記センシング領域との第1の距離を算出するステップと、前記デプス情報に基づいて、前記センサと前記センシング領域との第2の距離を算出するステップと、前記第1の距離と前記第2の距離とに基づいて、前記デプス情報の信頼度を算出するステップとをコンピュータシステムに実行させる。
本技術の一実施形態に係る小型走行ロボットのラストマイル配送への適用について説明するための模式図である。 小型走行ロボットの外観を示す模式図である。 小型走行ロボットの機能的な構成例を示す模式図である。 デプスマップの生成処理の例を示すフローチャートである。 単眼カメラの位置及び姿勢の推定の詳細な処理例を示すフローチャートである。 特徴点について説明するための模式図である。 デプス推定の詳細な処理例を示すフローチャートである。 信頼度算出の詳細な処理例を示すフローチャートである。 単眼カメラの周辺地面からの高さの算出について説明するための模式図である。 単眼カメラから周辺地面までの最短距離の算出について説明するための模式図である。 信頼度算出に用いられるテーブルの模式図である。 マップ作成部により作成されるデプスマップの模式図である。 マップ統合の詳細な処理例を示すフローチャートである。 マップ作成部により作成されるデプスマップの模式図である。 マップ作成部により作成されるデプスマップの模式図である。 統合信頼度が関連付けられたデプスマップの模式図である。 小型走行ロボットの移動経路の一例を示す模式図である。 小型走行ロボットの移動経路の一例を示す模式図である。 小型走行ロボットの移動経路の一例を示す模式図である。 小型走行ロボット又は走行ロボットが載せられたトラックの模式図である。 小型走行ロボット又は走行ロボットのセンシング範囲の模式図である。 小型走行ロボット及びコンピュータの模式図である。 コンピュータのハードウェア構成例を示すブロック図である。
 以下、本技術に係る実施形態について、図面を参照しながら説明する。
 [ラストマイル配送への適用]
 図1は、本技術の一実施形態に係る小型走行ロボットのラストマイル配送への適用について説明するための模式図である。
 図1に示すようなトラック1は、広い道路は問題なく走行することが可能である。一方で、住宅地等では狭い道路が多く交通の便が悪いため、走行が困難である。
 そこで、配送業者のデリバリーセンターから各家庭に荷物2が配送される場合には、デリバリーセンターから住宅地の入口まではトラック1で荷物2が運搬される。そして、住宅地の入口で荷物2が降ろされ、そこからは台車に荷物2が載せられて人力により各家庭まで運ばれる。このようなラストマイル配送が、物流における配送方法として採用される場合が多い。
 なお、ラストマイル配送とは、「物流における最後の1マイル」を指し、この「住宅地の入口から各家庭まで」の配送過程を意味する言葉である。
 ラストマイル配送の場面において、小型走行ロボット3の利用可能性が模索されている。小型走行ロボット3を利用してラストマイル配送を行う場合には、例えば図1に示すように、トラック1に荷物2と小型走行ロボット3とが積まれて運搬される。
 住宅地の入口からは小型走行ロボット3に荷物2が載せられ、小型走行ロボット3の自律走行により各家庭まで荷物2が運搬される。このように、人の手に代えて小型走行ロボット3に荷物2を乗せて運搬させることで、物流の効率化に資することが期待されている。
 もちろん、本技術の適用が、ラストマイル配送への適用に限定される訳ではない。
 [小型走行ロボットの構成]
 図2は、小型走行ロボット3の外観を示す模式図である。
 小型走行ロボット3は、移動体本体6と、ポール7と、単眼カメラ8とを含む。
 なお、図1においては、ポール7及び単眼カメラ8の図示が省略され、小型走行ロボット3に含まれる移動体本体6のみが模式的に図示されている。
 移動体本体6は、基体部9と4つのタイヤ10とを有する。
 基体部9は、移動体本体6の基体となる部品である。基体部9には、コントローラ17(図3参照)や駆動用モータ等、小型走行ロボット3を駆動させる種々の機構が内蔵される。
 図2に示す例では、基体部9の形状は直方体であり、上面11、下面12、及び4つの側面13を有する。なお、基体部9の形状は限定されず、例えば円柱状や球状等、任意の形状を有してよい。
 基体部9の上面11には、特徴点14(図6参照)が配置される。これについては、後ほど詳しく説明する。
 4つのタイヤ10は基体部9の側面13に配置される。4つのタイヤ10の各々が回転駆動することで、小型走行ロボット3の走行が実現される。すなわち移動体本体6は、地面を移動可能に構成される。
 タイヤ10の数や大きさ等、具体的な構成は限定されない。
 移動体本体6として、任意の構成が採用されてよい。例えば、既製品の走行ロボットが移動体本体6として用いられてもよい。また、ドローン、搭乗可能な自動運転車、多足歩行型のロボット等が、移動体本体6として用いられてもよい。
 ポール7は、単眼カメラ8を支持する部材である。
 ポール7は棒状の部材であり、例えば金属やプラスチック等の剛性を有する材料にて構成される。もちろん、ポール7の具体的な材質や形状は限定されない。
 図2に示すように、ポール7は、基体部9の上面11から上方向に延在するように設置される。例えば、ポール7は、水平面に移動体本体6が設置された場合に鉛直方向に延在するように設置される。もちろんこれに限定されず、上方向に若干交差する角度でポール7が設置される場合にも、本技術は適用可能である。
 単眼カメラ8は、ポール7の上側の端部に、撮影方向が下方側に向けられた状態で設置される。すなわち単眼カメラ8は、ポール7を介して、移動体本体6の上方側の位置に、下方側に向けて設置された状態となる。また、単眼カメラ8は、移動体本体6と一体的に移動可能に設置された状態となる。
 単眼カメラ8が撮影可能な画角範囲(撮影範囲)が、単眼カメラ8のセンシング領域となる。本実施形態では、センシング領域内に、地面に配置された移動体本体6と、地面の移動体本体6の周辺領域とが含まれる。
 すなわち、単眼カメラ8によりセンシング領域が撮影されることで、移動体本体6と、地面の移動体本体6の周辺領域とを含む画像が、センシング結果として取得される。
 単眼カメラ8による撮影のフレームレートは限定されず、任意の値であってよい。
 以下、地面の移動体本体6の周辺領域を、周辺地面と記載する場合がある。
 なお、ポール7は、基体部9に対して着脱可能に構成されてもよい。
 また、単眼カメラ8は、ポール7に対して着脱可能に構成されてもよい。
 例えば、ラストマイル配送が行われる際には、配達員等により、ポール7が基体部9に装着される。さらに、ポール7の上方側の先端に単眼カメラ8が取付けられる。
 あるいは、折り畳み可能な形態でポール7が作成され、基体部9の所定の位置に収納されてもよい。ラストマイル配送が行われる際には、配達員等により、ポール7が取り出され、基体部9から上方側に延在するように設置される。そして、ポール7の上方側の先端に単眼カメラ8が取付けられる。
 もちろん、ポール7が、基体部9に対して固定されていてもよい。
 また、単眼カメラ8が、ポール7に対して固定されていてもよい。
 図2に示す小型走行ロボット3は、本技術に係る移動体の一実施形態として機能する。また小型走行ロボット3は、本技術に係る情報処理装置の一実施形態としても機能する。すなわち、小型走行ロボット3は、本技術に係る情報処理装置を移動体に適用した例とも言える。
 また、単眼カメラ8は、本技術に係る画像情報を取得可能なセンサの一実施形態に相当する。単眼カメラ8に限定されず、画像情報を取得可能な他の任意のカメラ等が用いられてもよい。
 図3は、小型走行ロボット3の機能的な構成例を示す模式図である。
 移動体本体6は、さらに、コントローラ17、入力部18、出力部19、通信部20、記憶部21、及びアクチュエータ22を有する。
 本実施形態では、これらのブロックは、移動体本体6の基体部9に搭載される。
 なお、図3においては、小型走行ロボット3に含まれるポール7、及び移動体本体6が有する基体部9とタイヤ10との図示は省略されている。
 コントローラ17、入力部18、出力部19、通信部20、記憶部21、及びアクチュエータ22は、バス23を介して相互に接続されている。バス23に代えて、通信ネットワークや規格化されていない独自の通信方式等を用いて、各ブロックが接続されてもよい。
 コントローラ17は、例えばCPU、GPU、DSP等のプロセッサ、ROMやRAM等のメモリ、HDD等の記憶デバイス等、コンピュータの構成に必要なハードウェアを有する。例えばCPUがROM等に予め記録されている本技術に係るプログラムをRAMにロードして実行することにより、本技術に係る情報処理方法が実行される。
 コントローラ17として、例えばFPGA(Field Programmable Gate Array)等のPLD(Programmable Logic Device)、その他ASIC(Application Specific Integrated Circuit)等のデバイスが用いられてもよい。
 本実施形態では、コントローラ17のCPUが本技術に係るプログラム(例えばアプリケーションプログラム)を実行することで、機能ブロックとして、画像取得部24、特徴点推定部25、自己位置推定部26、第1の算出部27、デプス推定部28、認識部29、第2の算出部30、信頼度算出部31、マップ作成部32、移動計画処理部33、及び移動制御処理部34が実現される。
 そしてこれらの機能ブロックにより、本実施形態に係る情報処理方法が実行される。なお各機能ブロックを実現するために、IC(集積回路)等の専用のハードウェアが適宜用いられてもよい。
 画像取得部24は、単眼カメラ8のセンシング結果に基づいて、単眼カメラ8のセンシング領域に対する画像情報を取得する。
 本実施形態では、画像情報として、移動体本体6と、周辺地面とを含む画像が取得される。当該画像情報は、単眼カメラ8のセンシング結果に相当する。
 画像取得部24により取得された画像情報に基づいて、特徴点抽出部25、自己位置推定部26、第1の算出部27、デプス推定部28、認識部29、第2の算出部30、信頼度算出部31、及びマップ作成部32の各々が動作することで、本技術に係るデプスマップ47(図12参照)が生成される。
 デプスマップ47の生成、及びデプスマップ47については、後に詳しく説明する。
 特徴点抽出部25は、画像取得部24から取得した画像情報に基づいて、特徴点14に関する画像情報を生成する。
 自己位置推定部26は、移動体本体6の自己位置を推定する。例えばSLAM(Simultaneous Localization and Mapping)等の技術により、移動体本体6の位置及び姿勢(自己位置)の推定が実行される。
 また本実施形態では、特徴点抽出部25により生成された特徴点14に関する画像情報に基づいて、単眼カメラ8の位置及び姿勢の推定が実行される。
 第1の算出部27は、自己位置推定部26により推定された単眼カメラ8の位置に基づいて、単眼カメラ8と周辺地面との距離を算出する。
 第1の算出部27により単眼カメラ8の位置に基づいて算出される、単眼カメラ8と周辺地面との距離は、本技術に係る第1の距離の一実施形態に相当する。以下、当該距離を第1の距離と記載する場合がある。
 また、特徴点抽出部25、自己位置推定部26、及び第1の算出部27は、本技術に係る第1の算出部の一実施形態に相当する。
 デプス推定部28は、画像取得部24から取得した画像情報に基づいて、センシング領域に対するデプス情報を取得する。
 具体的には、画像情報を入力として単眼デプス推定が実行され、移動体本体6又は周辺地面に対するデプス情報が取得される。
 画像取得部24及びデプス推定部28は、本技術に係る取得部の一実施形態に相当する。
 認識部29は、デプス推定部28からデプス情報を取得し、当該デプス情報が移動体本体6に対するデプス情報であるか、周辺地面に対するデプス情報であるかを判別する。
 なお判別のために、画像取得部24により取得された画像情報が用いられてもよい。
 第2の算出部30は、認識部29から取得したデプス情報及び判別結果に基づいて、単眼カメラ8と周辺地面との距離を算出する。
 第2の算出部30によりデプス情報及び判別結果に基づいて算出される、単眼カメラ8と周辺地面との距離は、本技術に係る第2の距離の一実施形態に相当する。以下、当該距離を第2の距離と記載する場合がある。
 また、認識部29及び第2の算出部30は、本技術に係る第2の算出部の一実施形態に相当する。
 信頼度算出部31は、第1の算出部27により算出された第1の距離と、第2の算出部30により算出された第2の距離とに基づいて、デプス情報の信頼度を算出する。
 本実施形態では、第1の距離及び第2の距離を入力、信頼度を出力とするテーブルにより、信頼度が算出される。
 マップ作成部32は、信頼度算出部31により算出された信頼度に基づいて、デプスマップ47を作成する。
 移動計画処理部33は、マップ作成部32により作成されたデプスマップ47に基づいて、小型走行ロボット3の移動計画を生成する。
 具体的には、小型走行ロボット3の移動の軌跡、速度、及び加速度等を含む移動計画を生成し、移動制御処理部34に出力する。
 移動制御処理部34は、移動計画処理部33により生成された移動計画に基づいて、小型走行ロボット3の移動を制御する。
 例えば、アクチュエータ22の具体的な動きを制御する制御信号を生成し、アクチュエータ22を動作させる。
 移動計画処理部33及び移動制御処理部34は、本技術に係る移動制御部の一実施形態に相当する。
 入力部18は、小型走行ロボット3を使用するユーザが各種のデータや指示等の入力に用いる装置を備える。例えば、タッチパネル、ボタン、スイッチ、キーボード、ポインティングデバイス等の操作デバイスを備える。
 出力部19は、ユーザに対して種々の情報を出力する装置を備える。
 例えばディスプレイにより、デプスマップ47や移動計画に関する情報が表示される。
 あるいはスピーカにより、小型走行ロボット3の周辺に存在する歩行者等に対して、警告(「近づかないでください」等)が報知されてもよい。
 通信部20は、WANやLAN等のネットワークを介して他のデバイスと通信する通信モジュールである。Bluetooth(登録商標)等の近距離無線通信用の通信モジュールが備えられてもよい。また、モデムやルータ等の通信機器が用いられてもよい。
 例えば通信部20により、小型走行ロボット3と外部の機器との通信が実行される。
 記憶部21は、不揮発性メモリ等の記憶デバイスであり、例えばHDDやSSD等が用いられる。その他、コンピュータ読み取り可能な非一過性の任意の記憶媒体が用いられてよい。
 記憶部21には、小型走行ロボット3の全体の動作を制御する制御プログラムが記憶される。制御プログラム、コンテンツデータ等をインストールする方法は限定されない。
 また記憶部21には、デプスマップ47や行動計画等の種々の情報が記憶される。
 アクチュエータ22は、小型走行ロボット3の移動を実現させる構成を含む。
 例えばアクチュエータ22として、駆動用モータが基体部9に内蔵され、タイヤ10の回転が実現される。アクチュエータ22は、移動制御処理部34により生成された制御信号に基づいて動作する。
 なお、入力部18、出力部19、通信部20、記憶部21、及びアクチュエータ22の具体的な構成は限定されない。
 [マップ生成処理]
 本実施形態における、デプスマップ47の生成処理について説明する。
 図4は、デプスマップ47の生成処理の例を示すフローチャートである。
 図4に示すステップ101~105の一連の処理は、例えば所定のフレームレート(30fpsや60fps等)で実行される。もちろんフレームレートは限定されず、ハードウェアの処理能力等に応じて適宜設定されてよい。
 画像取得部24により、画像情報が取得される(ステップ101)。
 具体的には、まず単眼カメラ8による撮影が実行され、移動体本体6及び周辺地面の画像が取得される。さらに、画像取得部24により、当該画像が画像情報として取得される。
 [単眼カメラの自己位置推定]
 単眼カメラ8の位置及び姿勢が推定される(ステップ102)。
 図5は、ステップ102の詳細な処理例を示すフローチャートである。
 まず、単眼カメラ8の自己位置推定にて用いられる特徴点14について説明する。
 [特徴点]
 図6は、特徴点14について説明するための模式図である。
 なお図6では、小型走行ロボット3が有するポール7等の図示を省略している。
 本実施形態では、移動体本体6は、特徴点14が配置された表面を有する。
 具体的には、図6に示すように、特徴点14としてマーカが基体部9の上面11に配置される。
 各々のマーカは星型の形状を有し、7つのマーカが曲線状に並べて配置される。もちろん特徴点14の形状、色、数、及び配置等は限定されない。また、特徴点14としてマーカ以外の印や物体が配置されてもよい。
 特徴点14が配置された上面11は、単眼カメラ8のセンシング領域に含まれる。従って、ステップ101において単眼カメラ8により取得される画像は、特徴点14を含む画像となる。
 また、画像取得部24により取得される画像情報も、特徴点14を含む画像である。従って、画像取得部24により取得される画像情報は、特徴点14を含む画像情報ともいえる。
 図5に示すように、特徴点抽出部25により、画像取得部24から画像情報が取得される(ステップ201)。
 特徴点抽出部25より取得される画像情報は、特徴点14を含む画像情報となる。
 特徴点抽出部25により、特徴点14が抽出される(ステップ202)。
 まず、特徴点抽出部25により、取得した画像情報に基づいて、各々の特徴点14の座標が生成される。
 具体的には、特徴点抽出部25により、2D点(2次元点)及び3D点(3次元点)の2種類の特徴点14の座標が生成される。
 2D点とは、画像情報における特徴点14の2次元座標である。例えば画像情報(特徴点14を含む画像)に2次元座標系が設定され、画像内のどの位置に特徴点14が存在しているかが2次元座標により表現される。
 3D点は、特徴点14の3次元座標である。例えば所定の位置を基準位置とした3次元座標系が設定され、特徴点14の3次元座標が表現される。基準位置は限定されず、例えば基体部9の上面11の中心等、任意の位置であってよい。
 また、2D点及び3D点を表現する座標系も限定されない。例えば直交座標系や極座標系等、任意の座標系が用いられてよい。
 さらに、特徴点抽出部25により、特徴点14に関する画像情報が生成される。
 本実施形態では、特徴点14に関する画像情報として、特徴点14を含む画像、2D点、及び3D点の3種類の情報が関連付けられた情報が生成される。
 特徴点抽出部25により生成された特徴点14に関する画像情報は、自己位置推定部26に出力され、単眼カメラ8の位置及び姿勢の推定に用いられる。
 特徴点抽出部25により生成される特徴点14に関する画像情報は限定されず、単眼カメラ8の位置及び姿勢の推定に用いることが可能である任意の情報が生成されてよい。
 自己位置推定部26により、Solve PnP(Perspective-n-Point)が実行される(ステップ203)。
 Solve PnPとは、カメラにより撮像された特徴点14の2D点及び3D点から、カメラの位置及び姿勢を推定する手法である。
 本実施形態では、特徴点抽出部25から取得された特徴点14に関する画像情報に基づいて、自己位置推定部26によりSolve PnPが実行され、単眼カメラ8の位置及び姿勢が推定される。
 単眼カメラ8の位置は、例えば所定の位置を基準とした直交座標系にて、X座標、Y座標、Z座標の3値にて表される。
 単眼カメラ8の姿勢は、例えばピッチ(pitch)、ヨー(yaw)、ロール(roll)の3値にて表される。
 もちろん位置や姿勢を表す方法は限定されず、任意の方法が採用されてよい。
 また、Solve PnP以外の他の方法により、画像情報に基づいて単眼カメラ8の位置及び姿勢が推定されてもよい。
 推定された単眼カメラ8の位置及び姿勢は、第1の算出部27に出力される。
 なお、ステップ103において単眼カメラ8の位置及び姿勢が推定されるのと同時に、移動体本体6の位置及び姿勢が推定されてもよい。
 [デプス推定]
 デプス推定部28により、センシング領域に対するデプスが推定される(ステップ103)。
 図7は、ステップ103の詳細な処理例を示すフローチャートである。
 デプス推定部28により、画像取得部24から画像情報が取得される(ステップ301)。
 さらに、デプス推定部28により、単眼デプス推定が実行される(ステップ302)。
 本実施形態では、デプス推定部28により、画像情報を入力として機械学習が実行されることで、デプス情報が取得される。
 具体的には、例えばデプス推定部28は、学習部及び識別部(図示は省略)を有する。
 学習部は、入力された学習データ(画像情報)に基づいて機械学習を行い、学習結果(デプス情報)を出力する。また、識別部は、入力された学習データと学習結果に基づいて、当該入力された学習データの識別(判断や予測等)を行う。
 学習部における学習手法には、例えばディープラーニングが用いられる。ディープラーニングとは、多層構造のニューラルネットワークを用いたモデルであって、各層で特徴的な学習を繰り返し、大量データの中に潜んでいる複雑なパターンを学習することができる。
 ディープラーニングは、例えば画像内のオブジェクトや音声内の単語を識別する用途として用いられる。もちろん、本実施形態に係るデプス情報の算出に適用することも可能である。
 もちろん、ニューラルネットワークを用いた学習手法等、他の学習手法が用いられてもよい。
 学習済みのデプス推定部28により、画像情報を入力として、センシング領域に対するデプス情報が取得される。
 例えば、画像情報の画素ごとのデプスの値が、デプス情報として取得される。
 取得されたセンシング領域に対するデプス情報は、認識部29に出力される。
 [信頼度算出]
 デプス情報の信頼度が算出される(ステップ104)。
 図8は、ステップ104の詳細な処理例を示すフローチャートである。
 第1の算出部27により、単眼カメラ8の周辺地面からの高さが算出される(ステップ401)。
 図9は、単眼カメラ8の周辺地面からの高さの算出について説明するための模式図である。
 まず、自己位置推定部26により推定された単眼カメラ8の位置及び姿勢が、第1の算出部27により取得される。
 次に、第1の算出部27により、移動体本体6に対する単眼カメラ8の高さが算出される。
 移動体本体6に対する単眼カメラ8の高さは、移動体本体6の基体部9が有する上面11と、単眼カメラ8との鉛直方向の距離に相当する。図9には、当該距離が「推定結果の高さ(a)」として矢印で図示されている。
 本実施形態では、自己位置推定部26により推定された単眼カメラ8の位置に基づいて、高さ(a)が算出される。
 具体的には、第1の算出部27により取得された位置及び姿勢のうち、位置のZ座標に基づいて高さ(a)が算出される。
 例えば、位置を表す座標系の基準位置が上面11上にある場合には、Z座標と高さ(a)との値が等しくなる。従って第1の算出部27により、Z座標の値がそのまま高さ(a)として算出される。
 座標系の基準位置が上面11上にない場合でも、座標系の基準位置と上面11との鉛直方向の距離の差異を算出し、当該差異をZ座標に加算又は減算することで、高さ(a)を算出することが可能である。
 もちろんZ座標以外の値、例えば位置のX座標、Y座標、姿勢のピッチ、ヨー、ロール等の値に基づいて、高さ(a)が算出されてもよい。その他、高さ(a)の具体的な算出方法は限定されない。
 さらに、第1の算出部27により、単眼カメラ8の周辺地面37からの高さ(A)が算出される。図9には、高さ(A)が矢印で図示されている。
 また図9には、設計値の高さ(b)が矢印で図示されている。設計値の高さ(b)は、移動体本体6の高さであり、既知の値である。
 図9に示すように、高さ(a)は移動体本体6に対する単眼カメラ8の高さであるため、この値に高さ(b)を加算した値が、周辺地面37に対する単眼カメラ8の高さ(A)となる。
 従って、第1の算出部27により、高さ(a)及び高さ(b)の合計値が、高さ(A)として算出される。
 高さ(A)は、第1の距離(単眼カメラ8と、周辺地面37との距離)とも言える。
 このように本実施形態では、第1の算出部27により、第1の距離として、単眼カメラ8と周辺地面37との最短距離が算出される。
 具体的には、全ての方向のうち距離が最短となる方向、すなわち鉛直方向における距離が第1の距離として算出されている。
 これにより、第1の距離を精度よく算出することが可能となる。
 もちろん第1の算出部27により、単眼カメラ8と周辺地面37との、最短距離以外の距離が算出されてもよい。例えば鉛直方向に若干交差する方向の距離が算出されてもよい。
 このような最短距離以外の距離も、第1の距離ということが可能である。
 また本実施形態では、特徴点14に関する画像情報に基づいて、高さ(a)が算出されている。さらに、高さ(a)及び高さ(b)の合計値が、高さ(A)として算出されている。
 このような算出方法を用いることにより、高さ(a)や高さ(A)が精度よく算出される。
 認識部29により、周辺地面37の認識が実行される(ステップ402)。
 具体的には、まず認識部29により、デプス推定部28からセンシング領域に対するデプス情報が取得される。
 センシング領域には、移動体本体6と周辺地面37とが含まれる。従って、認識部29により取得されるデプス情報(画素ごとのデプス値)には、移動体本体6に対するデプス値、及び周辺地面37に対するデプス値の両方が含まれ得る。認識部29は、当該デプス値がいずれに対するデプス値であるかを、画素ごとに判別する。
 認識部29による判別は、取得されたデプス情報に基づいて実行される。これに限らず、例えば画像取得部24から画像情報が取得され、画像情報に基づいて判別が実行されてもよい。また、デプス情報及び画像情報の両方が、判別のために用いられてもよい。
 認識部29により、センシング領域に対するデプス情報及び判別結果が、第2の算出部30に出力される。
 第2の算出部30により、単眼カメラ8から周辺地面37までの最短距離が算出される(ステップ403)。
 図10は、単眼カメラ8から周辺地面37までの最短距離の算出について説明するための模式図である。
 図10A及びBには、単眼カメラ8から周辺地面37までの最短距離(B)が矢印で図示されている。
 なお、図10A及びBには、小型走行ロボット3が走行し、慣性によりポール7及び単眼カメラ8が傾いた状態が図示されている。
 第2の算出部30により、認識部29からセンシング領域に対するデプス情報が取得される。当該デプス情報には、移動体本体6に対するデプス値、及び周辺地面37に対するデプス値の両方が含まれ得る。
 次に、第2の算出部30により、取得されたデプス情報(画素ごとのデプス値)のうち、最も小さいデプス値が算出される。
 例えば図10Aの状態では、単眼カメラ8の撮影方向が基体部9の上面11の中央に向いているため、撮影範囲40は上面11の中央を基準とした所定の範囲となる。図10Aには、撮影範囲40が斜線模様で示されている。
 撮像範囲40には、移動体本体6及び周辺地面37の両方が含まれる。従って、第2の算出部30により取得されるデプス情報にも、移動体本体6に対するデプス値、及び周辺地面37に対するデプス値の両方が含まれる。
 さらにこの例においては、単眼カメラ8は周辺地面37の鉛直上方に位置し、移動体本体6の鉛直上方には位置していない。従って最も小さいデプス値は、単眼カメラ8の鉛直下方の周辺地面37が写った画素のデプス値となる。
 図10Bの状態でも、図10Aと同様に、撮像範囲40には移動体本体6及び周辺地面37の両方が含まれる。第2の算出部30により取得されるデプス情報にも、移動体本体6に対するデプス値、及び周辺地面37に対するデプス値の両方が含まれる。
 この例においては、単眼カメラ8は移動体本体6の鉛直上方に位置している。従って最も小さいデプス値は、単眼カメラ8の鉛直下方の移動体本体6が写った画素のデプス値となる。
 従って、第2の算出部30により算出される「最も小さいデプス値」は、単眼カメラ8の鉛直下方が写った画素のデプス値であって、移動体本体6又は周辺地面37のいずれか一方に対するデプス値となる。
 次に、第2の算出部30により、「最も小さいデプス値」に基づいて、候補最短距離が算出される。
 候補最短距離とは、単眼カメラ8とセンシング領域との最短距離である。
 すなわち、単眼カメラ8と、単眼カメラ8の鉛直下方に位置する物体(移動体本体6又は周辺地面37のいずれか)との鉛直方向の距離が算出される。
 なお、候補最短距離を算出する方法は限定されず、デプス値に基づいて距離を算出する任意の方法が用いられてよい。
 さらに、第2の算出部30により、候補最短距離の算出に用いられた「最も小さいデプス値」が、移動体本体6に対するデプス値、又は周辺地面37に対するデプス値のいずれであるが判別される。判別は、認識部29から取得された判別結果に基づいて実行される。
 図10Aの状態では、「最も小さいデプス値」が周辺地面37に対するデプス値であると判別される。この場合第2の算出部30により、候補最短距離が、単眼カメラ8と周辺地面37との鉛直方向の距離であると判別される。すなわち、当該候補最短距離は、図10Aに示す最短距離(B)となる。
 図10Bの状態では、「最も小さいデプス値」が移動体本体6に対するデプス値であると判別される。この場合第2の算出部30により、候補最短距離が、単眼カメラ8と移動体本体6との鉛直方向の距離であると判別される。すなわち、当該候補最短距離は、図10Bに示す移動体本体6までの最短距離(a)となる。
 この場合には、最短距離(a)に設計値の高さ(b)を加算した値が、周辺地面37までの最短距離(B)となる。
 従って、第2の算出部30により、最短距離(a)及び高さ(b)の合計値が、最短距離(B)として算出される。
 このようにして、単眼カメラ8が周辺地面37の鉛直上方にある場合(図10Aの場合)、及び移動体本体6の鉛直上方にある場合(図10Bの場合)のいずれの場合においても、第2の算出部30により最短距離(B)が算出される。
 これにより、最短距離(B)が精度よく算出される。
 また最短距離(B)は、第2の距離(単眼カメラ8と、周辺地面37との距離)とも言える。
 第2の距離として最短距離が算出されることにより、第2の距離を精度よく算出することが可能となる。
 もちろん第2の算出部30により、単眼カメラ8と周辺地面37との、最短距離以外の距離が算出されてもよい。例えば鉛直方向に若干交差する方向の距離が算出されてもよい。
 このような最短距離以外の距離も、第2の距離ということが可能である。
 なお、第1の距離及び第2の距離の具体的な算出方法は限定されない。
 例えば推定されたセンサの位置に基づいて、センサとセンシング領域との距離を第1の距離として算出する任意の方法が採用されてよい。また、デプス情報に基づいて、センサとセンシング領域との距離を第2の距離として算出する任意の方法が採用されてよい。
 信頼度算出部31により、信頼度が算出される(ステップ404)。
 図11は、信頼度算出に用いられるテーブルの模式図である。
 本実施形態では、信頼度算出部31により、第1の算出部27により算出された高さ(A)と、第2の算出部30により算出された最短距離(B)との差分に基づいて、デプス情報の信頼度が算出される。
 具体的には、テーブル(信頼度参照テーブル)が用いられ、信頼度が算出される。
 例えば図11Aに示すテーブル43が用いられ、信頼度が算出される。
 テーブル43の横軸には、ギャップ(高さ(A)と最短距離(B)との差の絶対値)が取られている。高さ(A)と最短距離(B)との差の絶対値は、本技術に係る第1の距離と第2の距離との差分の一実施形態に相当する。
 また、テーブル43の縦軸には、デプス情報の信頼度が取られている。
 すなわちテーブル43は、ギャップを入力、信頼度を出力とするテーブルである。
 まず信頼度算出部31により、第1の算出部27により算出された高さ(A)、及び第2の算出部30により算出された最短距離(B)が取得される。
 さらに、信頼度算出部31により、ギャップが算出され、算出されたギャップがテーブル43に入力されることで、信頼度が算出される。
 本実施形態では、信頼度として0.0~1.0の範囲の値が算出される。
 例えばギャップが0に近い値である場合には、算出される信頼度は1.0に近い値となる。
 また、ギャップがある程度大きくなるにつれて、算出される信頼度は0.8、0.6・・・と減少していく。
 なお、本実施形態では、テーブル43は単調減少のテーブル(入力されるギャップが大きくなるほど、出力される信頼度が小さくなるテーブル)となっている。
 従って、信頼度算出部31により、高さ(A)と最短距離(B)との差分が小さくなるのに応じてデプス情報の信頼度が高くなるように、デプス情報の信頼度が算出される。
 単調減少のテーブルは、テーブル43のようにギャップと信頼度との関係が曲線となるテーブルに限定されない。例えば図11Bに示す、ギャップと信頼度との関係が直線となるテーブル44が用いられてもよい。
 テーブルが用いられることで、信頼度を精度よく算出することが可能となる。また、効率的な処理が可能となる。
 その他、単調減少となる任意のテーブルが用いられてよい。
 またテーブル43として、単調減少以外のテーブルが用いられてもよい。例えばギャップが大きくなるにつれて途中で信頼度が増加するテーブルが用いられてもよい。
 あるいは、関数等により信頼度が算出されてもよい。
 その他、信頼度を算出するための具体的な方法は限定されない。
 なお図8においては、ステップ401(高さの算出)と、ステップ402(地面の認識)及びステップ403(最短距離の算出)との処理が並列して図示されているが、各々の処理順は限定されない。例えばステップ401又はステップ402のいずれか一方の処理が先に実行されてもよい。
 [デプスマップ]
 マップ作成部32により、デプスマップ47が作成される(ステップ105)。
 図12は、マップ作成部32により作成されるデプスマップ47の模式図である。
 デプスマップ47とは、ある領域において、領域内の位置と当該位置におけるデプス値とが関連付けられた情報である。
 例えばデプス値を取得可能なセンサにより、センサの位置を基準として、領域内の位置ごとのデプス値が取得される。例えば位置Aのデプス値は30、位置Bのデプス値は50、・・・等、位置ごとのデプス値が取得される。
 そして、位置とデプス値とが関連付けられた情報が、デプスマップ47として生成される。
 例えばある位置に穴が存在する場合、穴の内部のデプス値は相対的に大きい値となる。
 逆に、凸部(例えば盛り上がった地面等)が存在する場合、凸部におけるデプス値は相対的に小さい値となる。
 このように、障害物が存在する位置においては、周囲に比べてデプス値が変化する。従ってデプス値に基づいて、障害物が存在する位置に関する情報を得ることも可能である。このような情報がデプスマップ47に含まれてもよい。
 例えば、移動体が走行する際にデプスマップ47が用いられることで、効率的な走行が実現される。
 具体的には、移動体はデプスマップ47に基づいて、障害物を回避しながら、あるいは目的地までの最短ルートを選択して走行することが可能となる。
 本実施形態では、マップ作成部32により、センシング領域、デプス情報、及びデプス情報の信頼度が互いに関連付けられたデプスマップ47が作成される。
 図12Aには、マップ作成部32により作成されるデプスマップ47が図示されている。また、小型走行ロボット3が網掛け模様の円で模式的に図示されている。
 例えば小型走行ロボット3を基準とした所定の領域において、デプスマップ47が作成される。
 本実施形態では、小型走行ロボット3を中心とした長方形状の領域において、デプスマップ47が作成される。なお、当該長方形状の領域は、単眼カメラ8による撮影範囲40(センシング領域)に含まれる。
 もちろん、領域の基準位置、形状、範囲等は限定されない。
 具体的には、まずマップ作成部32により、デプス推定部28からセンシング領域に対するデプス情報が取得される。
 また、マップ作成部32により、信頼度算出部31から信頼度が取得される。
 さらに、マップ作成部32により、長方形状の領域の各々の位置と、デプス値とが関連付けられた情報が抽出される。長方形状の領域はセンシング領域に含まれる領域であるため、例えば取得されたセンシング領域に対するデプス情報(センシング領域の各々の位置と、デプス値とが関連付けられた情報)から長方形状の領域の各々の位置と、デプス値とが関連付けられた情報のみを抽出することが可能である。
 図12Aには、長方形状の領域がグリッドに分割された状態が模式的に図示されている。領域は、縦方向に4つ、横方向に3つ格子状に並んだ、各々が長方形状の12個のグリッドに分割される。
 例えば単眼カメラ8により撮影された画像の画素範囲(20ピクセル×20ピクセル等)ごとに、画素範囲に対応する領域の範囲を1つのグリッドとして、領域が分割される。もちろんグリッドの具体的な範囲や形状等は限定されない。
 各々のグリッドは、位置の処理単位となる。すなわち、1つのグリッドを1つの位置として、マップ作成部32等による処理が実行される。
 なお、マップ作成部32等による処理の方法が、グリッドを用いた方法に限定されるわけではない。
 例えば、グリッドのX座標を左方側から順に1~3、Y座標を下方側から順に1~4とした場合に、マップ作成部32により、グリッドの位置が、
 (X,Y)=(1,3)
 (X,Y)=(2,4)
 と表現される。
 また、マップ作成部32により、グリッドの位置とデプス値とが関連付けられた情報が生成される。当該情報は例えば、
 D(X,Y)
 等の形で表される。例えば位置(1,3)におけるデプス値が50である旨は、
 D(1,3)=50
 と表現される。
 本例では領域が12個のグリッドに分割されているため、生成される情報(D(X,Y))も、D(1,1)~D(3,4)の12種類となる。
 なお本例では、説明を分かりやすくするためにグリッドの位置がX座標及びY座標のみにより表現されているが、位置にZ座標が含まれてもよい。この場合、グリッドの位置とデプス値とが関連付けられた情報は、例えば
 D(X,Y,Z)
 等により表現される。
 マップ作成部32により、位置とデプス値とが関連付けられた情報(D(X,Y))に対して、さらに信頼度が関連付けられる。
 当該情報は、例えば信頼度付きデプスと呼称され、
 Dconf=(D(X,Y),confidence)
 と表現される。
 なおconfidenceは、位置(X,Y)における信頼度を表している。
 図4に示すステップ101~105の一連の処理が1回実行されるごとに、マップ作成部32により1種類の信頼度が取得される。従って、マップ作成部32により、12種類の情報(D(X,Y))の各々に対して、1種類の同一の信頼度が関連付けられる。例えば取得された信頼度が1.0である場合には、信頼度付きデプスは、
 Dconf=(D(1,3),1.0)
 Dconf=(D(2,4),1.0)
 といった12種類の情報となる。
 図12Aには、各々の位置に対応する信頼度が図示されている。このように、12種類の全ての位置に対して、信頼度1.0が一律で関連付けられる。
 このようにして生成された複数の信頼度付きデプスが、デプスマップ47となる。すなわちデプスマップ47は、センシング領域、デプス情報、及びデプス情報の信頼度が互いに関連付けられたデプスマップ47とも言える。
 作成されるデプスマップ47が具体的にどのような情報であるかは限定されず、センシング領域、デプス情報、及びデプス情報の信頼度が互いに関連付けられた任意の情報であってよい。また、デプスマップ47以外の任意のマップ情報が作成されてもよく、マップ情報を作成するための具体的な方法も限定されない。
 なお、本実施形態では、信頼度付きデプス(Dconf)に対して、さらにフレーム番号が関連付けられる。信頼度付きデプスにフレーム番号が関連付けられた情報は、例えば
 Dconf(N)=(D(1,3)(N),confidence)
 等と表現される。
 以下、Dconf(N)を、Dconfと区別せずに、信頼度付きデプスと記載する場合がある。
 フレーム番号は処理の時間的な単位を示すパラメータであり、例えば1フレームに1回、図4に示す1連の処理が実行される。
 すなわち、最初にフレーム0にて12種類の信頼度付きデプス
 Dconf(0)=(D(1,3)(0),1.0)
 Dconf(0)=(D(2,4)(0),1.0)
 等が生成される。
 次に、フレーム1にて再び図4に示す1連の処理が実行される。そして、例えば
 Dconf(1)=(D(2,4)(1),0.6)
 等の信頼度付きデプスが生成される。
 この例では、同じ座標(2,4)に対して、フレーム0における信頼度は1.0、フレーム1における信頼度は0.6と、異なる信頼度が関連付けられている。
 マップ作成部32ではフレームごとに1種類の信頼度が取得されるため、このように同じ座標に対する信頼度であっても、フレーム番号が異なれば信頼度は異なる値となりうる。このことはデプス値に関しても同様である。
 図12Bに示す例では、小型走行ロボット3が移動している状態下で、マップ作成部32により作成されたデプスマップ47が図示されている。
 第1の算出部27により算出される第1の距離(高さ(A))、及び第2の算出部30により算出される第2の距離(最短距離(B))は、どちらも同じ「単眼カメラ8と周辺地面37との最短距離」である。従って理想的には、第1の距離及び第2の距離に差は生じない。
 しかしながら、小型走行ロボット3が移動している場合、単眼カメラ8の振動等に起因して、単眼カメラ8の自己位置推定や、デプス推定の結果に誤差が生じることがある。これに伴い、第1の距離及び第2の距離も相対的に不正確な値となり、第1の距離及び第2の距離に差異が生じる。
 すなわち、第1の距離及び第2の距離の差分に基づいて算出されるギャップが、相対的に大きな値となる。そして、信頼度として相対的に低い値が算出される。
 図12Bに示す例では、小型走行ロボット3が移動しているため、信頼度として0.6という相対的に低い値が算出されている。
 小型走行ロボット3がさらに速く移動する場合には、単眼カメラ8が激しく振動し、信頼度がより低く算出されることもある。
 図12A及びBには、領域上に存在する障害物48が、立方体で模式的に図示されている。
 マップ作成部32により、デプスマップ47として、障害物48に関する情報を含むデプスマップ47が作成されてもよい。
 例えば、デプスマップ47に、センシング領域上の障害物の有無が含まれていてもよい。
 例えば図12A及びBに示す例では、
 (2,1)
 (2,4)
 (3,2)
 の位置に障害物48が存在している。
 この場合、信頼度付きデプスに対してさらに障害物48の有無が関連付けられ、例えば
 Dconf(1)=(D(1,3)(1)=50,1.0,障害物なし)
 Dconf(1)=(D(2,4)(1)=30,1.0,障害物あり)
 といった情報が生成される。
 なお、障害物48の有無は、デプス値等に基づいて判定することが可能である。
 もちろん、障害物48の有無が関連付けられた情報の具体的な表現方法は限定されない。
 また、障害物48に関する情報として、障害物48の大きさ、高さ、種類等の情報がデプスマップ47に含まれてもよい。
 [マップ統合]
 図13は、ステップ105の詳細な処理例を示すフローチャートである。
 マップ作成部32により、デプスマップ47が初期化される(ステップ501)。
 本実施形態では、例えばデプスマップ47が初めて作成される場合に、最初にデプスマップ47が初期化される。
 デプスマップ47が初めて作成される場合とは、例えば小型走行ロボット3が移動を開始した瞬間等であり、図4に示すステップ101~105の一連の処理が初めて実行される場合に相当する。
 また、過去にデプスマップ47が作成されていた場合であっても、例えば小型走行ロボット3がある程度の時間停止していた場合等、しばらくデプスマップ47が作成されていない時間があった場合に、デプスマップ47の初期化が実行されてもよい。
 あるいは、初期化のための初期化ボタンが備えられ、小型走行ロボット3を使用するユーザ(配送員等)により初期化ボタンが押された場合に、初期化処理が実行されてもよい。
 初期化処理においては、まずマップ作成部32により、小型走行ロボット3が停止している状態で、小型走行ロボット3を基準とした所定の領域にてデプスマップ47が作成される。
 小型走行ロボット3が停止している状態では、マップ作成部32により、信頼度として相対的に高い値が取得される。例えば信頼度1.0が取得され、図12Aの例のように、12マスのグリッドに信頼度1.0が関連付けられたデプスマップ47が作成される。
 一方で、小型走行ロボット3の周囲の12マスのグリッド以外の他のグリッドでは、信頼度0.0が一律で関連付けられた未探索領域が作成される。
 未探索領域においてはセンシングが実行されておらず、デプス情報が取得されていないため、未探索領域にはデプス情報が関連付けられない。ただし、「0」等の初期デプス値が、仮のデプス値として関連付けられてもよい。
 マップ作成部32により、新しいデプスマップ47が作成される(ステップ502)。
 図14は、マップ作成部32により作成されるデプスマップ47の模式図である。
 図14Aには、12マスのグリッドからなる2つのデプスマップ47が示されている。なお本図では、2つのデプスマップ47を区別するために、デプスマップ47a及びデプスマップ47bというように、異なる符号を用いている。
 図14Aには、デプスマップ47aが作成された後、小型走行ロボット3が上方向に1グリッド分、右方向に1グリッド分だけ移動し、移動後の位置で新しいデプスマップ47bが作成された状態が示されている。
 このように、小型走行ロボット3の移動中にも随時(例えば所定のフレームレート)で図4に示すステップ101~105の一連の処理が実行され、新しいデプスマップ47bが作成され続ける。
 新しいデプスマップ47bの作成には、例えばICP(Iterative Closest Point)というアルゴリズムが用いられる。ICPとは、センサにより取得された2つの点群データを用いて、それらの点群データがマッチングする位置を計算するアルゴリズムである。
 本実施形態では、例えば一旦取得されたデプスマップ47bに対して、1つ前に取得されたデプスマップ47aとの間でICPが実行され、ICP実行後のデプスマップ47bが生成される。これによりデプスマップ47bが正確に補正され、精度よく新しいデプスマップ47bを生成することが可能である。
 また、ステップ102の単眼カメラ8の自己位置推定や、ステップ103のデプスの推定に、ICPが用いられてもよい。例えば取得されたデプス値と、1つ前に取得されたデプス値との間でICPが実行され、取得されたデプス値が補正されてもよい。
 もちろん、新しいデプスマップ47bを作成する方法はICPを用いた方法に限定されず、任意の方法が採用されてよい。
 新しく作成されたデプスマップ47bが、未探索領域に対するデプスマップ47bであるか否かが判定される(ステップ503)。
 本実施形態では、最初にステップ501の初期化処理で、12マスのグリッド以外の他のグリッドでは、信頼度0.0が関連付けられた未探索領域が作成されている。
 新しく作成されたデプスマップ47bに、過去に作成されたデプスマップ47aが含まれない場合には、未探索領域に対するデプスマップ47bであると判定される。
 一方で、新しく作成されたデプスマップ47bに、過去に作成されたデプスマップ47aが含まれる場合(例えば新しく作成されたデプスマップ47bの1つ以上のグリッドが、デプスマップ47aと重複している場合)には、未探索領域に対するデプスマップ47bではないと判定される。
 デプスマップ47bが未探索領域に対するデプスマップ47bではないと判定された場合(ステップ503のNo)、信頼度の比較が実行される(ステップ504)。
 図14Aには、デプスマップ47bが未探索領域に対するデプスマップ47bではないと判定された状態が示されている。具体的には、過去に作成されたデプスマップ47aの右上の6つのグリッドの領域が、デプスマップ47bに含まれている。
 すなわち、デプスマップ47aの右上の6つのグリッド(右上から横2つ×縦3つ分)と、デプスマップ47bの左下の6つのグリッド(左下から横2つ×縦3つ分)とが重なり合っている。図14aでは、当該重複した領域である重複領域51が、破線の長方形で図示されている。
 重複領域51は、デプスマップ47bの、過去に作成されたデプスマップ47aに対応する、デプスマップ47bと重複する領域となる。
 信頼度の比較は、重複領域51上で実行される。
 具体的には、マップ作成部32により、重複領域51上で最も高い値となる信頼度が算出される。
 重複領域51上で、デプスマップ47aの信頼度は1.0、デプスマップ47bの信頼度は0.6となっている。従って、重複領域51上で最も高い値の信頼度として、デプスマップ47aの信頼度である1.0が算出される。
 デプスマップ47bが未探索領域に対するデプスマップ47bであると判定された場合には(ステップ503のYes)、デプスマップ47bの統合が実行される(ステップ505)。
 この場合には、デプスマップ47aとデプスマップ47bとの重複領域51は存在しない。デプスマップ47bが未探索領域に上書きされることで統合が実行され、デプスマップ47a及びデプスマップ47bからなる統合後のデプスマップ47が作成される。
 一方で重複領域51が存在する場合には、ステップ504で算出された、重複領域51において最も高い値となる信頼度が、重複領域51に関連付けられる。
 図14Bには、統合後のデプスマップ47cが図示されている。
 図14Aにおいて元々重複領域51であった領域(中央の6マスのグリッド)には、最も高い信頼度である1.0が関連付けられている。また、元々重複領域51でなかった領域には、デプスマップ47a又はデプスマップ47bの信頼度がそのまま関連付けられている。
 また、重複領域51において最も高い値となる信頼度に関連付けられたデプス情報が、重複領域51に関連付けられる。
 最も高い信頼度である信頼度1.0に関連付けられたデプス情報は、デプスマップ47aの信頼度である。従ってデプスマップ47cの、元々重複領域51であった領域にはデプスマップ47aのデプス情報が関連付けられる。
 また、元々重複領域51でなかった領域には、デプスマップ47a又はデプスマップ47bのデプス情報がそのまま関連付けられる。
 従って、統合後のデプスマップ47cにおいて、元々重複領域51であった領域にはデプスマップ47aのデプス情報及び信頼度が関連付けられている。
 また、元々デプスマップ47aに含まれ重複領域51でなかった領域には、デプスマップ47aのデプス情報及び信頼度が関連付けられている。
 また、元々デプスマップ47bに含まれ重複領域51でなかった領域には、デプスマップ47bのデプス情報及び信頼度が関連付けられている。
 このようにしてデプスマップ47a及びデプスマップ47bが統合され、デプスマップ47cが作成される。
 すなわち、重複領域51が存在する場合に、新しい信頼度が既存の信頼度より高い場合には、信頼度及びデプス情報が上書きされる、という手法で統合が実行される。
 統合後のデプスマップ47cは、例えば記憶部21により記憶される。
 もちろん統合の具体的な方法は限定されず、任意の方法が用いられてよい。
 図15は、マップ作成部32により作成されるデプスマップ47の模式図である。
 図15Aには、統合により図14Bのデプスマップ47cが作成された後、小型走行ロボット3がさらに上方向に1グリッド分、右方向に1グリッド分だけ移動し、移動後の位置で新しいデプスマップ47dが作成された状態が示されている。
 デプスマップ47dには、信頼度0.8が一律で関連付けられている。
 この場合にも、マップ作成部32により、重複領域51上で信頼度の比較が実行される。
 重複領域51は、デプスマップ47cの右上の6つのグリッドと、デプスマップ47dの左下の6つのグリッドに相当する領域である。
 デプスマップ47cの右上の6つのグリッドのうち、左下の2つのグリッド(左下から横1つ×縦2つ分)の信頼度は1.0である。また、左下の2つのグリッド以外の4つのグリッドの信頼度は0.6である。
 デプスマップ47dの左下の6つのグリッドの信頼度は0.8である。
 従って、重複領域51の左下の2つのグリッドにおいては、デプスマップ47cの信頼度である1.0と、デプスマップ47dの信頼度である0.8とが比較される。そして、信頼度1.0及びデプスマップ47cのデプス情報が関連付けられる。
 また、左下の2つのグリッド以外の4つのグリッドにおいては、デプスマップ47cの信頼度である0.6と、デプスマップ47dの信頼度である0.8とが比較される。そして、信頼度0.8及びデプスマップ47dのデプス情報が関連付けられる。
 このようにして、デプスマップ47c及びデプスマップ47dが統合される。図15Bには、統合後のデプスマップ47eが示されている。
 デプスマップ47の生成処理を終了するか否かが判定される(ステップ106)。
 生成処理を終了すると判定された場合には(ステップ106のYes)、処理を終了する。
 例えば小型走行ロボット3が目的地に到着し、移動が終了した場合等に、デプスマップ47の生成処理を終了すると判定される。判定は、例えばマップ作成部32等により実行される。
 生成処理を終了しないと判定された場合には(ステップ106のNo)、ステップ101~ステップ105の一連の処理が再び実行される。
 なお、ステップ102(自己位置推定)及びステップ103(デプス推定)の処理順は限定されない。例えばステップ103の処理が先に実行されてもよいし、2つの処理が並列して実行されてもよい。
 [デプス信頼度の他の算出方法]
 信頼度算出部31により、デプス情報が取得される際に算出されるデプス情報の取得時信頼度に基づいて、デプス情報の信頼度が算出されてもよい。
 具体的には、ステップ103(デプス推定)でデプス推定部28によりデプス情報が取得される場合に、デプス推定の手法によっては、取得されたデプス情報の取得時信頼度が算出可能である場合がある。
 取得時信頼度とは、デプス推定部28により取得されたデプス情報がどの程度正確であるかを表すパラメータである。例えばデプス情報の取得のために用いられた画像情報が不鮮明な画像である場合には、取得されたデプス情報も相対的に不正確であると判断され、取得時信頼度が低く算出される。
 もちろん、取得時信頼度を算出する方法は限定されず、任意であってよい。また、取得時信頼度の算出のために機械学習アルゴリズム等が用いられてもよい。
 デプス情報はグリッドごとに異なるデプス値であるため、取得時信頼度もまた、グリッドごとに異なる値となる。
 デプス推定部28により取得されたデプス情報、及び算出された取得時信頼度は、信頼度算出部31により取得される。
 さらに、信頼度算出部31により、ギャップ信頼度が算出される。
 ギャップ信頼度とは、第1の距離及び第2の距離に基づいて算出される信頼度である。
 例えばステップ404で説明した方法と同様に、高さ(A)と最短距離(B)との差の絶対値|A-B|を入力として、テーブル43等によりギャップ信頼度が算出される。
 この場合ギャップ信頼度は、ステップ404で算出される信頼度に相当するパラメータとなる
 もちろん第1の距離及び第2の距離に基づいた他の方法により、ギャップ信頼度が算出されてもよい。
 さらに、信頼度算出部31により、統合信頼度が算出される。
 統合信頼度は、取得時信頼度及びギャップ信頼度に基づいて算出される。従って、取得されたデプス情報の正確性や、第1の距離及び第2の距離の正確性が反映されたパラメータとなる。
 例えば統合信頼度は、取得時信頼度及びギャップ信頼度の積として算出される。すなわち以下の式により算出される。
 統合信頼度=取得時信頼度×ギャップ信頼度
 例えば取得時信頼度が0.5、ギャップ信頼度が0.8である場合には、算出される統合信頼度は0.4となる。
 ギャップ信頼度は例えば12個のグリッドで一律で同じ値をとるが、取得時信頼度はグリッドごとに異なる値となるため、統合信頼度もグリッドごとに異なる値となる。
 マップ作成部32により、統合信頼度が関連付けられたデプスマップ47が作成される。具体的には、重複領域51において統合信頼度が最も高いデプスマップ47の統合信頼度及びデプス情報が関連付けられ、デプスマップ47が作成される。
 図16は、統合信頼度が関連付けられたデプスマップ47の模式図である。
 図16に示すように、デプスマップ47にはグリッドごとに異なる統合信頼度が関連付けられている。
 統合信頼度が用いられることで、デプス推定部28により取得されたデプス情報の信頼度(取得時信頼度)が評価され、精度よくデプスマップ47が作成される。
 なお、統合信頼度の具体的な算出方法は限定されず、取得時信頼度に基づいた任意の方法により統合信頼度が算出されてよい。
 統合信頼度は、本技術に係る、信頼度算出部により第1の距離と第2の距離とに基づいて算出されるデプス情報の信頼度の一実施形態に相当する。
 [センシング領域の走行]
 小型走行ロボット3によるセンシング領域の走行について説明する。
 移動制御処理部34により、デプスマップ47に基づいて、小型走行ロボット3の移動が制御される。
 具体的には、まずマップ作成部32により作成されたデプスマップ47が、移動計画処理部33により取得される。
 そして、移動計画処理部33により、取得されたデプスマップ47に基づいて、小型走行ロボット3の移動計画が生成される。
 例えば本実施形態では、小型走行ロボット3の目的地の位置や障害物48の有無がデプスマップ47に含まれる。そして、移動計画処理部33により、デプスマップ47に基づいて、障害物48を回避しながら目的地に最短の時間(あるいは最短の距離)で到達できる最短ルートが、移動計画として生成される。
 移動計画には、最短ルートのみならず、目的地まで安全に到達できるルート等が含まれてもよい。また、小型走行ロボット3の速度及び加速度等、移動に関する任意の情報が含まれてよい。
 移動計画処理部33により作成された移動計画に基づいて、移動制御処理部34により、小型走行ロボット3の移動が制御される。具体的には、移動制御処理部34により、アクチュエータ22の具体的な動きを制御するための制御信号が生成される。さらに、生成された制御信号に基づいて、アクチュエータ22に含まれる駆動用モータ等が動作する。これにより、小型走行ロボット3の移動が実現される。
 移動計画処理部33による移動計画の生成、及び移動制御処理部34による移動の制御は、本技術に係る移動の制御に含まれる。
 図17は、小型走行ロボット3の移動経路の一例を示す模式図である。
 図17には、小型走行ロボット3の移動経路が矢印で示されている。また、小型走行ロボット3が移動するセンシング領域に対応したデプスマップ47が示されている。
 なおデプスマップ47には、グリッドごとに異なる統合信頼度が関連付けられている。
 図17に示す例では、小型走行ロボット3が、初期位置(小型走行ロボット3が図示されている位置)から目的地であるゴール55に向かって移動している。
 小型走行ロボット3の初期位置の側にあるグリッド54aでは、障害物48aが存在すると判定されている。
 本実施形態では、移動計画処理部33により、センシング領域内の障害物48が存在する領域のデプス情報の信頼度が相対的に高い場合には、障害物48が回避する対象として設定される。
 例えば「0.5」等の所定の閾値が設定され、統合信頼度が閾値よりも高い場合には、障害物48が回避する対象として設定される。本例ではグリッド54aの統合信頼度が0.9であり、閾値よりも高い。従って移動計画処理部33により、障害物48aが回避する対象として設定される。そして、障害物48aを回避する経路を含んだ移動計画が生成される。
 これにより、小型走行ロボット3が安全に走行することが可能となる。
 小型走行ロボット3は、障害物48aを回避し、グリッド54bまで移動する。
 グリッド54bの上側にあるグリッド54cでは、障害物48bが存在すると判定されている。
 この場合にも、グリッド54cの統合信頼度が0.9であり、閾値よりも高いため、障害物48bが回避する対象として設定される。
 一方で、グリッド54cの左側のグリッド54d、及び右側のグリッド54eでは、どちらも障害物48が存在しないと判定されている。
 従って、障害物48bを回避しながらゴール55に向かう移動経路としては、グリッド54d及びグリッド54fを経由し、ゴール55に到達する経路と、グリッド54e及びグリッド54fを経由し、ゴール55に到達する経路とが考えられる。
 本例では、グリッド54dの統合信頼度は0.8であり、グリッド54eの統合信頼度は0.4である。
 このような場合には、グリッド54dの統合信頼度の方が高いため、デプス推定に誤差が生じている可能性が低く、障害物48が存在しないという判定結果が正しい可能性が高いと判断される。つまり、実際には障害物48が存在するのにも関わらず、誤って障害物48が存在しないと判定されている可能性が低いと判断される。
 そして、グリッド54dに進む移動経路が選択される。すなわち移動計画処理部33により、グリッド54dを移動経路に含む移動計画が生成され、小型走行ロボット3の移動が制御される。
 図18は、小型走行ロボット3の移動経路の一例を示す模式図である。
 図18に示す例では、まず小型走行ロボット3が、初期位置から障害物48を回避しながら、グリッド54gまで移動する。
 グリッド54gから目的地であるゴール55に向かうためには、グリッド54h上の障害物48cを回避しながら移動する必要がある。
 従って、例えばグリッド54hの上下のグリッドに進み、障害物48cを回避する経路が考えられる。
 しかしながら、グリッド54hの統合信頼度は0.2であり、低い値となっている。
 本実施形態では、移動計画処理部33は、センシング領域内の障害物48が存在する領域のデプス情報の信頼度が相対的に低い場合には、障害物48を回避する対象として設定しない。
 例えば「0.5」等の所定の閾値が設定され、統合信頼度が閾値よりも低い場合には、例え障害物48が存在すると判定されていたとしても、障害物48を回避する対象として設定しない。
 本例ではグリッド54hの統合信頼度が0.2であり、閾値よりも低い。従って移動計画処理部33は、障害物48cを回避する対象として設定しない。そして、障害物48cを回避しない経路(グリッド54hを通過する経路)を含んだ移動計画が生成される。
 このように、信頼度が低い領域が経路に含まれる可能性を考え、バランスを考慮して移動計画が作成されてもよい。これにより、小型走行ロボット3が効率よく走行することが可能となる。
 デプス情報の信頼度が相対的に高い、あるいは低い旨を判断するために用いられる閾値は、任意の値であってよい。
 例えば多少安全性を犠牲にしてでも、小型走行ロボット3を目的地まで早く到達させたい場合には、閾値が高く設定される。このようにすることで、障害物48が存在すると判定され、かつ信頼度がやや高い領域であっても、その領域を通過するような移動計画が生成され、目的地までの到達時間が短縮される。
 一方で、多少目的地への到達に時間がかかっても安全性を優先したい場合には、閾値が低く設定される。このようにすることで、信頼度がやや低い領域であっても、障害物48が存在すると判定されていれば、その領域を回避するような移動計画が生成され、小型走行ロボット3を安全に移動させることが可能である。
 なお、デプス情報の信頼度が相対的に高いか否か、あるいは低いか否かを判断する方法は、閾値を用いた方法に限定されず、任意の方法が用いられてよい。
 図19は、小型走行ロボット3の移動経路の一例を示す模式図である。
 図19に示す例では、図18において小型走行ロボット3がグリッド54gまで到達し、グリッド54hを通過する移動計画が生成された後の状態が図示されている。
 本例では、小型走行ロボット3がグリッド54hに進入した際に、マップ作成部32により新しいデプスマップ47が作成されている。図19には、当該新しく作成されたデプスマップ47が示されている。
 図18における古いデプスマップ47では、グリッド54hの統合信頼度が0.2であったが、図19における新しいデプスマップ47では、グリッド54hの統合信頼度が1.0に変化している。
 このような場合には、図19に示すように、小型走行ロボット3が急遽障害物48を回避するような移動計画が生成されてもよい。
 つまり、障害物48が存在する可能性が低い場合であっても、障害物48の有無を正確に確認するために、小型走行ロボット3が少し進行しながら、あるいは停止してセンシングが実行される。そして、障害物48の存在が確認できた場合には障害物48を迂回する、という経路が計画されてもよい。
 これにより、信頼度の変化に応じた柔軟な移動を実現することが可能となる。
 デプスマップ47に基づいて小型走行ロボット3の移動が制御されることで、小型走行ロボット3の効率のよい走行が実現される。
 その他、デプスマップ47に基づいた小型走行ロボット3の移動の具体的な制御方法は限定されない。
 以上、本技術に係る小型走行ロボット3では、センシング領域に対する画像情報に基づいて単眼カメラ8の位置が推定され、単眼カメラ8とセンシング領域との第1の距離が算出される。またセンシング領域に対するデプス情報に基づいて、単眼カメラ8とセンシング領域との第2の距離が算出される。算出された第1の距離と第2の距離とに基づいて、センシング領域に対するデプス情報の信頼度が算出される。算出された信頼度を用いることで、マップ情報を精度よく作成することが可能となる。
 図20は、小型走行ロボット3又は走行ロボットが載せられたトラック1の模式図である。
 図20Aには、図1と同様に、トラック1に本技術に係る小型走行ロボット3が載せられた状態が図示されている。
 図20Bには、トラック1に比較例である走行ロボット58が載せられた状態が図示されている。
 図20Bに示すように、トラック1に比較的大きな走行ロボット58が載せられる場合には、走行ロボット58が1台、荷物2が4つと、あまり多くの走行ロボット58及び荷物2を載せることができない。
 一方で、図20Aに示すように、本技術に係る小型走行ロボット3が載せられる場合には、小型走行ロボット3が2台、荷物2が5つと、図20Bの例に比べてより多くの小型走行ロボット3及び荷物2を載せることが可能となる。
 これにより、ラストマイル配送の場面で、2台の小型走行ロボット3で同時に荷物2を運搬することが可能となる。また、トラック1により一度に多くの荷物2を運搬することが可能となる。
 すなわち、物流の効率化に貢献することが可能となる。
 図21は、小型走行ロボット3又は走行ロボット58のセンシング範囲の模式図である。
 図21Aには、本技術に係る小型走行ロボット3のセンシング範囲が斜線模様で図示されている。
 図21Bには、比較例である走行ロボット58のセンシング範囲が図示されている。
 図21Bに示す例では、走行ロボット58のセンシング範囲は、走行ロボット58の前方側の空間となっている。
 走行ロボット58の前方側には障害物48(穴及び壁面)が存在する。しかしながら、センシング範囲には、穴の底面や壁面の一部(上方側及び下方側)が含まれておらず、穴や壁面の全体はセンシングされていない。
 このように、比較例である走行ロボット58のような、センサの位置が低い走行ロボット58においては、周辺環境を認識するために必要な情報が十分に取得できず、安全な経路計画が困難である問題が生じる。
 走行ロボット58の高さを高くし、センサを高いところに設置することも可能であるが、走行ロボット58が倒れやすくなる問題が生じる。また、保管場所に制限ができてしまう。
 一方で図21Aに示すように、本技術に係る小型走行ロボット3においては、単眼カメラ8が、ポール7の上側の端部に、撮影方向が下方側に向けられた状態で設置される。そして、地面全体を鳥瞰するようにして、穴や壁面の全体がセンシングされる。
 これにより、穴の深さや壁面の高さ等、安全な走行のために必要な地面の形状を取得することが可能となる。そして、小型走行ロボット3が壁面を登ることが可能か否かといった判断が可能となる。
 また、広い領域のデプスマップ47を生成することが可能となる。
 また、例えば小型走行ロボット3が街中を走行する場合に、ポール7が目印となり、周囲の歩行者等に注意を促すことが可能となる。
 例えば歩行者等が小型走行ロボット3の存在に気づかず、小型走行ロボット3と衝突してしまう、といった事故が防止される。
 本実施形態では、第1の距離と第2の距離との差分が小さくなるのに応じて信頼度が高くなるように、信頼度が算出される。
 これにより、第1の距離と第2の距離との差分を精度よく評価することが可能となる。
 また、センシング領域、デプス情報、及び信頼度が互いに関連付けられたデプスマップ47が作成される。これにより、高品質なデプスマップ47を作成することが可能となる。
 例えばセンシング領域及びデプス情報のみが関連付けられたデプスマップに比べ、さらに信頼度の情報が含まれる分、正確なデプスマップ47が作成される。
 また、過去に作成されたデプスマップ47との重複領域51がある場合に、重複領域51において最も高い値となる信頼度に関連付けられたデプス情報が用いられ、デプスマップ47が作成される。
 このような手法が用いられることにより、精度よくデプスマップ47が作成される。
 また、単眼カメラ8によるセンシング領域結果を入力として機械学習が実行され、デプス情報が取得される。
 これにより、簡易なセンサ構成で精度よくデプス情報を取得することが可能となる。
 <その他の実施形態>
 本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
 画像を取得可能なセンサに加えて、デプス情報を取得可能なセンサが備えられてもよい。例えばLiDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)、ToF(Time of Flight)センサ等の測距センサを用いることが可能である。あるいはステレオカメラ等、画像及びデプス情報の双方を取得可能なセンサが用いられてもよい。
 この場合ステップ103の、画像情報に基づいてデプス情報を取得する処理は省略することが可能である。
 センサがポール7の上部に取り付けられる構成に限定されず、例えばセンサが移動体本体6に内蔵される構成等が採用されてもよい。本技術を実現可能な範囲で、センサの位置等が適宜決定されてよい。
 また、小型走行ロボット3が複数のセンサを有していてもよい。
 ポール7として長さが調整できるポールが用いられてもよい。
 これにより、例えばセンシングのスケールが分かるため、特徴点14を用いないセンシングが可能となり、簡易な構成で本技術が実現可能となる。
 IMU(Inertial Measurement Unit、慣性計測装置)を含んだ構成が採用されてもよい。
 これにより、センサや移動体本体6の自己位置推定の精度を改善することが可能となる。
 小型走行ロボット3に搭載されたコンピュータとネットワーク等を介して通信可能な他のコンピュータとが連動することにより本技術に係る情報処理方法が実行され、本技術に係る情報処理装置が構築されてもよい。
 図22は、小型走行ロボット3及びコンピュータ61の模式図である。
 図22には、小型走行ロボット3、及び外部に構成されたコンピュータ61(サーバ装置等)が図示されている。
 例えば種々の機能ブロックの機能の一部または全部が、ネットワーク等を介して通信可能なコンピュータ61に備えられる。この場合、小型走行ロボット3及びコンピュータ61に通信機能が備えられてもよい。もちろん通信機能を有する他の機能ブロックが構成され、「通信部」と協働可能であってもよい。
 例えば、単眼カメラ8によるセンシング結果が、小型走行ロボット3からコンピュータ61に送信される。コンピュータ61が有する種々の機能ブロックにより、センシング結果に基づいてデプスマップ47や移動計画等が生成される。生成された移動計画等が、ネットワーク等を介して、小型走行ロボット3に送信される。
 このような構成により、本技術に係る「情報制御方法」が実行されてもよい。またこのような構成を、本技術に係る「情報処理システム」ということも可能である。
 図23は、コンピュータ61のハードウェア構成例を示すブロック図である。
 コンピュータ61は、CPU501、ROM502、RAM503、入出力インタフェース505、及びこれらを互いに接続するバス504を備える。入出力インタフェース505には、表示部506、入力部507、記憶部508、通信部509、及びドライブ部510等が接続される。
 表示部506は、例えば液晶、EL等を用いた表示デバイスである。入力部507は、例えばキーボード、ポインティングデバイス、タッチパネル、その他の操作装置である。入力部507がタッチパネルを含む場合、そのタッチパネルは表示部506と一体となり得る。
 記憶部508は、不揮発性の記憶デバイスであり、例えばHDD、フラッシュメモリ、その他の固体メモリである。ドライブ部98は、例えば光学記録媒体、磁気記録テープ等、リムーバブル記録媒体511を駆動することが可能なデバイスである。
 通信部509は、LAN、WAN等に接続可能な、他のデバイスと通信するためのモデム、ルータ、その他の通信機器である。通信部509は、有線及び無線のどちらを利用して通信するものであってもよい。通信部509は、コンピュータ61とは別体で使用される場合が多い。
 上記のようなハードウェア構成を有するコンピュータ61による情報処理は、記憶部508またはROM502等に記憶されたソフトウェアと、コンピュータ61のハードウェア資源との協働により実現される。具体的には、ROM502等に記憶された、ソフトウェアを構成するプログラムをRAM503にロードして実行することにより、本技術に係る情報処理方法が実現される。
 プログラムは、例えばリムーバブル記録媒体511を介してコンピュータ61にインストールされる。あるいは、グローバルネットワーク等を介してプログラムがコンピュータ61にインストールされてもよい。その他、コンピュータ61が読み取り可能な非一過性の任意の記憶媒体が用いられてよい。
 ネットワーク等を介して通信可能に接続された複数のコンピュータが協働することで、本技術に係る情報処理方法が実行され、本技術に係る情報処理装置が構築されてもよい。
 すなわち本技術に係る情報処理方法は、単体のコンピュータにより構成されたコンピュータシステムのみならず、複数のコンピュータが連動して動作するコンピュータシステムにおいても実行可能である。
 なお本開示において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれもシステムである。
 コンピュータシステムによる本技術に係る情報処理方法の実行は、例えばセンサによるセンシング、画像情報やデプス情報の取得、センサの位置推定、距離の算出、信頼度の算出、デプスマップの作成、移動計画の生成、移動の制御等が、単体のコンピュータにより実行される場合、及び各処理が異なるコンピュータにより実行される場合の両方を含む。また所定のコンピュータによる各処理の実行は、当該処理の一部または全部を他のコンピュータに実行させその結果を取得することを含む。
 すなわち本技術に係る情報処理方法は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成にも適用することが可能である。
 各図面を参照して説明した小型走行ロボットの構成、デプスマップの作成、移動の制御、各処理フロー等はあくまで一実施形態であり、本技術の趣旨を逸脱しない範囲で、任意に変形可能である。すなわち本技術を実施するための他の任意の構成やアルゴリズム等が採用されてよい。
 本開示において、「略」という文言が使用される場合、これはあくまで説明の理解を容易とするための使用であり、「略」という文言の使用/不使用に特別な意味があるわけではない。
 すなわち、本開示において、「中心」「中央」「均一」「等しい」「同じ」「直交」「平行」「対称」「延在」「軸方向」「円柱形状」「円筒形状」「リング形状」「円環形状」「長方形状」「星型の形状」等の、形状、サイズ、位置関係、状態等を規定する概念は、「実質的に中心」「実質的に中央」「実質的に均一」「実質的に等しい」「実質的に同じ」「実質的に直交」「実質的に平行」「実質的に対称」「実質的に延在」「実質的に軸方向」「実質的に円柱形状」「実質的に円筒形状」「実質的にリング形状」「実質的に円環形状」「実質的に長方形状」「実質的に星型の形状」等を含む概念とする。
 例えば「完全に中心」「完全に中央」「完全に均一」「完全に等しい」「完全に同じ」「完全に直交」「完全に平行」「完全に対称」「完全に延在」「完全に軸方向」「完全に円柱形状」「完全に円筒形状」「完全にリング形状」「完全に円環形状」「完全に長方形状」「完全に星型の形状」等を基準とした所定の範囲(例えば±10%の範囲)に含まれる状態も含まれる。
 従って、「略」の文言が付加されていない場合でも、いわゆる「略」を付加して表現される概念が含まれ得る。反対に、「略」を付加して表現された状態について、完全な状態が排除される訳ではない。
 本開示において、「Aより大きい」「Aより小さい」といった「より」を使った表現は、Aと同等である場合を含む概念と、Aと同等である場合を含まない概念の両方を包括的に含む表現である。例えば「Aより大きい」は、Aと同等は含まない場合に限定されず、「A以上」も含む。また「Aより小さい」は、「A未満」に限定されず、「A以下」も含む。
 本技術を実施する際には、上記で説明した効果が発揮されるように、「Aより大きい」及び「Aより小さい」に含まれる概念から、具体的な設定等を適宜採用すればよい。
 以上説明した本技術に係る特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
 なお、本技術は以下のような構成も採ることができる。
(1)
 画像情報を取得可能なセンサのセンシング結果に基づいて、前記センサのセンシング領域に対する画像情報及びデプス情報の各々を取得する取得部と、
 前記画像情報に基づいて前記センサの位置を推定し、推定された前記センサの位置に基づいて前記センサと前記センシング領域との第1の距離を算出する第1の算出部と、
 前記デプス情報に基づいて、前記センサと前記センシング領域との第2の距離を算出する第2の算出部と、
 前記第1の距離と前記第2の距離とに基づいて、前記デプス情報の信頼度を算出する信頼度算出部と
 を具備する情報処理装置。
(2)(1)に記載の情報処理装置であって、
 前記信頼度算出部は、前記第1の距離と前記第2の距離との差分に基づいて、前記デプス情報の信頼度を算出する
 情報処理装置。
(3)(2)に記載の情報処理装置であって、
 前記信頼度算出部は、前記第1の距離と前記第2の距離との差分が小さくなるのに応じて前記デプス情報の信頼度が高くなるように、前記デプス情報の信頼度を算出する
 情報処理装置。
(4)(1)から(3)のうちいずれか1つに記載の情報処理装置であって、
 前記センサは、地面を移動可能に構成される移動体本体に、前記移動体本体と一体的に移動可能に設置され、
 前記センシング領域は、前記地面の前記移動体本体の周辺領域を含み、
 前記第1の算出部は、前記センサと前記周辺領域との最短距離を、前記第1の距離として算出し、
 前記第2の算出部は、前記センサと前記周辺領域との最短距離を、前記第2の距離として算出する
 情報処理装置。
(5)(4)に記載の情報処理装置であって、
 前記センサは、前記移動体本体の上方側の位置に、下方側に向けて設置される
 情報処理装置。
(6)(4)又は(5)に記載の情報処理装置であって、
 前記第1の算出部は、前記画像情報に基づいて前記移動体本体に対する前記センサの高さを算出し、算出された前記移動体本体に対する前記センサの高さ、及び前記移動体本体の高さの合計値を、前記第1の距離として算出する
 情報処理装置。
(7)(6)に記載の情報処理装置であって、
 前記移動体本体は、前記センシング領域に含まれ、特徴点が配置された表面を有し、
 前記第1の算出部は、前記特徴点に関する画像情報に基づいて、前記移動体本体に対する前記センサの高さを算出する
 情報処理装置。
(8)(4)から(7)のうちいずれか1つに記載の情報処理装置であって、
 前記第2の算出部は、前記デプス情報に基づいて前記センサと前記センシング領域との最短距離を候補最短距離として算出し、前記候補最短距離が前記センサと前記移動体本体との最短距離である場合には、前記候補最短距離、及び前記移動体本体の高さの合計値を、前記第2の距離として算出する
 情報処理装置。
(9)(1)から(8)のうちいずれか1つに記載の情報処理装置であって、さらに、
 前記センシング領域、前記デプス情報、及び前記デプス情報の信頼度が互いに関連付けられたデプスマップを作成するマップ作成部を具備する
 情報処理装置。
(10)(9)に記載の情報処理装置であって、
 前記マップ作成部は、前記センシング領域内に過去に作成された前記デプスマップに対応する前記センシング領域と重複する重複領域がある場合には、前記重複領域において最も高い値となる前記デプス情報の信頼度に関連付けられた前記デプス情報を用いて、前記デプスマップを作成する
 情報処理装置。
(11)(1)から(10)のうちいずれか1つに記載の情報処理装置であって、
 前記信頼度算出部は、前記デプス情報が取得される際に算出される前記デプス情報の取得時信頼度に基づいて、前記デプス情報の信頼度を算出する
 情報処理装置。
(12)(9)又は(10)に記載の情報処理装置であって、さらに、
 前記デプスマップに基づいて、前記移動体の移動を制御する移動制御部を具備する
 情報処理装置。
(13)(12)に記載の情報処理装置であって、
 前記デプスマップは、前記センシング領域上の障害物の有無を含み、
 前記移動制御部は、前記センシング領域内の前記障害物が存在する領域の前記デプス情報の信頼度が相対的に高い場合には、前記障害物を回避する対象として設定する
 情報処理装置。
(14)(12)又は(13)に記載の情報処理装置であって、
 前記デプスマップは、前記センシング領域上の障害物の有無を含み、
 前記移動制御部は、前記センシング領域内の前記障害物が存在する領域の前記デプス情報の信頼度が相対的に低い場合には、前記障害物を回避する対象として設定しない
 情報処理装置。
(15)(1)から(14)のうちいずれか1つに記載の情報処理装置であって、
 前記センサは、単眼カメラであり、
 前記取得部は、前記単眼カメラの前記センシング結果を入力として機械学習を実行することで、前記デプス情報を取得する
 情報処理装置。
(16)(1)から(15)のうちいずれか1つに記載の情報処理装置であって、
 前記センサは、地面を移動可能に構成される移動体本体に、前記移動体本体と一体的に移動可能に設置され、
 前記情報処理装置は、さらに、
 前記センサと、
 前記移動体本体と
 を具備する情報処理装置。
(17)(1)から(16)のうちいずれか1つに記載の情報処理装置であって、
 前記センサは、地面を移動可能に構成される移動体本体に、前記移動体本体と一体的に移動可能に設置され、前記移動体本体に対して着脱可能に構成される
 情報処理装置。
(18)
 画像情報を取得可能なセンサのセンシング結果に基づいて、前記センサのセンシング領域に対する画像情報及びデプス情報の各々を取得し、
 前記画像情報に基づいて前記センサの位置を推定し、推定された前記センサの位置に基づいて前記センサと前記センシング領域との第1の距離を算出し、
 前記デプス情報に基づいて、前記センサと前記センシング領域との第2の距離を算出し、
 前記第1の距離と前記第2の距離とに基づいて、前記デプス情報の信頼度を算出する
 ことをコンピュータシステムが実行する情報処理方法。
(19)
 画像情報を取得可能なセンサのセンシング結果に基づいて、前記センサのセンシング領域に対する画像情報及びデプス情報の各々を取得するステップと、
 前記画像情報に基づいて前記センサの位置を推定し、推定された前記センサの位置に基づいて前記センサと前記センシング領域との第1の距離を算出するステップと、
 前記デプス情報に基づいて、前記センサと前記センシング領域との第2の距離を算出するステップと、
 前記第1の距離と前記第2の距離とに基づいて、前記デプス情報の信頼度を算出するステップと
 をコンピュータシステムに実行させるプログラム。
 3…小型走行ロボット
 6…移動体本体
 8…単眼カメラ
 11…上面
 14…特徴点
 17…コントローラ
 24…画像取得部
 25…特徴点抽出部
 26…自己位置推定部
 27…第1の算出部
 28…デプス推定部
 29…認識部
 30…第2の算出部
 31…信頼度算出部
 32…マップ作成部
 33…移動計画処理部
 34…移動制御処理部
 37…周辺地面
 40…撮影範囲
 47…デプスマップ
 48…障害物
 51…重複領域

Claims (19)

  1.  画像情報を取得可能なセンサのセンシング結果に基づいて、前記センサのセンシング領域に対する画像情報及びデプス情報の各々を取得する取得部と、
     前記画像情報に基づいて前記センサの位置を推定し、推定された前記センサの位置に基づいて前記センサと前記センシング領域との第1の距離を算出する第1の算出部と、
     前記デプス情報に基づいて、前記センサと前記センシング領域との第2の距離を算出する第2の算出部と、
     前記第1の距離と前記第2の距離とに基づいて、前記デプス情報の信頼度を算出する信頼度算出部と
     を具備する情報処理装置。
  2.  請求項1に記載の情報処理装置であって、
     前記信頼度算出部は、前記第1の距離と前記第2の距離との差分に基づいて、前記デプス情報の信頼度を算出する
     情報処理装置。
  3.  請求項2に記載の情報処理装置であって、
     前記信頼度算出部は、前記第1の距離と前記第2の距離との差分が小さくなるのに応じて前記デプス情報の信頼度が高くなるように、前記デプス情報の信頼度を算出する
     情報処理装置。
  4.  請求項1に記載の情報処理装置であって、
     前記センサは、地面を移動可能に構成される移動体本体に、前記移動体本体と一体的に移動可能に設置され、
     前記センシング領域は、前記地面の前記移動体本体の周辺領域を含み、
     前記第1の算出部は、前記センサと前記周辺領域との最短距離を、前記第1の距離として算出し、
     前記第2の算出部は、前記センサと前記周辺領域との最短距離を、前記第2の距離として算出する
     情報処理装置。
  5.  請求項4に記載の情報処理装置であって、
     前記センサは、前記移動体本体の上方側の位置に、下方側に向けて設置される
     情報処理装置。
  6.  請求項4に記載の情報処理装置であって、
     前記第1の算出部は、前記画像情報に基づいて前記移動体本体に対する前記センサの高さを算出し、算出された前記移動体本体に対する前記センサの高さ、及び前記移動体本体の高さの合計値を、前記第1の距離として算出する
     情報処理装置。
  7.  請求項6に記載の情報処理装置であって、
     前記移動体本体は、前記センシング領域に含まれ、特徴点が配置された表面を有し、
     前記第1の算出部は、前記特徴点に関する画像情報に基づいて、前記移動体本体に対する前記センサの高さを算出する
     情報処理装置。
  8.  請求項4に記載の情報処理装置であって、
     前記第2の算出部は、前記デプス情報に基づいて前記センサと前記センシング領域との最短距離を候補最短距離として算出し、前記候補最短距離が前記センサと前記移動体本体との最短距離である場合には、前記候補最短距離、及び前記移動体本体の高さの合計値を、前記第2の距離として算出する
     情報処理装置。
  9.  請求項1に記載の情報処理装置であって、さらに、
     前記センシング領域、前記デプス情報、及び前記デプス情報の信頼度が互いに関連付けられたデプスマップを作成するマップ作成部を具備する
     情報処理装置。
  10.  請求項9に記載の情報処理装置であって、
     前記マップ作成部は、前記センシング領域内に過去に作成された前記デプスマップに対応する前記センシング領域と重複する重複領域がある場合には、前記重複領域において最も高い値となる前記デプス情報の信頼度に関連付けられた前記デプス情報を用いて、前記デプスマップを作成する
     情報処理装置。
  11.  請求項1に記載の情報処理装置であって、
     前記信頼度算出部は、前記デプス情報が取得される際に算出される前記デプス情報の取得時信頼度に基づいて、前記デプス情報の信頼度を算出する
     情報処理装置。
  12.  請求項9に記載の情報処理装置であって、さらに、
     前記デプスマップに基づいて、前記移動体の移動を制御する移動制御部を具備する
     情報処理装置。
  13.  請求項12に記載の情報処理装置であって、
     前記デプスマップは、前記センシング領域上の障害物の有無を含み、
     前記移動制御部は、前記センシング領域内の前記障害物が存在する領域の前記デプス情報の信頼度が相対的に高い場合には、前記障害物を回避する対象として設定する
     情報処理装置。
  14.  請求項12に記載の情報処理装置であって、
     前記デプスマップは、前記センシング領域上の障害物の有無を含み、
     前記移動制御部は、前記センシング領域内の前記障害物が存在する領域の前記デプス情報の信頼度が相対的に低い場合には、前記障害物を回避する対象として設定しない
     情報処理装置。
  15.  請求項1に記載の情報処理装置であって、
     前記センサは、単眼カメラであり、
     前記取得部は、前記単眼カメラの前記センシング結果を入力として機械学習を実行することで、前記デプス情報を取得する
     情報処理装置。
  16.  請求項1に記載の情報処理装置であって、
     前記センサは、地面を移動可能に構成される移動体本体に、前記移動体本体と一体的に移動可能に設置され、
     前記情報処理装置は、さらに、
     前記センサと、
     前記移動体本体と
     を具備する情報処理装置。
  17.  請求項1に記載の情報処理装置であって、
     前記センサは、地面を移動可能に構成される移動体本体に、前記移動体本体と一体的に移動可能に設置され、前記移動体本体に対して着脱可能に構成される
     情報処理装置。
  18.  画像情報を取得可能なセンサのセンシング結果に基づいて、前記センサのセンシング領域に対する画像情報及びデプス情報の各々を取得し、
     前記画像情報に基づいて前記センサの位置を推定し、推定された前記センサの位置に基づいて前記センサと前記センシング領域との第1の距離を算出し、
     前記デプス情報に基づいて、前記センサと前記センシング領域との第2の距離を算出し、
     前記第1の距離と前記第2の距離とに基づいて、前記デプス情報の信頼度を算出する
     ことをコンピュータシステムが実行する情報処理方法。
  19.  画像情報を取得可能なセンサのセンシング結果に基づいて、前記センサのセンシング領域に対する画像情報及びデプス情報の各々を取得するステップと、
     前記画像情報に基づいて前記センサの位置を推定し、推定された前記センサの位置に基づいて前記センサと前記センシング領域との第1の距離を算出するステップと、
     前記デプス情報に基づいて、前記センサと前記センシング領域との第2の距離を算出するステップと、
     前記第1の距離と前記第2の距離とに基づいて、前記デプス情報の信頼度を算出するステップと
     をコンピュータシステムに実行させるプログラム。
PCT/JP2022/042645 2021-12-28 2022-11-17 情報処理装置、情報処理方法、及びプログラム WO2023127337A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-214087 2021-12-28
JP2021214087A JP2023097784A (ja) 2021-12-28 2021-12-28 情報処理装置、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2023127337A1 true WO2023127337A1 (ja) 2023-07-06

Family

ID=86998777

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/042645 WO2023127337A1 (ja) 2021-12-28 2022-11-17 情報処理装置、情報処理方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP2023097784A (ja)
WO (1) WO2023127337A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013185905A (ja) * 2012-03-07 2013-09-19 Sony Corp 情報処理装置及び方法、並びにプログラム
WO2013145554A1 (ja) * 2012-03-29 2013-10-03 パナソニック株式会社 画像処理装置及び画像処理方法
JP2018084571A (ja) * 2016-11-11 2018-05-31 株式会社東芝 処理装置、撮像装置および自動制御システム
JP2019015621A (ja) * 2017-07-07 2019-01-31 株式会社日立製作所 自己位置推定及び地形計測装置を備えた移動体
JP2021051347A (ja) * 2019-09-20 2021-04-01 いすゞ自動車株式会社 距離画像生成装置及び距離画像生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013185905A (ja) * 2012-03-07 2013-09-19 Sony Corp 情報処理装置及び方法、並びにプログラム
WO2013145554A1 (ja) * 2012-03-29 2013-10-03 パナソニック株式会社 画像処理装置及び画像処理方法
JP2018084571A (ja) * 2016-11-11 2018-05-31 株式会社東芝 処理装置、撮像装置および自動制御システム
JP2019015621A (ja) * 2017-07-07 2019-01-31 株式会社日立製作所 自己位置推定及び地形計測装置を備えた移動体
JP2021051347A (ja) * 2019-09-20 2021-04-01 いすゞ自動車株式会社 距離画像生成装置及び距離画像生成方法

Also Published As

Publication number Publication date
JP2023097784A (ja) 2023-07-10

Similar Documents

Publication Publication Date Title
US11592845B2 (en) Image space motion planning of an autonomous vehicle
JP7341652B2 (ja) 情報処理装置、情報処理方法、プログラム、およびシステム
US11861892B2 (en) Object tracking by an unmanned aerial vehicle using visual sensors
US20220234733A1 (en) Aerial Vehicle Smart Landing
JP6882296B2 (ja) 自律視覚ナビゲーション
CA2950978C (en) Method for building a map of probability of one of absence and presence of obstacles for an autonomous robot
TWI827649B (zh) 用於vslam比例估計的設備、系統和方法
Bauer et al. The autonomous city explorer: Towards natural human-robot interaction in urban environments
US8903160B2 (en) Apparatus and method with traveling path planning
JP2019125354A (ja) 情報処理装置、システム、方法、およびプログラム
KR20170061373A (ko) 이동 로봇 및 그 제어 방법
CN112631269A (zh) 自主移动机器人及自主移动机器人的控制程序
WO2023127337A1 (ja) 情報処理装置、情報処理方法、及びプログラム
CN113994291A (zh) 移动体、控制方法和程序
JP6406894B2 (ja) 環境地図生成制御装置、移動体、及び環境地図生成方法
JP2020064029A (ja) 移動体制御装置
EP4024155B1 (en) Method, system and computer program product of control of unmanned aerial vehicles
WO2022259600A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
WO2020138115A1 (ja) 自律移動体
Shakeel et al. Automatic Sign Detection with Application to an Assistive Robot
JP2022065749A (ja) 移動体の制御システム
KR20230132065A (ko) 왜곡 영상을 이용한 자율 주행 장치의 자기 위치 추정 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22915568

Country of ref document: EP

Kind code of ref document: A1