Peripheral recognition device, peripheral recognition method, and computer readable medium

A control unit (21) determines an allocation rate of computational resources to be allocated to each of a plurality of sensing processes of analyzing sensor data output from a plurality of sensors that observe an area around a moving body (100), based on a moving environment of the moving body (100), such as the type of a road where the moving body (100) travels, behavior of the moving body (100), and visibility from the moving body (100). A detection unit (22) detects an object in the area around the moving body (100) by using, for a corresponding sensing process, computational resources of an allocated amount specified based on the allocation rate determined by the control unit (21).

TECHNICAL FIELD

The present invention relates to a technique of recognizing an object present in an area around a moving body.

BACKGROUND ART

Advanced driver-assistance systems such as a lane departure warning system (LDW), a pedestrian detection system (PD), and an adaptive cruise control system (ACC) are being developed or commercialized with the purpose of supporting driving of drivers and of preventive safety. Furthermore, autonomous driving systems which perform driving instead of drivers all or part of the way to the destination are being developed.

The advanced driver-assistance systems and the autonomous driving systems are realized based on the state of an area around a vehicle recognized by a sensor or the like. Accordingly, to increase the accuracy of the advanced driver-assistance systems and the autonomous driving systems, the state of the area around a vehicle has to be accurately recognized.

Generally, according to a sensing process of analyzing sensor data output by a sensor, a large amount of computational resources is necessary to increase detection accuracy. To increase the detection accuracy is to reduce a sensing cycle, to increase a sensing range, and to increase detection resolution.

Particularly, with the advanced driver-assistance systems and the autonomous driving systems, sensing has to be simultaneously performed for a plurality of pieces of sensor data, and thus, there is a problem of deficiency of computational resources.

Patent Literature 1 describes setting of order of priority of a plurality of sensors monitoring different regions around a vehicle on the basis of one of a traveling state of a vehicle and a state of a driver of the vehicle, and describes controlling of one of operation of a sensor and processing of information output from a sensor on the basis of the order of priority. In Patent Literature 1, recognition of the area around a vehicle is thereby performed while reducing burden on a central processing unit (CPU) and an in-vehicle LAN, in the case of using a plurality of sensors.

CITATION LIST

Patent Literature

Patent Literature 1: WO 2010/140239 A

SUMMARY OF INVENTION

Technical Problem

However, according to the technique of Patent Literature 1, a large amount of computational resources is used for a sensing process with a high priority, and computational resources to be allocated to a sensing process with a low priority become deficient. As a result, an object which is supposed to be recognized is possibly not recognized.

The present invention is aimed to appropriately recognize an object in the area around a moving body within available computational resources.

Solution to Problem

A peripheral recognition device according to the present invention includes:

a control unit to determine, based on a moving environment of a moving body, an allocation rate of computational resources to be allocated to each of a plurality of sensing processes of analyzing sensor data output from a plurality of sensors that observe an area around the moving body; and

a detection unit to detect an object in the area around the moving body by using, for a corresponding sensing process, computational resources of an allocated amount specified based on the allocation rate determined by the control unit.

ADVANTAGEOUS EFFECTS OF INVENTION

The present invention determines an allocation rate of computational resources for each sensing process according to a moving environment of a moving body, and detects an object by using an allocated amount of computational resources specified by the determined allocation rate. An object in the area around a moving body can thereby be appropriately recognized within available computational resources.

DESCRIPTION OF EMBODIMENTS

First Embodiment

Referring toFIG. 1, a configuration of a peripheral recognition device10according to a first embodiment will be described.

FIG. 1illustrates a state where the peripheral recognition device10is mounted on a moving body100. The moving body100is a vehicle, a vessel, or a pedestrian. In the first embodiment, the moving body100is a vehicle.

Additionally, the peripheral recognition device10may be mounted while being integrated with or inseparable from the moving body100or other illustrated structural elements, or may be mounted while being detachable or separable from the moving body100or other illustrated structural elements.

The peripheral recognition device10is computer that is mounted on the moving body100.

The peripheral recognition device10includes pieces of hardware including processor11, a memory12, a sensor interface13, and a communication interface14. The processor11is connected to other pieces of hardware by a system bus, and controls the other pieces of hardware.

The processor11is an integrated circuit (IC) for performing processing. Specific examples of the processor11include a CPU, a digital signal processor (DSP), and a graphics processing unit (GPU).

FIG. 1illustrates only one processor11. However, a plurality of processors11may be provided, and the plurality of processors11may coordinate to execute a program for realizing each function. In the first embodiment, the processor11includes a CPU, a DSP, and a GPU, and these coordinate to execute a program for realizing each function.

The CPU is a processor for executing programs, and performing processing such as data calculation.

The DSP is a processor dedicated to digital signal processing, such as arithmetic calculation and data transfer. For example, processing of a digital signal, such as sensing of sensor data obtained from a sonar, is desirably processed at a fast speed by the DSP, instead of the CPU.

The GPU is a processor dedicated to processing images, and is a processor which realizes fast processing by processing a plurality of pieces of pixel data in parallel, and which is capable of performing processing, such as template matching, which is frequently used in image processing at a fast speed. For example, if sensing of sensor data obtained from a camera is performed by the CPU, the processing time becomes very long, and thus, such processing is desirably performed by the GPU.

The memory12is configured of a non-volatile memory which is capable of holding execution programs and data when power of the peripheral recognition device10is switched off, and a volatile memory which is capable of transferring data at a high speed during operation of the peripheral recognition device10. Specific examples of the non-volatile memory include a hard disk drive (HDD), a solid state drive (SSD), and a flash memory. Specific examples of the volatile memory include a double-data-rate2 synchronous dynamic random access memory (DDR2-SDRAM), and a double-data-rate3 synchronous dynamic random access memory (DDR3-SDRAM). The non-volatile memory may be a portable storage medium such as a secure digital (SD) memory card, a compact flash (CF), a NAND flash, a flexible disk, an optical disk, a compact disc, a Blu-ray (registered trademark) disc, or a DVD.

The memory12is connected to the processor11through a memory interface. The memory interface is a device for performing efficient memory access control by collectively managing memory accesses from the processor11. The memory interface is used for processing such as data transfer between functional elements described later, and writing of sensor data in the memory12.

The sensor interface13is a device for connecting a sensor31mounted on the moving body100. Specific examples of the sensor interface13include a terminal of an interface compatible with communication standards such as Ethernet (registered trademark), I-squared-C (I2C), serial peripheral interface (SPI), video signals, and controller area network (CAN).

A plurality of sensors31for observing the area around the moving body100are mounted on the moving body100. Specific examples of the sensor31include a camera, a sonar, a laser sensor, and a global positioning system (GPS) sensor. The types and number of sensors31are determined according to required object detection accuracy and cost.

The communication interface14is a device for connecting an electronic control unit (ECU)32mounted on the moving body100. Specific examples of the communication interface14include terminals of Ethernet, controller area network (CAN), RS232C, USB, and IEEE1394.

The ECU32is a device for acquiring vehicle speed information indicating the speed of the moving body100, steering angle information, and temperature information indicating the temperature of the area around the moving body100.

The peripheral recognition device10includes a control unit21and a detection unit22as functional structural elements. The detection unit22includes a sensing unit23, an integration unit24, a location specification unit25, and a recognized information generation unit26. Functions of the control unit21, the detection unit22, the sensing unit23, the integration unit24, the location specification unit25, and the recognized information generation unit26are realized by software.

Programs for realizing the functions of respective units are stored in the memory12. The programs are read and executed by the processor11.

The memory12also stores resource information41and map data42. The resource information41includes an allocation rate table411indicating an allocation rate of computational resources required for each level of accuracy of the sensing process, and a distribution table412indicating distribution of computational resources according to a traveling environment. The map data42is configured of static map data and dynamic map data. The static map data indicates the number of lanes on a road, the width of a lane, a shape, a gradient, a road sign, a traffic light, and the like. The dynamic map data indicates a situation which changes dynamically, and is congestion information, regulation information, traffic accident information, roadworks information, and the like.

Information, data, signal values, and variable values indicating processing results of the functions of the units of the peripheral recognition device10are stored in the memory12, or a register or a cache memory in the processor11. In the following description, information, data, signal values, and variable values indicating processing results of the functions of the units of the peripheral recognition device10are assumed to be stored in the memory12.

Furthermore, the peripheral recognition device10is connected to a prediction device33mounted on the moving body100. The prediction device33is a device for estimating a risk distribution and a surrounding situation from information recognized by the peripheral recognition device10, and for determining travel details of the moving body100from the estimated risk distribution and surrounding situation. Moreover, the prediction device33is a device for operating the moving body100according to the determined travel details.

The risk distribution indicates a position and a level of a risk, taking the location of the moving body100as a point of origin. The surrounding situation indicates behavior, movement, acceleration/deceleration and the like of an object in the area around the moving body100. The travel details indicate a travel route, a lane, a lane change location, and the like.

Referring toFIGS. 2 to 6, an operation of the peripheral recognition device10according to the first embodiment will be described.

An operation of the peripheral recognition device10according to the first embodiment corresponds to a peripheral recognition method according to the first embodiment. Furthermore, the operation of the peripheral recognition device10according to the first embodiment corresponds to processing of a peripheral recognition program according to the first embodiment.

Referring toFIG. 2, a basic operation of the peripheral recognition device10according to the first embodiment will be described.

The control unit21determines an allocation rate of computational resources to be allocated to each of a plurality of sensing processes of analyzing sensor data output from a plurality of sensors for observing the area around the moving body.

In the first embodiment, the computational resources are the processor11and the memory12. Accordingly, the allocation rate of computational resources indicates a proportion of an allocated amount to available capacities of the processor11and the memory12.

The sensing unit23performs sensing of sensor data output from the sensor31, by using computational resources of an allocated amount, for the corresponding sensing, specified based on the allocation rate determined in step S11, and detects objects, such as obstacles and road signs, in a monitoring area. The sensing unit23generates sensing information indicating a detected object.

Specifically, for example, the sensing unit23analyzes image data which is sensor data output from two front cameras for capturing front of the moving body100, and detects an object indicated by the image data. Furthermore, the sensing unit23detects a distance to the detected object by a stereo method, based on the image data output from each of the two front cameras. Then, the sensing unit23generates the sensing information indicating the detected object and the specified distance to the object.

The integration unit24integrates the sensing information generated in step S12, and generates integrated information with a large amount of information and with high accuracy.

Specifically, for example, it is assumed that presence of a person about 10 meters in front is specified, in step S12, as a result of performing sensing on the image data output from the two front cameras. Moreover, it is assumed that presence of an obstacle 10.2 meters in front is specified, in step S12, as a result of performing sensing on sensor data output from a laser sensor. In this case, the integration unit24integrates the two pieces of sensing information, and generates integrated information indicating presence of a person 10.2 meters in front.

The location specification unit25specifies location and orientation of the moving body100based on various pieces of information about the moving body100acquired from the ECU32through the communication interface14, the sensing information generated in step S12, and the map data42stored in the memory12.

Specifically, for example, the location specification unit25specifies, based on a location indicated by the sensing information and the map data42for the location, that the moving body100is traveling on a lane closest to the center on a road with three lanes each way. Furthermore, the location specification unit25specifies, based on the steering angle information included in the information acquired from the ECU32, that the moving body100is tilted two degrees to the right.

The recognized information generation unit26generates, based on the integrated information generated in step S13and the location and orientation specified in step S14, recognized information mapping location, attribute and size of an object such as an obstacle, a road sign or a traffic light in a three-dimensional space around the moving body100.

Specific examples of the attribute include a person, a road sign, a traffic light, an oncoming vehicle, a vehicle in front, and the like. Additionally, in the case of an object, the state of which changes, such as a traffic light, the state of the object, or the color in the case of a traffic light, may be included as the attribute. Specifically, for example, a three-dimensional space is a three-dimensional space which takes a traveling direction as an X-axis, a lateral direction as a Y-axis, and a vertical direction as a Z-axis, with a certain point on the moving body100as a point of origin. By mapping pieces of information obtained by the plurality of sensing processes in one spatial coordinate system, what object is present in what state and at which location when seen from the moving body100can be indicated.

Processes from step S12to step S15are collectively referred to as a detection process.

Then, the prediction device33estimates the risk distribution and the surrounding situation based on the recognized information generated in step S15, and determines travel details of the moving body100from the estimated risk distribution and surrounding situation. Then, the prediction device33operates the moving body100based on the determined travel details.

Referring toFIG. 3, the resource control process in step S11according to the first embodiment will be described.

When the peripheral recognition device10starts processing, the control unit21reads, from the resource information41, an initial value of an allocation rate of computational resources allocated to each of a plurality of sensing processes. Then, the control unit21determines the initial value, which is read out, as the allocation rate of computational resources.

In the first embodiment, a description is given of an example where the area around a vehicle, which is the moving body100, is classified into four areas of front, rear, left, and right, and sensing is performed by one sensor in each area. In the description below, sensing on the front side will be referred to as “front sensing”, sensing on the left side as “left sensing”, sensing on the right side as “right sensing”, and sensing on the rear side as “rear sensing”. As illustrated inFIG. 5, the control unit21reads, from the allocation rate table411in the resource information41, the allocation rate for the level of accuracy set as the initial value for each of the plurality of sensing processes. For example, the allocation rate for class A is read out for each of the front sensing, the left sensing, the right sensing, and the rear sensing.

Then, step S12inFIG. 2is performed based on the allocated amounts specified from the determined allocation rates of computational resources. Then, steps S13to S15inFIG. 2are accordingly performed.

The control unit21determines the allocation rate of computational resources according to a movement environment of the moving body100. The movement environment of the moving body100indicates at least one of the type of a road the moving body100is traveling on, behavior of the moving body100, and visibility from the moving body100.

Specifically, as illustrated inFIG. 6, the control unit21reads out for each of the plurality of sensing processes, from the distribution table412in the resource information41, a class corresponding to the type of the road, the behavior, and the visibility, which are the movement environment of the moving body100. Specifically, for example, in the case where the moving body100is moving straight on a local road, and visibility is good thanks to the fine weather and daylight, the control unit21reads classes for the plurality of sensing processes in processing class1inFIG. 6. That is, the control unit21reads class C for the front sensing, class A for the left sensing, class A for the right sensing, and class C for the rear sensing.

In the first embodiment, the movement environment of the moving body100is specified based on various pieces of information, such as the vehicle speed information, the steering angle information, and the temperature information, about the moving body100and a surrounding environment of the moving body100acquired from the ECU32through the communication interface14, the location and orientation of the moving body100specified in step S14by the location specification unit25, the recognized information generated in step S15by the recognized information generation unit26, and the surrounding situation determined by the prediction device33.

For example, the control unit21specifies the type of the road the moving body100is traveling on, based on the location of the moving body100. At this time, the control unit21may specify the type of the road by referring to the map data42. Furthermore, the control unit21specifies the behavior of the moving body100based on speed and steering angle of the moving body100indicated by various pieces of information about the moving body100and the surrounding environment of the moving body100, the location and orientation of the moving body100, the recognized information, and the surrounding situation. Moreover, the control unit21specifies the visibility based on the temperature or the like indicated by various pieces of information about the moving body100and the surrounding environment of the moving body100. At this time, the control unit21may acquire, from an external server or the like, weather information for an area including the location of the moving body100, and may refer to the weather information and specify the visibility.

The control unit21changes the allocation rate of computational resources allocated to each of the plurality of sensing processes to the allocation rate of computational resources determined in step S22.

Then, step S12inFIG. 2is performed according to the allocation rates of computational resources after change. Then, steps S13to S15inFIG. 2are accordingly performed.

The control unit21determines whether or not to continue the detection process from step S12to step S15inFIG. 2.

In the case of continuing the detection process, the control unit21proceeds to step S25, and in the case of not continuing the detection process, the control unit21ends the process.

The control unit21determines whether or not the traveling environment is changed.

In the case where the traveling environment is changed, the control unit21returns to step S22. In the case where the traveling environment is not changed, the control unit21returns to step S24.

Advantageous Effects of First Embodiment

As described above, the peripheral recognition device10according to the first embodiment determines the allocation rate of computational resources to be allocated to each of a plurality of sensing processes, according to the movement environment of the moving body100. An object in the area around the moving body may thereby be appropriately recognized within available computational resources.

In step S25inFIG. 3, with respect to each of the traveling environment and the risk distribution, occurrence of a change may be determined only when there is a change at or above a threshold, and a subtle change may be determined as no change. Frequent occurrence of re-distribution of the allocation rate of computational resources caused by determination of occurrence of a change based on a subtle change may thereby be prevented, and inefficient sensing control may thus be prevented.

Second Embodiment

A second embodiment is different from the first embodiment in that the allocation rate of computation resources is determined further taking into account the risk distribution. This difference will be described in the second embodiment.

Referring toFIGS. 7 to 9, an operation of a peripheral recognition device10according to the second embodiment will be described.

An operation of the peripheral recognition device10according to the second embodiment corresponds to a peripheral recognition method according to the second embodiment. Furthermore, the operation of the peripheral recognition device10according to the second embodiment corresponds to processing of a peripheral recognition program according to the second embodiment.

Referring toFIG. 7, a resource control process according to the second embodiment will be described.

Processes in steps S31and S32, and a process in step S36are the same as the processes in steps S21and S22, and step S24inFIG. 3.

The control unit21determines a level of importance of each of a plurality of sensing processes based on a risk distribution around the moving body100estimated by the prediction device33. The control unit21determines that the higher the risk in an area, the higher the level of importance of sensing. Additionally, the risk distribution is not limited to be acquired from the prediction device33, and may be acquired from another device such as a roadside device.

The risk distribution indicates a position and a level of a risk in two-dimensional spatial coordinates or three-dimensional spatial coordinates, taking the moving body100as a point of origin. Specifically, for example, the level of a risk is calculated based on a probability of an object entering a travel route indicated by travel details generated by the prediction device33, and a level of impact in case of collision. Specifically, for example, the level of impact is calculated based on the type of the object, vehicle speed, weight, and the like.

At this time, the control unit21may determine the level of importance by further taking into account the surrounding situation estimated by the prediction device33. The surrounding situation indicates behavior, movement, acceleration/deceleration and the like of an object in the area around the moving body100.

Specifically, for example, the risk distribution in a case of traveling straight on a road with two lanes each way is as illustrated inFIG. 8. InFIG. 8, it is indicated that the level of risk is high at shaded spots. InFIG. 8, spots where a vehicle in front, an oncoming vehicle, a motorcycle in the rear, and the like, which are detected, are present are illustrated as spots with a high level of risk. Moreover, as another specific example, the risk distribution in a case of turning right at an intersection is as illustrated inFIG. 9. Also inFIG. 9, it is indicated that the level of risk is high at shaded spots. InFIG. 9, spots where an oncoming vehicle and a following vehicle, which are detected, are present, and a spot which is hidden by the detected oncoming vehicle and which cannot be seen are illustrated as spots with a high level of risk.

The control unit21optimizes the allocation rate of computational resources based on the allocation rate of computational resources determined in step S32and the level of importance determined in step S33.

Specifically, the control unit21optimizes and finally determines the allocation rate of computational resources by increasing, with respect to sensing in an area with a high level of risk indicated by the risk distribution around the moving body100, the allocation rate of computational resources determined (provisionally determined) in step S32.

Specifically, for example, it is assumed that classes in processing class6inFIG. 6are read out in step S32. In this case, the front sensing is in class I, and uses 26% of the available computational resources. The left sensing is in class I, and uses 18% of the available computational resources. The right sensing is in class I, and uses 18% of the available computational resources. The rear sensing is in class I, and uses 22% of the available computational resources. Accordingly, the total of computational resources used by the sensing processes is 84% of the available computational resources.

It is assumed that the front sensing is determined in step S33to be important. In this case, the control unit21changes the allocation rate of computational resources for the front sensing to any of the allocation rates in class J, class K, and class L with higher levels of accuracy than that in class I determined in step S32. At this time, the control unit21selects a class with the highest level of accuracy within a range where the total of computational resources used by the sensing processes does not exceed 100%. In this case, the total is 92% even with class L with the highest level of accuracy, and does not exceed 100%, and thus, the control unit21changes the allocation rate of computational resources for the front sensing to the allocation rate in class L.

In this case, the front sensing is the only sensing process with a high level of importance, but in the case where two or more sensing processes are determined to have a high level of importance, control may be performed in such a way that the level of accuracy of sensing in an area with the highest level of importance is increased as much as possible within the available computational resources, or in such a way that the levels of accuracy are increased in a balanced manner according to the levels of importance.

Furthermore, to suppress power consumption, the control unit21may perform control to achieve a minimum required level of accuracy. That is, in the description given above, a class with a highest level of accuracy is selected within a range where the total of computations resources used by the sensing processes does not exceed 100%, but the control unit21may select a class with a minimum required level of accuracy according to the level of importance.

The control unit21changes the allocation rate of computational resources allocated to each of a plurality of sensing processes to the allocation rate of computational resources finally determined in step S35.

Then, step S12inFIG. 2is performed based on the allocated amounts specified from the allocation rates of computational resources after change. Then, steps S13to S15inFIG. 2are accordingly performed.

The control unit21determines whether or not at least one of the traveling environment and the risk distribution is changed.

In the case where only the traveling environment is changed, or in the case where both the traveling environment and the risk distribution are changed, the control unit21returns to step S32. In the case where only the risk distribution is changed, the control unit21returns to step S33. In the case where neither is changed, the control unit21returns to step S36.

Advantageous Effects of Second Embodiment

As described above, the peripheral recognition device10according to the second embodiment determines the allocation rate of computational resources according to the risk distribution around the moving body. An object necessary to avoid risks may thereby be appropriately recognized within available computational resources.

Third Embodiment

A third embodiment is different from the first and second embodiments in that respective functions of the units of a peripheral recognition device10are realized by hardware. A description will be given regarding this difference, with respect to the third embodiment.

In the third embodiment, differences to the second embodiment will be described, but respective functions of the units may be realized by hardware also in the first embodiment.

Referring toFIG. 10, a configuration of the peripheral recognition device10according to the third embodiment will be described.

The peripheral recognition device10includes a processing circuit15, instead of the processor11.

The processing circuit15is an electronic circuit for realizing the function of each unit of the peripheral recognition device10. InFIG. 10, only one processing circuit15is illustrated. However, there may be a plurality of processing circuits15, and the plurality of processing circuits15may coordinate to realize each function.

In the third embodiment, the processing circuit15is a field-programmable gate array (FPGA). The FPGA is a large-scale integration (LSI) which is configured of a plurality of logic blocks, a plurality of arithmetic blocks, and a plurality of block RAMs (static random access memory: SRAM), and which is capable of dynamically changing a circuit configuration by switching configurations of the logic blocks and routing of wires connecting the elements.

The memory12further stores circuit data43. The circuit data43indicates a circuit configuration for performing each of a plurality of sensing processes.

In the third embodiment, computational resources are a circuit realized by an FPGA. Accordingly, the allocated amount which is specified based on the allocation rate of computational resources indicates the scale of the circuit. The circuit data43indicates a circuit configuration for each class of sensing process and circuit scale.

Referring toFIGS. 11 to 13, an operation of the peripheral recognition device10according to the third embodiment will be described.

An operation of the peripheral recognition device10according to the third embodiment corresponds to a peripheral recognition method according to the third embodiment. Furthermore, the operation of the peripheral recognition device10according to the third embodiment corresponds to processing of a peripheral recognition program according to the third embodiment.

Referring toFIG. 11, a resource control process according to the third embodiment will be described.

Processes from steps S42to S44, and processes in steps S47and S48are the same as the processes from steps S32to S34, and the processes in steps S36and S37inFIG. 7.

As in the first embodiment, when the peripheral recognition device10starts processing, the control unit21reads, from the resource information41, an initial value of an allocation rate of computational resources allocated to each of a plurality of sensing processes. Then, the control unit21determines the initial value, which is read out, as the allocation rate of computational resources. Then, the control unit21sets the FPGA such that the circuit configuration indicated by the circuit data43, with respect to the circuit scale indicated by the allocated amount specified based on the determined allocation rate, is realized for each of the plurality of sensing processes.

Specifically, as illustrated inFIG. 12, the control unit21reads, from the allocation rate table411in the resource information41, the allocation rate for the level of accuracy set as the initial value for each of the plurality of sensing processes. For example, the allocation rate for class A is read out for each of the front sensing, the left sensing, the right sensing, and the rear sensing. As illustrated inFIG. 13, the control unit21reads, from the circuit configuration indicated by the circuit data43, configuration information corresponding to the circuit scale indicated by the allocated amount specified based on the allocation rate that is read out, for each of the front sensing, the left sensing, the right sensing, and the rear sensing. Then, the control unit21sets the FPGA such that the circuit configuration indicated by the configuration information that is read out is realized for each of the plurality of sensing processes.

The control unit21calculates, for each of the plurality of sensing processes, the time required to set the FPGA to the circuit configuration indicated by the circuit data43, with respect to the circuit scale indicated by the allocated amount specified based on the allocation rate of computational resources finally determined in step S44. Then, in the case where the calculated time is shorter than a reference time, the control unit21determines to change the allocation rate of computational resources, and in the case where the calculated time is longer than the reference time, the control unit21determines not to change the allocation rate of computational resources.

In the case of changing the allocation rate of computational resources, the control unit21proceeds to step S46, and in the case of not changing the allocation rate of computational resources, the control unit21proceeds to step S47.

Specifically, the control unit21reads, from the allocation rate table411in the resource information41illustrated inFIG. 12, an update time for the level of accuracy determined for each of the plurality of sensing processes. Then, the control unit21adds up the update times which are read out. For example, it is assumed that the front sensing is changed to class D, the left sensing to class F, the right sensing to class I, and the rear sensing to class E. In this case, the update time for the front sensing is 8 [ms (milliseconds)], the update time for the left sensing is 9 [ms], the update time for the right sensing is 9 [ms], and the update time for the rear sensing is 7 [ms]. Accordingly, the total of the update times is 33 [ms].

Then, in the case where the calculated total of the update times is shorter than the reference time, the control unit21determines to change the allocation rate of computational resources, and in the case where the calculated total is longer than the reference time, the control unit21determines not to change the allocation rate of computational resources. The reference time is determined for each traveling environment. Specifically, for example, in the case of traveling on a sunny day on a local road where there are no obstacles, the reference time is determined to be 40 [ms].

The control unit21changes the allocation rate of computational resources allocated to each of the plurality of sensing processes to the allocation rate of computational resources determined in step S44. Then, the control unit21sets the FPGA such that the circuit configuration indicated by the circuit data43, with respect to the circuit scale indicated by the allocated amount specified based on the allocation rate after change, is realized for each of the plurality of sensing processes.

Advantageous Effects of Third Embodiment

As described above, the peripheral recognition device10according to the third embodiment performs sensing by configuring a circuit of a scale indicated by the allocation rate of computational resources. Accordingly, even in a case where sensing is realized by a circuit, a necessary object may be appropriately recognized within available computational resources.

Although depending on the scale to be changed, a time of millisecond order is required to change the circuit configuration of the FPGA. However, the peripheral recognition device10according to the third embodiment does not change the circuit configuration in a case where the update time necessary to change the circuit configuration is longer than the reference time determined for each moving environment. Accordingly, occurrence of a delay in recognition of an object caused by changing the circuit configuration may be prevented.

In the third embodiment, the function of each unit of the peripheral recognition device10is realized by hardware. However, in a second modification, one or some of the functions of the peripheral recognition device10may be realized by hardware, and other functions may be realized by software. In this case, the peripheral recognition device10includes both the processor11and the processing circuit15.

Additionally, the processor11, the memory12, and the processing circuit15in the description given above are collectively referred to as “processing circuitry”. That is, the function of each unit is realized by processing circuitry.

REFERENCE SIGNS LIST