Control device for mobile body, control method for mobile body, and program
By dividing the area around a mobile body into regions and using Kalman filters for object detection, the mobile body control device reduces processing load and improves control responsiveness, addressing the challenges of high processing loads and delayed responses in existing systems.
Patent Information
- Application Number
- PCT/JP2023/035535
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-28
- Publication Date
- 2025-04-03
AI Technical Summary
Existing mobile body control systems face high processing loads due to the need to continuously detect and differentiate surrounding objects, which can lead to delayed or inappropriate control responses, especially in emergency situations.
A mobile body control device that divides the area around the mobile body into predetermined regions, uses an object detection unit with Kalman filters to detect objects in each region, and a movement control unit to manage the mobile body's movement based on these detection results, thereby reducing processing load and improving control responsiveness.
This approach significantly reduces the processing load associated with object detection, enables more timely and appropriate movement control, and enhances the reliability of emergency stop controls by focusing on the presence or absence of objects in specific regions rather than processing all sensor data simultaneously.
Smart Images

Figure JP2023035535_03042025_PF_FP_ABST
Abstract
Description
MOBILE BODY CONTROL DEVICE, MOBILE BODY CONTROL METHOD, AND PROGRAM
[0001] The present invention relates to a control device for a mobile object, a control method for a mobile object, and a program.
[0002] A technology for controlling the movement of a moving object in accordance with a surrounding situation has been studied. In this regard, a computing device is known that includes a receiving unit that receives information on a detected target that is a target recognized by a sensor, a processing unit assigning a plurality of targets to one of a plurality of groups, an associating unit that searches a portion of the plurality of groups for a second target to be associated with a first target, and a state fusion unit that fuses the first target and the second target associated by the associating unit to form a tracked target that is a target to be tracked (see, for example, Patent Document 1).
[0003] Japanese Patent Application Laid-Open No. 2021-168029
[0004] However, in the past, it was necessary to determine whether objects around a moving body are the same object or different objects from sensor data detected by an external detection sensor, and to perform noise detection on the sensor data, etc., which could result in a processing load being placed on detecting surrounding objects.
[0005] The present invention has been made in consideration of these circumstances, and one of its objectives is to provide a control device for a mobile body, a control method for a mobile body, and a program that can further reduce the processing load related to detecting objects around the mobile body.
[0006] The present invention provides a control device for a moving body, a control method for a moving body, and a program, each of which employs the following configuration: (1): A control device for a moving body according to one aspect of the present invention includes a division unit that divides an area surrounding a moving body into a predetermined number of divided areas, an object detection unit that detects the presence or absence of an object for each divided area based on an output from an external environment detection device that detects the external situation of the moving body, and a movement control unit that controls movement of the moving body based on the detection result for each divided area by the object detection unit.
[0007] (2): In the above aspect (1), the movement control unit stops the moving body when the state in which the object is detected in at least one of the predetermined number of divided areas continues for a predetermined time or more.
[0008] (3): In the above aspect (1), the movement control unit stops the moving body when an object is detected in one of the predetermined number of divided areas that is located within a predetermined range from the moving body.
[0009] (4) In the above aspect (1), the moving body is an unmanned moving body.
[0010] (5) In the above aspect (1), the object includes a traffic participant.
[0011] (6) In the above aspect (5), the moving body includes a vehicle that can move within an area where the traffic participants can pass.
[0012] (7): In the aspect of (1) above, the object detection unit assigns a Kalman filter to each of the outputs of the external environment detection device for the predetermined number of divided areas, and detects the presence of the object in the divided area to which the Kalman filter is assigned when the magnitude of the covariance of the assigned Kalman filter is equal to or less than a threshold value.
[0013] (8): Another aspect of the present invention is a method for controlling a moving body, in which a computer divides an area surrounding the moving body into a predetermined number of divided areas, detects the presence or absence of an object for each divided area based on the output of an external environment detection device that detects the external situation of the moving body, and controls the movement of the moving body based on the detection results for each divided area.
[0014] (9): Another aspect of the present invention is a program that causes a computer to divide an area around a moving body into a predetermined number of divided areas, detect the presence or absence of an object for each divided area based on the output of an external environment detection device that detects the external situation of the moving body, and control the movement of the moving body based on the detection results for each divided area.
[0015] According to the above aspects (1) to (9), the processing load relating to the detection of objects around the moving body can be further reduced.
[0016] 1 is a diagram illustrating an example of the configuration of a moving body 1 and a control device 100 in an embodiment. FIG. 2 is a diagram for explaining an example of movement control in an embodiment. FIG. 3 is a flowchart illustrating an example of a first stop control process. FIG. 4 is a flowchart illustrating an example of a second stop control process. FIG. 5 is a diagram illustrating an example of the configuration of a moving body 1A that a user rides in an embodiment.
[0017] Hereinafter, with reference to the drawings, embodiments of a mobile body control device, a mobile body control method, and a program according to the present invention will be described. In the embodiments, the mobile body can move not only on roadways but also in predetermined areas other than roadways. The predetermined areas other than roadways may include, for example, part or all of sidewalks, roadside strips, bicycle lanes, etc. Furthermore, the predetermined areas other than roadways may include areas where pedestrians can move in indoor or outdoor facilities such as shopping centers, airports, parks, and theme parks. The mobile body is an unmanned mobile body that can carry luggage or other items and travel toward a destination, or that can follow a user. The mobile body may also be a mobile body (vehicle) that can move with a user aboard. The mobile body may be, for example, a mobile body capable of autonomous movement. Autonomous movement refers to movement by controlling one or both of speed and steering (turning) without relying on driving operations by the user. The mobile body may also move autonomously with a user aboard. The mobile body may be, for example, a vehicle, but may also include other mobile bodies capable of autonomous movement (e.g., a walking robot, etc.). Vehicles include not only four-wheeled vehicles, but also three-wheeled vehicles, and saddle-type vehicles such as motorcycles where the driver straddles the vehicle. Mobile vehicles are sometimes referred to as micromobility. Single-seater cars and electric kick scooters are examples of micromobility.
[0018] 1 is a diagram showing an example of the configuration of a mobile object 1 and a control device 100 according to an embodiment. The mobile object 1 is assumed to be an unmanned vehicle. The mobile object 1 includes, for example, an external environment detection device 10, a mobile object sensor 20, a positioning device 30, a communication device 40, a storage device 50, a movement mechanism 60, a drive device 70, and the control device 100. Some of these components that are not essential for realizing the functions of the present invention may be omitted.
[0019] The external environment detection device 10 detects the external situation of the mobile object 1. For example, the external environment detection device 10 is a sensor device having a detection range that covers at least a part of the periphery (including the direction of travel) of the mobile object 1. The external environment detection device 10 includes at least one of a sonar, a camera, a radar device, a LIDAR (Light Detection and Ranging), a sensor fusion device, and the like.
[0020] The sonar emits ultrasonic waves around the mobile body 1 and detects the reflection or scattering of the waves by an object present within a predetermined distance from the mobile body 1, thereby detecting the distance or position of the object from the mobile body 1. The sonar may be attached to any location on the mobile body 1, for example.
[0021] The camera is, for example, a digital camera using a solid-state imaging element such as a CCD (Charge Coupled Device) or a CMOS (Complementary Metal Oxide Semiconductor). The camera is attached to any location on the moving body 1. When capturing an image of the front, the camera is attached to the front or top of the moving body 1. The camera may also be a camera capable of capturing images in all directions (360°). For example, the camera periodically and repeatedly captures images of the surroundings of the moving body 1. The camera may also be a stereo camera.
[0022] The radar device emits radio waves such as millimeter waves around the mobile object 1 and detects radio waves reflected by the object (reflected waves) to detect at least the position (distance and direction) of the object. The radar device is attached to any location on the mobile object 1. The radar device may detect the position and speed of the object by, for example, an FM-CW (Frequency Modulated Continuous Wave) method.
[0023] LIDAR irradiates the area around the moving object 1 with light (or electromagnetic waves with wavelengths similar to light) and measures the scattered light. LIDAR detects the distance to the target based on the time between light emission and light reception. The irradiated light is, for example, pulsed laser light. LIDAR is attached to any location on the moving object. LIDAR detects the distance from the moving object to the target by scanning horizontally and vertically relative to the moving object's direction of travel.
[0024] The external environment sensing device 10 outputs information indicating the sensing result (image, object position, etc.) to the control device 100.
[0025] The mobile body sensor 20 includes, for example, a speed sensor that detects the speed of the mobile body 1, an acceleration sensor that detects the acceleration of the mobile body 1, a yaw rate (angular velocity) sensor that detects the rotational angular velocity around a vertical axis passing through the center of gravity of the mobile body 1, and a direction sensor that detects the direction of travel (front direction) of the mobile body 1.
[0026] The positioning device 30 is a device that measures the position (e.g., latitude and longitude) of the mobile object 1. The positioning device 30 is, for example, a Global Navigation Satellite System (GNSS) receiver, and identifies the position of the mobile object 1 based on signals received from GNSS satellites and outputs the position information. The positioning device 30 may also estimate the position of the mobile object 1 based on, for example, position information, radio wave intensity, etc. of one or more Wi-Fi base stations to which the communication device 40 is connected.
[0027] The communication device 40 communicates with other mobile devices in the vicinity using, for example, a cellular network, a Wi-Fi network, Bluetooth (registered trademark), DSRC (Dedicated Short Range Communication), etc., or communicates with various external devices (servers, etc.) via a wireless base station.
[0028] The storage device 50 is a non-transitory storage device such as a hard disk drive (HDD), flash memory, or random access memory (RAM). The storage device 50 stores map information 52, a program 54 executed by the control device 100, and the like. The map information 52 stores, for example, road information (road shape (width, curvature, gradient, branching, merging), location of roadways, sidewalks, shoulders, bicycle lanes, stop lines, and crosswalks) associated with location information (latitude and longitude), point of interest (POI) information, traffic regulation information (road signs, etc.), address information (address and postal code), facility information, telephone number information, and the like. The map information 52 may also include, for example, information regarding areas in which the mobile object 1 can (or cannot) travel, and information regarding areas where an emergency stop is predicted to be necessary depending on the surrounding conditions of the mobile object 1 (hereinafter referred to as an emergency stop predicted area). The emergency stop predicted area includes, for example, areas where pedestrians can pass (e.g., sidewalks). The map information 52 may be updated as needed by the communication device 40 communicating with other devices. In the example of Fig. 1, the storage device 50 is illustrated outside the frame of the control device 100, but the storage device 50 may be included in the control device 100.
[0029] The movement mechanism 60 is a mechanism for moving the mobile object 1 in an area where the mobile object 1 can move, such as a road. If the mobile object 1 is a vehicle, the movement mechanism 60 includes a group of wheels including steering wheels and drive wheels. If the mobile object 1 is a robot, the movement mechanism 60 may be legs for walking on multiple legs.
[0030] The drive device 70 outputs power to the movement mechanism 60 to move the mobile object 1. For example, the drive device 70 includes a motor that drives the drive wheels, a battery that stores power to be supplied to the motor, a steering device that adjusts the steering angle of the steering wheels, etc. For example, the drive device 70 may include a drive force output device that outputs drive force (torque) to the drive wheels for moving the mobile object 1, or may include an internal combustion engine, a fuel cell, or the like as power generation means. The drive device 70 may also include a brake device that decelerates or stops the mobile object 1 by using frictional force or air resistance.
[0031] [Control Device] The control device 100 includes, for example, a division unit 110, an object detection unit 120, a behavior prediction unit 130, a trajectory generation unit 140, and a movement control unit 150. The division unit 110, the object detection unit 120, the behavior prediction unit 130, the trajectory generation unit 140, and the movement control unit 150 are realized by, for example, a hardware processor such as a CPU (Central Processing Unit) executing a program (software) 54. Some or all of these components may be realized by hardware (including circuitry) such as an LSI (Large Scale Integration), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a GPU (Graphics Processing Unit), or may be realized by a combination of software and hardware. The program may be stored in advance in the storage device 50, or may be stored in a removable storage medium (non-transient storage medium) such as a DVD or CD-ROM, and installed in the storage device 50 by inserting the storage medium into a drive device.
[0032] The dividing unit 110 divides a predetermined area around the moving object 1 into a predetermined number (e.g., multiple) of areas. The predetermined area is, for example, an area within a predetermined distance from the moving object 1. The predetermined area may also be, for example, a preset emergency stop predicted area. For example, the dividing unit 110 refers to the map information 52 based on the position information of the moving object 1 measured by the positioning device 30, and determines whether there is an emergency stop predicted area around the moving object 1. The dividing unit 110 may also perform well-known image analysis processing (e.g., binarization processing, contour extraction processing, image enhancement processing, feature extraction processing, pattern matching processing, etc.) on the image captured by the camera of the external environment sensing device 10, acquire surrounding road signs based on the results of the image analysis processing, and determine whether the predetermined area is a sidewalk or other emergency stop predicted area based on the content of the acquired road signs.
[0033] When dividing a predetermined area into a predetermined number of divided areas, the dividing unit 110 may divide the area into a grid pattern, a honeycomb pattern (a shape in which regular hexagons are arranged without gaps), or other shapes. The size of the divided areas may be fixed or may be variable depending on the speed of the moving object 1, the road shape, etc. Furthermore, the number of divided areas may be a fixed number or may be variable depending on the speed of the moving object 1 and the road shape. For example, by setting the number of divided areas to a fixed number, the processing load and memory usage can be fixed, thereby realizing stable processing. Furthermore, by adjusting the number of divided areas depending on the current processing load of the moving object 1, etc., appropriate control according to the situation can be realized.
[0034] The object detection unit 120 detects the presence or absence of an object for each divided region divided by the division unit 110 based on the output of the external environment detection device 10. The object may be, for example, a traffic participant (moving body) such as a pedestrian, a bicycle, or another vehicle. The object may also include some or all of the following obstacles: road dividing lines, steps, guardrails, side strips, median strips, and other lane boundaries; road structures such as road signs and billboards; and objects lying (falling) on the lane.
[0035] For example, when the object detection unit 120 detects the presence of an object, it detects the distance, position, speed, etc. from the moving body 1 to the object based on the detection result of the external environment detection device 10. The function of the object detection unit 120 will be described in detail later.
[0036] The behavior prediction unit 130 tracks changes in the movement (movement direction and movement amount) of traffic participants over time among the objects detected by the object detection unit 120, and predicts the future behavior of the traffic participants from the tracking results. The future behavior may be, for example, the location of the traffic participants at multiple future points in time. The behavior prediction unit 130 may also track the behavior of a specific traffic participant (e.g., a user using the mobile unit 1) among traffic participants present around the mobile unit 1. At least some of the functions of the behavior prediction unit 130 may be included in the object detection unit 120. Details of the functions of the behavior prediction unit 130 will be described later.
[0037] The trajectory generation unit 140 generates a target trajectory along which the mobile body 1 should travel in the future, based on, for example, a destination set in advance by the user of the mobile body 1, the positions of objects around the mobile body 1 detected by the object detection unit 120, and future behavior predictions of traffic participants predicted by the behavior prediction unit 130. The trajectory generation unit 140 generates a target trajectory that enables the mobile body 1 to move smoothly to a target point. The trajectory generation unit 140 also generates a target trajectory for heading toward a destination while avoiding surrounding objects. The trajectory generation unit 140 may also generate a target trajectory for following a specific traffic participant (for example, a user being tracked by the behavior prediction unit 130).
[0038] For example, the trajectory generation unit 140 generates multiple trajectories according to the surrounding circumstances, calculates the risk for each trajectory, and if the total value of the calculated risks or the risk at each trajectory point meets a preset criterion (for example, if the total value is equal to or less than a first threshold and the risk at each trajectory point is equal to or less than a second threshold), adopts the trajectory that satisfies the criterion as the target trajectory for the moving object 1. For example, the risk tends to be higher the closer the distance between the trajectory (trajectory point on the trajectory) and an obstacle, and lower the closer the distance between the trajectory and an obstacle.
[0039] The movement control unit 150 controls the movement of the moving body 1 based on, for example, the detection results for each divided region by the object detection unit 120. For example, the movement control unit 150 controls the drive device 70 so that the moving body 1 moves along the target trajectory generated by the trajectory generation unit 140, and executes movement control to control one or both of the steering and the speed of the moving body 1.
[0040] The movement control unit 150 also includes, for example, a stop control unit 152. The stop control unit 152 stops the moving body 1 when a state in which an object (e.g., a traffic participant) is detected in at least one of the predetermined number of divided areas divided by the dividing unit 110 continues for a predetermined time or more. The stop control unit 152 also stops the moving body 1 when an object is detected in a divided area (neighboring area) that exists within a predetermined range from the moving body 1, among the predetermined number of divided areas. Note that, instead of stopping the moving body 1, the movement control unit 150 may perform deceleration control to travel at less than a predetermined speed.
[0041] [Dividing Unit, Behavior Predicting Unit, and Stopping Control Unit] Next, the functions of the dividing unit 110, behavior predicting unit 130, and stopping control unit 152 in the movement control of the moving object 1 in the embodiment will be described in detail. FIG. 2 is a diagram for explaining an example of movement control in the embodiment. In the example of FIG. 2, the moving object 1 is assumed to be traveling in the direction of travel (X-axis direction in the figure) at a speed V1. In addition, in the example of FIG. 2, an area AR is an area where pedestrians can pass, and multiple pedestrians P1 to P9 are assumed to be present within the area AR. In addition, in the example of FIG. 2, at least a portion of the moving object 1 is assumed to be present within the area AR.
[0042] In the example of FIG. 2 , the dividing unit 110 references map information 52 based on the location information of the mobile unit 1 and extracts an area AR, which is a sidewalk, as an emergency stop predicted area from the area surrounding the mobile unit 1. The dividing unit 110 then divides the area AR into a predetermined number of divided areas. Specifically, as shown in FIG. 2 , the dividing unit 110 divides the area AR included in an imaginary plane, which represents the space surrounding the mobile unit 1 as a two-dimensional plane (the XY plane in the figure) viewed from above, into a predetermined number of grid-like divided areas. The imaginary plane may be acquired from the map information 52 or may be acquired by performing coordinate transformation on an image (three-dimensional image) captured by the camera of the external environment sensing device 10. Hereinafter, when identifying and describing each of the grid-like divided areas, the alphanumeric characters in each divided area shown in FIG. 2 will be used. In the example of FIG. 2 , the imaginary plane is divided into 50 divided areas A01 to A50 of the same size, but the size, shape, and number of divided areas are not limited to this.
[0043] The object detection unit 120 detects the presence or absence of an object in each of the divided areas A01 to A50 based on the output of the external environment detection device 10, which detects the external situation of the moving object 1. For example, when an object is detected in at least one of the divided areas A01 to A50 in the XY plane shown in Figure 2, the object detection unit 120 detects that an object is present in that divided area or area AR. Furthermore, the object detection unit 120 may detect the absence of an object for each divided area, or may detect the absence of an object in area AR when no object is detected in any of the divided areas A01 to A50.
[0044] Next, the object detection process will be described. Alternatively, the object detection unit 120 may assign and arrange a Kalman filter to each of the outputs of the external environment detection device for each of the divided areas A01 to A50, and detect the presence or absence of an object within the divided area based on the magnitude of the covariance of the arranged Kalman filter. A Kalman filter is a technique for estimating values related to the measurement values based on the output (time-series detection results) of the external environment detection device 10. For example, the object detection unit 120 uses the Kalman filter arranged for each of the divided areas A01 to A50 to estimate time-varying quantities (e.g., the position and velocity of an object) from the detection results of the external environment detection device 10, which may have discrete errors.
[0045] Here, an example of an object detection method using a Kalman filter in an embodiment will be described. For example, the object detection unit 120 applies the movement of an object to a movement model that best fits the object's past movement history from among a plurality of movement models prepared in advance. The movement models include, for example, "moving in the same direction while maintaining speed," "moving in the same direction while accelerating and decelerating," "moving in different directions while maintaining speed (i.e., moving in a circular motion)," "moving in a circular motion while accelerating and decelerating," and the like.
[0046] Next, the object detection unit 120 calculates the covariance of the Kalman filter. The Kalman filter process is realized by alternately performing the prediction steps expressed by equations (1) and (2) and the update steps expressed by equations (3) to (5).
[0047]
[0048] In each equation, k represents the processing cycle. μk (tilde) in equation (1) represents a priori estimated value, and Σk (tilde) in equation (2) represents a priori error covariance. Gk is a matrix constituting the state space representation (motion model applied to the object), and R is Σμ. In addition, Kk in equation (3) is the Kalman gain, C is a matrix constituting the state space representation (observation model), and Q is Σz (z is the left term of the observation model). In addition, μk in equation (4) represents a posterior estimated value, and Σk in equation (5) represents a posterior error covariance. μk in equation (4) is treated as μk+1 (tilde) in the k+1th cycle, and Σk in equation (5) is treated as Σk+1 in the k+1th cycle.
[0049] The object detection unit 120 calculates the posterior estimate μk and posterior error covariance Σk of the object for each divided area A01 to A50 based on the Kalman filter processing (each equation) described above. Furthermore, the object detection unit 120 determines that an object is present when the magnitude of the calculated covariance (e.g., posterior error covariance Σk) is equal to or less than a threshold, and determines that an object is not present when the magnitude is greater than the threshold. By making this determination using a Kalman filter assigned to each divided area A01 to A50, it is possible to detect objects for each divided area A01 to A50.
[0050] The object detection unit 120 may also set an object presence probability for each divided region A01 to A50 according to the value of the posterior error covariance Σk. The presence probability does not have to be a "probability" in the strict sense, but may be an index value indicating the degree of possibility of existence. For example, the smaller the posterior error covariance Σk, the higher the presence probability. The object detection unit 120 may also acquire the presence probability over time by setting the presence probability in the imaginary plane for each future time point specified at regular time intervals, such as the current time t, Δt later (time t + Δt), 2Δt later (time t + 2Δt), etc. The object detection unit 120 calculates the presence probability for each divided region, and detects the presence of an object in that divided region if the calculated presence probability is equal to or greater than a threshold, or detects the absence of an object if the presence probability is less than the threshold.
[0051] Note that the object detection process using the Kalman filter in the embodiment is not limited to the above example, and other methods for detecting objects for each divided region may be used. Furthermore, part or all of the above-described Kalman filter process may be used when the behavior prediction unit 130 predicts the future behavior of an object. By performing the above-described object detection process on the divided regions A01 to A50, the number of objects included in each region is reduced compared to when object detection is performed on the entire region AR. Furthermore, since object identification is not performed, the processing load can be reduced. Objects can be detected early in regions where it is desired to prevent delays in movement control, such as regions predicted for emergency stops.
[0052] 2, the object detection unit 120 detects the presence of an object in divided areas A08, A16, A17, A19, A20, A26, A27, A29, A30, A34, A35, A37, A44, and A48 out of the divided areas A01 to A50 (the object detection unit 120 may also detect that an object does not exist in divided areas other than the above). Note that the results of the object detection process described above are mainly used for determining an emergency stop of the moving body 1, and therefore the presence or absence of an object within the area is detected, but processing such as object identification and noise determination is not performed.
[0053] However, in addition to the above object detection, the object detection unit 120 may also perform processing to identify objects. In this case, the object detection unit 120 may detect objects in the vicinity of the mobile body 1 (mainly in the area in the direction of travel) by inputting the observed values of sound waves acquired by the sonar of the external environment detection device 10 into an object detection model. The object detection model is a trained model trained using, for example, a machine learning algorithm, and is trained to input the observed values of sound waves acquired by the sonar and output information such as the presence, position, and type of an object. The type of object may be estimated based on the size in the image or the intensity of the reflected wave received by the radar device of the external environment detection device 10, or may be estimated based on the analysis results of the image captured by the camera of the external environment detection device 10. The object detection unit 120 may also detect objects by combining these estimation results. The object detection unit 120 may also detect the speed of an object detected by the radar device using, for example, Doppler shift. The above-mentioned object detection makes it possible to detect traffic participants (pedestrians P1 to P9) and other objects within the area AR, and using these detection results, the behavior prediction unit 130 can track each traffic participant and predict their future behavior.
[0054] The stop control unit 152 executes movement control to stop the moving body 1 when an object is detected in at least one of the divided areas A01-A50 for a predetermined time or longer. The predetermined time may be fixed or may be variable depending on the speed V1 of the moving body 1, the road shape, etc. Furthermore, the predetermined time is preferably set to a short time, for example, to prevent delays in movement control in an emergency stop prediction area. In the example of FIG. 2 , because an object (pedestrian P1-P9) is detected in at least one of the divided areas A01-A50 for a predetermined time or longer, the stop control unit 152 executes movement control to stop the moving body 1 by driving the brake device of the drive unit 70, etc. This can prevent contact between the moving body 1 and traffic participants (contact while moving). Furthermore, by setting the condition that the object is detected for a predetermined time or longer, immediate control to stop the moving body 1 can be prevented even if noise is temporarily mistakenly detected as an object.
[0055] In addition, if the distance between the moving body 1 and an object detected within the area AR is greater than or equal to a predetermined distance, or if the object is not approaching the moving body 1 (if the object is moving in a direction away from the moving body 1), the stop control unit 152 may perform deceleration control to travel at less than a predetermined speed.
[0056] Furthermore, instead of (or in addition to) the control to stop the moving body 1 described above, the stop control unit 152 may execute control to immediately stop the moving body 1 when an object is detected in an area (nearby area) of the divided areas A01 to A50 that is less than a predetermined range from the moving body 1. The predetermined range may be, for example, a fixed range, or may be a range that is variably set depending on the speed V1 of the moving body. Furthermore, the predetermined range may be set based on the size, shape, number, etc. of the divided areas A01 to A50, or may be set depending on whether the moving body 1 is moving unmanned or manned, etc.
[0057] 2, divided areas A19, A20, A24, A25, A29, A30, A34, and A35 are set as nearby areas within a predetermined range of the area AR from the moving object 1. These areas may be set as a single area, and object detection may be performed using the Kalman filter process described above. When an object is detected in a nearby area where there is a high risk of contact, the stop control unit 152 immediately stops the moving object 1, thereby achieving more appropriate movement control according to the surrounding conditions.
[0058] In the embodiment, the same processing may be performed on a predetermined area around the mobile object 1 as the center, without being limited to the emergency stop predicted area on the right side of the mobile object 1 as shown in FIG.
[0059] Furthermore, after the stop control unit 152 executes control to stop the moving body 1, if the object detection unit 120 detects that no object is present within the specified area, the movement control unit 150 executes control to drive the steering device and driving force output device of the drive unit 70 so that the moving body 1 moves again along the target trajectory.
[0060] As described above, in the embodiment, for example, an area within a predetermined range from the moving body 1 is divided, and only the presence or absence of traffic participants in the divided area close to the moving body 1 is determined to be used for determining whether an emergency stop is necessary. This reduces the processing load compared to, for example, gating processing (processing that determines whether incoming sensor data is from a specific object, a different object, noise, etc.). Furthermore, according to the embodiment, emergency stop control is executed depending on whether an object is present in the area near the moving body 1, regardless of the number of objects, so that contact between the moving body 1 and the object can be more reliably avoided.
[0061] [Processing Flow] An example of the flow of processing executed by the control device 100 of the embodiment will be described below. In the example of Fig. 3, among the various processing executed by the control device 100, the stop control processing in a state where the mobile object 1 is moving toward a preset destination (or moving while following a specific user) will be particularly described. In addition, two stop control processings will be described separately below.
[0062] [First Stop Control Process] Fig. 3 is a flowchart showing an example of the first stop control process. The process shown in Fig. 3 and the process shown in Fig. 4, which will be described later, may be repeatedly executed at predetermined timings while the moving object 1 is moving.
[0063] In the example of FIG. 3 , the dividing unit 110 divides the area around the moving object 1 into a predetermined number of regions (step S100). Next, the object detection unit 120 detects the presence or absence of an object in each divided region (step S110). Next, the movement control unit 150 determines whether an object has been detected in at least one of the divided regions for a predetermined period of time or longer (step S120). If it is determined that an object has been detected in at least one divided region for a predetermined period of time or longer, the movement control unit 150 stops the moving object 1 (step S130). This ends the processing of this flowchart. Furthermore, if it is determined in step S120 that an object has not been detected in at least one divided region for a predetermined period of time or longer, the processing of this flowchart ends.
[0064] [Second Stop Control Process] Fig. 4 is a flowchart showing an example of the second stop control process. Compared to the first stop control process shown in Fig. 3, the process shown in Fig. 4 includes a process of step S122 instead of the process of step S120. Therefore, the following description will mainly focus on the process of step S122.
[0065] In the process of Fig. 4, after the process of step S110, the movement control unit 150 determines whether an object has been detected in a divided area (neighborhood area) that is within a predetermined range from the moving object 1 (step S122). If it is determined that an object has been detected in the neighborhood area, the movement control unit 150 stops the moving object 1 (step S130). This ends the process of this flowchart. Also, if it is determined in the process of step S122 that an object has not been detected in the neighborhood area, the process of this flowchart ends. Note that each of the first and second stop control processes described above may be combined with part or all of the other stop control process.
[0066] [Modification] The moving body in the embodiment may be a moving body that a user can ride on and move in. In this case, the moving body may perform notification control for the user riding on the moving body instead of (or in addition to) executing the stop control as described above.
[0067] FIG. 5 is a diagram showing an example of the configuration of a moving body 1A on which a user rides in an embodiment. The moving body 1A shown in FIG. 5 differs from the moving body 1 shown in FIG. 1 in that an operator 80 and an HMI (Human Machine Interface) 90 are added, and a control device 100A is included instead of the control device 100. The configuration of the control device 100A also differs from the configuration of the control device 100 in that an HMI control unit 160 is further included. Therefore, the following description will mainly focus on the configurations of the operator 80, the HMI 90, and the HMI control unit 160. The HMI 90 is an example of an "alert unit." The HMI control unit 160 is an example of an "alert control unit."
[0068] The operator 80 accepts driving operations by a user riding in the moving body 1A. The operator 80 includes, for example, an operator (e.g., an accelerator pedal or a brake pedal) for instructing acceleration or deceleration of the moving body 1A and an operator (e.g., a steering wheel) for instructing steering. In this case, the moving body sensor 20 may include an accelerator position sensor, a brake depression sensor, a steering torque sensor, etc. The moving body 1A may also include an operator of a type other than the above (e.g., a non-annular rotary operator, a joystick, a button, etc.) as the operator 80. For example, the moving body 1A moves when the drive device 70 is driven by operation of the operator 80 by the user, and power is output to the movement mechanism 60. Note that the moving body 1A may move under the control of the control device 100A without relying on driving operations by the user.
[0069] The HMI 90 presents (or notifies or notifies) various information to a user on board the moving object 1A and accepts input operations by the user. The HMI 90 includes various display devices, speakers, microphones, buzzers, touch panels, switches, keys, lamps, etc. For example, the HMI 90 notifies the user of the traveling state of the moving object 1A controlled by the movement control unit 150 in different notification modes depending on the traveling state. The HMI 90 also presents, for example, information from the control device 100 and information obtained from an external device via the communication device 40.
[0070] When the HMI control unit 160 determines that an object has been detected in at least one divided area for a predetermined period of time or more through the object detection process described above, or when it determines that an object has been detected in a nearby divided area that is within a predetermined range from the moving object 1A, the HMI control unit 160 generates information indicating that the moving object 1A should be stopped or information urging the user to pay attention to the surroundings, and notifies the user by outputting the generated information to the HMI 90. This allows the user to more accurately understand the control status of the moving object 1A, and by urging the user to pay attention, it becomes easier to avoid contact with nearby traffic participants.
[0071] According to the embodiment described above, the control device for a moving body is equipped with a division unit 110 that divides the area around the moving body 1 into a predetermined number of divided areas, an object detection unit 120 that detects the presence or absence of an object for each divided area based on the output of an external environment detection device 10 that detects the external situation of the moving body 1, and a movement control unit 150 that controls the movement of the moving body 1 based on the detection results for each divided area by the object detection unit 120, thereby making it possible to further reduce the processing load related to the detection of objects around the moving body 1.
[0072] For example, in the past, detecting surrounding objects required determining whether objects around the mobile body 1 were the same or different objects based on sensor data detected by an external detection sensor or performing noise detection on the sensor data, which could impose a processing load on the detection of surrounding objects. Therefore, in situations where control such as an emergency stop was likely to be necessary, control could be delayed, making it impossible to perform appropriate control. Furthermore, in the past, methods were used to track all objects within a range or to track a fixed number of objects. However, when tracking a fixed number of objects, in order to reduce the processing load, objects exceeding the fixed number had to be excluded or prioritized. Therefore, in this embodiment, as described above, the area is divided into divided regions, and the presence or absence of objects in each region is detected, and the results are used to determine whether an emergency stop should be performed. This reduces the processing load and shortens the processing time, enabling more appropriate movement control according to the surrounding conditions.
[0073] Furthermore, according to the embodiment, the same effect as described above can be obtained by limiting the area to the emergency stop prediction area, dividing the area into a grid, calculating the probability of an object's presence for each divided area, and detecting the object based on the calculation results. Furthermore, in the embodiment, the number of divisions can be adjusted according to the current processing load of the moving object 1, thereby realizing appropriate control according to the situation. Furthermore, by setting the number of divisions to a fixed number, the processing load and memory usage can be fixed, thereby realizing stable processing. Furthermore, according to the embodiment, the processing load can be further reduced by limiting the processing to the nearby area.
[0074] In addition, in the past, for example, when multiple objects were detected using a single sensor, when a low-cost sensor was used, when there were too many objects, when there were obstacles, when the mobile object 1 was moving straight ahead at high speed, or when it was turning left or right, situations in which sensor values were uncertain, such as sensor value fluctuations (noise), bias due to self-positioning, phantoms observing invisible objects, oversights that should be present and not being able to detect them, and occlusions hiding in the shadows, could occur. Therefore, in an embodiment, a Kalman filter is assigned to each of the outputs of the external environment detection device for each of a predetermined number of divided regions. This allows object estimation to continue even when the sensor value is uncertain (however, the variance increases as the calculation of the estimated value continues), and when an accurate sensor value is received, the object's position can be corrected using that value (this calculation of the sensor value reduces the variance). Furthermore, according to an embodiment, the results of multiple sensors can be integrated to calculate a more accurate value. Note that if a period of oversight lasts several seconds, sensor values cannot be obtained and the mobile object moves at an estimated speed, resulting in a large deviation in the estimated position. Therefore, in this embodiment, it is possible to recognize a different object if a true sensor value is received after a predetermined period of time has passed.
[0075] The above-described embodiment can be expressed as follows: A control device for a mobile body, comprising: a storage medium storing computer-readable instructions for controlling a mobile body that has one or more occupants on board and that is capable of moving both on a roadway and a predetermined area different from the roadway; and a processor connected to the storage medium, wherein the processor executes the computer-readable instructions to: divide an area around the mobile body into a predetermined number of divided areas, detect the presence or absence of an object for each divided area based on output from an external environment detection device that detects the external situation of the mobile body, and control the movement of the mobile body based on the detection result for each divided area.
[0076] The above describes the form for carrying out the present invention using an embodiment, but the present invention is not limited to such an embodiment, and various modifications and substitutions can be made within the scope that does not deviate from the gist of the present invention.
[0077] REFERENCE SIGNS LIST 1, 1A Mobile body 10 External environment detection device 20 Mobile body sensor 30 Positioning device 40 Communication device 50 Storage device 60 Moving mechanism 70 Driving device 80 Operator 90 HMI 100, 100A Control device 110 Division unit 120 Object detection unit 130 Action prediction unit 140 Trajectory generation unit 150 Movement control unit 152 Stop control unit 160 HMI control unit
Claims
1. A control device for a moving body comprising: a division unit that divides an area surrounding a moving body into a predetermined number of divided areas; an object detection unit that detects the presence or absence of an object for each divided area based on the output of an external environment detection device that detects the external situation of the moving body; and a movement control unit that controls the movement of the moving body based on the detection results for each divided area by the object detection unit.
2. The control device for a moving body according to claim 1, wherein the movement control unit stops the moving body when a state in which the object is detected in at least one of the predetermined number of divided regions continues for a predetermined period of time or more.
3. The control device for a moving body according to claim 1, wherein the movement control unit stops the moving body when an object is detected in a divided area that is within a predetermined range from the moving body out of the predetermined number of divided areas.
4. The control device for a moving body according to claim 1, wherein the moving body is an unmanned moving body.
5. The control device for a moving body according to claim 1, wherein the object includes a traffic participant.
6. The control device for a moving body according to claim 5, wherein the moving body includes a vehicle capable of moving within an area where the traffic participants can pass through.
7. The control device for a moving body as described in claim 1, wherein the object detection unit assigns a Kalman filter to each of the outputs of the external environment detection device for each of the predetermined number of divided areas, and detects the presence of the object in the divided area to which the Kalman filter is assigned when the magnitude of the covariance of the assigned Kalman filter is equal to or less than a threshold value.
8. A method for controlling a moving body, comprising: a computer dividing an area surrounding a moving body into a predetermined number of divided areas; detecting the presence or absence of an object for each divided area based on the output of an external environment detection device that detects the external situation of the moving body; and controlling the movement of the moving body based on the detection results for each divided area.
9. A program that causes a computer to divide an area surrounding a moving object into a predetermined number of divided areas, detect the presence or absence of an object for each divided area based on the output of an external environment detection device that detects the external situation of the moving object, and control the movement of the moving object based on the detection results for each divided area.
Citation Information
Patent Citations
Object motion estimation method and object motion estimation apparatus
JP2020126394A
Object detecting device
WO2016017272A1