WO2023007562A1 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
WO2023007562A1
WO2023007562A1 PCT/JP2021/027607 JP2021027607W WO2023007562A1 WO 2023007562 A1 WO2023007562 A1 WO 2023007562A1 JP 2021027607 W JP2021027607 W JP 2021027607W WO 2023007562 A1 WO2023007562 A1 WO 2023007562A1
Authority
WO
WIPO (PCT)
Prior art keywords
matching
mobile robot
autonomous mobile
sensing data
degree
Prior art date
Application number
PCT/JP2021/027607
Other languages
English (en)
French (fr)
Inventor
和己 松本
Original Assignee
本田技研工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 本田技研工業株式会社 filed Critical 本田技研工業株式会社
Priority to PCT/JP2021/027607 priority Critical patent/WO2023007562A1/ja
Priority to US18/291,795 priority patent/US20240255304A1/en
Publication of WO2023007562A1 publication Critical patent/WO2023007562A1/ja

Links

Images

Classifications

    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • 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
    • G01C21/16Navigation; 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 by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; 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 by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1652Navigation; 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 by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with ranging devices, e.g. LIDAR or RADAR
    • 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
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/123Traffic control systems for road vehicles indicating the position of vehicles, e.g. scheduled vehicles; Managing passenger vehicles circulating according to a fixed timetable, e.g. buses, trains, trams
    • G08G1/133Traffic control systems for road vehicles indicating the position of vehicles, e.g. scheduled vehicles; Managing passenger vehicles circulating according to a fixed timetable, e.g. buses, trains, trams within the vehicle ; Indicators inside the vehicles or at stops

Definitions

  • the present invention relates to a control device.
  • stereoscopic image data is created based on image data obtained by photographing the surrounding scenery, the stereoscopic image data and the three-dimensional map data are collated, and the point where the two substantially match is regarded as the current position 2.
  • Retrieval and display of dimensional road map data is disclosed.
  • the present invention provides a control device capable of suppressing deterioration in the accuracy of position estimation even when the surrounding environment changes.
  • the present invention It relates to a mobile body equipped with a three-dimensional sensor for three-dimensionally recognizing the external world, and capable of autonomous movement by position estimation based on sensing data from the three-dimensional sensor and map data showing the external world three-dimensionally.
  • a controller a control unit that performs update control of the map data based on the sensing data based on the degree of matching between the sensing data from the three-dimensional sensor and the map data; It is a control device.
  • FIG. 1 is a diagram showing an example of the appearance of an autonomous mobile robot 10;
  • FIG. 1 is a diagram showing an example of an environment and a movement route in which an autonomous mobile robot 10 autonomously moves;
  • FIG. 1 is a diagram showing an example of a hardware configuration of an autonomous mobile robot 10;
  • FIG. 2 is a diagram showing an example of specific configurations of the processor 11, memory 12, and sensor 14 of the autonomous mobile robot 10.
  • FIG. FIG. 11 is a diagram (part 1) showing an example of changes in the environment 20;
  • FIG. 11 is a diagram (part 2) showing an example of changes in the environment 20;
  • 4 is a flowchart showing an example of processing of the autonomous mobile robot 10;
  • FIG. 11 is a graph for explaining a reference value of match rate;
  • FIG. 10 is a diagram showing an example of a trained model for calculating a reference value of match rate;
  • FIG. 10 is a diagram showing another example of a trained model for calculating a matching rate reference value;
  • 4 is a flowchart showing another example of processing of the autonomous mobile robot 10;
  • FIG. 10 is a diagram showing an example of a specific configuration of a processor 11 of an autonomous mobile robot 10 according to a second embodiment;
  • FIG. 9 is a flowchart showing an example of processing of the autonomous mobile robot 10 of the second embodiment;
  • FIG. 10 is a diagram showing an example of a specific position where the autonomous mobile robot 10 of the second embodiment corrects axial misalignment;
  • FIG. 11 is a flow chart showing another example of processing of the autonomous mobile robot 10 of the second embodiment;
  • FIG. 11 is a diagram showing an example of a specific configuration of a processor 11 of an autonomous mobile robot 10 according to a third embodiment
  • FIG. 10 is a flow chart showing an example of processing of the autonomous mobile robot 10 of the third embodiment
  • 1 is a diagram showing an example of a configuration in which a control device of the present invention is applied to an external device of an autonomous mobile robot 10;
  • FIG. 1 is a diagram showing an example of the appearance of an autonomous mobile robot 10. As shown in FIG. The horizontal directions orthogonal to each other are the X direction and the Y direction, and the vertical direction (gravitational direction) is the Z direction. FIG. 1 is a view of the autonomous mobile robot 10 viewed from the side (Y direction).
  • the autonomous mobile robot 10 is a robot capable of autonomous movement. Autonomous movement is movement that is not controlled by a human, and includes movement controlled by an external device that can communicate with the autonomous mobile robot 10 (for example, a parent device that uses the autonomous mobile robot 10 as a child device).
  • the autonomous mobile robot 10 includes a main body 10a, a LiDAR (Light Detection And Ranging) 14a, and wheels 15a.
  • the main body 10a is provided with a processor for controlling the autonomous mobile robot 10, various devices according to the purpose of the autonomous mobile robot 10, and the like.
  • the LiDAR 14a is an example of a three-dimensional sensor for three-dimensionally recognizing the external world of the autonomous mobile robot 10.
  • the LiDAR 14a is provided, for example, so as to be able to sense the front of the autonomous mobile robot 10 as it moves autonomously.
  • a plurality of LiDARs 14a may be provided so as to be capable of sensing in a plurality of directions.
  • the LiDAR 14a may be capable of swinging (panning and tilting), zooming, and the like.
  • the wheels 15a are an example of a movement mechanism for the autonomous mobile robot 10 to move, and are provided at four locations on the bottom of the main body 10a, for example.
  • the wheels 15a are driven by an actuator such as a motor unit provided in the main body 10a, and enable the autonomous mobile robot 10 to travel and change directions.
  • FIG. 2 is a diagram showing an example of an environment and a movement route in which the autonomous mobile robot 10 autonomously moves.
  • FIG. 2 is a diagram of the autonomous mobile robot 10 viewed from above (in the Z direction).
  • the autonomous mobile robot 10 autonomously moves along a set movement route R1 in an environment 20, for example.
  • the environment 20 is a rectangular loop road and its surroundings.
  • the movement route R1 is a rectangular ring-shaped route along the center of the above-mentioned rectangular ring-shaped road.
  • the autonomous mobile robot 10 stores map data that three-dimensionally shows the environment 20 that is the external world of the autonomous mobile robot 10 .
  • Initial map data to be stored in the autonomous mobile robot 10 is generated, for example, by acquiring sensing data of the LiDAR 14 a while moving the autonomous mobile robot 10 within the environment 20 in a state where the environment 20 is not changed, and performing the acquired sensing data. It is done by accumulating data.
  • the movement of the autonomous mobile robot 10 may be autonomous movement, or may be movement by a human controlling the autonomous mobile robot 10 by remote control operation.
  • the initial map data stored in the autonomous mobile robot 10 is not obtained by accumulating sensing data of the LiDAR 14a, but is generated by accumulating sensing data of another device (for example, a sensor of a smartphone or a tablet terminal).
  • the initial map data stored in the autonomous mobile robot 10 may be generated by CAD (Computer-Aided Design) or the like instead of by sensing.
  • FIG. 3 is a diagram showing an example of the hardware configuration of the autonomous mobile robot 10.
  • the autonomous mobile robot 10 shown in FIGS. 1 and 2 includes, for example, a processor 11, a memory 12, a wireless communication interface 13, a sensor 14, and a moving mechanism 15, as shown in FIG.
  • Processor 11 , memory 12 , wireless communication interface 13 , sensor 14 and mobile mechanism 15 are connected by bus 19 , for example.
  • Processor 11 is an example of the control device of the present invention.
  • the memory 12 is an example of the storage section of the present invention.
  • the processor 11 is a circuit that performs signal processing, such as a CPU (Central Processing Unit) that controls the entire autonomous mobile robot 10 .
  • the processor 11 may be realized by other digital circuits such as FPGA (Field Programmable Gate Array) and DSP (Digital Signal Processor). Also, the processor 11 may be realized by combining a plurality of digital circuits.
  • the memory 12 includes, for example, main memory and auxiliary memory.
  • the main memory is, for example, RAM (Random Access Memory).
  • the main memory is used as a work area for processor 11 .
  • Auxiliary memory is non-volatile memory such as magnetic disk, optical disk, flash memory, etc.
  • Various programs for operating the autonomous mobile robot 10 are stored in the auxiliary memory.
  • Programs stored in the auxiliary memory are loaded into the main memory and executed by the processor 11 .
  • the above map data is stored in the auxiliary memory of the memory 12, for example.
  • the auxiliary memory may also include a portable memory removable from the autonomous mobile robot 10.
  • Portable memories include memory cards such as USB (Universal Serial Bus) flash drives and SD (Secure Digital) memory cards, and external hard disk drives.
  • the wireless communication interface 13 is a communication interface that performs wireless communication with the outside of the autonomous mobile robot 10 (for example, the parent device of the autonomous mobile robot 10).
  • a wireless communication interface 13 is controlled by the processor 11 .
  • the sensor 14 includes various sensors capable of acquiring information on the outside world of the autonomous mobile robot 10, information on the movement state of the autonomous mobile robot 10, and the like.
  • the sensor 14 is controlled by the processor 11 and sensing data of the sensor 14 is acquired by the processor 11 .
  • LiDAR 14 a shown in FIG. 1 is included in sensor 14 . A specific example of the sensor 14 will be described with reference to FIG.
  • the movement mechanism 15 is a mechanism for the autonomous mobile robot 10 to move autonomously.
  • the wheels 15a are the wheels 15a shown in FIG.
  • the moving mechanism 15 is not limited to the wheels 15a, and may be legs for walking. Movement mechanism 15 is controlled by processor 11 . In the following example, it is assumed that the moving mechanism 15 is a wheel 15a.
  • FIG. 4 is a diagram showing an example of a specific configuration of the processor 11, memory 12, and sensor 14 of the autonomous mobile robot 10. As shown in FIG.
  • the memory 12 has, for example, a storage 12a as the above auxiliary memory.
  • the storage 12a stores map data that three-dimensionally shows the environment 20, which is the external world of the autonomous mobile robot 10. FIG.
  • the sensor 14 has, for example, a LiDAR 14a, a GNSS (Global Navigation Satellite System Profile) 14b, a wheel encoder 14c, and an IMU (Inertial Measurement Unit) 14d.
  • a LiDAR 14a LiDAR 14a
  • GNSS Global Navigation Satellite System Profile
  • wheel encoder 14c wheel encoder
  • IMU Inertial Measurement Unit
  • the LiDAR 14a is a three-dimensional sensor for three-dimensionally recognizing the environment 20, which is the external world of the autonomous mobile robot 10, as described above. Specifically, the LiDAR 14a irradiates a laser beam, measures the time until the irradiated laser beam hits an object and bounces back, and measures the distance and direction to the object.
  • the GNSS 14b is a device that performs position measurement, etc. of the autonomous mobile robot 10 by receiving signals emitted from artificial satellites.
  • the GNSS 14b is, for example, GPS (Global Positioning System).
  • the wheel encoder 14c is a sensor that measures the rotational speed (wheel speed) of the wheel 15a.
  • the IMU 14d is a sensor that measures the acceleration of the autonomous mobile robot 10 in the front-back direction, left-right direction, and up-down direction, and the angular velocity in the pitch direction, roll direction, and yaw direction.
  • the processor 11 has an initial position estimation unit 11a, a point cloud matching unit 11b, an odometry calculation unit 11c, a self-position estimation unit 11d, an autonomous movement control unit 11e, and a map data update unit 11f. These functional units of the processor 11 are implemented by the processor 11 executing programs stored in the memory 12, for example.
  • the initial position estimation unit 11a performs position estimation (initial position estimation) of the autonomous mobile robot 10 based on the position information of the autonomous mobile robot 10 obtained by the GNSS 14b in the initial stage of estimating the position of the autonomous mobile robot 10. For example, the initial position estimation unit 11a estimates the rough position of the autonomous mobile robot 10 in the environment 20 indicated by the map data in the storage 12a based on the position information of the autonomous mobile robot 10 obtained by the GNSS 14b. is estimated as the initial position of
  • the point cloud matching unit 11b performs point cloud matching between the map data of the storage 12a and the sensing data (scan point cloud) of the LiDAR 14a, and matches each position of the environment 20 indicated by the map data with the sensing data of the LiDAR 14a. Calculate the rate (likelihood). At this time, the point cloud matching unit 11b performs the above point cloud matching based on the initial position of the autonomous mobile robot 10 estimated by the initial position estimating unit 11a, thereby efficiently performing the point cloud matching particularly in the initial stage. be able to.
  • the odometry calculation unit 11c calculates the movement amount and posture of the autonomous mobile robot 10 based on the sensing data (the rotation speed of the wheels 15a) from the wheel encoder 14c and the sensing data (the acceleration and angular velocity of the autonomous mobile robot 10) from the IMU 14d. .
  • the self-position estimation unit 11d performs position estimation (self-position estimation) of the autonomous mobile robot 10 based on the result of point cloud matching by the point cloud matching unit 11b. For example, if there is a position where the match rate with the sensing data of the LiDAR 14a is equal to or higher than a threshold among the positions in the environment 20 indicated by the map data, the self-position estimation unit 11d regards that position as the position of the autonomous mobile robot 10. presume.
  • the self-position estimation unit 11d may additionally use the movement amount and posture of the autonomous mobile robot 10 calculated by the odometry calculation unit 11c to estimate the self-position of the autonomous mobile robot 10.
  • the self-position estimation based on the sensing data of the LiDAR 14a is performed at a cycle of 10 [Hz]
  • the calculation of the movement amount and posture of the autonomous mobile robot 10 by the odometry calculation unit 11c is performed at a cycle of 10 [Hz]. do.
  • the self-position estimation unit 11d interpolates self-position estimation during a period in which the self-position is not estimated based on the sensing data of the LiDAR 14a, based on the movement amount and posture of the autonomous mobile robot 10 by the odometry calculation unit 11c.
  • estimation of the posture of the autonomous mobile robot 10 may be included in the self-position estimation by the self-position estimation unit 11d. For example, when the autonomous mobile robot 10 autonomously moves only in horizontal directions (XY directions) as in the example of FIG. and (x, y, ⁇ ) representing the position y in the Y direction of the autonomous mobile robot 10 and the posture ⁇ (inclination) of the autonomous mobile robot 10 are output.
  • the autonomous movement control unit 11e controls the autonomous movement of the autonomous mobile robot 10 based on the position estimation result of the autonomous mobile robot 10 by the self-position estimation unit 11d. For example, the autonomous mobile robot 10 autonomously moves along the predetermined movement route R1 as described above. Then, drive parameters (for example, drive direction and drive amount) of the moving mechanism 15 for moving to the next target position are calculated, and control is performed to drive the moving mechanism 15 (wheels 15a) based on the calculated driving parameters.
  • drive parameters for example, drive direction and drive amount
  • the map data update unit 11f updates the map data in the storage 12a based on the result of point cloud matching by the point cloud matching unit 11b. Specifically, the map data updating unit 11f determines that the environment 20 has changed when the match rate between the map data in the storage 12a and the sensing data in the LiDAR 14a is lower than a first match rate (first match degree). , the map data of the storage 12a is updated by the sensing data of the LiDAR 14a.
  • the map data updating unit 11f updates the environment 20 indicated by the map data when the maximum matching rate among the matching rates for each position in the environment 20 indicated by the map data is lower than the first matching rate (first degree of matching).
  • the map data is updated by replacing the data of the position with the maximum matching rate among the positions of , with data based on the sensing data of the LiDAR 14a.
  • FIG. 5 and 6 are diagrams showing an example of changes in the environment 20.
  • FIG. 5 and 6 are views of the autonomous mobile robot 10 viewed from the front (X direction).
  • Object 50 is a bicycle as an example.
  • the map data in the storage 12a is map data including the object 50 as well.
  • the map data update unit 11f of the processor 11 performs update control to update the map data in the storage 12a with the sensing data of the LiDAR 14a.
  • the map data in the storage 12 a becomes map data showing the environment 20 without the object 50 . Therefore, the matching accuracy between the sensing data of the LiDAR 14a and the map data of the storage 12a is improved, and the error of self-position estimation of the autonomous mobile robot 10 can be reduced.
  • FIG. 7 is a flow chart showing an example of processing of the autonomous mobile robot 10. As shown in FIG. The processor 11 of the autonomous mobile robot 10 executes the processing shown in FIG. 7, for example. First, the processor 11 acquires position information of the autonomous mobile robot 10 from the GNSS 14b (step S701).
  • the processor 11 estimates the initial self-position of the autonomous mobile robot 10 based on the position information acquired in step S701 (step S702).
  • the initial self-position of the autonomous mobile robot 10 is the rough position of the autonomous mobile robot 10 in the environment 20 in which the autonomous mobile robot 10 moves autonomously.
  • the processor 11 acquires sensing data from the LiDAR 14a (step S703).
  • the processor 11 calculates a reference value of the match rate based on the sensing data acquired in step S703 as the above-described first match rate from the sensing data acquired in step S703 and the learned model (step S704). .
  • the reference value of the matching rate based on the sensing data is the sensing data on the premise that the environment 20 in which the autonomous mobile robot 10 moves autonomously does not change (that is, the map data in the storage 12a matches the environment 20). It is an estimate of the match rate between the data and the map data.
  • the matching rate reference value may be a matching rate lower than the estimated matching rate by a predetermined margin.
  • the matching rate reference value based on the sensing data is obtained, for example, by inputting the sensing data into a trained model that receives the sensing data and outputs the matching rate reference value.
  • the matching rate reference value and the learned model will be described later (see FIGS. 8 to 10).
  • the processor 11 acquires map data from the storage 12a (step S705).
  • the processor 11 performs point cloud matching between the sensing data of the LiDAR 14a acquired in step S703 and the map data acquired in step S705 (step S706).
  • the processor 11 determines whether or not the match rate calculated in the point cloud matching in step S706 is equal to or greater than the reference value calculated in step S704 (step S707). If the match rate is equal to or higher than the reference value (step S707: Yes), the processor 11 performs self-position estimation for estimating the position of the autonomous mobile robot 10 based on the result of point cloud matching in step S706 (step S708). ). In this self-position estimation, the processor 11 may estimate the position of the autonomous mobile robot 10 by taking into consideration the calculation results of the odometry calculation unit 11c.
  • the processor 11 performs autonomous movement control of the autonomous mobile robot 10 based on the result of self-position estimation in step S708 (step S709), and returns to step S703. For example, the processor 11 calculates driving parameters for the wheels 15a for moving the autonomous mobile robot 10 from the current position obtained by self-position estimation to the next target position, and drives the wheels 15a based on the calculated driving parameters. control.
  • step S707 if the matching rate is not equal to or greater than the reference value (step S707: No), the processor 11 updates the map data in the storage 12a based on the sensing data of the LiDAR 14a acquired in step S703 (step S710). back to
  • FIG. 8 is a graph for explaining the reference value of the match rate.
  • the horizontal axis indicates the position (X, Y) on the movement route R1 of the autonomous mobile robot 10
  • the vertical axis indicates the match rate between the sensing data of the LiDAR 14a and the map data.
  • the matching rates 81 to 88 are the sensing data of the LiDAR 14a and the map at each position on the movement route R1, calculated in a state where the environment 20 has not changed (that is, a state where the map data in the storage 12a matches the environment 20). It shows the matching rate with the data.
  • the match rate between the sensing data of the LiDAR 14a and the map data varies depending on the position on the movement route R1 even if the environment 20 does not change. This is because the matching rate between the sensing data of the LiDAR 14a and the map data differs depending on the shape, material, etc. of each location.
  • the match rate is high in places where there are no dynamic objects within the sensing range of LiDAR 14a.
  • the matching rate is low due to wind fluctuations and the like. Even if the map data of the storage 12a is updated with the sensing data of the LiDAR 14a for such places, the match rate between the sensing data of the LiDAR 14a and the map data remains low.
  • the reference value of 80 is the reference value of the match rate described above.
  • the reference value 80 is determined based on matching rates 81-88, for example.
  • the processor 11 calculates a reference value of the matching rate for each location based on the sensing data of the LiDAR 14a, and stores the sensing data of the LiDAR 14a only when the matching rate between the sensing data of the LiDAR 14a and the map data is less than the reference value. Update the map data of 12a.
  • autonomous movement control and updating of map data can be performed appropriately in locations where the match rate is low even if the environment 20 does not change. For example, in a place where there is a forest within the sensing range of the LiDAR 14a, the standard value of 80 is low. Not updated. On the other hand, in such a place, if the match rate drops significantly due to changes in the environment, the match rate falls below the reference value 80, and the map data is updated.
  • FIG. 9 is a diagram showing an example of a trained model for calculating the reference value of match rate.
  • Processor 11 can access trained model 90 shown in FIG. 9, for example.
  • the learned model 90 may be stored in the memory 12 or may be stored in a device external to the autonomous mobile robot 10 .
  • the trained model 90 is a trained model that receives the sensing data of the LiDAR 14a as input and outputs the reference value of the matching rate between the sensing data of the LiDAR 14a and the map data. For example, in step S704 shown in FIG. 7, the processor 11 inputs the sensing data of the LiDAR 14a obtained in step S703 to the learned model 90, thereby deriving the reference value of the match rate output from the learned model 90. do.
  • the learned model 90 is generated by, for example, obtaining sensing data from the LiDAR 14a while the autonomous mobile robot 10 moves autonomously in a state where the environment 20 does not change, and combining the acquired sensing data with the map data in the storage 12a. It can be generated by repeatedly calculating the matching rate and performing machine learning or deep learning using the acquired sensing data and the calculated matching rate as teacher data. This machine learning may be performed before operation of the autonomous mobile robot 10, may be performed during operation of the autonomous mobile robot 10, or may be a combination of both.
  • FIG. 10 is a diagram showing another example of a trained model for calculating the matching rate reference value.
  • the processor 11 may be able to access the trained model 100 shown in FIG. 10, for example.
  • the learned model 100 may be stored in the memory 12 or may be stored in a device external to the autonomous mobile robot 10 .
  • the learned model 100 is a learned model whose input is the estimated position of the autonomous mobile robot 10 and whose output is the reference value of the matching rate between the sensing data of the LiDAR 14a and the map data.
  • the processor 11 inputs the currently estimated position of the autonomous mobile robot 10 to the learned model 100, thereby deriving the reference value of the match rate output from the learned model 100.
  • the position of the autonomous mobile robot 10 may be a rough position, and is estimated, for example, based on the result of previous self-position estimation or the result of calculation by the odometry calculator 11c.
  • the learned model 100 is generated, for example, by combining acquired sensing data and map data in the storage 12a while the autonomous mobile robot 10 moves autonomously in a state where there is no change in the environment in which the autonomous mobile robot 10 moves autonomously. It can be generated by repeatedly calculating the match rate and estimating the self-position, and performing machine learning or deep learning using the calculated match rate and the estimated self-position as teacher data. This machine learning may be performed before operation of the autonomous mobile robot 10, may be performed during operation of the autonomous mobile robot 10, or may be a combination of both.
  • FIG. 11 is a flow chart showing another example of processing of the autonomous mobile robot 10 .
  • the processor 11 of the autonomous mobile robot 10 may execute the processing shown in FIG. Steps S1101 to S1109 shown in FIG. 11 are the same as steps S701 to S709 shown in FIG.
  • step S1107 if the match rate is not equal to or greater than the reference value (step S1107: No), the processor 11 determines whether or not the state in which the match rate is not equal to or greater than the reference value continues N times at the same position (step S1110).
  • N is a natural number of 2 or more.
  • the movement route R1 is divided into a plurality of sections, and the processor 11 stores the determination result of step S1107 as history information for each section. Then, in step S1110, the processor 11 refers to the history information of the section in which the autonomous mobile robot 10 is currently located, so that the state in which the matching rate is not equal to or greater than the reference value occurs N times at the same position (section). Determine whether it is continuous or not.
  • step S111 if it is not consecutive N times (step S1110: No), the processor 11 returns to step S1103. If it is N consecutive times (step S1110: Yes), the processor 11 updates the map data in the storage 12a with the sensing data of the LiDAR 14a acquired in step S1103 (step S1111), and returns to step S1103.
  • map data update control is performed when the match rate is lower than the reference value continuously at a plurality of times (N times) when the autonomous mobile robot 10 is in the same position (section). be able to.
  • N is a predetermined numerical value.
  • the processor 11 may determine N based on the past variation frequency of the match rate in the environment 20 or the like.
  • An autonomous mobile robot 10 as a second embodiment of the autonomous mobile robot of the present invention will be described below with reference to the accompanying drawings. In the second embodiment, description of the same parts as in the first embodiment is omitted.
  • the autonomous mobile robot 10 of the second embodiment corrects the axis deviation of the LiDAR 14a instead of updating the map data based on the sensing data of the LiDAR 14a.
  • FIG. 12 is a diagram showing an example of a specific configuration of the processor 11 of the autonomous mobile robot 10 of the second embodiment. 12, the same parts as those shown in FIG. 4 are denoted by the same reference numerals, and descriptions thereof are omitted.
  • the processor 11 of the autonomous mobile robot 10 of the second embodiment includes an axis deviation correction section 11g instead of the map data updating section 11f of the autonomous mobile robot 10 of the first embodiment.
  • the axis deviation correction unit 11g corrects the axis deviation of the LiDAR 14a based on the result of point group matching by the point group matching unit 11b. Specifically, when the matching rate between the map data of the storage 12a and the sensing data of the LiDAR 14a is lower than a second matching rate (second degree of matching), the axis deviation correction unit 11g determines that the LiDAR 14a has been misaligned. Then, the axis deviation correction of the LiDAR 14a is performed.
  • the second match rate may be the same as or different from the above first match rate.
  • the second match rate is a reference value for the match rate calculated by the trained models 90 and 100, like the first match rate.
  • the axis deviation correction unit 11g calculates a correction parameter (inter-sensor relative parameter) for correcting the sensing data of the LiDAR 14a so as to match the map data of the storage 12a. Then, the axis deviation correction unit 11g corrects the sensing data output from the LiDAR 14a based on the calculated correction parameter.
  • a correction parameter inter-sensor relative parameter
  • the axis deviation correction unit 11g determines that the sensing data of the LiDAR 14a is A correction parameter is calculated so as to match the data of the position with the highest match rate among the positions in the environment 20 indicated by the map data.
  • FIG. 13 is a flow chart showing an example of processing of the autonomous mobile robot 10 of the second embodiment.
  • the processor 11 of the autonomous mobile robot 10 of the second embodiment executes the processing shown in FIG. 13, for example.
  • Steps S1301 to S1309 shown in FIG. 13 are the same as steps S701 to S709 shown in FIG.
  • step S1307 if the matching rate is not equal to or greater than the reference value (step S1307: No), the processor 11 corrects the axis deviation of the LiDAR 14a (step S1310), and returns to step S1303.
  • step S1310 the processor 11, for example, calculates a correction parameter for correcting the sensing data of the LiDAR 14a so as to match the map data of the storage 12a. Then, the processor 11 corrects the sensing data of the LiDAR 14a acquired in subsequent step S1303 based on the correction parameter calculated in step S1310, and refers to the corrected sensing data in steps S1304 and S1306.
  • the autonomous mobile robot 10 of the second embodiment corrects the axis deviation of the LiDAR 14a based on the match rate between the sensing data from the LiDAR 14a and the map data in the storage 12a. As a result, even if the LiDAR 14a is misaligned, it is possible to correct the misalignment of the LiDAR 14a and prevent the accuracy of self-position estimation from decreasing.
  • step S1310 if the match rate is not equal to or greater than the reference value in the same manner as the process shown in FIG. Only in this case, the process may proceed to step S1310.
  • FIG. 14 is a diagram showing an example of specific positions where the autonomous mobile robot 10 according to the second embodiment corrects axial misalignment. 14, the same parts as those shown in FIG. 2 are denoted by the same reference numerals, and descriptions thereof are omitted.
  • the processor 11 of the autonomous mobile robot 10 of the second embodiment may determine the specific positions 1401 to 1403 on the movement route R1 based on the matching rate reference value based on sensing data from the LiDAR 14a.
  • the specific positions 1401 to 1403 are, for example, positions on the moving route R1 where the reference value of the matching rate is equal to or higher than the threshold.
  • the specific positions 1401 to 1403 are set to positions where there are no dynamic objects (such as trees swaying in the wind) and where the surrounding features are abundant (such as positions near buildings with many unevenness).
  • the processor 11 If the matching rate between the sensing data obtained by the LiDAR 14a when the autonomous mobile robot 10 is present at the specific positions 1401 to 1403 and the map data in the storage 12a is lower than the second matching rate, the processor 11 outputs the LiDAR 14a axis misalignment correction.
  • positions with a high reference value of matching rate in the environment 20 are set as the specific positions 1401 to 1403, and the sensing data and the map data when the autonomous mobile robot 10 exists at the specific positions 1401 to 1403 are combined.
  • the processor 11 determines that the matching rate between the sensing data obtained by the LiDAR 14a and the map data in the storage 12a when the autonomous mobile robot 10 is present at a position different from the specific positions 1401 to 1403 is higher than the second matching rate.
  • the autonomous mobile robot 10 is controlled to move to a specific position (for example, one of the specific positions 1401 to 1403) based on sensing data obtained by a sensor different from the LiDAR 14a.
  • the sensors different from the LiDAR 14a are the sensors provided in the autonomous mobile robot 10, such as the GNSS 14b, the wheel encoder 14c, and the IMU 14d.
  • the processor 11 determines that the matching rate between the sensing data obtained by the LiDAR 14a and the map data in the storage 12a when the autonomous mobile robot 10 exists at a position different from the specific positions 1401 to 1403 is higher than the second matching rate.
  • the initial position of the autonomous mobile robot 10 is estimated by the GNSS 14b, and the amount of movement and posture of the autonomous mobile robot 10 calculated by odometry calculation based on the sensing data by the wheel encoder 14c and the IMU 14d
  • the autonomous mobile robot 10 moves autonomously based on the stored results.
  • the autonomous mobile robot 10 is controlled to move to any of the specific positions 1401-1403.
  • FIG. 15 is a flowchart showing another example of processing of the autonomous mobile robot 10 of the second embodiment.
  • the processor 11 of the autonomous mobile robot 10 of the second embodiment may execute the processing shown in FIG. Steps S1501 to S1509 shown in FIG. 15 are the same as steps S1301 to S1309 shown in FIG.
  • step S1507 if the matching rate is not equal to or greater than the reference value (step S1507: No), the processor 11 determines that the current position of the autonomous mobile robot 10 is a specific position (for example, one of the specific positions 1401 to 1403 shown in FIG. 14). (step S1510).
  • the current position of the autonomous mobile robot 10 is estimated based on the previous self-position estimation result of the autonomous mobile robot 10 and the sensing results of the GNSS 14b, the wheel encoder 14c, the IMU 14d, and the like.
  • step S1510 if the current position is not the specific position (step S1510: No), the processor 11 performs autonomous movement control to move the autonomous mobile robot 10 to the specific position (step S1511), and proceeds to step S1512.
  • step S1511 for example, the processor 11 roughly estimates the self-position of the autonomous mobile robot 10 based on the previous self-position estimation result of the autonomous mobile robot 10 and the sensing results of the GNSS 14b, the wheel encoder 14c, the IMU 14d, and the like. By controlling the moving mechanism 15 based on the estimation result, the autonomous mobile robot 10 is moved to a specific position.
  • step S1510 if the current position is the specific position (step S1510: Yes), the processor 11 corrects the axial misalignment of the LiDAR 14a (step S1512) in the same manner as in step S1310 shown in FIG. 13, and returns to step S1503. .
  • the autonomous mobile robot 10 can accurately detect the axial misalignment of the LiDAR 14a based on the sensing data of the LiDAR 14a obtained when the autonomous mobile robot 10 exists at a specific position with a high reference value of the match rate. can be corrected well.
  • the autonomous mobile robot 10 is detected based on sensing data obtained by a sensor different from the LiDAR 14a. to a specific position has been described, but the control is not limited to this.
  • the sensor 14 of the autonomous mobile robot 10 may be provided with a plurality of LiDARs 14a.
  • a plurality of LiDARs 14a may sense the same direction, or may sense directions different from each other.
  • the processor 11 controls the other LiDAR 14a among the plurality of LiDARs 14a (the LiDAR 14a whose matching rate is equal to or higher than the second matching rate).
  • the autonomous mobile robot 10 may be controlled to move to a specific position based on the sensing data.
  • the autonomous mobile robot 10 of the third embodiment is capable of updating map data based on the sensing data of the LiDAR 14a of the first embodiment and correcting the axis deviation of the LiDAR 14a of the second embodiment. go to
  • FIG. 16 is a diagram showing an example of a specific configuration of the processor 11 of the autonomous mobile robot 10 of the third embodiment. 16, the same reference numerals are given to the same parts as those shown in FIG. 4, and the description thereof is omitted.
  • the processor 11 of the autonomous mobile robot 10 of the third embodiment replaces the map data update unit 11f of the processor 11 of the autonomous mobile robot 10 of the first embodiment with map data update/axis deviation correction. A portion 11h is provided.
  • the map data update/axis deviation correction unit 11h has both the function of the map data update unit 11f of the first embodiment and the function of the axis deviation correction unit 11g of the second embodiment. Furthermore, the map data update/axis deviation correction unit 11h detects changes in the environment 20 (environment 20 and the map data) or LiDAR 14a.
  • the third matching rate may be the same as or different from the first matching rate and the second matching rate.
  • the third matching rate is a matching rate reference value calculated by the learned models 90 and 100, like the first matching rate and the second matching rate.
  • the sensor 14 includes a plurality of LiDARs 14a
  • the map data update/axis deviation correction unit 11h determines which of the change in the environment 20 and the axis deviation of the LiDARs 14a is based on the difference between the sensing data of the plurality of LiDARs 14a. Determine if it is occurring.
  • the map data update/axis deviation correction unit 11h determines that a change has occurred in the environment 20 when the difference between the sensing data of the plurality of LiDARs 14a is less than a predetermined value. If the difference between the sensing data is equal to or greater than a predetermined value, it is determined that the LiDAR 14a is misaligned.
  • the map data update/axis deviation correction unit 11h determines that the environment 20 has changed, it updates the map data in the storage 12a with the sensing data of the LiDAR 14a. Further, when it is determined that the LiDAR 14a is axially misaligned, the map data update/axis misalignment correction unit 11h performs axis misalignment correction of the LiDAR 14a. At this time, the map data update/axis deviation correction unit 11h corrects the axis deviation so that the sensing data of the LiDAR 14a whose matching rate is lower than the third matching rate among the plurality of LiDARs 14a matches the map data.
  • FIG. 17 is a flow chart showing an example of processing of the autonomous mobile robot 10 of the third embodiment.
  • the processor 11 of the autonomous mobile robot 10 of the third embodiment executes the processing shown in FIG. 17, for example.
  • the sensor 14 includes a LiDAR 14a.
  • the processor 11 executes the processing shown in FIG. 17 for each of the plurality of LiDARs 14a.
  • the processor 11 may perform the processing shown in FIG. 17 based on the average value of each sensing data of the plurality of LiDARs 14a. Steps S1701 to S1709 shown in FIG. 17 are the same as steps S701 to S709 shown in FIG.
  • step S1707 if the matching rate is not equal to or greater than the reference value (step S1707: No), the processor 11 determines whether or not the cause of the low matching rate is axial misalignment of the LiDAR 14a (step S1710). For example, when the difference between the sensing data of the plurality of LiDARs 14a is equal to or greater than a predetermined value, the processor 11 determines that the cause of the low match rate is the misalignment of the LiDARs 14a.
  • step S1710 if the cause of the low match rate is axial misalignment (step S1710: Yes), the processor 11 corrects the axial misalignment of the LiDAR 14a in the same manner as in step S1310 shown in FIG. 13 (step S1711), Return to step S1703. If the cause of the low match rate is not the axial misalignment (step S1710: No), the processor 11 updates the map data in the storage 12a based on the sensing data of the LiDAR 14a (step S1712), similarly to step S710 shown in FIG. ) and returns to step S1703.
  • step S1710 when performing axis deviation correction, the autonomous mobile robot 10 is moved to a specific position, and then the axis deviation correction is performed.
  • the autonomous mobile robot 10 when the matching rate between the sensing data obtained by at least one of the plurality of LiDARs 14a and the map data in the storage 12a is lower than the second matching rate, the plurality of LiDARs 14a Based on the difference in each sensing data, either map data update control or axis deviation correction of the LiDAR 14a is selected and executed. That is, by comparing sensing data of a plurality of LiDARs 14a, it is possible to distinguish between environmental changes and axial misalignment of the LiDARs 14a, and to perform appropriate processing out of map data update control and LiDAR 14a axial misalignment correction.
  • the present invention is not limited to the above embodiments, and can be modified, improved, etc. as appropriate.
  • the LiDAR 14a has been described as an example of the three-dimensional sensor for three-dimensionally recognizing the external world of the autonomous mobile robot 10, but the three-dimensional sensor is not limited to the LiDAR 14a.
  • the three-dimensional sensor may be a radar that emits radio waves, an ultrasonic sensor that emits ultrasonic waves, or the like.
  • the degree of matching is not limited to the matching rate indicating the degree of matching between the sensing data and the map data as a percentage. In other words, the degree of matching may indicate the degree of matching between the sensing data and the map data.
  • control device of the present invention is applied to the autonomous mobile robot 10, and the autonomous mobile robot 10 performs autonomous movement control, map data update control, and axis deviation correction of the autonomous mobile robot 10.
  • the configuration has been described, it is not limited to such a configuration.
  • the control device of the present invention may be applied to an external device capable of communicating with the autonomous mobile robot 10 (a parent device having the autonomous mobile robot 10 as a child device, etc.).
  • FIG. 18 is a diagram showing an example of a configuration in which the control device of the present invention is applied to an external device of the autonomous mobile robot 10.
  • a parent device 180 shown in FIG. 18 is an example of an external device capable of communicating with the autonomous mobile robot 10 .
  • the parent device 180 is installed, for example, in the vicinity of the movement route R1 along which the autonomous mobile robot 10 autonomously moves.
  • a master device 180 includes a processor 181 , a memory 182 and a wireless communication interface 183 .
  • Processor 181 , memory 182 and wireless communication interface 183 are connected by bus 19 , for example.
  • the control device of the present invention can be applied to the processor 181, for example.
  • the processor 181, memory 182, and wireless communication interface 183 have the same configurations as the processor 11, memory 12, and wireless communication interface 13 shown in FIG. 3, respectively.
  • the memory 182 stores map data indicating the environment 20 described above.
  • the wireless communication interface 183 is capable of wireless communication with the wireless communication interface 13 of the autonomous mobile robot 10 .
  • the processor 181 communicates with the autonomous mobile robot 10 via a wireless communication interface 183 to perform the same control as the processor of the autonomous mobile robot 10 described above.
  • the processor 181 receives the sensing data of the autonomous mobile robot 10 from the autonomous mobile robot 10 and controls the autonomous mobile robot 10 based on the reception result to control the autonomous mobile robot 10 and update the map data. control and axis deviation correction.
  • the autonomous mobile robot 10 may perform some of the autonomous mobile robot 10 autonomous mobile control, map data update control, and axis deviation correction.
  • the autonomous mobile robot 10 may perform autonomous movement control of the autonomous mobile robot 10, and the master device 180 may perform map data update control and axis deviation correction.
  • changes in the external environment are determined based on the degree of matching between the map data and the sensing data, and by updating the map data with the sensing data, even if there is an environmental change, the environment after the change can be detected. can be reflected in the map data to suppress a decrease in the accuracy of position estimation of the moving object.
  • the control device performs the update control when the degree of matching is lower than a first degree of matching. Control device.
  • the control device according to (2), The first degree of matching is a reference value of the degree of matching based on sensing data from the three-dimensional sensor. Control device.
  • the control device performs the update control when the degree of matching is lower than the first degree of matching continuously at a plurality of times when the mobile object is present at the same position. Control device.
  • the map data is not updated immediately, and the map data is updated when it remains low even when the user comes to the same place. By doing so, it is possible not to update the map data when the environmental change is temporary.
  • control device corrects the axial displacement of the three-dimensional sensor based on the degree of matching between sensing data from the three-dimensional sensor and the map data. Control device.
  • the occurrence of axial misalignment of the three-dimensional sensor is determined based on the matching degree between the map data and the sensing data, and the axial misalignment of the three-dimensional sensor is corrected. Even if it occurs, it is possible to correct the axial misalignment of the three-dimensional sensor and suppress the deterioration of the accuracy of the position estimation of the moving object.
  • the control device corrects the axial misalignment when the degree of matching is lower than a second degree of matching. Control device.
  • the control device determines a specific position in the moving route of the moving body based on the reference value of the degree of matching based on sensing data from the three-dimensional sensor, and when the moving body is present at the specific position and performing the axis deviation correction when the degree of matching between the sensing data obtained by the three-dimensional sensor and the map data is lower than the second degree of matching. Control device.
  • a position with a high reference value of the degree of matching is set as a specific position in the environment, and after the moving object moves to the specific position, map data and sensing data are compared to obtain a three-dimensional sensor.
  • the moving body is moved to a position where the map data and the sensing data are likely to match, and the axial misalignment of the three-dimensional sensor is accurately detected and corrected. can be done.
  • the control device includes a plurality of the three-dimensional sensors,
  • the control unit adjusts the degree of matching between the sensing data obtained by any one of the three-dimensional sensors and the map data when the mobile object is present at a position different from the specific position to the second degree of matching.
  • control is performed to move the moving body to the specific position based on sensing data obtained by another three-dimensional sensor among the three-dimensional sensors; Control device.
  • the moving body is moved to a position where the map data and the sensing data are likely to match, and the axial misalignment of the three-dimensional sensor is accurately detected and corrected. can be done.
  • the control device according to any one of (5) to (9),
  • the mobile body includes a plurality of the three-dimensional sensors, When the degree of matching between the sensing data obtained by at least one of the three-dimensional sensors and the map data is lower than a third degree of matching, the control unit, based on the difference between the sensing data of the three-dimensional sensors, selecting and executing either the update control or the axis deviation correction; Control device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

自律移動ロボット(10)は、自律移動が可能である。LiDAR(14a)は、外界を3次元的に認識するための3次元センサである。ストレージ(12a)は、外界を3次元的に示す地図データを記憶する。プロセッサ(11)は、LiDAR(14a)のセンシングデータと、ストレージ(12a)の地図データと、に基づく位置推定により自律移動ロボット(10)の自律移動を制御する。また、プロセッサ(11)は、LiDAR(14a)のセンシングデータとストレージ(12a)の地図データとの合致度に基づいて、LiDAR(14a)のセンシングデータによる地図データの更新制御を行う。

Description

制御装置
 本発明は、制御装置に関する。
 特許文献1には、周囲の風景を撮影して得た画像データに基づいて立体画像データを作成し、立体画像データと3次元地図データを照合し、両者が略一致したところを現在位置として2次元道路地図データを検索して表示することが開示されている。
日本国特開平9-218955号公報
 しかしながら、従来技術では、周囲の環境(風景)が大きく変わってしまった場合に、撮影に基づく立体画像データと3次元地図データとの照合精度が低下し、結果として位置認識(位置推定)の精度が低くなる懸念があった。
 本発明は、周囲の環境が変化しても、位置推定の精度の低下を抑制することができる制御装置を提供する。
 本発明は、
 外界を3次元的に認識するための3次元センサを備え、前記3次元センサによるセンシングデータと、前記外界を3次元的に示す地図データと、に基づく位置推定による自律移動が可能な移動体に関する制御装置であって、
 前記3次元センサによるセンシングデータと前記地図データとの合致度に基づいて、前記センシングデータによる前記地図データの更新制御を行う制御部を備える、
 制御装置である。
 本発明によれば、周囲の環境が変化しても、位置推定の精度の低下を抑制することができる。
自律移動ロボット10の外観の一例を示す図である。 自律移動ロボット10が自律移動を行う環境及び移動経路の一例を示す図である。 自律移動ロボット10のハードウェア構成の一例を示す図である。 自律移動ロボット10のプロセッサ11、メモリ12、センサ14の具体的な構成の一例を示す図である。 環境20の変化の一例を示す図(その1)である。 環境20の変化の一例を示す図(その2)である。 自律移動ロボット10の処理の一例を示すフローチャートである。 合致率の基準値を説明するためのグラフである。 合致率の基準値を算出するための学習済みモデルの一例を示す図である。 合致率の基準値を算出するための学習済みモデルの他の一例を示す図である。 自律移動ロボット10の処理の他の一例を示すフローチャートである。 第2実施形態の自律移動ロボット10のプロセッサ11の具体的な構成の一例を示す図である。 第2実施形態の自律移動ロボット10の処理の一例を示すフローチャートである。 第2実施形態の自律移動ロボット10が軸ズレ補正を行う特定位置の一例を示す図である。 第2実施形態の自律移動ロボット10の処理の他の一例を示すフローチャートである。 第3実施形態の自律移動ロボット10のプロセッサ11の具体的な構成の一例を示す図である。 第3実施形態の自律移動ロボット10の処理の一例を示すフローチャートである。 本発明の制御装置を自律移動ロボット10の外部装置に適用した構成の一例を示す図である。
 以下、本発明の制御装置の各実施形態を、添付図面に基づいて説明する。
(第1実施形態)
 以下、本発明の制御装置を適用した移動体の第1実施形態としての自律移動ロボット10を、添付図面に基づいて説明する。
<自律移動ロボット10の外観>
 図1は、自律移動ロボット10の外観の一例を示す図である。互いに直交し水平な方向をX方向及びY方向とし、垂直な方向(重力方向)をZ方向とする。図1は、自律移動ロボット10を側方(Y方向)から見た図になっている。自律移動ロボット10は、自律移動が可能なロボットである。自律移動とは、人の操縦によらない移動であって、例えば自律移動ロボット10と通信可能な外部装置(例えば自律移動ロボット10を子機とする親機)からの制御による移動も含む。
 図1に示すように、自律移動ロボット10は、本体10aと、LiDAR(Light Detection And Ranging)14aと、車輪15aと、を備える。本体10aには、自律移動ロボット10を制御するためのプロセッサや、自律移動ロボット10の目的に応じた各種の装置などが設けられる。
 LiDAR14aは、自律移動ロボット10の外界を3次元的に認識するための3次元センサの一例である。LiDAR14aは、例えば自律移動ロボット10の自律移動の前方をセンシング可能なように設けられる。また、LiDAR14aは、複数の方向をセンシング可能なように複数設けられていてもよい。また、LiDAR14aは、首振り(パンやチルト)やズーム等が可能であってもよい。
 車輪15aは、自律移動ロボット10が移動を行うための移動機構の一例であり、例えば本体10aの底部の4箇所に設けられている。車輪15aは、本体10aに設けられるモータユニット等のアクチュエータにより駆動され、自律移動ロボット10の走行や方向転換を可能にする。
<自律移動ロボット10が自律移動を行う環境及び移動経路>
 図2は、自律移動ロボット10が自律移動を行う環境及び移動経路の一例を示す図である。図2は、自律移動ロボット10を上方(Z方向)から見た図になっている。自律移動ロボット10は、例えば環境20の中で、設定された移動経路R1に沿って自律移動を行う。図2に示す例では、環境20は矩形環状の道路及びその周辺である。移動経路R1は、上記の矩形環状の道路の中心に沿った矩形環状の経路である。
 自律移動ロボット10は、自律移動ロボット10の外界である環境20を3次元的に示す地図データを記憶している。自律移動ロボット10に記憶される初期の地図データの生成は、例えば、環境20の変化がない状態において環境20内で自律移動ロボット10を移動させながら、LiDAR14aのセンシングデータを取得し、取得したセンシングデータを蓄積することによって行われる。この自律移動ロボット10の移動は、自律移動であってもよいし、人間がリモコン操作により自律移動ロボット10を操縦する等による移動であってもよい。
 又は、自律移動ロボット10に記憶される初期の地図データは、LiDAR14aのセンシングデータを蓄積したものではなく、他の装置(例えばスマートフォンやタブレット端末のセンサ)のセンシングデータを蓄積することによって生成したものであってもよい。又は、自律移動ロボット10に記憶される初期の地図データは、センシングによるものではなく、CAD(Computer-Aided Design)等によって生成されたものであってもよい。
<自律移動ロボット10のハードウェア構成>
 図3は、自律移動ロボット10のハードウェア構成の一例を示す図である。図1,図2に示した自律移動ロボット10は、例えば、図3に示すように、プロセッサ11と、メモリ12と、無線通信インタフェース13と、センサ14と、移動機構15と、を備える。プロセッサ11、メモリ12、無線通信インタフェース13、センサ14、及び移動機構15は、例えばバス19によって接続される。プロセッサ11は、本発明の制御装置の一例である。メモリ12は、本発明の記憶部の一例である。
 プロセッサ11は、信号処理を行う回路であり、例えば自律移動ロボット10の全体の制御を司るCPU(Central Processing Unit)である。なお、プロセッサ11は、FPGA(Field Programmable Gate Array)やDSP(Digital Signal Processor)などの他のデジタル回路により実現されてもよい。また、プロセッサ11は、複数のデジタル回路を組み合わせて実現されてもよい。
 メモリ12には、例えばメインメモリ及び補助メモリが含まれる。メインメモリは、例えばRAM(Random Access Memory)である。メインメモリは、プロセッサ11のワークエリアとして使用される。
 補助メモリは、例えば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発性メモリである。補助メモリには、自律移動ロボット10を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてプロセッサ11によって実行される。上記の地図データは、例えばメモリ12の補助メモリに記憶される。
 また、補助メモリは、自律移動ロボット10から取り外し可能な可搬型のメモリを含んでもよい。可搬型のメモリには、USB(Universal Serial Bus)フラッシュドライブやSD(Secure Digital)メモリカードなどのメモリカードや、外付けハードディスクドライブなどがある。
 無線通信インタフェース13は、自律移動ロボット10の外部(例えば自律移動ロボット10の親機)との間で無線通信を行う通信インタフェースである。無線通信インタフェース13は、プロセッサ11によって制御される。
 センサ14は、自律移動ロボット10の外界の情報や自律移動ロボット10の移動状態の情報などを取得可能な各種のセンサを含む。センサ14はプロセッサ11によって制御され、センサ14のセンシングデータはプロセッサ11によって取得される。図1に示したLiDAR14aは、センサ14に含まれる。センサ14の具体例については図4において説明する。
 移動機構15は、自律移動ロボット10が自律移動するための機構である。例えば、車輪15aは、図1に示した車輪15aである。ただし、移動機構15は、車輪15aに限らず、歩行用の脚などであってもよい。移動機構15は、プロセッサ11によって制御される。以下の例では移動機構15は車輪15aであるものとする。
<自律移動ロボット10のプロセッサ11、メモリ12、センサ14の具体的な構成>
 図4は、自律移動ロボット10のプロセッサ11、メモリ12、センサ14の具体的な構成の一例を示す図である。
 メモリ12は、上記の補助メモリとして、例えばストレージ12aを有する。ストレージ12aには、自律移動ロボット10の外界である環境20を3次元的に示す地図データが記憶される。
 センサ14は、例えば、LiDAR14aと、GNSS(Global Navigation Satellite System Profile)14bと、ホイールエンコーダ14cと、IMU(Inertial Measurement Unit)14dと、を有する。
 LiDAR14aは、上記のように、自律移動ロボット10の外界である環境20を3次元的に認識するための3次元センサである。具体的には、LiDAR14aは、レーザ光を照射し、照射したレーザ光が物体に当たって跳ね返ってくるまでの時間を計測し、物体までの距離や方向を測定する。
 GNSS14bは、人工衛星から発射される信号を受信することにより自律移動ロボット10の位置測定等を行う装置である。GNSS14bは、例えばGPS(Global Positioning System)である。ホイールエンコーダ14cは、車輪15aの回転速度(車輪速度)を測定するセンサである。IMU14dは、自律移動ロボット10の前後方向、左右方向及び上下方向のそれぞれについての加速度と、ピッチ方向、ロール方向及びヨー方向のそれぞれについての角速度を測定するセンサである。
 プロセッサ11は、初期位置推定部11aと、点群マッチング部11bと、オドメトリ算出部11cと、自己位置推定部11dと、自律移動制御部11eと、地図データ更新部11fと、を有する。プロセッサ11のこれらの機能部は、例えばメモリ12に記憶されたプログラムをプロセッサ11が実行することにより実現される。
 初期位置推定部11aは、自律移動ロボット10の位置推定の初期段階において、GNSS14bによって得られた自律移動ロボット10の位置情報に基づいて、自律移動ロボット10の位置推定(初期位置推定)を行う。例えば、初期位置推定部11aは、GNSS14bによって得られた自律移動ロボット10の位置情報に基づいて、ストレージ12aの地図データが示す環境20内における自律移動ロボット10のおおまかな位置を、自律移動ロボット10の初期位置として推定する。
 点群マッチング部11bは、ストレージ12aの地図データと、LiDAR14aのセンシングデータ(スキャン点群)と、の点群マッチングを行い、地図データが示す環境20の各位置について、LiDAR14aのセンシングデータとの合致率(尤度)を算出する。このとき、点群マッチング部11bは、初期位置推定部11aによって推定された自律移動ロボット10の初期位置に基づいて上記の点群マッチングを行うことで、特に初期段階において点群マッチングを効率よく行うことができる。
 オドメトリ算出部11cは、ホイールエンコーダ14cのセンシングデータ(車輪15aの回転速度)やIMU14dのセンシングデータ(自律移動ロボット10の加速度や角速度)に基づいて、自律移動ロボット10の移動量や姿勢を算出する。
 自己位置推定部11dは、点群マッチング部11bによる点群マッチングの結果に基づいて、自律移動ロボット10の位置推定(自己位置推定)を行う。例えば、自己位置推定部11dは、地図データが示す環境20の各位置の中で、LiDAR14aのセンシングデータとの合致率が閾値以上になる位置があると、その位置を自律移動ロボット10の位置として推定する。
 また、自己位置推定部11dは、さらに、オドメトリ算出部11cによって算出された自律移動ロボット10の移動量や姿勢を補助的に用いて自律移動ロボット10の自己位置推定を行ってもよい。一例として、LiDAR14aのセンシングデータに基づく自己位置推定が10[Hz]の周期で行われ、オドメトリ算出部11cによる自律移動ロボット10の移動量や姿勢の算出が10[Hz]の周期で行われるとする。この場合に、自己位置推定部11dは、LiDAR14aのセンシングデータに基づく自己位置推定がされない期間の自己位置推定を、オドメトリ算出部11cによる自律移動ロボット10の移動量や姿勢に基づいて補間する。
 また、自己位置推定部11dによる自己位置推定には自律移動ロボット10の姿勢の推定が含まれてもよい。例えば図2の例のように自律移動ロボット10が水平方向(XY方向)にのみ自律移動する場合、初期位置推定部11aは、自己位置推定の結果として、自律移動ロボット10のX方向の位置xと、自律移動ロボット10のY方向の位置yと、自律移動ロボット10の姿勢θ(傾き)と、を示す(x,y,θ)を出力する。
 自律移動制御部11eは、自己位置推定部11dによる自律移動ロボット10の位置推定の結果に基づいて、自律移動ロボット10の自律移動の制御を行う。例えば、上記のように自律移動ロボット10は予め定められた移動経路R1を自律移動するが、自律移動制御部11eは、自律移動ロボット10の位置推定の結果に基づいて、自律移動ロボット10が現在地から次の目標位置に移動するための移動機構15の駆動パラメータ(例えば駆動方向及び駆動量)を算出し、算出した駆動パラメータに基づいて移動機構15(車輪15a)を駆動する制御を行う。
 地図データ更新部11fは、点群マッチング部11bによる点群マッチングの結果に基づいて、ストレージ12aの地図データの更新を行う。具体的には、地図データ更新部11fは、ストレージ12aの地図データとLiDAR14aのセンシングデータとの合致率が第1合致率(第1合致度)より低い場合に、環境20が変化したと判断し、LiDAR14aのセンシングデータによってストレージ12aの地図データを更新する。
 例えば、地図データ更新部11fは、地図データが示す環境20の各位置についての合致率のうち最大の合致率が第1合致率(第1合致度)より低い場合に、地図データが示す環境20の各位置のうち合致率が最大となった位置のデータを、LiDAR14aのセンシングデータに基づくデータに置き換えることにより、地図データを更新する。
<環境20の変化>
 図5及び図6は、環境20の変化の一例を示す図である。図5,図6は、自律移動ロボット10を正面(X方向)から見た図になっている。例えば環境20のある位置において、時刻t1までは図5に示すようにLiDAR14aの検知範囲に物体50があったとする。物体50は、一例としては自転車である。この場合、ストレージ12aの地図データは、物体50も含めた地図データとなっている。
 時刻t1の後に、自律移動ロボット10が図5の位置と同じ位置に再度移動した時刻t2において、図6に示すようにLiDAR14aの検知範囲に物体50がなかったとする。このような状況の一例としては、時刻t1と時刻t2の間に物体50が撤去された状況が挙げられる。この場合、LiDAR14aのセンシングデータとストレージ12aの地図データとの照合精度が低くなり、自律移動ロボット10の自己位置推定の誤差が大きくなる。
 プロセッサ11の地図データ更新部11fは、このような場合に、LiDAR14aのセンシングデータによりストレージ12aの地図データを更新する更新制御を行う。これにより、ストレージ12aの地図データが、物体50を含まない環境20を示す地図データとなる。このため、LiDAR14aのセンシングデータとストレージ12aの地図データとの照合精度が高くなり、自律移動ロボット10の自己位置推定の誤差を小さくすることができる。
<自律移動ロボット10の処理>
 図7は、自律移動ロボット10の処理の一例を示すフローチャートである。自律移動ロボット10のプロセッサ11は、例えば図7に示す処理を実行する。まず、プロセッサ11は、GNSS14bによる自律移動ロボット10の位置情報を取得する(ステップS701)。
 次に、プロセッサ11は、ステップS701によって取得した位置情報に基づいて、自律移動ロボット10の初期自己位置を推定する(ステップS702)。自律移動ロボット10の初期自己位置は、自律移動ロボット10が自律移動を行う環境20における自律移動ロボット10のおおまかな位置である。
 次に、プロセッサ11は、LiDAR14aのセンシングデータを取得する(ステップS703)。次に、プロセッサ11は、ステップS703により取得したセンシングデータと学習済みモデルとから、ステップS703により取得したセンシングデータに基づく合致率の基準値を、上記の第1合致率として算出する(ステップS704)。
 センシングデータに基づく合致率の基準値とは、自律移動ロボット10が自律移動を行う環境20の変化がない(すなわちストレージ12aの地図データが環境20と一致している)という前提での、そのセンシングデータと地図データの合致率の推定値である。又は、合致率の基準値は、上記の合致率の推定値よりも所定のマージン分低い合致率であってもよい。センシングデータに基づく合致率の基準値は、例えばセンシングデータを入力とし、合致率の基準値を出力とする学習済みモデルに対してセンシングデータを入力することにより得られる。合致率の基準値及び学習済みモデルについては後述する(図8~図10参照)。
 次に、プロセッサ11は、ストレージ12aから地図データを取得する(ステップS705)。次に、プロセッサ11は、ステップS703により取得したLiDAR14aのセンシングデータと、ステップS705により取得した地図データと、の点群マッチングを行う(ステップS706)。
 次に、プロセッサ11は、ステップS706による点群マッチングにおいて算出された合致率が、ステップS704により算出した基準値以上であるか否かを判断する(ステップS707)。合致率が基準値以上である場合(ステップS707:Yes)は、プロセッサ11は、ステップS706による点群マッチングの結果に基づいて、自律移動ロボット10の位置を推定する自己位置推定を行う(ステップS708)。この自己位置推定において、プロセッサ11は、オドメトリ算出部11cによる計算結果も加味して自律移動ロボット10の位置を推定してもよい。
 次に、プロセッサ11は、ステップS708による自己位置推定の結果に基づいて自律移動ロボット10の自律移動制御を行い(ステップS709)、ステップS703へ戻る。例えば、プロセッサ11は、自己位置推定により得られた自律移動ロボット10の現在地から次の目標位置に移動するための車輪15aの駆動パラメータを算出し、算出した駆動パラメータに基づいて車輪15aを駆動する制御を行う。
 ステップS707において、合致率が基準値以上でない場合(ステップS707:No)は、プロセッサ11は、ステップS703により取得したLiDAR14aのセンシングデータにより、ストレージ12aの地図データを更新し(ステップS710)、ステップS703へ戻る。
<合致率の基準値>
 図8は、合致率の基準値を説明するためのグラフである。図8において、横軸は、自律移動ロボット10の移動経路R1上の位置(X,Y)を示し、縦軸はLiDAR14aのセンシングデータと地図データとの合致率を示している。
 合致率81~88は、環境20の変化がない状態(すなわちストレージ12aの地図データが環境20と一致している状態)において算出された、移動経路R1上の各位置におけるLiDAR14aのセンシングデータと地図データとの合致率を示している。
 合致率81~88に示すように、LiDAR14aのセンシングデータと地図データとの合致率は、環境20の変化がなくても、移動経路R1上の位置によって異なる。これは、LiDAR14aのセンシングデータと地図データとの合致率が、場所ごとの形状や材質等によって異なるためである。
 例えば、LiDAR14aのセンシングの範囲内に動的物体がない場所では合致率が高くなる。一方で、LiDAR14aのセンシングの範囲内に森林がある場所では、風による揺らぎ等で合致率が低くなる。このような場所について、LiDAR14aのセンシングデータによりストレージ12aの地図データを更新しても、LiDAR14aのセンシングデータと地図データとの合致率は低いままである。
 基準値80は、上記の合致率の基準値である。基準値80は、例えば合致率81~88に基づいて決定される。プロセッサ11は、LiDAR14aのセンシングデータに基づいて、場所ごとに合致率の基準値を算出し、LiDAR14aのセンシングデータと地図データとの合致率が基準値未満である場合にのみLiDAR14aのセンシングデータによりストレージ12aの地図データを更新する。
 これにより、環境20の変化がなくても合致率が低くなる場所において、自律移動制御や地図データの更新を適切に行うことができる。例えば、LiDAR14aのセンシングの範囲内に森林がある場所では基準値80が低くなるため、このような場所においては、風による揺らぎ等があっても合致率が基準値80を下回らず、地図データが更新されない。一方、このような場所において、環境の変化によって合致率が大幅に低下した場合には合致率が基準値80を下回り、地図データが更新される。
<合致率の基準値を算出するための学習済みモデル>
 図9は、合致率の基準値を算出するための学習済みモデルの一例を示す図である。プロセッサ11は、例えば図9に示す学習済みモデル90にアクセス可能である。学習済みモデル90は、メモリ12に記憶されていてもよいし、自律移動ロボット10の外部の装置に記憶されていてもよい。
 学習済みモデル90は、LiDAR14aのセンシングデータを入力とし、LiDAR14aのセンシングデータと地図データとの合致率の基準値を出力とする学習済みモデルである。例えば図7に示したステップS704において、プロセッサ11は、ステップS703により得られたLiDAR14aのセンシングデータを学習済みモデル90へ入力することにより、学習済みモデル90から出力される合致率の基準値を導出する。
 学習済みモデル90の生成は、例えば、環境20の変化がない状態において、自律移動ロボット10が自律移動を行いながら、LiDAR14aのセンシングデータの取得と、取得したセンシングデータとストレージ12aの地図データとの合致率の算出と、を繰り返し行い、取得したセンシングデータと算出した合致率とを教師データとする機械学習や深層学習を行うことにより生成することができる。この機械学習は、自律移動ロボット10の運用前に行われるものでもよいし、自律移動ロボット10の運用中に行われるものでもよいし、両者を組み合わせたものであってもよい。
 図10は、合致率の基準値を算出するための学習済みモデルの他の一例を示す図である。プロセッサ11は、例えば図10に示す学習済みモデル100にアクセス可能であってもよい。学習済みモデル100は、メモリ12に記憶されていてもよいし、自律移動ロボット10の外部の装置に記憶されていてもよい。
 学習済みモデル100は、自律移動ロボット10の推定位置を入力とし、LiDAR14aのセンシングデータと地図データとの合致率の基準値を出力とする学習済みモデルである。例えば図7に示したステップS704において、プロセッサ11は、現在推定される自律移動ロボット10の位置を学習済みモデル100へ入力することにより、学習済みモデル100から出力される合致率の基準値を導出してもよい。この自律移動ロボット10の位置は、おおまかな位置でよく、例えば、直前の自己位置推定の結果や、オドメトリ算出部11cによる計算結果などに基づいて推定される。
 学習済みモデル100の生成は、例えば、自律移動ロボット10が自律移動を行う環境の変化がない状態において、自律移動ロボット10が自律移動を行いながら、取得したセンシングデータとストレージ12aの地図データとの合致率の算出と、自己位置推定とを繰り返し行い、算出した合致率と推定した自己位置を教師データとする機械学習や深層学習を行うことにより生成することができる。この機械学習は、自律移動ロボット10の運用前に行われるものでもよいし、自律移動ロボット10の運用中に行われるものでもよいし、両者を組み合わせたものであってもよい。
<自律移動ロボット10の処理の他の例>
 図11は、自律移動ロボット10の処理の他の一例を示すフローチャートである。自律移動ロボット10のプロセッサ11は、図11に示す処理を実行してもよい。図11に示すステップS1101~S1109は、図7に示したステップS701~S709と同様である。
 ステップS1107において、合致率が基準値以上でない場合(ステップS1107:No)は、プロセッサ11は、合致率が基準値以上でなかった状態が同一の位置でN回連続したか否かを判断する(ステップS1110)。Nは2以上の自然数である。
 例えば、移動経路R1は複数の区間に区切られており、プロセッサ11はステップS1107の判断結果を区間ごとに履歴情報として記憶する。そして、ステップS1110において、プロセッサ11は、自律移動ロボット10が現在位置している区間の履歴情報を参照することで、合致率が基準値以上でなかった状態が同一の位置(区間)でN回連続したか否かを判断する。
 ステップS111において、N回連続していない場合(ステップS1110:No)は、プロセッサ11は、ステップS1103へ戻る。N回連続した場合(ステップS1110:Yes)は、プロセッサ11は、ステップS1103により取得したLiDAR14aのセンシングデータにより、ストレージ12aの地図データを更新し(ステップS1111)、ステップS1103へ戻る。
 ステップS1110,S1111により、自律移動ロボット10が同一の位置(区間)に存在した複数の時刻(N個の時刻)において連続して合致率が基準値より低かった場合に地図データの更新制御を行うことができる。
 図11に示したように、地図データとセンシングデータとの合致率が1回だけ基準値より低くても、すぐには地図データを更新せず、さらに(N-1)回、同じ場所に来たときにも合致率が基準値より低いままである場合に地図データを更新することで、人が立っていた等、環境変化が一時的なものである場合には地図データを更新しないようにすることができる。なお、Nは、予め定められた数値である。又は、プロセッサ11が、環境20において過去の合致率の変動頻度等に基づいてNを決定してもよい。
(第2実施形態)
 以下、本発明の自律移動ロボットの第2実施形態としての自律移動ロボット10を、添付図面に基づいて説明する。第2実施形態において、第1実施形態と同一の部分については説明を省略する。第2実施形態の自律移動ロボット10は、上記のLiDAR14aのセンシングデータによる地図データの更新制御に代えて、LiDAR14aの軸ズレ補正を行う。
<第2実施形態の自律移動ロボット10のプロセッサ11の具体的な構成>
 図12は、第2実施形態の自律移動ロボット10のプロセッサ11の具体的な構成の一例を示す図である。図12において、図4に示した部分と同様の部分については同一の符号を付して説明を省略する。図12に示すように、第2実施形態の自律移動ロボット10のプロセッサ11は、第1実施形態の自律移動ロボット10の地図データ更新部11fに代えて、軸ズレ補正部11gを備える。
 軸ズレ補正部11gは、点群マッチング部11bによる点群マッチングの結果に基づいて、LiDAR14aの軸ズレ補正を行う。具体的には、軸ズレ補正部11gは、ストレージ12aの地図データとLiDAR14aのセンシングデータとの合致率が第2合致率(第2合致度)より低い場合に、LiDAR14aの軸ズレが発生したと判断し、LiDAR14aの軸ズレ補正を行う。第2合致率は、上記の第1合致率と同じであってもよいし異なっていてもよい。例えば、第2合致率は、第1合致率と同様に、学習済みモデル90,100によって算出される合致率の基準値である。
 具体的には、軸ズレ補正部11gは、LiDAR14aのセンシングデータを、ストレージ12aの地図データと合致するように補正するための補正パラメータ(センサ間相対パラメータ)を算出する。そして、軸ズレ補正部11gは、LiDAR14aから出力されるセンシングデータを、算出した補正パラメータに基づいて補正する。
 例えば、軸ズレ補正部11gは、地図データが示す環境20の各位置についての合致率のうち最大の合致率が第2合致率(第2合致度)より低い場合に、LiDAR14aのセンシングデータが、地図データが示す環境20の各位置のうち合致率が最大となった位置のデータと合致するように補正パラメータを算出する。
<第2実施形態の自律移動ロボット10の処理>
 図13は、第2実施形態の自律移動ロボット10の処理の一例を示すフローチャートである。第2実施形態の自律移動ロボット10のプロセッサ11は、例えば図13に示す処理を実行する。図13に示すステップS1301~S1309は、図7に示したステップS701~S709と同様である。
 ステップS1307において、合致率が基準値以上でない場合(ステップS1307:No)は、プロセッサ11は、LiDAR14aの軸ズレ補正を行い(ステップS1310)、ステップS1303へ戻る。ステップS1310において、プロセッサ11は、例えば、LiDAR14aのセンシングデータを、ストレージ12aの地図データと合致するように補正するための補正パラメータを算出する。そして、プロセッサ11は、その後のステップS1303によって取得されるLiDAR14aのセンシングデータを、ステップS1310によって算出した補正パラメータに基づいて補正し、ステップS1304,S1306においては補正後のセンシングデータを参照する。
 このように、第2実施形態の自律移動ロボット10は、LiDAR14aによるセンシングデータとストレージ12aの地図データとの合致率に基づいて、LiDAR14aの軸ズレ補正を行う。これにより、LiDAR14aの軸ズレが発生してもLiDAR14aの軸ズレを補正し、自己位置推定の精度の低下を抑制することができる。
 なお、図13に示した処理において、図11に示した処理と同様に、合致率が基準値以上でない場合に、合致率が基準値以上でなかった状態が同一の位置でN回連続した場合にのみ、ステップS1310へ移行するようにしてもよい。
<第2実施形態の自律移動ロボット10が軸ズレ補正を行う特定位置>
 図14は、第2実施形態の自律移動ロボット10が軸ズレ補正を行う特定位置の一例を示す図である。図14において、図2に示した部分と同様の部分については同一の符号を付して説明を省略する。
 第2実施形態の自律移動ロボット10のプロセッサ11は、LiDAR14aによるセンシングデータに基づく合致率の基準値に基づいて、移動経路R1における特定位置1401~1403を決定してもよい。特定位置1401~1403は、例えば、移動経路R1の各位置のうち、合致率の基準値が閾値以上となった位置である。又は、特定位置1401~1403は、例えば、移動経路R1の各位置のうち、合致率の基準値が最も高いM個(この場合はM=3)の位置である。例えば、特定位置1401~1403は、動的物体(風で揺れる木など)がなく、周囲の特徴が豊富な位置(凹凸の多い建築物に近い位置など)に設定される。
 プロセッサ11は、自律移動ロボット10が特定位置1401~1403に存在しているときにLiDAR14aにより得られたセンシングデータと、ストレージ12aの地図データと、の合致率が第2合致率より低い場合にLiDAR14aの軸ズレ補正を行う。
 このように、環境20内で合致率の基準値が高い位置を特定位置1401~1403として設定し、自律移動ロボット10が特定位置1401~1403に存在しているときのセンシングデータと地図データとを比較することによりLiDAR14aの軸ズレを検出することで、地図データとセンシングデータが合致しやすい位置でのセンシングデータを用いてLiDAR14aの軸ズレを精度よく検出して補正することができる。
 また、プロセッサ11は、自律移動ロボット10が特定位置1401~1403とは異なる位置に存在しているときにLiDAR14aにより得られたセンシングデータとストレージ12aの地図データとの合致率が第2合致率より低い場合に、LiDAR14aと異なるセンサにより得られたセンシングデータに基づいて自律移動ロボット10を特定位置(例えば特定位置1401~1403のいずれか)に移動させる制御を行う。
 LiDAR14aと異なるセンサとは、例えば上記のGNSS14b、ホイールエンコーダ14c、IMU14dなどの、自律移動ロボット10が備えるセンサである。例えば、プロセッサ11は、自律移動ロボット10が特定位置1401~1403とは異なる位置に存在しているときにLiDAR14aにより得られたセンシングデータとストレージ12aの地図データとの合致率が第2合致率より低い場合に、GNSS14bによって推定した自律移動ロボット10の初期位置と、ホイールエンコーダ14c及びIMU14dによるセンシングデータに基づくオドメトリ計算によって算出した自律移動ロボット10の移動量及び姿勢の蓄積結果に基づいて、自律移動ロボット10のおおまかな位置を推定して自律移動ロボット10の自律移動を制御することにより、自律移動ロボット10を特定位置1401~1403のいずれかに移動させる制御を行う。
<第2実施形態の自律移動ロボット10の処理の他の例>
 図15は、第2実施形態の自律移動ロボット10の処理の他の一例を示すフローチャートである。図14に示した例において、第2実施形態の自律移動ロボット10のプロセッサ11は、図15に示した処理を実行してもよい。図15に示すステップS1501~S1509は、図13に示したステップS1301~S1309と同様である。
 ステップS1507において、合致率が基準値以上でない場合(ステップS1507:No)は、プロセッサ11は、自律移動ロボット10の現在位置が特定位置(例えば図14に示した特定位置1401~1403のいずれか)であるか否かを判断する(ステップS1510)。自律移動ロボット10の現在位置は、前回の自律移動ロボット10の自己位置推定の結果や、GNSS14b、ホイールエンコーダ14c、IMU14dなどのセンシング結果に基づいて推定される。
 ステップS1510において、現在位置が特定位置でない場合(ステップS1510:No)は、プロセッサ11は、自律移動ロボット10を特定位置に移動させる自律移動制御を行い(ステップS1511)、ステップS1512へ移行する。ステップS1511において、例えば、プロセッサ11は、前回の自律移動ロボット10の自己位置推定の結果や、GNSS14b、ホイールエンコーダ14c、IMU14dなどのセンシング結果に基づいて自律移動ロボット10の自己位置をおおまかに推定することにより、その推定結果に基づいて移動機構15を制御することによって自律移動ロボット10を特定位置に移動させる。
 ステップS1510において、現在位置が特定位置である場合(ステップS1510:Yes)は、プロセッサ11は、図13に示したステップS1310と同様にLiDAR14aの軸ズレ補正を行い(ステップS1512)、ステップS1503へ戻る。これにより、自律移動ロボット10が、合致率の基準値が高い特定位置に存在する状態で得られたLiDAR14aのセンシングデータに基づいて、LiDAR14aの軸ズレを精度よく検出し、LiDAR14aの軸ズレを精度よく補正することができる。
 自律移動ロボット10が特定位置1401~1403とは異なる位置に存在しているときに合致率が第2合致率より低い場合に、LiDAR14aと異なるセンサにより得られたセンシングデータに基づいて自律移動ロボット10を特定位置に移動させる制御について説明したが、このような制御に限らない。例えば、自律移動ロボット10のセンサ14には、LiDAR14aが複数設けられていてもよい。
 複数のLiDAR14aは、同一方向をセンシングするものであってもよいし、互いに異なる方向をセンシングするものであってもよい。プロセッサ11は、複数のLiDAR14aのいずれかのセンシングデータと地図データとの合致率が第2合致率より低い場合に、複数のLiDAR14aのうち他のLiDAR14a(合致率が第2合致率以上のLiDAR14a)のセンシングデータに基づいて自律移動ロボット10を特定位置に移動させる制御を行ってもよい。
(第3実施形態)
 以下、本発明の自律移動ロボットの第3実施形態としての自律移動ロボット10を、添付図面に基づいて説明する。第3実施形態において、第1実施形態及び第2実施形態と同一の部分については説明を省略する。第3実施形態の自律移動ロボット10は、第1実施形態のLiDAR14aのセンシングデータによる地図データの更新と、第2実施形態のLiDAR14aの軸ズレ補正と、の両方が可能であり、両者を選択的に行う。
<第3実施形態の自律移動ロボット10のプロセッサ11の具体的な構成>
 図16は、第3実施形態の自律移動ロボット10のプロセッサ11の具体的な構成の一例を示す図である。図16において、図4に示した部分と同様の部分については同一の符号を付して説明を省略する。図16に示すように、第3実施形態の自律移動ロボット10のプロセッサ11は、第1実施形態の自律移動ロボット10のプロセッサ11の地図データ更新部11fに代えて、地図データ更新/軸ズレ補正部11hを備える。
 地図データ更新/軸ズレ補正部11hは、第1実施形態の地図データ更新部11fの機能と、第2実施形態の軸ズレ補正部11gの機能と、を兼ね備える。さらに、地図データ更新/軸ズレ補正部11hは、LiDAR14aのセンシングデータとストレージ12aの地図データとの合致率が第3合致率(第3合致度)より低い場合に、環境20の変化(環境20と地図データとの差異)及びLiDAR14aのいずれが発生しているかを判定する。第3合致率は、上記の第1合致率及び第2合致率と同じであってもよいし異なっていてもよい。例えば、第3合致率は、第1合致率及び第2合致率と同様に、学習済みモデル90,100によって算出される合致率の基準値である。
 例えば、センサ14にはLiDAR14aが複数含まれており、地図データ更新/軸ズレ補正部11hは、複数のLiDAR14aの各センシングデータの差異に基づいて、環境20の変化及びLiDAR14aの軸ズレのいずれが発生しているかを判定する。具体的には、地図データ更新/軸ズレ補正部11hは、複数のLiDAR14aの各センシングデータの差異が所定値未満である場合は環境20の変化が発生していると判定し、複数のLiDAR14aの各センシングデータの差異が所定値以上である場合はLiDAR14aの軸ズレが発生していると判定する。
 そして、地図データ更新/軸ズレ補正部11hは、環境20の変化が発生していると判定した場合は、LiDAR14aのセンシングデータによりストレージ12aの地図データを更新する。また、地図データ更新/軸ズレ補正部11hは、LiDAR14aの軸ズレが発生していると判定した場合は、LiDAR14aの軸ズレ補正を行う。このとき、地図データ更新/軸ズレ補正部11hは、複数のLiDAR14aのうち、合致率が第3合致率より低くなったLiDAR14aのセンシングデータが、地図データと合致するように軸ズレ補正を行う。
<第3実施形態の自律移動ロボット10の処理>
 図17は、第3実施形態の自律移動ロボット10の処理の一例を示すフローチャートである。第3実施形態の自律移動ロボット10のプロセッサ11は、例えば図17に示す処理を実行する。この例では、センサ14にはLiDAR14aが含まれている。この場合、プロセッサ11は、複数のLiDAR14aのそれぞれについて図17に示す処理を実行する。又は、プロセッサ11は、複数のLiDAR14aの各センシングデータの平均値等に基づいて図17に示す処理を実行してもよい。図17に示すステップS1701~S1709は、図7に示したステップS701~S709と同様である。
 ステップS1707において、合致率が基準値以上でない場合(ステップS1707:No)は、プロセッサ11は、合致率が低い原因がLiDAR14aの軸ズレか否かを判断する(ステップS1710)。例えば、プロセッサ11は、複数のLiDAR14aの各センシングデータの差異が所定値以上である場合は、合致率が低い原因がLiDAR14aの軸ズレであると判断する。
 ステップS1710において、合致率が低い原因が軸ズレである場合(ステップS1710:Yes)は、プロセッサ11は、図13に示したステップS1310と同様に、LiDAR14aの軸ズレ補正を行い(ステップS1711)、ステップS1703へ戻る。合致率が低い原因が軸ズレでない場合(ステップS1710:No)は、プロセッサ11は、図7に示したステップS710と同様に、LiDAR14aのセンシングデータにより、ストレージ12aの地図データを更新し(ステップS1712)、ステップS1703へ戻る。
 なお、図17に示した処理において、図11に示したように、合致率が基準値以上でない場合に、合致率が基準値以上でなかった状態が同一の位置でN回連続した場合にのみ、ステップS1710へ移行するようにしてもよい。また、図17に示した処理において、図15に示したように、軸ズレ補正を行う場合に、自律移動ロボット10を特定位置に移動させる自律移動制御を行ってから軸ズレ補正を行うようにしてもよい。
 このように、第3実施形態の自律移動ロボット10は、複数のLiDAR14aの少なくとも一方により得られたセンシングデータとストレージ12aの地図データとの合致率が第2合致率より低い場合に、複数のLiDAR14aの各センシングデータの差異に基づいて、地図データの更新制御及びLiDAR14aの軸ズレ補正のいずれかを選択して実行する。すなわち、複数のLiDAR14aの各センシングデータを比較することで、環境変化とLiDAR14aの軸ズレとを区別し、地図データの更新制御及びLiDAR14aの軸ズレ補正のうち適切な処理を実行することができる。
 以上、本発明の実施形態を説明したが、本発明は上記実施形態に限定されるものではなく、適宜、変形、改良、等が可能である。例えば、上記の各実施形態においては、自律移動ロボット10の外界を3次元的に認識するための3次元センサの例としてLiDAR14aについて説明したが、3次元センサはLiDAR14aに限らない。例えば、3次元センサは、電波を発射するレーダや、超音波を発射する超音波センサ等であってもよい。
 また、センシングデータと地図データとの合致度の例として合致率について説明したが、合致度は、センシングデータと地図データとの合致度合いを割合で示す合致率に限らない。すなわち、合致度は、センシングデータと地図データとの合致度合いを示すものであればよい。
 また、上記の各実施形態においては、本発明の制御装置を自律移動ロボット10に適用し、自律移動ロボット10の自律移動制御、地図データの更新制御、及び軸ズレ補正を自律移動ロボット10が行う構成について説明したが、このような構成に限らない。例えば、本発明の制御装置を、自律移動ロボット10と通信可能な外部装置(自律移動ロボット10を子機とする親機等)に適用してもよい。
<本発明の制御装置を自律移動ロボット10の外部装置に適用した構成>
 図18は、本発明の制御装置を自律移動ロボット10の外部装置に適用した構成の一例を示す図である。図18に示す親機180は、自律移動ロボット10との間で通信可能な外部装置の一例である。親機180は、例えば自律移動ロボット10が自律移動を行う移動経路R1の付近に設置される。
 親機180は、プロセッサ181と、メモリ182と、無線通信インタフェース183と、を備える。プロセッサ181、メモリ182、及び無線通信インタフェース183は、例えばバス19によって接続される。本発明の制御装置は、例えばプロセッサ181に適用することができる。
 プロセッサ181、メモリ182、及び無線通信インタフェース183は、それぞれ図3に示したプロセッサ11、メモリ12、及び無線通信インタフェース13と同様の構成である。メモリ182には、上記の環境20を示す地図データが記憶されている。無線通信インタフェース183は、自律移動ロボット10の無線通信インタフェース13との間で無線通信が可能である。
 プロセッサ181は、無線通信インタフェース183を介して自律移動ロボット10と通信を行うことにより、上記の自律移動ロボット10のプロセッサと同様の制御を行う。例えば、プロセッサ181は、自律移動ロボット10のセンシングデータを自律移動ロボット10から受信し、受信結果に基づいて自律移動ロボット10を制御することにより、自律移動ロボット10の自律移動制御、地図データの更新制御、及び軸ズレ補正を行う。
 また、図18に示す構成において、自律移動ロボット10の自律移動制御、地図データの更新制御、及び軸ズレ補正のうちの一部については自律移動ロボット10が行うようにしてもよい。例えば、自律移動ロボット10の自律移動制御を自律移動ロボット10が行い、地図データの更新制御及び軸ズレ補正を親機180が行う構成としてもよい。
 また、本明細書には少なくとも以下の事項が記載されている。なお、括弧内には、上記した実施形態において対応する構成要素等を示しているが、これに限定されるものではない。
 (1) 外界(環境20)を3次元的に認識するための3次元センサ(LiDAR14a)を備え、前記3次元センサによるセンシングデータと、前記外界を3次元的に示す地図データと、に基づく位置推定による自律移動が可能な移動体(自律移動ロボット10)に関する制御装置(プロセッサ11)であって、
 前記3次元センサによるセンシングデータと前記地図データとの合致度に基づいて、前記センシングデータによる前記地図データの更新制御を行う制御部(プロセッサ11)を備える、
 制御装置。
 (1)によれば、地図データとセンシングデータとの合致度に基づいて外界の環境の変化を判定し、センシングデータにより地図データを更新することで、環境変化があっても、変化後の環境を地図データに反映し、移動体の位置推定の精度の低下を抑制することができる。
 (2) (1)に記載の制御装置であって、
 前記制御部は、前記合致度が第1合致度より低い場合に前記更新制御を行う、
 制御装置。
 (2)によれば、地図データとセンシングデータとの合致度が低い場合は、外界の環境が変化したと判定して、センシングデータにより地図データを更新することで、環境変化があっても、変化後の環境を地図データに反映し、移動体の位置推定の精度の低下を抑制することができる。
 (3) (2)に記載の制御装置であって、
 前記第1合致度は、前記3次元センサによるセンシングデータに基づく、前記合致度の基準値である、
 制御装置。
 (3)によれば、環境内の位置ごとに合致度の基準値が異なっていても、地図データを更新するか否かの判定を適切に行うことができる。
 (4) (2)又は(3)に記載の制御装置であって、
 前記制御部は、前記移動体が同一の位置に存在した複数の時刻において連続して前記合致度が前記第1合致度より低かった場合に前記更新制御を行う、
 制御装置。
 (4)によれば、地図データとセンシングデータとの合致度が低くても、すぐには地図データを更新せず、さらに同じ場所に来たときにも低いままである場合に地図データを更新することで、環境変化が一時的なものである場合には地図データを更新しないようにすることができる。
 (5) (1)から(4)のいずれかに記載の制御装置であって、
 前記制御部は、前記3次元センサによるセンシングデータと前記地図データとの合致度に基づいて、前記3次元センサの軸ズレ補正を行う、
 制御装置。
 (5)によれば、地図データとセンシングデータとの合致度に基づいて3次元センサの軸ズレの発生を判定し、3次元センサの軸ズレを補正することで、3次元センサの軸ズレが発生しても3次元センサの軸ズレを補正し、移動体の位置推定の精度の低下を抑制することができる。
 (6) (5)に記載の制御装置であって、
 前記制御部は、前記合致度が第2合致度より低い場合に前記軸ズレ補正を行う、
 制御装置。
 (6)によれば、地図データとセンシングデータとの合致度が低い場合は、3次元センサの軸ズレが発生したと判定して3次元センサの軸ズレを補正することで、3次元センサの軸ズレが発生しても3次元センサの軸ズレを補正し、移動体の位置推定の精度の低下を抑制する。
 (7) (6)に記載の制御装置であって、
 前記制御部は、前記3次元センサによるセンシングデータに基づく前記合致度の基準値に基づいて、前記移動体の移動経路における特定位置を決定し、前記移動体が前記特定位置に存在しているときに前記3次元センサにより得られたセンシングデータと前記地図データとの合致度が前記第2合致度より低い場合に前記軸ズレ補正を行う、
 制御装置。
 (7)によれば、環境内で合致度の基準値が高い位置を特定位置として設定し、移動体が特定位置に移動してから地図データとセンシングデータとを比較することにより3次元センサの軸ズレを検出して補正することで、地図データとセンシングデータが合致しやすい位置でのセンシングデータを用いて3次元センサの軸ズレを精度よく検出して補正することができる。
 (8) (7)に記載の制御装置であって、
 前記制御部は、前記移動体が前記特定位置とは異なる位置に存在しているときに前記3次元センサにより得られたセンシングデータと前記地図データとの合致度が前記第2合致度より低い場合に、前記移動体が備え前記3次元センサと異なるセンサにより得られたセンシングデータに基づいて前記移動体を前記特定位置に移動させる制御を行う、
 制御装置。
 (8)によれば、3次元センサに軸ズレが生じても、地図データとセンシングデータが合致しやすい位置まで移動体を移動させ、3次元センサの軸ズレを精度よく検出して補正することができる。
 (9) (7)に記載の制御装置であって、
 前記移動体は、前記3次元センサを複数備え、
 前記制御部は、前記移動体が前記特定位置とは異なる位置に存在しているときに前記3次元センサのいずれかにより得られたセンシングデータと前記地図データとの合致度が前記第2合致度より低い場合に、前記3次元センサのうち他の3次元センサにより得られたセンシングデータに基づいて前記移動体を前記特定位置に移動させる制御を行う、
 制御装置。
 (9)によれば、3次元センサに軸ズレが生じても、地図データとセンシングデータが合致しやすい位置まで移動体を移動させ、3次元センサの軸ズレを精度よく検出して補正することができる。
 (10) (5)から(9)のいずれかに記載の制御装置であって、
 前記移動体は、前記3次元センサを複数備え、
 前記制御部は、前記3次元センサの少なくとも一方により得られたセンシングデータと前記地図データとの合致度が第3合致度より低い場合に、前記3次元センサの各センシングデータの差異に基づいて、前記更新制御及び前記軸ズレ補正のいずれかを選択して実行する、
 制御装置。
 (10)によれば、複数の3次元センサの各センシングデータを比較することで、環境変化とセンサの軸ズレとを区別し、地図データの更新制御及び3次元センサの軸ズレ補正のうち適切な処理を実行することができる。
10 自律移動ロボット(移動体)
11 プロセッサ(制御装置、制御部)
14a LiDAR (3次元センサ)
20 環境(外界)

Claims (10)

  1.  外界を3次元的に認識するための3次元センサを備え、前記3次元センサによるセンシングデータと、前記外界を3次元的に示す地図データと、に基づく位置推定による自律移動が可能な移動体に関する制御装置であって、
     前記3次元センサによるセンシングデータと前記地図データとの合致度に基づいて、前記センシングデータによる前記地図データの更新制御を行う制御部を備える、
     制御装置。
  2.  請求項1に記載の制御装置であって、
     前記制御部は、前記合致度が第1合致度より低い場合に前記更新制御を行う、
     制御装置。
  3.  請求項2に記載の制御装置であって、
     前記第1合致度は、前記3次元センサによるセンシングデータに基づく、前記合致度の基準値である、
     制御装置。
  4.  請求項2又は3に記載の制御装置であって、
     前記制御部は、前記移動体が同一の位置に存在した複数の時刻において連続して前記合致度が前記第1合致度より低かった場合に前記更新制御を行う、
     制御装置。
  5.  請求項1から4のいずれか1項に記載の制御装置であって、
     前記制御部は、前記3次元センサによるセンシングデータと前記地図データとの合致度に基づいて、前記3次元センサの軸ズレ補正を行う、
     制御装置。
  6.  請求項5に記載の制御装置であって、
     前記制御部は、前記合致度が第2合致度より低い場合に前記軸ズレ補正を行う、
     制御装置。
  7.  請求項6に記載の制御装置であって、
     前記制御部は、前記3次元センサによるセンシングデータに基づく前記合致度の基準値に基づいて、前記移動体の移動経路における特定位置を決定し、前記移動体が前記特定位置に存在しているときに前記3次元センサにより得られたセンシングデータと前記地図データとの合致度が前記第2合致度より低い場合に前記軸ズレ補正を行う、
     制御装置。
  8.  請求項7に記載の制御装置であって、
     前記制御部は、前記移動体が前記特定位置とは異なる位置に存在しているときに前記3次元センサにより得られたセンシングデータと前記地図データとの合致度が前記第2合致度より低い場合に、前記移動体が備え前記3次元センサと異なるセンサにより得られたセンシングデータに基づいて前記移動体を前記特定位置に移動させる制御を行う、
     制御装置。
  9.  請求項7に記載の制御装置であって、
     前記移動体は、前記3次元センサを複数備え、
     前記制御部は、前記移動体が前記特定位置とは異なる位置に存在しているときに前記3次元センサのいずれかにより得られたセンシングデータと前記地図データとの合致度が前記第2合致度より低い場合に、前記3次元センサのうち他の3次元センサにより得られたセンシングデータに基づいて前記移動体を前記特定位置に移動させる制御を行う、
     制御装置。
  10.  請求項5から9のいずれか1項に記載の制御装置であって、
     前記移動体は、前記3次元センサを複数備え、
     前記制御部は、前記3次元センサの少なくとも一方により得られたセンシングデータと前記地図データとの合致度が第3合致度より低い場合に、前記3次元センサの各センシングデータの差異に基づいて、前記更新制御及び前記軸ズレ補正のいずれかを選択して実行する、
     制御装置。
PCT/JP2021/027607 2021-07-26 2021-07-26 制御装置 WO2023007562A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/027607 WO2023007562A1 (ja) 2021-07-26 2021-07-26 制御装置
US18/291,795 US20240255304A1 (en) 2021-07-26 2021-07-26 Control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/027607 WO2023007562A1 (ja) 2021-07-26 2021-07-26 制御装置

Publications (1)

Publication Number Publication Date
WO2023007562A1 true WO2023007562A1 (ja) 2023-02-02

Family

ID=85086405

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/027607 WO2023007562A1 (ja) 2021-07-26 2021-07-26 制御装置

Country Status (2)

Country Link
US (1) US20240255304A1 (ja)
WO (1) WO2023007562A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014077769A (ja) * 2012-10-12 2014-05-01 Toyota Central R&D Labs Inc センサ傾斜判定装置及びプログラム
JP2019040176A (ja) * 2017-08-28 2019-03-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理装置、車両、情報処理方法、走行制御方法および地図更新方法
JP2021117893A (ja) * 2020-01-29 2021-08-10 株式会社豊田自動織機 自己位置推定装置、及び自己位置推定方法
JP2021117048A (ja) * 2020-01-23 2021-08-10 トヨタ自動車株式会社 変化点検出装置及び地図情報配信システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014077769A (ja) * 2012-10-12 2014-05-01 Toyota Central R&D Labs Inc センサ傾斜判定装置及びプログラム
JP2019040176A (ja) * 2017-08-28 2019-03-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理装置、車両、情報処理方法、走行制御方法および地図更新方法
JP2021117048A (ja) * 2020-01-23 2021-08-10 トヨタ自動車株式会社 変化点検出装置及び地図情報配信システム
JP2021117893A (ja) * 2020-01-29 2021-08-10 株式会社豊田自動織機 自己位置推定装置、及び自己位置推定方法

Also Published As

Publication number Publication date
US20240255304A1 (en) 2024-08-01

Similar Documents

Publication Publication Date Title
CN108290294B (zh) 移动机器人及其控制方法
US11858628B2 (en) Image space motion planning of an autonomous vehicle
US11242144B2 (en) Aerial vehicle smart landing
CN111356902B (zh) Radar辅助视觉惯性测程初始化
CN111033561A (zh) 用于利用语义信息来导航机器人设备的系统和方法
JP2021518553A (ja) センサー較正
WO2020051923A1 (en) Systems And Methods For VSLAM Scale Estimation Using Optical Flow Sensor On A Robotic Device
JP2011209845A (ja) 自律移動体、自己位置推定方法、地図情報作成システム
JP2010224755A (ja) 移動体及び移動体の位置推定方法
CN111198513A (zh) 设备控制系统
JP7450431B2 (ja) 自律飛行体及び飛行制御方法
CN111295567A (zh) 航向的确定方法、设备、存储介质和可移动平台
US11720117B1 (en) System to facilitate autonomous mobile device movement
US11579612B2 (en) Position and attitude estimation apparatus and position and attitude estimation method
US20220187845A1 (en) Method for estimating positioning of moving object by using big cell grid map, recording medium in which program for implementing same is stored, and computer program stored in medium in order to implement same
WO2023007562A1 (ja) 制御装置
US11899114B1 (en) Secondary sensor data-based soft constraint optimization for pose graph and mapping refinement
CN117589153B (zh) 一种地图更新的方法及机器人
WO2023127337A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US11662740B2 (en) Position estimating apparatus, method for determining position of movable apparatus, and non-transitory computer readable medium
US20220137626A1 (en) Apparatus, method, and non-transitory computer-readable storage medium
JP7548235B2 (ja) 情報処理装置、情報処理方法、及びプログラム
Peiris et al. Alternative platform for vision based robot navigation
WO2020138115A1 (ja) 自律移動体
CN116360451A (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: 21951773

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18291795

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21951773

Country of ref document: EP

Kind code of ref document: A1