Autonomous mobile device, control method, and program

CN116261697BActive Publication Date: 2026-09-25SONY GROUP CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180067341.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-10-09
Filing Date
2021-09-24
Publication Date
2026-09-25
Estimated Expiration
2041-09-24

AI Technical Summary

Benefits of technology

[0007]发明要解决的问题

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116261697B_ABST
    Figure CN116261697B_ABST
Patent Text Reader

Abstract

The present disclosure relates to an autonomous mobile device, a control method, and a program that can perform faster self-position estimation more accurately with less computational load. An autonomous mobile device is provided that is provided with a sensor unit including at least a first sensor that detects an angular velocity, a second sensor that is provided in a housing and detects a speed of a wheel, and a third sensor that detects a displacement in a two-dimensional plane, and a self-position estimation unit that estimates a self-position based on parameters calculated by the sensor unit, wherein the self-position estimation unit uses, among the parameters of the sensors calculated by the sensor unit, a prescribed parameter that satisfies a prescribed condition when estimating the self-position. The present disclosure is applicable, for example, to an autonomous mobile robot device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to autonomous mobile devices, control methods and procedures, and more specifically, to autonomous mobile devices, control methods and procedures that enable faster self-position estimation with higher accuracy and less computational load. Background Technology

[0002] In recent years, research and development of robots with autonomous mobility capabilities have been actively carried out. In this type of autonomous mobile robot, the ability to determine its own position is essential.

[0003] As a technique related to such self-position estimation, there is, for example, the technique disclosed in Patent Document 1. Patent Document 1 discloses a technique for switching parameters used for self-position estimation according to the travel environment during travel.

[0004] Citation List

[0005] Patent documents

[0006] Patent Document 1: Japanese Patent Application Publication No. 2020-95339 Summary of the Invention

[0007] The problem the invention aims to solve

[0008] The technology disclosed in Patent Document 1 can improve the accuracy of self-position estimation, but in self-position estimation, it is necessary to reduce the computational load and increase the speed while improving the accuracy.

[0009] This disclosure is made in view of the circumstances and is intended to enable faster self-position estimation with higher accuracy and less computational load.

[0010] Solution to the problem

[0011] According to one aspect of this disclosure, the autonomous mobile device is an autonomous mobile device comprising: a sensor unit including at least a first sensor for detecting angular velocity, a second sensor mounted in a housing for detecting wheel velocity, and a third sensor for detecting displacement in a two-dimensional plane; and a self-position estimation unit that estimates its own position based on parameters calculated by the sensor unit, wherein the self-position estimation unit uses predetermined parameters suitable for predetermined conditions from among the parameters of the various sensors calculated by the sensor unit when estimating its own position.

[0012] According to one aspect of the present disclosure, the control method includes: an autonomous mobile device estimating its own position based on parameters calculated by a sensor unit, the sensor unit including at least a first sensor for detecting angular velocity, a second sensor mounted in a housing for detecting wheel velocity, and a third sensor for detecting displacement in a two-dimensional plane, wherein, when estimating its own position, predetermined parameters suitable for predetermined conditions are used among the parameters calculated by the sensor unit for each sensor.

[0013] According to one aspect of this disclosure, a procedure is used to enable a computer to function as an autonomous mobile device, the autonomous mobile device comprising: a sensor unit including at least a first sensor for detecting angular velocity, a second sensor mounted in a housing for detecting wheel velocity, and a third sensor for detecting displacement in a two-dimensional plane; and a self-position estimation unit that estimates its own position based on parameters calculated by the sensor unit, wherein the self-position estimation unit, in estimating its own position, uses predetermined parameters suitable for predetermined conditions from among the parameters calculated by the sensor unit for each sensor.

[0014] In the autonomous moving devices, control methods, and procedures according to various aspects of this disclosure, the self-position is estimated based on parameters calculated by a sensor unit, which includes at least a first sensor for detecting angular velocity, a second sensor mounted in a housing for detecting wheel speed, and a third sensor for detecting displacement in a two-dimensional plane. Furthermore, when estimating the self-position, predetermined parameters suitable for predetermined conditions are used among the parameters calculated by the sensor unit from each sensor.

[0015] Note that the autonomous mobile device according to aspects of this disclosure may be a standalone device or an internal block constituting a device. Attached Figure Description

[0016] Figure 1 This is a view showing a first example of the configuration of the robot device to which the present disclosure is applied.

[0017] Figure 2 This is a second example view showing the configuration of the robot device to which the present disclosure is applied.

[0018] Figure 3 This is a view showing examples of the constituent elements of a robotic device to which this disclosure is applied.

[0019] Figure 4 This is a diagram illustrating an example of the functional configuration of a robotic device applying the present disclosure.

[0020] Figure 5 It is a flowchart used to describe the processing related to the IMU.

[0021] Figure 6 It is a flowchart used to describe the processing related to the wheel encoder when traveling at low speeds.

[0022] Figure 7 It is a flowchart used to describe the processing related to the wheel encoder during high-speed travel.

[0023] Figure 8 This is a flowchart illustrating the processing related to the mouse sensor.

[0024] Figure 9 This is a flowchart illustrating the processing related to UWB or GNSS units.

[0025] Figure 10 This is a flowchart illustrating the processing related to the line sensor.

[0026] Figure 11 This is a diagram showing an example of a computer configuration. Specific Implementation

[0027] <1. Embodiments of this technology>

[0028] (Exterior configuration)

[0029] Figure 1 and Figure 2 An example of the external configuration of the robotic device to which this disclosure is applied is shown. Figure 1 Top view, front view and side view of the robotic device applying the present disclosure are shown. Figure 2 A view showing the state in which the display in the robotic device to which this disclosure is applied has been moved.

[0030] Robotic device 10 is an autonomous robot. Furthermore, robotic device 10 is a mobile robot (autonomous mobile robot) with a locomotion mechanism such as wheels, and can move freely in space.

[0031] The robot device 10 has a generally cuboid shape and a display on its upper surface capable of displaying information such as video. In the robot device 10, the display (screen) on the upper surface is movable and can be adjusted to a desired angle relative to a plane (such as a floor surface or a moving surface on the ground) to fix its posture.

[0032] (Constructing elements)

[0033] Figure 3 Examples of the constituent elements of a robotic device applying the present disclosure are shown. Figure 3In the robot device 10, there are: a control unit 101 for controlling the operation of each unit, a video display unit 102 including a display for showing video, and a screen lifting and lowering unit 103 including a mechanism for lifting or lowering the video display unit 102.

[0034] exist Figure 3 In this configuration, a thin, plate-shaped video display unit 102, mounted on the upper surface of the housing of the robot device 10, is moved and fixed in a desired posture via a screen lifting and lowering unit 103. In this way, the video display unit 102 can move around its lower end within the robot device 10, and when the video display unit 102 is opened upwards, the interior of the housing is exposed to the outside.

[0035] The robot device 10 includes a left motor encoder 104-1, a left motor 105-1, a right motor encoder 104-2, and a right motor 105-2. The robot device 10 uses a differential two-wheel drive type and can move via the left and right wheels when the left motor 105-1 and right motor 105-2 operate independently. The left motor encoder 104-1 and right motor encoder 104-2 detect the rotational movement of the left motor 105-1 and right motor 105-2, etc.

[0036] The robot device 10 includes various sensors, such as sensors 106-1 to 106-3. Sensor 106 includes an inertial measurement unit (IMU), etc. The robot device 10 uses sensor signals detected by the various sensors to operate as an autonomous mobile robot. Battery unit 107 supplies power to the various units of the robot device 10.

[0037] (Function Configuration)

[0038] Figure 4 An example of the functional configuration of the robotic device applying this disclosure is shown.

[0039] The robot device 10 includes a main CPU 151, an IMU 161, a wheel speed sensor 162, a mouse sensor 163, a UWB unit 164, a GNSS unit 165, and a line detection sensor 166. The main CPU 151 includes... Figure 3 In the control unit 101, either IMU 161 or the line detection sensor 166 corresponds to Figure 3 Sensors 106-1 to 106-3 are included.

[0040] The main CPU 151 includes an integrator calculator 171, a vehicle speed converter 172, a coordinate system converter 173, an integrator calculator 174, a coordinate system converter 175, a direction of travel calculator 176, an outlier removal and moving average unit 177, a direction of travel calculator 178, an outlier removal and moving average unit 179, a direction of travel calculator 180, a fusion unit 181, and a controller 182.

[0041] IMU 161 detects angular velocity and acceleration using a three-axis gyroscope and a three-axis accelerometer. Here, the Z-axis angular velocity (GyroZ value) from the three-axis angular velocities (gyroscope values) is integrated and used to obtain the travel direction of the device body. That is, the integrator calculator 171 performs an integral calculation (yaw angle calculation) on the Z-axis angular velocity detected by IMU 161 to calculate the attitude angle of the device body. Note that in the following description, the physical structure of the robot device 10 is also referred to as the device body.

[0042] Note that an IMU with a compass mounted on it exists, but the compass is affected by the metal parts of the device and the surrounding environment, and therefore the compass is not used in this paper. Furthermore, regarding acceleration, for example in the case of a high-speed moving robotic device, due to relatively large vibrations, acceleration can only be used to estimate the direction of gravity when the device is stationary.

[0043] In this way, IMU 161 is used to estimate the direction of travel of the device body using the Z-axis angular velocity; however, it is affected by gyroscope drift, and therefore, regarding the absolute orientation error, position information (absolute position) obtained by UWB unit 164 or GNSS unit 165 can be used. Note that as IMU 161, an IMU with six or more axes can be used to estimate the direction of gravity, but a single-axis gyroscope can be used instead. Furthermore, a gyroscope sensor can be used instead of IMU 161.

[0044] The wheel speed sensor 162 is a wheel encoder or similar device that is mounted separately from the drive wheel (mounted in the housing). Because the wheel speed sensor 162 is mounted in a part other than the drive wheel, slippage does not occur during acceleration or deceleration, and the distance traveled by the device body in the direction of travel can be obtained with high accuracy. On the other hand, since slippage occurs in directions other than the direction of travel of the device body, the wheel speed sensor 162 is used to estimate the distance moved with respect to the direction of travel of the device body. The vehicle speed converter 172 converts the signal from the wheel speed sensor 162 into the speed of the device body.

[0045] Note that an encoder mounted in the drive wheel can be used when the road surface (e.g., a road surface on which slippage occurs almost nonexistent) is in a condition or when the indicated acceleration and deceleration are less than predetermined values. Furthermore, the wheel speed sensor 162 is not limited to an encoder, and an angle detector such as a Hall sensor or a resolver can be used.

[0046] Mouse sensor 163 is an optical or laser mouse sensor, etc. Mouse sensor 163 can obtain absolute distance (XY displacement) in the XY plane, but it cannot accurately obtain the amount of movement when the device moves at high speeds. Therefore, mouse sensor 163 is used to estimate the amount of sliding in the vertical direction (lateral direction) about the direction of travel of the device when moving at a low speed below a predetermined speed.

[0047] Furthermore, due to the effects of slippage caused by weight distribution during the spin rotation of a differential two-wheeled robot device, it is usually difficult to keep the center of rotation at a fixed point. Therefore, the positional deviation on the plane can be detected by the XY displacement detected by the mouse sensor 163.

[0048] The attitude angle output from the integrator 171, the velocity output from the vehicle speed converter 172, and the XY displacement output from the mouse sensor 163 are input to the coordinate system converter 173. However, only parameters suitable for predetermined conditions are input to the coordinate system converter 173; for example, the XY displacement is only input during low-speed travel. The coordinate system converter 173 converts the coordinate system of the attitude angle, velocity, and XY displacement input to it from the vehicle coordinate system to the local coordinate system and outputs the local coordinate system to the integrator 174.

[0049] The integrator 174 performs integral calculations on the attitude angles, velocities, and XY displacements input to its local coordinate system, thereby estimating its own position through inertial navigation, and outputs its own position to the coordinate system converter 175. The coordinate system converter 175 converts the coordinate system of its own position input to it from the local coordinate system to the world coordinate system, and outputs the world coordinate system to the fusion unit 181.

[0050] UWB unit 164 acquires location information measured using ultra-wideband (UWB) (e.g., XY coordinate values ​​in the world coordinate system). GNSS unit 165 acquires location information measured using a global navigation satellite system (GNSS) (e.g., latitude and longitude values). GNSS includes satellite positioning systems such as the Global Positioning System (GPS).

[0051] UWB unit 164 and GNSS unit 165 are position sensors capable of obtaining absolute position, but they operate at low speeds. Therefore, when used without any changes, processing methods such as moving averages are difficult to apply when the device is moving at high speeds, and large position errors may occur. However, if it is known in advance that the device is traveling in a straight line, the direction of travel of the device in the global coordinate system during straight-line travel can be obtained with high accuracy based on the difference between the sensor value obtained at the position a certain time ago and the sensor value at the current position.

[0052] However, with these position sensors, the rate is low, and therefore, the orientation can be estimated by performing sensor fusion, such as using orientation calculated from IMU 161 at a high rate and a Kalman filter. That is, when the device body is traveling in a straight line at a speed equal to or higher than a predetermined speed, the direction of travel of the device body based on the Z-axis angular velocity detected by IMU 161 can be corrected using the absolute position (sensor position) obtained by UWB unit 164 or GNSS unit 165.

[0053] When using the absolute position (sensor position) obtained by these position sensors, it is known that both UWB and GNSS are affected by multipath, and therefore, the effects of multipath can be mitigated by using the following moving average value, which is obtained by removing outliers only when the device body is stationary or spinning.

[0054] That is, when the device body is traveling in a straight line at a speed equal to or higher than a predetermined speed, the travel direction calculator 176 calculates the attitude angle of the device body by calculating the travel direction using the XY coordinate values ​​obtained by the UWB unit 164. The outlier removal and moving average unit 177 estimates the current position (XY coordinate values) by using the following moving average value, which is obtained by removing outliers from the XY coordinate values ​​obtained by the UWB unit 164 when the device body is stationary or spinning.

[0055] Furthermore, when the device is traveling in a straight line at a speed equal to or higher than a predetermined speed, the travel direction calculator 178 calculates the attitude angle of the device by calculating the travel direction using the latitude and longitude values ​​acquired by the GNSS unit 165. The outlier removal and moving average unit 179 estimates the current position (XY coordinate values) by removing outliers from the latitude and longitude values ​​acquired by the GNSS unit 165 when the device is stationary or spinning.

[0056] Note that providing at least one of UWB unit 164 or GNSS unit 165 is sufficient. Furthermore, it is possible to install one UWB unit 164 and one GNSS unit 165, and multiple UWB units and multiple GNSS units can be installed. For example, two UWB units 164 and two GNSS units 165 can be installed, and orientation can be detected based on the difference between two coordinate values. Moreover, UWB unit 164 can be used indoors, and GNSS unit 165 can be used outdoors.

[0057] The line detection sensor 166 is a sensor that uses light from a light-emitting diode (LED) or similar source to illuminate a moving surface, such as a floor surface, and identifies the position of a line on the moving surface based on the intensity, color, etc., of the reflected light. For example, in the case where a white line is drawn with high accuracy on a floor surface in a gymnasium or similar venue, the position of the white line can be identified by the line detection sensor 166 when the device moves along the white line.

[0058] Here, when the device is moving in a straight line, the absolute orientation can be obtained based on the difference between the line detection position obtained a certain time ago and the current line detection position. That is, when the device is moving along a line, the travel direction calculator 180 uses the line position detected by the line detection sensor 166 to calculate the travel direction, and then calculates the attitude angle of the device.

[0059] The attitude angles output from the direction of travel calculator 176, the XY coordinates output from the outlier removal and moving average unit 177, the attitude angles output from the direction of travel calculator 178, the XY coordinates output from the outlier removal and moving average unit 179, and the attitude angles output from the direction of travel calculator 180 are input to the fusion unit 181.

[0060] However, the attitude angles from the travel direction calculators 176 and 178 are only input during high-speed straight-line travel. Furthermore, the XY coordinate values ​​from the outlier removal and moving average units 177 and 179 are only input when stationary or undergoing spin rotation. Additionally, the attitude angles from the travel direction calculator 180 are only input during linear travel. That is, only parameters that meet predetermined conditions are input to the fusion unit 181.

[0061] The fusion unit 181 has functions such as a Kalman filter, a complementary filter, or an adder / subtractor for implementing sensor fusion. The fusion unit 181 uses a Kalman filter or similar device to fuse its own position obtained from the coordinate system converter 175 via inertial navigation, and attitude angles and XY coordinate values ​​from the direction-of-flight calculator 176 to the direction-of-flight calculator 180, thereby estimating its own position in the world coordinate system. That is, among parameters obtained from sensor signals detected by the IMU 161, wheel speed sensor 162, mouse sensor 163, UWB unit 164, GNSS unit 165, and line detection sensor 166, the fusion unit 181 obtains its own position based on predetermined parameters suitable for predetermined conditions.

[0062] Because the self-position obtained in this way is selectively used only in areas where each sensor can perform detection with high accuracy, the self-position has high accuracy. Furthermore, since the parameters used in estimating the self-position are limited, computational load is reduced and speed is increased. That is, in the robot device 10, various sensors can be set up as internal and external sensors, but each sensor is only used in areas where it can perform detection (measurement) with high accuracy by utilizing the sensor's characteristics, enabling faster self-position estimation with higher accuracy and lower computational load.

[0063] The robot's own position, obtained by the fusion unit 181, is output to the controller 182 and used for various types of processing to achieve autonomous movement. Furthermore, the controller 182 can control the video display unit, screen lifting and lowering unit 103, etc., based on its own position. Therefore, in the robot device 10, the display and posture of the screen can be changed according to its own position.

[0064] Note that in Figure 4 In the sensor unit 152, the IMU 161, integrator 171, wheel speed sensor 162, vehicle speed converter 172, mouse sensor 163, UWB unit 164, direction of travel calculator 176, outlier removal and moving average unit 177, GNSS unit 165, direction of travel calculator 178, outlier removal and moving average unit 179, line detection sensor 166, and direction of travel calculator 180 constitute the sensor unit 152.

[0065] In addition, Figure 4In this system, the integrator 171, vehicle speed converter 172, coordinate system converter 173, integrator 174, coordinate system converter 175, direction of travel calculator 176, outlier removal and moving average unit 177, direction of travel calculator 178, outlier removal and moving average unit 179, direction of travel calculator 180, and fusion unit 181 constitute the self-position estimation unit 153. That is, the integrator 171, vehicle speed converter 172, direction of travel calculator 176, outlier removal and moving average unit 177, direction of travel calculator 178, outlier removal and moving average unit 179, or direction of travel calculator 180 can be included in either the sensor unit 152 or the self-position estimation unit 153.

[0066] also, Figure 4 The configuration shown is an example, and the shown components can be removed or new components can be added. For example, it is not necessary to set up a line detection sensor 166 and a travel direction calculator 180. In addition, the sensor unit 152 may include a camera device, a distance measurement sensor, a communication module compatible with near-field communication such as Bluetooth (registered trademark), and may be provided with corresponding signal processing circuitry.

[0067] (IMU processing)

[0068] Reference Figure 5 The flowchart describes the processing related to IMU 161.

[0069] In step S11, the gyroscope drift bias of the IMU 161 is estimated. Here, it is known that the output value of the IMU 161's gyroscope includes the offset. Typically, the offset has a very small value, but it accumulates when integrated, and therefore the final relative orientation includes a large error. This phenomenon is called gyroscope drift.

[0070] When the gyroscope drift bias estimation is complete (Yes in S12), the process proceeds to step S13. In step S13, the gyroscope drift of IMU 161 is removed.

[0071] In step S14, gravity direction correction calculation (correction GyroZ calculation) is performed. However, the processing in step S14 can be skipped. In step S15, Z-axis angular velocity (GyroZ value) integration processing is performed. The attitude angle obtained through this integration processing is used for self-position estimation.

[0072] Note that steps S13 to S15 are not limited to rotation in the yaw direction corresponding to the Z-axis angular velocity, and, for example, attitude calculation processing used in an attitude heading reference system (AHRS) can be used.

[0073] (Wheel encoder processing)

[0074] Reference Figure 6 The flowchart describes the processing related to the wheel encoder during low-speed travel. Figure 6 and Figure 7 In this paper, the processing related to the wheel encoder will be described as an example of the processing related to the wheel speed sensor 162.

[0075] In step S31, a detection interrupt is performed using a pulse counter. In step S32, the counting time is calculated. The counting time is calculated using the following formula (1).

[0076] Counting time = Current counting timer - Previous counting timer ... (1)

[0077] In step S33, the speed is calculated by applying the counting time from step S32 to the following equation (2).

[0078] Speed ​​= 1 / counting time × encoder coefficient ... (2)

[0079] In step S34, the travel direction speed and turning speed are calculated by applying the speeds calculated in step S33 to equations (3) and (4) respectively. In this way, the travel direction speed and turning speed obtained when the device body travels at a low speed below a predetermined speed are used for self-position estimation. Note that the "tread" in equation (4) is the distance between the centers of the left and right wheels.

[0080] The speed in the direction of travel = the average of the left and right speeds...(3)

[0081] Turning speed = (right speed - left speed) / tire tread...(4)

[0082] Next, we will refer to Figure 7 The flowchart describes the processing related to the wheel encoder during high-speed travel.

[0083] In step S51, a periodic interrupt is performed by a timer interrupt. For example, the interrupt is performed at a predetermined period such as 10 milliseconds as the interrupt period. In step S52, the interrupt period in step S51 is applied to the following equation (5) to calculate the speed.

[0084] Speed ​​= Count / Interrupt Cycle × Encoder Coefficient ... (5)

[0085] In step S53, the traveling speed and turning speed are calculated by applying the speeds calculated in step S52 to equations (6) and (7), respectively. In this way, the traveling speed and turning speed obtained when the device body is traveling at high speed at a speed equal to or higher than a predetermined speed are used for self-position estimation.

[0086] The speed in the direction of travel = the average of the left and right speeds...(6)

[0087] Turning speed = (right speed - left speed) / tire tread...(7)

[0088] (Mouse sensor processing)

[0089] Reference Figure 8 The flowchart describes the processing related to mouse sensor 163.

[0090] In step S71, it is determined whether the device is traveling at a low speed based on whether the speed of the device body is lower than a predetermined speed. If it is determined in the determination process of step S71 that the device body is traveling at a low speed, the process proceeds to step S72.

[0091] In step S72, the lateral velocity is calculated using the following formula (8), which is the velocity in the direction perpendicular to the direction of travel of the device body (lateral direction). In this way, the lateral velocity obtained when the device body travels at a low speed below a predetermined speed is used for its own position estimation.

[0092] Lateral velocity = Y-bias of mouse sensor × mouse sensor coefficient ... (8)

[0093] (UWB / GNSS processing)

[0094] Reference Figure 9 The flowchart describes the processing related to UWB unit 164 or GNSS unit 165.

[0095] In step S91, it is determined whether the device body is moving at high speed and in a straight line. If it is determined in the determination process of step S91 that the device body is moving at high speed and in a straight line, the process proceeds to step S92.

[0096] In step S92, the attitude angle of the device body is calculated using the following formula (9) based on the sensor position obtained by the UWB unit 164 or the GNSS unit 165.

[0097] Attitude angle = arctan((current Y coordinate - previous Y coordinate) / (current X coordinate - previous X coordinate))……(9)

[0098] On the other hand, if it is determined in step S91 that the device body is not traveling at high speed or in a straight line, the process proceeds to step S93. In step S93, it is determined whether the device body is stationary or is undergoing spin rotation.

[0099] If, in the determination process of step S93, it is determined that the device body is stationary or is undergoing spin rotation, the process proceeds to step S94. In step S94, the sensor position obtained by the UWB unit 164 or the GNSS unit 165 is converted into the origin of the vehicle coordinate system.

[0100] In step S95, the current coordinates (XY coordinate values) are calculated using the moving average obtained by removing outliers from the sensor positions (XY coordinate values) relative to the origin of the vehicle coordinate system. That is, here, the relationship of the following equation (10) is used.

[0101] Current coordinates = moving average after outlier removal...(10)

[0102] In this way, the attitude angles obtained when the device is traveling at high speed and in a straight line are used for self-position estimation. Furthermore, the current coordinates (XY coordinate values) obtained when the device is stationary or undergoing spin rotation are used for self-position estimation. Note that the processing related to UWB unit 164 or GNSS unit 165 ends when the processing in step S92 or S95 is completed, or when it is determined in the determination process of step S93 that the device is not stationary or undergoing spin rotation.

[0103] (Line sensor processing)

[0104] Reference Figure 10 The flowchart describes the processing related to the line detection sensor 166.

[0105] In step S111, it is determined whether the device body is traveling on a line. If it is determined in the determination process of step S111 that the device body is traveling on a line, the process proceeds to step S112. For example, in the robot device 10, when the mode of traveling on a line on the floor surface is set, the time of travel on that line can be determined.

[0106] In step S112, the lateral position of the line is obtained. The lateral position of the line can be, for example, the position in the vertical direction (lateral direction) relative to the traveling direction of the device body. The data of the lateral position of the line is sequentially stored in a memory (not shown), such as random access memory (RAM).

[0107] In step S113, it is determined whether the data on the horizontal position of the line obtained a certain time ago is stored in the memory. If it is determined in the determination process of step S113 that data obtained a certain time ago exists, the process proceeds to step S114.

[0108] In step S114, the lateral position of the line obtained in step S112 is applied to the following formula (11) to calculate the relative angle with the line.

[0109] The relative angle with the line = arctan((the horizontal position of the line obtained a certain time ago - the current horizontal position of the line) / the distance traveled within a certain time) ... (11)

[0110] In this way, the relative angle with the line obtained when the device moves along the line is used for its own position estimation. Note that if it is determined in the determination process of step S111 that the device is not moving along the line, or if it is determined in the determination process of step S113 that there is no data obtained before a certain time, the processing of the line detection sensor 166 ends when the processing of step S114 ends.

[0111] As described above, the robot device 10 applying this disclosure includes: a sensor unit 152, which includes at least an IMU 161, a wheel speed sensor 162, and a mouse sensor 163; and a self-position estimation unit 153, which estimates its own position based on parameters calculated by the sensor unit 152, and when estimating its own position, the self-position estimation unit 153 uses predetermined parameters suitable for predetermined conditions from among the parameters of each sensor calculated by the sensor unit 152. Furthermore, the sensor unit 152 may include sensors such as a UWB unit 164, a GNSS unit 165, or a line detection sensor 166.

[0112] In the robot device 10 that applies this disclosure, the characteristics of each sensor in the sensor unit 152 are utilized to use parameters that can be calculated using the sensor signals that can be detected (measured) with high accuracy by each sensor as predetermined parameters suitable for predetermined conditions, so that faster self-position estimation can be achieved with higher accuracy and less computational load.

[0113] That is, since various self-position estimation methods are used as suitable methods for the operation of the robot device 10, which is capable of high-speed movement, highly accurate self-position estimation can be stably achieved. For example, highly accurate self-position estimation methods are provided for stadiums, venues, etc., where, unlike factories and warehouses, it is difficult to install markers in the surrounding environment. Note that in factories or warehouses, objects used for marking, such as magnetic tags or QR codes, are often installed in the surrounding environment.

[0114] Meanwhile, for the self-position estimation of a robotic device, it is generally known to combine sensors mounted on the device body (internal sensors), such as wheel odometers or IMUs, with sensors mounted in the external environment (external sensors). These external sensors include, for example, camera devices that measure the position of the device body from the outside, or position measurements using GNSS. In general autonomous mobile robotic devices, it is known to employ dead reckoning using internal sensors, map matching using LiDAR, and motion estimation of the device body based on images from camera devices.

[0115] However, in current technology, it is difficult to perform highly accurate self-position estimation when the robot is traveling at relatively high speeds in environments such as wide spaces with few target feature points and where it is not easy to take measures such as adding markers. For example, it is difficult to perform highly accurate self-position estimation at the centimeter level when the robot is traveling at a speed of approximately 3 to 5 m / s.

[0116] Here, when performing self-position estimation using dead reckoning via internal sensors (which is used in general cleaning robots, etc.), the following problems arise. Specifically, when using wheel odometers, in robotic devices requiring high speeds and high acceleration and deceleration, the self-position deviates significantly due to slippage. Furthermore, when using an IMU to obtain orientation, it is difficult to obtain accurate orientation due to factors such as gyroscope drift and the influence of metal on the compass, and therefore, it is difficult to estimate self-position with high accuracy in wide spaces. In particular, when the robotic device moves in wide areas such as stadiums, gymnasiums, and campuses, small errors in attitude angles lead to large errors at distances, thus requiring the installation of high-performance (ultra-high-performance) IMUs, etc.

[0117] When handling robots moving at relatively high speeds in warehouses or similar environments perform self-position estimation, the following problems arise. While commonly used automated handling robots include high-speed moving robots, because the robots travel in specific areas such as warehouses or factories, tags such as magnetic tapes or QR codes are typically installed on the environmental side, and there is a problem of the time required to set them up at the desired robot location. In the case of warehouses or factories, where there are fixed structures, self-position estimation can be achieved using technologies such as LiDAR or proximity sensors like Near Field Communication (NFC). However, it is difficult to install sensors on the environmental side in the wide and flat spaces such as stadiums or gymnasiums, and similar technologies are difficult to employ.

[0118] When performing map matching using LiDAR or self-position estimation based on feature points using camera images, the following problems arise. Firstly, the computational load is known to be extremely high when performing LiDAR or camera processing, making it difficult to install such functionality on small robotic devices with limited battery capacity. Secondly, not only is the computational load high, but the processing is also time-consuming, resulting in reduced latency and causing a delay in the robot's self-position relative to its actual position, especially when the robot is moving at high speeds. Furthermore, when navigating in wide spaces such as stadiums or gymnasiums, there is a possibility that the measurement area exceeds that of the LiDAR or that the feature points captured by the camera are limited.

[0119] When performing self-position estimation based on GNSS or QR code location, the following problems arise. Specifically, with GNSS, the relatively long measurement cycle introduces the influence of the satellite's position and number. Furthermore, with QR codes, computational costs increase in processing imagery from the camera device.

[0120] The robot device 10 of this disclosure has the above-described configuration for addressing these problems, and therefore can be used as an autonomous mobile robot device that moves at high speed, particularly in wide areas such as stadiums or gymnasiums, and can achieve its own position estimation with relatively small computational load, low latency and high accuracy.

[0121] <2. Modified Example>

[0122] Although the differential two-wheel drive type has been exemplified as the drive type of robot device 10 in the above description, other drive types such as omnidirectional movement type can be used.

[0123] Furthermore, while the above description has illustrated the case of driving the robot device 10 with a single axis when changing the posture of the video display unit 102, including the display, the aforementioned driving can be performed with two axes, etc., and is not limited to a single axis. The display information shown on the display is not limited to video, but can also be information such as images and text. Moreover, multiple robot devices 10 can be arranged in a matrix, and the displays of each robot device 10 can be combined and used as a screen (large screen) with a predetermined shape in a pseudo-form. In this case, each of the robot devices 10 can adjust the posture of the video display unit 102 (the display) according to factors such as its own position or the position of the target user to set a desired posture.

[0124] The robot device 10 using this disclosure can be considered as an autonomous mobile device having a controller such as a control unit 101. The controller can be located not only inside the robot device 10, but also in an external device.

[0125] Furthermore, the robot device 10 applying this disclosure can be considered as a system (autonomous mobility system) that integrates multiple devices such as control devices, sensor devices, display devices, communication devices, and mobility mechanisms. Here, a system means a collection of multiple constituent elements (devices, modules (components), etc.), and it is irrelevant whether all constituent elements are housed in the same housing. Therefore, both multiple devices housed in separate housings and connected via a network, and devices in which multiple modules are housed in one housing, are systems.

[0126] Furthermore, the robotic device 10 using this disclosure may also include a cleaning attachment. The cleaning attachment is a mop-like attachment and is attached to the front, rear, side, and lower surfaces of the robotic device 10, allowing the robotic device 10 to clean its path while moving autonomously. The area to be cleaned can be pre-defined as the path, and cleaning can be performed by recognizing instructions from the instructor, such as "clean here," via posture recognition. As posture recognition, the target instructor's posture, movement, etc., is identified based on sensor signals from each of the sensors (camera devices, etc.) in the sensor unit 152, thereby recognizing the target's posture.

[0127] Furthermore, cleaning operations and video display can be performed collaboratively. In this case, a video indicating this fact can be displayed when cleaning begins, during cleaning, or when cleaning is completed, or advertisements or other videos can be displayed during cleaning. Additionally, the orientation of the video display unit 102 (the monitor) can be controlled together. Furthermore, cleaning accessories are not limited to the mop-shaped accessory shown, but include other accessories such as dust removal accessories.

[0128] <3. Computer Configuration>

[0129] The aforementioned series of processes can be executed not only by hardware but also by software. In the case where the processes are executed by software, the program constituting the software is installed in the computer of each device.

[0130] Figure 11 This is a block diagram illustrating an example of the hardware configuration of a computer performing the above series of processes according to a program.

[0131] In computer 1000, a central processing unit (CPU) 1001, a read-only memory (ROM) 1002, and a random access memory (RAM) 1003 are interconnected via a bus 1004. Furthermore, an input / output interface 1005 is connected to the bus 1004. An input unit 1006, an output unit 1007, a recording unit 1008, a communication unit 1009, and a driver 1010 are connected to the input / output interface 1005.

[0132] Input unit 1006 includes a microphone, keyboard, mouse, etc. Output unit 1007 includes a speaker, display, etc. Recording unit 1008 includes a hard disk, non-volatile memory, etc. Communication unit 1009 includes a network interface, etc. Driver 1010 drives removable media 1011 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory.

[0133] In the computer 1000 configured as described above, the CPU 1001 executes the program recorded in the ROM 1002 or the recording unit 1008 while it is loaded into the RAM 1003 via the input / output interface 1005 and the bus 1004, thereby performing the series of processes described above.

[0134] For example, a program executed by computer 1000 (CPU 1001) can be provided in a state where it is recorded on a removable medium 1011, such as a packaging medium. Furthermore, the program can be provided via wired or wireless transmission media such as a local area network, the Internet, or digital satellite broadcasting.

[0135] In computer 1000, a program can be installed in recording unit 1008 via input / output interface 1005 by installing removable medium 1011 to drive 1010. Alternatively, the program can be received by communication unit 1009 and installed in recording unit 1008 via wired or wireless transmission medium. Additionally, the program can be pre-installed in ROM 1002 and recording unit 1008.

[0136] Here, in this specification, the processing performed by the computer according to the program does not necessarily have to be executed sequentially in the order shown in the flowchart. That is, the processing performed by the computer according to the program also includes parallel or individual processing (e.g., parallel processing or processing performed by an object). Furthermore, the program can be processed by a single computer (processor) or it can be processed by multiple computers in a distributed manner.

[0137] Furthermore, each step described in the above process can be performed not only by one device, but also shared and performed by multiple devices. Additionally, in cases where a step includes multiple processes, these processes can be performed not only by one device, but also shared and performed by multiple devices.

[0138] Note that embodiments of this technology are not limited to the above embodiments, and various modifications can be made without departing from the spirit of this disclosure. Furthermore, the effects described in this specification are merely illustrative and not limiting, and other effects may exist.

[0139] Note that this technology can have the following configurations. (1)

[0141] An autonomous mobile device, comprising:

[0142] The sensor unit includes at least a first sensor for detecting angular velocity, a second sensor mounted in the housing for detecting wheel speed, and a third sensor for detecting displacement in a two-dimensional plane; and

[0143] The self-position estimation unit estimates its own position based on parameters calculated by the sensor unit.

[0144] When estimating its own position, the self-position estimation unit uses predetermined parameters suitable for predetermined conditions from among the parameters of each sensor calculated by the sensor unit. (2)

[0146] According to the autonomous mobile device described in (1), wherein,

[0147] The first sensor is an inertial measurement unit, and

[0148] The self-position estimation unit estimates the direction of travel of the device body based on the Z-axis angular velocity detected by the inertial measurement unit. (3)

[0150] According to the autonomous mobile device described in (1) or (2), wherein,

[0151] The second sensor is a wheel speed sensor, and

[0152] The self-position estimation unit estimates the distance traveled with respect to the direction of travel of the device body based on the speed detected by the wheel speed sensor. (4)

[0154] According to the autonomous mobile device described in (3), the second sensor is a wheel encoder installed in a part of the device body other than the drive wheel. (5)

[0156] The autonomous mobile device according to any one of (1) to (4), wherein,

[0157] The third sensor is a mouse sensor, and

[0158] When the speed is lower than a predetermined speed, the self-position estimation unit estimates the amount of sliding in the vertical direction relative to the traveling direction of the device body based on the amount of displacement detected by the mouse sensor. (6)

[0160] According to the autonomous mobile device described in (2), wherein,

[0161] The sensor unit further includes a fourth sensor for acquiring absolute position, and

[0162] The self-position estimation unit corrects the direction of travel of the device body by using the absolute position obtained by the fourth sensor when the device body is traveling in a straight line at a speed equal to or higher than a predetermined speed. (7)

[0164] According to the autonomous mobile device of (6), the self-position estimation unit estimates the current position of the device body by using a moving average value when the device body is stationary or is undergoing spin rotation, the moving average value being obtained by removing outliers from the absolute position obtained by the fourth sensor. (8)

[0166] According to the autonomous mobile device of (6) or (7), the fourth sensor includes at least one of the following: a first position sensor that acquires position information using ultra-wideband measurement, or a second position sensor that acquires position information using global navigation satellite system measurement. (9)

[0168] The autonomous mobile device according to any one of (1) to (8), wherein,

[0169] The sensor unit further includes a fifth sensor for detecting the position of a line on a moving surface, and

[0170] The self-position estimation unit estimates the direction of travel of the device body based on the position of the line detected by the fifth sensor when the device body is traveling on the line. (10)

[0172] The autonomous mobile device according to any one of (1) to (9) further includes:

[0173] The display unit, which displays information; and

[0174] The controller controls the display of the information based on its own position. (11)

[0176] The autonomous mobile device according to any one of (1) to (10) is configured as a differential two-wheel drive type robot device. (12)

[0178] A control method, comprising:

[0179] The autonomous mobile device estimates its own position based on parameters calculated by a sensor unit, which includes at least a first sensor for detecting angular velocity, a second sensor mounted in the housing for detecting wheel speed, and a third sensor for detecting displacement in a two-dimensional plane.

[0180] In estimating its own position, predetermined parameters suitable for predetermined conditions are used among the parameters of each sensor calculated by the sensor unit. (13)

[0182] A program for enabling a computer to function as an autonomous mobile device, the autonomous mobile device comprising:

[0183] The sensor unit includes at least a first sensor for detecting angular velocity, a second sensor mounted in the housing for detecting wheel speed, and a third sensor for detecting displacement in a two-dimensional plane; and

[0184] The self-position estimation unit estimates its own position based on parameters calculated by the sensor unit.

[0185] When estimating its own position, the self-position estimation unit uses predetermined parameters suitable for predetermined conditions from among the parameters of each sensor calculated by the sensor unit.

[0186] List of reference numerals

[0187] 10 robotic devices

[0188] 101 Control Unit

[0189] 102 video display units

[0190] 103 screen lift and lower unit

[0191] 104-1 Left Motor Encoder

[0192] 104-2 Right Motor Encoder

[0193] 105-1 Left Motor

[0194] 105-2 Right Motor

[0195] 106-1 to 106-3, 106 sensor

[0196] 107 battery cell

[0197] 151 battery cells

[0198] 152 main CPU

[0199] 161IMU

[0200] 162 wheel speed sensors

[0201] 163 mouse sensor

[0202] 164UWB unit

[0203] 165 GNSS unit

[0204] 166-line detection sensor

[0205] 171 Points Calculator

[0206] 172 Vehicle Speed ​​Converter

[0207] 173 Coordinate System Converter

[0208] 174 Points Calculator

[0209] 175 coordinate system converter

[0210] 176 Direction of Travel Calculator

[0211] 177 outlier removal and moving average units

[0212] 178 Direction of Travel Calculator

[0213] 179 outlier removal and moving average units

[0214] 180-degree travel direction calculator

[0215] 181 fusion units

[0216] 182 controller

Claims

1. An autonomous mobile device, comprising: The sensor unit includes at least a first sensor for detecting angular velocity, a second sensor mounted in the housing for detecting wheel speed, and a third sensor for detecting displacement in a two-dimensional plane, wherein the first sensor detects the Z-axis angular velocity used to estimate the travel direction of the device body; and The self-position estimation unit estimates its own position based on parameters calculated by the sensor unit. Specifically, when estimating its own position, the self-position estimation unit uses predetermined parameters suitable for predetermined conditions from among the parameters of each sensor calculated by the sensor unit. Among them, the predetermined parameters suitable for the predetermined conditions include: The first parameter is obtained using the Z-axis angular velocity detected from the first sensor; When the device body is traveling at a low speed below a predetermined speed, a second parameter is obtained using the speed of the wheel detected by the second sensor and a third parameter is obtained using the amount of displacement detected by the third sensor; When the device is traveling at a high speed equal to or higher than a predetermined speed, a second parameter is obtained using the wheel speed detected by the second sensor.

2. The autonomous mobile device according to claim 1, wherein, The first sensor is an inertial measurement unit, and The self-position estimation unit estimates the direction of travel of the device body based on the Z-axis angular velocity detected by the inertial measurement unit.

3. The autonomous mobile device according to claim 1, wherein, The second sensor is a wheel speed sensor, and The self-position estimation unit estimates the distance traveled with respect to the direction of travel of the device body based on the speed detected by the wheel speed sensor.

4. The autonomous mobile device according to claim 3, wherein, The wheel speed sensor is a wheel encoder installed in a part of the device body other than the drive wheel.

5. The autonomous mobile device according to claim 1, wherein, The third sensor is a mouse sensor, and When the speed is lower than a predetermined speed, the self-position estimation unit estimates the amount of sliding in the vertical direction relative to the traveling direction of the device body based on the amount of displacement detected by the mouse sensor.

6. The autonomous mobile device according to claim 2, wherein, The sensor unit further includes a fourth sensor for acquiring absolute position, and The self-position estimation unit corrects the direction of travel of the device body by using the absolute position obtained by the fourth sensor when the device body is traveling in a straight line at a speed equal to or higher than a predetermined speed.

7. The autonomous mobile device according to claim 6, wherein, The self-position estimation unit estimates the current position of the device body when the device body is stationary or undergoing spin rotation by using a moving average value obtained by removing outliers from the absolute position acquired by the fourth sensor.

8. The autonomous mobile device according to claim 6, wherein, The fourth sensor includes at least one of the following: a first position sensor that acquires position information using ultra-wideband measurements, or a second position sensor that acquires position information using global navigation satellite systems.

9. The autonomous mobile device according to claim 1, wherein, The sensor unit further includes a fifth sensor for detecting the position of a line on a moving surface, and The self-position estimation unit estimates the direction of travel of the device body based on the position of the line detected by the fifth sensor when the device body is traveling on the line.

10. The autonomous mobile device according to claim 1, further comprising: The display unit displays information. as well as The controller controls the display of the information based on its own position.

11. The autonomous mobile device according to claim 1, wherein it is configured as a differential two-wheel drive type robot device.

12. A control method, comprising: The autonomous mobile device estimates its own position based on parameters calculated by a sensor unit, which includes at least a first sensor for detecting angular velocity, a second sensor mounted in the housing for detecting wheel speed, and a third sensor for detecting displacement in a two-dimensional plane. The first sensor detects the Z-axis angular velocity used to estimate the device's direction of travel. Specifically, when estimating its own position, predetermined parameters suitable for predetermined conditions are used from the parameters of each sensor calculated by the sensor unit. Among them, the predetermined parameters suitable for the predetermined conditions include: The first parameter is obtained using the Z-axis angular velocity detected from the first sensor; When the device body is traveling at a low speed below a predetermined speed, a second parameter is obtained using the speed of the wheel detected by the second sensor and a third parameter is obtained using the amount of displacement detected by the third sensor; When the device is traveling at a high speed higher than a predetermined speed, a second parameter is obtained by using the speed of the wheels detected from the second sensor.

13. A computer-readable recording medium storing a program for enabling a computer to function as an autonomous mobile device, the autonomous mobile device comprising: The sensor unit includes at least a first sensor for detecting angular velocity, a second sensor mounted in the housing for detecting wheel speed, and a third sensor for detecting displacement in a two-dimensional plane, wherein the first sensor detects the Z-axis angular velocity used to estimate the travel direction of the device body; and The self-position estimation unit estimates its own position based on parameters calculated by the sensor unit. When estimating its own position, the self-position estimation unit uses predetermined parameters suitable for predetermined conditions from among the parameters of each sensor calculated by the sensor unit. Among them, the predetermined parameters suitable for the predetermined conditions include: The first parameter is obtained using the Z-axis angular velocity detected from the first sensor; When the device body is traveling at a low speed below a predetermined speed, a second parameter is obtained using the speed of the wheel detected by the second sensor and a third parameter is obtained using the amount of displacement detected by the third sensor; When the device is traveling at a high speed equal to or higher than a predetermined speed, a second parameter is obtained using the wheel speed detected by the second sensor.

Citation Information

Patent Citations

  • Moving object, control method for moving object, and program

    JP2020095339A

  • Positioning system and method for automatic guide transportation vehicle

    CN107228663A

  • An integrated navigation method for mobile vehicles

    CN109059904A