Abstract:
Described herein are systems, methods, and computer-readable media for generating and training a high precision low bit convolutional neural network (CNN). A filter of each convolutional layer of the CNN is approximated using one or more binary filters and a real-valued activation function is approximated using a linear combination of binary activations. More specifically, a non-1×1 filter (e.g., a k×k filter, where k>1) is approximated using a scaled binary filter and a 1×1 filter is approximated using a linear combination of binary filters. Thus, a different strategy is employed for approximating different weights (e.g., 1×1 filter vs. a non-1×1 filter). In this manner, convolutions performed in convolutional layer(s) of the high precision low bit CNN become binary convolutions that yield a lower computational cost while still maintaining a high performance (e.g., a high accuracy).
Abstract:
A method for controlling a vehicle includes: receiving, by a controller, route data, wherein the route data is continuously updated while the vehicle is moving, and the vehicle includes a plurality of vehicle operating modes; receiving, by the controller, feature data, wherein the feature data is information about a plurality of features needed for each of the plurality of vehicle operating modes; determining, by the controller, a plurality of ranges for each of the plurality of vehicle operating modes, wherein each of the plurality of ranges is a function of the route data and the feature data for each of the plurality of vehicle operating modes; and commanding, by the controller, a user interface to display a list of range-mode combinations, wherein the list of range-mode combinations includes the plurality of ranges for each of the plurality of vehicle operating modes.
Abstract:
Systems and methods are provided for testing a first computer device of a vehicle. A method includes selecting an operational component of the first computer device and selecting a test operation that is configured to utilize an entire capacity of the operational component. The method further includes instructing the first computer device to perform the test operation and to generate a first result. The method further yet includes retrieving a second result of the test operation and comparing the first result of the test operation from the first computer device with the second result. The method further yet includes indicating that the first computer device is faulty based at least in part on a difference between the first result and the second result.
Abstract:
Methods and systems are provided for controlling a temperature of a processor of a controller. In one embodiment, a method includes: identifying a status of at least one task of a plurality of software tasks performed on a first processor to be a hot task based on the software task's contribution to a temperature of the first processor; and selectively controlling the temperature of the first processor based on the identified status.
Abstract:
Disclosed are control algorithms and system architectures for managing operation of networked controllers and devices, including vehicles with an onboard network of electronic control units (ECU) and control logic for governing the snoozing and waking of these ECUs. A method for managing a motor vehicle's in-vehicle network of ECUs includes: determining status vectors for a group of the ECUs, each status vector indicating whether the corresponding ECU is awake or asleep; determining device roles for these ECUs—slave or master; determining an assigned hierarchy for selecting the ECUs as the master device; receiving a mode change signal indicating an ECU intends to transition to the asleep state or to the awake state; and, responsively, modifying the respective device role for one ECU from master to slave and the respective device role for another ECU from slave to master based on the assigned hierarchy and the status vectors for the ECUs.
Abstract:
A method and architecture of reconfiguring software mode management for a system. A prior status mode of a subsystem is identified. The primary controller includes a primary software algorithm for maintaining operations of the subsystem. A mode determination logic function is retrieved in a table for determining whether a mode change occurred. The mode determination logic function associated with the prior mode is executed. A current mode is determined from the table based on results from the execution of the mode determination logic function. An action list associated with the identified current mode in the table is identified. The action list identifies functions for transitioning the nodes from the prior mode to the current node. An action list associated with the current mode including a list of action functions for transitioning the previous mode to the current mode is executed. The table is independently modifiable from the primary software mode management algorithm.
Abstract:
A system and method for reconfigurable inter-processor communications in a controller. The system and method include providing multiple processors in the controller and generating a send buffer and a receive buffer for each of the processors. The system and method further include generating a send table and a receive table for each of the processors where the send table stores identifying information about messages being sent and where the receive table stores identifying information about messages being received, and providing infrastructure services that include protocols for sending and receiving messages between multiple processors in the controller.
Abstract:
A system and method for scheduling the execution of multiple mixed-criticality software applications on the same processor. The method separates higher critical, but lower operational rate, software applications into multiple segments so that the separated segments cause the lower rate applications to have a higher rate so that they operate before the lower critical software applications. Alternately, the method increases the length of a lower critical, but higher frequency, software application so that the software application has a lower frequency than the more critical application so that the more critical application has a higher priority.
Abstract:
Presented are embedded control systems with logic for computation and data sharing, methods for making/using such systems, and vehicles with distributed sensors and embedded processing hardware for provisioning automated driving functionality. A method for operating embedded controllers connected with distributed sensors includes receiving a first data stream from a first sensor via a first embedded controller, and storing the first data stream with a first timestamp and data lifespan via a shared data buffer in a memory device. A second data stream is received from a second sensor via a second embedded controller. A timing impact of the second data stream is calculated based on the corresponding timestamp and data lifespan. Upon determining that the timing impact does not violate a timing constraint, the first data stream is purged from memory and the second data stream is stored with a second timestamp and data lifespan in the memory device.
Abstract:
A dynamic side blind zone method includes determining that a host vehicle is approaching a first lane that is nonparallel to a second lane. The host vehicle is moving in the second lane. The method further includes activating an adaptive side blind zone alert system of the host vehicle in response to determining that the host vehicle is approaching the first lane that is nonparallel to the second lane, determining a warning zone in response to activating the adaptive side blind zone alert system of the host vehicle, and detecting a remote vehicle inside the warning zone after determining the warning zone. The remote vehicle is moving in the first lane. The method further includes providing an alert to a vehicle user of the host vehicle in response to detecting that the remote vehicle is inside the warning zone.