WO2023162017A1 - 位置姿勢推定装置、位置姿勢推定システム、およびセンサ設置方法 - Google Patents

位置姿勢推定装置、位置姿勢推定システム、およびセンサ設置方法 Download PDF

Info

Publication number
WO2023162017A1
WO2023162017A1 PCT/JP2022/007288 JP2022007288W WO2023162017A1 WO 2023162017 A1 WO2023162017 A1 WO 2023162017A1 JP 2022007288 W JP2022007288 W JP 2022007288W WO 2023162017 A1 WO2023162017 A1 WO 2023162017A1
Authority
WO
WIPO (PCT)
Prior art keywords
orientation
sensor
moving body
acquisition unit
unit
Prior art date
Application number
PCT/JP2022/007288
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 JP2022539384A priority Critical patent/JPWO2023162017A1/ja
Priority to PCT/JP2022/007288 priority patent/WO2023162017A1/ja
Publication of WO2023162017A1 publication Critical patent/WO2023162017A1/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/20Instruments for performing navigational calculations
    • 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

Definitions

  • the present disclosure relates to a position and orientation estimation device, a position and orientation estimation system, and a sensor installation method for estimating the position and orientation of a mobile object.
  • Patent Document 1 when UWB is used, the position of a mobile robot can be detected over a wide range, but the posture of the mobile robot cannot be estimated. Therefore, in order to estimate the posture of a mobile robot, it is necessary to separately prepare a posture detector or to provide two or more transmitters for transmitting UWB radio waves to the mobile object.
  • Patent Document 2 the position and posture of a mobile robot (mobile carrier) can be detected, but the movement area of the mobile robot can only be recognized within the detection range of the camera. Therefore, in order to detect the position and orientation of the mobile robot over a wide range, it is necessary to install a plurality of cameras.
  • the present disclosure has been made to solve such problems, and provides a position and orientation estimation apparatus, a position and orientation estimation system, and a position and orientation estimation system capable of reducing costs even when controlling a mobile robot over a wide range. It is an object of the present invention to provide a sensor installation method.
  • a position/orientation estimation apparatus includes a sensor position acquisition unit that acquires the absolute position of a sensor provided on a moving body, and an internal world information acquisition unit that acquires internal world information of the moving body.
  • a posture estimating unit for estimating the posture of a mobile object based on at least one of the absolute position of the sensor acquired by the sensor position acquiring unit and the internal world information acquired by the internal world information acquiring unit; and a sensor position based on at least one of the absolute position of the sensor acquired by the acquisition unit, the posture of the mobile body estimated by the posture estimation unit, and the internal world information acquired by the internal world information acquisition unit; a position/orientation estimator for estimating the orientation;
  • FIG. 1 is a diagram showing an example of a usage environment of a mobile object according to Embodiment 1;
  • FIG. 2 is a block diagram showing an example of the configuration of each device including the position and orientation estimation device according to Embodiment 1;
  • FIG. 4 is a diagram for explaining attitude estimation based on a position detection result during straight running according to Embodiment 1.
  • FIG. FIG. 4 is a diagram showing an example of an overview of an algorithm for posture estimation based on a position detection result during straight running according to Embodiment 1; 4 is a diagram for explaining posture estimation based on velocity information according to Embodiment 1;
  • FIG. 12 is a block diagram showing an example of the configuration of a position and orientation estimation device according to Embodiment 3; 1 is a diagram showing an example of a hardware configuration of a position/orientation estimation apparatus according to Embodiments 1 to 3; FIG. 1 is a diagram showing an example of a hardware configuration of a position/orientation estimation apparatus according to Embodiments 1 to 3; FIG.
  • FIG. 1 is a diagram showing an example of the usage environment of a mobile object 1 according to Embodiment 1.
  • FIG. 2 is a block diagram showing an example of the configuration of each device including the position and orientation estimation device 3.
  • X, Y, and Z represent an absolute coordinate system set in the space in which the moving body 1 moves.
  • the cameras 71 and 72 are provided on the ceiling, and photograph the QR code (registered trademark, hereinafter the same) provided on the top plate of the moving body 1 or the like within the camera detection range 74 or the camera detection range 75. .
  • the camera positioning processing unit 73 reads the information of the QR code captured by the cameras 71 and 72, and detects the absolute position and orientation of the moving body 1 from the information.
  • the cameras 71 and 72 and the camera positioning processing section 73 constitute the image positioning device 7 .
  • a plurality of cameras 71 and 72 may be provided on the ceiling. LiDAR, radar, or the like may be provided instead of the cameras 71 and 72 .
  • the camera positioning processing unit 73 detects the position and orientation of the moving body 1 using detection results from LiDAR, radar, or the like.
  • the image positioning device 7 corresponds to a detector provided on the roadside.
  • UWB anchors 81 , 82 , 83 are installed on indoor walls or ceilings, and transmit and receive radio waves to and from UWB tags 6 (sensors) installed on moving bodies 1 existing within a UWB detection range 85 .
  • the UWB positioning processing unit 84 detects the absolute position of the UWB tag 6 by transmitting and receiving radio waves between the UWB anchors 81 , 82 , 83 and the UWB tag 6 .
  • UWB anchors 81, 82, 83 and UWB positioning processing unit 84 constitute radio wave positioning device 8 (sensor position detection device).
  • a plurality of UWB anchors may be provided as in the example of Fig. 1, or only one may be provided.
  • all of the UWB anchors 81, 82, 83 may transmit and receive radio waves with the UWB tag 6, and at least one of the UWB anchors 81, 82, 83 may communicate with the UWB tag 6. may transmit and receive radio waves.
  • GPS Global Positioning System
  • an indoor GPS may be used instead of the UWB anchors 81, 82, 83.
  • an indoor GPS may be used.
  • the moving body 1 has a wheel mechanism or a leg moving mechanism, and moves indoors or outdoors.
  • a moving body 1 has a wheel mechanism and moves indoors.
  • a mobile object 1 corresponds to the mobile robot described above.
  • the mobile object 1, the image positioning device 7, and the radio positioning device 8 are communicably connected via a communication network 9. Therefore, the mobile object 1 obtains the absolute position and orientation of the mobile object 1 positioned by the image positioning device 7 and the absolute position of the mobile object 1 positioned by the radio wave positioning device 8 via the communication network 9. can be used.
  • the moving body 1 includes an internal sensor 2 for detecting internal world information of the moving body 1, a position/orientation estimation device 3, a moving body control device 4, an actuator 5, and a UWB tag 6.
  • the internal sensor 2 has an IMU (Inertial Measurement Unit) 21, an odometer 22, and an encoder 23.
  • IMU Inertial Measurement Unit
  • the position/posture estimation device 3 includes a positioning information acquisition unit 31, an internal world information acquisition unit 32, a posture estimation unit 33, and a position/posture estimation unit .
  • the positioning information acquisition unit 31 has a position/orientation acquisition unit 311 and a sensor position acquisition unit 312 .
  • the position/orientation acquisition unit 311 acquires the absolute position and orientation of the moving body 1 from the image positioning device 7 .
  • the sensor position acquisition unit 312 acquires the absolute position of the UWB tag 6 provided on the mobile object 1 from the radio wave positioning device 8.
  • the internal world information acquisition unit 32 acquires the internal world information of the moving object 1 from at least one of the IMU 21, the odometer 22, and the encoder 23.
  • the posture estimation unit 33 estimates the posture of the moving body 1 based on at least one of the absolute position of the UWB tag 6 acquired by the sensor position acquisition unit 312 and the internal world information acquired by the internal world information acquisition unit 32. do.
  • the position/orientation estimation unit 34 uses the absolute position of the UWB tag 6 acquired by the sensor position acquisition unit 312, the orientation of the moving body 1 estimated by the orientation estimation unit 33, and the internal world information acquired by the internal world information acquisition unit 32. , the position and orientation of the moving body 1 are estimated based on at least one of the absolute position and orientation of the moving body 1 acquired by the position and orientation acquisition unit 311 .
  • the moving body control device 4 uses information on the position and orientation of the moving body 1 estimated by the position and orientation estimation device 3 to obtain a control input (for example, a motor current value) is determined and input to the actuator 5 (for example, a motor).
  • a control input for example, a motor current value
  • k time.
  • X, Y, ⁇ the position and orientation of the moving body 1 in the absolute coordinate system.
  • v x , v y Velocity of the moving body 1 in the moving body coordinate system.
  • Angular velocity of the moving body 1 in the moving body coordinate system.
  • V X , V Y Velocity of moving body 1 in absolute coordinate system.
  • X Q , Y Q , ⁇ Q the position and orientation of the moving object 1 in the absolute coordinate system positioned by the image positioning device 7 .
  • X U , Y U The position of the moving object 1 in the absolute coordinate system measured by the radio positioning device 8 .
  • ⁇ U Azimuth of the mobile object 1 in the absolute coordinate system estimated based on the positioning result of the radio positioning device 8 .
  • V X,U ,V Y,U Velocity of the moving object 1 in the absolute coordinate system estimated based on the positioning result of the radio positioning device 8 .
  • the moving body 1 can move in all directions (front-rear direction, left-right direction, rotation) using an omniwheel or the like. There may be.
  • the absolute velocity of the moving object 1 can be obtained by time-differentiating the absolute position of the moving object 1 positioned by the radio wave positioning device 8 .
  • the absolute velocity of the moving body 1 can be obtained from the Doppler frequency of radio waves that can be detected by the radio positioning device 8 .
  • Such an absolute velocity of the moving object 1 may be obtained by the UWB positioning processing unit 84 of the radio wave positioning device 8 or may be obtained by the sensor position obtaining unit 312 of the position/orientation estimation device 3 .
  • the orientation of the moving body 1 is estimated by the orientation estimation unit 33 of the position and orientation estimation device 3 .
  • the posture estimation unit 33 estimates the posture of the mobile object 1 based on the time series of the absolute position of the mobile object 1 acquired by the sensor position acquisition unit 312 from the radio wave positioning device 8 .
  • FIG. 3 is a diagram for explaining the estimation of the posture of the moving body 1 based on the position detection results when the moving body 1 travels straight.
  • the posture estimating unit 33 determines whether the moving object 1 moves along a straight line. For example, the attitude estimation unit 33 may determine that the moving body 1 moves in a straight line when the speed input of the moving body 1 is only forward movement. Alternatively, the posture estimation unit 33 may store past absolute positions of the moving body 1 and determine whether or not the moving body 1 moves along a straight line based on the linearity of the time series of the past absolute positions. . When the absolute velocity of the moving object 1 is known, the attitude estimation unit 33 may determine whether the moving object 1 moves along a straight line based on whether the direction of the absolute velocity is a straight line.
  • the attitude estimation unit 33 determines that the moving body 1 moves along a straight line, it records the time series (X k , Y k ) of the absolute position of the moving body 1 at the time k. Then, the attitude estimation unit 33 approximates the time series of the recorded absolute positions of the moving body 1 with a straight line to obtain the angle at which the moving body 1 has advanced. By considering the angle obtained by the posture estimation unit 33 as the posture of the moving body 1, the posture of the moving body 1 can be estimated.
  • FIG. 4 shows an overview of the algorithm for estimating the posture of the mobile object 1 described above.
  • T indicates the number of data required to estimate the attitude of the moving object 1.
  • Posture estimation unit 33 estimates the posture of moving object 1 based on the speed of moving object 1 .
  • the speed of the mobile object 1 includes the absolute speed of the mobile object 1 obtained based on the positioning result of the radio wave positioning device 8 and the speed of the mobile object 1 detected by the internal sensor 2 .
  • FIG. 5 is a diagram for explaining the estimation of the attitude of the mobile object 1 based on the speed of the mobile object 1.
  • the attitude estimation unit 33 acquires the absolute velocities V X and V Y of the moving body 1 in the absolute coordinate system and the velocities v x and v y of the moving body 1 in the moving body coordinate system.
  • the velocities v x and v y of the moving body 1 in the moving body coordinate system can be obtained or estimated from speed commands from the encoder 23 or a controller (not shown). Also, the absolute velocities V X and V Y of the moving body 1 in the absolute coordinate system are obtained from the time difference between the absolute positions X and Y measured by the radio wave positioning device 8 or from the Doppler frequency of the radio waves detected by the radio wave positioning device 8. , can be obtained or estimated.
  • the estimated value ⁇ of the azimuth angle of the moving object 1 is expressed by the following formula (3).
  • the posture estimation unit 33 estimates the posture of the moving object 1 .
  • the UWB tag 6 is provided at a position away from the center of rotation in order to provide a predetermined offset between the center of rotation of the moving body 1 and the UWB tag 6 .
  • the circle indicates the outer shape of the moving body 1 viewed from above, and the center of the circle corresponds to the center of rotation of the moving body.
  • Equation (6) Since VX and VY are 0 when the moving body 1 makes a pivot turn, Equation (6) is expressed by Equation (7) below.
  • equations (9) and (10) below, and equation (11) below where k is the number of iterations, can be solved repeatedly.
  • J is represented by the following formula (12).
  • a method using an extended Kalman filter will be described below as a method for continuing to estimate the position and orientation of the mobile object 1 when the positioning result by the radio positioning device 8 cannot be used.
  • the position and orientation estimation unit 34 maintains the estimation of the position and orientation of the moving body 1 .
  • the basic concept of the Bayesian filter is the time evolution step and the observation update step.
  • the position and orientation of the mobile object 1 are estimated using the equation of state that models the motion of the mobile object 1 .
  • the positioning results (observed values) by at least one of the radio positioning device 8 and the image positioning device 7 are used to correct the position and orientation of the mobile object 1 estimated in the time evolution step.
  • the position and orientation of the moving body 1 estimated in the time evolution step are output without correction, 1 position and pose estimation can continue.
  • the position and orientation of the moving object 1 estimated in the time evolution step may be corrected using the positioning result obtained by either the radio positioning device 8 or the image positioning device 7.
  • the position and orientation of the moving body 1 estimated in the time evolution step may be corrected by combining the positioning results obtained by each of the positioning devices 7 .
  • the positioning results obtained by the radio wave positioning device 8 and the image positioning device 7 are combined, the position and orientation of the moving body 1 can be corrected with higher accuracy.
  • ⁇ Time evolution step> The state equation used in the time evolution step will be described below.
  • the position and orientation of the moving object 1 are estimated using the internal world information detected by the internal world sensor 2 and state equations such as a velocity motion model or an odometry motion model, which will be described later.
  • ⁇ State equation> A state equation for applying the extended Kalman filter to the self-position estimation of the mobile object 1 will be described. It is assumed that the moving body 1 moves on a two-dimensional plane. A velocity motion model and an odometry motion model, which are often used as motion models of moving objects, will be described below.
  • a common state vector in the velocity motion model and the odometry motion model is expressed by the following equation (13) using positions X k and Y k and orientation ⁇ k at time k in the absolute coordinate system.
  • FIG. 8 is a diagram for explaining the velocity motion model.
  • the absolute position and orientation of the moving body 1 in the absolute coordinate system (X I , Y I ) are (X, Y, ⁇ ).
  • An omni wheel is adopted as the driving wheel of the moving body 1, and it operates by inputting commands of front, rear, left, and right velocities v x and v y and an angular velocity ⁇ . These commands are collectively represented by the following formula (14).
  • Equation (15) Since uv shown in Equation (14) is a command for the moving body coordinate system, the continuous-time state equation in the absolute coordinate system is expressed by Equation (15) below.
  • the discrete time state equation in the velocity motion model is the following formula, where w v,k is the process noise at time k (16).
  • FIG. 9 is a diagram for explaining the odometry operation model.
  • Odometry is usually obtained by accumulating encoder information detected by encoders provided on the wheels of the moving body to determine the position and orientation of the moving body in the moving body coordinate system.
  • odometry behavior model it is common to use odometry as an input instead of using odometry as a normal observable.
  • odometry it is necessary to include velocity in the state variables, but when using odometry as an input, it is not necessary to include velocity in the state variables.
  • An odometry motion model that uses odometry as an input may be more accurate because the deviation between the controller and the mathematical model is added as an error when velocity is incorporated into the state variables.
  • the odometry represents the position and orientation of the mobile body in the mobile body coordinate system
  • the relative movement information of the odometry between the current time and the previous time is used.
  • the position and orientation of the moving body 1 at time k and time k ⁇ 1 are represented by the following equations (18) and (19).
  • the Jacobian matrix F o,k at time k of the odometry motion model is expressed by the following equation (25).
  • observation update step The observation equation used in the observation update step will be described below.
  • observation is updated when the positioning result of the image positioning device 7 or the positioning result of the radio positioning device 8 is acquired.
  • the Jacobian obtained from the positioning result of the image positioning device 7 or the positioning result of the radio positioning device 8 is used for observation update.
  • v Q,k is the observed noise during QR code positioning at time k.
  • the Jacobian H Q of C Q is represented by the following equation (27).
  • the extended Kalman filter uses the Jacobian HQ as an observation matrix.
  • the radio positioning device 8 measures the absolute position of the mobile object 1, and can estimate the attitude of the mobile object 1 from the absolute velocity of the mobile object 1 based on the measured absolute position. Therefore, it is necessary to use different observation equations depending on whether the posture of the moving body 1 is to be estimated or not.
  • the UWB tag 6 When the UWB tag 6 is offset, the UWB tag 6 is provided with an offset of about several cm (the UWB tag 6 is provided at a position separated by an offset of several cm from the rotation center of the moving body 1). ), so we need to take that into consideration.
  • v U,k is the observation noise when positioning the absolute position of the moving object 1 at time k.
  • the Jacobian H U of C U is represented by Equation (29) below.
  • the extended Kalman filter uses the Jacobian HU as an observation matrix.
  • v e U,k is the observation noise in positioning and azimuth estimation of the absolute position of the moving body 1 at time k.
  • the Jacobian H e U of C e U is represented by the following equation (31).
  • the extended Kalman filter uses the Jacobian H e U as an observation matrix.
  • FIG. 10 is a flowchart illustrating an example of processing by an extended Kalman filter.
  • step S ⁇ b>1 the position/posture estimation unit 34 acquires the inner world information detected by the inner world sensor 2 from the inner world information acquisition unit 32 .
  • step S2 the position/orientation estimation unit 34 executes the process related to the time evolution step described above.
  • step S3 the position/orientation estimation unit 34 acquires the absolute position and orientation of the mobile object 1 positioned by the image positioning device 7 from the position/orientation acquisition unit 311, and the absolute position of the mobile object 1 positioned by the radio wave positioning device 8. Obtained from the sensor position obtaining unit 312 . These pieces of information may be obtained from at least one of them, or may be obtained from both at the same time.
  • step S4 the position/orientation estimation unit 34 determines whether or not the absolute position or orientation (observed value) was obtained from at least one of the position/orientation acquisition unit 311 and the sensor position acquisition unit 312 in step S3.
  • the process proceeds to step S5.
  • the process proceeds to step S6.
  • step S5 the position/orientation estimation unit 34 executes processing related to the observation update step described above.
  • step S ⁇ b>6 the position/orientation estimation unit 34 outputs the estimated position and orientation of the mobile object 1 to the mobile object control device 4 .
  • the posture of the moving body 1 can be estimated using only the absolute positions acquired by the sensor position acquisition unit 312 . This makes it possible to reduce costs even when controlling mobile robots over a wide range.
  • the position and orientation of the mobile object 1 can be continuously estimated.
  • FIG. 11 is a block diagram showing an example of the configuration of the position/orientation estimation device 35 according to the second embodiment.
  • the image positioning device 76 has a time synchronization unit 77
  • the radio positioning device 86 has a time synchronization unit 87
  • the position/orientation estimation device 35 has a time synchronization unit 36 . Since other configurations and operations are the same as those of the first embodiment, detailed description thereof is omitted here.
  • the image positioning device 76 includes the time synchronization unit 77
  • the radio positioning device 86 includes the time synchronization unit 87
  • the position/orientation estimation device 35 includes the time synchronization unit 36, whereby the image positioning device 76, the radio positioning device 86, and the The time of the position and orientation estimation device 35 is synchronized.
  • a method for synchronizing time there is a method using a time synchronization server (NTP: Network Time Protocol), or a method using GPS outdoors. As a result, it is possible to correct the time delay (transmission delay) that occurs through the communication network 9 and prevent deterioration in the accuracy of estimating the position and orientation of the mobile object 1 .
  • NTP Network Time Protocol
  • FIG. 12 is a diagram for explaining correction of time delay.
  • the positioning device is at least one of the image positioning device 76 and the radio wave positioning device 86 .
  • Correction of the time delay is performed by the position/posture estimation unit 34 of the position/posture estimation device 35 .
  • the position/orientation estimation unit 34 buffers the internal world information detected by the internal world sensor 2 . Then, the position/orientation estimating unit 34 goes back to the time when the positioning device detected the mobile object 1, updates the observation at the time going back, and evolves over time to the current time.
  • t 1 s , t 2 s Times when the positioning device detected the mobile object 1 . In practice, it is sent to the position and orientation estimation device 35 after a variable processing time. In addition, there is a delay of the communication delay time before the positioning result reaches the position/orientation estimation device 35 (processing delay).
  • t 1 r , t 2 r , t 3 r Detection times of the internal sensor 2 provided in the moving body 1 . Although it is detected with almost no delay, there is a delay corresponding to the communication delay time until the internal world information reaches the position/orientation estimation device 35 (processing delay).
  • t 1 m , t 2 m , t 3 m , t C m Operation time of the position and orientation estimation device 3 .
  • the internal world information received from the internal world sensor 2 is buffered at this timing.
  • the current time is t C m , and it is necessary to estimate the position and attitude of the moving body 1 at this time.
  • t 1′ s Time when the position/orientation estimation device 35 receives the positioning result by the positioning device.
  • the position/orientation estimation unit 34 receives the positioning result from the positioning device at time t 1′ s , and executes the processing of the following steps at time t C m when the position/orientation estimation device 35 operates. do.
  • First step Extract the buffered inner world information at time t 1 m .
  • Second step Using the odometry motion model or the velocity motion model, update time to time t 1 s (time evolution step).
  • Third step Update observation at time t 1 s (observation update step).
  • Fourth step Using the odometry motion model or the velocity motion model, update time to time t 3 r (time evolution step).
  • Fifth step time update using the internal world information buffered up to time t C m (time evolution step).
  • the position/orientation estimation unit 34 can perform delay compensation.
  • FIG. 13 is a block diagram showing an example of the configuration of the position/orientation estimation device 35 according to the third embodiment.
  • the position/orientation estimation device 35 is provided separately from the moving object 11 .
  • the position/orientation estimation device 35 is communicably connected to the image positioning device 76 , the radio wave positioning device 86 , and the moving body 11 via the communication network 9 . That is, the position/orientation estimation device 35, the image positioning device 76, the radio wave positioning device 86, and the moving body 11 constitute a position/orientation estimation system.
  • the moving object 11 has a time synchronization unit 12 . This makes it possible to synchronize the times of the image positioning device 76 , the radio wave positioning device 86 , the position/orientation estimation device 35 , and the moving object 11 .
  • the method for synchronizing the times may be the same as the method described in the second embodiment. Since other configurations and operations are the same as those of the second embodiment, detailed description thereof is omitted here.
  • the configuration of the moving body 11 can be simplified.
  • Each function of the position/posture acquisition unit 311, the sensor position acquisition unit 312, the internal world information acquisition unit 32, the posture estimation unit 33, and the position/posture estimation unit 34 in the position/posture estimation apparatus 3 described in Embodiment 1 is implemented by a processing circuit. It is realized by That is, the position/orientation estimation device 3 acquires the absolute position and orientation of the moving body 1 from the image positioning device 7 , acquires the absolute position of the moving body 1 from the radio wave positioning device 8 , and receives internal world information from the internal world sensor 2 .
  • a processing circuit is provided for obtaining and estimating the attitude of the moving body 1 and estimating the position and attitude of the moving body 1 .
  • the processing circuit may be dedicated hardware, and a processor (CPU, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, DSP (Digital Signal Processor)) that executes a program stored in memory may be called).
  • a processor CPU, central processing unit, processing unit, arithmetic unit, microprocessor,
  • the processing circuit 100 can be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit) , FPGA (Field Programmable Gate Array), or a combination thereof.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • Each function of the position/orientation acquisition unit 311, the sensor position acquisition unit 312, the internal world information acquisition unit 32, the orientation estimation unit 33, and the position/orientation estimation unit 34 may be realized by the processing circuit 100, respectively.
  • a single processing circuit 100 may be used.
  • the processing circuit 100 is the processor 101 shown in FIG. 15, the functions of the position/orientation acquisition unit 311, the sensor position acquisition unit 312, the internal world information acquisition unit 32, the orientation estimation unit 33, and the position/orientation estimation unit 34 are implemented by software. , firmware, or a combination of software and firmware. Software or firmware is written as a program and stored in memory 102 . The processor 101 implements each function by reading and executing a program recorded in the memory 102 .
  • the position/orientation estimation device 3 obtains the absolute position and orientation of the moving body 1 from the image positioning device 7 , the absolute position of the moving body 1 from the radio wave positioning device 8 , and the internal world
  • a memory 102 is provided for storing a program by which the step of obtaining information, the step of estimating the attitude of the moving body 1, and the step of estimating the position and attitude of the moving body 1 are executed as a result.
  • These programs cause a computer to execute the procedures or methods of the position/orientation acquisition unit 311, the sensor position acquisition unit 312, the internal world information acquisition unit 32, the orientation estimation unit 33, and the position/orientation estimation unit 34. I can say.
  • memory means non-volatile or volatile memories such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), etc. a flexible semiconductor memory, a magnetic disk, a flexible disk, an optical disk, a compact disk, a DVD (Digital Versatile Disc), etc., or any storage medium that will be used in the future.
  • a part of each function of the position/orientation acquisition unit 311, the sensor position acquisition unit 312, the internal world information acquisition unit 32, the orientation estimation unit 33, and the position/orientation estimation unit 34 is realized by dedicated hardware, Other functions may be implemented in software or firmware.
  • the processing circuit can implement each of the functions described above by means of hardware, software, firmware, or a combination thereof.

Landscapes

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

Abstract

本開示は、広範囲で移動ロボットを制御する場合であってもコストを抑制することが可能な位置姿勢推定装置、位置姿勢推定システム、およびセンサ設置方法を提供することを目的とする。本開示による位置姿勢推定装置は、移動体に設けられたセンサの絶対位置を取得するセンサ位置取得部と、移動体の内界情報を取得する内界情報取得部と、センサ位置取得部が取得したセンサの絶対位置、および内界情報取得部が取得した内界情報のうちの少なくとも1つに基づいて移動体の姿勢を推定する姿勢推定部と、センサ位置取得部が取得したセンサの絶対位置、および姿勢推定部が推定した移動体の姿勢と、内界情報取得部が取得した内界情報とのうちの少なくとも1つに基づいて、移動体の位置および姿勢を推定する位置姿勢推定部とを備える。

Description

位置姿勢推定装置、位置姿勢推定システム、およびセンサ設置方法
 本開示は、移動体の位置および姿勢を推定する位置姿勢推定装置、位置姿勢推定システム、およびセンサ設置方法に関する。
 近年、工場または病院内における物資の自動搬送、あるいは、ホテルまたは空港などにおける自動案内またはテレプレゼンスなど、各種のタスクを一台の移動ロボットで実現可能な多用途移動ロボットの開発が進んでいる。各種のタスクを移動ロボットに実行させる場合、オペレータが設定したウェイポイントに移動ロボットを移動させる、あるいは、オペレータの遠隔操作によって移動ロボットを移動させる制御を行う必要がある。移動ロボットの移動を制御する際に重要となるのが、移動ロボットの位置および姿勢の検出精度である。
 近年では、天井に設けられたカメラ、またはUWB(Ultra Wide Band)の電波を用いるなどして移動ロボットの位置を検出し、移動ロボットの移動を制御する技術が開示されている(例えば、特許文献1,2参照)。
特開2007-149088号公報 特開2018-92393号公報
 特許文献1では、UWBを用いた場合は広範囲で移動ロボットの位置を検出することができるが、移動ロボットの姿勢を推定することができない。従って、移動ロボットの姿勢を推定するためには、姿勢検出器を別途用意するか、あるいはUWBの電波を送信する送信機を移動体に2つ以上設ける必要がある。
 特許文献2では、移動ロボット(移動搬送車)の位置および姿勢を検出することができるが、カメラの検出範囲内でしか移動ロボットの移動領域を認識することができない。従って、広範囲で移動ロボットの位置および姿勢を検出するためには、複数台のカメラを設置する必要がある。
 このように、従来では、広範囲で移動ロボットを制御するためには、コストが増大するという問題があった。
 本開示は、このような問題を解決するためになされたものであり、広範囲で移動ロボットを制御する場合であってもコストを抑制することが可能な位置姿勢推定装置、位置姿勢推定システム、およびセンサ設置方法を提供することを目的とする。
 上記の課題を解決するために、本開示による位置姿勢推定装置は、移動体に設けられたセンサの絶対位置を取得するセンサ位置取得部と、移動体の内界情報を取得する内界情報取得部と、センサ位置取得部が取得したセンサの絶対位置、および内界情報取得部が取得した内界情報のうちの少なくとも1つに基づいて移動体の姿勢を推定する姿勢推定部と、センサ位置取得部が取得したセンサの絶対位置、および姿勢推定部が推定した移動体の姿勢と、内界情報取得部が取得した内界情報とのうちの少なくとも1つに基づいて、移動体の位置および姿勢を推定する位置姿勢推定部とを備える。
 本開示によれば、広範囲で移動ロボットを制御する場合であってもコストを抑制することが可能となる。
 本開示の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
実施の形態1による移動体の使用環境の一例を示す図である。 実施の形態1による位置姿勢推定装置を含む各装置の構成の一例を示すブロック図である。 実施の形態1による直線走行時の位置検出結果に基づく姿勢推定を説明するための図である。 実施の形態1による直線走行時の位置検出結果に基づく姿勢推定のアルゴリズムの概要の一例を示す図である。 実施の形態1による速度情報に基づく姿勢推定を説明するための図である。 実施の形態1によるUWBタグのオフセットを示す図である。 実施の形態1によるUWBタグと回転中心との関係を示す図である。 実施の形態1による速度動作モデルを説明するための図である。 実施の形態1によるオドメトリ動作モデルを説明するための図である。 実施の形態1による拡張カルマンフィルタによる処理の一例を示すフローチャートである。 実施の形態2による位置姿勢推定装置の構成の一例を示すブロック図である。 実施の形態2による時間遅れの補正を説明するための図である。 実施の形態3による位置姿勢推定装置の構成の一例を示すブロック図である。 実施の形態1~3による位置姿勢推定装置のハードウェア構成の一例を示す図である。 実施の形態1~3による位置姿勢推定装置のハードウェア構成の一例を示す図である。
 <実施の形態1>
 <構成>
 図1は、実施の形態1による移動体1の使用環境の一例を示す図である。図2は、位置姿勢推定装置3を含む各装置の構成の一例を示すブロック図である。図1において、X,Y,Zは、移動体1が移動する空間に設定された絶対座標系を表している。
 カメラ71,72は、天井に設けられており、カメラ検出範囲74内またはカメラ検出範囲75内に存在する移動体1の天板などに設けられたQRコード(登録商標、以下同様)を撮影する。カメラ測位処理部73は、カメラ71,72が撮影したQRコードの情報を読み取り、当該情報から移動体1の絶対位置および姿勢を検出する。カメラ71,72およびカメラ測位処理部73は、画像測位装置7を構成する。
 なお、カメラ71,72は、天井に複数台設けてもよい。また、カメラ71,72に代えて、LiDARまたはレーダなどを設けてもよい。この場合、カメラ測位処理部73は、LiDARまたはレーダなどの検知結果を用いて、移動体1の位置および姿勢を検出する。また、屋外の場合、画像測位装置7は、路側に設けられた検出器に相当する。
 UWBアンカー81,82,83は、屋内の壁または天井に設けられており、UWB検出範囲85内に存在する移動体1に設けられたUWBタグ6(センサ)との間で電波を送受信する。UWB測位処理部84は、UWBアンカー81,82,83とUWBタグ6との電波の送受信によって、UWBタグ6の絶対位置を検出する。UWBアンカー81,82,83およびUWB測位処理部84は、電波測位装置8(センサ位置検出装置)を構成する。
 なお、UWBアンカーは、図1の例のように複数台設けてもよく、一台のみ設けてもよい。図1において、UWBアンカー81,82,83の全てがUWBタグ6との間で電波の送受信を行ってもよく、UWBアンカー81,82,83のうちの少なくとも一台がUWBタグ6との間で電波の送受信を行ってもよい。屋外の場合は、UWBアンカー81,82,83に代えてGPS(Global Positioning System)を用いてもよい。また、屋内の場合に、屋内用のGPSを用いてもよい。
 移動体1は、車輪機構または脚移動機構を備えており、屋内または屋外を移動する。図1において、移動体1は、車輪機構を備えており、屋内を移動するものとする。移動体1は、上記の移動ロボットに相当する。
 移動体1、画像測位装置7、および電波測位装置8は、通信ネットワーク9を介して通信可能に接続されている。従って、移動体1は、通信ネットワーク9を介して、画像測位装置7で測位された移動体1の絶対位置および姿勢、および電波測位装置8で測位された移動体1の絶対位置を取得して用いることができる。
 移動体1は、移動体1の内界情報を検出する内界センサ2と、位置姿勢推定装置3と、移動体制御装置4と、アクチュエータ5と、UWBタグ6とを備えている。
 内界センサ2は、IMU(Inertial Measurement Unit)21と、オドメータ22と、エンコーダ23とを有している。
 位置姿勢推定装置3は、測位情報取得部31と、内界情報取得部32と、姿勢推定部33と、位置姿勢推定部34とを備えている。測位情報取得部31は、位置姿勢取得部311およびセンサ位置取得部312を有している。
 位置姿勢取得部311は、移動体1の絶対位置および姿勢を、画像測位装置7から取得する。
 センサ位置取得部312は、移動体1に設けられたUWBタグ6の絶対位置を、電波測位装置8から取得する。
 内界情報取得部32は、移動体1の内界情報を、IMU21、オドメータ22、およびエンコーダ23のうちの少なくとも1つから取得する。
 姿勢推定部33は、センサ位置取得部312が取得したUWBタグ6の絶対位置、および内界情報取得部32が取得した内界情報のうちの少なくとも1つに基づいて移動体1の姿勢を推定する。
 位置姿勢推定部34は、センサ位置取得部312が取得したUWBタグ6の絶対位置、および姿勢推定部33が推定した移動体1の姿勢と、内界情報取得部32が取得した内界情報と、位置姿勢取得部311が取得した移動体1の絶対位置および姿勢とのうちの少なくとも1つに基づいて、移動体1の位置および姿勢を推定する。
 移動体制御装置4は、位置姿勢推定装置3が推定した移動体1の位置および姿勢の情報を用いて、移動体1が目的の位置および姿勢となるような制御入力(例えば、モータに印加する電流値)を決定し、アクチュエータ5(例えば、モータなど)に入力する。
 ここで、本開示で使用する記号について説明する。各記号とその説明は、下記の通りである。
  (x,y):移動体の前方をx軸、移動体の左方をy軸とした、移動体1で設定された移動体座標系。
  (X,Y):画像測位装置7および電波測位装置8における測位に使用される絶対座標系。
  k:時刻。
  X,Y,θ:絶対座標系における移動体1の位置および姿勢。
  v,v:移動体座標系における移動体1の速度。
  ω:移動体座標系における移動体1の角速度。
  V,V:絶対座標系における移動体1の速度。
  X,Y,θ:画像測位装置7で測位される絶対座標系における移動体1の位置および姿勢。
  X,Y:電波測位装置8で測位される絶対座標系における移動体1の位置。
  θ:電波測位装置8の測位結果に基づいて推定される絶対座標系における移動体1の方位。
  VX,U,VY,U:電波測位装置8の測位結果に基づいて推定される絶対座標系における移動体1の速度。
 以下では、移動体1がオムニホイールなどを用いて全方向(前後方向、左右方向、回転)に移動することができるものとして説明するが、移動体1がオムニホイール以外の機構で移動する場合であってもよい。
 <電波測位装置8の測位結果に基づいて移動体1の絶対速度を求める方法>
 移動体1の絶対速度は、電波測位装置8で測位された移動体1の絶対位置を時間微分することによって求めることができる。あるいは、移動体1の絶対速度は、電波測位装置8が検出することができる電波のドップラー周波数から求めることができる。このような移動体1の絶対速度は、電波測位装置8のUWB測位処理部84が求めてもよく、位置姿勢推定装置3のセンサ位置取得部312が求めてもよい。
 <電波測位装置8の測位結果に基づいて移動体1の姿勢を推定する方法>
 以下、電波測位装置8の測位結果に基づいて移動体1の姿勢を推定する3つの具体的な方法について説明する。移動体1の姿勢の推定は、位置姿勢推定装置3の姿勢推定部33が行う。
 <絶対位置の時系列に基づいて移動体1の姿勢を推定する方法>
 姿勢推定部33は、センサ位置取得部312が電波測位装置8から取得した移動体1の絶対位置の時系列に基づいて、移動体1の姿勢を推定する。
 図3は、移動体1が直線走行した時の位置検出結果に基づく、移動体1の姿勢の推定を説明するための図である。
 姿勢推定部33は、センサ位置取得部312が取得した移動体1の絶対位置に基づいて、移動体1が直線上を進むか否かを判定する。例えば、姿勢推定部33は、移動体1の速度入力が前進のみである場合は移動体1が直線上を進むと判定してもよい。また、姿勢推定部33は、移動体1の過去の絶対位置を保存し、当該過去の絶対位置の時系列の直線度合いなどで移動体1が直線上を進むか否かを判定してもよい。移動体1の絶対速度が分かる場合、姿勢推定部33は、絶対速度の方向が直線であるか否かによって移動体1が直線上を進むか否かを判定してもよい。
 姿勢推定部33は、移動体1が直線上を進むと判定した場合、時刻kにおける移動体1の絶対位置の時系列(X,Y)を記録しておく。そして、姿勢推定部33は、記録した移動体1の絶対位置の時系列を直線で近似して、移動体1が進んだ角度を求める。姿勢推定部33が求めた角度を移動体1の姿勢と考えることによって、移動体1の姿勢の推定が可能となる。
 図3の例では、Y=aX+bで近似しているため、θ=tan-1aとすれば、移動体1の方位の推定が可能となる。
 図4は、上記で説明した移動体1の姿勢を推定するアルゴリズムの概要を示している。図4において、「T」は移動体1の姿勢を推定するために必要なデータ数を示している。
 <移動体1の速度に基づいて移動体1の姿勢を推定する方法>
 姿勢推定部33は、移動体1の速度に基づいて、移動体1の姿勢を推定する。移動体1の速度は、電波測位装置8の測位結果に基づいて求められた移動体1の絶対速度と、内界センサ2が検出した移動体1の速度とを含む。
 図5は、移動体1の速度に基づく、移動体1の姿勢の推定を説明するための図である。
 姿勢推定部33は、絶対座標系における移動体1の絶対速度V,Vと、移動体座標系における移動体1の速度v、vとを取得する。
 移動体座標系における移動体1の速度v、vは、エンコーダ23、あるいは制御器(図示せず)からの速度指令から、取得または推定することが可能である。また、絶対座標系における移動体1の絶対速度V,Vは、電波測位装置8で測位された絶対位置X,Yの時間差分、あるいは電波測位装置8で検出された電波のドップラー周波数から、取得または推定することが可能である。
 速度v、vがなす角度βを横滑り角、絶対速度V,Vのなす角を速度ベクトル角Bとすると、角度βおよび速度ベクトル角Bは、それぞれ下記の式(1),(2)で表される。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 このとき、移動体1の方位角の推定値θは、下記の式(3)で表される。
Figure JPOXMLDOC01-appb-M000003
 <ピボットターン時の移動体1の姿勢を推定する方法>
 上記で説明した、移動体1の絶対位置の時系列または移動体1の速度を用いて移動体1の姿勢を推定する方法は、移動体1が移動している場合にのみ移動体1の姿勢を推定することが可能であり、移動体1がその場で回転して向きだけを変える場合には移動体1の姿勢を推定することができない。以下、移動体1がその場で回転して向きだけを変える動きのことを「ピボットターン」という。
 ここでは、ピボットターンをした場合における移動体1の姿勢の推定について説明する。上記と同様、移動体1の姿勢の推定は、姿勢推定部33が行う。
 図6に示すように、移動体1の回転中心とUWBタグ6との間に予め定められたオフセットを持たせるために、UWBタグ6を回転中心から離れた位置に設ける。なお、図6において、円は上方から見た移動体1の外形を示しており、円の中心は移動体の回転中心に相当する。
 図6に示すように回転中心とUWBタグ6の位置との間に下記の式(4)で表されるオフセットがある場合、UWBタグ6の絶対位置X,Yは、図7に示すように下記の式(5)で表される。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
 一方、UWBタグ6の位置における絶対速度VX,U,VY,Uは、式(5)を時間微分した下記の式(6)で表される。
Figure JPOXMLDOC01-appb-M000006
 移動体1がピボットターンをする時は、V,Vが0となるため、式(6)は下記の式(7)で表される。
Figure JPOXMLDOC01-appb-M000007
 未知数をX,Y,θとし、既知の変数をX,Y,VX,U,VY,U,ω,l、lとしてニュートン法などを用いて解けば、方位θを求めることができる。具体的には、下記の式(8)として、f(X,Y,θ)=0を数値的に解く。
Figure JPOXMLDOC01-appb-M000008
 ニュートン法の場合は、下記の式(9),(10)、およびkを反復数とした際に、下記の式(11)として反復して解けばよい。
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
Figure JPOXMLDOC01-appb-M000011
 ここで、Jは下記の式(12)で表される。
Figure JPOXMLDOC01-appb-M000012
 <電波測位装置8による測位結果を使用することができない場合に、移動体1の位置および姿勢の推定を継続する方法>
 電波測位装置8による測位結果を使用することができない場合に、移動体1の位置および姿勢の推定を継続する方法として、以下では、拡張カルマンフィルタを用いる方法について説明する。移動体1の位置および姿勢の推定の維持は、位置姿勢推定部34が行う。
 なお、拡張カルマンフィルタに限らず、パーティクルフィルタなどのベイジアンフィルタであれば、以下で説明する方法を元に適用することができる。
 ベイジアンフィルタの基本的な考え方として、時間発展ステップと観測更新ステップとがある。
 時間発展ステップでは、移動体1の動作をモデル化した状態方程式を用いて、移動体1の位置および姿勢を推定する。
 観測更新ステップでは、電波測位装置8および画像測位装置7のうちの少なくとも一方による測位結果(観測値)を用いて、時間発展ステップで推定した移動体1の位置および姿勢を補正する。観測更新ステップにおいて、もし電波測位装置8および画像測位装置7による測位結果が得られない場合は、時間発展ステップで推定した移動体1の位置および姿勢を補正せずに出力することによって、移動体1の位置および姿勢の推定を継続することができる。
 なお、観測更新ステップでは、電波測位装置8または画像測位装置7の一方による測位結果を用いて時間発展ステップで推定した移動体1の位置および姿勢を補正してもよく、電波測位装置8および画像測位装置7のそれぞれによる測位結果を組み合わせて時間発展ステップで推定した移動体1の位置および姿勢を補正してもよい。電波測位装置8および画像測位装置7のそれぞれによる測位結果を組み合わせる場合は、より高精度で移動体1の位置および姿勢を補正することができる。
 <時間発展ステップ>
 以下では、時間発展ステップで用いる状態方程式について説明する。時間発展ステップでは、内界センサ2が検出した内界情報と、後述する速度動作モデルまたはオドメトリ動作モデルなどの状態方程式とを用いて、移動体1の位置および姿勢を推定する。
 <状態方程式>
 移動体1の自己位置推定に拡張カルマンフィルタを適用するための状態方程式について説明する。なお、移動体1は、二次元平面上を移動することを想定する。以下では、移動体の動作モデルとしてよく利用される速度動作モデルおよびオドメトリ動作モデルについて説明する。
 なお、速度動作モデルおよびオドメトリ動作モデルにおける共通の状態ベクトルは、絶対座標系における時刻kの位置X,Yおよび姿勢θを用いて下記の式(13)で表される。
Figure JPOXMLDOC01-appb-M000013
 <速度動作モデル>
 図8は、速度動作モデルを説明するための図である。図8では、絶対座標系(X,Y)における移動体1の絶対位置および姿勢を(X,Y,θ)としている。
 移動体1の駆動輪には、オムニホイールを採用しており、前後左右の速度v、vおよび角速度ωのコマンドを入力とすることによって動作する。これらのコマンドは、まとめて下記の式(14)で表される。
Figure JPOXMLDOC01-appb-M000014
 式(14)に示すuは移動体座標系に対するコマンドであるため、絶対座標系における連続時間状態方程式は下記の式(15)で表される。
Figure JPOXMLDOC01-appb-M000015
 移動体1の自己位置推定に拡張カルマンフィルタを適用するために離散時間Δtで離散化を行うと、速度動作モデルにおける離散時間状態方程式は、wv,kを時刻kにおけるプロセスノイズとすると下記の式(16)で表される。
Figure JPOXMLDOC01-appb-M000016
 また、速度動作モデルの時刻kにおけるヤコビ行列Fv,kは、下記の式(17)で表される。
Figure JPOXMLDOC01-appb-M000017
 <オドメトリ動作モデル>
 図9は、オドメトリ動作モデルを説明するための図である。
 オドメトリは、通常、移動体座標系における移動体の位置および姿勢を、移動体の車輪などに設けられたエンコーダが検出したエンコーダ情報を積算して得られる。
 オドメトリ動作モデルでは、通常の観測量としてオドメトリを用いるのではなく、入力としてオドメトリを用いることが一般的である。観測量としてオドメトリを用いる場合は状態変数に速度を組み込む必要があるが、入力としてオドメトリを用いる場合は状態変数に速度を組み込む必要がない。状態変数に速度を組み込む場合はコントローラと数学モデルとの間のずれが誤差として加わるため、入力としてオドメトリを用いるオドメトリ動作モデルの方が精度が良い場合がある。
 オドメトリは、移動体座標系における移動体の位置および姿勢を表しているため、これらを絶対座標系に変換する場合は、現在時刻と前回時刻とのオドメトリの相対的な移動の情報を用いる。移動体座標系において、時刻kおよび時刻k-1の移動体1の位置および姿勢は、下記の式(18),(19)で表される。
Figure JPOXMLDOC01-appb-M000018
Figure JPOXMLDOC01-appb-M000019
 また、オドメトリを用いた入力は、下記の式(20)で表される。
Figure JPOXMLDOC01-appb-M000020
 式(18),(19)で表される移動体1の位置および姿勢を用いて、式(20)で表されるオドメトリを用いた入力から、移動体1の相対的な移動および回転を下記の式(21),(22),(23)のように定義することができる。
Figure JPOXMLDOC01-appb-M000021
Figure JPOXMLDOC01-appb-M000022
Figure JPOXMLDOC01-appb-M000023
 上記より、オドメトリ動作モデルにおける離散時間状態方程式は、wo,kを時刻kにおけるプロセスノイズとして下記の式(24)で表される。
Figure JPOXMLDOC01-appb-M000024
 また、オドメトリ動作モデルの時刻kにおけるヤコビ行列Fo,kは、下記の式(25)で表される。
Figure JPOXMLDOC01-appb-M000025
 <観測更新ステップ>
 以下では、観測更新ステップで用いる観測方程式について説明する。観測更新ステップでは、画像測位装置7の測位結果、または電波測位装置8の測位結果を取得した場合に観測更新を行う。観測更新には、画像測位装置7の測位結果、または電波測位装置8の測位結果から得られるヤコビアンを用いる。
 <画像測位装置7の測位結果に対する観測方程式>
 画像測位装置7はQRコードの情報を読み取ることによって移動体1の位置および方位を検出することが可能であるため、時刻kにおける画像測位装置7の測位結果(QRコードの測位)に対する観測方程式は、下記の式(26)で表される。
Figure JPOXMLDOC01-appb-M000026
 ここで、vQ,kは、時刻kにおけるQRコード測位時の観測ノイズである。CのヤコビアンHは、下記の式(27)で表される。拡張カルマンフィルタでは、観測行列としてヤコビアンHを用いる。
Figure JPOXMLDOC01-appb-M000027
 <電波測位装置8の測位結果に対する観測方程式>
 電波測位装置8は移動体1の絶対位置を測位するが、測位した絶対位置に基づく移動体1の絶対速度から移動体1の姿勢を推定することができる。従って、移動体1の姿勢を推定するか否かに応じて観測方程式を使い分ける必要がある。
 <移動体1の姿勢を推定しない場合>
 電波測位装置8の測位結果(移動体1の絶対位置)を用いて移動体1の姿勢を推定しない場合は、移動体1の絶対位置のみで観測方程式を構成する必要がある。
 UWBタグ6にオフセットを持たせている場合は、数cm程度オフセットしてUWBタグ6が設けられている(移動体1の回転中心から数cmのオフセット分だけ離した位置にUWBタグ6が設けられている)ため、そのことを考慮する必要がある。
 上記より、観測方程式は、下記の式(28)で表される。
Figure JPOXMLDOC01-appb-M000028
 ここで、vU,kは、時刻kにおける移動体1の絶対位置を測位する際の観測ノイズである。CのヤコビアンHは、下記の式(29)で表される。拡張カルマンフィルタでは、観測行列としてヤコビアンHを用いる。
Figure JPOXMLDOC01-appb-M000029
 <移動体1の姿勢を推定する場合>
 電波測位装置8の測位結果(移動体1の絶対位置)を用いて移動体1の姿勢を推定する場合は、姿勢も観測可能となるため、観測方程式は下記の式(30)で表される。
Figure JPOXMLDOC01-appb-M000030
 ここで、v U,kは、時刻kにおける移動体1の絶対位置の測位および方位推定の際の観測ノイズである。C のヤコビアンH は、下記の式(31)で表される。拡張カルマンフィルタでは、観測行列としてヤコビアンH を用いる。
Figure JPOXMLDOC01-appb-M000031
 <画像測位装置7の測位結果と、電波測位装置8の測位結果とを結合させる場合>
 画像測位装置7の測位結果と、電波測位装置8の測位結果とを同時に取得することができる場合は、例えば、下記の式(32)で示す観測ベクトルyとし、下記の式(33)で示す統合された観測行列Hとする。この場合、画像測位装置7の測位結果と、電波測位装置8の測位結果とを結合させた場合における移動体1の位置および姿勢の推定を行うことができる。これにより、移動体1の位置および姿勢の推定結果の信頼性を高めることができる。
Figure JPOXMLDOC01-appb-M000032
Figure JPOXMLDOC01-appb-M000033
 <拡張カルマンフィルタのフローチャート>
 図10は、拡張カルマンフィルタによる処理の一例を示すフローチャートである。
 ステップS1において、位置姿勢推定部34は、内界センサ2が検出した内界情報を内界情報取得部32から取得する。
 ステップS2において、位置姿勢推定部34は、上述で説明した時間発展ステップに係る処理を実行する。
 ステップS3において、位置姿勢推定部34は、画像測位装置7が測位した移動体1の絶対位置および姿勢を位置姿勢取得部311から取得し、電波測位装置8が測位した移動体1の絶対位置をセンサ位置取得部312から取得する。これらの情報は、少なくとも一方から取得してもよく、両方から同時に取得してもよい。
 ステップS4において、位置姿勢推定部34は、ステップS3において位置姿勢取得部311およびセンサ位置取得部312のうちの少なくとも一方から絶対位置または姿勢(観測値)を取得したか否かを判定する。観測値を取得した場合は、ステップS5に移行する。一方、観測値を取得しなかった場合は、ステップS6に移行する。
 ステップS5において、位置姿勢推定部34は、上述で説明した観測更新ステップに係る処理を実行する。
 ステップS6において、位置姿勢推定部34は、推定した移動体1の位置および姿勢を移動体制御装置4に出力する。
 <効果>
 実施の形態1によれば、センサ位置取得部312が取得した絶対位置のみを用いて移動体1の姿勢を推定することができる。これにより、広範囲で移動ロボットを制御する場合であってもコストを抑制することが可能となる。
 また、画像測位装置7および電波測位装置8の測位結果を用いることができない場合であっても、移動体1の位置および姿勢を継続して推定することができる。
 <実施の形態2>
 図11は、実施の形態2による位置姿勢推定装置35の構成の一例を示すブロック図である。
 図11に示すように、画像測位装置76は時刻同期部77を備え、電波測位装置86は時刻同期部87を備え、位置姿勢推定装置35は時刻同期部36を備えている。その他の構成および動作は、実施の形態1と同様であるため、ここでは詳細な説明を省略する。
 画像測位装置76が時刻同期部77を備え、電波測位装置86が時刻同期部87を備え、位置姿勢推定装置35が時刻同期部36を備えることによって、画像測位装置76、電波測位装置86、および位置姿勢推定装置35の時刻を同期する。時刻を同期する方法としては、時刻同期サーバ(NTP:Network Time Protocol)を用いる方法、あるいは、屋外の場合にはGPSを用いる方法がある。これにより、通信ネットワーク9を介することによって生じる時間遅れ(伝送遅延)を補正し、移動体1の位置および姿勢の推定精度の劣化を防ぐことができる。
 また、時間遅れには、画像測位装置76および電波測位装置86の各負荷状況によって、測位情報に時間的なばらつきが存在する。図11に示す構成では、このような時間遅れにも対応することができる。
 <時間遅れを補正する方法>
 図12は、時間遅れの補正を説明するための図である。図12において、測位装置は、画像測位装置76および電波測位装置86のうちの少なくとも一方である。時間遅れの補正は、位置姿勢推定装置35の位置姿勢推定部34が行う。
 図12に示すように、位置姿勢推定部34は、内界センサ2が検出した内界情報をバッファしておく。そして、位置姿勢推定部34は、測位装置が移動体1を検出した時刻までさかのぼり、当該さかのぼった時点で観測更新を行ってから、現在時刻まで時間発展する。
 ここで、図12に示す各記号とその説明は、下記の通りである。
  t ,t :測位装置が移動体1を検出した時刻。実際には、ばらつきのある処理時間後に位置姿勢推定装置35に送信される。また、位置姿勢推定装置35に測位結果が届くまでに通信遅延時間分だけ遅れる(処理遅延)。
  t 、t 、t :移動体1に設けられている内界センサ2の検出時刻。ほぼ遅延なく検出されるが、位置姿勢推定装置35に内界情報が届くまでに通信遅延時間分だけ遅れる(処理遅延)。
  t ,t ,t ,t :位置姿勢推定装置3の動作時刻。内界センサ2から受信した内界情報は、このタイミングでバッファされる。また、図12において、現在時刻はt であり、この時刻における移動体1の位置および姿勢を推定する必要がある。
  t1’ :測位装置による測位結果を位置姿勢推定装置35が受信した時刻。
 遅延補償を行うために、位置姿勢推定部34は、時刻t1’ で測位装置による測位結果を受信し、位置姿勢推定装置35が動作する時刻t で下記の各ステップの処理を実行する。
  第1ステップ:時刻t においてバッファされた内界情報を抽出する。
  第2ステップ:オドメトリ動作モデルまたは速度動作モデルを用いて、時刻t まで時間更新する(時間発展ステップ)。
  第3ステップ:時刻t で観測更新する(観測更新ステップ)。
  第4ステップ:オドメトリ動作モデルまたは速度動作モデルを用いて、時刻t まで時間更新する(時間発展ステップ)。
  第5ステップ:時刻t までバッファされた内界情報を用いて時間更新する(時間発展ステップ)。
 上記の各ステップの処理を実行することによって、位置姿勢推定部34は遅延補償を行うことができる。
 <実施の形態3>
 図13は、実施の形態3による位置姿勢推定装置35の構成の一例を示すブロック図である。
 図13に示すように、位置姿勢推定装置35は、移動体11とは別に設けられている。また、位置姿勢推定装置35は、画像測位装置76、電波測位装置86、および移動体11と通信ネットワーク9を介して通信可能に接続されている。すなわち、位置姿勢推定装置35、画像測位装置76、電波測位装置86、および移動体11は、位置姿勢推定システムを構成している。移動体11は、時刻同期部12を備えている。これにより、画像測位装置76、電波測位装置86、位置姿勢推定装置35、および移動体11の時刻を同期することが可能となる。なお、時刻を同期する方法は、実施の形態2で説明した方法と同様でよい。その他の構成および動作は、実施の形態2と同様であるため、ここでは詳細な説明を省略する。
 移動体11と位置姿勢推定装置35とを別個に設けることによって、移動体11の構成を簡素化することができる。
 <ハードウェア構成>
 実施の形態1で説明した位置姿勢推定装置3における位置姿勢取得部311、センサ位置取得部312、内界情報取得部32、姿勢推定部33、および位置姿勢推定部34の各機能は、処理回路により実現される。すなわち、位置姿勢推定装置3は、画像測位装置7から移動体1の絶対位置および姿勢を取得し、電波測位装置8から移動体1の絶対位置を取得し、内界センサ2から内界情報を取得し、移動体1の姿勢を推定し、移動体1の位置および姿勢を推定するための処理回路を備える。処理回路は、専用のハードウェアであってもよく、メモリに格納されるプログラムを実行するプロセッサ(CPU、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)ともいう)であってもよい。
 処理回路が専用のハードウェアである場合、図14に示すように、処理回路100は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものが該当する。位置姿勢取得部311、センサ位置取得部312、内界情報取得部32、姿勢推定部33、および位置姿勢推定部34の各機能をそれぞれ処理回路100で実現してもよく、各機能をまとめて1つの処理回路100で実現してもよい。
 処理回路100が図15に示すプロセッサ101である場合、位置姿勢取得部311、センサ位置取得部312、内界情報取得部32、姿勢推定部33、および位置姿勢推定部34の各機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアは、プログラムとして記述され、メモリ102に格納される。プロセッサ101は、メモリ102に記録されたプログラムを読み出して実行することにより、各機能を実現する。すなわち、位置姿勢推定装置3は、画像測位装置7から移動体1の絶対位置および姿勢を取得するステップ、電波測位装置8から移動体1の絶対位置を取得するステップ、内界センサ2から内界情報を取得するステップ、移動体1の姿勢を推定するステップ、移動体1の位置および姿勢を推定するステップが結果的に実行されることになるプログラムを格納するためのメモリ102を備える。また、これらのプログラムは、位置姿勢取得部311、センサ位置取得部312、内界情報取得部32、姿勢推定部33、および位置姿勢推定部34の手順または方法をコンピュータに実行させるものであるともいえる。ここで、メモリとは、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、DVD(Digital Versatile Disc)等、または、今後使用されるあらゆる記憶媒体であってもよい。
 なお、位置姿勢取得部311、センサ位置取得部312、内界情報取得部32、姿勢推定部33、および位置姿勢推定部34の各機能について、一部の機能を専用のハードウェアで実現し、他の機能をソフトウェアまたはファームウェアで実現するようにしてもよい。
 このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
 なお、上記では、実施の形態1で説明した位置姿勢推定装置3のハードウェア構成について説明したが、実施の形態2,3で説明した位置姿勢推定装置35のハードウェア構成についても同様である。
 なお、本開示の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。
 本開示は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、限定的なものではない。例示されていない無数の変形例が想定され得るものと解される。
 1 移動体、2 内界センサ、3 位置姿勢推定装置、4 移動体制御装置、5 アクチュエータ、6 UWBタグ、7 画像測位装置、8 電波測位装置、9 通信ネットワーク、10 移動体、11 移動体、12 時刻同期部、21 IMU、22 オドメータ、23 エンコーダ、31 測位情報取得部、32 内界情報取得部、33 姿勢推定部、34 位置姿勢推定部、35 位置姿勢推定装置、36 時刻同期部、71,72 カメラ、73 カメラ測位処理部、74,75 カメラ検出範囲、76 画像測位部、77 時刻同期部、81,82,83 UWBアンカー、84 UWB測位処理部、85 UWB検出範囲、86 電波測位部、87 時刻同期部、100 処理回路、101 プロセッサ、102 メモリ、311 位置姿勢取得部、312 センサ位置取得部。

Claims (7)

  1.  移動体に設けられたセンサの絶対位置を取得するセンサ位置取得部と、
     前記移動体の内界情報を取得する内界情報取得部と、
     前記センサ位置取得部が取得した前記センサの絶対位置、および前記内界情報取得部が取得した前記内界情報のうちの少なくとも1つに基づいて前記移動体の姿勢を推定する姿勢推定部と、
     前記センサ位置取得部が取得した前記センサの絶対位置、および前記姿勢推定部が推定した前記移動体の姿勢と、前記内界情報取得部が取得した前記内界情報とのうちの少なくとも1つに基づいて、前記移動体の位置および姿勢を推定する位置姿勢推定部と、
    を備える、位置姿勢推定装置。
  2.  前記移動体の絶対位置および姿勢を取得する位置姿勢取得部をさらに備え、
     前記位置姿勢推定部は、前記センサ位置取得部が取得した前記センサの絶対位置、および前記姿勢推定部が推定した前記移動体の姿勢と、前記内界情報取得部が取得した前記内界情報と、前記位置姿勢取得部が取得した前記移動体の絶対位置および姿勢とのうちの少なくとも1つに基づいて、前記移動体の位置および姿勢を推定する、請求項1に記載の位置姿勢推定装置。
  3.  前記姿勢推定部は、前記センサ位置取得部が取得した前記センサの絶対位置と、前記内界情報取得部が取得した前記内界情報から求めた前記移動体の横滑りとに基づいて前記移動体の姿勢を推定する、請求項1または2に記載の位置姿勢推定装置。
  4.  前記姿勢推定部は、前記センサ位置取得部が取得した前記センサの絶対位置の時系列に基づいて前記移動体の姿勢を推定する、請求項1または2に記載の位置姿勢推定装置。
  5.  前記センサは、前記移動体の回転中心から予め定められた間隔を空けた位置に設けられている、請求項1から4のいずれか1項に記載の位置姿勢推定装置。
  6.  移動体に設けられたセンサの絶対位置を検出するセンサ位置検出装置と、
     前記移動体に設けられ、前記移動体の内界情報を検出する内界センサと、
     前記移動体とは離れた位置に設けられ、前記移動体の位置および姿勢を推定する位置姿勢推定装置と、
    を備える位置姿勢推定システムであって、
     前記センサ位置検出装置、前記内界センサ、および前記位置姿勢推定装置は、通信ネットワークを介して接続され、
     前記位置姿勢推定装置は、前記センサ位置検出装置と前記内界センサとの処理遅延、および前記通信ネットワークの伝送遅延を補正し、現在時刻における前記移動体の位置および姿勢を推定する、位置姿勢推定システム。
  7.  移動体の絶対位置を検出するために使用されるセンサを前記移動体に設置するセンサ設置方法であって、
     前記センサを前記移動体の回転中心から予め定められた間隔を空けた位置に設置する、センサ設置方法。
PCT/JP2022/007288 2022-02-22 2022-02-22 位置姿勢推定装置、位置姿勢推定システム、およびセンサ設置方法 WO2023162017A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022539384A JPWO2023162017A1 (ja) 2022-02-22 2022-02-22
PCT/JP2022/007288 WO2023162017A1 (ja) 2022-02-22 2022-02-22 位置姿勢推定装置、位置姿勢推定システム、およびセンサ設置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/007288 WO2023162017A1 (ja) 2022-02-22 2022-02-22 位置姿勢推定装置、位置姿勢推定システム、およびセンサ設置方法

Publications (1)

Publication Number Publication Date
WO2023162017A1 true WO2023162017A1 (ja) 2023-08-31

Family

ID=87765143

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/007288 WO2023162017A1 (ja) 2022-02-22 2022-02-22 位置姿勢推定装置、位置姿勢推定システム、およびセンサ設置方法

Country Status (2)

Country Link
JP (1) JPWO2023162017A1 (ja)
WO (1) WO2023162017A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346477A (ja) * 2004-06-03 2005-12-15 Toshiba Tec Corp 自律走行体
WO2006126535A1 (ja) * 2005-05-23 2006-11-30 National University Corporation NARA Institute of Science and Technology 状態推定装置、状態推定方法、状態推定プログラム、およびコンピュータ読取可能な記録媒体
JP2011174771A (ja) * 2010-02-24 2011-09-08 Clarion Co Ltd 位置推定装置および位置推定方法
JP2017531423A (ja) * 2014-10-10 2017-10-26 アイロボット コーポレイション ロボット芝刈り境界線決定
WO2021005685A1 (ja) * 2019-07-08 2021-01-14 三菱電機株式会社 移動体の誘導制御装置および誘導制御システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346477A (ja) * 2004-06-03 2005-12-15 Toshiba Tec Corp 自律走行体
WO2006126535A1 (ja) * 2005-05-23 2006-11-30 National University Corporation NARA Institute of Science and Technology 状態推定装置、状態推定方法、状態推定プログラム、およびコンピュータ読取可能な記録媒体
JP2011174771A (ja) * 2010-02-24 2011-09-08 Clarion Co Ltd 位置推定装置および位置推定方法
JP2017531423A (ja) * 2014-10-10 2017-10-26 アイロボット コーポレイション ロボット芝刈り境界線決定
WO2021005685A1 (ja) * 2019-07-08 2021-01-14 三菱電機株式会社 移動体の誘導制御装置および誘導制御システム

Also Published As

Publication number Publication date
JPWO2023162017A1 (ja) 2023-08-31

Similar Documents

Publication Publication Date Title
US20230194266A1 (en) Vision-aided inertial navigation
US10867409B2 (en) Methods and systems to compensate for vehicle calibration errors
CN111052183B (zh) 利用事件相机的视觉惯性里程计
CN111273655B (zh) 用于自动驾驶车辆的运动规划方法和系统
US10788830B2 (en) Systems and methods for determining a vehicle position
EP3118705B1 (en) Map production method, mobile robot, and map production system
EP2856273B1 (en) Pose estimation
CN110554376A (zh) 用于运载工具的雷达测程法
US11906983B2 (en) System and method for tracking targets
EP1898181A1 (en) Method and system for autonomous vehecle navigation
KR20150088636A (ko) 위치 추정 장치 및 방법
US20200159238A1 (en) Detecting a location of an autonomous device
CN109141411B (zh) 定位方法、定位装置、移动机器人及存储介质
JP5733518B2 (ja) 運動予測制御装置と方法
WO2019202806A1 (ja) 自己位置推定方法
CN110637209A (zh) 估计机动车的姿势的方法、设备和具有指令的计算机可读存储介质
WO2023162017A1 (ja) 位置姿勢推定装置、位置姿勢推定システム、およびセンサ設置方法
CN117015719A (zh) 用于确定刚体的运动状态的方法
JP7167982B2 (ja) 出力装置、出力方法及び出力プログラム
CN111738047A (zh) 自身位置推测方法
WO2019053986A1 (ja) 自己位置推定装置と自己位置推定方法とプログラムおよび移動体装置
KR100575108B1 (ko) 비전 센서를 이용하여 다수 비행체를 도킹시키는 방법
Li et al. Indoor Localization for an Autonomous Model Car: A Marker-Based Multi-Sensor Fusion Framework
RU2769440C1 (ru) Способ комплексирования разнородной навигационной информации для позиционирования наземного транспортного средства
WO2023067892A1 (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2022539384

Country of ref document: JP

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

Ref document number: 22928548

Country of ref document: EP

Kind code of ref document: A1