Mobile body control device, mobile body control method, and program
The control device accurately estimates self-position by considering movement states, preventing updates during stationarity and ensuring precise navigation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-26
- Publication Date
- 2026-04-02
AI Technical Summary
Existing self-position estimation systems for moving bodies inaccurately estimate position when the body is stationary due to false detection of observation information.
A control device that estimates self-position based on surrounding conditions, updates position based on estimated self-position, and controls movement to a destination while detecting the movement state to determine whether to update the position, avoiding updates when stationary or outside the detected movement state.
Accurately estimates self-position based on the movement state of the moving body, ensuring precise navigation and control.
Smart Images

Figure JP2024034453_02042026_PF_FP_ABST
Abstract
Description
Control device for a moving body, control method for a moving body, and program
[0001] The present invention relates to a control device for a moving body, a control method for a moving body, and a program.
[0002] An autonomous mobile robot that autonomously moves to a destination while avoiding obstacles is known (see, for example, Patent Document 1). The self-position estimation device described in Patent Document 1 estimates the final self-position of a moving body that moves within a predetermined moving area. The first self-position estimation unit 28 estimates the first self-position using the environmental map of the moving area and the current observation information, and estimates the second self-position by adding the movement information acquired by odometry to the final self-position of the moving body. When the first self-position is estimated, the probability of abnormality occurrence is calculated from the variable acquired at that time, and the weighted average value calculated using the first self-position and the second self-position is used as the final self-position at the current step.
[0003] Japanese Patent Application Laid-Open No. 2016-224680
[0004] Since the self-position estimation device for the moving body described above estimates the self-position using the current observation information periodically even when the moving body is in a stopped state, there is a possibility that the self-position is estimated to have moved due to a false detection of the observation information.
[0005] The present invention has been made in consideration of such circumstances, and an object thereof is to provide a control device for a moving body, a control method for a moving body, and a program that can accurately estimate the self-position according to the moving state of the moving body.
[0006] The control device for a mobile body, the method for controlling a mobile body, and the program according to this invention employ the following configuration: (1) The control device for a mobile body according to one aspect of this invention includes: a recognition unit that estimates the self-position of the mobile body based on surrounding condition information including the surrounding conditions of the mobile body and updates the position of the mobile body based on the estimated self-position; a generation unit that generates a path from the mobile body to the destination based on the estimated position of the mobile body and the destination; a control unit that controls the mobile body so that it moves to the destination along the generated path; and a detection unit that detects the movement state of the mobile body, wherein the recognition unit determines whether or not to update the position of the mobile body to the estimated self-position based on the movement state detected by the detection unit.
[0007] (2) In the embodiment of (1) above, if the detected movement state is stopped, the recognition unit does not update the position of the moving body to its estimated self-position.
[0008] (3) In the embodiment of (1) above, the recognition unit updates the position of the moving body to the estimated self-position if the estimated self-position is within the region corresponding to the detected movement state, and does not update the position of the moving body to the estimated self-position if the estimated self-position is not within the region corresponding to the detected movement state.
[0009] (4) In the embodiment of (1) above, the recognition unit estimates the self-position of the moving object based on the number of matches between feature points included in the surrounding conditions of the moving object and feature points included in the map data, and even if the estimated self-position is not included in the region corresponding to the movement state of the moving object, the unit updates the position of the moving object to the estimated self-position, provided that the number of matches exceeds the threshold for the number of matches set for that region.
[0010] (5) In the embodiment of (4) above, the threshold is set higher the further away the moving body is from its own position.
[0011] (6) In the embodiment of (1) above, the region corresponding to the movement state is set based on motion accuracy information that indicates the amount of movement relative to the control amount of the moving body.
[0012] (7) In the embodiment of (6) above, the operation accuracy information is information based on environmental information that indicates the environment around the moving body, and the region corresponding to the movement state is set based on the environmental information.
[0013] (8) A control system for a moving body according to one aspect of the present invention comprises: a recognition unit that estimates the self-position of the moving body based on ambient information including the surrounding conditions of the moving body and updates the position of the moving body based on the estimated self-position; a generation unit that generates a path from the moving body to the destination based on the estimated position of the moving body and the destination; a control unit that controls the moving body so that it moves to the destination along the generated path; and a detection unit that detects the movement state of the moving body, wherein the recognition unit determines whether or not to update the position of the moving body to the estimated self-position based on the movement state detected by the detection unit.
[0014] (9) A method for controlling a moving body according to another aspect of the present invention involves a computer estimating the self-position of the moving body based on ambient information including the surrounding conditions of the moving body, updating the position of the moving body based on the estimated self-position, generating a path from the moving body to the destination based on the estimated position of the moving body and the destination, controlling the moving body so that it moves along the generated path to the destination, detecting the movement state of the moving body, and determining whether or not to update the position of the moving body to the estimated self-position based on the detected movement state when the self-position of the moving body was estimated.
[0015] (10): A program according to another aspect of the present invention causes a computer to estimate the self-position of a moving body based on surrounding information including the surrounding conditions of the moving body; to update the position of the moving body based on the estimated self-position; to generate a path from the moving body to the destination based on the estimated position of the moving body and the destination; to control the moving body so that it moves along the generated path to the destination; to detect the movement state of the moving body; and, when the self-position of the moving body is estimated, to determine whether or not to update the position of the moving body to the estimated self-position based on the detected movement state.
[0016] According to embodiments (1) to (9), the self-position can be accurately estimated according to the movement state of the moving object.
[0017] This figure shows an example of the configuration of a mobile system 1 including a mobile body 100 in the first embodiment. This is a perspective view showing an example of a mobile body 100. This is a block diagram showing an example of the functional configuration of a mobile body 100 in the first embodiment. This figure is for explaining the operation of a mobile body 100 in the first embodiment. This figure is for explaining the self-position update process in the first embodiment. This is a flowchart showing an example of the processing procedure of the control device 200 in the first embodiment. This figure is for explaining the area set according to the movement state in the second embodiment. This figure shows another example of the area set according to the movement state in the second embodiment. This figure shows an example of the self-position update process in the second embodiment, where (a) shows the position and areas A and B of the mobile body 100 at time t, (b) shows the self-position and areas A and B when the number of matchings at time t+1 is a, and (c) shows the self-position and areas A and B when the number of matchings at time t+1 is b. This is a flowchart showing an example of the processing procedure of the control device 200 in the second embodiment. This figure shows the relationship between the distance from the mobile body 100 and the threshold number of matchings in the second embodiment. This is another figure showing the relationship between the distance from the moving body 100 and the threshold number of matches in the second embodiment.
[0018] Hereinafter, embodiments of the control device for a mobile body, the control method for a mobile body, and the program of the present invention will be described with reference to the drawings.
[0019] (First Embodiment) Figure 1 is a diagram showing an example of the configuration of a mobile system 1 including a mobile body 100 in the first embodiment. The mobile system 1 includes, for example, one or more terminal devices 2, a management device 10, an information providing device 20, and one or more mobile bodies 100. These communicate, for example, via a network NW. The network NW is any network such as a LAN, WAN, or internet connection.
[0020] [Terminal device] Terminal device 2 is a computer device such as a smartphone or a tablet. Terminal device 2, for example, requests permission to use the mobile device 100 from the management device 10 based on user operations, and obtains information indicating that permission to use has been granted.
[0021] [Management Device] The management device 10 grants users of the terminal device 2 the right to use the mobile device 100 in response to requests received from the terminal device 2, and manages reservations for the use of the mobile device 100. For example, the management device 10 generates and manages schedule information that associates pre-registered user identification information with the date and time of reservations for the use of the mobile device 100.
[0022] [Information Providing Device] The information providing device 20 provides the mobile body 100 with information on the location of the mobile body 100, the area in which the mobile body 100 is moving, and map information of the area surrounding the area. The information providing device 20 may generate a route for the mobile body 100 to its destination in response to a request received from the mobile body 100, and provide the generated route to the mobile body 100.
[0023] [Mobile Unit] The mobile unit 100 is, for example, placed in a designated location in a facility or city. When a user wants to use the mobile unit 100, they can start using it by operating the control unit (not shown) of the mobile unit 100, or by operating the terminal device 2. For example, when a user goes shopping and has a lot of luggage, they can start using the mobile unit 100 and put their luggage into the storage compartment of the mobile unit 100. The mobile unit 100 then moves with the user, autonomously following them. The user can continue shopping or head to their next destination with their luggage stored in the mobile unit 100. For example, the mobile unit 100 moves with the user, crossing sidewalks and road crosswalks. The mobile unit 100 is capable of moving in areas accessible to pedestrians, such as roadways and sidewalks. For example, the mobile unit 100 may be used in indoor or outdoor facilities or on private property, such as shopping centers, airports, parks, and theme parks, and is capable of moving in areas accessible to pedestrians.
[0024] In addition to the follow mode in which the mobile unit 100 follows the user as described above (or alternatively), it may also be capable of autonomous movement in modes such as guidance mode or emergency mode.
[0025] The guidance mode is a mode in which the user is guided to a destination specified by the user, and the mobile device autonomously moves in front of the user at the user's speed to guide them. For example, in a shopping center, when a user is looking for a specific product, if the user requests the mobile device 100 to guide them to the location of the product, the mobile device 100 will guide the user to the location of the product. This allows the user to easily find the product. When the mobile device 100 is used in a shopping center, the mobile device 100 or the information providing device 20 holds information that associates the locations of products, stores, and facilities within the shopping center with map information, as well as map information of the shopping center. This map information includes detailed map information, including the width of roads and passageways.
[0026] Furthermore, the guidance mode may be a mode in which the user is guided to a destination estimated based on information such as map information and the user's actions (including direction, speed, behavior, etc.), even if the user does not specify a destination. For example, the mobile body 100 or the information providing device 20 may detect the user's direction from an image captured by the camera 180 (described later), set a straight line representing the detected user's direction, and estimate the destination to be a place that intersects with or is closest to that straight line among the locations registered in the map information. Alternatively, for example, the mobile body 100 or the information providing device 20 may pre-register multiple gestures (for example, a gesture for drinking a beverage or a gesture for charging a mobile phone), compare the user's behavior detected from the image with the registered gestures, and estimate the destination to be a place among the locations stored in the map information that satisfies the requirements of the gesture (for example, a restaurant or a charging facility). Alternatively, for example, the mobile body 100 or the information providing device 20 may estimate the destination to be a place among the facilities stored in the map information that has been set as a destination most frequently by past users.
[0027] The emergency mode is a mode in which, if something happens to the user while moving with the user (for example, if the user falls), the mobile unit 100 will autonomously move to seek help from nearby people or facilities in order to assist the user. In addition to following or guiding as described above, the mobile unit 100 may also move while maintaining a distance that is neither too close nor too far from the user.
[0028] Figure 2 is a perspective view showing an example of a mobile body 100. In the following description, the forward direction of the mobile body 100 is the positive x direction, the backward direction of the mobile body 100 is the negative x direction, the width direction of the mobile body 100 is the positive y direction to the left and the negative y direction to the right, and the height direction of the mobile body 100, which is perpendicular to the x and y directions, is the positive z direction.
[0029] The mobile body 100 comprises, for example, a base 110, a door 112 provided on the base 110, and wheels (first wheel 120, second wheel 130, and third wheel 140) mounted on the base 110. For example, a user can open the door 112 to put luggage into a storage compartment provided on the base 110, or to take luggage out of the storage compartment. The first wheel 120 and the second wheel 130 are drive wheels, and the third wheel 140 is an auxiliary wheel (driven wheel). The mobile body 100 may also be movable using configurations other than wheels, such as tracks.
[0030] A cylindrical support 150 extending in the positive z direction is provided on the surface of the base 110 in the positive z direction. A camera 180 for imaging the area around the moving body 100 is provided at the end of the support 150 in the positive z direction. The position where the camera 180 is provided may be any position other than that described above.
[0031] Camera 180 is, for example, a camera capable of capturing images of the area around the moving object 100 in a wide angle (e.g., 360 degrees). Camera 180 may include multiple cameras. Camera 180 may be implemented by combining, for example, multiple 120-degree cameras or multiple 60-degree cameras.
[0032] Figure 3 is a block diagram showing an example of the functional configuration of the mobile body 100 in the first embodiment. In addition to the functional configuration shown in Figure 2, the mobile body 100 includes a first motor 122, a second motor 132, a battery 134, a brake device 136, a steering device 138, a detection unit 182, a communication unit 190, and a control device 200. The first motor 122 and the second motor 132 are powered by electricity supplied from the battery 134. The first motor 122 drives the first wheel 120. The second motor 132 drives the second wheel 130. The first motor 122 may be an in-wheel motor provided on the wheel of the first wheel 120. The second motor 132 may be an in-wheel motor provided on the wheel of the second wheel 130.
[0033] The braking device 136 outputs brake torque to the first wheel 120 and the second wheel 130, respectively, based on instructions from the control device 200. The steering device 138 includes an electric motor. The electric motor, for example, applies force to the rack and pinion mechanism based on instructions from the control device 200 to change the direction of the first wheel 120 or the second wheel 130, thereby changing the course of the moving body 100.
[0034] The detection unit 182 detects the movement state of the mobile body 100. The detection unit 182 includes sensors for detecting operations related to the movement state of the mobile body 100, such as an odometry sensor, a vehicle speed sensor, and an acceleration sensor. The odometry sensor may detect, for example, the rotation angles of the first wheel 120 and the second wheel 130. Based on the detection signals detected by the various sensors, the detection unit 182 detects the speed, direction of movement, etc., of the mobile body 100 and outputs the movement state information to the control device 200. Based on the detection signals detected by the various sensors, the detection unit 182 may output information indicating the amount of movement or change in speed of the mobile body 100 to the control device 200.
[0035] The communication unit 190 is a communication interface for communicating with the terminal device 2, the management device 10, or the information providing device 20.
[0036] [Control Device] The control device 200 includes, for example, a recognition unit 202, a route generation unit 204, a drive control unit 206, and a storage unit 220. The recognition unit 202, the route generation unit 204, and the drive control unit 206 are realized, for example, by a hardware processor such as a CPU (Central Processing Unit) executing a program (software). Some or all of these components may be realized by hardware (including circuitry) such as an LSI (Large Scale Integration), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array), or GPU (Graphics Processing Unit), or by the cooperation of software and hardware. The program may be stored in advance in a storage device such as an HDD (Hard Disk Drive) or flash memory (a storage device equipped with a non-transient storage medium), or it may be stored in a removable storage medium such as a DVD or CD-ROM (a non-transient storage medium) and installed when the storage medium is mounted on a drive device.
[0037] The storage unit 220 is implemented by a storage device such as an HDD, flash memory, or RAM (Random Access Memory). The storage unit 220 stores map information 222 that is referenced by the mobile body 100. The map information 222 is information that shows a map of the location where the mobile body 100 is located, the area in which the mobile body 100 moves, and the area surrounding the area, for example, provided by the information providing device 20. The map information 222 is information that associates feature points contained in the captured image generated by the camera 180 with location information. The map information 222 may also include information that includes the locations of walls and obstacles detected by LiDAR (Light Detection And Ranging). The map information 222 may also include information that associates features contained in the image with information indicating objects such as walls and obstacles detected by LiDAR and location information. The map information 222 may include environmental information that shows the environment around the mobile body 100. Environmental information includes, for example, information that affects the movement state of the mobile object 100, such as the type of road surface (indoors, outdoors, floor, asphalt, gravel, etc.).
[0038] Furthermore, some or all of the functional configurations included in the control device 200 may be included in other devices. For example, the mobile body 100 may communicate with other devices and cooperate to control the mobile body 100.
[0039] The recognition unit 202 estimates the self-position of the mobile body 100 based on ambient information including the surrounding conditions of the mobile body 100, and updates the position of the mobile body 100 based on the estimated self-position. The ambient information includes images captured by the camera 180 or information including the position detected by LiDAR. The position of the mobile body 100 or the ambient information may be information represented by a transformation matrix including multiple parameters.
[0040] Specifically, the recognition unit 202 recognizes the position of objects around the mobile body 100 (distance from the mobile body 100 and direction relative to the mobile body 100), as well as their state, such as speed and acceleration, based on the image captured by the camera 180. Objects include traffic participants and obstacles present in facilities or on roads. The recognition unit 202 recognizes and tracks the user of the mobile body 100. For example, the recognition unit 202 tracks the user based on an image of the user registered when the user uses the mobile body 100 (e.g., a user's face image) or a user's face image (or features obtained from the user's face image) provided by the terminal device 2 or the management device 10. The recognition unit 202 recognizes gestures made by the user. The mobile body 100 may also be equipped with detection units other than cameras, such as radar or LiDAR. In this case, the recognition unit 202 recognizes the situation around the mobile body 100 using the detection results of the radar or LiDAR instead of (or in addition to) images.
[0041] The recognition unit 202 estimates its own position for each image (each frame image) captured by the camera 180, and updates the position of the moving object 100 based on the estimated self-position. Based on the movement state detected by the detection unit 182, the recognition unit 202 determines whether or not to update the position of the moving object 100 to the estimated self-position.
[0042] If the detected movement state is stopped, the recognition unit 202 does not update the position of the moving object 100 to the estimated self-position. If the estimated self-position is within the region corresponding to the movement state detected by the detection unit 182, the recognition unit 202 updates the position of the moving object 100 to the estimated self-position. If the estimated self-position is not within the region corresponding to the movement state detected by the detection unit 182, the recognition unit 202 does not update the position of the moving object 100 to the estimated self-position.
[0043] Further, the recognition unit 202 may create map data representing the surrounding situation of the moving object 100 based on the estimated self-position. The map data created by the recognition unit 202 is stored in the map information 222. Also, the map data created by the recognition unit 202 may be transmitted to the information providing device 20.
[0044] The route generation unit 204 generates a route from the moving object 100 to the destination based on the recognized position of the moving object and the destination. The destination represents the user himself / herself when the moving object 100 is in the follow mode, or a point within a predetermined range from the user. For example, the route generation unit 204 may set a predetermined point diagonally behind the user as the destination so that the moving object 100 follows the user and can be visually recognized by the user. Also, for example, the route generation unit 204 may determine the destination based on the walking speed of the user so as to keep within a predetermined distance in order to prevent the moving object from getting too far away from the user. In the guidance mode, for example, it represents a point of a product or facility set by the user. In this case, the user designates the point of the product or facility, and the moving object 100 collates the designated point of the product or facility with the map information 222, and sets the identified point of the product or facility as the destination as a result. Also, when in the guidance mode, if the point set by the user is far from the current position of the moving object 100, the route generation unit 204 may set the point set by the user as the final destination and set a point within a predetermined range from the current position as a provisional destination. The guidance mode does not necessarily require the user to set a destination, and the moving object 100 may predict the direction in which the user is moving and autonomously move in front of the user in accordance with the user's moving speed. At this time, the route generation unit 204 may set the destination of the moving object 100 as a point within a predetermined range in front of the user.
[0045] The route is a route by which the moving object 100 can reasonably reach the destination, taking into account the forward direction of the moving object 100 (i.e., the x direction of the moving object 100). The route generation unit 204 generates a plurality of via points for reaching the destination from the current position, and generates a route by connecting these plurality of via points.
[0046] The drive control unit 206 is a control unit that controls the moving body 100 so that the moving body 100 moves along the generated path to the destination. The drive control unit 206 outputs control commands for controlling a motor (the first motor 122 and the second motor 132), the brake device 136, and the steering device 138 so that the moving body 100 travels.
[0047] In the embodiment, the recognition unit 202, the path generation unit 204, and the drive control unit 206 are provided in the control device 200, and the detection unit 182 is provided in the moving body 100. However, the present invention is not limited to this, and the recognition unit 202, the path generation unit 204, and the drive control unit 206 can also be applied to a control system of the moving body 100 in which they are distributed in a plurality of devices. Further, the moving state detected by the detection unit 182 may be acquired by the recognition unit 202 mounted on a device other than the control device 200.
[0048] [Estimation of Self-Position] FIG. 4 is a diagram for explaining the operation of the moving body 100 in the first embodiment. The recognition unit 202 matches the feature points included in the captured image with the feature points included in the map information 222, and when the number of the matched feature points (hereinafter referred to as the matching number) is equal to or greater than a threshold value, recognizes that it has reached the point included in the map information 222. Then, when the recognition unit 202 determines that the number of matching points between the feature points in the map information 222 at the position corresponding to the destination, for example, and the feature points included in the captured image is equal to or greater than the threshold value, the recognition unit 202 stops at the destination. When the matching process is performed while the moving body 100 is stopped, for example, if there are changes in the surroundings such as the movement of semi-dynamic objects around the moving body 100, the number of matching points may fall below the threshold value, and the moving body 100 may move.
[0049] Figure 5 is a diagram illustrating the self-position update process in the first embodiment. The recognition unit 202 sets a region A that includes the position P(t) of the moving object 100. The position P(t) of the moving object 100 is the self-position estimated at time t. The size of region A is the minimum range including the moving object 100 when the moving object 100 is stationary. When the moving object 100 is moving, the size of region A corresponds to the amount of movement and direction of movement during the period (1 frame) in which one position estimation process of the moving object 100 is performed.
[0050] Furthermore, region A may be set based on operational accuracy information indicating the amount of operation relative to the controlled amount of the mobile body 100. The controlled amount is, for example, an amount that changes the movement state of the mobile body 100, such as the speed of the mobile body 100. For example, if the controlled amount and the amount of operation from the drive control unit 206 to the mobile body 100 are the same, region A is set to a size corresponding to the controlled amount. If there is an error between the controlled amount and the amount of operation from the drive control unit 206 to the mobile body 100, region A is set to a size that is the controlled amount plus the error.
[0051] The operational accuracy, which indicates the amount of movement relative to the control amount of the mobile body 100, varies depending on the environment surrounding the mobile body 100. In response to this, the recognition unit 202 may change region A based on environmental information indicating the environment surrounding the mobile body 100. For example, if the travel path is an environment that is easy for the mobile body 100 to travel through, region A may be narrowed, and if the travel path is an environment that is difficult for the mobile body 100 to travel through, region A may be widened.
[0052] As shown in Figure 5, in the embodiment, if the estimated self-position P(t+1) is within region A corresponding to the detected movement state, the recognition unit 202 updates the position of the moving body 100 to the estimated self-position P(t+1). On the other hand, if the estimated self-position P(t+1) is not within region A corresponding to the detected movement state, the recognition unit 202 does not update the position of the moving body 100 to the estimated self-position. That is, the recognition unit 202 discards the estimated self-position P(t+1) and maintains the original self-position P(t). If the detected movement state is stopped, it is desirable that the recognition unit 202 does not update the position of the moving body 100 to the self-position recognized by the recognition unit 202.
[0053] [Processing Procedure] Figure 6 is a flowchart showing an example of the processing procedure of the control device 200 in the first embodiment. The processing shown in Figure 6 is performed when the mobile body 100 is traveling in follow mode or guidance mode.
[0054] The recognition unit 202 acquires an image capturing the surrounding environment of the moving object 100 (step S100). Next, the recognition unit 202 acquires map data included in the map information 222 (step S106). The map data is, for example, map data that includes the location of the moving object 100, which has been registered by estimating its own position in the past.
[0055] Next, the recognition unit 202 performs a matching process to compare the feature points extracted from the captured image acquired in step S102 with the feature points included in the map data (step S104). The recognition unit 202 estimates that the position in the map where the number of matches is equal to or greater than a threshold is the self-position of the mobile body 100. The route generation unit 204 generates a route from the estimated self-position to the destination (step S106). Next, the drive control unit 206 drives the mobile body 100 based on the route generated by the route generation unit 204 (step S108). At this time, the recognition unit 202 updates its self-position while matching the map data with the captured image acquired from the mobile body 100, and the drive control unit 206 drives the mobile body 100 from its self-position estimated by the recognition unit 202 towards the destination.
[0056] The control device 200 determines whether the mobile body 100 is stopped or not based on the movement status information of the mobile body 100 detected by the detection unit 182 (step S110). If the mobile body 100 is stopped (step S110: YES), the control device 200 stops estimating its own position (step S112) and returns to step S110. This stops the control device 200 from updating its own position during the period when the mobile body 100 is stopped. If the mobile body 100 is not stopped (step S110: NO), the control device 200 determines whether the self-position estimated by the recognition unit 202 has reached the destination (step S114), and if the self-position has reached the destination (step S114: YES), it terminates the processing of this flowchart. If the self-position estimated by the recognition unit 202 has not reached the destination (step S114: NO), the recognition unit 202 returns to step S100.
[0057] As described above, the control device 200 of the embodiment of the mobile body 100 determines whether or not to update the position of the mobile body 100 to its estimated self-position based on the detected movement state. The control device 200 updates the position of the mobile body 100 to its estimated self-position if the estimated self-position is within the region corresponding to the detected movement state, and does not update the position of the mobile body 100 to its estimated self-position if the estimated self-position is not within the region corresponding to the detected movement state. Furthermore, according to the control device 200 of the embodiment, if the detected movement state is stopped, the position of the mobile body 100 is not updated to its estimated self-position. Moreover, according to the control device 200 of the embodiment, if the estimated self-position is within the region corresponding to the detected movement state, the position of the mobile body 100 is updated to its estimated self-position, and does not update the position of the mobile body 100 to its estimated self-position if the estimated self-position is not within the region corresponding to the detected movement state. With this control device 200, the self-position of the mobile body 100 can be accurately estimated according to the movement state of the mobile body 100.
[0058] (Second Embodiment) The second embodiment will be described below. In the second embodiment, the same parts as in the first embodiment will be denoted by the same reference numerals. Figure 7 is a diagram illustrating the region set according to the movement state in the second embodiment. In the second embodiment, the recognition unit 202 estimates the self-position of the moving body 100 based on the number of matches between feature points included in the surrounding environment of the moving body 100 and feature points included in the map data. Even if the estimated self-position is not included in the region corresponding to the movement state of the moving body 100, the position of the moving body 100 is updated to the estimated self-position, provided that the number of matches exceeds the threshold for the number of matches set in that region.
[0059] The region corresponding to the movement state of the mobile body 100 is set based on the operation accuracy information of the detection unit 182, as described above. Alternatively, the region corresponding to the movement state of the mobile body 100 may be set based on environmental information.
[0060] As shown in Figure 7, the recognition unit 202 sets up a region A that includes the moving object 100, and a region B that is larger than region A. Region A has a size corresponding to the range that allows for self-position updates when the moving object 100 is moving at a predetermined speed. Region B has a size corresponding to the range that allows for self-position updates when the moving object 100 is moving at a speed higher than the predetermined speed. Furthermore, the recognition unit 202 sets up region B which has a shape that is wider in the direction of movement of the moving object 100 than in the opposite direction of movement of the moving object 100.
[0061] Figure 8 shows another example of a region set according to the movement state in the second embodiment. The recognition unit 202 may set two or more regions, such as regions A, B, and C, according to the movement speed of the moving body 100. Region A is the range in which the self-position update is permitted when the moving body 100 is moving at a speed of 0.5 meters / second or less. Region B is the range in which the self-position update is permitted when the moving body 100 is moving in the range of 0.5 meters / second to 1.0 meter / second. Region C is the range in which the self-position update is permitted when the moving body 100 is moving in the range of 1.0 meter / second to 2.0 meters / second.
[0062] The recognition unit 202 allows updating its own position within the range of region A if the number of matches exceeds threshold A. The recognition unit 202 also allows updating its own position within the range of region B if the number of matches exceeds threshold B. Threshold B is set to a number greater than threshold A.
[0063] Figure 9 shows an example of the self-position update process in the second embodiment, where (a) shows the position of the moving object 100 and regions A and B at time t, (b) shows the self-position and regions A and B when the number of matchings at time t+1 is a, and (c) shows the self-position and regions A and B when the number of matchings at time t+1 is b. The recognition unit 202 sets regions A and B as shown in Figure 9(a), estimates the self-position at time t when the moving object 100 is in region A, and obtains the number of matchings at time t+1 by matching feature points included in the captured image with feature points included in the map information 222.
[0064] The recognition unit 202 assumes that the number of matches a acquired at time t+1 is greater than the threshold THA for the number of matches corresponding to region A, and less than the threshold THB for the number of matches corresponding to region B. In this case, as shown in Figure 9(b), the recognition unit 202 allows updating its own position if the estimated self-position is within region A. On the other hand, if the estimated self-position is beyond region A and within region B, the recognition unit 202 discards its own position without allowing it to update.
[0065] The recognition unit 202 assumes that the number of matches b acquired at time t+1 is greater than the matching thresholds THA and THB. In this case, as shown in Figure 9(c), the recognition unit 202 allows updating the self-position if the estimated self-position is beyond region A and within region B. On the other hand, if the estimated self-position exceeds both regions A and B, the recognition unit 202 discards the self-position without allowing it to be updated.
[0066] Figure 10 is a flowchart showing an example of the processing procedure of the control device 200 in the second embodiment. In the second embodiment, if the moving body 100 is not stopped (step S110: NO), the control device 200 sets regions A and B according to the movement state (step S200), and sets matching thresholds THA and THB for each set region A and B (step S202). The recognition unit 202 estimates its own position P(t+1) at time t+1 and determines whether the estimated self-position P(t+1) is within the set region A (step S206).
[0067] If the recognition unit 202 determines that the estimated self-position P(t+1) is within the set region A (step S206: YES), and the number of matches exceeds the threshold THA, it updates the position of the moving object 100 to the estimated self-position P(t+1) (step S208) and proceeds to step S114.
[0068] If the recognition unit 202 finds that the estimated self-position P(t+1) is not within the set region A (step S206: NO), it determines whether the number of matches exceeds the threshold THB (step S210). If the number of matches exceeds the threshold THB (step S210: YES), the recognition unit 202 updates the estimated self-position P(t+1) (step S212) and proceeds to step S114. If the number of matches does not exceed the threshold THB (step S210: NO), the recognition unit 202 maintains the past self-position P(t) (step S214) and proceeds to step S114.
[0069] Figure 11 shows the relationship between the distance from the moving body 100 and the matching number threshold in the second embodiment. The recognition unit 202 may increase the matching number threshold as it moves further away from the moving body 100. That is, the matching number threshold is set higher as it moves further away from the self-position of the moving body 100. The smaller the matching number threshold, the easier it is to update the position of the moving body 100 to its estimated self-position, and the larger the matching number threshold, the more difficult it becomes to update the position of the moving body 100 to its estimated self-position.
[0070] The relationship between the distance from the moving object 100 and the matching number threshold can be switched as follows: X, Y, or Z. For example, as shown in X, the recognition unit 202 may set the matching number to 80 in order to update its own position beyond a distance D1 from the moving object 100. For example, as shown in Z, the recognition unit 202 may allow updating its own position even with fewer than 80 matching numbers, as long as the distance from the moving object 100 does not exceed D3. X, Y, and Z may be set in accordance with operation accuracy information that indicates the amount of operation relative to the control amount of the moving object 100. If the moving object 100 has low operation accuracy, a region and matching number threshold corresponding to X may be set to tighten the updating of its own position.
[0071] Figure 12 is another diagram showing the relationship between the distance from the moving object 100 and the matching threshold in the second embodiment. For example, if Y is selected as the relationship between the distance from the moving object 100 and the matching threshold, the recognition unit 202 can, for example, set the threshold TH to 20 to allow the updating of its own position in region A, which is a distance D1 from the moving object 100; set the threshold TH to 40 to allow the updating of its own position in region B, which is a distance D2 from the moving object 100; and set the threshold TH to 80 to allow the updating of its own position in region C, which is a distance D3 from the moving object 100.
[0072] According to the control device 200 of the second embodiment, even if the estimated self-position is not included in the region corresponding to the movement state of the mobile body 100, the position of the mobile body 100 can be updated to the estimated self-position, provided that the number of matches exceeds the threshold for the number of matches set in that region. This makes it possible to accurately estimate the self-position of the mobile body 100 according to its movement state.
[0073] The embodiment described above can be expressed as follows: A control device for a mobile body comprising: a storage medium for storing computer-readable instructions; a processor connected to the storage medium, wherein the processor executing the computer-readable instructions to: a recognition unit that estimates the self-position of a mobile body based on surrounding information including the surrounding conditions of the mobile body and updates the position of the mobile body based on the estimated self-position; a generation unit that generates a path from the mobile body to the destination based on the recognized position of the mobile body and the destination; a control unit that controls the mobile body so that it moves to the destination along the generated path; and a detection unit that detects the movement state of the mobile body, wherein the recognition unit is configured to determine whether or not to update the position of the mobile body to the estimated self-position based on the movement state detected by the detection unit.
[0074] Although embodiments for carrying out the present invention have been described above using examples, the present invention is not limited in any way to these embodiments, and various modifications and substitutions can be made without departing from the spirit of the present invention.
[0075] 100 Mobile unit 200 Control device 202 Recognition unit 204 Path generation unit 206 Drive control unit
Claims
1. A control device for a moving body, comprising: a recognition unit that estimates the self-position of a moving body based on surrounding information including the surrounding conditions of the moving body, and updates the position of the moving body based on the estimated self-position; a generation unit that generates a path from the moving body to the destination based on the estimated position of the moving body and the destination; a control unit that controls the moving body so that it moves to the destination along the generated path; and a detection unit that detects the movement state of the moving body, wherein the recognition unit determines whether or not to update the position of the moving body to the estimated self-position based on the movement state detected by the detection unit.
2. The control device for a moving body according to claim 1, wherein the recognition unit does not update the position of the moving body to its estimated self-position when the detected movement state is stopped.
3. The control device for a moving body according to claim 1, wherein the recognition unit updates the position of the moving body to the estimated self-position if the estimated self-position is within the region corresponding to the detected movement state, and does not update the position of the moving body to the estimated self-position if the estimated self-position is not within the region corresponding to the detected movement state.
4. The control device for a moving body according to claim 1, wherein the recognition unit estimates the self-position of the moving body based on the number of matches between feature points included in the surrounding conditions of the moving body and feature points included in map data, and even if the estimated self-position is not included in the region corresponding to the movement state of the moving body, the position of the moving body is updated to the estimated self-position, provided that the number of matches exceeds a threshold for the number of matches set for that region.
5. The control device for a mobile body according to claim 4, wherein the threshold is set to be higher as the mobile body moves away from its own position.
6. The control device for a moving body according to claim 1, wherein the region corresponding to the moving state is set based on operation accuracy information indicating the amount of operation relative to the control amount of the moving body.
7. The control device for a mobile body according to claim 6, wherein the operation accuracy information is information based on environmental information indicating the environment around the mobile body, and the region corresponding to the movement state is set based on the environmental information.
8. A control system for a moving body comprising: a recognition unit that estimates the self-position of a moving body based on surrounding information including the surrounding conditions of the moving body, and updates the position of the moving body based on the estimated self-position; a generation unit that generates a path from the moving body to the destination based on the estimated position of the moving body and the destination; a control unit that controls the moving body so that it moves to the destination along the generated path; and a detection unit that detects the movement state of the moving body, wherein the recognition unit determines whether or not to update the position of the moving body to the estimated self-position based on the movement state detected by the detection unit.
9. A method for controlling a mobile body, comprising: a computer estimating the self-position of a mobile body based on ambient information including the surrounding conditions of the mobile body; updating the position of the mobile body based on the estimated self-position; generating a path from the mobile body to the destination based on the estimated position of the mobile body and the destination; controlling the mobile body so that it moves along the generated path to the destination; detecting the movement state of the mobile body; and, when estimating the self-position of the mobile body, determining whether or not to update the position of the mobile body to the estimated self-position based on the detected movement state.
10. A program that causes a computer to estimate the self-position of a moving object based on surrounding information including the surrounding conditions of the moving object, to update the position of the moving object based on the estimated self-position, to generate a path from the moving object to the destination based on the estimated position of the moving object and the destination, to control the moving object so that it moves along the generated path to the destination, to detect the movement state of the moving object, and, when the self-position of the moving object is estimated, to determine whether or not to update the position of the moving object to the estimated self-position based on the detected movement state.
Citation Information
Patent Citations
Autonomous moving device, autonomous moving method, and program
JP2019016089A
Self-position estimating device
JP2021176052A
Vehicle control system and estimating method for vehicle location
JP2022104150A
Autonomous traveling vehicle
JP2024077179A
Information processing device, information processing method, and program
WO2019138640A1