WO2020137314A1 - 位置測定装置 - Google Patents

位置測定装置 Download PDF

Info

Publication number
WO2020137314A1
WO2020137314A1 PCT/JP2019/046204 JP2019046204W WO2020137314A1 WO 2020137314 A1 WO2020137314 A1 WO 2020137314A1 JP 2019046204 W JP2019046204 W JP 2019046204W WO 2020137314 A1 WO2020137314 A1 WO 2020137314A1
Authority
WO
WIPO (PCT)
Prior art keywords
moving body
control unit
map
measuring device
image
Prior art date
Application number
PCT/JP2019/046204
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マネジメント株式会社
Publication of WO2020137314A1 publication Critical patent/WO2020137314A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • 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/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • 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/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles

Definitions

  • the present disclosure relates to a position measuring device that measures the position of a moving body.
  • Patent Document 1 acquires an image captured by an image capturing unit provided on a moving body, and associates feature points included in an image captured before the movement and an image captured after the movement with each other.
  • a tracking unit that performs tracking
  • an area estimation unit that acquires information related to movement, and based on this information, estimates a region in which the two-dimensional position change of the feature point seen from the moving body is small before and after the movement, and tracking.
  • Disclosed is an information processing device including an estimation processing unit that estimates a self-position of a moving body by using feature points that are associated with each other and that are within an area.
  • the present disclosure provides a position measurement device that can accurately calculate the self position.
  • the position measuring device measures the position of a moving body.
  • the position measuring device is mounted on a moving body, and an image capturing unit that captures a captured image by capturing an environment around the moving body, a detecting unit that detects motion information indicating the motion of the moving body, and a feature point from the captured image.
  • a storage unit that stores first position information indicating the spatial position of the feature point in the environment.
  • the control unit searches the captured image for a position on the image corresponding to the spatial position indicated by the first position information, and determines whether or not the position of the moving body in the environment is specified based on the search result.
  • the control unit calculates the position of the moving body in the environment based on the specified position on the image, and determines that the position of the moving body in the environment is not specified. In that case, the position of the moving body in the environment is calculated based on the motion information.
  • the position measurement device of the present disclosure it is possible to accurately calculate the self position.
  • FIG. 3 is a diagram for explaining the feature point matching process in the first embodiment.
  • FIG. 3 is a diagram for explaining a process of calculating the similarity of the feature amount according to the first embodiment.
  • FIG. 3 is a diagram for explaining steps for determining whether or not the magnitude of angular velocity is equal to or greater than a threshold value.
  • the position measurement device is mounted on a moving body such as a manned cargo-handling vehicle, an automated guided vehicle (AGV), and an autonomous mobile baggage carrying robot. Measure the position.
  • a moving body such as a manned cargo-handling vehicle, an automated guided vehicle (AGV), and an autonomous mobile baggage carrying robot. Measure the position.
  • AGV automated guided vehicle
  • FIG. 1 is a diagram illustrating a configuration of the mobile unit 1.
  • the moving body 1 includes, for example, a luggage carrier 1a for carrying luggage.
  • the position measuring device 100 according to the present embodiment is mounted on the moving body 1.
  • the position measuring device 100 includes a camera 2 that captures an image of the surroundings of the moving body 1, and an inertial measurement device (Inertial measurement unit, hereinafter referred to as “IMU”) 3.
  • IMU Inertial measurement unit, hereinafter referred to as “IMU”) 3.
  • the IMU 3 is a device that detects the acceleration and the angular velocity of the moving body 1.
  • the position measuring device 100 can be applied with, for example, a Visual-SLAM (Simultaneous Localization and Mapping) technology that measures the self-position and generates 3D map information based on sequentially captured images.
  • a Visual-SLAM Simultaneous Localization and Mapping
  • the position measuring device 100 extracts feature points in the image captured by the camera 2.
  • the feature points include, for example, edges, corners, etc. of objects, roads, buildings, and the like.
  • the position measuring apparatus 100 creates the 3D map by converting the coordinates of the extracted feature points on the image into world coordinates and registering the map points corresponding to the feature points on the image in the world coordinate space.
  • the position measuring device 100 captures the surroundings of the moving body 1 with the camera 2 at a constant frame rate while moving the moving body 1, and makes the feature points on the image at the time of capturing correspond to the map points on the 3D map. Perform point matching processing.
  • the position measuring apparatus 100 determines the position and orientation of the camera 2 (hereinafter, referred to as “camera pose”) based on the geometrical positional relationship between the feature point of the current frame and the feature point of the immediately preceding frame. calculate.
  • the position measuring device 100 can determine the position of the position measuring device 100 and thus the position of the moving body 1 based on the calculated position of the camera 2.
  • the position information measured by the position measuring device 100 is stored in, for example, an external server and can be used for various data management in the environment through which the mobile body 1 has passed.
  • the position measuring device 100 may be used to move the mobile unit 1 based on the calculated position information of the mobile unit 1 and the created 3D map information.
  • FIG. 2 is a block diagram showing the configuration of the position measuring device 100.
  • the position measuring device 100 includes a camera 2, an IMU 3, a control unit 4, a storage unit 5, a communication interface (I/F) 7, and a drive unit 8.
  • I/F communication interface
  • the camera 2 is an example of the imaging unit of the present disclosure.
  • the camera 2 is installed in the mobile body 1, captures an image around the mobile body 1, and generates color image data and range image data.
  • the camera 2 may include a depth sensor such as an RGB-D camera or a stereo camera.
  • the camera 2 may be configured by an RGB camera that captures a color image and a ToF (Time of Flight) sensor that captures a distance image.
  • ToF Time of Flight
  • the IMU 3 is an example of the detection unit according to the present disclosure.
  • the IMU 3 includes an acceleration sensor that detects the acceleration of the moving body 1 and a gyro sensor that detects the angular velocity of the moving body 1.
  • the storage unit 5 is a recording medium that records various information including programs and data necessary for realizing the functions of the position measuring device 100.
  • the storage unit 5 stores, for example, a 3D map 51 and image data.
  • the storage unit 5 is realized by, for example, a flash memory, a semiconductor memory device such as an SSD, a magnetic storage device such as a hard disk, or another storage device alone or in combination thereof.
  • the storage unit 5 may include a volatile memory such as SRAM or DRAM capable of operating at high speed for temporarily storing various information.
  • the volatile memory functions as, for example, a work area of the control unit 4 or a frame memory that temporarily stores image data for each frame.
  • the communication I/F 7 is an interface circuit for enabling communication connection between the position measuring device 100 and an external device such as the server 150 via the network 50.
  • the communication I/F 7 performs communication according to a standard such as IEEE802.3, IEEE802.11 or Wi-Fi.
  • the drive unit 8 is a mechanism that moves the moving body 1 according to an instruction from the control unit 4.
  • the drive unit 8 includes an engine drive circuit, a steering circuit, and a brake circuit that are connected to the tires of the moving body 1.
  • FIG. 3 is a flowchart showing the flow of the operation of the position measuring device 100. Each process of the flowchart of FIG. 3 is executed by the control unit 4 of the position measuring device 100.
  • the control unit 4 acquires a captured image at time t (S10).
  • the captured image is image data of the environment around the moving body 1 captured by the camera 2.
  • control unit 4 also performs a process of calculating the self-position of the moving body 1 and a process of creating the 3D map 51.
  • the control unit 4 functioning as the map management unit 45 converts the coordinates of the feature points on the captured image 10 into world coordinates, and registers the map points corresponding to the feature points on the captured image 10 in the world coordinate space.
  • map points corresponding to the characteristic points on the captured image 10, the camera frame showing the captured image 10, and the camera pose of the camera 2 when capturing the captured image are recorded.
  • Information on the created 3D map 51 is stored in the storage unit 5.
  • the control unit 4 can generate the 3D map 51 as illustrated in FIG. 5 by acquiring a captured image and registering feature points at each time interval ⁇ t while the moving body 1 is moving, for example.
  • FIG. 5 is a schematic diagram illustrating the 3D map 51. Map points corresponding to the feature points on the captured image 10 are registered in the 3D map 51. Each map point has world coordinates. In FIG. 5, map points are indicated by circles. The structural information indicated by the broken line in FIG. 5 is not recorded in the 3D map 51, but is shown for convenience of description.
  • the control unit 4 can reproduce the structural information as shown by the broken line by acquiring the captured image at each time interval ⁇ t and registering the feature points.
  • the control unit 4 functioning as the feature point matching unit 42 associates the feature points in the captured image 10 at the time t extracted in step S20 with the map points of the 3D map 51.
  • a feature point matching process is performed (S30).
  • the control unit 4 uses, for example, a known KLT (Kanade-Lucas-Tomasi) tracker technology as the feature point matching process, and the feature points in the captured image 10 at time t- ⁇ t and the captured image at time t.
  • the feature points in 10 may be associated with each other.
  • the control unit 4 functioning as the position calculation unit 44 calculates the camera pose at time t.
  • the control unit 4 can obtain the position (self-position) of the position measuring device 100 and eventually the moving body 1 based on the calculated camera pose (S40).
  • the camera pose at time t is calculated, for example, based on the geometrical positional relationship between the feature points in the image captured at time t and the feature points in the image captured at time t- ⁇ t.
  • the camera pose at time t is calculated, for example, based on the camera pose at time t- ⁇ t and the detection result of the IMU 3.
  • the control unit 4 repeats the above steps S10 to S40 at every predetermined time interval ⁇ t until it determines the end of processing (S50) (S60).
  • the determination of the process end is made, for example, when the user inputs a process end instruction.
  • the control unit 4 transmits information such as the created 3D map 51 to the server 150.
  • FIG. 6 is a flowchart showing a detailed flow of the feature point matching step S30.
  • the control unit 4 calculates a predicted camera pose at time t (S31).
  • FIG. 7 is a diagram for explaining the feature point matching process.
  • FIG. 7 shows a camera 2a having the camera pose calculated in step S40 at time t ⁇ 2 ⁇ t and a camera 2b having the camera pose calculated in step S40 at time t ⁇ t.
  • the camera pose of the camera 2c at time t is predicted based on the past camera poses of the cameras 2a and 2b and the measurement results of the IMU 3 up to the present time.
  • the cameras 2a, 2b, and 2c are the same as the camera 2, but are on different time axes, and are therefore assigned different reference numerals to be distinguished.
  • control unit 4 may predict the camera pose of the camera 2c at the time t based only on the camera poses of the past cameras 2a and 2b without using the measurement result of the IMU 3. For example, the control unit 4 calculates the camera pose of the camera 2c from the camera pose of the camera 2b, assuming that the difference between the camera poses of the cameras 2a and 2b is equal to the difference between the camera poses of the cameras 2c and 2b. To do.
  • the cameras 2a, 2b, and 2c image a cube-shaped object 55.
  • the object 55 is an example of a component of the surrounding environment of the moving body 1 (see FIG. 5).
  • the captured image 10a is an image captured by the camera 2a at time t-2 ⁇ t.
  • the captured image 10a includes the feature points Fa1 and Fa2 (see step S20 in FIG. 3).
  • the captured image 10b is an image captured by the camera 2b at time t- ⁇ t.
  • the captured image 10b includes feature points Fb1 and Fb2. In order not to complicate the drawing, in FIG. 7, the images that should appear in the captured images 10a and 10b are omitted.
  • map points M1 and M2 are registered in the 3D map 51.
  • the map point M1 is registered on the 3D map 51 before time t- ⁇ t based on the feature point Fa1 or Fb1.
  • the map point M2 is registered on the 3D map 51 before time t- ⁇ t based on the feature point Fa2 or Fb2.
  • step S31 the control unit 4 selects one map point on the 3D map 51 (S32).
  • the control unit 4 projects the selected map point on the captured image, assuming that the camera 2 has the predicted camera pose calculated in step S31 (S33).
  • the image coordinates of the projection point are calculated by projectively converting the world coordinates of the map point on the 3D map 51. That is, the control unit 4 projects the selected map point on the image coordinate plane to obtain the image coordinates of the projected point.
  • Step S32 and step S33 will be described with reference to the example of FIG.
  • the control unit 4 selects the map point M1 on the 3D map 51.
  • step S33 the control unit 4 projects the map point M1 on the captured image 10c.
  • the projection point is P1.
  • the control unit 4 repeats steps S31 to S36 until all map points are projected (S37). For example, when the map point M2 is selected in step S32 in the next loop that is determined to be No in step S37, the control unit 4 projects the map point M2 to the projection point P2 in step S33.
  • the control unit 4 identifies the search range D around the projection point P1 (S34).
  • the search range D may be a rectangle centered on the projection point P1 and having a predetermined size, but is not limited thereto.
  • the search range D may be a circle centered on the projection point and having a predetermined radius.
  • Step S35 the control unit 4 calculates the degree of similarity between the feature amount of the projected point and the feature amount of the feature point within the search range D (S35).
  • Step S35 will be described with reference to FIG.
  • the captured image 10c in FIG. 8 is a captured image captured by the camera 2c at time t and acquired by the control unit 4 in step S10 shown in FIG.
  • the feature points extracted in step S20 shown in FIG. 3 are indicated by circles.
  • the projected point P1 projected in step 33 and corresponding to the map point M1 is shown by an X mark.
  • step S35 the control unit 4 calculates the degree of similarity between the feature amount of the projection point P1 and the feature amounts of the feature points Fc1, Fc3, Fc4, and Fc5 within the predetermined search range D around the projection point P1. To do.
  • the feature amount of the feature point is, for example, a SURF feature amount obtained by the SURF (Speeded-Up Robust Features) technique, a SIFT feature amount obtained by the SIFT (Scale-Invariant Feature Transform) technique, or an ORB (OrientedFAST and RotatedBRIEF). ) An ORB feature amount obtained by the technique.
  • the feature amount of a feature point is represented by, for example, a vector having one or more dimensions.
  • the SURF feature amount is represented by a 64-dimensional vector
  • the SIFT feature amount is represented by a 128-dimensional vector.
  • the feature amount of the projection point is acquired when the feature point is extracted from the captured image captured before the time t- ⁇ t, and is stored in the storage unit 5 together with the feature point.
  • the similarity calculated in step S35 is calculated as a distance such as a Euclidean distance between feature amounts.
  • the control unit 4 identifies the feature point corresponding to the projection point based on the similarity calculated in step S35 (S36).
  • the control unit 4 identifies the feature point Fc1 as a feature point having a feature amount similar to the feature amount of the projection point P1.
  • the feature point Fc1 at time t is matched as the one corresponding to the feature point Fb1 at time t- ⁇ t via the projection point P1 and the map point M1 (see FIG. 7).
  • step S36 if the similarity between the projection point and the feature point is less than a predetermined threshold value, the control unit 4 does not specify that the feature point is a feature point corresponding to the projection point.
  • the control unit 4 does not specify that the feature point is a feature point corresponding to the projection point.
  • step S36 when there are a plurality of feature points having a similarity between the projection point and the threshold value or more in the search range D, the control unit 4 sets the feature point having the highest similarity as the feature point corresponding to the projection point. Identify.
  • step S36 the control unit 4 determines whether or not all the map points in the 3D map 51 are projected on the captured image 10c (S37). If all map points have not been projected (No in S37), the process returns to step S32, and the control unit 4 selects one map point that has not been projected and executes the processes of steps S33 to S37. If all are projected (Yes in S37), the feature point matching S30 ends.
  • FIG. 9 is a flowchart showing the detailed flow of the self-position calculation step S40.
  • step S36 shown in FIG. 6 when the number of feature points for which feature point matching has succeeded does not exceed the predetermined threshold value, the control unit 4 determines the geometrical shape of the feature points in the captured image at time t- ⁇ t and time t.
  • the self position cannot be calculated based on the physical position relationship.
  • the control unit 4 determines the time t ⁇ t and the geometrical positional relationship of the feature points in the captured image at the time t.
  • the fact that the camera pose cannot be calculated is called “lost”.
  • the control unit 4 turns on the lost flag in step S46 described below.
  • step S41 shown in FIG. 9 the control unit 4 determines whether or not the lost flag is ON.
  • the lost flag has an ON state and an OFF state, and the initial state is OFF.
  • the lost flag being ON at the present time (time t) means that the lost flag is in the lost state one frame before (time t- ⁇ t), and the lost flag is turned ON in step S46 at time t- ⁇ t.
  • the control unit 4 calculates the self-position based on the detection result of the IMU 3 (S42). For example, the control unit 4 calculates the rotation angle by integrating the angular velocity detected by the IMU 3 between time t- ⁇ t and time t. The control unit 4 can calculate the camera pose at time t based on the obtained rotation angle and the camera pose calculated at step S40 at time t- ⁇ t. For example, the control unit 4 multiplies the camera pose calculated at step S40 at time t- ⁇ t by a rotation matrix representing the rotation angle between time t- ⁇ t and time t to determine the camera pose at time t. It can be calculated.
  • step S42 the control unit 4 turns off the lost flag that is in the ON state (S43). Then, it progresses to step S50 shown in FIG.
  • step S41 determines whether the lost flag is OFF in step S41, that is, if the lost has not occurred one frame before (time t ⁇ t).
  • the control unit 4 determines whether the lost has occurred in the current frame (time t). It is determined (S44). For example, the control unit 4 determines that a loss has occurred when the number of feature points for which the feature point matching has succeeded does not exceed the predetermined threshold value.
  • control unit 4 calculates the self-position based on the detection result of the IMU 3 (S45). Next, the control unit 4 turns on the lost flag that is in the OFF state (S46). Then, it progresses to step S50 shown in FIG.
  • step S44 determines the feature points in the image captured at time t and the feature points in the image captured at time t- ⁇ t.
  • the camera pose at time t is calculated based on the geometrical positional relationship between and. Then, it progresses to step S50 shown in FIG.
  • the position measuring device 100 measures the position of the moving body 1.
  • the position measuring device 100 is mounted on the moving body 1 and detects a camera 2 for picking up an environment around the moving body 1 to obtain a picked-up image and motion information such as acceleration and angular velocity indicating the movement of the moving body 1.
  • the IMU 3 includes a control unit 4 that extracts feature points from the captured images 10a and 10b, and a storage unit 5 that stores a 3D map 51 that indicates the spatial position of the feature points in the environment.
  • the control unit 4 searches the captured image for a position on the image corresponding to the spatial position indicated by the 3D map 51, and determines whether or not the position of the mobile body 1 in the environment is specified based on the search result. ..
  • the control unit 4 calculates the position of the mobile body 1 in the environment based on the specified position on the image, and the position of the mobile body 1 in the environment is calculated.
  • the position of the mobile body 1 in the environment is calculated based on the motion information.
  • the control unit 4 can calculate the self-position based on the motion information detected by the IMU 3. You can As described above, in the present embodiment, it is possible to obtain the position measuring device 100 having high robustness that does not interrupt the self-position calculation operation even if the lost state is once generated.
  • FIG. 10 is a block diagram showing the configuration of the position measuring device 200 according to this embodiment.
  • a 3D map obtained by registering the feature points extracted in the past as map points in the storage unit 5 (hereinafter, In addition to the "old map") 51, a new map 52 newly created when a loss occurs is stored.
  • the storage unit 5 may store an integrated map 53 in which information on the old map 51 and information on the new map 52 are integrated.
  • the old map 51, the new map 52, and the integrated map 53 are created by the control unit 4 that functions as the map management unit 45b.
  • FIG. 11 is a flowchart showing the operation flow of the position measuring device 200. Unlike the first embodiment, the control unit 4 determines whether the lost flag is ON after step S20 of extracting the feature points (S21).
  • step S22 Map points corresponding to the feature points extracted in step S20 at time t are registered in the new map 52. Map points corresponding to the feature points extracted after time t+ ⁇ t are also registered in the new map 52. After step S22, the process proceeds to step S40 for calculating the self position.
  • the control unit 4 may create an integrated map 53 that integrates the information of the old map 51 and the information of the new map 52.
  • FIG. 12 is a flowchart showing the flow of the operation of creating the integrated map 53.
  • the operation of creating the integrated map 53 may be performed in the new map creating step S22 shown in FIG.
  • the operation of creating the integrated map 53 may be performed at a predetermined time interval different from ⁇ t, separately from the self-position calculation operation performed at each time interval ⁇ t shown in FIG. 11.
  • the control unit 4 creates a pre-integrated map 54 in which map points in the old map 51 and map points in the new map 52 are arranged (S201).
  • FIG. 13 is a schematic diagram illustrating the pre-integrated map 54.
  • the map points in the old map 51 are indicated by crosses, and the map points in the new map 52 are indicated by circles.
  • control unit 4 corresponds to the camera pose corresponding to the camera frame registered in the new map 52 and the camera frame registered in the old map 51.
  • the difference between the camera pose and the pose is calculated (S202).
  • control unit 4 selects a set of a camera frame registered in the new map 52 and a camera frame registered in the old map 51, in which the calculated camera pose difference is less than or equal to a threshold value (S203). ).
  • control unit 4 executes feature point matching between the selected camera frames (S204).
  • Steps S203 and S204 of the present embodiment will be described using the example shown in FIG.
  • the feature points corresponding to the map points indicated by the crosses in the old map 51 are within the camera frame imaged by the camera 2d.
  • the feature points corresponding to the map points indicated by the circles in the new map 52 are within the camera frame imaged by the camera 2e.
  • the control unit 4 executes feature point matching between the camera frame of the camera 2d and the camera frame of the camera 2e.
  • the map points in the old map 51 are projected onto the camera frame of the camera 2e recorded in the new map 52, and the feature amount of the projected point and the feature points in the camera frame of the camera 2e are projected. Is performed by comparing with the feature amount of. This comparison is performed, for example, by calculating the similarity as in step S35 of the first embodiment shown in FIG. 6 and identifying the feature points corresponding to the projection points as in step S36.
  • the map points in the new map 52 are projected onto the camera frame of the camera 2d recorded in the old map 51, and the feature amount of the projected point and the feature points in the camera frame of the camera 2d are projected. It may be performed by comparing with the feature amount of.
  • control unit 4 puts together the map points in the pre-integrated map 54 that are determined to correspond as a result of the feature point matching.
  • control unit 4 combines the map points into one by using the average of the position information of the old and new map points associated by the feature point matching as the map point position information of the integrated map 53.
  • the control unit 4 when the control unit 4 determines that the position of the moving body in the environment is not specified based on the search result, the control unit 4 indicates the spatial position in the environment of the feature points extracted thereafter.
  • the map 52 is generated.
  • the position of the moving body 1 is complemented by using the motion information detected by the IMU 3 to generate the new map 52, thereby continuing the generation of the map information. be able to.
  • the control unit 4 may generate an integrated map 53 that integrates the old map 51 and the new map 52. As a result, the information included in the old map 51 obtained before the time when the lost state occurs can be efficiently used.
  • FIG. 15 is a block diagram showing the configuration of the position measuring device 300 according to this embodiment.
  • the position measuring device 300 detects the angular velocity, acceleration, etc. measured by the IMU 3 when the control unit 4 realizes the function of the map management unit 45c. The difference is that motion information is used.
  • the control unit 4 acquires and uses the angular velocity from the IMU 3 will be described.
  • FIG. 16 is a flowchart showing the operation flow of the position measuring device 300 in this embodiment. Unlike the second embodiment, in the operation of the present embodiment shown in FIG. 16, when the lost flag is ON (Yes in S21), the control unit 4 determines that the magnitude of the angular velocity measured by the IMU 3 is equal to or larger than the threshold value ⁇ th . It is determined whether there is any (S23).
  • step S23 for determining whether or not the magnitude of the angular velocity is equal to or larger than the threshold value ⁇ th will be described with reference to FIG.
  • the control unit 4 acquires the angular velocities ⁇ 1 to ⁇ 7 measured by the IMU 3 from the time t ⁇ t to the time t.
  • the number of angular velocity measurement values measured by the IMU 3 from time t- ⁇ t to time t is not limited to seven. This number may change depending on the frame rate (1/ ⁇ t) of the camera 2 and the measurement interval of the IMU 3.
  • control unit 4 may determine that the magnitude of the angular velocity is equal to or greater than the threshold ⁇ th when the magnitude of at least one of the measured angular velocity values ⁇ 1 to ⁇ 7 is equal to or greater than the threshold ⁇ th (S23). And yes).
  • the control unit 4 determines that the magnitude of the angular velocity is equal to or greater than the threshold ⁇ th (Yes in S23). To do.
  • control unit 4 may determine that the magnitude of the angular velocity is equal to or greater than the threshold ⁇ th (Yes in S23).
  • step S40 when it is determined that the magnitude of the angular velocity is equal to or larger than the threshold value ⁇ th (Yes in S23), the control unit 4 proceeds to step S40 without creating a new map. On the other hand, when determining that the magnitude of the angular velocity is less than the threshold value ⁇ th (No in S23), the control unit 4 proceeds to step S22 for creating a new map. After step S22, the process proceeds to step S40 for calculating the self position.
  • the control unit 4 determines whether or not the moving amount of the mobile body 1 is equal to or larger than a predetermined threshold value based on the motion information of the mobile body 1 acquired from the IMU 3. The control unit 4 does not generate the new map 52 when it determines that the movement amount is equal to or greater than the predetermined threshold value. When determining that the movement amount is less than the predetermined threshold value, the control unit 4 generates the new map 52.
  • the camera 2 acquires captured images at a predetermined time interval ⁇ t
  • the IMU 3 detects the motion information once at the predetermined time interval ⁇ t
  • the movement amount is defined by the detection result of the motion information. May be.
  • the camera 2 acquires the captured image at a predetermined time interval ⁇ t
  • the IMU 3 detects the motion information a plurality of times at the predetermined time interval ⁇ t, and the movement amount depends on the detection result of the motion information at each time. May be specified.
  • the camera 2 acquires the captured image at a predetermined time interval ⁇ t
  • the IMU 3 detects the motion information a plurality of times at the predetermined time interval ⁇ t
  • the movement amount corresponds to the detected plurality of motion information. It may be defined by an average.
  • the moving amount of the moving body 1 is at least one of the angular velocity and the acceleration of the moving body 1.
  • the timing of creating the new map 52 can be delayed according to the motion information such as the angular velocity of the moving body 1 when a loss occurs.
  • the motion information such as the angular velocity of the moving body 1 when a loss occurs.
  • the first to third embodiments have been described as examples of the technique disclosed in the present application.
  • the technique in the present disclosure is not limited to this, and can be applied to the embodiment in which changes, replacements, additions, omissions, etc. are appropriately made. It is also possible to combine the constituent elements described in the first to third embodiments to form a new embodiment.
  • control unit 4 may delete the old map 51 and execute the map initialization process of creating the new map 52.
  • the present disclosure can be applied to a position measuring device that measures the position of a moving body.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

位置測定装置(100)は、移動体の周囲の環境を撮像して撮像画像を取得する撮像部(2)と、移動体の動きを示す動き情報を検出する検出部(3)と、撮像画像から特徴点を抽出する制御部(4)と、特徴点の環境における空間位置を示す第1位置情報を記憶する記憶部(5)とを備える。制御部は、撮像画像上で、第1位置情報が示す空間位置に対応する画像上の位置を探索し、探索結果に基づいて環境における移動体の位置が特定されるか否かを判断する。制御部は、移動体の位置が特定されると判断した場合、特定された画像上の位置に基づいて移動体の位置を算出し、特定されないと判断した場合、動き情報に基づいて移動体の位置を算出する。

Description

位置測定装置
 本開示は、移動体の位置を測定する位置測定装置に関する。
 特許文献1は、移動体に設けられた撮像部によって撮像された画像を取得し、移動の前に撮像された画像と、移動の後に撮像された画像と、に含まれる特徴点の対応付けを行うトラッキング部と、移動に関する情報を取得し、この情報に基づいて、移動の前後で、移動体から見た特徴点の二次元的な位置の変化が小さい領域を推定する領域推定部と、トラッキング部によって対応付けられ、かつ、領域内にある特徴点を用いて、移動体の自己位置推定を行う推定処理部とを具備する情報処理装置を開示している。これにより、カメラの向きが急激に変化する場合にも、特徴点のトラッキングを良好に行うことができる、ロバスト性の高い情報処理装置が得られる。
国際公開第2016/031105号
 本開示は、精度良く自己位置を算出することができる位置測定装置を提供する。
 本開示の一態様は、移動体の位置を測定する位置測定装置を提供する。位置測定装置は、移動体に搭載され、移動体の周囲の環境を撮像して撮像画像を取得する撮像部と、移動体の動きを示す動き情報を検出する検出部と、撮像画像から特徴点を抽出する制御部と、特徴点の環境における空間位置を示す第1位置情報を記憶する記憶部とを備える。制御部は、撮像画像上で、第1位置情報が示す空間位置に対応する画像上の位置を探索し、探索結果に基づいて環境における移動体の位置が特定されるか否かを判断する。制御部は、環境における移動体の位置が特定されると判断した場合、特定された画像上の位置に基づいて環境における移動体の位置を算出し、環境における移動体の位置が特定されないと判断した場合、動き情報に基づいて環境における移動体の位置を算出する。
 本開示の位置測定装置によると、精度良く自己位置を算出することができる。
本開示の実施形態1に係る位置測定装置を搭載した移動体の構成を例示する図 実施形態1に係る位置測定装置の構成を示すブロック図 実施形態1に係る位置測定装置の動作の流れを示すフローチャート 撮像画像とその中の特徴点とを例示する図 3D地図を例示する模式図 実施形態1における特徴点マッチングステップの詳細な流れを示すフローチャート 実施形態1における特徴点マッチング処理を説明するための図 実施形態1における特徴量の類似度を算出する処理を説明するための図 特徴点マッチングステップS40の詳細な流れを示すフローチャート 実施形態2に係る位置測定装置の構成を示すブロック図 実施形態2に係る位置測定装置の動作の流れを示すフローチャート 統合地図の作成動作の流れを示すフローチャート プレ統合地図を例示する模式図 統合地図を例示する模式図 実施形態3に係る位置測定装置の構成を示すブロック図 実施形態3に係る位置測定装置の動作の流れを示すフローチャート 角速度の大きさが閾値以上であるか否かを判断するステップを説明するための図
 以下、本開示に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
(実施形態1)
1.概要
 本開示の実施形態1に係る位置測定装置は、例えば、有人の荷役自動車、無人搬送車(Automated guided vehicle、AGV)及び自律移動型の荷物運搬ロボット等の移動体に搭載され、移動体の位置を測定する。
 図1は、移動体1の構成を例示する図である。移動体1は、例えば、荷物を搭載する荷台1aを備える。移動体1には、本実施形態に係る位置測定装置100が搭載されている。位置測定装置100は、移動体1の周囲を撮像するカメラ2と、慣性計測装置(Inertial measurement unit、以下、「IMU」という。)3とを備える。IMU3は、移動体1の加速度及び角速度を検出する装置である。
 位置測定装置100には、例えば、逐次撮像される画像に基づいて、自己位置の測定と3D地図情報を生成するVisual-SLAM(Simultaneous Localization and Mapping)技術を適用することができる。
 位置測定装置100は、カメラ2によって撮像された画像内の特徴点を抽出する。特徴点は、例えば、物、道路及び建造物等のエッジ、角等を含む。位置測定装置100は、抽出された特徴点の画像上の座標を世界座標に変換し、画像上の特徴点に対応するマップポイントを世界座標空間に登録することによって、3D地図を作成する。位置測定装置100は、移動体1を移動させながら一定のフレームレートでカメラ2により移動体1の周囲を撮像し、撮像時の画像上の特徴点と3D地図上のマップポイントとを対応させる特徴点マッチング処理を行う。位置測定装置100は、現フレームの特徴点と、1つ前のフレームの特徴点と、の幾何学的位置関係に基づいて、カメラ2の位置及び向き(以下、「カメラポーズ」という。)を算出する。位置測定装置100は、算出されたカメラ2の位置に基づいて、位置測定装置100ひいては移動体1の位置を求めることができる。
 位置測定装置100によって測定された位置情報は、例えば外部サーバに蓄積され、移動体1の通った環境内の各種データ管理に採用可能である。
 位置測定装置100は、算出した移動体1の位置情報と作成した3D地図の情報とに基づいて、移動体1を移動させるために用いられてもよい。
2.構成
 図2は、位置測定装置100の構成を示すブロック図である。位置測定装置100は、カメラ2、IMU3、制御部4、記憶部5、通信インタフェース(I/F)7及び駆動部8を備える。
 カメラ2は、本開示の撮像部の一例である。カメラ2は、移動体1に設置され、移動体1の周囲を撮像し、色画像データ及び距離画像データを生成する。カメラ2は、RGB-Dカメラ、ステレオカメラ等のデプスセンサを含んでもよい。また、カメラ2は、色画像を撮像するRGBカメラと、距離画像を撮像するToF(Time of Flight)センサとによって構成されてもよい。
 IMU3は、本開示の検出部の一例である。IMU3は、移動体1の加速度を検出する加速度センサと、移動体1の角速度を検出するジャイロセンサとを備える。
 制御部4は、ソフトウェアと協働して所定の機能を実現するCPU又はMPUのような汎用プロセッサを含む。制御部4は、記憶部5に格納されたプログラムを読み込んで実行することによって特徴点抽出部41、特徴点マッチング部42、位置算出部44、地図管理部45等の各種の機能を実現し、位置測定装置100の全体動作を制御する。例えば、制御部4は、本実施形態の位置測定方法を実現するプログラム又はSLAMアルゴリズムを実現するプログラムを実行する。制御部4は、ハードウェアとソフトウェアの協働により所定の機能を実現するものに限定されず、所定の機能を実現するための専用回路として設計されたFPGA、ASIC、DSP等のハードウェア回路で構成されてもよい。
 記憶部5は、位置測定装置100の機能を実現するために必要なプログラム及びデータを含む種々の情報を記録する記録媒体である。記憶部5には、例えば3D地図51や画像データが格納される。記憶部5は、例えば、フラッシュメモリ、SSDなどの半導体メモリ装置、ハードディスク等の磁気記憶装置、その他の記憶デバイス単独で又はそれらを適宜組み合わせて実現される。記憶部5は、種々の情報を一時的に記憶する高速動作可能なSRAM、DRAMなどの揮発性メモリを含んでもよい。揮発性メモリは、例えば制御部4の作業領域や画像データをフレーム毎に一時的に記憶するフレームメモリとして機能する。
 通信I/F7は、ネットワーク50を介して、位置測定装置100とサーバ150等の外部機器との通信接続を可能とするためのインタフェース回路である。通信I/F7は、IEEE802.3、IEEE802.11又はWi-Fi等の規格に従って通信を行う。
 駆動部8は、制御部4からの指示に従って移動体1を移動させる機構である。例えば、駆動部8は、移動体1のタイヤに接続されたエンジンの駆動回路、ステアリング回路及びブレーキ回路を含む。
3.動作
3-1.動作の概要
 図3は、位置測定装置100の動作の流れを示すフローチャートである。図3のフローチャートの各処理は、位置測定装置100の制御部4によって実行される。
 まず、制御部4は、時刻tにおける撮像画像を取得する(S10)。ここで、撮像画像は、カメラ2によって撮像された移動体1の周囲の環境の画像データである。
 次に、特徴点抽出部41として機能する制御部4は、撮像画像を解析して特徴点を抽出する(S20)。図4は、撮像画像10とその中の特徴点とを例示する図である。図4中、丸で示した部分は、撮像画像10から抽出された特徴点を示している。制御部4は、輝度値又は色が周囲の画素又は画素群と区別できる画素又は画素群を特徴点として抽出する。特徴点は、例えば、物、道路及び建造物等のエッジ、角及び模様等を特定する。撮像画像10から特徴点を検出するために、例えば公知のFAST(Features from Accelerated Segment Test)技術が使用されてもよい。
 なお、制御部4は、移動体1の自己位置の算出処理の他、3D地図51の作成処理も行う。地図管理部45として機能する制御部4は、特徴点の撮像画像10上の座標を世界座標に変換し、撮像画像10上の特徴点に対応するマップポイントを世界座標空間に登録することによって、3D地図51を作成する。3D地図51には、撮像画像10上の特徴点に対応するマップポイントとともに、撮像画像10を示すカメラフレームと、当該撮像画像を撮像した際のカメラ2のカメラポーズと、が記録される。作成された3D地図51の情報は、記憶部5に格納される。制御部4は、例えば移動体1の移動中に、時間間隔Δt毎に撮像画像を取得して特徴点を登録することにより、図5に例示したような3D地図51を生成することができる。
 図5は、3D地図51を例示する模式図である。3D地図51には、撮像画像10上の特徴点に対応するマップポイントが登録されている。マップポイントは、それぞれ世界座標を有する。図5には、マップポイントが丸印で示されている。図5の破線で示した構造上の情報は、3D地図51には記録されないが、説明の便宜のために示している。制御部4は、時間間隔Δt毎に撮像画像を取得して特徴点を登録することにより、破線で示したような構造上の情報を再現することができる。
 図3に戻り、ステップS20の後、特徴点マッチング部42として機能する制御部4は、ステップS20で抽出された時刻tにおける撮像画像10中の特徴点と、3D地図51のマップポイントとを対応させる特徴点マッチング処理を行う(S30)。あるいは、制御部4は、特徴点マッチング処理として、例えば、公知のKLT(Kanade-Lucas-Tomasi)トラッカ技術を用いて、時刻t-Δtにおける撮像画像10中の特徴点と、時刻tにおける撮像画像10中の特徴点と、を対応させてもよい。
 次に、位置算出部44として機能する制御部4は、時刻tにおけるカメラポーズを算出する。制御部4は、算出されたカメラポーズに基づいて、位置測定装置100ひいては移動体1の位置(自己位置)を求めることができる(S40)。時刻tにおけるカメラポーズは、例えば、時刻tに撮像された画像中の特徴点と、時刻t-Δtに撮像された画像中の特徴点と、の幾何学的位置関係に基づいて算出される。あるいは、時刻tにおけるカメラポーズは、例えば、時刻t-Δtにおけるカメラポーズと、IMU3の検出結果とに基づいて算出される。
 制御部4は、以上のステップS10~S40を、処理終了の判断を行うまで(S50)、所定の時間間隔Δt毎に繰り返す(S60)。処理終了の判断は、例えば、ユーザによる処理終了指示の入力があった場合に行われる。処理終了時(S50でYes)には、制御部4は、例えば作成した3D地図51等の情報をサーバ150に送信する。
3-2.特徴点マッチング
 以下、図3に示した特徴点マッチングステップS30の詳細を説明する。図6は、特徴点マッチングステップS30の詳細な流れを示すフローチャートである。まず、制御部4は、時刻tにおける予測カメラポーズを算出する(S31)。
 図7は、特徴点マッチング処理を説明するための図である。図7には、時刻t-2ΔtにおけるステップS40で算出されたカメラポーズを有するカメラ2aと、時刻t-ΔtにおけるステップS40で算出されたカメラポーズを有するカメラ2bとが示されている。本実施形態のステップS31では、過去のカメラ2a、2bのカメラポーズと、現在までのIMU3の測定結果とに基づいて、時刻tにおけるカメラ2cのカメラポーズを予測する。カメラ2a、2b及び2cは、カメラ2と同一のものであるが、異なる時間軸上にあるものであるため異なる符号を付して区別する。
 あるいは、制御部4は、IMU3の測定結果を用いず、過去のカメラ2a、2bのカメラポーズのみから時刻tにおけるカメラ2cのカメラポーズを予測してもよい。例えば、制御部4は、カメラ2aとカメラ2bとのカメラポーズの差が、カメラ2cとカメラ2bとのカメラポーズとの差に等しいものとして、カメラ2bのカメラポーズからカメラ2cのカメラポーズを算出する。
 図7では、カメラ2a、2b及び2cは、立方体形状のオブジェクト55を撮像している。オブジェクト55は、移動体1の周囲環境の構成物の一例である(図5参照)。
 撮像画像10aは、時刻t-2Δtのカメラ2aによって撮像された画像である。撮像画像10aには、特徴点Fa1及びFa2が含まれている(図3のステップS20参照)。撮像画像10bは、時刻t-Δtのカメラ2bによって撮像された画像である。撮像画像10bには、特徴点Fb1及びFb2が含まれている。図面を複雑にしないため、図7では、撮像画像10a及び10bに写っているはずの画像を省略している。
 図7では、3D地図51には、マップポイントM1及びM2が登録されている。マップポイントM1は、特徴点Fa1又はFb1に基づいて、時刻t-Δt以前に3D地図51上に登録されたものである。マップポイントM2は、特徴点Fa2又はFb2に基づいて、時刻t-Δt以前に3D地図51上に登録されたものである。
 図6に戻り、ステップS31の後、制御部4は、3D地図51上のマップポイントを1つ選択する(S32)。次に、制御部4は、選択されたマップポイントを、カメラ2がステップS31で算出された予測カメラポーズを有するものとして、撮像画像に射影する(S33)。射影点の画像座標は、3D地図51上のマップポイントの世界座標を射影変換することによって算出される。すなわち、制御部4は、選択されたマップポイントを画像座標平面に射影し、射影点の画像座標を求める。
 図7の例を参照して、ステップS32及びステップS33について説明する。ステップ32では、例えば、制御部4は、3D地図51上のマップポイントM1を選択する。次に、ステップS33において、制御部4は、マップポイントM1を撮像画像10cに射影する。図7の例では、射影点はP1である。また、後述のように、制御部4は、全てのマップポイントを射影するまでステップS31~S36を繰り返す(S37)。例えば、ステップS37でNoと判断されて移行した次のループにおいて、ステップS32でマップポイントM2が選択された場合、制御部4は、ステップS33においてマップポイントM2を射影点P2に射影する。
 図6に戻り、ステップS33の後、制御部4は、射影点P1の周囲の探索範囲Dを特定する(S34)。探索範囲Dは、図8に例示するように、射影点P1を中心とする所定の大きさの矩形であってもよいが、これに限定されない。例えば、探索範囲Dは、射影点を中心とする所定の半径を有する円であってもよい。
 次に、制御部4は、射影点の特徴量と、探索範囲D内にある特徴点の特徴量と、の類似度を算出する(S35)。ステップS35を、図8を用いて説明する。図8の撮像画像10cは、時刻tにおいてカメラ2cによって撮像され、図3に示したステップS10において制御部4によって取得された撮像画像である。図8には、図3に示したステップS20において抽出された特徴点が丸印で示されている。また、図8には、ステップ33において射影された、マップポイントM1に対応する射影点P1が×印で示されている。
 ステップS35では、制御部4は、射影点P1の特徴量と、射影点P1の周囲の所定の探索範囲D内にある特徴点Fc1、Fc3、Fc4及びFc5の特徴量と、の類似度を算出する。
 特徴点の特徴量は、例えば、SURF(Speeded-Up Robust Features)技術によって得られるSURF特徴量、SIFT(Scale-Invariant Feature Transform)技術によって得られるSIFT特徴量、又は、ORB(Oriented FAST and Rotated BRIEF)技術によって得られるORB特徴量である。
 特徴点の特徴量は、例えば、1以上の次元を有するベクトルで表される。例えば、SURF特徴量は64次元のベクトルで表され、SIFT特徴量は128次元のベクトルで表される。
 射影点の特徴量は、時刻t-Δt以前に撮像された撮像画像から特徴点を抽出する際に取得され、特徴点とともに記憶部5に格納されている。
 ステップS35において算出される類似度は、例えば、特徴量間のユークリッド距離等の距離として算出される。
 ステップS35の後、制御部4は、ステップS35で算出された類似度に基づいて、射影点に対応する特徴点を特定する(S36)。図8に示した例では、制御部4は、特徴点Fc1を、射影点P1の特徴量に類似する特徴量を有する特徴点として特定する。これにより、時刻tにおける特徴点Fc1が、射影点P1とマップポイントM1(図7参照)とを介して、時刻t-Δtにおける特徴点Fb1に対応するものとしてマッチングされる。
 ステップS36では、射影点と特徴点との類似度が所定の閾値未満である場合、制御部4は、当該特徴点が射影点に対応する特徴点であると特定しない。探索範囲D内に射影点と閾値以上の類似度を有する特徴点が存在しない場合は、射影点に対応する特徴点であると特定される特徴点は存在しない。言い換えれば、特徴点マッチングは失敗する。
 ステップS36では、探索範囲D内に射影点と閾値以上の類似度を有する特徴点が複数存在する場合、制御部4は、最も高い類似度を有する特徴点を、射影点に対応する特徴点と特定する。
 制御部4は、ステップS36を終えると、3D地図51内の全てのマップポイントを撮像画像10cに射影したか否かを判断する(S37)。マップポイントを全て射影していない場合(S37でNo)、ステップS32に戻り、制御部4は、射影していないマップポイントを1つ選択し、ステップS33~S37の処理を実行する。全て射影している場合(S37でYes)、特徴点マッチングS30を終了する。
3-3.自己位置算出
 以下、図3に示した自己位置算出ステップS40の詳細を説明する。図9は、自己位置算出ステップS40の詳細な流れを示すフローチャートである。
 図6に示したステップS36において、特徴点マッチングに成功した特徴点の数が所定の閾値以上存在しない場合、制御部4は、時刻t-Δt及び時刻tにおける撮像画像中の特徴点の幾何学的位置関係に基づいて自己位置を算出することができない。以下、特徴点マッチングに成功した特徴点の数が所定の閾値以上存在しないこと、又は、制御部4が時刻t-Δt及び時刻tにおける撮像画像中の特徴点の幾何学的位置関係に基づいてカメラポーズを算出することができないことを「ロスト」という。ロストが発生した場合、後述のステップS46において、制御部4は、ロストフラグをONにする。
 図9に示したステップS41では、制御部4は、ロストフラグがONであるか否かを判断する。ロストフラグはONとOFFの状態を有し、初期状態はOFFである。現在(時刻t)においてロストフラグがONであることは、1フレーム前(時刻t-Δt)にロスト状態であり、時刻t-ΔtのステップS46でロストフラグがONにされたことを意味する。
 ロストフラグがONである場合(S41でYes)、制御部4は、撮像画像10に基づいて自己位置を算出することができない。そこで、制御部4は、IMU3の検出結果に基づいて自己位置を算出する(S42)。例えば、制御部4は、IMU3によって検出された時刻t-Δtと時刻tとの間の角速度を積分して回転角度を算出する。制御部4は、得られた回転角度と、時刻t-ΔtにおけるステップS40で算出されたカメラポーズと、に基づいて、時刻tにおけるカメラポーズを算出することができる。例えば、制御部4は、時刻t-ΔtにおけるステップS40で算出されたカメラポーズに、時刻t-Δtと時刻tとの間の回転角度を表す回転行列を乗じることによって、時刻tにおけるカメラポーズを算出することができる。
 ステップS42の次に、制御部4は、ON状態であるロストフラグをOFFにする(S43)。その後、図3に示したステップS50に進む。
 ステップS41においてロストフラグがOFFである場合、すなわち、1フレーム前(時刻t-Δt)にロストが発生していない場合、制御部4は、現フレーム(時刻t)にロストが発生しているか否かを判断する(S44)。例えば、制御部4は、特徴点マッチングに成功した特徴点の数が所定の閾値以上存在しない場合、ロストが発生していると判断する。
 ロストが発生していると判断した場合(S44でYes)、制御部4は、IMU3の検出結果に基づいて自己位置を算出する(S45)。次に、制御部4は、OFF状態であるロストフラグをONにする(S46)。その後、図3に示したステップS50に進む。
 ステップS44においてロストが発生していないと判断した場合(S44でNo)、制御部4は、時刻tに撮像された画像中の特徴点と、時刻t-Δtに撮像された画像中の特徴点と、の幾何学的位置関係に基づいて、時刻tにおけるカメラポーズを算出する。その後、図3に示したステップS50に進む。
4.まとめ
 以上のように、本実施形態に係る位置測定装置100は、移動体1の位置を測定する。位置測定装置100は、移動体1に搭載され、移動体1の周囲の環境を撮像して撮像画像を取得するカメラ2と、移動体1の動きを示す加速度及び角速度等の動き情報を検出するIMU3と、撮像画像10a、10bから特徴点を抽出する制御部4と、特徴点の環境における空間位置を示す3D地図51を記憶する記憶部5とを備える。制御部4は、撮像画像上で、3D地図51が示す空間位置に対応する画像上の位置を探索し、探索結果に基づいて環境における移動体1の位置が特定されるか否かを判断する。制御部4は、環境における移動体1の位置が特定されると判断した場合、特定された画像上の位置に基づいて環境における移動体1の位置を算出し、環境における移動体1の位置が特定されないと判断した場合、動き情報に基づいて環境における移動体1の位置を算出する。
 これにより、環境における移動体1の位置が特定されず、ロスト状態であると判断した場合であっても、制御部4は、IMU3によって検出された動き情報に基づいて、自己位置を算出することができる。このように、本実施形態では、一度ロスト状態となっても自己位置算出動作を中断しない、ロバスト性の高い位置測定装置100が得られる。
(実施形態2)
 本開示の実施形態2では、ロストが発生した場合、3D地図を新規に作成する。以下、実施形態2について詳細に説明する。
 図10は、本実施形態に係る位置測定装置200の構成を示すブロック図である。実施形態1に係る位置測定装置100と比較すると、位置測定装置200では、記憶部5の中には、過去に抽出された特徴点をマップポイントとして登録することによって得られた3D地図(以下、「旧地図」という。)51に加えて、ロストが発生した場合に新規に作成される新地図52が格納される。さらに、記憶部5の中には、旧地図51の情報と新地図52の情報とを統合した統合地図53が格納されてもよい。旧地図51、新地図52及び統合地図53は、地図管理部45bとして機能する制御部4によって作成される。
 図11は、位置測定装置200の動作の流れを示すフローチャートである。実施形態1と異なり、制御部4は、特徴点を抽出するステップS20の後、ロストフラグがONであるか否かを判断する(S21)。
 ロストフラグがONである場合(S21でYes)、制御部4は、新地図52を作成する(S22)。時刻tにおいてステップS20で抽出された特徴点に対応するマップポイントは、新地図52に登録される。時刻t+Δt以降に抽出された特徴点に対応するマップポイントも、新地図52に登録される。ステップS22の後、自己位置を算出するステップS40に進む。
 制御部4は、旧地図51の情報と新地図52の情報とを統合した統合地図53を作成してもよい。図12は、統合地図53の作成動作の流れを示すフローチャートである。統合地図53の作成動作は、図11に示した新地図作成ステップS22の中で行われてもよい。あるいは、統合地図53の作成動作は、図11に示した時間間隔Δt毎に行われる自己位置算出動作とは別個に、Δtとは異なる所定の時間間隔で行われてもよい。
 まず、制御部4は、旧地図51中のマップポイントと新地図52中のマップポイントとを配置したプレ統合地図54を作成する(S201)。図13は、プレ統合地図54を例示する模式図である。図13には、旧地図51中のマップポイントが×印で、新地図52中のマップポイントが丸印で示されている。
 図12に戻り、プレ統合地図54を作成するステップS201の後、制御部4は、新地図52に登録されたカメラフレームに対応するカメラポーズと、旧地図51に登録されたカメラフレームに対応するカメラポーズと、の差を計算する(S202)。
 次に、制御部4は、計算されたカメラポーズの差が閾値以下である、新地図52に登録されたカメラフレームと、旧地図51に登録されたカメラフレームと、の組を選択する(S203)。
 次に、制御部4は、選択されたカメラフレーム間で特徴点マッチングを実行する(S204)。
 図13に示した例を用いて、本実施形態のステップS203及びステップS204について説明する。図13では、旧地図51中の×印で示したマップポイントに対応する特徴点は、カメラ2dによって撮像されたカメラフレーム内にある。また、新地図52中の丸印で示したマップポイントに対応する特徴点は、カメラ2eによって撮像されたカメラフレーム内にある。カメラ2dとカメラ2eのカメラポーズの差が閾値以下である場合、制御部4は、カメラ2dのカメラフレームとカメラ2eのカメラフレームとの間で特徴点マッチングを実行する。
 ステップS204の特徴点マッチングは、例えば、旧地図51中のマップポイントを新地図52に記録されたカメラ2eのカメラフレームに射影し、射影点の特徴量と、カメラ2eのカメラフレーム内の特徴点の特徴量と、を比較することによって行われる。この比較は、例えば、図6に示した実施形態1のステップS35と同様に類似度を算出し、ステップS36と同様に射影点に対応する特徴点を特定することによって行われる。
 あるいは、ステップS204の特徴点マッチングは、新地図52中のマップポイントを旧地図51に記録されたカメラ2dのカメラフレームに射影し、射影点の特徴量と、カメラ2dのカメラフレーム内の特徴点の特徴量と、を比較することによって行われてもよい。
 図12に戻り、制御部4は、特徴点マッチングの結果対応すると判断したプレ統合地図54中のマップポイントを1つにまとめる。以上のステップS202~S205を、計算された差が閾値以下である全てのカメラフレームの組について行うことにより、新旧地図中の対応する全てのマップポイントを1つにまとめることができる。このようにして図14に示すような統合地図53が作成される。
 具体的には、制御部4は、例えば特徴点マッチングで対応付けされた新旧マップポイントの位置情報の平均を統合地図53のマップポイントの位置情報とすることにより、マップポイントを1つにまとめる。
 以上のように、本実施形態では、制御部4は、探索結果に基づいて環境における移動体の位置が特定されないと判断した場合、それ以降に抽出された特徴点の環境における空間位置を示す新地図52を生成する。これにより、一度ロスト状態が発生した後であっても、IMU3によって検出された動き情報を用いて移動体1の位置を補完して新地図52を生成することにより、地図情報の生成を継続することができる。
 制御部4は、旧地図51と新地図52とを統合した統合地図53を生成してもよい。これにより、ロスト状態が発生した時より前に得た旧地図51に含まれる情報を効率的に利用することができる。
(実施形態3)
 本開示の実施形態3では、ロストが発生した場合、移動体1の角速度等の動き情報に応じて、3D地図を新規に作成するタイミングを遅らせる。典型的には、実施形態3に係る位置測定装置は、移動体1の回転が止まっているときに新地図を作成する。移動体1の回転が止まるのを待って新地図を作成することにより、新地図作成後の初期段階に精度の良いマップポイントが得られ、その後に行われる特徴点マッピングの精度を向上させることができる。以下、実施形態3について詳細に説明する。
 図15は、本実施形態に係る位置測定装置300の構成を示すブロック図である。位置測定装置300は、図10に示した実施形態2に係る位置測定装置200と比較すると、制御部4が地図管理部45cの機能を実現する際に、IMU3によって測定された角速度、加速度等の動き情報を使用する点が異なる。以下、制御部4がIMU3から角速度を取得し使用する例について説明する。
 図16は、本実施形態における位置測定装置300の動作の流れを示すフローチャートである。実施形態2と異なり、図16に示す本実施形態の動作では、ロストフラグがONである場合(S21でYes)、制御部4は、IMU3によって測定された角速度の大きさが閾値ωth以上であるか否かを判断する(S23)。
 図17を用いて、角速度の大きさが閾値ωth以上であるか否かを判断するステップS23の詳細について説明する。制御部4は、時刻t-Δtから時刻tまでの間にIMU3によって測定された角速度ω1~ω7を取得する。なお、時刻t-Δtから時刻tまでの間にIMU3によって測定される角速度の測定値の数は7個に限定されない。この数は、カメラ2のフレームレート(1/Δt)及びIMU3の測定間隔によって変化してもよい。
 例えば、制御部4は、角速度の測定値ω1~ω7のうちの少なくとも1つの大きさが閾値ωth以上である場合、角速度の大きさが閾値ωth以上であると判断してもよい(S23でYes)。図17に示した例では、角速度の測定値ω1~ω3の大きさが閾値ωth以上であるため、制御部4は、角速度の大きさが閾値ωth以上である(S23でYes)と判断する。
 あるいは、制御部4は、角速度ω1~ω7の大きさの平均値が閾値ωth以上である場合、角速度の大きさが閾値ωth以上であると判断してもよい(S23でYes)。
 図16に戻り、角速度の大きさが閾値ωth以上であると判断した場合(S23でYes)、制御部4は、新地図を作成せずにステップS40に進む。一方、角速度の大きさが閾値ωth未満であると判断した場合(S23でNo)、制御部4は、新地図を作成するステップS22に進む。ステップS22の後、自己位置を算出するステップS40に進む。
 以上のように、本実施形態では、制御部4は、IMU3から取得した移動体1の動き情報に基づいて、移動体1の移動量が所定の閾値以上であるか否かを判定する。制御部4は、移動量が所定の閾値以上であると判定したとき、新地図52を生成しない。制御部4は、移動量が所定の閾値未満であると判定したとき、新地図52を生成する。
 本実施形態において、カメラ2は、所定の時間間隔Δtで撮像画像を取得し、IMU3は、所定の時間間隔Δtに動き情報を1回検出し、移動量は、動き情報の検出結果によって規定されてもよい。
 本実施形態において、カメラ2は、所定の時間間隔Δtで撮像画像を取得し、IMU3は、所定の時間間隔Δtに動き情報を複数回検出し、移動量は、各回の動き情報の検出結果によって規定されてもよい。
 本実施形態において、カメラ2は、所定の時間間隔Δtで撮像画像を取得し、IMU3は、所定の時間間隔Δtに動き情報を複数回検出し、移動量は、検出された複数の動き情報の平均によって規定されてもよい。
 本実施形態において、例えば、移動体1の移動量は、移動体1の角速度及び加速度の少なくとも一方である。
 このような構成により、本実施形態に係る位置測定装置300では、ロストが発生した場合、移動体1の角速度等の動き情報に応じて、新地図52を作成するタイミングを遅らせることができる。移動体1の動き情報に応じて新地図52を作成することにより、新地図52の作成後の初期段階に精度の良いマップポイントが得られ、その後に行われる特徴点マッピングの精度を向上させることができる。
(他の実施形態)
 以上のように、本出願において開示する技術の例示として、実施の形態1~3を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態1~3で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
 例えば、上記の実施形態2では、旧地図51を記憶部5に記録したまま、制御部4が新地図52の作成を開始する例について説明した。しかしながら、制御部4は、ロストフラグがONである場合(図11のS21でYes)、旧地図51を消去し、新地図52を作成する地図初期化処理を実行してもよい。
 本開示は、移動体の位置を測定する位置測定装置に適用可能である。
 1 移動体
 2 カメラ
 3 IMU
 4 制御部
 5 記憶部
 7 通信I/F
 8 駆動部
 10 撮像画像
 51 3D地図(旧地図)
 52 新地図
 53 統合地図
 54 プレ統合地図
 100 位置測定装置

Claims (10)

  1.  移動体の位置を測定する位置測定装置であって、
     前記移動体に搭載され、前記移動体の周囲の環境を撮像して撮像画像を取得する撮像部と、
     前記移動体の動きを示す動き情報を検出する検出部と、
     前記撮像画像から特徴点を抽出する制御部と、
     前記特徴点の前記環境における空間位置を示す第1位置情報を記憶する記憶部とを備え、
     前記制御部は、
      前記撮像画像上で、前記第1位置情報が示す空間位置に対応する画像上の位置を探索し、探索結果に基づいて前記環境における前記移動体の位置が特定されるか否かを判断し、
      前記環境における前記移動体の位置が特定されると判断した場合、特定された前記画像上の位置に基づいて前記環境における前記移動体の位置を算出し、
      前記環境における前記移動体の位置が特定されないと判断した場合、前記動き情報に基づいて前記環境における前記移動体の位置を算出する、
    位置測定装置。
  2.  前記制御部は、前記探索結果に基づいて前記環境における前記移動体の位置が特定されないと判断した場合、それ以降に抽出された前記特徴点の前記環境における空間位置を示す第2位置情報を生成する、請求項1に記載の位置測定装置。
  3.  前記制御部は、前記第1位置情報と前記第2位置情報とを統合した第3位置情報を生成する、請求項2に記載の位置測定装置。
  4.  前記制御部は、
      前記動き情報に基づいて、前記移動体の移動量が所定の閾値以上であるか否かを判定し、
      前記移動量が所定の閾値以上であると判定したとき、前記第2位置情報を生成せず、
      前記移動量が所定の閾値以上でないと判定したとき、前記第2位置情報を生成する、
    請求項2又は3に記載の位置測定装置。
  5.  前記撮像部は、所定の時間間隔で前記撮像画像を取得し、
     前記検出部は、前記所定の時間間隔に前記動き情報を1回検出し、
     前記移動量は、前記動き情報の検出結果によって規定される、
    請求項4に記載の位置測定装置。
  6.  前記撮像部は、所定の時間間隔で前記撮像画像を取得し、
     前記検出部は、前記所定の時間間隔に前記動き情報を複数回検出し、
     前記移動量は、各回の動き情報の検出結果によって規定される、
    請求項4に記載の位置測定装置。
  7.  前記撮像部は、所定の時間間隔で前記撮像画像を取得し、
     前記検出部は、前記所定の時間間隔に前記動き情報を複数回検出し、
     前記移動量は、検出された複数の動き情報の平均によって規定される、
    請求項4に記載の位置測定装置。
  8.  前記移動量は、前記移動体の角速度及び加速度の少なくとも一方である、
    請求項4~7のいずれかに記載の位置測定装置。
  9.  前記検出部は、慣性計測装置、加速度センサ及びジャイロセンサのうちの少なくとも1つを含む、請求項1~8のいずれかに記載の位置測定装置。
  10.  前記撮像画像は、距離画像及び色画像を含む、請求項1~9のいずれかに記載の位置測定装置。
PCT/JP2019/046204 2018-12-28 2019-11-26 位置測定装置 WO2020137314A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018247818A JP2022037260A (ja) 2018-12-28 2018-12-28 位置測定装置
JP2018-247818 2018-12-28

Publications (1)

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

Family

ID=71129717

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/046204 WO2020137314A1 (ja) 2018-12-28 2019-11-26 位置測定装置

Country Status (2)

Country Link
JP (1) JP2022037260A (ja)
WO (1) WO2020137314A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018031616A (ja) * 2016-08-23 2018-03-01 住友電気工業株式会社 位置検出システム、車載装置、中央装置および位置検出プログラム
WO2018047392A1 (ja) * 2016-09-06 2018-03-15 Cyberdyne株式会社 モビリティ及びモビリティシステム
JP2018165889A (ja) * 2017-03-28 2018-10-25 カシオ計算機株式会社 自律移動装置、方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018031616A (ja) * 2016-08-23 2018-03-01 住友電気工業株式会社 位置検出システム、車載装置、中央装置および位置検出プログラム
WO2018047392A1 (ja) * 2016-09-06 2018-03-15 Cyberdyne株式会社 モビリティ及びモビリティシステム
JP2018165889A (ja) * 2017-03-28 2018-10-25 カシオ計算機株式会社 自律移動装置、方法およびプログラム

Also Published As

Publication number Publication date
JP2022037260A (ja) 2022-03-09

Similar Documents

Publication Publication Date Title
JP6658001B2 (ja) 位置推定装置、プログラム、位置推定方法
JP6435750B2 (ja) 3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラム
US10529076B2 (en) Image processing apparatus and image processing method
JP6237326B2 (ja) 姿勢推定装置、姿勢推定方法及び姿勢推定用コンピュータプログラム
EP2917754B1 (en) Image processing method, particularly used in a vision-based localization of a device
US9679384B2 (en) Method of detecting and describing features from an intensity image
WO2016035324A1 (en) Method for estimating motion, mobile agent and non-transitory computer-readable medium encoded with a computer program code for causing a processor to execute a method for estimating motion
CN104981680A (zh) 相机辅助的运动方向和速度估计
US20220156973A1 (en) Information processing apparatus, information processing method, and program
JP2019132664A (ja) 自車位置推定装置、自車位置推定方法、及び自車位置推定プログラム
US10607350B2 (en) Method of detecting and describing features from an intensity image
TW201926141A (zh) 影像目標追蹤方法及裝置
US11257177B2 (en) Moving object action registration apparatus, moving object action registration system, and moving object action determination apparatus
CN111382637A (zh) 行人检测跟踪方法、装置、终端设备及介质
El Bouazzaoui et al. Enhancing RGB-D SLAM performances considering sensor specifications for indoor localization
JPWO2017094140A1 (ja) 物体検出装置及び物体検出方法
JP2018205950A (ja) 自車位置推定用環境地図生成装置、自車位置推定装置、自車位置推定用環境地図生成プログラム、及び自車位置推定プログラム
JP7056840B2 (ja) 自車位置推定装置、自車位置推定方法、および自車位置推定プログラム
WO2020137314A1 (ja) 位置測定装置
US20220291009A1 (en) Information processing apparatus, information processing method, and storage medium
JP6886136B2 (ja) 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム
WO2020137313A1 (ja) 位置測定装置
KR20190116039A (ko) 이동형 단말기에서의 증강 현실을 제공하기 위한 위치 인식 방법 및 시스템
CN117649619B (zh) 无人机视觉导航定位回收方法、系统、装置及可读存储介质
JP7019113B2 (ja) 相対位置検出装置、相対位置検出方法、及び相対位置検出プログラム

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19903868

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP