WO2020137311A1 - 測位装置及び移動体 - Google Patents

測位装置及び移動体 Download PDF

Info

Publication number
WO2020137311A1
WO2020137311A1 PCT/JP2019/046185 JP2019046185W WO2020137311A1 WO 2020137311 A1 WO2020137311 A1 WO 2020137311A1 JP 2019046185 W JP2019046185 W JP 2019046185W WO 2020137311 A1 WO2020137311 A1 WO 2020137311A1
Authority
WO
WIPO (PCT)
Prior art keywords
marker
posture
vehicle
corrected
image
Prior art date
Application number
PCT/JP2019/046185
Other languages
English (en)
French (fr)
Inventor
拓実 小島
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to JP2020562954A priority Critical patent/JP7482453B2/ja
Priority to EP19903677.3A priority patent/EP3904993B1/en
Publication of WO2020137311A1 publication Critical patent/WO2020137311A1/ja
Priority to US17/349,178 priority patent/US20210312661A1/en

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
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • 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
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/457Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Definitions

  • the present disclosure relates to a positioning device that measures the position of a moving body such as a vehicle, and a moving body equipped with such a positioning device.
  • Patent Document 1 discloses a luggage location management device that measures the position of a vehicle using a positioning technique such as GPS, wireless LAN positioning, and infrared positioning.
  • a positioning method using GPS When positioning a vehicle moving outdoors, a positioning method using GPS is generally used.
  • indoors such as warehouses and factories cannot receive radio waves from GPS satellites, and therefore cannot use a positioning method using GPS.
  • indoor positioning methods include a method using a wireless signal such as UWB (ultra wide band), Wi-Fi, or BLE (Bluetooth (registered trademark) Low Energy).
  • UWB ultra wide band
  • Wi-Fi Wireless Fidelity
  • BLE Bluetooth (registered trademark) Low Energy
  • the positioning method using a radio signal requires a large number of radio transmitters for transmitting the radio signal to be installed in the moving range of the vehicle, and thus the initial introduction cost is high.
  • PDR Registered Dead Reckoning
  • Non-Patent Document 1 There is a technology called Visual-SLAM (Visual Simultaneous Localization and Mapping).
  • Visual-SLAM Visual Simultaneous Localization and Mapping
  • a moving body equipped with a photographing device moves while photographing its surroundings, and the moving amount of the moving body is calculated based on the moving amounts of feature points in a plurality of photographed images. This makes it possible to estimate the current position of the moving body and generate a map based on the trajectory of the moving body.
  • the position of the moving body obtained by Visual-SLAM is calculated as a relative position with respect to a certain reference position (for example, the position where the moving body starts moving), so the error increases cumulatively over time. .. Therefore, there is a demand for a positioning device that can measure the position of a moving body with a smaller error than ever before using an imaging device.
  • An object of the present disclosure is to provide a positioning device that measures the position of a moving body using an imaging device, and that can measure the position of the moving body with a smaller error than before.
  • a first position and a first position of the moving body which indicate a relative position and a relative attitude of the moving body with respect to a predetermined reference position and reference posture, based on a plurality of images captured by an image capturing device mounted on the moving body.
  • a first calculator for calculating the pose
  • a storage device for storing identifiers of a plurality of visually identifiable markers arranged at predetermined positions, information about positions and postures, and information about a map including a passage for the moving body, One of the plurality of markers is extracted from the image captured by the image capturing device, and the position and orientation of the moving body in the map is displayed based on the position and orientation of the extracted one marker.
  • a second position and a second posture of the moving body are calculated, and based on the position and the posture of the moving body in the marker coordinate system with the one marker as an origin, the A second calculator for calculating the angle of the moving body in the direction;
  • a corrector that corrects the first position and the first attitude based on the second position and the second attitude to generate a corrected position and a corrected attitude of the moving body.
  • the corrector does not use the second position and the second attitude calculated based on the position and the attitude of the marker in which the angle is less than or equal to a first threshold, and the angle is equal to the first position.
  • the corrected position and the corrected pose are generated using the second position and the second pose that are calculated based on the position and pose of the marker that is greater than a threshold.
  • the position and orientation of a moving body with high accuracy by correcting the first position and the first orientation based on the second position and the second orientation. it can. Further, according to an aspect of the present disclosure, it is determined whether or not the recognized marker is reliable, and only when the marker is reliable, the position and orientation of the moving body are determined based on the second position and the second orientation. The position and orientation of the moving body can be measured with higher accuracy by correcting the.
  • step S2 relative position calculation processing
  • step S3 absolute position calculation processing
  • FIG. 9 It is a figure which shows the coordinate of the vertex of the marker 4 in the image 40 image
  • FIG. 1 is a schematic diagram showing a configuration of a vehicle 1 according to the first embodiment.
  • the vehicle 1 may be a manned vehicle such as a forklift or a truck.
  • the vehicle 1 also includes a luggage carrier 1a on which the luggage 3 is mounted.
  • the vehicle 1 may further include an elevating mechanism 1b for loading and unloading the luggage 3 on the platform 1a.
  • the vehicle 1 also includes a console 1c that receives user operations such as forward movement, backward movement, steering, and stopping.
  • the vehicle body of the vehicle 1 is provided with a photographing device 11 so as to photograph a predetermined direction (forward, backward, lateral, upward, and/or downward) with respect to the vehicle 1.
  • FIG. 2 is a block diagram showing the configuration of a positioning system including the vehicle 1 of FIG.
  • the positioning system in FIG. 2 includes at least one vehicle 1 and a server device 2.
  • Each vehicle 1 includes a positioning device 12 that measures the position of the vehicle 1 based on the image captured by the image capturing device 11.
  • the server device 2 acquires the position of each vehicle 1 and records the position of each vehicle 1.
  • the vehicle 1 includes an imaging device 11, a positioning device 12, a communication device 13, a display device 14, and a drive mechanism 15.
  • the image capturing device 11 generates an image of a subject in a predetermined orientation with respect to the vehicle 1 at predetermined time intervals while the vehicle 1 is moving.
  • the imaging device 11 includes, for example, at least one camera.
  • the image capturing device 11 may capture a still image at predetermined time intervals, or may extract a frame at a predetermined time interval from a series of frames of a moving image.
  • the image capturing device 11 sends the captured image to the positioning device 12.
  • the image capturing apparatus 11 gives each image a time stamp of the time when the image was captured.
  • the positioning device 12 measures the position of the vehicle 1 based on the image taken by the imaging device 11.
  • the positioning device 12 extracts feature points from the plurality of images captured by the image capturing device 11, associates the extracted feature points between the images, and determines a predetermined reference value based on the amount of change in the feature points between the images.
  • the relative position and relative attitude of the vehicle 1 with respect to the position and reference attitude are calculated.
  • the positioning device 12 extracts one of a plurality of visually identifiable markers arranged at a predetermined position from the image captured by the imaging device 11, and the extracted one marker.
  • the absolute position and the absolute posture of the vehicle 1 in the map given in advance are calculated based on the above.
  • the positioning device 12 further corrects the relative position and relative attitude based on the absolute position and absolute attitude.
  • the “posture” of the vehicle 1 indicates, for example, the angle of the traveling direction of the vehicle 1 with respect to the coordinate axes of a predetermined coordinate system (“world coordinate system” or “marker coordinate system” described later).
  • the communication device 13 includes a module such as Wi-Fi or Bluetooth and its control program, and communicates wirelessly with the server device 2.
  • the communication device 13 transmits the position and orientation of the vehicle 1 calculated by the positioning device 12 to the server device 2.
  • the display device 14 may display the position of the vehicle 1 on the map. Further, the display device 14 may display an alarm regarding the operation of the vehicle 1.
  • the drive mechanism 15 includes the engine or motor of the vehicle 1, a steering device, a braking device, and a control device thereof.
  • the drive mechanism 15 is controlled by the user via the console 1c, for example.
  • the server device 2 of FIG. 2 includes a processing device 21, a communication device 22, an input device 23, a storage device 24, and a display device 25.
  • the processing device 21 is, for example, a general-purpose computer including a processor and a memory.
  • the communication device 22 is communicatively connected to the communication device 13 of the vehicle 1.
  • the input device 23 includes a keyboard and a pointing device.
  • the storage device 24 records the position and orientation of the vehicle 1 received from the vehicle 1.
  • the display device 25 displays the position and orientation of the vehicle 1 received from the vehicle 1.
  • the processing device 21 acquires those positions from each vehicle 1 via the communication device 22, records the position of each vehicle 1 in the storage device 24, and displays the position of each vehicle 1 on the display device 25.
  • the display device 25 displays the position and orientation of the vehicle 1 calculated by the positioning device 12 of the vehicle 1.
  • the processing device 21 acquires in advance a map of the moving range of the vehicle 1 (a warehouse, a factory, etc.), displays the position and orientation of the vehicle 1 calculated by the positioning device 12 on the map and displays it on the display device 25. May be.
  • the processing device 21 may generate a map by the processing device 21 itself based on the moving route of the vehicle 1 and display the map on the display device 25.
  • FIG. 3 is a block diagram showing the configuration of the positioning device 12 of FIG.
  • the positioning device 12 includes an image processor 31, a relative position calculator 32, an image recognizer 33, an absolute position calculator 34, a storage device 35, and a corrector 36.
  • the storage device 35 is a map that includes identifiers, positions, and attitude information of a plurality of markers 4 which are arranged at predetermined positions and are visually identifiable, and a passage for the vehicle 1 (see, for example, FIG. 4).
  • the position of the marker 4 may be represented as a relative position with respect to a predetermined reference position, and/or may be represented in association with a map.
  • FIG. 4 is a map of the warehouse 100 including the passage 101 through which the vehicle 1 of FIG. 1 moves.
  • the warehouse 100 includes structures such as a plurality of aisles 101 and a plurality of shelves 102.
  • a plurality of markers 4 are arranged in advance at a plurality of predetermined positions in the warehouse 100.
  • the vehicle 1 in FIG. 1 moves on the aisle 101 and transports the luggage 3 from one shelf 102 to another shelf 102.
  • the positions of the vehicle 1 and the markers 4 are represented by the world coordinate system (Xw, Yw, Zw) determined for the entire warehouse 100.
  • FIG. 5 is a diagram showing an example of the marker 4 in FIG.
  • the marker 4 is formed as a square flat plate.
  • the marker 4 has, on one side thereof, a visually identifiable pattern encoding the identifier of the marker 4 itself.
  • the marker 4 has a pattern composed of 7 ⁇ 7 white or black square cells in the vertical and horizontal directions.
  • the pattern of the marker 4 is further formed so that the posture of the marker 4 itself can be detected from an image of the marker 4, such as a marker used in the field of augmented reality (also referred to as “AR marker”).
  • Each marker 4 has a marker coordinate system (Xm, Ym, Zm) whose origin is an arbitrary point (for example, the center or one vertex).
  • the front surface of the marker 4 (the positive direction of the Zm axis) is indicated by an arrow in the center of the plane along the Xm-Ym plane.
  • FIG. 6 is a table showing an example of marker information stored in the storage device 35 of FIG. In the example of FIG. 6, the information of the two markers 4 shown in FIG. 4 is shown.
  • Each marker 4 has an identifier 001,002. This identifier is encoded in the pattern of marker 4.
  • Each marker 4 has a predetermined coordinate in the world coordinate system (Xw, Yw, Zw). Further, each marker 4 is arranged in such a posture that its front surface (the positive direction of the Zm axis) has an angle ⁇ (that is, an azimuth angle) with respect to the Xw axis in the Xw-Yw plane.
  • the posture of each marker 4 may be represented by an azimuth angle and an elevation angle.
  • each marker 4 has a size of 30 cm ⁇ 30 cm.
  • the storage device 35 stores marker information including items as shown in FIG. 6 for all the markers 4, for example.
  • the storage device 35 also stores map information including the orientation, size, and arrangement of all the passages 101.
  • FIG. 7 is a diagram showing an example of the image 40 photographed by the photographing device 11 of FIG.
  • the image 40 includes a plurality of feature points 41.
  • the characteristic point 41 is that the luminance value or color can be distinguished from the surrounding pixels, and the position can be accurately determined.
  • the characteristic point 41 is detected from, for example, the apex or edge of a structure such as the passage 101 or the shelf 102 in which the vehicle 1 moves, the floor, the wall, or the pattern of the ceiling.
  • the image 40 includes the marker 4 when the vehicle 1 passes near the marker 4.
  • the positions of the feature points 41 and the markers 4 in the image 40 are represented by, for example, an image coordinate system (Xi, Yi) whose origin is an arbitrary point (for example, the upper left corner) of the image 40.
  • the image processor 31 extracts the coordinates of the corresponding feature point from the plurality of images captured by the image capturing apparatus 11 at a plurality of times separated by a predetermined time.
  • the relative position calculator 32 calculates the movement amount of the vehicle 1 based on the movement amounts of the feature points in the two images that are temporally adjacent to each other.
  • the relative position calculator 32 determines the relative position of the vehicle 1 with respect to a predetermined reference position and reference posture (for example, the position and posture when the vehicle 1 starts moving) based on the coordinates of the characteristic points of the plurality of images. Calculate position and relative attitude.
  • the relative position calculator 32 may calculate the relative position and relative attitude of the vehicle 1 using a known image processing and positioning technique such as Visual-SLAM or Visual-Odometry.
  • the reference position and the reference orientation are associated with the map information stored in the storage device 35. Further, the relative position calculator 32 gives the relative position and the relative posture a time stamp of an image associated with those calculations (the latter of the two images that are temporally adjacent to each other).
  • the relative position calculator 32 may represent the calculated position of the vehicle 1 in Cartesian coordinates (XYZ coordinates), for example.
  • the relative position calculator 32 may calculate the speed and/or the acceleration of the vehicle 1 based on the calculated position and time of the vehicle 1.
  • the relative position calculator 32 calculates the posture of the vehicle 1 around the roll (inclination to the left and right), the pitch (inclination to the front and back), and the yaw (the axis perpendicular to the floor surface (that is, the Zw axis in FIG. 4)). Rotation).
  • the direction of the vehicle 1 in the horizontal plane parallel to the ground but also the inclination of the vehicle body of the vehicle 1 and the movement of the vehicle 1 in the height direction can be represented.
  • the image processor 31 and the relative position calculator 32 are collectively referred to as “first calculator”.
  • the relative position and the relative attitude are also referred to as a “first position” and a “first attitude”.
  • the image recognizer 33 extracts one of a plurality of visually identifiable markers 4 arranged at a predetermined position from the image captured by the image capturing device 11.
  • the absolute position calculator 34 refers to the information of the marker 4 and the information of the map stored in the storage device 35 on the basis of the extracted position and orientation of the one marker 4 to obtain the map (that is, the world coordinate system).
  • the absolute position and the absolute attitude of the vehicle 1 indicating the position and the attitude of the vehicle 1 are calculated.
  • the absolute position calculator 34 also gives the absolute position and the absolute posture a time stamp of an image associated with those calculations.
  • the image recognizer 33 and the absolute position calculator 34 are collectively referred to as a “second calculator”. Further, in the present specification, the absolute position and the absolute posture are also referred to as “second position” and “second posture”.
  • the compensator 36 corrects the relative position and the relative attitude based on the absolute position and the absolute attitude, and generates the corrected position and the corrected attitude of the vehicle 1.
  • the corrector 36 synchronizes the absolute position and the absolute attitude with the relative position and the relative attitude based on the time stamps of the relative position and the relative attitude and the time stamp of the absolute position and the absolute attitude.
  • the corrector 36 regards, for example, the relative position and relative attitude and the absolute position and absolute attitude, which have a time difference smaller than a predetermined threshold value and have the closest time stamp, as those calculated from the same image. Good.
  • At least some of the components 31 to 36 of the positioning device 12 may be integrated.
  • the image processor 31 and the image recognizer 33 may be integrated.
  • Each of the components 31 to 36 of the positioning device 12 may be implemented as a dedicated circuit or a program executed by a general-purpose processor.
  • the corrector 36 corrects the relative position and relative attitude calculated based on the feature point 41 using Visual-SLAM or the like based on the absolute position and absolute attitude calculated based on the marker 4. To do.
  • This correction processing is premised on that the absolute position and the absolute posture of the vehicle 1 are correct, and therefore that the posture of the marker 4 is correctly recognized from the image in which the marker 4 is photographed. However, an object that is not the marker 4 may be erroneously detected as the marker 4. Further, in order to correctly recognize the posture of the marker 4, it is necessary to photograph the marker 4 from an appropriate angle and an appropriate distance.
  • the posture accuracy may decrease.
  • the absolute position calculator 34 can determine whether or not the marker 4 is photographed from an appropriate angle and an appropriate distance, that is, the recognized marker 4 can be trusted. Only when the marker 4 is reliable, the absolute position and the absolute attitude of the vehicle 1 calculated based on the position and the attitude of the marker 4 are sent to the corrector 36. As a result, the corrector 36 corrects the position and orientation of the vehicle 1 based on the absolute position and the absolute orientation only when the marker 4 is reliable. As a result, the position and orientation of the vehicle 1 can be correctly corrected based on the correctly recognized position and orientation of the marker 4, and thus the position and orientation of the vehicle 1 can be measured with high accuracy.
  • the operation of the positioning device 12 will be described in detail below.
  • FIG. 8 is a flowchart showing the positioning process executed by the positioning device 12 of FIG.
  • step S1 the positioning device 12 acquires the image taken by the imaging device 11.
  • step S2 the image processor 31 and the relative position calculator 32 execute a relative position calculation process to calculate the relative position and relative attitude of the vehicle 1.
  • step S3 the image recognizer 33 and the absolute position calculator 34 execute the absolute position calculation process to calculate the absolute position and the absolute posture of the vehicle 1.
  • Steps S2 and S3 may be executed in parallel as shown in FIG. 8 or may be executed sequentially.
  • step S4 the corrector 36 performs a correction process, corrects the relative position and the relative attitude based on the absolute position and the absolute attitude, and generates the corrected position and the corrected attitude of the vehicle 1.
  • step S5 the corrector 36 outputs the corrected position and the corrected attitude of the vehicle 1 to the communication device 13 and the display device 14.
  • FIG. 9 is a flowchart showing a subroutine of step S2 (relative position calculation processing) of FIG.
  • step S11 the image processor 31 acquires first and second images (for example, temporally adjacent frames) captured at first and second times separated by a predetermined time.
  • step S12 the image processor 31 detects a feature point from the first image.
  • An image processing technique such as FAST (Features from Accelerated Segment Test) may be used to detect the feature points from the image.
  • step S13 the image processor 31 detects a feature point corresponding to the feature point of the first image from the second image.
  • Known image processing techniques such as, for example, KLT (Kanade-Lukas-Tomasi) trackers, may be used to detect corresponding feature points between images.
  • FIG. 10 is a diagram showing feature points extracted by the image processor 31 of FIG. FIG. 10A shows feature points F1 and F2 extracted from the image 40(n) at time n.
  • FIG. 10B shows feature points F1' and F2' extracted from the image 40(n') at time n'.
  • the feature point F1 has coordinates (xi1, yi1) and the feature point F2 has coordinates (xi2, yi2).
  • the feature point F1′ has coordinates (xi1′, yi1′) and the feature point F2′ has coordinates (xi2′, yi2′).
  • the feature points F1' and F2' in FIG. 10B correspond to the feature points F1 and F2 in FIG. 10A, respectively.
  • the image processor 31 acquires a set of coordinates of corresponding feature points in the first and second images.
  • the image processor 31 acquires, for example, a set of coordinates (xi1, yi1, xi1′, yi1′) of the feature points F1 and F1′, and a set of coordinates (xi2, yi2, xi2′) of the feature points F2 and F2′. , Yi2′).
  • step S15 the relative position calculator 32 calculates a basic matrix E composed of 3 ⁇ 3 elements, for example, using a 5-point algorithm, based on the coordinates of the characteristic points acquired in step S14.
  • step S16 the relative position calculator 32 performs the singular value decomposition on the basic matrix E, and thereby the rotation matrix R and the translation indicating the movement of the vehicle 1 between the times when the first and second images are captured. Calculate the vector t.
  • the rotation matrix R indicates changes in the posture of the vehicle 1 between the times when the first and second images are captured.
  • the translation vector t indicates the change in the position of the vehicle 1 between the times when the first and second images are captured.
  • is a diagonal matrix ⁇ composed of 3 ⁇ 3 elements
  • U and V are orthogonal matrices composed of 3 ⁇ 3 elements.
  • step S17 the relative position calculator 32 calculates and outputs the relative position and relative attitude of the vehicle 1.
  • the relative position calculator 32 cumulatively adds a plurality of translation vectors and cumulatively multiplies a plurality of rotation matrices to thereby calculate the relative position and relative position of the vehicle 1 with respect to a predetermined reference position and reference attitude. Calculate the posture.
  • FIG. 11 is a flowchart showing a subroutine of step S3 (absolute position calculation processing) of FIG.
  • the image recognizer 33 detects the marker 4 from the image.
  • the image recognizer 33 detects the coordinates of the four vertices (corners) of the rectangular marker 4 in the image coordinate system, and also decodes the pattern of the marker 4 to acquire the identifier of the marker 4.
  • the image recognizer 33 may detect the coordinates of some predetermined points instead of the four vertices of the marker 4.
  • FIG. 12 is a diagram showing the coordinates of the vertices of the marker 4 in the marker coordinate system.
  • the four vertices of the marker 4 have coordinates (xm0, ym0, zm0), (xm1, ym1, zm1), (xm2, ym2, zm2), and (xm3, ym3). , Zm3) respectively. Since the dimensions of the marker 4 are known, the coordinates of the four vertices of the marker 4 in the marker coordinate system are also known. For example, when the upper left vertex of the marker 4 in FIG.
  • the vertex of the marker 4 has, for example, coordinates.
  • (Xm0,ym0,zm0) (0,0,0)
  • (xm1,ym1,zm1) (0.3,0,0)
  • (xm2,ym2,zm2) (0,0.3,0)
  • (xm3, ym3, zm3) (0.3, 0.3, 0).
  • FIG. 13 is a diagram showing the coordinates of the vertices of the markers 4 in the image 40 photographed by the photographing device 11 in FIG.
  • the four vertices of the marker 4 have coordinates (xi0, yi0), (xi1, yi1), (xi2, yi2), and (xi3, yi3), respectively.
  • the absolute position calculator 34 determines the position of the marker 4 in the three-dimensional coordinate system (camera coordinate system) whose origin is the imaging device 11 based on the coordinates of the marker 4 detected in step S21.
  • the posture that is, the position and the posture of the marker 4 viewed from the photographing device 11
  • the absolute position calculator 34 may use PnP (perspective) based on the coordinates of the four vertices of the marker 4 in the two-dimensional image coordinate system and the coordinates of the four vertices of the marker 4 in the three-dimensional marker coordinate system. point) By solving the problem, the position and orientation of the marker 4 viewed from the imaging device 11 are calculated.
  • the absolute position calculator 34 calculates the position and orientation of the imaging device 11 in the marker coordinate system (that is, the position and orientation of the imaging device 11 viewed from the marker 4).
  • the position of the marker 4 viewed from the image capturing apparatus 11 is indicated by a translation vector t
  • the posture of the marker 4 viewed from the image capturing apparatus 11 is indicated by a rotation matrix R.
  • the posture of the photographing device 11 viewed from the marker 4 is represented by R ⁇ 1
  • the position of the photographing device 11 viewed from the marker 4 is represented by ⁇ R ⁇ 1 t.
  • step S24 the absolute position calculator 34 executes the marker evaluation process (which will be described later with reference to FIGS. 17 to 29) to determine whether or not the marker 4 is photographed from an appropriate angle and an appropriate distance, that is, , It is determined whether the recognized marker 4 is reliable. If it is determined that the recognized marker 4 is reliable, the process proceeds from step S25 to step S26, and if not, the process proceeds to step S4 in FIG.
  • step S26 the absolute position calculator 34 reads the position and orientation of the marker 4 in the world coordinate system (that is, the absolute position and absolute position of the marker 4 from the storage device 35 based on the identifier of the marker 4 detected in step S21. Posture).
  • step S27 the absolute position calculator 34 is based on the position and orientation of the imaging device 11 in the marker coordinate system calculated in step S23 and the position and orientation of the marker 4 in the world coordinate system read in step S26. Then, the position and orientation of the vehicle 1 in the world coordinate system (that is, the absolute position and orientation of the vehicle 1) are calculated.
  • the position and orientation of the vehicle 1 in the world coordinate system can be obtained by adding the position and orientation of the marker 4 in the world coordinate system as an offset value to the position and orientation of the imaging device 11 in the marker coordinate system.
  • FIG. 14 is a flowchart showing a subroutine of step S4 (correction processing) of FIG.
  • the corrector 36 When performing the correction process of FIG. 14, the corrector 36 internally holds the latest absolute position and absolute posture calculated previously in the initial state.
  • step S31 the corrector 36 calculates the corrected movement amount of the vehicle 1 based on the relative position and the absolute position of the vehicle 1.
  • FIG. 15 is a diagram illustrating the correction movement amount calculated in step S31 of FIG. FIG. 15 shows the position of the vehicle 1 calculated by the positioning device 12.
  • the positioning device 12 detects the marker 4.
  • the positioning device 12 calculates the difference between the relative position P(n) and the position of the marker 4 as the corrected movement amount ⁇ .
  • the positioning device 12 adds the corrected movement amount ⁇ to the relative position P(n) to obtain the corrected position P′(n).
  • the positioning device 12 adds the corrected movement amount ⁇ to the relative positions P(n+1), P(n+2),..., And the corrected positions P′(n+1), P′(n+2),.
  • step S32 of FIG. 14 the corrector 36 adds the corrected movement amount of the vehicle 1 to the relative position of the vehicle 1.
  • step S33 the corrector 36 calculates the corrected rotation amount of the vehicle 1 based on the relative attitude and the absolute attitude of the vehicle 1.
  • FIG. 16 is a diagram illustrating the corrected rotation amount calculated in step S33 of FIG. FIG. 16 shows the positions P, P′ and the attitudes A, A′ of the vehicle 1 calculated by the positioning device 12.
  • the vehicle 1 has relative positions P(n-2) to P(n+2) and relative postures A(n-2) to A(n+2).
  • the thick arrow indicates the attitude of the vehicle 1.
  • the positioning device 12 detects the marker 4 and calculates the absolute attitude of the vehicle 1.
  • the positioning device 12 calculates the difference between the relative posture A(n) and the absolute posture with the relative position P(n) as the center of rotation as the corrected rotation amount ⁇ .
  • the positioning device 12 adds the corrected rotation amount ⁇ to the relative attitude A(n) to obtain the corrected attitude A′(n). After that, similarly, the positioning device 12 adds the corrected rotation amount ⁇ to the relative attitudes A(n+1), A(n+2),..., And the corrected attitudes A′(n+1), A′(n+2),. To get
  • step S33 the corrector 36 calculates the difference between the absolute posture and the average value of the plurality of relative postures calculated over a predetermined time length (or corresponding to a predetermined number of consecutive images). , May be calculated as the corrected rotation amount of the vehicle 1.
  • the actual traveling direction of the vehicle 1 (for example, whether or not the vehicle 1 is moving along the passage 101) cannot be determined only by the instantaneous value of the relative attitude of the vehicle 1. Further, the relative attitude of the vehicle 1 may include an error. Therefore, the actual traveling direction of the vehicle 1 can be accurately determined by using the average value of the plurality of relative postures.
  • step S34 of FIG. 14 the corrector 36 adds the corrected rotation amount of the vehicle 1 to the relative posture of the vehicle 1.
  • FIG. 17 is a flowchart showing a subroutine of step S24 (marker evaluation processing) of FIG.
  • step S41 the absolute position calculator 34 counts the number of images that are continuously photographed by the photographing device 11 and in which the markers 4 having the same identifier are extracted. Further, in step S41, the absolute position calculator 34 determines whether the predetermined number of markers 4 extracted from the predetermined number of images continuously captured by the image capturing device 11 have the same identifier. If YES, the process proceeds to step S42, and if NO, the process proceeds to step S47.
  • FIG. 18 is a diagram showing an example of the image 40 photographed by the photographing device 11 in FIG.
  • some object 5 is used as a marker, that is, a visually identifiable area having a marker identifier (for example, ID: 668). May be erroneously recognized as In particular, when the pattern of the marker 4 is simple, it is easy to erroneously recognize another object 5 as a marker.
  • FIG. 19 is a table including the marker 4 detected by the image recognizer 33 of FIG. 3 and the object erroneously detected as the marker 4.
  • Each row of the table in FIG. 19 indicates a candidate of the marker 4 (marker 4 or an erroneously detected object) extracted from each image captured by the image capturing apparatus 11.
  • One or more marker 4 candidates may be detected from one image, or a marker 4 candidate may not be detected from an image.
  • an identifier (ID) first column
  • a time second column
  • 6th column the angle
  • the object 5 close to the marker 4 may be temporarily erroneously recognized as a marker.
  • the possibility that the object 5 is similarly erroneously detected as the marker 4 over a plurality of consecutive images is considered to be very low. Therefore, even if the object 5 having a certain identifier (for example, ID:668) is detected in a certain image, if it is not detected in a plurality of consecutive images, it can be determined that the object 5 is not the marker 4.
  • the marker 4 having the same identifier for example, ID: 010
  • the threshold value (predetermined number) in step S41 of FIG. 17 is set to, for example, “3”, but may be set to any other value.
  • step S42 of FIG. 17 the absolute position calculator 34 determines the predetermined number of markers 4 each having the same identifier extracted from the predetermined number of images continuously photographed by the photographing device 11.
  • the position and orientation of the image capturing device 11 that is, the vehicle 1 are calculated in a predetermined number of marker coordinate systems each having an origin.
  • the absolute position calculator 34 determines whether or not the coordinates of the imaging device 11 (that is, the vehicle 1) in the marker coordinate system continuously have the same sign over a predetermined number (threshold value) of images. If YES, the process proceeds to step S43, and if NO, the process proceeds to step S47.
  • FIG. 20 is a diagram showing an example of an image 40 captured by the image capturing apparatus 11 of FIG. 1 and including the marker 4 suitable for calculating the absolute position and the absolute posture of the vehicle 1.
  • FIG. 21 is a diagram showing an example of an image 40 captured by the image capturing apparatus 11 of FIG. 1 and including the marker 4 not suitable for the calculation of the absolute position and the absolute posture of the vehicle 1.
  • the image 40 for example, when the opposite sides of the rectangular marker 4 have different lengths from each other, where the photographing device 11 is photographing the marker 4, that is, the position of the photographing device 11 in the marker coordinate system is clearly determined. be able to. For example, as shown in FIG.
  • FIG. 22 is a diagram for explaining the reversal of the position of the photographing device 11 in the marker coordinate system.
  • the Xm coordinate of the imaging device 11a located on the right side of the normal line of the marker 4 is positive, and the Xm coordinate of the imaging device 11b located on the left side of the normal line of the marker 4 is negative. is there.
  • FIG. 23 is a table showing changes in the position of the imaging device 11 in the marker coordinate system calculated by the position calculator 34 of FIG.
  • Each row of the table in FIG. 23 corresponds to each image captured by the image capturing device 11, and the identifier of one marker 4 included in each image and the image capturing device 11 in the marker coordinate system having the marker 4 as the origin.
  • the position and orientation of the. When it is difficult to determine the position of the photographing device 11 in the marker coordinate system because the opposite sides of the square marker 4 have the same length, the sign of the coordinate of the photographing device 11 in the marker coordinate system is likely to change. ..
  • the image 40 including the marker 4 is not suitable for calculating the absolute position and the absolute posture of the vehicle 1.
  • the coordinates of the image capturing device 11 in the marker coordinate system continuously have the same sign over the predetermined number of images, the image 40 including the marker 4 is suitable for calculating the absolute position and the absolute attitude of the vehicle 1. Can be determined.
  • the signs of the Xm coordinates are alternately inverted in the second to fourth lines, so the corresponding image is not suitable for calculating the absolute position and absolute attitude of the vehicle 1.
  • the corresponding image is suitable for calculating the absolute position and the absolute posture of the vehicle 1.
  • the threshold value (predetermined number) in step S42 of FIG. 17 is set to, for example, “3”, but may be set to any other value.
  • step S43 of FIG. 17 the absolute position calculator 34 calculates the size of the marker 4 in the image photographed by the photographing device 11. Further, in step S43, the absolute position calculator 34 determines whether or not the size of the marker 4 in the image photographed by the photographing device 11 is larger than a predetermined threshold value, and if YES, the process proceeds to step S44, If NO, the process proceeds to step S47.
  • FIG. 24 is a diagram showing an example of an image of the marker 4 photographed by the photographing device 11 of FIG. 1 and having a width suitable for calculation of the absolute position and the absolute posture of the vehicle 1.
  • FIG. 25 is a diagram showing an example of an image of the marker 4 which is photographed by the photographing device 11 of FIG. 1 and has no width suitable for calculating the absolute position and the absolute posture of the vehicle 1.
  • 24 and 25 show the size (number of pixels) of the marker 4 in the image photographed by the photographing device 11.
  • the size of the marker 4 is represented by the number of pixels from each vertex to the opposite side. In order to correctly recognize the pattern of the marker 4, the marker 4 needs to have a sufficient size (the number of pixels) in the image captured by the imaging device 11.
  • the marker 4 shown in FIG. 5 has a pattern composed of 7 ⁇ 7 white or black square cells in the vertical and horizontal directions.
  • the number of pixels of the marker 4 in FIG. 24 is sufficient to recognize each cell of the pattern.
  • the number of pixels of the marker 4 in FIG. 25 is clearly insufficient for recognizing each cell of the pattern.
  • FIG. 26 is a graph showing the error in the absolute position of the vehicle 1 when the threshold value in step S43 of FIG. 17 is changed. According to FIG. 26, it can be seen that the error becomes smaller when the threshold value is set to 14 or more. Therefore, when the size of the marker 4 in the image captured by the image capturing device 11 is smaller than the predetermined threshold, it is determined that the image 40 including the marker 4 is not suitable for calculating the absolute position and the absolute posture of the vehicle 1. You can On the other hand, when the size of the marker 4 in the image captured by the image capturing device 11 is larger than a predetermined threshold, it is determined that the image 40 including the marker 4 is suitable for calculating the absolute position and the absolute posture of the vehicle 1. be able to.
  • the size of the marker 4 may be represented by the length of each side, the total length of each side, the length of the diagonal line, or the area of the marker instead of the distance (the number of pixels) from each vertex to the opposite side. Good.
  • step S44 of FIG. 17 the absolute position calculator 34 determines the direction of the vehicle 1 with respect to the normal line of the surface of one marker 4 based on the position and orientation of the vehicle 1 in the marker coordinate system having one marker 4 as the origin. Calculate the angle to. Further, in step S44, the absolute position calculator 34 determines whether the angle in the direction of the imaging device 11 (that is, the vehicle 1) with respect to the normal line of the surface of one marker 4 in the marker coordinate system is larger than a predetermined threshold value ⁇ th. If YES, the process proceeds to step S45, and if NO, the process proceeds to step S47.
  • the absolute position calculator 34 determines whether or not the angle of the normal line of the surface of the imaging device 11 and the marker 4 is larger than the threshold value ⁇ th. The process proceeds to step S45, and if NO, the process proceeds to step S47.
  • FIG. 27 is a diagram illustrating an angle and a distance at which an image of the marker 4 suitable for calculating the absolute position and the absolute posture of the vehicle 1 can be captured in the marker coordinate system.
  • the imaging device 11 images the marker 4 not from the normal direction (front face) of the marker 4 but from a direction sufficiently inclined from the normal direction of the marker 4.
  • FIG. 28 is a diagram for explaining the angle condition when capturing an image of the marker 4 suitable for calculating the absolute position and the absolute posture of the vehicle 1.
  • FIG. 29 is a diagram showing an example of an image including the marker 4 photographed by the photographing device 11 of FIG.
  • indicates the angle in the direction of the imaging device 11 with respect to the normal line of the surface of the marker 4.
  • a and b show the size of the marker 4 in the image 40 imaged by the imaging device 11, as shown in FIG.
  • the accuracy decreases as a:b approaches 1:1. Whether the angle ⁇ is positive or negative can be determined from the trapezoidal direction in FIG.
  • the photographing device 11 photographs the marker 4 from the front and when the distance d from the photographing device 11 to the marker 4 increases, the positive/negative determination of the angle ⁇ becomes unstable.
  • is the angle of the direction of the marker 4 with respect to the optical axis of the imaging device 11.
  • the angle ⁇ indicates the position of the marker 4 in the image 40 captured by the image capturing device 11.
  • the accuracy becomes higher in the order of ⁇ >d> ⁇ .
  • the threshold value ⁇ th in step S44 in FIG. 17 is set to, for example, “45 degrees”, but may be set to any other value. Further, this threshold value ⁇ th may be changed according to the distance from the imaging device 11 to the marker 4.
  • step S45 in FIG. 17 the absolute position calculator 34 calculates the distance from the vehicle 1 to the marker 4 based on the image captured by the image capturing device 11. Further, in step S45, the absolute position calculator 34 determines whether or not the distance from the imaging device 11 (that is, the vehicle 1) to the marker 4 is smaller than a predetermined threshold value, and if YES, the process proceeds to step S46. , NO, the process proceeds to step S47.
  • the photographing device 11 photographs the marker 4 at a position shorter than the distance Dth with respect to the marker 4. If the distance from the imaging device 11 to the marker 4 is large, the accuracy of the position and orientation of the vehicle 1 calculated by the positioning device 12 is reduced.
  • the threshold value Dth in step S45 of FIG. 17 is set to, for example, “6 m” when the marker 4 has an A2 size, but may be set to another arbitrary value. Further, the threshold value Dth may be changed according to the size of the marker 4.
  • step S46 of FIG. 17 the absolute position calculator 34 determines that the marker 4 is reliable. In this case, the absolute position calculator 34 sends the absolute position and the absolute posture calculated based on the position and the posture of the marker 4 to the corrector 36. On the other hand, in step S47, the absolute position calculator 34 determines that the marker 4 is unreliable. In this case, the absolute position calculator 34 does not send the absolute position and the absolute posture calculated based on the position and the posture of the marker 4.
  • the absolute position calculator 34 can determine whether or not the marker 4 is photographed from an appropriate angle and an appropriate distance, that is, the recognized marker 4 can be trusted. Determine whether or not.
  • the corrector 36 operates as follows.
  • the corrector 36 determines the absolute position and the absolute position calculated based on the position and orientation of the marker 4. Position and posture are not corrected using posture.
  • the corrector 36 uses the absolute position and the absolute posture calculated based on the position and the posture of the marker 4. To generate a corrected position and a corrected posture.
  • the corrector 36 calculates based on the position and orientation of the marker 4. The position and orientation are not corrected using the absolute position and orientation described above.
  • the corrector 36 determines the absolute position calculated based on the position and orientation of the marker 4. And the absolute pose to generate a corrected position and a corrected pose.
  • the corrector 36 uses the absolute position and the absolute posture calculated based on the position and the posture of the marker 4 to determine the position and the posture. Do not correct.
  • the corrector 36 uses the absolute position and the absolute posture calculated based on the position and the posture of the marker 4 to correct the corrected position. And generate a corrected posture.
  • the corrector 36 When the angle to the direction of the vehicle 1 with respect to the normal of the surface of one marker 4 is equal to or less than a predetermined threshold value (NO in step S44), the corrector 36 is calculated based on the position and orientation of the marker 4. Position and orientation are not corrected using absolute position and orientation. On the other hand, when the angle in the direction of the vehicle 1 with respect to the normal to the surface of one marker 4 is larger than the threshold value (YES in step S44), the corrector 36 determines the absolute position calculated based on the position and orientation of the marker 4. And the absolute pose to generate a corrected position and a corrected pose.
  • the corrector 36 uses the absolute position and the absolute posture calculated based on the position and the posture of the marker 4 to determine the position. And do not correct the posture.
  • the corrector 36 uses the absolute position and the attitude calculated based on the position and the attitude of the marker 4 to perform the correction. Generate the corrected position and the corrected posture.
  • the threshold value of step S44 is also referred to as “first threshold value”. Further, in the present specification, the threshold value of step S41 is also referred to as “second threshold value”. Further, in the present specification, the threshold value of step S42 is also referred to as “third threshold value”. In addition, in the present specification, the threshold value of step S43 is also referred to as a “fourth threshold value”. Further, in the present specification, the threshold value of step S45 is also referred to as “fifth threshold value”.
  • FIG. 30 is a diagram showing a trajectory 103 of the vehicle 1 calculated by executing the correction process according to the comparative example of the first embodiment.
  • FIG. 31 is a diagram showing the locus 104 of the vehicle 1 calculated by executing the marker evaluation process of FIG. 30 to 31, for the sake of explanation, the front surface of the marker 4 (Zm axis in FIG. 5) is shown by the protrusion provided on one side of each marker 4, but in reality, there is no such protrusion.
  • the position of the image capturing device 11 in the marker coordinate system could not be correctly determined, and therefore, as shown in FIG. There is an error in the position of the vehicle 1 calculated by reversing with respect to the normal line.
  • the positioning device 12 corrects the relative position and the relative attitude based only on the absolute position and the absolute attitude calculated based on the marker 4 captured from the appropriate angle and the appropriate distance. Therefore, the position and orientation of the vehicle 1 can be measured with high accuracy.
  • the relative position and relative attitude calculated based on the feature point 41 using Visual-SLAM or the like is corrected based on the absolute position and absolute attitude calculated based on the marker 4.
  • the position and orientation of the vehicle 1 can be measured with high accuracy.
  • the position of the vehicle 1 can be inexpensively measured even inside a warehouse or a factory where radio waves from GPS satellites cannot be received, such as a warehouse. Since it is not necessary to install a large number of wireless transmitters for transmitting wireless signals, the initial introduction cost can be reduced.
  • the first embodiment it is possible to improve work based on the movement route of the vehicle 1 obtained from the positioning result.
  • the first embodiment it can be utilized for the necessity of maintenance, the necessity of renewing the lease contract, etc. based on the moving distance of the vehicle 1.
  • the first embodiment it is possible to optimize the arrangement of aisles or shelves in a warehouse or factory based on the heat map of movement of the vehicle 1.
  • the first embodiment it is possible to visualize a place where each vehicle 1 passes each other on the basis of the difference in the trajectory of each vehicle 1, and to improve safety by reviewing the route and the passage width.
  • Steps S41 to S45 of FIG. 17 may be executed in any other order.
  • the result does not change depending on the order of processing, but there is a difference in processing speed.
  • step S42 before step S44 it is possible to efficiently remove the case where the imaging device 11 is located in front of the marker 4. Further, only some of steps S41 to S45 may be executed.
  • the steps S24 to S25 of FIG. 11 may be executed by the corrector 36 instead of the absolute position calculator 34.
  • the absolute position calculator 34 always sends the absolute position and the absolute posture calculated based on the position and the posture of the marker 4 to the corrector 36.
  • the corrector 36 corrects the position and attitude of the vehicle 1 based on the absolute position and the absolute attitude only when the marker 4 is reliable.
  • the corrector 36 manages the absolute position and the absolute attitude separately from the relative position and the relative attitude without overwriting the relative position and the relative attitude with the absolute position and the absolute attitude has been described. Instead, the corrector 36 overwrites the relative position and the relative attitude with the absolute position and the absolute attitude, and then calculates the relative position and the relative attitude by using the absolute position and the absolute attitude as a new reference position and the reference attitude. Good.
  • the image capturing device 11 may be configured to generate an image of the subject and detect a distance from the image capturing device 11 to each point of the subject.
  • the imaging device 11 may include, for example, a depth sensor such as an RGB-D camera or a ToF (Time of Flight) sensor in order to detect the distance to the subject.
  • the imaging device 11 may be a stereo camera that includes two cameras that are arranged apart from each other by a predetermined distance in order to detect the distance to the subject.
  • the relative position calculator 32 may calculate the relative position and relative attitude of the vehicle 1 by using a known ICP (iterative closest point) algorithm or the like.
  • FAST and KLT tracker In the relative position calculation process of FIG. 9, an example using FAST and KLT tracker has been described, but other methods may be used. For example, a feature point detection process and a feature point matching process using SIFT (Scale lnvariant Feature Transform) or ORB (Oriented FAST and Rotated BRIFF) that are common in image processing may be used.
  • SIFT Scale lnvariant Feature Transform
  • ORB Oriented FAST and Rotated BRIFF
  • the absolute position and the absolute posture can be calculated with high accuracy.
  • the vehicle 1 does not always go straight in the vicinity of the marker 4, and the error in the calculated absolute position and absolute attitude may increase. is there. Therefore, some of the plurality of markers 4 may be auxiliary markers that are not used to calculate the absolute position and the absolute posture (that is, to correct the position and the posture).
  • the auxiliary marker is arranged, for example, in the vicinity of a starting point, a destination of the vehicle 1, or some other structure that can be a checkpoint (an entrance/exit of the warehouse 100, an intersection of the passage 101, a specific shelf 102, or the like).
  • the auxiliary marker may not be arranged along the passage 101 as long as the auxiliary marker can be photographed from the vehicle 1.
  • the positioning device 12 can recognize that the vehicle 1 has reached a specific checkpoint by detecting the auxiliary marker.
  • the table of marker information stored in the storage device 35 further includes an item indicating whether or not each marker 4 is an auxiliary marker.
  • the marker information table may not have information on the position and orientation of the auxiliary marker.
  • the marker information table may include an item indicating the reliability of the absolute position and the absolute posture calculated based on the marker 4, instead of the item indicating whether or not each marker 4 is an auxiliary marker. ..
  • the vehicle 1 and the server device 2 may use removable storage media such as SD cards instead of the communication devices 13 and 22.
  • the position and orientation of the vehicle calculated in the vehicle may be written in a storage medium, and the server device 2 may read the position and orientation of the vehicle from the storage medium.
  • the vehicle 1 may be an unmanned luggage carrier such as an automated guided vehicle (AGV) or a pallet transport robot. In this case, the vehicle 1 moves by controlling the drive mechanism 15 under the control of the server device 2.
  • AGV automated guided vehicle
  • the positioning device 12 includes a relative position calculator 32, a storage device 35, an absolute position calculator 34, and a corrector 36.
  • the relative position calculator 32 calculates the relative position and relative attitude of the vehicle 1 with respect to a predetermined reference position and reference attitude, based on a plurality of images captured by the imaging device 11 mounted on the vehicle 1.
  • the storage device 35 stores information of identifiers, positions, and attitudes of the plurality of markers 4 arranged at predetermined positions and visually identifiable, and information of a map including a passage for the vehicle 1. ..
  • the absolute position calculator 34 extracts one of the plurality of markers 4 from the image captured by the image capturing device 11, and based on the extracted position and orientation of the one marker 4, the position of the vehicle 1 on the map. And the absolute position and attitude of the vehicle 1 indicating the attitude are calculated.
  • the absolute position calculator 34 also calculates the angle of the vehicle 1 with respect to the normal line of the surface of one marker 4 based on the position and orientation of the vehicle 1 in the marker coordinate system having one marker 4 as the origin. To do.
  • the corrector 36 corrects the relative position and the relative attitude based on the absolute position and the absolute attitude, and generates the corrected position and the corrected attitude of the moving body.
  • the corrector 36 does not use the absolute position and orientation calculated based on the position and orientation of the marker 4 whose angle is less than or equal to the first threshold, and the position and orientation of the marker 4 whose angle is greater than the first threshold.
  • the corrected position and corrected attitude are generated using the absolute position and attitude calculated based on
  • the corrector 36 corrects the position and orientation of the vehicle 1 based on the position and orientation of the marker 4 only when the angle in the direction of the vehicle 1 with respect to the normal to the surface of the marker 4 is larger than the first threshold value. To do.
  • the absolute position calculator 34 counts the number of images that are continuously captured by the image capturing device 11 and in which the markers 4 having the same identifier are extracted. Good.
  • the corrector 36 may use the absolute position and orientation calculated based on the position and orientation of the marker 4 when the marker 4 does not have the same identifier over the number of images equal to the second threshold.
  • the corrected position and the corrected position are calculated using the absolute position and the attitude calculated based on the position and the attitude of the marker 4. Generate the pose.
  • the corrector 36 corrects the position and orientation of the vehicle 1 based on the position and orientation of the marker 4 only when the marker 4 has the same identifier over the images of the second threshold value or more.
  • the absolute position calculator 34 uses the markers 4 having the same identifiers respectively extracted from the plurality of images continuously captured by the image capturing device 11 as the origins.
  • the position and orientation of the vehicle 1 may be calculated in the coordinate system.
  • the corrector 36 uses the absolute position calculated based on the position and orientation of the marker 4 when the coordinates of the vehicle 1 in each marker coordinate system do not have the same sign over the number of images equal to the third threshold.
  • the absolute position and absolute position calculated based on the position and attitude of the marker 4 are used.
  • the pose is used to generate a corrected position and a corrected pose.
  • the corrector 36 determines the position and orientation of the vehicle 1 based on the position and orientation of the marker 4 only when the coordinates of the vehicle 1 in each marker coordinate system have the same sign over the number of images equal to or greater than the third threshold. To correct.
  • the absolute position calculator 34 may calculate the size of the marker 4 in the image captured by the image capturing device 11.
  • the corrector 36 does not use the absolute position and the attitude calculated based on the position and the attitude of the marker 4 having the size smaller than or equal to the fourth threshold, and the marker 4 having the size larger than the fourth threshold is not used.
  • the corrector 36 corrects the position and orientation of the vehicle 1 based on the position and orientation of the marker 4 only when the marker 4 has a size larger than the fourth threshold value.
  • the absolute position calculator 34 may calculate the distance from the vehicle 1 to the marker 4 based on the image captured by the image capturing device 11.
  • the corrector 36 does not use the absolute position and the absolute posture calculated based on the position and the posture of the marker 4 having the distance equal to or greater than the fifth threshold value from the vehicle 1, and the vehicle 1 to the fifth threshold value is used.
  • the corrected position and corrected pose are generated using the absolute position and pose calculated based on the position and pose of the marker 4 having a small distance.
  • the corrector 36 corrects the position and orientation of the vehicle 1 based on the position and orientation of the marker 4 only when the marker 4 has a distance smaller than the fifth threshold value from the vehicle 1.
  • the positioning device 12 includes a relative position calculator 32, a storage device 35, an absolute position calculator 34, and a corrector 36.
  • the relative position calculator 32 calculates the relative position and relative attitude of the vehicle 1 with respect to a predetermined reference position and reference attitude, based on a plurality of images captured by the imaging device 11 mounted on the vehicle 1.
  • the storage device 35 stores information of identifiers, positions, and attitudes of the plurality of markers 4 arranged at predetermined positions and visually identifiable, and information of a map including a passage for the vehicle 1. ..
  • the absolute position calculator 34 extracts one of the plurality of markers 4 from the image captured by the image capturing device 11, and based on the extracted position and orientation of the one marker 4, the position of the vehicle 1 on the map.
  • the absolute position calculator 34 counts the number of images that are continuously captured by the image capturing device 11 and in which the markers 4 having the same identifier are extracted.
  • the corrector 36 corrects the relative position and the relative attitude based on the absolute position and the absolute attitude, and generates the corrected position and the corrected attitude of the moving body.
  • the corrector 36 does not use the absolute position and orientation calculated based on the position and orientation of the marker 4 when the marker 4 does not have the same identifier over a number of images equal to the second threshold, Corrected position and corrected pose using absolute position and pose calculated based on the position and pose of the marker 4 when 4 have the same identifier over a number of images greater than or equal to a second threshold. To generate.
  • the corrector 36 corrects the position and orientation of the vehicle 1 based on the position and orientation of the marker 4 only when the marker 4 has the same identifier over the images of the second threshold value or more.
  • the vehicle 1 including the image capturing device 11 and the positioning device 12 may be provided.
  • the relative position and relative attitude calculated based on the feature point 41 using Visual-SLAM or the like is corrected based on the absolute position and absolute attitude calculated based on the marker 4.
  • the position and orientation of the vehicle 1 can be measured with high accuracy.
  • FIG. 32 is a block diagram showing the configuration of the positioning device 12B according to the second embodiment.
  • the vehicle 1 according to the first embodiment may include a positioning device 12B instead of the positioning device 12 of FIG.
  • the positioning device 12B includes an image recognizer 37 and a data synthesizer 38 in addition to the components of the positioning device 12 of FIG.
  • the image recognizer 37 recognizes a predetermined target object from the image captured by the image capturing device 11.
  • the image recognizer 37 may recognize a person (for example, a driver of the vehicle 1 or a person around the vehicle 1).
  • the image recognizer 37 may recognize the specific baggage 3 learned in advance.
  • the image processor 31, the image recognizer 33, and the image recognizer 37 may acquire images from the same photographing device 11. Instead, the image recognizer 37 takes a different image from the image taking device 11 that takes an image (that is, an image for measuring the position and orientation of the vehicle 1) supplied to the image processor 31 and the image recognizer 33.
  • the device may be used to take an image containing a person and/or the luggage 3.
  • the image capturing device 11 may be provided, for example, so as to capture an image of the aisle 101 in front of the vehicle 1, and the other image capturing device may be provided so as to capture, for example, a driver's seat or a cargo bed of the vehicle 1. Good.
  • the image capturing device 11 and the other image capturing devices are synchronized with each other in advance.
  • the data synthesizer 38 receives the data of the corrected position and the corrected attitude of the vehicle 1 from the corrector 36 at the time (or the position and the attitude) when the image capturing device 11 takes an image corresponding to the position and the attitude. Is obtained along with the time stamp of (calculated time).
  • the data combiner 38 combines the image recognition data of the object recognized by the image recognizer 37 with the position and orientation data of the vehicle 1. Further, the data synthesizer 38 acquires the sensor data generated by the sensor group 16B including one or more sensors mounted on the vehicle 1, and synthesizes the sensor data with the position and orientation data of the vehicle 1. ..
  • the data synthesizer 38 may acquire sensor data including at least one of the acceleration and the angular velocity of the vehicle 1.
  • the data synthesizer 38 may acquire sensor data including the weight of the luggage 3 carried by the vehicle 1.
  • Each sensor of the sensor group 16B adds a time stamp of the time when the sensor data is acquired to the sensor data.
  • the data synthesizer 38 synthesizes these data in synchronization with each other based on the time stamp of the position and orientation data of the vehicle 1, the time stamp of the image recognition data, and the time stamp of the sensor data.
  • the data synthesizer 38 may associate the image recognition data or the sensor data with the position and orientation data of the vehicle 1 having the closest time stamp when the time stamps of these data do not match each other. Further, when the time stamps of these data do not match each other, the data synthesizer 38 interpolates the position and orientation data of the vehicle 1 using linear interpolation or internal division, and obtains the image recognition data or the sensor data. , May be associated with the interpolated vehicle 1 position and orientation data having a corresponding time stamp.
  • various data related to the work of the vehicle 1 can be recorded in association with the position and trajectory of the vehicle 1. For example, by recording the person whose image is recognized, the person related to the work of the vehicle 1 can be tracked. By recording the image-recognized baggage 3, the baggage 3 carried by the vehicle 1 can be tracked. By recording the acceleration and the angular velocity of the vehicle 1, it is possible to detect irregularities on the road surface of the warehouse. By recording the weight of the luggage 3, the work amount of the vehicle 1 can be monitored.
  • the data synthesizer 38 may acquire sensor data including at least one of the acceleration and the angular velocity of the vehicle 1.
  • the data synthesizer 38 may acquire sensor data including the weight of the luggage 3 carried by the vehicle 1.
  • the positioning device 12B may further include an image recognizer 37 that recognizes a predetermined target object from the image captured by the image capturing device 11.
  • the data synthesizer 38 synthesizes the information of the object recognized by the image recognizer 37 with the data of the corrected position and the corrected posture.
  • the image recognizer 37 may recognize a person.
  • the image recognizer 37 may recognize the specific baggage 3 learned in advance.
  • various data relating to the work of the vehicle 1 can be recorded in association with the position and trajectory of the vehicle 1.
  • the vehicle 1 may include an image capturing device 11 that captures an image for measuring the position and orientation of the vehicle 1, and another image capturing device that captures another target object. ..
  • the data combiner 38 recognizes the position and orientation data of the vehicle 1 generated based on the image captured by the image capturing device 11 and the image recognition generated based on the image captured by another image capturing device.
  • the data can be related to each other.
  • business analysis is performed based on the position and trajectory of the vehicle 1 on the map. Very useful when.
  • the positioning device may be provided in a four-wheel vehicle such as a forklift or a truck, or may be provided in one to three, five or more vehicles. Further, in the first to third embodiments, the positioning device may be provided in a vehicle without wheels such as an airplane, a helicopter, a drone, and a hovercraft regardless of the number of wheels and/or the presence/absence of wheels.
  • the positioning device according to the present embodiment can estimate the position of the moving body based on the image captured by the image capturing device, instead of estimating the position of the moving body from the rotation speed of the wheels.
  • the positioning device it is possible to measure the position of a moving body in a warehouse or a factory. With this, tracking the locus (movement line) of the moving body, routing the moving body, optimizing the arrangement of luggage etc. in the warehouse or factory, monitoring the operation rate, improving work efficiency. , Etc. are possible.

Abstract

第1の計算器は、車両(1)に搭載された撮影装置(11)によって撮影された複数の画像に基づいて、車両(1)の相対位置及び相対姿勢を計算する。第2の計算器は、撮影装置(11)によって撮影された画像から1つのマーカー(4)を抽出し、抽出された1つのマーカー(4)の位置及び姿勢に基づいて車両(1)の絶対位置及び絶対姿勢を計算する。第2の計算器は、マーカー座標系における車両(1)の位置及び姿勢に基づいて、1つのマーカー(4)の面の法線に対する車両(1)の方向への角度を計算する。補正器(36)は、角度が第1の閾値以下であるマーカー(4)の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用せず、角度が第1の閾値より大きいマーカー(4)の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用して、補正された位置及び補正された姿勢を生成する。

Description

測位装置及び移動体
 本開示は、車両などの移動体の位置を測定する測位装置と、そのような測位装置を備えた移動体とに関する。
 荷物運搬用の車両を用いて予め決められた領域内又は予め決められた地点間で荷物を移動させるとき、車両の位置を測定して追跡することが求められる場合がある。例えば、特許文献1は、GPS、無線LAN測位、赤外線測位などの測位技術を用いて車両の位置を測位する荷物所在管理装置を開示している。
 屋外で移動する車両を測位する場合、一般的には、GPSを用いた測位方法が使用される。一方、倉庫又は工場などの屋内では、GPS衛星からの電波を受信できないので、GPSを用いた測位方法は使用できない。屋内の測位方法として、例えば、UWB(ultra wide band)、Wi-Fi、又はBLE(Bluetooth(登録商標) Low Energy)などの無線信号を用いたものがある。しかしながら、無線信号を用いた測位方法は、無線信号を送信するための多数の無線送信機を車両の移動範囲に設置する必要があるので、初期導入コストが高い。また、屋内の測位方法として、PDR(Pedestrian Dead Reckoning:歩行者自律航法)と呼ばれるものがある。しかしながら、PDRは位置を高精度に測定することが困難である。
 無線信号を送信するための多数の無線送信機を必要とすることなく、車両などの移動体の位置を高精度に測定して追跡するために、例えば、非特許文献1に開示されるように、Visual-SLAM(Visual Simultaneous Localization and Mapping)と呼ばれる技術がある。Visual-SLAMによれば、撮影装置を備えた移動体がその周囲を撮影しながら移動し、撮影された複数の画像における特徴点の移動量に基づいて移動体の移動量が計算される。これにより、移動体の現在の位置を推定したり、移動体の軌跡に基づいて地図を生成したりすることができる。
特開2011-219229号公報
R. Mur-Artal, et al., "ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras", IEEE Transactions on Robotics, Volume: 33, Issue: 5, Oct. 2017
 工場及び倉庫等など、日々背景が変化するシーンにおいては、事前に作成した地図を用いて現在の位置を特定することは困難である。この場合、Visual-SLAMによって得られる移動体の位置は、ある基準位置(例えば、移動体が移動を開始した位置)に対する相対位置として計算されるので、時間の経過に従って誤差が累積的に増大する。従って、撮影装置を用いて、従来よりも小さな誤差で移動体の位置を測定することができる測位装置が求められる。
 本開示の目的は、撮影装置を用いて移動体の位置を測定する測位装置であって、従来よりも小さな誤差で移動体の位置を測定することができる測位装置を提供することにある。
 本開示の一態様によれば、
 移動体に搭載された撮影装置によって撮影された複数の画像に基づいて、所定の基準位置及び基準姿勢に対する前記移動体の相対位置及び相対姿勢を示す前記移動体の第1の位置及び第1の姿勢を計算する第1の計算器と、
 予め決められた位置に配置されて視覚的に識別可能な複数のマーカーの識別子、位置、及び姿勢の情報と、前記移動体のための通路を含むマップの情報とを格納する記憶装置と、
 前記撮影装置によって撮影された画像から前記複数のマーカーのうちの1つを抽出し、抽出された前記1つのマーカーの位置及び姿勢に基づいて、前記マップにおける前記移動体の位置及び姿勢を示す前記移動体の第2の位置及び第2の姿勢を計算し、前記1つのマーカーを原点とするマーカー座標系における前記移動体の位置及び姿勢に基づいて、前記1つのマーカーの面の法線に対する前記移動体の方向への角度を計算する第2の計算器と、
 前記第2の位置及び前記第2の姿勢に基づいて前記第1の位置及び前記第1の姿勢を補正し、前記移動体の補正された位置及び補正された姿勢を生成する補正器とを備え、
 前記補正器は、前記角度が第1の閾値以下である前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用せず、前記角度が前記第1の閾値より大きい前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用して、前記補正された位置及び前記補正された姿勢を生成する。
 これらの概括的かつ特定の態様は、システム、方法、コンピュータプログラム並びにシステム、方法及びコンピュータプログラムの任意の組み合わせにより実現してもよい。
 本開示の一態様によれば、第2の位置及び第2の姿勢に基づいて第1の位置及び第1の姿勢を補正することにより、移動体の位置及び姿勢を高精度に測定することができる。また、本開示の一態様によれば、認識されたマーカーを信頼できるか否かを判断し、マーカーを信頼できるときのみ、第2の位置及び第2の姿勢に基づいて移動体の位置及び姿勢を補正することにより、移動体の位置及び姿勢をより高精度に測定することができる。
第1の実施形態に係る車両1の構成を示す概略図である。 図1の車両1を含む測位システムの構成を示すブロック図である。 図2の測位装置12の構成を示すブロック図である。 図1の車両1が移動する通路101を含む倉庫100のマップである。 図4のマーカー4の例を示す図である。 図3の記憶装置35に格納されたマーカー情報の例を示すテーブルである。 図1の撮影装置11によって撮影された画像40の例を示す図である。 図2の測位装置12によって実行される測位処理を示すフローチャートである。 図8のステップS2(相対位置計算処理)のサブルーチンを示すフローチャートである。 図3の画像処理器31によって抽出される特徴点であって、(a)は時刻nにおける画像40(n)から抽出される特徴点F1,F2を示し、(b)は時刻n’における画像40(n’)から抽出される特徴点F1’,F2’を示す図である。 図8のステップS3(絶対位置計算処理)のサブルーチンを示すフローチャートである。 マーカー座標系におけるマーカー4の頂点の座標を示す図である。 図1の撮影装置11によって撮影された画像40におけるマーカー4の頂点の座標を示す図である。 図8のステップS4(補正処理)のサブルーチンを示すフローチャートである。 図14のステップS31において計算される補正移動量を説明する図である。 図14のステップS33において計算される補正回転量を説明する図である。 図11のステップS24(マーカー評価処理)のサブルーチンを示すフローチャートである。 図1の撮影装置11によって撮影された画像40の例を示す図である。 図3の画像認識器33によって検出されたマーカー4と、マーカー4であると誤検出されたオブジェクトとを含むテーブルである。 図1の撮影装置11によって撮影され、車両1の絶対位置及び絶対姿勢の計算に適したマーカー4を含む画像40の例を示す図である。 図1の撮影装置11によって撮影され、車両1の絶対位置及び絶対姿勢の計算に適さないマーカー4を含む画像40の例を示す図である。 マーカー座標系における撮影装置11の位置の反転を説明する図である。 図3の位置計算器34によって計算されたマーカー座標系における撮影装置11の位置の変化を示すテーブルである。 図1の撮影装置11によって撮影され、車両1の絶対位置及び絶対姿勢の計算に適した幅を有するマーカー4の像の例を示す図である。 図1の撮影装置11によって撮影され、車両1の絶対位置及び絶対姿勢の計算に適した幅をもたないマーカー4の像の例を示す図である。 図17のステップS43における閾値を変化させたときの車両1の絶対位置の誤差を示すグラフである。 マーカー座標系において、車両1の絶対位置及び絶対姿勢の計算に適したマーカー4の像を撮影可能な角度及び距離を説明する図である。 車両1の絶対位置及び絶対姿勢の計算に適したマーカー4の像を撮影するときの角度の条件を説明する図である。 図28の撮影装置11によって撮影されたマーカー4を含む画像の例を示す図である。 第1の実施形態の比較例に係る補正処理を実行することによって計算された車両1の軌跡103を示す図である。 図17のマーカー評価処理を実行することによって計算された車両1の軌跡104を示す図である。 第2の実施形態に係る測位装置12Bの構成を示すブロック図である。
 以下、本開示に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
[第1の実施形態]
 図1~図24を参照して、第1の実施形態に係る測位装置及びそれを備えた移動体について説明する。
[第1の実施形態の構成]
[全体構成]
 図1は、第1の実施形態に係る車両1の構成を示す概略図である。車両1は、例えばフォークリフト又はトラックなど、有人の乗物であってもよい。また、車両1は、荷物3を搭載する荷台1aを備える。車両1は、荷物3を荷台1aに積み卸しするための昇降機構1bをさらに備えてもよい。また、車両1は、前進、後進、操舵、及び停止などのユーザ操作を受けるコンソール1cを備える。また、車両1の車体には、車両1に対して予め決められた向き(前方、後方、側方、上方、及び/又は下方)を撮影するように、撮影装置11が設置されている。
 図2は、図1の車両1を含む測位システムの構成を示すブロック図である。図2の測位システムは、少なくとも1つの車両1と、サーバ装置2とを含む。各車両1は、撮影装置11によって撮影された画像に基づいて、その位置を測定する測位装置12を備える。サーバ装置2は、各車両1からそれらの位置を取得し、各車両1の位置を記録する。
[車両1の構成]
 車両1は、撮影装置11、測位装置12、通信装置13、表示装置14、及び駆動機構15を備える。
 撮影装置11は、車両1の移動中に、所定時間ごとに、車両1に対して予め決められた向きにおける被写体の画像を生成する。撮影装置11は、例えば、少なくとも1つのカメラを含む。撮影装置11は、所定時間ごとに静止画像を撮影してもよく、動画像の一連のフレームから所定時間ごとにフレームを抽出してもよい。撮影装置11は、撮影した画像を測位装置12に送る。撮影装置11は、各画像に、当該画像を撮影した時刻のタイムスタンプを付与する。
 測位装置12は、撮影装置11によって撮影された画像に基づいて、車両1の位置を測定する。測位装置12は、撮影装置11によって撮影された複数の画像から特徴点を抽出し、抽出された特徴点を画像間で対応付けし、画像間の特徴点の変化量に基づいて、所定の基準位置及び基準姿勢に対する車両1の相対位置及び相対姿勢を計算する。また、測位装置12は、撮影装置11によって撮影された画像から、予め決められた位置に配置されて視覚的に識別可能な複数のマーカーのうちの1つを抽出し、抽出された1つのマーカーに基づいて、予め与えられたマップにおける車両1の絶対位置及び絶対姿勢を計算する。測位装置12はさらに、絶対位置及び絶対姿勢に基づいて相対位置及び相対姿勢を補正する。
 本明細書において、車両1の「姿勢」は、例えば、所定の座標系(後述する「世界座標系」又は「マーカー座標系」)の座標軸に対する車両1の進行方向の角度を示す。
 通信装置13は、Wi-Fi又はBluetoothなどのモジュール及びその制御プログラムを備え、サーバ装置2と無線で通信する。通信装置13は、測位装置12によって計算された車両1の位置及び姿勢をサーバ装置2に送信する。
 表示装置14は、車両1の位置をマップの上に表示してもよい。また、表示装置14は、車両1の動作に関する警報などを表示してもよい。
 駆動機構15は、車両1のエンジン又はモータ、操舵装置、制動装置、及びそれらの制御装置などを含む。駆動機構15は、例えば、コンソール1cを介してユーザによって制御される。
[サーバ装置2の構成]
 図2のサーバ装置2は、処理装置21、通信装置22、入力装置23、記憶装置24、及び表示装置25を備える。処理装置21は、例えば、プロセッサ及びメモリなどを含む汎用のコンピュータである。通信装置22は、車両1の通信装置13と通信可能に接続される。入力装置23は、キーボード及びポインティングデバイスなどを含む。記憶装置24は、車両1から受信した車両1の位置及び姿勢を記録する。表示装置25は、車両1から受信した車両1の位置及び姿勢を表示する。処理装置21は、通信装置22を介して各車両1からそれらの位置を取得し、各車両1の位置を記憶装置24に記録し、また、各車両1の位置を表示装置25に表示する。
 表示装置25は、車両1の測位装置12によって計算された車両1の位置及び姿勢を表示する。処理装置21は、車両1の移動範囲(倉庫又は工場など)のマップを予め取得し、測位装置12によって計算された車両1の位置及び姿勢をこのマップ上に重畳して表示装置25に表示してもよい。それに代わって、処理装置21は、車両1の移動経路に基づいて処理装置21自体によりマップを生成し、このマップを表示装置25に表示してもよい。
[測位装置12の構成]
 図3は、図2の測位装置12の構成を示すブロック図である。測位装置12は、画像処理器31、相対位置計算器32、画像認識器33、絶対位置計算器34、記憶装置35、及び補正器36を備える。
 記憶装置35は、予め決められた位置に配置されて視覚的に識別可能な複数のマーカー4の識別子、位置、及び姿勢の情報と、車両1のための通路を含むマップ(例えば、図4を参照して説明する倉庫100のマップ)の情報とを格納する。マーカー4の位置は、所定の基準位置に対する相対位置として表されてもよく、及び/又は、マップに関連付けて表されてもよい。
 図4は、図1の車両1が移動する通路101を含む倉庫100のマップである。倉庫100は、複数の通路101及び複数の棚102などの構造物を含む。倉庫100における予め決められた複数の位置に、複数のマーカー4が予め配置される。図1の車両1は、通路101を移動して、ある棚102から他の棚102に荷物3を搬送する。車両1及び各マーカー4の位置は、倉庫100の全体に対して決められた世界座標系(Xw,Yw,Zw)によって表される。
 図5は、図4のマーカー4の例を示す図である。図5の例では、マーカー4は正方形の平板として形成される。マーカー4は、その1つの面において、マーカー4自体の識別子を符号化した視覚的に識別可能なパターンを有する。図5の例では、マーカー4は、縦横に7×7個の白又は黒の正方形のセルからなるパターンを有する。マーカー4のパターンはさらに、例えば拡張現実の分野で使用されるマーカー(「ARマーカー」ともいう)のように、マーカー4を撮影した画像からマーカー4自体の姿勢を検出可能であるように形成される。各マーカー4は、その任意の点(例えば、中心、又は1つの頂点)を原点とするマーカー座標系(Xm,Ym,Zm)を有する。図5の下段及び他の図面では、Xm-Ym面に沿った面の中央における矢印によってマーカー4の正面(Zm軸の正の向き)を示す。
 図6は、図3の記憶装置35に格納されたマーカー情報の例を示すテーブルである。図6の例では、図4に示す2つのマーカー4の情報を示す。各マーカー4は、識別子001、002を有する。この識別子は、マーカー4のパターンに符号化されている。また、各マーカー4は、世界座標系(Xw,Yw,Zw)において所定の座標を有する。また、各マーカー4は、その正面(Zm軸の正の向き)がXw-Yw面内においてXw軸を基準として角度θ(すなわち方位角)を有するような姿勢で配置される。各マーカー4の姿勢は、方位角及び仰角によって表されてもよい。また、各マーカー4は、30cm×30cmのサイズを有する。
 記憶装置35は、すべてのマーカー4について、例えば、図6に示すような項目を含むマーカー情報を格納する。また、記憶装置35は、すべての通路101について、その向き、寸法、及び配置を含むマップ情報を格納する。
 図7は、図1の撮影装置11によって撮影された画像40の例を示す図である。画像40は複数の特徴点41を含む。特徴点41は、輝度値あるいは色が周囲の画素と区別でき、その位置を正確に決定することができる点である。特徴点41は、例えば、車両1が移動する通路101又は棚102などの構造物の頂点又はエッジ、床、壁、又は天井の模様から検出される。また、車両1がマーカー4の近傍を通過するとき、画像40はマーカー4を含む。画像40における特徴点41及びマーカー4の位置は、例えば、画像40の任意の点(例えば、左上のコーナー)を原点とする画像座標系(Xi,Yi)によって表される。
 再び図3を参照すると、画像処理器31は、所定時間だけ離れた複数の時刻において撮影装置11によってそれぞれ撮影された複数の画像から、対応する特徴点の座標を抽出する。相対位置計算器32は、時間的に隣接した2つの画像における特徴点の移動量に基づいて、車両1の移動量を計算する。これにより、相対位置計算器32は、複数の画像の特徴点の座標に基づいて、所定の基準位置及び基準姿勢(例えば、車両1が移動を開始したときの位置及び姿勢)に対する車両1の相対位置及び相対姿勢を計算する。相対位置計算器32は、例えば、Visual-SLAM又はVisual-Odometryなど、公知の画像処理及び測位の技術を用いて、車両1の相対位置及び相対姿勢を計算してもよい。基準位置及び基準姿勢は、記憶装置35に格納されたマップの情報に関連付けられる。また、相対位置計算器32は、相対位置及び相対姿勢に、それらの計算に関連付けられた画像(時間的に隣接した2つの画像のうちの後者)のタイムスタンプを付与する。
 相対位置計算器32は、計算した車両1の位置を、例えば、直交座標(XYZ座標)により表してもよい。相対位置計算器32は、計算した車両1の位置及び時刻に基づいて、車両1の速度及び/又は加速度を計算してもよい。相対位置計算器32は、計算した車両1の姿勢を、ロール(左右の傾き)、ピッチ(前後の傾き)、及びヨー(床面に垂直な軸(すなわち、図4のZw軸)の周りの回転)により表してもよい。これにより、地面に平行な水平面内における車両1の向きだけでなく、車両1の車体の傾斜を表したり、車両1の高さ方向の移動を表したりすることができる。
 本明細書では、画像処理器31及び相対位置計算器32を合わせて、「第1の計算器」ともいう。また、本明細書では、相対位置及び相対姿勢を「第1の位置」及び「第1の姿勢」ともいう。
 画像認識器33は、撮影装置11によって撮影された画像から、予め決められた位置に配置されて視覚的に識別可能な複数のマーカー4のうちの1つを抽出する。絶対位置計算器34は、抽出された1つのマーカー4の位置及び姿勢に基づいて、記憶装置35に格納されたマーカー4の情報及びマップの情報を参照することにより、マップ(すなわち世界座標系)における車両1の位置及び姿勢を示す車両1の絶対位置及び絶対姿勢を計算する。また、絶対位置計算器34は、絶対位置及び絶対姿勢に、それらの計算に関連付けられた画像のタイムスタンプを付与する。
 本明細書では、画像認識器33及び絶対位置計算器34を合わせて、「第2の計算器」ともいう。また、本明細書では、絶対位置及び絶対姿勢を「第2の位置」及び「第2の姿勢」ともいう。
 補正器36は、絶対位置及び絶対姿勢に基づいて相対位置及び相対姿勢を補正し、車両1の補正された位置及び補正された姿勢を生成する。補正器36は、相対位置及び相対姿勢のタイムスタンプと、絶対位置及び絶対姿勢のタイムスタンプとに基づいて、絶対位置及び絶対姿勢を相対位置及び相対姿勢と同期させる。補正器36は、例えば、予め決められた閾値より小さい時間差を有し、最も近接したタイムスタンプを有する相対位置及び相対姿勢と絶対位置及び絶対姿勢とを、同じ画像から計算されたものとみなしてもよい。
 測位装置12の各構成要素31~36のうちの少なくとも一部が一体化されてもよい。例えば、画像処理器31及び画像認識器33を一体化してもよい。また、測位装置12の各構成要素31~36は、専用回路として実装されてもよく、汎用のプロセッサによって実行されるプログラムとして実装されてもよい。
[第1の実施形態の動作]
 補正器36は、前述のように、Visual-SLAMなどを用いて特徴点41に基づいて計算された相対位置及び相対姿勢を、マーカー4に基づいて計算された絶対位置及び絶対姿勢に基づいて補正する。この補正処理は、車両1の絶対位置及び絶対姿勢が正しいことを前提とし、従って、マーカー4を撮影した画像からマーカー4の姿勢が正しく認識されていることを前提としている。しかしながら、マーカー4ではないオブジェクトがマーカー4として誤検出されることがある。また、マーカー4の姿勢を正しく認識するためには、マーカー4を適切な角度及び適切な距離から撮影する必要がある。マーカー4を撮影した画像から認識されたマーカー4自体の位置及び姿勢に誤差があると、車両1の絶対位置及び絶対姿勢にも誤差が生じ、測位装置12によって計算される車両1の位置及び/又は姿勢の精度が低下するおそれがある。
 このため、第1の実施形態に係る測位装置12では、絶対位置計算器34は、マーカー4を適切な角度及び適切な距離から撮影しているか否か、すなわち、認識されたマーカー4を信頼できるか否かを判断し、マーカー4を信頼できるときのみ、マーカー4の位置及び姿勢に基づいて計算される車両1の絶対位置及び絶対姿勢を補正器36に送る。その結果、補正器36は、マーカー4を信頼できるときのみ、絶対位置及び絶対姿勢に基づいて車両1の位置及び姿勢を補正する。これにより、正しく認識されたマーカー4の位置及び姿勢に基づいて、車両1の位置及び姿勢を正しく補正し、従って、車両1の位置及び姿勢を高精度に測定することができる。
 以下、測位装置12の動作について詳細に説明する。
[測位処理の全体]
 図8は、図2の測位装置12によって実行される測位処理を示すフローチャートである。
 ステップS1において、測位装置12は、撮影装置11によって撮影された画像を取得する。ステップS2において、画像処理器31及び相対位置計算器32は、相対位置計算処理を実行し、車両1の相対位置及び相対姿勢を計算する。ステップS3において、画像認識器33及び絶対位置計算器34は、絶対位置計算処理を実行し、車両1の絶対位置及び絶対姿勢を計算する。ステップS2及びS3は、図8に示すように並列に実行されてもよく、逐次に実行されてもよい。ステップS4において、補正器36は、補正処理を実行し、絶対位置及び絶対姿勢に基づいて相対位置及び相対姿勢を補正し、車両1の補正された位置及び補正された姿勢を生成する。ステップS5において、補正器36は、車両1の補正された位置及び補正された姿勢を、通信装置13及び表示装置14に出力する。
[相対位置計算処理]
 図9は、図8のステップS2(相対位置計算処理)のサブルーチンを示すフローチャートである。
 ステップS11において、画像処理器31は、所定時間だけ離れた第1及び第2の時刻にそれぞれ撮影された(例えば、時間的に隣接したフレームの)第1及び第2の画像を取得する。
 ステップS12において、画像処理器31は、第1の画像から特徴点を検出する。画像から特徴点を検出するために、例えば、FAST(Features from Accelerated Segment Test)のような画像処理技術を使用してもよい。
 ステップS13において、画像処理器31は、第2の画像から、第1の画像の特徴点に対応する特徴点を検出する。画像間で対応する特徴点を検出するために、例えば、KLT(Kanade-Lucas-Tomasi)トラッカーのような公知の画像処理技術を使用してもよい。
 図10は、図3の画像処理器31によって抽出される特徴点を示す図である。図10(a)は時刻nにおける画像40(n)から抽出される特徴点F1,F2を示す。図10(b)は時刻n’における画像40(n’)から抽出される特徴点F1’,F2’を示す。図10(a)の画像40(n)の画像座標系において、特徴点F1は座標(xi1,yi1)を有し、特徴点F2は座標(xi2,yi2)を有する。図10(b)の画像40(n’)の画像座標系において、特徴点F1’は座標(xi1’,yi1’)を有し、特徴点F2’は座標(xi2’,yi2’)を有する。図10(b)の特徴点F1’,F2’は、図10(a)の特徴点F1,F2にそれぞれ対応する。
 図9のステップS14において、画像処理器31は、第1及び第2の画像における対応する特徴点の座標の組を取得する。画像処理器31は、例えば、特徴点F1,F1’の座標の組(xi1,yi1,xi1’,yi1’)を取得し、特徴点F2,F2’の座標の組(xi2,yi2,xi2’,yi2’)を取得する。
 ステップS15において、相対位置計算器32は、ステップS14において取得された特徴点の座標に基づいて、例えば5点アルゴリズムを用いて、3×3個の要素からなる基礎行列Eを計算する。
 ステップS16において、相対位置計算器32は、基礎行列Eに対して特異値分解を行うことにより、第1及び第2の画像を撮影した時刻の間における車両1の移動を表す回転行列R及び並進ベクトルtを計算する。回転行列Rは、第1及び第2の画像を撮影した時刻の間における車両1の姿勢の変化を示す。並進ベクトルtは、第1及び第2の画像を撮影した時刻の間における車両1の位置の変化を示す。
 回転行列R及び並進ベクトルtの計算は、例えば、以下のように定式化される。
 基礎行列Eは、特異値分解を行うことにより、E=UΣVとして表される。ここで、Σは、3×3個の要素からなる対角行列Σであり、U,Vは、3×3個の要素からなる直交行列である。
 回転行列Rは、3×3個の要素からなる次式の行列Wを用いて、R=UW-1により計算される。
Figure JPOXMLDOC01-appb-M000001
 また、並進ベクトルtを計算するために、3×3個の要素からなる行列T=VWΣVが計算される。行列Tは、E=TRを満たし、次式で表される。
Figure JPOXMLDOC01-appb-M000002
 並進ベクトルtは、行列Tの成分により、t=(t,t,tとして表される。
 ステップS17において、相対位置計算器32は、車両1の相対位置及び相対姿勢を計算して出力する。直前の時刻n-1において車両1が相対位置t(n-1)及び相対姿勢R(n-1)を有するとき、現在の時刻nにおいて、車両1の相対位置t(n)は、ステップS16において計算された並進ベクトルtを用いて、t(n)=t(n-1)+tR(n-1)により表される。また、現在の時刻nにおいて、車両1の相対姿勢R(n)は、ステップS16において計算された回転行列Rを用いて、R(n)=RR(n-1)で表される。このように、相対位置計算器32は、複数の並進ベクトルを累積的に加算し、複数の回転行列を累積的に乗算することにより、所定の基準位置及び基準姿勢に対する車両1の相対位置及び相対姿勢を計算する。
[絶対位置計算処理]
 図11は、図8のステップS3(絶対位置計算処理)のサブルーチンを示すフローチャートである。
 ステップS21において、画像認識器33は、画像からマーカー4を検出する。ここで、画像認識器33は、画像座標系において四角形のマーカー4の4つの頂点(コーナー)の座標を検出し、また、マーカー4のパターンを復号してマーカー4の識別子を取得する。なお、画像認識器33は、マーカー4の4つの頂点に代えて、予め決められたいくつかの点の座標を検出してもよい。
 図12は、マーカー座標系におけるマーカー4の頂点の座標を示す図である。マーカー座標系(Xm,Ym,Zm)において、マーカー4の4つの頂点は、座標(xm0,ym0,zm0)、(xm1,ym1,zm1)、(xm2,ym2,zm2)、及び(xm3,ym3,zm3)をそれぞれ有する。マーカー4の寸法は既知であるので、マーカー座標系におけるマーカー4の4つの頂点の座標もまた既知である。例えば、図12のマーカー4の左上の頂点がマーカー座標系(Xm,Ym,Zm)の原点であり、かつ、マーカー4が30cm×30cmのサイズを有する場合、マーカー4の頂点は、例えば、座標(xm0,ym0,zm0)=(0,0,0)、(xm1,ym1,zm1)=(0.3,0,0)、(xm2,ym2,zm2)=(0,0.3,0)、及び(xm3,ym3,zm3)=(0.3,0.3,0)を有する。
 図13は、図1の撮影装置11によって撮影された画像40におけるマーカー4の頂点の座標を示す図である。画像座標系(Xi,Yi)において、マーカー4の4つの頂点は、座標(xi0,yi0)、(xi1,yi1)、(xi2,yi2)、及び(xi3,yi3)をそれぞれ有する。
 図11のステップS22において、絶対位置計算器34は、ステップS21において検出されたマーカー4の座標に基づいて、撮影装置11を原点とする3次元座標系(カメラ座標系)におけるマーカー4の位置及び姿勢(すなわち、撮影装置11から見たマーカー4の位置及び姿勢)を計算する。例えば、絶対位置計算器34は、2次元の画像座標系におけるマーカー4の4つの頂点の座標と、3次元のマーカー座標系におけるマーカー4の4つの頂点の座標とに基づいて、PnP(perspective n point)問題を解くことにより、撮影装置11から見たマーカー4の位置及び姿勢を計算する。
 ステップS23において、絶対位置計算器34は、マーカー座標系における撮影装置11の位置及び姿勢(すなわち、マーカー4から見た撮影装置11の位置及び姿勢)を計算する。ここで、撮影装置11から見たマーカー4の位置を並進ベクトルtにより示し、撮影装置11から見たマーカー4の姿勢を回転行列Rにより示す。この場合、マーカー4から見た撮影装置11の姿勢は、R-1により表され、マーカー4から見た撮影装置11の位置は、-R-1tにより表される。
 ステップS24において、絶対位置計算器34は、マーカー評価処理(図17~図29を参照して後述する)を実行し、マーカー4を適切な角度及び適切な距離から撮影しているか否か、すなわち、認識されたマーカー4を信頼できるか否かを判断する。認識されたマーカー4を信頼できると判断したとき、ステップS25からステップS26に進み、そうでないとき、図8のステップS4に進む。
 ステップS26において、絶対位置計算器34は、ステップS21において検出されたマーカー4の識別子に基づいて、記憶装置35から、世界座標系におけるマーカー4の位置及び姿勢(すなわち、マーカー4の絶対位置及び絶対姿勢)を読み出す。
 ステップS27において、絶対位置計算器34は、ステップS23において計算されたマーカー座標系における撮影装置11の位置及び姿勢と、ステップS26において読み出された世界座標系におけるマーカー4の位置及び姿勢とに基づいて、世界座標系における車両1の位置及び姿勢(すなわち、車両1の絶対位置及び絶対姿勢)を計算する。マーカー座標系における撮影装置11の位置及び姿勢に対して、世界座標系におけるマーカー4の位置及び姿勢をオフセット値として加算することにより、世界座標系における車両1の位置及び姿勢が得られる。
[補正処理]
 図14は、図8のステップS4(補正処理)のサブルーチンを示すフローチャートである。
 図14の補正処理を行うとき、補正器36は、初期状態では、以前に計算された最新の絶対位置及び絶対姿勢を内部に保持している。
 ステップS31において、補正器36は、車両1の相対位置及び絶対位置に基づいて、車両1の補正移動量を計算する。
 図15は、図14のステップS31において計算される補正移動量を説明する図である。図15は、測位装置12によって計算される車両1の位置を示す。時刻n-2~n+2において、車両1は相対位置P(n-2)~P(n+2)を有する。車両1が相対位置P(n)に到来したとき、測位装置12はマーカー4を検出する。このとき、マップ上では相対位置P(n)がマーカー4から遠隔していても、実際には、車両1はマーカー4の近傍に位置していると考えられる。従って、測位装置12は、相対位置P(n)とマーカー4の位置との差を補正移動量τとして計算する。測位装置12は、相対位置P(n)に補正移動量τを加算して、補正された位置P’(n)を得る。その後も同様に、測位装置12は、相対位置P(n+1),P(n+2),…に補正移動量τを加算して、補正された位置P’(n+1),P’(n+2),…を得る。
 図14のステップS32において、補正器36は、車両1の補正移動量を車両1の相対位置に加算する。
 ステップS33において、補正器36は、車両1の相対姿勢及び絶対姿勢に基づいて、車両1の補正回転量を計算する。
 図16は、図14のステップS33において計算される補正回転量を説明する図である。図16は、測位装置12によって計算された車両1の位置P,P’及び姿勢A,A’を示す。時刻n-2~n+2において、車両1は相対位置P(n-2)~P(n+2)及び相対姿勢A(n-2)~A(n+2)を有する。図16において、太矢印は車両1の姿勢を示す。車両1が相対位置P(n)に到来したとき、測位装置12はマーカー4を検出し、車両1の絶対姿勢を計算する。測位装置12は、相対位置P(n)を回転の中心として、相対姿勢A(n)と絶対姿勢との差を補正回転量ρとして計算する。測位装置12は、相対姿勢A(n)に補正回転量ρを加算して、補正された姿勢A’(n)を得る。その後も同様に、測位装置12は、相対姿勢A(n+1),A(n+2),…に補正回転量ρを加算して、補正された姿勢A’(n+1),A’(n+2),…を得る。
 ステップS33において、補正器36は、予め決められた時間長にわたって計算された(又は、予め決められた個数の連続した画像に対応する)複数の相対姿勢の平均値と、絶対姿勢との差を、車両1の補正回転量として計算してもよい。車両1の相対姿勢の瞬時値だけでは、車両1の実際の進行方向(例えば、車両1が通路101に沿って移動しているのか否か)を判断することができない。また、車両1の相対姿勢は誤差を含む可能性がある。従って、複数の相対姿勢の平均値を用いることにより、車両1の実際の進行方向を正確に判断することができる。
 図14のステップS34において、補正器36は、車両1の補正回転量を車両1の相対姿勢に加算する。
[マーカー評価処理]
 図17は、図11のステップS24(マーカー評価処理)のサブルーチンを示すフローチャートである。
 ステップS41において、絶対位置計算器34は、撮影装置11によって連続的に撮影された画像であって、同一の識別子を有するマーカー4がそれぞれ抽出された画像の個数をカウントする。さらに、ステップS41において、絶対位置計算器34は、撮影装置11によって連続的に撮影された予め決められた個数の画像からそれぞれ抽出された予め決められた個数のマーカー4が同一の識別子を有するか否かを判断し、YESのときはステップS42に進み、NOのときはステップS47に進む。
 図18は、図1の撮影装置11によって撮影された画像40の例を示す図である。倉庫又は工場のような複雑な背景を含む環境下でマーカー4を撮影する場合、何らかのオブジェクト5を、マーカーとして、すなわち、マーカーの識別子(例えば、ID:668)を有する視覚的に識別可能な領域として誤認識する可能性がある。特に、マーカー4のパターンがシンプルである場合、他のオブジェクト5をマーカーとして誤認識しやすくなる。
 図19は、図3の画像認識器33によって検出されたマーカー4と、マーカー4であると誤検出されたオブジェクトとを含むテーブルである。図19のテーブルの各行は、撮影装置11によって撮影された各画像から抽出された、マーカー4の候補(マーカー4又は誤検出されたオブジェクト)を示す。1つの画像から1つ又は複数のマーカー4の候補が検出されることがあり、また、ある画像からマーカー4の候補が検出されないこともある。図19のテーブルは、各マーカー4の候補について、識別子(ID)(1列目)、当該マーカー4の候補を含む画像を撮影した時刻(2列目)、位置(3~5列目)、及び角度(6列目)を示す。画像認識器33があるマーカー4を検出しているとき、このマーカー4に近接したオブジェクト5を一時的にマーカーとして誤認識する可能性がある。しかしながら、ある画像においてオブジェクト5がマーカー4として誤検出しても、連続した複数の画像にわたって同様にオブジェクト5をマーカー4として誤検出する可能性は非常に低いと考えられる。従って、ある画像において、ある識別子(例えば、ID:668)を有するオブジェクト5を検出しても、それが連続した複数の画像で検出されなければ、オブジェクト5はマーカー4ではないと判断できる。一方、撮影装置11によって連続的に撮影された複数の画像から同一の識別子(例えば、ID:010)のマーカー4が検出された場合、マーカー4を検出していると判断することができる。
 図17のステップS41の閾値(予め決められた個数)は、例えば「3」に設定されるが、他の任意の値に設定されてもよい。
 図17のステップS42において、絶対位置計算器34は、撮影装置11によって連続的に撮影された予め決められた個数の画像からそれぞれ抽出された同一の識別子を有する予め決められた個数のマーカー4をそれぞれ原点とする予め決められた個数のマーカー座標系において、撮影装置11(すなわち車両1)の位置及び姿勢を計算する。さらに、ステップS42において、絶対位置計算器34は、予め決められた個数(閾値)の画像にわたって、マーカー座標系における撮影装置11(すなわち車両1)の座標が連続して同符号を有するか否かを判断し、YESのときはステップS43に進み、NOのときはステップS47に進む。
 図20は、図1の撮影装置11によって撮影され、車両1の絶対位置及び絶対姿勢の計算に適したマーカー4を含む画像40の例を示す図である。図21は、図1の撮影装置11によって撮影され、車両1の絶対位置及び絶対姿勢の計算に適さないマーカー4を含む画像40の例を示す図である。画像40において、例えば矩形のマーカー4の対辺が互いに異なる長さを有するとき、撮影装置11がマーカー4をどこから撮影しているのか、すなわち、マーカー座標系における撮影装置11の位置を明確に決定することができる。例えば、図20に示すように、マーカー4の右辺が左辺よりも長いとき、マーカー4の右側からマーカー4を撮影していると判断することができる。一方、画像40において、例えば矩形のマーカー4の対辺が互いに同じ長さを有するとき、マーカー座標系における撮影装置11の位置を決定することは困難である。例えば、図21に示すように、マーカー4の右辺及び左辺の長さが同じであるとき、マーカー4の右側からマーカー4を撮影しているのか、マーカー4の左側からマーカー4を撮影しているのか、判断することができない。
 図22は、マーカー座標系における撮影装置11の位置の反転を説明する図である。図23の例では、マーカー4の法線に対して右側に位置した撮影装置11aのXm座標は正であり、マーカー4の法線に対して左側に位置した撮影装置11bのXm座標は負である。
 図23は、図3の位置計算器34によって計算されたマーカー座標系における撮影装置11の位置の変化を示すテーブルである。図23のテーブルの各行は、撮影装置11によって撮影された各画像に対応し、各1つの画像に含まれる1つのマーカー4の識別子と、このマーカー4を原点とするマーカー座標系における撮影装置11の位置及び姿勢とを示す。正方形のマーカー4の対辺が互いに同じ長さを有し、マーカー座標系における撮影装置11の位置を決定することが困難である場合、マーカー座標系における撮影装置11の座標の符号が変動しやすくなる。従って、マーカー座標系における撮影装置11の座標の符号が頻繁に変化するとき、マーカー4を含む画像40は、車両1の絶対位置及び絶対姿勢の計算に適さないと判断することができる。一方、予め決められた個数の画像にわたって、マーカー座標系における撮影装置11の座標が連続して同符号を有するとき、マーカー4を含む画像40は、車両1の絶対位置及び絶対姿勢の計算に適していると判断することができる。
 図23の例では、2~4行目において、Xm座標の符号が交互に反転しているので、対応する画像は、車両1の絶対位置及び絶対姿勢の計算に適さない。一方、4~6行目では、Xm、Ym、及びZm座標が同符号を有するので、対応する画像は、車両1の絶対位置及び絶対姿勢の計算に適している。
 図17のステップS42の閾値(予め決められた個数)は、例えば「3」に設定されるが、他の任意の値に設定されてもよい。
 図17のステップS43において、絶対位置計算器34は、撮影装置11によって撮影された画像におけるマーカー4のサイズを計算する。さらに、ステップS43において、絶対位置計算器34は、撮影装置11によって撮影された画像におけるマーカー4のサイズが予め決められた閾値より大きいか否かを判断し、YESのときはステップS44に進み、NOのときはステップS47に進む。
 図24は、図1の撮影装置11によって撮影され、車両1の絶対位置及び絶対姿勢の計算に適した幅を有するマーカー4の像の例を示す図である。図25は、図1の撮影装置11によって撮影され、車両1の絶対位置及び絶対姿勢の計算に適した幅をもたないマーカー4の像の例を示す図である。図24及び図25は、撮影装置11によって撮影された画像におけるマーカー4のサイズ(画素数)を示す。図24及び図25の例では、マーカー4のサイズは、各頂点からその対辺までの画素数によって表される。マーカー4のパターンを正しく認識するためには、撮影装置11によって撮影された画像において、マーカー4が十分なサイズ(画素数)を有する必要がある。例えば、図5に示すマーカー4は、縦横に7×7個の白又は黒の正方形のセルからなるパターンを有する。この場合、図24のマーカー4の画素数は、そのパターンの各セルを認識するために十分である。一方、図25のマーカー4の画素数は、明らかに、そのパターンの各セルを認識するためには不十分である。
 図26は、図17のステップS43における閾値を変化させたときの車両1の絶対位置の誤差を示すグラフである。図26によれば、閾値を14以上に設定したとき、誤差が小さくなることがわかる。従って、撮影装置11によって撮影された画像におけるマーカー4のサイズが予め決められた閾値より小さいとき、マーカー4を含む画像40は、車両1の絶対位置及び絶対姿勢の計算に適さないと判断することができる。一方、撮影装置11によって撮影された画像におけるマーカー4のサイズが予め決められた閾値より大きいとき、マーカー4を含む画像40は、車両1の絶対位置及び絶対姿勢の計算に適していると判断することができる。
 マーカー4のサイズは、各頂点からその対辺までの距離(画素数)に代えて、各辺の長さ、各辺の長さの合計、対角線の長さ、又はマーカーの面積によって表されてもよい。
 図17のステップS44において、絶対位置計算器34は、1つのマーカー4を原点とするマーカー座標系における車両1の位置及び姿勢に基づいて、1つのマーカー4の面の法線に対する車両1の方向への角度を計算する。さらに、ステップS44において、絶対位置計算器34は、マーカー座標系において1つのマーカー4の面の法線に対する撮影装置11(すなわち車両1)の方向への角度が予め決められた閾値αthより大きいか否かを判断し、YESのときはステップS45に進み、NOのときはステップS47に進む。なお、撮影装置11と車両1の方向が異なる場合、絶対位置計算器34は、撮影装置11とマーカー4の面の法線の角度が閾値αthより大きいか否かを判断し、YESのときはステップS45に進み、NOのときはステップS47に進む。
 図27は、マーカー座標系において、車両1の絶対位置及び絶対姿勢の計算に適したマーカー4の像を撮影可能な角度及び距離を説明する図である。ステップS42に関連して前述したように、画像40において、例えば矩形のマーカー4の対辺が互いに異なる長さを有するとき、マーカー座標系における撮影装置11の位置を明確に決定することができる。従って、撮影装置11は、マーカー4の法線方向(正面)からではなく、マーカー4の法線方向から十分に傾斜した方向から、マーカー4を撮影する。
 図28は、車両1の絶対位置及び絶対姿勢の計算に適したマーカー4の像を撮影するときの角度の条件を説明する図である。図29は、図28の撮影装置11によって撮影されたマーカー4を含む画像の例を示す図である。図28において、αは、マーカー4の面の法線に対する撮影装置11の方向への角度を示す。角度αは、α=arccos(a/b)を満たす。ここで、a及びbは、図29に示すように、撮影装置11によって撮影された画像40におけるマーカー4のサイズを示す。a:b=1:1に近づくと、精度が低下する。角度αの正負は、図29の台形の向きから判定可能である。ただし、撮影装置11がマーカー4を正面から撮影するとき、また、撮影装置11からマーカー4までの距離dが増大したとき、角度αの正負の判定は不安定になる。βは、撮影装置11の光軸に対するマーカー4の方向の角度である。言い換えると、角度βは、撮影装置11によって撮影された画像40におけるマーカー4の位置を示す。撮影装置11からマーカー4までの距離dは、d=1/bを満たす。求めた結果としては、β>d>αの順に高精度になる。
 図17のステップS44の閾値αthは、例えば「45度」に設定されるが、他の任意の値に設定されてもよい。また、この閾値αthは、撮影装置11からマーカー4までの距離に応じて変動してもよい。
 マーカー4の面の法線に対する撮影装置11の方向への角度が90度に近づくとき、撮影装置11によって撮影された画像におけるマーカー4のサイズaが小さくなり、ステップS43の条件を満たすことが困難になる。マーカー4の面の法線に対する撮影装置11の方向への角度は、ステップS43及びS44の両方の条件を満たす必要がある。
 図17のステップS45において、絶対位置計算器34は、撮影装置11によって撮影された画像に基づいて車両1からマーカー4までの距離を計算する。さらに、ステップS45において、絶対位置計算器34は、撮影装置11(すなわち車両1)からマーカー4までの距離が予め決められた閾値より小さいか否かを判断し、YESのときはステップS46に進み、NOのときはステップS47に進む。
 再び図27を参照すると、撮影装置11は、マーカー4に対して距離Dthより短い位置において、マーカー4を撮影する。撮影装置11からマーカー4までの距離が大きいと、測位装置12によって計算される車両1の位置及び姿勢の精度が低下する。
 図17のステップS45の閾値Dthは、マーカー4がA2サイズを有する場合、例えば「6m」に設定されるが、他の任意の値に設定されてもよい。また、この閾値Dthは、マーカー4のサイズに応じて変動してもよい。
 図17のステップS46において、絶対位置計算器34は、マーカー4を信頼できると判断する。この場合、絶対位置計算器34は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を補正器36に送る。一方、ステップS47において、絶対位置計算器34は、マーカー4を信頼できないと判断する。この場合、絶対位置計算器34は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を送らない。
 このように図17のマーカー評価処理を実行することにより、絶対位置計算器34は、マーカー4を適切な角度及び適切な距離から撮影しているか否か、すなわち、認識されたマーカー4を信頼できるか否かを判断する。その結果、図8のステップS4の補正処理において、補正器36は以下のように動作する。
 マーカー4が予め決められた閾値に等しい個数の画像にわたって同一の識別子をもたないとき(ステップS41がNO)、補正器36は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を用いて位置及び姿勢を補正しない。一方、マーカー4が閾値以上の個数の画像にわたって同一の識別子を有するとき(ステップS41がYES)、補正器36は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用して、補正された位置及び補正された姿勢を生成する。
 予め決められた閾値に等しい個数の画像にわたって各マーカー座標系における車両1の座標が同じ符号をもたないとき(ステップS42がNO)、補正器36は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を用いて位置及び姿勢を補正しない。一方、閾値以上の個数の画像にわたって各マーカー座標系における車両1の座標が同じ符号を有するとき(ステップS42がYES)、補正器36は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用して、補正された位置及び補正された姿勢を生成する。
 マーカー4が予め決められた閾値以下のサイズを有するとき(ステップS43がNO)、補正器36は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を用いて位置及び姿勢を補正しない。一方、マーカー4が閾値より大きいサイズを有するとき(ステップS43がYES)、補正器36は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用して、補正された位置及び補正された姿勢を生成する。
 1つのマーカー4の面の法線に対する車両1の方向への角度が予め決められた閾値以下であるとき(ステップS44がNO)、補正器36は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を用いて位置及び姿勢を補正しない。一方、1つのマーカー4の面の法線に対する車両1の方向への角度が閾値より大きいとき(ステップS44がYES)、補正器36は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用して、補正された位置及び補正された姿勢を生成する。
 マーカー4が車両1から予め決められた閾値以上の距離を有するとき(ステップS45がNO)、補正器36は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を用いて位置及び姿勢を補正しない。一方、マーカー4が車両1から閾値より小さい距離を有するとき(ステップS45がYES)、補正器36は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用して、補正された位置及び補正された姿勢を生成する。
 本明細書では、ステップS44の閾値を「第1の閾値」ともいう。また、本明細書では、ステップS41の閾値を「第2の閾値」ともいう。また、本明細書では、ステップS42の閾値を「第3の閾値」ともいう。また、本明細書では、ステップS43の閾値を「第4の閾値」ともいう。また、本明細書では、ステップS45の閾値を「第5の閾値」ともいう。
 図30は、第1の実施形態の比較例に係る補正処理を実行することによって計算された車両1の軌跡103を示す図である。図31は、図17のマーカー評価処理を実行することによって計算された車両1の軌跡104を示す図である。図30~図31では、説明のため、各マーカー4の一辺に設けた突起によりマーカー4の正面(図5のZm軸)を示すが、実際には、このような突起はない。図30によれば、領域111、113、及び114において、マーカー座標系における撮影装置11の位置を正しく決定できなかったことに起因して、図22に示すように撮影装置11の位置がマーカー4の法線に対して反転し、計算された車両1の位置の誤差が生じている。また、図30によれば、領域112、115、及び116において、計算された車両1の位置の精度が低下している。また、領域117では、マーカー4ではないオブジェクトをマーカー4として誤検出したことにより、大幅な誤差が生じている。一方、図31によれば、測位装置12は、適切な角度及び適切な距離から撮影されたマーカー4に基づいて計算された絶対位置及び絶対姿勢のみに基づいて相対位置及び相対姿勢を補正しているので、車両1の位置及び姿勢を高精度に測定することができる。
 第1の実施形態によれば、Visual-SLAMなどを用いて特徴点41に基づいて計算された相対位置及び相対姿勢を、マーカー4に基づいて計算された絶対位置及び絶対姿勢に基づいて補正することにより、車両1の位置及び姿勢を高精度に測定することができる。また、第1の実施形態によれば、認識されたマーカー4を信頼できるか否かを判断し、マーカー4を信頼できるときのみ、絶対位置及び絶対姿勢に基づいて車両1の位置及び姿勢を補正することにより、車両1の位置及び姿勢をより高精度に測定することができる。
 第1の実施形態によれば、撮影装置11を用いることにより、倉庫又は工場など、GPS衛星からの電波を受信できない屋内であっても、車両1の位置を安価に測定することができる。無線信号を送信するための多数の無線送信機を設置する必要がないので、初期導入コストを低減できる。
 第1の実施形態によれば、測位結果から得られる車両1の移動経路に基づいて、業務改善を行うことができる。
 第1の実施形態によれば、車両1の移動距離に基づいて、保守の要否、リース契約の更改の要否、などに活用することができる。
 第1の実施形態によれば、車両1の移動のヒートマップに基づいて、倉庫又は工場における通路又は棚などの配置を最適化することができる。
 第1の実施形態によれば、各車両1の軌跡の違いに基づいて、各車両1が移動中に互いにすれ違う場所を可視化することができ、経路及び通路幅を見直して安全性を向上させることができる。
[第1の実施形態の変形例]
 図17のステップS41~S45は、他の任意の順序で実行されてもよい。処理の順序によって結果は変わらないが、処理速度に違いが生じる。例えば、ステップS44よりも前にステップS42を実行することにより、撮影装置11がマーカー4の正面に位置する場合を効率的に除去することができる。また、ステップS41~S45のうちの一部のみが実行されてもよい。
 図11のステップS24~S25は、絶対位置計算器34に代えて、補正器36によって実行されてもよい。この場合、絶対位置計算器34は、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を常に補正器36に送る。補正器36は、マーカー4を信頼できるときのみ、絶対位置及び絶対姿勢に基づいて車両1の位置及び姿勢を補正する。
 上述した例では、補正器36が、相対位置及び相対姿勢を絶対位置及び絶対姿勢によって上書きせず、絶対位置及び絶対姿勢を相対位置及び相対姿勢と別個に管理する場合について説明した。それに代わって、補正器36が相対位置及び相対姿勢を絶対位置及び絶対姿勢によって上書きし、その後、この絶対位置及び絶対姿勢を新たな基準位置及び基準姿勢として、相対位置及び相対姿勢を計算してもよい。
 撮影装置11は、被写体の画像を生成するとともに、撮影装置11から被写体の各点までの距離を検出するように構成されてもよい。撮影装置11は、被写体までの距離を検出するため、例えば、RGB-Dカメラなどのデプスセンサ、又はToF(Time of Flight)センサを含んでもよい。それに代わって、撮影装置11は、被写体までの距離を検出するため、所定距離だけ互いに離れた配置された2つのカメラを含むステレオカメラであってもよい。
 撮影装置11が距離を検出する場合、相対位置計算器32は、公知のICP(iterative closest point)アルゴリズムなどを用いて、車両1の相対位置及び相対姿勢を計算してもよい。
 図9の相対位置計算処理では、FAST及びKLTトラッカーを用いる例を説明したが、他の方法を用いてもよい。例えば、画像処理で一般的であるSIFT(Scale Invariant Feature Transform)又はORB(Oriented FAST and Rotated BRIEF)を用いた特徴点検出処理及び特徴点マッチング処理などを用いてもよい。
 マーカー4が通路101の直線区間の中間に配置されている場合、絶対位置及び絶対姿勢を高精度に計算できると期待される。一方、マーカー4が通路101の交差点又は出入口の付近に配置されている場合、車両1はマーカー4の近傍を直進するとは限らず、計算された絶対位置及び絶対姿勢の誤差が大きくなる可能性がある。従って、複数のマーカー4のうちの一部は、絶対位置及び絶対姿勢を計算するために(すなわち、位置及び姿勢を補正するために)使用されない補助マーカーであってもよい。補助マーカーは、例えば、車両1の出発地、目的地、又は他のチェックポイントとなりうる何らかの構造物(倉庫100の出入口、通路101の交差点、特定の棚102、など)の近傍に配置される。補助マーカーは、車両1から撮影可能であるならば、通路101に沿って配置されなくてもよい。測位装置12は、補助マーカーを検出することにより、車両1が特定のチェックポイントに到達したことを認識することができる。この場合、記憶装置35に格納されたマーカー情報のテーブルは、各マーカー4が補助マーカーであるか否かを示す項目をさらに含む。また、この場合、マーカー情報のテーブルは、補助マーカーについては、その位置及び姿勢の情報をもたなくてもよい。また、マーカー情報のテーブルは、各マーカー4が補助マーカーであるか否かを示す項目に代えて、当該マーカー4に基づいて計算される絶対位置及び絶対姿勢の信頼度を示す項目を含んでもよい。
 車両1及びサーバ装置2は、通信装置13、22に代えて、SDカードなど、着脱可能な記憶媒体を用いてもよい。車両において計算した当該車両の位置及び姿勢を記憶媒体に書き込み、サーバ装置2において、この記憶媒体から車両の位置及び姿勢を読み出してもよい。
 車両1は、例えば無人搬送車(AGV)又はパレット搬送ロボットなど、無人の荷物運搬装置であってもよい。この場合、車両1は、サーバ装置2の制御下で駆動機構15を制御して移動する。
[第1の実施形態の効果等]
 第1の実施形態によれば、測位装置12は、相対位置計算器32、記憶装置35、絶対位置計算器34、及び補正器36を備える。相対位置計算器32は、車両1に搭載された撮影装置11によって撮影された複数の画像に基づいて、所定の基準位置及び基準姿勢に対する車両1の相対位置及び相対姿勢を計算する。記憶装置35は、予め決められた位置に配置されて視覚的に識別可能な複数のマーカー4の識別子、位置、及び姿勢の情報と、車両1のための通路を含むマップの情報とを格納する。絶対位置計算器34は、撮影装置11によって撮影された画像から複数のマーカー4のうちの1つを抽出し、抽出された1つのマーカー4の位置及び姿勢に基づいて、マップにおける車両1の位置及び姿勢を示す車両1の絶対位置及び絶対姿勢を計算する。また、絶対位置計算器34は、1つのマーカー4を原点とするマーカー座標系における車両1の位置及び姿勢に基づいて、1つのマーカー4の面の法線に対する車両1の方向への角度を計算する。補正器36は、絶対位置及び絶対姿勢に基づいて相対位置及び相対姿勢を補正し、移動体の補正された位置及び補正された姿勢を生成する。補正器36は、角度が第1の閾値以下であるマーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用せず、角度が第1の閾値より大きいマーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用して、補正された位置及び補正された姿勢を生成する。
 これにより、補正器36は、マーカー4の面の法線に対する車両1の方向への角度が第1の閾値より大きいときのみ、マーカー4の位置及び姿勢に基づいて車両1の位置及び姿勢を補正する。
 第1の実施形態によれば、絶対位置計算器34は、撮影装置11によって連続的に撮影された画像であって、同一の識別子を有するマーカー4がそれぞれ抽出された画像の個数をカウントしてもよい。この場合、補正器36は、マーカー4が第2の閾値に等しい個数の画像にわたって同一の識別子をもたないとき、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用せず、マーカー4が第2の閾値以上の個数の画像にわたって同一の識別子を有するとき、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用して、補正された位置及び補正された姿勢を生成する。
 これにより、補正器36は、マーカー4が第2の閾値以上の個数の画像にわたって同一の識別子を有するときのみ、マーカー4の位置及び姿勢に基づいて車両1の位置及び姿勢を補正する。
 第1の実施形態によれば、絶対位置計算器34は、撮影装置11によって連続的に撮影された複数の画像からそれぞれ抽出された同一の識別子を有する複数のマーカー4をそれぞれ原点とする各マーカー座標系において、車両1の位置及び姿勢を計算してもよい。この場合、補正器36は、第3の閾値に等しい個数の画像にわたって各マーカー座標系における車両1の座標が同じ符号をもたないとき、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用せず、第3の閾値以上の個数の画像にわたって各マーカー座標系における車両1の座標が同じ符号を有するとき、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用して、補正された位置及び補正された姿勢を生成する。
 これにより、補正器36は、第3の閾値以上の個数の画像にわたって各マーカー座標系における車両1の座標が同じ符号を有するときのみ、マーカー4の位置及び姿勢に基づいて車両1の位置及び姿勢を補正する。
 第1の実施形態によれば、絶対位置計算器34は、撮影装置11によって撮影された画像におけるマーカー4のサイズを計算してもよい。この場合、補正器36は、第4の閾値以下のサイズを有するマーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用せず、第4の閾値より大きいサイズを有するマーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用して、補正された位置及び補正された姿勢を生成する。
 これにより、補正器36は、マーカー4が第4の閾値より大きいサイズを有するときのみ、マーカー4の位置及び姿勢に基づいて車両1の位置及び姿勢を補正する。
 第1の実施形態によれば、絶対位置計算器34は、撮影装置11によって撮影された画像に基づいて車両1からマーカー4までの距離を計算してもよい。この場合、補正器36は、車両1から第5の閾値以上の距離を有するマーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用せず、車両1から第5の閾値より小さい距離を有するマーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用して、補正された位置及び補正された姿勢を生成する。
 これにより、補正器36は、マーカー4が車両1から第5の閾値より小さい距離を有するときのみ、マーカー4の位置及び姿勢に基づいて車両1の位置及び姿勢を補正する。
 第1の実施形態によれば、測位装置12は、相対位置計算器32、記憶装置35、絶対位置計算器34、及び補正器36を備える。相対位置計算器32は、車両1に搭載された撮影装置11によって撮影された複数の画像に基づいて、所定の基準位置及び基準姿勢に対する車両1の相対位置及び相対姿勢を計算する。記憶装置35は、予め決められた位置に配置されて視覚的に識別可能な複数のマーカー4の識別子、位置、及び姿勢の情報と、車両1のための通路を含むマップの情報とを格納する。絶対位置計算器34は、撮影装置11によって撮影された画像から複数のマーカー4のうちの1つを抽出し、抽出された1つのマーカー4の位置及び姿勢に基づいて、マップにおける車両1の位置及び姿勢を示す車両1の絶対位置及び絶対姿勢を計算する。また、絶対位置計算器34は、撮影装置11によって連続的に撮影された画像であって、同一の識別子を有するマーカー4がそれぞれ抽出された画像の個数をカウントする。補正器36は、絶対位置及び絶対姿勢に基づいて相対位置及び相対姿勢を補正し、移動体の補正された位置及び補正された姿勢を生成する。補正器36は、マーカー4が第2の閾値に等しい個数の画像にわたって同一の識別子をもたないとき、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用せず、マーカー4が第2の閾値以上の個数の画像にわたって同一の識別子を有するとき、マーカー4の位置及び姿勢に基づいて計算される絶対位置及び絶対姿勢を使用して、補正された位置及び補正された姿勢を生成する。
 これにより、補正器36は、マーカー4が第2の閾値以上の個数の画像にわたって同一の識別子を有するときのみ、マーカー4の位置及び姿勢に基づいて車両1の位置及び姿勢を補正する。
 第1の実施形態によれば、撮影装置11と、測位装置12とを備えた車両1が提供されてもよい。
 第1の実施形態によれば、Visual-SLAMなどを用いて特徴点41に基づいて計算された相対位置及び相対姿勢を、マーカー4に基づいて計算された絶対位置及び絶対姿勢に基づいて補正することにより、車両1の位置及び姿勢を高精度に測定することができる。また、第1の実施形態によれば、認識されたマーカー4を信頼できるか否かを判断し、マーカー4を信頼できるときのみ、絶対位置及び絶対姿勢に基づいて車両の位置及び姿勢を補正することにより、車両1の位置及び姿勢をより高精度に測定することができる。
[第2の実施形態]
 図32を参照して、第2の実施形態に係る測位装置及びそれを備えた移動体について説明する。
[第2の実施形態の構成]
 図32は、第2の実施形態に係る測位装置12Bの構成を示すブロック図である。第1の実施形態に係る車両1は、図3の測位装置12に代えて、測位装置12Bを備えてもよい。測位装置12Bは、図3の測位装置12の各構成要素に加えて、画像認識器37及びデータ合成器38を備える。
 画像認識器37は、撮影装置11によって撮影された画像から予め決められた対象物を認識する。画像認識器37は人物(例えば、車両1の運転手、車両1の周りの人物)を認識してもよい。画像認識器37は、予め学習された特定の荷物3を認識してもよい。画像処理器31、画像認識器33、及び画像認識器37は、同一の撮影装置11から画像を取得してもよい。それに代わって、画像認識器37は、画像処理器31及び画像認識器33に供給される画像(すなわち、車両1の位置及び姿勢を測定するための画像)を撮影する撮影装置11とは異なる撮影装置を用いて、人物及び/又は荷物3を含む画像を撮影してもよい。この場合、撮影装置11は、例えば、車両1の前方の通路101を撮影するように設けられ、他の撮影装置は、例えば、車両1の運転席手又は荷台を撮影するように設けられてもよい。撮影装置11と他の撮影装置とは、予め互いに同期される。
 データ合成器38は、補正器36から、車両1の補正された位置及び補正された姿勢のデータを、当該位置及び姿勢に対応する画像を撮影装置11により撮影した時刻(又は、当該位置及び姿勢を計算した時刻)のタイムスタンプとともに取得する。データ合成器38は、画像認識器37によって認識された対象物の画像認識データを、車両1の位置及び姿勢のデータに合成する。また、データ合成器38は、車両1に搭載された1つ又は複数のセンサを含むセンサ群16Bによって生成されたセンサデータを取得し、センサデータを、車両1の位置及び姿勢のデータに合成する。データ合成器38は、車両1の加速度及び角速度の少なくとも一方を含むセンサデータを取得してもよい。また、データ合成器38は、車両1によって搬送される荷物3の重さを含むセンサデータを取得してもよい。センサ群16Bの各センサは、センサデータに、当該センサデータを取得した時刻のタイムスタンプを付与する。データ合成器38は、車両1の位置及び姿勢のデータのタイムスタンプと、画像認識データのタイムスタンプと、センサデータのタイムスタンプとに基づいて、これらのデータを互いに同期させて合成する。
 データ合成器38は、これらのデータのタイムスタンプが互いに不一致しているとき、画像認識データ又はセンサデータを、それに最も近接したタイムスタンプを有する車両1の位置及び姿勢のデータに関連付けてもよい。また、データ合成器38は、これらのデータのタイムスタンプが互いに不一致しているとき、線形補間又は内分などを用いて車両1の位置及び姿勢のデータを補間し、画像認識データ又はセンサデータを、それに対応するタイムスタンプを有する補間された車両1の位置及び姿勢のデータに関連付けてもよい。
 データ合成器38を備えたことにより、車両1の作業に関連するさまざまなデータを、車両1の位置及び軌跡に関連付けて記録することができる。例えば、画像認識された人物を記録することにより、車両1の作業に関連する人物を追跡することができる。画像認識された荷物3を記録することにより、車両1によって搬送される荷物3を追跡することができる。車両1の加速度及び角速度を記録することにより、倉庫の路面の凹凸などを検出することができる。荷物3の重さを記録することにより、車両1の仕事量をモニタリングすることができる。
[第2の実施形態の効果等]
 第2の実施形態によれば、車両1に搭載された1つ又は複数のセンサによって生成されたセンサデータを取得し、センサデータを、補正された位置及び補正された姿勢のデータに合成するデータ合成器38をさらに備えてもよい。
 第2の実施形態によれば、データ合成器38は、車両1の加速度及び角速度の少なくとも一方を含むセンサデータを取得してもよい。
 第2の実施形態によれば、データ合成器38は、車両1によって搬送される荷物3の重さを含むセンサデータを取得してもよい。
 第2の実施形態によれば、測位装置12Bは、撮影装置11によって撮影された画像から予め決められた対象物を認識する画像認識器37をさらに備えてもよい。この場合、データ合成器38は、画像認識器37によって認識された対象物の情報を、補正された位置及び補正された姿勢のデータに合成する。
 第2の実施形態によれば、画像認識器37は人物を認識してもよい。
 第2の実施形態によれば、画像認識器37は、予め学習された特定の荷物3を認識してもよい。
 第2の実施形態によれば、車両1の作業に関連するさまざまなデータを、車両1の位置及び軌跡に関連付けて記録することができる。
 第2の実施形態によれば、車両1は、車両1の位置及び姿勢を測定するための画像を撮影する撮影装置11と、他の対象物を撮影する他の撮影装置とを備えてもよい。この場合、データ合成器38は、撮影装置11によって撮影された画像に基づいて生成された車両1の位置及び姿勢のデータと、他の撮影装置によって撮影された画像に基づいて生成された画像認識データとを、互いに関連付けることができる。車両1の位置及び姿勢のデータと、車両1の移動中に撮影された他の対象物の画像認識データとが関連付けられていると、マップにおける車両1の位置及び軌跡に基づいて業務分析を行う際に非常に有用である。例えば、ある人物の不審な行動を目視等で検出したとき、その人物の位置をマップにおいて参照することで、その位置の近傍において、及び/又は、その人物に関連して、過去に撮影された画像又は映像を検索して読み出すことができる。
[他の実施形態]
 なお、第1~第3の実施形態において、測位装置は、フォークリフト又はトラックなどの四輪の車両に設けられてもよく、1~3輪、5輪以上の車両に設けられてもよい。また、第1~第3の実施形態において、測位装置は、車輪の個数及び/又は車輪の有無と関係なく、飛行機、ヘリコプタ、ドローン、ホバークラフトなど、車輪のない移動体に設けられてもよい。本実施形態に係る測位装置は、車輪の回転数から移動体の位置を推定するのでなく、撮影装置によって撮影された画像に基づいて移動体の位置を推定することができる。
 本開示の各態様に係る測位装置によれば、倉庫又は工場などにおいて移動体の位置を測定することができる。これにより、移動体の軌跡(動線)を追跡すること、移動体をルーティングすること、倉庫又は工場における荷物などの配置を最適化すること、稼働率をモニタリングすること、作業効率を改善すること、などが可能である。
1…車両、
1a…荷台、
1b…昇降機構、
1c…コンソール、
2…サーバ装置、
3…荷物、
4…マーカー、
11…撮影装置、
12,12B…測位装置、
13…通信装置、
14…表示装置、
15…駆動機構、
16B…センサ群、
21…処理装置、
22…通信装置、
23…入力装置、
24…記憶装置、
25…表示装置、
31…画像処理器(特徴点)、
32…相対位置計算器、
33…画像認識器(マーカー)、
34…絶対位置計算器、
35…記憶装置、
36,36A…補正器、
37…画像認識器(人物、荷物)、
38…データ合成器、
40…画像、
41…特徴点、
100…倉庫、
101…通路、
102…棚、
103,104…軌跡。

Claims (16)

  1.  移動体に搭載された撮影装置によって撮影された複数の画像に基づいて、所定の基準位置及び基準姿勢に対する前記移動体の相対位置及び相対姿勢を示す前記移動体の第1の位置及び第1の姿勢を計算する第1の計算器と、
     予め決められた位置に配置されて視覚的に識別可能な複数のマーカーの識別子、位置、及び姿勢の情報と、前記移動体のための通路を含むマップの情報とを格納する記憶装置と、
     前記撮影装置によって撮影された画像から前記複数のマーカーのうちの1つを抽出し、抽出された前記1つのマーカーの位置及び姿勢に基づいて、前記マップにおける前記移動体の位置及び姿勢を示す前記移動体の第2の位置及び第2の姿勢を計算し、前記1つのマーカーを原点とするマーカー座標系における前記移動体の位置及び姿勢に基づいて、前記1つのマーカーの面の法線に対する前記移動体の方向への角度を計算する第2の計算器と、
     前記第2の位置及び前記第2の姿勢に基づいて前記第1の位置及び前記第1の姿勢を補正し、前記移動体の補正された位置及び補正された姿勢を生成する補正器とを備え、
     前記補正器は、前記角度が第1の閾値以下である前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用せず、前記角度が前記第1の閾値より大きい前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用して、前記補正された位置及び前記補正された姿勢を生成する、
    測位装置。
  2.  前記第2の計算器は、前記撮影装置によって連続的に撮影された画像であって、同一の識別子を有するマーカーがそれぞれ抽出された画像の個数をカウントし、
     前記補正器は、前記マーカーが第2の閾値に等しい個数の画像にわたって同一の識別子をもたないとき、前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用せず、前記マーカーが前記第2の閾値以上の個数の画像にわたって同一の識別子を有するとき、前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用して、前記補正された位置及び前記補正された姿勢を生成する、
    請求項1記載の測位装置。
  3.  前記第2の計算器は、前記撮影装置によって連続的に撮影された複数の画像からそれぞれ抽出された同一の識別子を有する複数のマーカーをそれぞれ原点とする各マーカー座標系において、前記移動体の位置及び姿勢を計算し、
     前記補正器は、第3の閾値に等しい個数の画像にわたって前記各マーカー座標系における前記移動体の座標が同じ符号をもたないとき、前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用せず、前記第3の閾値以上の個数の画像にわたって前記各マーカー座標系における前記移動体の座標が同じ符号を有するとき、前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用して、前記補正された位置及び前記補正された姿勢を生成する、
    請求項1又は2記載の測位装置。
  4.  前記第2の計算器は、前記撮影装置によって撮影された画像における前記マーカーのサイズを計算し、
     前記補正器は、第4の閾値以下のサイズを有する前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用せず、前記第4の閾値より大きいサイズを有する前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用して、前記補正された位置及び前記補正された姿勢を生成する、
    請求項1~3のうちの1つに記載の測位装置。
  5.  前記第2の計算器は、前記撮影装置によって撮影された画像に基づいて前記移動体から前記マーカーまでの距離を計算し、
     前記補正器は、前記移動体から第5の閾値以上の距離を有する前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用せず、前記移動体から前記第5の閾値より小さい距離を有する前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用して、前記補正された位置及び前記補正された姿勢を生成する、
    請求項1~4のうちの1つに記載の測位装置。
  6.  移動体に搭載された撮影装置によって撮影された複数の画像に基づいて、所定の基準位置及び基準姿勢に対する前記移動体の相対位置及び相対姿勢を示す前記移動体の第1の位置及び第1の姿勢を計算する第1の計算器と、
     予め決められた位置に配置されて視覚的に識別可能な複数のマーカーの識別子、位置、及び姿勢の情報と、前記移動体のための通路を含むマップの情報とを格納する記憶装置と、
     前記撮影装置によって撮影された画像から前記複数のマーカーのうちの1つを抽出し、抽出された前記1つのマーカーの位置及び姿勢に基づいて、前記マップにおける前記移動体の位置及び姿勢を示す前記移動体の第2の位置及び第2の姿勢を計算し、前記撮影装置によって連続的に撮影された画像であって、同一の識別子を有するマーカーがそれぞれ抽出された画像の個数をカウントする第2の計算器と、
     前記第2の位置及び前記第2の姿勢に基づいて前記第1の位置及び前記第1の姿勢を補正し、前記移動体の補正された位置及び補正された姿勢を生成する補正器とを備え、
     前記補正器は、前記マーカーが第2の閾値に等しい個数の画像にわたって同一の識別子をもたないとき、前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用せず、前記マーカーが前記第2の閾値以上の個数の画像にわたって同一の識別子を有するとき、前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用して、前記補正された位置及び前記補正された姿勢を生成する、
    測位装置。
  7.  前記第2の計算器は、前記撮影装置によって連続的に撮影された複数の画像からそれぞれ抽出された同一の識別子を有する複数のマーカーをそれぞれ原点とする各マーカー座標系において、前記移動体の位置及び姿勢を計算し、
     前記補正器は、第3の閾値に等しい個数の画像にわたって前記各マーカー座標系における前記移動体の座標が同じ符号をもたないとき、前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用せず、前記第3の閾値以上の個数の画像にわたって前記各マーカー座標系における前記移動体の座標が同じ符号を有するとき、前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用して、前記補正された位置及び前記補正された姿勢を生成する、
    請求項6記載の測位装置。
  8.  前記第2の計算器は、前記撮影装置によって撮影された画像における前記マーカーのサイズを計算し、
     前記補正器は、第4の閾値以下のサイズを有する前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用せず、前記第4の閾値より大きいサイズを有する前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用して、前記補正された位置及び前記補正された姿勢を生成する、
    請求項6又は7記載の測位装置。
  9.  前記第2の計算器は、前記撮影装置によって撮影された画像に基づいて前記移動体から前記マーカーまでの距離を計算し、
     前記補正器は、前記移動体から第5の閾値以上の距離を有する前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用せず、前記移動体から前記第5の閾値より小さい距離を有する前記マーカーの位置及び姿勢に基づいて計算される前記第2の位置及び前記第2の姿勢を使用して、前記補正された位置及び前記補正された姿勢を生成する、
    請求項6~8のうちの1つに記載の測位装置。
  10.  前記移動体に搭載された1つ又は複数のセンサによって生成されたセンサデータを取得し、前記センサデータを、前記補正された位置及び前記補正された姿勢のデータに合成するデータ合成器をさらに備えた、
    請求項1~9のうちの1つに記載の測位装置。
  11.  前記データ合成器は、前記移動体の加速度及び角速度の少なくとも一方を含むセンサデータを取得する、
    請求項10記載の測位装置。
  12.  前記データ合成器は、前記移動体によって搬送される荷物の重さを含むセンサデータを取得する、
    請求項10又は11記載の測位装置。
  13.  前記測位装置は、前記撮影装置によって撮影された画像から予め決められた対象物を認識する画像認識器をさらに備え、
     前記データ合成器は、前記画像認識器によって認識された対象物の情報を、前記補正された位置及び前記補正された姿勢のデータに合成する、
    請求項10~12のうちの1つに記載の測位装置。
  14.  前記画像認識器は人物を認識する、
    請求項13記載の測位装置。
  15.  前記画像認識器は、予め学習された特定の荷物を認識する、
    請求項13記載の測位装置。
  16.  撮影装置と、
     請求項1~15のうちの1つに記載の測位装置とを備えた、
    移動体。
PCT/JP2019/046185 2018-12-28 2019-11-26 測位装置及び移動体 WO2020137311A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020562954A JP7482453B2 (ja) 2018-12-28 2019-11-26 測位装置及び移動体
EP19903677.3A EP3904993B1 (en) 2018-12-28 2019-11-26 Positioning apparatus and moving body
US17/349,178 US20210312661A1 (en) 2018-12-28 2021-06-16 Positioning apparatus capable of measuring position of moving body using image capturing apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018247829 2018-12-28
JP2018-247829 2018-12-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/349,178 Continuation US20210312661A1 (en) 2018-12-28 2021-06-16 Positioning apparatus capable of measuring position of moving body using image capturing apparatus

Publications (1)

Publication Number Publication Date
WO2020137311A1 true WO2020137311A1 (ja) 2020-07-02

Family

ID=71127162

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/046185 WO2020137311A1 (ja) 2018-12-28 2019-11-26 測位装置及び移動体

Country Status (3)

Country Link
US (1) US20210312661A1 (ja)
EP (1) EP3904993B1 (ja)
WO (1) WO2020137311A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021157136A1 (ja) * 2020-02-07 2021-08-12 パナソニックIpマネジメント株式会社 測位システム
DE102021130631A1 (de) * 2021-11-23 2023-05-25 Still Gesellschaft Mit Beschränkter Haftung Verfahren und System zur Navigation eines Flurförderzeugs

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281676A (ja) * 2002-03-25 2003-10-03 Fujitsu Ltd 経路検索装置とその経路検索方法、並びに配送計画システムとその配送計画方法
JP2011219229A (ja) 2010-04-12 2011-11-04 Hitachi Ltd 荷物所在管理装置
JP2012048643A (ja) * 2010-08-30 2012-03-08 Denso Corp 物体検出装置
JP2013235351A (ja) * 2012-05-07 2013-11-21 Sharp Corp 自走式電子機器
JP2017139941A (ja) * 2016-02-05 2017-08-10 株式会社東芝 充電装置および位置ずれ検出方法
EP3308911A1 (en) * 2015-06-12 2018-04-18 LG Electronics Inc. Mobile robot and method of controlling same
WO2018179960A1 (ja) * 2017-03-27 2018-10-04 日本電産株式会社 移動体および自己位置推定装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4976756B2 (ja) * 2006-06-23 2012-07-18 キヤノン株式会社 情報処理方法および装置
KR102016551B1 (ko) * 2014-01-24 2019-09-02 한화디펜스 주식회사 위치 추정 장치 및 방법
KR102317247B1 (ko) * 2015-06-15 2021-10-26 한국전자통신연구원 영상정보를 이용한 증강현실 기반 손 인터랙션 장치 및 방법
US10268924B2 (en) * 2016-12-05 2019-04-23 Sap Se Systems and methods for integrated cargo inspection

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281676A (ja) * 2002-03-25 2003-10-03 Fujitsu Ltd 経路検索装置とその経路検索方法、並びに配送計画システムとその配送計画方法
JP2011219229A (ja) 2010-04-12 2011-11-04 Hitachi Ltd 荷物所在管理装置
JP2012048643A (ja) * 2010-08-30 2012-03-08 Denso Corp 物体検出装置
JP2013235351A (ja) * 2012-05-07 2013-11-21 Sharp Corp 自走式電子機器
EP3308911A1 (en) * 2015-06-12 2018-04-18 LG Electronics Inc. Mobile robot and method of controlling same
JP2017139941A (ja) * 2016-02-05 2017-08-10 株式会社東芝 充電装置および位置ずれ検出方法
WO2018179960A1 (ja) * 2017-03-27 2018-10-04 日本電産株式会社 移動体および自己位置推定装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
R. MUR-ARTAL ET AL.: "ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras", 5 October 2017, IEEE TRANSACTIONS ON ROBOTICS

Also Published As

Publication number Publication date
EP3904993A4 (en) 2022-06-01
EP3904993B1 (en) 2023-10-04
EP3904993A1 (en) 2021-11-03
JPWO2020137311A1 (ja) 2020-07-02
US20210312661A1 (en) 2021-10-07

Similar Documents

Publication Publication Date Title
KR102347015B1 (ko) 창고 환경에서의 차량 추적
JP7336752B2 (ja) 測位装置及び移動体
JP7336753B2 (ja) 測位装置及び移動体
US20220366596A1 (en) Positioning system for measuring position of moving body using image capturing apparatus
US20220366599A1 (en) Positioning system and moving body for measuring position of moving body using image capturing apparatus
Fiala et al. Visual odometry using 3-dimensional video input
KR102006291B1 (ko) 전자 장치의 이동체 포즈 추정 방법
US20210312661A1 (en) Positioning apparatus capable of measuring position of moving body using image capturing apparatus
Caballero et al. Improving vision-based planar motion estimation for unmanned aerial vehicles through online mosaicing
CN112214012A (zh) 一种导航方法、移动载体及导航系统
CN111273701A (zh) 一种云台视觉控制系统以及控制方法
KR20100066952A (ko) 스테레오 비전을 이용하여 장애물을 추적하는 장치 및 방법
WO2019130931A1 (ja) 測位装置及び車両
JP7482453B2 (ja) 測位装置及び移動体
US11897387B2 (en) Vehicle monitoring device, vehicle, and vehicle monitoring system
Zheng et al. Integrated navigation system with monocular vision and LIDAR for indoor UAVs
CN113632029B (zh) 信息处理装置、程序及信息处理方法
JP7486095B2 (ja) 車両監視方法、車両監視装置、車両、及び車両監視システム
CN113673462A (zh) 一种基于车道线的物流agv定位方法
CN113011212A (zh) 图像识别方法、装置及车辆
Maleki et al. Visual Navigation for Autonomous Mobile Material Deposition Systems using Remote Sensing
JP4257219B2 (ja) 走行軌跡記録装置および走行軌跡記録方法
JP2023137739A (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP2021149420A (ja) 推定システムおよび方法
CN117649619A (zh) 无人机视觉导航定位回收方法、系统、装置及可读存储介质

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: 19903677

Country of ref document: EP

Kind code of ref document: A1

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
ENP Entry into the national phase

Ref document number: 2020562954

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019903677

Country of ref document: EP

Effective date: 20210728