Examples described herein relate to mapping a space using a multi-directional camera. This mapping may be performed with a robotic device comprising a monocular multi-directional camera device and at least one movement actuator. The mapping may generate an occupancy map to determine navigable portions of the space. A robotic device movement around a point in a plane of movement may be instructed using the at least one movement actuator. Using the monocular multi-directional camera device, a sequence of images are obtained (610) at different angular positions during the instructed movement. Pose data is determined (620) from the sequence of images. The pose data is determined using features detected within the sequence of images. Depth values are then estimated (630) by evaluating a volumetric function of the sequence of images and the pose data. The depth values are processed (640) to populate the occupancy map for the space.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A robotic device comprising: a monocular multi-directional camera device to capture an image from a plurality of angular positions; at least one movement actuator to move the robotic device within a space; a navigation engine to control movement of the robotic device within the space; an occupancy map accessible by the navigation engine to determine navigable portions of the space, wherein the navigation engine is configured to: instruct a movement of the robotic device around a point in a plane of movement using the at least one movement actuator; obtain, using the monocular multi-directional camera device, a sequence of images at a plurality of different angular positions during the instructed movement of the robotic device; determine pose data from the sequence of images, the pose data indicating the location and orientation of the monocular multi-directional camera device at a plurality of positions during the instructed movement, the pose data being determined using a set of features detected within the sequence of images; estimate depth values by evaluating a volumetric function of the sequence of images and the pose data, each depth value representing a distance from the multi-directional camera device to an object in the space; and process the depth values to populate the occupancy map for the space.
2. The robotic device of claim 1 , comprising: an image processor to unwrap images captured by the monocular multi-directional camera device and output panoramic images for use by the navigation engine.
3. The robotic device of claim 1 , wherein the monocular multi-directional camera device comprises a video device to capture video data comprising a sequence of frames.
4. The robotic device of claim 1 , wherein the occupancy map comprises a multi-dimensional grid, wherein entries in the grid indicate one of: an area in the plane of movement comprises free space and the area is navigable by the robotic device, and an area in the plane of movement comprises an object and the area is not navigable by the robotic device.
5. The robotic device of claim 1 , comprising: a camera calibrator to calibrate the monocular multi-directional camera device by processing at least one captured image of a calibration pattern, the camera calibrator being configured to determine camera model parameters by evaluating a function of captured image values and retrieved calibration pattern image properties.
6. The robotic device of claim 1 , wherein the monocular multi-directional camera device comprises an omni-directional camera.
7. The robotic device of claim 6 , wherein the omni-directional camera comprises a panoramic-annular-lens.
8. The robotic device of claim 1 , wherein the monocular multi-directional camera device comprises a depth sensor and an image sensor and is arranged to capture depth and image data.
9. The robotic device of claim 1 , further comprising: a cleaning element, wherein the navigation engine is configured to: process the occupancy map to determine a cleaning pattern for unoccupied areas of the space, and instruct an activation of the cleaning element according to the cleaning pattern.
10. The robotic device of claim 9 , wherein the cleaning element comprises a vacuum device.
11. A method for determining object occupancy for a space navigable by a robotic device comprising: obtaining image data from a monocular multi-directional camera device coupled to the robotic device, the monocular multi-directional camera device being arranged to capture image data from a plurality of angular positions, the image data comprising a sequence of images having disparity within a plane of movement of the robotic device; determining pose data corresponding to the image data, the pose data indicating the location and orientation of the monocular multi-directional camera device, the pose data being determined using a set of features detected within the image data; estimating depth values by evaluating a volumetric function of the image data and the pose data, each depth value representing a distance from the monocular multi-directional camera device to an object in the space; and processing the depth values to populate an object occupancy map for the space, the object occupancy map being useable by the robotic device to navigate the space.
12. The method of claim 11 , wherein determining pose data corresponding to the image data comprises: detecting one or more features in each of a plurality of images in the sequence of images; matching the detected features across the plurality of images to determine a set of landmarks within the image data; and jointly optimising a set of camera pose estimates and a set of landmark location estimates for the sequence of images, the pose data comprising the set of camera pose estimates following joint optimisation.
13. The method of claim 12 , wherein jointly optimising the set of camera and landmark location estimates comprises performing bundle adjustment.
14. The method of claim 12 , wherein jointly optimising the set of camera and landmark location estimates comprises using odometry data from the robotic device to constrain an optimisation function.
15. The method of claim 11 , wherein estimating depth values by evaluating a volumetric function comprises: determining a reference image from the sequence of images; determining a set of comparison images that overlap with the reference image; determining a photometric error between image values for the reference image and projected image values from the set of comparison images, wherein each projected image value comprises a projection of a comparison image to a viewpoint of the reference image using pose data for the reference image and pose data for the comparison image; and selecting depth values that minimise the photometric error.
16. The method of claim 15 , wherein the photometric error is determined based on a normalised pixel photometric error.
17. The method of claim 15 , wherein: the monocular multi-directional camera device comprises an omni-directional camera device and the reference image comprises a 360-degree panorama of the space, and wherein processing the depth values comprises: determining closest depth values for each pixel column of the reference image; and using said closest depth values to populate two-dimensional occupancy grid values.
18. The method claim 11 , wherein estimating depth values comprises: determining variance measures for estimated depth values, and wherein processing the depth values comprises: filtering the estimated depth values based on the determined variance measures, wherein the object occupancy map is populated based on the filtered depth values.
19. The method of claim 18 , wherein the variance measures comprise standard deviations for pixel depth measurements associated with a reference image, and wherein filtering the estimated depth values comprises using depth estimates that have a standard deviation value that is below a predefined threshold.
20. The method of claim 11 , wherein estimating depth values comprises computing a semi-dense depth map of the space.
21. The method of claim 11 , wherein: the method is repeated for multiple spaced circular movements of the robotic device within the space, and processing the depth values to populate the object occupancy map comprises integrating depth values from multiple depth maps to populate the object occupancy map.
22. The method of claim 11 , further comprising: using the object occupancy map to determine a navigation path for the robotic device through unoccupied areas of the space.
23. The method of claim 11 , wherein the robotic device comprises a cleaning element and the method comprises: using the object occupancy map to determine a cleaning pattern for unoccupied areas of the space, wherein the cleaning pattern indicates where the cleaning element is to be applied within the space.
24. A non-transitory computer-readable storage medium comprising computer-executable instructions which, when executed by a processor, cause a computing device to map a space, wherein the instructions cause the computing device to: receive a sequence of frames from a monocular multi-directional camera, the multi-directional camera being arranged to capture image data for each of the frames from a plurality of angular positions, the sequence of frames being captured at different angular positions within a plane of movement for the space; determine location and orientation estimates for the camera for each frame by matching detected features across the sequence of frames; bundle adjust the location and orientation estimates for the camera and the detected features across the sequence of frames to generate an optimised set of location and orientation estimates for the camera; determine a reference frame from the sequence of frames; evaluate a photometric error function between pixel values for the reference frame and projected pixel values from a set of comparison images that overlap the reference frame, said projected pixel values being a function of an object distance from the camera and the optimised set of location and orientation estimates for the camera; determine object distances for different angular positions corresponding to different pixel columns of the reference frame based on the evaluated photometric error function; and generate a map of navigable areas within the plane of movement for the space based on the determined object distances.
25. The medium of claim 24 , wherein: the monocular multi-directional camera comprises an omni-directional camera; and each frame comprises an unwrapped omni-directional image.
26. The medium of claim 25 , wherein the omni-directional camera comprises a panoramic-annular-lens.
27. The medium of claim 24 , wherein the sequence of frames are received from a mobile video camera that is moved circumferentially within the space.
28. The medium of claim 24 , wherein the monocular multi-directional camera comprises an image sensor and a depth sensor and wherein the sequence of frames comprise image data and depth data, the depth data being used with the image data to determine object distances.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
February 27, 2018
October 6, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.