Embodiments of the present disclosure relate to redundant vehicle control and, in particular, to systems and methods for providing redundant pulse-width modulation (PWM) throttle control for controlling PWM throttle signal production.
When controlling a powered vehicle, generally a throttle is used to control/adjust the power and/or speed produced by an engine, thus controlling the output of the engine, which in turn affects the speed of the vehicle.
For many engine-powered vehicles, the power and/or speed produced by the engine may be in response to the engine receiving one or more pulse-width modulation (PWM) signals generated from the throttle. The PWM signals may be configured to regulate a voltage across one or more terminals of the vehicle engine which, in turn, controls the power and/or speed of the engine. In order to affect the speed of the vehicle, the PWM signal may comprise a series of pulses of varying duty cycles, causing the engine to engage or disengage, thereby controlling the power generated by the engine.
Self-driving or otherwise entirely or partially autonomous vehicles may include a programmable logic controller (PLC) configured to function as a throttle controller, which may be configured to generate the one or more PWM signals for controlling the engine.
Since the power generated by the engine affects the movement of the vehicle, a fault in a throttle controller could prove disastrous if the faulty throttle controller were to cause a vehicle to lose control and crash. Even if the vehicle did not crash, a faulty throttle controller may cause a vehicle to experience one or more sudden jerking motions, which may injure passengers and/or damage cargo.
Therefore, throttle controller redundancies are needed in order to aid in preventing unwanted and/or dangerous vehicle movements. However, the existence of one or more redundant throttle controllers may provide its own issues, since PWM signal generation from a plurality of throttle controllers may result in competing PWM control signals, which could also lead to dangerous movement of the vehicle.
Therefore, for at least these reasons, a system of redundant throttle controllers for autonomous or semi-autonomous vehicles is needed whereby the redundant throttle controllers are configured to not send competing PWM throttle signals to an engine for controlling thrust of the engine.
The above descriptions regarding existing technologies have been made only to help understanding of the background of the present disclosure, and are not to be deemed by those skilled in the art to correspond to already-known existing technologies.
According to an aspect of the present disclosure, a system for providing redundant pulse-width modulation (PWM) throttle control. The system includes a manual throttle controller configured to generate a manual PWM throttle control signal, and an automated throttle control system. The automated throttle control system may include a plurality of automated throttle controllers, each of the plurality of automated throttle controllers being configured to independently control a throttle of a vehicle, and each including a processor configured to generate and output an automated PWM throttle control signal, a first double pole double throw (DPDT) relay that, when engaged, may be configured to receive and output the manual PWM throttle control signal, and a second DPDT relay, configured to receive and output the automated PWM throttle control signal to an engine, when the second DPDT relay is engaged, and receive and output the manual PWM throttle control signal to the engine, when the DPDT relay is disengaged. The plurality of automated throttle controllers may include at least a primary throttle controller and a backup throttle controller, and, at any given time, the automated throttle control system may be configured to output, to the engine, one of the following: the manual PWM throttle control signal; the automated PWM throttle control signal generated by the primary throttle controller; and the automated PWM throttle control signal generated by the backup throttle controller.
According to various embodiments, the primary throttle controller further includes a failover DPDT relay configured to failover control of the throttle to the backup throttle controller, when engaged, and the backup throttle controller further includes a failover DPDT relay configured to failover control of the throttle to the primary throttle controller, when engaged.
According to various embodiments, the processor of the primary throttle controller may be further configured to engage and disengage the failover DPDT relay of the primary throttle controller, and the processor of the backup throttle controller may be further configured to engage and disengage the failover DPDT relay of the backup throttle controller.
According to various embodiments, the backup throttle controller further includes a microcontroller, configured to disengage the first DPDT relay of the primary throttle controller, preventing the first DPDT relay of the primary throttle controller from outputting the manual PWM throttle control signal.
According to various embodiments, the microcontroller may be further configured to receive manual PWM throttle control feedback signal from the first DPDT relay of the primary throttle controller, and receive manual PWM throttle control feedback signal from the first DPDT relay of the backup throttle controller.
According to various embodiments, the processor of the primary throttle controller may be further configured to engage and disengage the second DPDT relay of the primary throttle controller.
According to various embodiments, the processor of the backup throttle controller may be further configured to engage and disengage the second DPDT relay of the backup throttle controller.
According to various embodiments, the processor of the primary throttle controller may be further configured to receive manual PWM throttle control feedback signal from the first DPDT relay of the primary throttle controller, and receive manual PWM throttle control feedback signal from the first DPDT relay of the backup throttle controller.
According to various embodiments, the processor of the backup throttle controller may be further configured to receive manual PWM throttle control feedback signal from the first DPDT relay of the primary throttle controller, and receive manual PWM throttle control feedback signal from the first DPDT relay of the backup throttle controller.
According to various embodiments, the system may further include the engine.
According to various embodiments, the manual throttle controller includes a pedal.
According to various embodiments, each of the plurality of automated throttle controllers may be a multiple function controller.
According to another aspect of the present disclosure, a method for providing redundant PWM throttle control is provided. The method includes generating at least one PWM throttle control signal, and outputting one of the at least one PWM throttle control signals to an engine, using an automated throttle control system. The automated throttle control system may include a plurality of automated throttle controllers, each of the plurality of automated throttle controllers being configured to independently control a throttle of a vehicle, and each including a processor configured to generate and output an automated PWM throttle control signal, a first DPDT relay that, when engaged, is configured to receive and output a manual PWM throttle control signal from a manual throttle controller, and a second DPDT relay, configured to receive and output the automated PWM throttle control signal to the engine, when the second DPDT relay is engaged, and receive and output the manual PWM throttle control signal to the engine, when the DPDT relay is disengaged. The plurality of automated throttle controllers may include at least a primary throttle controller and a backup throttle controller, and, at any given time, the automated throttle control system may be configured to output, to the engine, one of the following: the manual PWM throttle control signal; the automated PWM throttle control signal generated by the primary throttle controller; and the automated PWM throttle control signal generated by the backup throttle controller.
According to various embodiments, the generating the at least one PWM throttle control signal may include one or more of the following: generating the manual PWM throttle control signal, by the manual throttle controller; generating an automated PWM throttle control signal, by the processor of the primary throttle controller; and generating an automated PWM throttle control signal, by the processor of the backup throttle controller.
According to various embodiments, the manual throttle controller includes a pedal.
According to various embodiments, the primary throttle controller further includes a failover DPDT relay configured to failover control of the throttle to the backup throttle controller, when engaged, and the backup throttle controller further includes a failover DPDT relay configured to failover control of the throttle to the primary throttle controller, when engaged.
According to various embodiments, further including one or more of the following: engaging, by the processor of the primary throttle controller, the failover DPDT relay of the primary throttle controller; disengaging, by the processor of the primary throttle controller, the failover DPDT relay of the primary throttle controller; engaging, by the processor of the backup throttle controller, the failover DPDT relay of the backup throttle controller; and disengaging, by the processor of the backup throttle controller, the failover DPDT relay of the backup throttle controller.
According to various embodiments, the backup throttle controller further includes a microcontroller, and the method further includes disengaging, using the microcontroller, the first DPDT relay of the primary throttle controller, preventing the first DPDT relay of the primary throttle controller from outputting the manual PWM throttle control signal.
According to various embodiments, the method further includes one or more of the following: engaging, by the processor of the primary throttle controller, the second DPDT relay of the primary throttle controller; and disengaging, by the processor of the primary throttle controller, the second DPDT relay of the primary throttle controller.
According to various embodiments, the method further includes one or more of the following: engaging, by the processor of the backup throttle controller, the second DPDT relay of the backup throttle controller; and disengaging, by the processor of the backup throttle controller, the second DPDT relay of the backup throttle controller.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. These terms are merely intended to distinguish one component from another component, and the terms do not limit the nature, sequence or order of the constituent components. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. Throughout the specification, unless explicitly described to the contrary, the word “comprise” and variations such as “comprises” or “comprising” will be understood to imply the inclusion of stated elements but not the exclusion of any other elements. In addition, the terms “unit”, “-er”, “-or”, and “module” described in the specification mean units for processing at least one function and operation, and can be implemented by hardware components or software components and combinations thereof.
In this document, when terms such as “first” and “second” are used to modify a noun, such use is simply intended to distinguish one item from another, and is not intended to require a sequential order unless specifically stated. In addition, terms of relative position such as “vertical” and “horizontal”, or “front” and “rear”, when used, are intended to be relative to each other and need not be absolute, and only refer to one possible position of the device associated with those terms depending on the device's orientation.
An “electronic device” or a “computing device” refers to a device that includes a processor and memory. Each device may have its own processor and/or memory, or the processor and/or memory may be shared with other devices as in a virtual machine or container arrangement. The memory may contain or receive programming instructions that, when executed by the processor, cause the electronic device to perform one or more operations according to the programming instructions.
The terms “memory,” “memory device,” “computer-readable storage medium,” “data store,” “data storage facility” and the like each refer to a non-transitory device on which computer-readable data, programming instructions or both are stored. Except where specifically stated otherwise, the terms “memory,” “memory device,” “computer-readable storage medium,” “data store,” “data storage facility” and the like are intended to include single device embodiments, embodiments in which multiple memory devices together or collectively store a set of data or instructions, as well as individual sectors within such devices.
The terms “processor” and “processing device” refer to a hardware component of an electronic device that is configured to execute programming instructions. Except where specifically stated otherwise, the singular term “processor” or “processing device” is intended to include both single-processing device embodiments and embodiments in which multiple processing devices together or collectively perform a process.
The term “module” refers to a set of computer-readable programming instructions, as executed by a processor, that cause the processor to perform a specified function.
The term “vehicle,” or other similar terms, refers to any motor vehicles, powered by any suitable power source, capable of transporting one or more passengers and/or cargo. The term “vehicle” includes, but is not limited to, autonomous vehicles (i.e., vehicles not requiring a human operator and/or requiring limited operation by a human operator, either onboard or remotely), automobiles (e.g., cars, trucks, sports utility vehicles, vans, buses, commercial vehicles, class 8 trucks etc.), boats, drones, trains, and the like.
Although exemplary embodiment is described as using a plurality of units to perform the exemplary process, it is understood that the exemplary processes may also be performed by one or plurality of modules. Additionally, it is understood that the term controller/control unit refers to a hardware device that includes a memory and a processor and is specifically programmed to execute the processes described herein. The memory is configured to store the modules and the processor is specifically configured to execute said modules to perform one or more processes which are described further below.
Further, the control logic of the present disclosure may be embodied as non-transitory computer readable media on a computer readable medium containing executable programming instructions executed by a processor, controller, or the like. Examples of computer readable media include, but are not limited to, ROM, RAM, compact disc (CD)-ROMs, magnetic tapes, floppy disks, flash drives, smart cards and optical data storage devices. The computer readable medium can also be distributed in network-coupled computer systems so that the computer readable media may be stored and executed in a distributed fashion such as, e.g., by a telematics server or a Controller Area Network (CAN).
Unless specifically stated or obvious from context, as used herein, the term “about” is understood as within a range of normal tolerance in the art, for example within 2 standard deviations of the mean. About can be understood as within 10%, 9%, 8%, 7%, 6%, 5%, 4%, 3%, 2%, 1%, 0.5%, 0.1%, 0.05%, or 0.01% of the stated value.
Hereinafter, some embodiments of the present disclosure will be described in detail with reference to the drawings. In the drawings, the same reference numerals will be used throughout to designate the same or equivalent elements. In addition, a detailed description of well-known features or functions will be ruled out in order not to unnecessarily obscure the gist of the present disclosure.
Hereinafter, systems and methods for providing redundant pulse-width modulation (PWM) throttle control are provided, according to embodiments of the present disclosure, and will be described with reference to the accompanying drawings.
Referring now to
According to various embodiments, the vehicle 102 may include a manual throttle controller 106 and an automated throttle control system 108. According to various embodiments, the vehicle 102 may include one or more engines 142 and/or one or more computing devices 110. The one or more computing devices 110 may be separate from the manual throttle controller 106 and/or the automated throttle control system 108 and/or may be incorporated into the manual throttle controller 106 and/or the automated throttle control system 108. According to various embodiments, the computing device 110 may include a processor 112 and/or a memory 114. The memory 114 may be configured to store programming instructions that, when executed by the processor 112, are configured to cause the processor 112 to perform one or more tasks.
The manual throttle controller 106 may include one or more pedals and/or one or more other suitable manual throttle control apparatuses. The manual throttle controller 106 may be configured to generate one or more manual PWM throttle control signals.
As shown in
The primary throttle controller 118 may include a processor 122, a first double pole double throw (DPDT) relay 124, a second DPDT relay 126, a failover DPDT relay 128, and/or a microcontroller 130.
According to various embodiments, the processor 122 may be configured to generate and/or output one or more automated PWM throttle control signals.
According to various embodiments, the first DPDT relay 124 may have an engaged state, as shown in
According to various embodiments, the second DPDT relay 126 may have an engaged state and a disengaged state, as shown in
According to various embodiments, the failover DPDT relay 128 of the primary throttle controller 118 may have an engaged state and a disengaged state. When engaged (i.e., in the engaged state), the failover DPDT relay 128 may be configured to failover control of the throttle to the backup throttle controller 120. When disengaged (i.e., when in the disengaged state), the failover DPDT relay 128 may not be configured to failover control of the throttle to the backup throttle controller 120. According to various embodiments, the processor 122 of the primary throttle controller 118 may be configured to engage and/or disengage the failover DPDT relay 128 of the primary throttle controller 118.
The backup throttle controller 120 may include a processor 132, a first double pole double throw (DPDT) relay 134, a second DPDT relay 136, a failover DPDT relay 138, and/or a microcontroller 140. According to various embodiments, the primary throttle controller 116 and the backup throttle controller 120 may be configured and/or interconnected such that either throttle controller 116 may function as a primary or backup controller.
According to various embodiments, the processor 132 may be configured to generate and/or output one or more automated PWM throttle control signals.
According to various embodiments, the first DPDT relay 134 may have an engaged state and a disengaged state, as shown in
According to various embodiments, the second DPDT relay 136 may have an engaged state and a disengaged state, as shown in
According to various embodiments, the failover DPDT relay 138 of the backup throttle controller 120 may have an engaged state and a disengaged state. When engaged (i.e., in the engaged state), the failover DPDT relay 138 may be configured to failover control of the throttle to the primary throttle controller 118. When disengaged (i.e., when in the disengaged state), the failover DPDT relay 138 may not be configured to failover control of the throttle to the primary throttle controller 118. According to various embodiments, the processor 132 of the backup throttle controller 120 may be configured to engage and/or disengage the failover DPDT relay 138 of the backup throttle controller 120.
The microcontroller 140 of the backup throttle controller 120 may be configured to disengage the first DPDT relay 124 of the primary throttle controller 118, preventing the first DPDT relay 124 of the primary throttle controller 118 from outputting the manual PWM throttle control signal. According to various embodiments, the microcontroller 140 may be further configured to receive manual PWM throttle control feedback signal from the first DPDT relay 124 of the primary throttle controller 118, and/or receive manual PWM throttle control feedback signal from the first DPDT relay 134 of the backup throttle controller 120.
The processor 122 of the primary throttle controller 118 may be further configured to receive manual PWM throttle control feedback signal from the first DPDT relay 124 of the primary throttle controller 118 and/or receive manual PWM throttle control feedback signal from the first DPDT relay 134 of the backup throttle controller 120. The processor 132 of the backup throttle controller 120 may be further configured to receive manual PWM throttle control feedback signal from the first DPDT relay 124 of the primary throttle controller 118 and/or receive manual PWM throttle control feedback signal from the first DPDT relay 134 of the backup throttle controller 120.
According to various embodiments, at any given time, the automated throttle control system 108 may be configured to output, to the engine 142, one of the manual PWM throttle control signal, the automated PWM throttle control signal generated by the primary throttle controller 118, and the automated PWM throttle control signal generated by the backup throttle controller 120.
Referring now to
It is noted that the order of the method steps of method 300 are illustrative and the method 300 may include greater or fewer steps of varying order, while maintaining the spirit and functionality of the present disclosure.
At 305, at least one PWM throttle control signal is generated. Many engines are configured to alter speed and/or power upon receiving and interpreting one or more PWM throttle control signals. The generating the at least one PWM throttle control signal may include generating, at 310, a manual PWM throttle control signal, by a manual throttle controller, generating, at 315, an automated PWM throttle control signal, by a processor of a primary throttle controller, and/or generating, at 320, an automated PWM throttle control signal, by a processor of a backup throttle controller. One or more of the at least one PWM throttle control signals may be generated by an automated throttle system.
The automated throttle system may include a plurality of automated throttle controllers. Each of the plurality of automated throttle controllers may be configured to independently control a throttle of a vehicle. Each of the plurality of automated throttle controllers may include a processor configured to generate and output an automated PWM throttle control signal, a first DPDT relay that, when engaged, is configured to receive and output a manual PWM throttle control signal from a manual throttle controller, and a second DPDT relay. The second DPDT relay may be configured to receive and output the automated PWM throttle control signal to the engine, when the second DPDT relay is engaged, and receive and output the manual PWM throttle control signal to the engine, when the DPDT relay is disengaged. The plurality of automated throttle controllers may include at least a primary throttle controller and a backup throttle controller. It is noted, however, that the automated throttle system may include other numbers of automated throttle controllers, while maintaining the spirit and functionality of the present disclosure. According to various embodiments, the manual throttle controller may include a pedal.
According to various embodiments, the primary throttle controller and/or the backup throttle controller may include a microcontroller. According to various embodiments, the first DPDT relay of the primary throttle is, by default, in the engaged state. In some embodiments, the first DPDT relay of the primary throttle is not defaulted to the engaged state and/or one or more of the microcontrollers are configured to engage the first DPDT relay of the primary throttle controller. At 325, the microcontroller of the backup controller may be configured to disengage the first DPDT relay of the primary throttle controller, preventing the first DPDT relay of the primary throttle controller from outputting the manual PWM throttle control signal.
According to various embodiments, the primary throttle controller includes a failover DPDT relay configured to failover control of the throttle to the backup throttle controller, when engaged, and the backup throttle controller includes a failover DPDT relay configured to failover control of the throttle to the primary throttle controller, when engaged.
According to various embodiments, for each automated throttle controller, the processor is configured to engage and/or disengage the failover DPDT relay of the automated throttle controller. For example, at 330, the processor of the primary throttle controller may be configured to engage the failover DPDT relay of the primary throttle controller, at 335, the processor of the primary throttle controller may be configured to disengage the failover DPDT relay of the primary throttle controller, at 340, the processor of the backup throttle controller may be configured to engage the failover DPDT relay of the backup throttle controller, and/or at 345, the processor of the backup throttle controller may be configured to disengage the failover DPDT relay of the backup throttle controller.
According to various embodiments, for each automated throttle controller, the processor is configured to engage and/or disengage the second DPDT relay. For example, at 350, the processor of the primary throttle controller may be configured to engage the second DPDT relay of the primary throttle controller, at 355, the processor of the primary throttle controller may be configured to disengage the second DPDT relay of the primary throttle controller, at 360, the processor of the backup throttle controller may be configured to engage the second DPDT relay of the backup throttle controller, and/or, at 365, the processor of the backup throttle controller may be configured to disengage the second DPDT relay of the backup throttle controller.
At 370, one of the at least one PWM throttle control signals is output, using the automated throttle system, to an engine, for controlling the power and/or speed of the engine. According to various embodiments, at any given time, the automated throttle control system may be configured to output, to the engine, one the manual PWM throttle control signal, the automated PWM throttle control signal generated by the primary throttle controller, and the automated PWM throttle control signal generated by the backup throttle controller.
As shown in
With the first DPDT relay of the primary controller in the engaged position, at 335, the processor of the primary throttle controller may be configured to disengage the failover DPDT relay of the primary throttle controller and, at 355, the processor of the primary throttle controller may be configured to disengage the second DPDT relay of the primary throttle controller, enabling the manual PWM throttle control signal to be output, at 370, using the automated throttle system, to an engine, for controlling the power and/or speed of the engine.
As shown in
At 325, the microcontroller of the backup controller may be configured to disengage the first DPDT relay of the primary throttle controller, preventing the first DPDT relay of the primary throttle controller from outputting the manual PWM throttle control signal, at 335, the processor of the primary throttle controller may be configured to disengage the failover DPDT relay of the primary throttle controller, and, at 350, the processor of the primary throttle controller may be configured to engage the second DPDT relay of the primary throttle controller, enabling the automated PWM throttle control signal, by the processor of the primary throttle controller, to be output, at 370, using the automated throttle system, to an engine, for controlling the power and/or speed of the engine.
As shown in
At 325, the microcontroller of the backup controller may be configured to disengage the first DPDT relay of the primary throttle controller, preventing the first DPDT relay of the primary throttle controller from outputting the manual PWM throttle control signal, at 330, the processor of the primary throttle controller may be configured to engage the failover DPDT relay of the primary throttle controller, at 355, the processor of the primary throttle controller may be configured to disengage the second DPDT relay of the primary throttle controller, and, at 360, the processor of the backup throttle controller may be configured to engage the second DPDT relay of the backup throttle controller, enabling the automated PWM throttle control signal, by the processor of the backup throttle controller, to be output, at 370, using the automated throttle system, to an engine, for controlling the power and/or speed of the engine.
Referring now to
Computing device 400 may include more or less components than those shown in
Some or all components of the computing device 400 may be implemented as hardware, software and/or a combination of hardware and software. The hardware includes, but is not limited to, one or more electronic circuits. The electronic circuits can include, but are not limited to, passive components (e.g., resistors and capacitors) and/or active components (e.g., amplifiers and/or microprocessors). The passive and/or active components can be adapted to, arranged to and/or programmed to perform one or more of the methodologies, procedures, or functions described herein.
As shown in
At least some of the hardware entities 414 perform actions involving access to and use of memory 412, which can be a Random Access Memory (RAM), a disk driver and/or a Compact Disc Read Only Memory (CD-ROM), among other suitable memory types. Hardware entities 414 can include a disk drive unit 416 comprising a computer-readable storage medium 418 on which is stored one or more sets of instructions 420 (e.g., programming instructions such as, but not limited to, software code) configured to implement one or more of the methodologies, procedures, or functions described herein. The instructions 420 can also reside, completely or at least partially, within the memory 412 and/or within the CPU 406 during execution thereof by the computing device 400. The memory 412 and the CPU 406 also can constitute machine-readable media. The term “machine-readable media”, as used here, refers to a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions 420. The term “machine-readable media”, as used here, also refers to any medium that is capable of storing, encoding or carrying a set of instructions 420 for execution by the computing device 400 and that cause the computing device 400 to perform any one or more of the methodologies of the present disclosure.
Referring now to
Vehicle 102 of
As shown in
Operational parameter sensors that are common to both types of vehicles include, for example: a position sensor 534 such as an accelerometer, gyroscope and/or inertial measurement unit; a speed sensor 536; and/or an odometer sensor 538. The vehicle system architecture 500 also may have a clock 542 that the system uses to determine vehicle time during operation. The clock 542 may be encoded into the vehicle on-board computing device 520, it may be a separate device, or multiple clocks may be available.
The vehicle system architecture 500 also may include various sensors that operate to gather information about the environment in which the vehicle is traveling. These sensors may include, for example: a location sensor 544 (for example, a Global Positioning System (GPS) device); object detection sensors such as one or more cameras 546; a LiDAR sensor system 548; and/or a radar and/or a sonar system 550. The sensors also may include environmental sensors 552 such as a precipitation sensor and/or ambient temperature sensor. The object detection sensors may enable the vehicle system architecture 500 to detect objects that are within a given distance range of the vehicle 500 in any direction, while the environmental sensors 552 collect data about environmental conditions within the vehicle's area of travel.
During operations, information is communicated from the sensors to an on-board computing device 520. The on-board computing device 520 may be configured to analyze the data captured by the sensors and/or data received from data providers, and may be configured to optionally control operations of the vehicle system architecture 500 based on results of the analysis. For example, the on-board computing device 520 may be configured to control: braking via a brake controller 522; direction via a steering controller 524; speed and acceleration via a throttle controller 526 (in a gas-powered vehicle) or a motor speed controller 528 (such as a current level controller in an electric vehicle); a differential gear controller 530 (in vehicles with transmissions); and/or other controllers.
Geographic location information may be communicated from the location sensor 544 to the on-board computing device 520, which may then access a map of the environment that corresponds to the location information to determine known fixed features of the environment such as streets, buildings, stop signs and/or stop/go signals. Captured images from the cameras 546 and/or object detection information captured from sensors such as LiDAR 548 is communicated from those sensors to the on-board computing device 520. The object detection information and/or captured images are processed by the on-board computing device 520 to detect objects in proximity to the vehicle. Any known or to be known technique for making an object detection based on sensor data and/or captured images may be used in the embodiments disclosed in this document.
The features and functions described above, as well as alternatives, may be combined into many other different systems or applications. Various alternatives, modifications, variations or improvements may be made by those skilled in the art, each of which is also intended to be encompassed by the disclosed embodiments.