Gateway device for controlling vehicle functions

CA3323834A1Pending Publication Date: 2025-09-18AXCESSIOM TECHNOLOGIES INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CA3323834
Authority / Receiving Office
CA · CA
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-11
Publication Date
2025-09-18

AI Technical Summary

Technical Problem

Individuals with physical disabilities face challenges in controlling both primary and secondary vehicle functions using standard controls, as existing hand controls require both hands and are often incompatible with OEM input devices, leading to dangerous situations.

Method used

A gateway device that integrates alternative input devices, such as cameras and microphones, with the vehicle's communication network to manage interactions between OEM input devices and ECUs, allowing hands-free control of vehicle functions by blocking OEM input device messages when necessary.

Benefits of technology

Enables individuals with disabilities to safely control vehicle functions without interference from OEM input devices, ensuring seamless integration and operation of primary and secondary functions.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

A gateway device for managing interaction between input devices, output OEM devices and an ECU over a vehicle communication network to allow a driver of the vehicle to control vehicle functions in a hands-free manner. The gateway device comprises: a first network interface for connecting to the vehicle communication network for receiving messages from OEM input devices and / or the ECU; a second network interface for connecting to the vehicle communication network for sending gateway messages to OEM output devices and / or the ECU; and at least one processor that is communicatively coupled to the first and second network interfaces and to an alternative input device.
Need to check novelty before this filing date? Find Prior Art

Description

GATEWAY DEVICE FOR CONTROLLING VEHICLE FUNCTIONSFIELD

[0001] The various embodiments described herein generally relate to hardware for vehicles. More specifically, the various embodiments relate to gateway devices used to manage the control of various features and functions within a vehicle.INTRODUCTION

[0002] Individuals with physical disability in the lower and / or upper extremities (e.g., paraplegia) may face challenges with operating the functions of a vehicle using standard controls, such as the gas and brake pedals, steering, window operation, horn, windshield wipers, etc. These individuals may use assistive devices to help operate the vehicle safely and effectively.

[0003] Examples of assistive devices known in the art are hand controls. These devices allow for a vehicle to be operated using only the driver’s hands. Typically, hand controls are used to control the primary vehicle functions (e.g. vehicle motion related) of a vehicle, namely acceleration, braking, and steering. For example, a lever may be physically connected to the gas and brake pedals. When the lever is pushed forward, the vehicle accelerates, and when the lever is pulled backward, the vehicle brakes. The driver may operate the lever using only one hand. A spinner knob may be physically connected to the vehicle’s steering wheel. The driver may rotate the knob to control the steering using the opposite hand. Thus, the driver may control the primary functions of the vehicle using only their hands. Other hand controls known in the art are electric-based and use a joystick for controlling the primary vehicle functions.

[0004] One issue with hand controls known in the art is that they require the use of both of the driver’s hands to operate the primary vehicle functions. However, there are secondary vehicle functions (e.g., vehicle non-motion related) that a driver may also need or want to control while driving, including but not limited to the windshield wipers, turning signals, lights, mirrors, headlights, windows, HVAC system, navigation system, sun visor, entertainment system, and sunroof. To control these secondary functions, a driver must let go of one of the hand controls while driving. This is very difficult for the driver to accomplish and creates a dangerous situation for both the driver and other vehicles on the road. Further, it is almost impossible for a driver to control some secondary functions that typically have controls located far away from the hand controls (e.g., HVAC and windows).

[0005] To help solve these issues, one or more alternative input devices may be used. An alternative input device may use cameras (e.g., to capture facial gestures), microphones (e.g., to capture voice commands), and / or other sensors to control the operation of primary and / or secondary vehicle functions. For example, a camera located inside the vehicle cabin may capture a live video of the driver and recognize various facial gestures (e.g., smile or blink) using computer vision algorithms. A microphone or other voice recognition device may also capture vocal commands from the driver. Other sensors may be used to capture other signals from the driver. Ideally, the alternative input device(s) would be in communication with the vehicle’s internal network such that the devices may be used to control one or more of the primary and / or secondary functions of the vehicle.

[0006] An issue raised by this system is related to the integration of the alternative input device(s) within the vehicle’s communication / control network. Control messages may be sent within the vehicle on a network (e.g., Controller Area Network (CAN) or Local Interconnect Network (LIN) network). A vehicle typically contains one or more electronic control units (ECUs) which allow for the communication of original equipment manufacturer (OEM) input and output devices in the vehicle’s network and subsequent implementation of primary and secondary vehicle functions.

[0007] The OEM input devices (e.g., switches, levers, buttons, etc.) are included when the vehicle is manufactured and can be used by a driver to control an OEM output device. An OEM output device is a unit that is included when the vehicle is manufactured and provides a primary or secondary function for the vehicle. Actuation of the OEM input device sends a signal through the vehicle’s network which actuates the OEM output device to implement the primary or secondary vehicle function. For example, the windshield wiper OEM input device controls the windshield wiper OEM output device. When a driver actuates the windshield wiper OEM input device, the vehicle’s windshield wipers are actuated. The OEM output devices may also communicate with the OEM input device over the network when needed. In some vehicle configurations, when the OEM input device is switched to “On” or “Off’ from within the vehicle (e.g., by toggling a switch, pressing a button, moving a lever, etc.), the OEM input device will constantly send a corresponding message to the network (either “On” or “Off”).

[0008] If an alternative input device attempts to send its own message to the vehicle network for controlling an OEM output device, it may be overwritten by an “On” or “Off” message sent by the OEM input device. For example, if a driver makes a facial gesturemeant to turn on the headlights, but the OEM input device for the headlights is in the “Off” position, the headlights will not turn on.

[0009] Accordingly, there is a need for a device that allows one or more alternative input devices to be integrated into a vehicle’s network to allow an individual with physical disabilities to control primary and / or secondary functions of a vehicle without being affected by the state of the OEM input devices.SUMMARY OF VARIOUS EMBODIMENTS

[0010] According to one broad aspect of the teachings herein, in at least one embodiment described herein there is provided a gateway device for managing interaction between input devices, output OEM devices and an Electronic Control Unit (ECU) over a vehicle communication network of a vehicle to allow a driver of the vehicle to control primary or secondary vehicle functions in a hands-free manner. The gateway device includes: a first network interface for connecting to the vehicle communication network for receiving messages from OEM input devices and / or the ECU; a second network interface for connecting to the vehicle communication network for sending gateway messages to OEM output devices and / or the ECU; and at least one processor that is communicatively coupled to the first and second network interfaces and to an alternative input device and / or one or more alternative source devices. The at least one processor is configured to: determine if there is a hands-free command signal from the alternative input device; allow communication between the OEM input devices, the OEM output devices and the ECU when there is no hands-free command received from the alternative input device; and when a hands-free command is received from the alternative input device for controlling an intended OEM output device, block transmission of any OEM command messages to the intended OEM output device, generate a gateway command message to control the intended OEM output device indicated in the hands-free command and transit the gateway command message over the vehicle communication network for receipt by the intended OEM output device.

[0011] In at least one embodiment, the hands-free command is generated by the alternative input device upon receiving an input signal from an alternative source device that is generated based on any combination of: a) one or more facial gestures, b) one or more verbal or non-verbal commands, c) a hands-free gesture and d) a slider, button, knob or touchscreen input provided by the driver of the vehicle

[0012] In at least one embodiment, the OEM output device is controlled by the handsfree command if the hands-free command is actively enabling the OEM output device, otherwise the OEM output device is controlled by a related OEM input device.

[0013] In at least one embodiment, the OEM output device is controlled by the handsfree command if the hands-free command is actively enabling or disabling the OEM output device.

[0014] In at least one embodiment, the alternative input device is external to the gateway device.

[0015] In at least one embodiment, the gateway device includes the alternative input device.

[0016] In at least one embodiment, the gateway device is coupled to the vehicle communication network by relays that are in a disabled state when they receive no voltage or current on an external relay enable which disconnects and / or bypass the gateway device from the vehicle communication network.

[0017] In at least one embodiment, the external relay enable is configured to disconnect and / or bypass the gateway device based on any combination of: i) a loss of power, and ii) an input received from the driver to disable the gateway device.

[0018] In at least one embodiment, the gateway device is disconnected from the vehicle communication network based on any combination of: a software error message from the gateway device, a software error message from the alternative input device and a software error message from the one or more alternative source devices.

[0019] In at least one embodiment, the vehicle communication network is a CAN network and the gateway device is connected in a break in the CAN network.

[0020] In at least one embodiment, the vehicle communication network is a LIN network and the gateway device is connected in a break in the LIN network.

[0021] In at least one embodiment, there are multiple vehicle networks.

[0022] In at least one embodiment, the gateway device is connected via different pairs of relays to the multiple vehicle networks.

[0023] In at least one embodiment, the relays may be controlled independently or as a group.

[0024] According to one broad aspect of the teachings herein, in at least one embodiment described herein there is provided a method for managing interaction between input devices, OEM output devices and an Electronic Control Unit (ECU) over a vehicle communication network of a vehicle to allow a driver of the vehicle to control primary orsecondary vehicle functions in a hands-free manner. The method comprises: receiving, at a gateway device connected to the vehicle communication network, an OEM command message for controlling an intended OEM output device; allowing the OEM command message to transmit on the vehicle communication network to the intended OEM output device when there is a control signal from an alternative input device or an alternative source device to control the OEM output device is not received; and when the control signal from the alternative input device or the alternative source device to control the OEM output device is received: blocking the OEM command message from transmitting on the vehicle communication network to the intended OEM output device; generating a gateway command message for controlling the intended OEM output device based on the control signal; and sending the gateway command message to the vehicle communication network for receipt by the intended OEM output device.

[0025] In at least one embodiment, the method includes disconnecting the gateway device from the vehicle communication network when there is power loss and / or the driver does not wish to use the gateway device.

[0026] In at least one embodiment, the method includes disconnecting the gateway device from the vehicle communication network based on any combination of: a software error message from the gateway device, a software error message from the alternative input device and a software error message from the one or more alternative source devices

[0027] According to one broad aspect of the teachings herein, in at least one embodiment described herein there is provided a non-transitory computer readable medium storing program instructions thereon, which when executed by a computing device, configures the computing device for performing the method for controlling primary and / or secondary vehicle functions.

[0028] According to one broad aspect of the teachings herein, in at least one embodiment described herein there is provided a system for managing interaction between input devices, output OEM devices and an Electronic Control Unit (ECU) over a vehicle communication network of a vehicle to allow a driver of the vehicle to control primary or secondary vehicle functions in a hands-free manner. The system includes: the gateway device that is connected to the vehicle communication network; and one or more alternative source devices that receive an alternative input from the driver and are communicatively coupled to the gateway device.

[0029] In at least one embodiment, the system further includes an alternative input device that is in communication with the gateway device and the one or more alternative source devices and is configured to receive an input signal from the one or more alternative source devices for controlling an OEM output device, generate a control signal for controlling the OEM output device, and send the control signal to the gateway device.

[0030] In at least one embodiment, the alternative source device is configured to communicate in a wired or wireless communication manner with the gateway device.

[0031] In at least one embodiment, the one or more alternative source devices include any combination of: i) one or more cameras, ii) one or more microphones, iii) one or more joysticks, iv) one or more sliders, v) one or more knobs, vi) one or more touchscreens, and vii) sensors.

[0032] In at least one embodiment, the system further includes relays that connect the gateway device to the vehicle communication network wherein the relays are in a disabled state when they receive no voltage or current on an external relay enable which disconnects and / or bypass the gateway device from the vehicle communication network.

[0033] In at least one embodiment, the external relay enable is configured to disconnect and / or bypass the gateway device based on any combination of: i) a loss of power, and ii) an input received from the driver to disable the gateway device.

[0034] Other features and advantages of the present application will become apparent from the following detailed description taken together with the accompanying drawings. It should be understood, however, that the detailed description and the specific examples, while indicating preferred embodiments of the application, are given by way of illustration only, since various changes and modifications within the spirit and scope of the application will become apparent to those skilled in the art from this detailed description.BRIEF DESCRIPTION OF THE DRAWINGS

[0035] For a better understanding of the various embodiments described herein, and to show more clearly how these various embodiments may be carried into effect, reference will be made, by way of example, to the accompanying drawings which show at least one example embodiment, and which are now described. The drawings are not intended to limit the scope of the teachings described herein.

[0036] FIG. 1 is a schematic illustration of an example embodiment of a system for managing the control of a plurality of units in a vehicle.

[0037] FIG. 2 is a schematic illustration of another example embodiment of a system for managing the control of a plurality of units in a vehicle.

[0038] FIG. 3A is a schematic illustration of an example embodiment of a gateway device that may be used in the system of FIG. 1 or FIG. 2.

[0039] FIG. 3B is a schematic illustration of another example embodiment of the gateway device that may be used in the system of FIG. 1 or FIG. 2.

[0040] FIG. 4 is a schematic illustration of an example embodiment of the connection between the gateway device of FIG. 1 or FIG. 2 with a hands-free input device and several hands-free source devices.

[0041] FIG. 5 is a flow chart of an example embodiment of a method for controlling an OEM unit of a vehicle using hands-free commands.

[0042] Further aspects and features of the example embodiments described herein will appear from the following description taken together with the accompanying drawings.DETAILED DESCRIPTION OF THE EMBODIMENTS

[0043] Various embodiments in accordance with the teachings herein will be described below to provide an example of at least one embodiment of the claimed subject matter. No embodiment described herein limits any claimed subject matter. The claimed subject matter is not limited to devices or methods having all of the features of any one of the devices or methods described below or to features common to multiple or all of the devices and or methods described herein. It is possible that there may be a device or method described herein that is not an embodiment of any claimed subject matter. Any subject matter that is described herein that is not claimed in this document may be the subject matter of another protective instrument, for example, a continuing patent application, and the applicants, inventors or owners do not intend to abandon, disclaim or dedicate to the public any such subject matter by its disclosure in this document.

[0044] It will be appreciated that for simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements or steps. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein may be practiced without these specific details. In other instances, well- known methods, procedures and components have not been described in detail so as notto obscure the embodiments described herein. Also, the description is not to be considered as limiting the scope of the embodiments described herein.

[0045] It should also be noted that the terms “coupled” or “coupling” as used herein can have several different meanings depending in the context in which these terms are used. For example, the terms coupled or coupling can have a mechanical, fluidic or electrical connotation. For example, as used herein, the terms coupled or coupling can indicate that two elements or devices can be directly connected to one another or connected to one another through one or more intermediate elements or devices via an electric signal, an electrical connection, a network such as a CAN or LIN bus, a mechanical element, a fluid or a fluid transport pathway, for example, depending on the particular context.

[0046] It should also be noted that, as used herein, the wording “and / or” is intended to represent an inclusive-or. That is, “X and / or Y” is intended to mean X or Y or both, for example. As a further example, “X, Y, and / or Z” is intended to mean X or Y or Z or any combination thereof. As another example, the phrase “any combination of A, B, and C” or “A, B, C or any operable combination thereof” is mean to cover any combination of elements A, B and C that provides utility which may, for example, include A, B, C, A and B, A and C, B and C, and A, B and C.

[0047] It should be noted that terms of degree such as “substantially”, “about” and “approximately” as used herein mean a reasonable amount of deviation of the modified term such that the end result is not significantly changed. These terms of degree may also be construed as including a deviation of the modified term such as, but not limited to, 1 %, 2%, 5% or 10%, if this deviation would not negate the meaning of the term it modifies.

[0048] Furthermore, the recitation of numerical ranges by endpoints herein includes all numbers and fractions subsumed within that range (e.g., 1 to 5 includes 1 , 1.5, 2, 2.75, 3, 3.90, 4, and 5). It is also to be understood that all numbers and fractions thereof are presumed to be modified by the term “about” which means a variation of up to a certain amount of the number to which reference is being made if the end result is not significantly changed, such as, but not limited to, 1 %, 2%, 5% or 10%, for example.

[0049] At least a portion of the example embodiments of the devices, systems or methods described in accordance with the teachings herein may be implemented as a combination of hardware and software. For example, at least a portion of the embodiments described herein may be implemented, at least in part, by using one or more computer programs, executing on one or more programmable devices comprising at least one processing element and at least one storage element (i.e., at least one volatile memoryelement and at least one non-volatile memory element). The hardware may comprise one or more input devices including, but not limited to, one sensor, a touch screen, a keyboard, a mouse, buttons, keys, sliders, levers or any combination thereof, as well as one or more output devices including, but not limited to, an output port for transmitting a control signal, a display, a speaker, a printer, or any combination thereof depending on the implementation of the hardware.

[0050] It should also be noted that there may be some elements that are used to implement at least part of the embodiments described herein that may be implemented via software that is written in a high-level procedural language such as object oriented programming. The program code may be written in C, C++, C#, JavaScript, Python, or any other suitable programming language and may comprise modules or classes, as is known to those skilled in object-oriented programming. Alternatively, or in addition thereto, some of these elements implemented via software may be written in assembly language, machine language, or firmware as needed. In either case, the language may be a compiled or interpreted language. In at least one embodiment, various software frameworks, such as AUTOSAR, an automotive specific framework, may also be used to implement the system.

[0051] At least some of these software programs may be stored on a computer readable medium that is readable by a general or special purpose programmable device. The software program code, when read by the programmable device, configures the programmable device, e.g., computing device, to operate in a new, specific and predefined manner in order to perform at least one of the methods described herein. Examples of computer readable medium include, but are not limited to, a ROM, a magnetic disk, an optical disc, a USB key, and the like that is readable by a device having a processor, an operating system, and the associated hardware and software that is necessary to implement the functionality of at least one of the embodiments described herein. The software program code, when read by the device, configures the device to operate in a new, specific, and predefined manner (e.g., as a specific-purpose computer) in order to perform at least one of the methods described herein.

[0052] At least some of the programs associated with the devices, systems, and methods of the embodiments described herein may be capable of being distributed in a computer program product comprising a computer readable medium that bears computer usable instructions, such as program code, for one or more processors. The program code may be preinstalled and embedded during manufacture and / or may be later installed as an update for an already deployed computing system. The medium may be provided in variousforms, including non-transitory forms such as, but not limited to, one or more diskettes, compact disks, tapes, chips, and magnetic and electronic storage. In alternative embodiments, the medium may be transitory in nature such as, but not limited to, wire-line transmissions, satellite transmissions, internet transmissions (e.g., downloads), media, digital and analog signals, and the like. The computer useable instructions may also be in various formats, including compiled and non-compiled code.

[0053] Some elements herein may be identified by a part number, which is composed of a base number followed by an alphabetical or subscript-numerical suffix (e.g., 112a, or 112-1). Multiple elements herein may be identified by part numbers that share a base number in common and that differ by their suffixes (e.g., 112i, 1122, and 112s). All elements with a common base number may be referred to collectively or generically using the base number without a suffix (e.g., 112).

[0054] It should be noted that the term OEM input device refers to any device that is included when the vehicle is manufactured and can be used to provide an input signal to control an OEM output device in order to control a primary or secondary vehicle function.

[0055] It should be noted that the term OEM output device refers to any unit that is included when the vehicle is manufactured where the OEM output device provides a primary or secondary vehicle function.

[0056] It should be noted that the terms alternative input device or hands-free input device refers to a computing device that is included aftermarket that receives an input signal from a hands-free device (also known as an alternative source device or hands-free source device) that can be used to control an OEM output device to control a primary or secondary vehicle function. A hands-free device allows a driver to control a primary or secondary vehicle function by providing a visual cue (e.g., facial expression) or auditory cue (e.g., voice or sound command). It should be noted that hands-free in this case means the driver does not have to use one or both of their hands to physically touch an input device but may use their hands to make gestures. In some applications, only a subset of the vehicle’s OEM output devices may be controlled by an alternative input device.

[0057] Referring now to FIG. 1 , illustrated therein is a system 100 for managing the control of a plurality of OEM output devices 102 in a vehicle. In the example embodiment shown in FIG. 1 , the OEM output devices 102 are illustrated as units 102. The units 102 provide a primary or secondary function for the vehicle. For example, FIG. 1 includes unit 102a for controlling a turn signal light, unit 102b for controlling a headlight, and unit 102c for controlling a windshield wiper. Only three units are shown in FIG. 1 for simplicity,however, a vehicle may contain a plurality of units 102, each controlling a different primary or secondary vehicle function.

[0058] The units 102 are connected to a vehicle communication network 104 (also referred to as network 104, CAN 104 or LIN 104). Network 104 may be any suitable network, including but not limited to a Controller Area Network (CAN), including low-speed CAN, CAN Flexible Data-Rate (CAN FD), and CAN Extended Data-Field Length (CAN XL), and a Local Interconnect Network (LIN). The network 104 shown in FIG. 1 is a CAN 104. The CAN 104 has two wires, including a CAN High line (CANH) 106 and a CAN Low line (CANL) 108.

[0059] OEM input devices 112 are used to control the units 102. In FIG. 1 the OEM input devices 112 are illustrated as switches 112. In other embodiments, the OEM input devices 112 may be other devices, such as but not limited to buttons, sliders and levers, for example. The switches 112 are connected to the network 104 and are used to physically turn a primary or secondary function on or off or control a level of a primary or secondary function such as the speed of the windshield wipers. Each unit 102 may have a corresponding switch 112. For example, FIG. 1 shows a switch 102a for the turn signal light, a switch 102b for the headlight, and a switch 102c for the windshield wiper.

[0060] The communications between the switches 112 and units 102 may be controlled or facilitated by an electronic control unit (ECU) 110 of the vehicle. The ECU 110 is connected to the network 104. In at least one alternative embodiment, there may be more than one ECU and just one ECU is shown for illustrative purposes in this description.

[0061] Another device that is connected to the network 104 is a gateway device 114. The gateway device 114 is installed into the vehicle’s network 104 by severing or connecting into the network 104 at a chosen location so that the gateway device 114 acts as a bridge between input devices (e.g., the OEM input devices 112 and an alternative input device 120) and the OEM output devices 102. The gateway device 114 may be installed at any suitable location. For example, FIG. 1 shows the gateway device 114 installed between the OEM input devices 112 and the ECU 110. In other words, the gateway device 114 is connected on one side to the OEM input devices 112 (referred to as the switch side or input side) and on the other side to the ECU 110 and the OEM output units 102 (referred to as the unit side or output side). FIG. 2 shows the gateway device 114 installed / connected between the ECU 110 and OEM output units 102. Installing / communicatively connecting the gateway device 114 physically close to the ECU 110 allows for the gateway device 114 to impact the control of more of the vehicle’s units OEM output devices 102, whicheffectively allows for overriding inputs from OEM input devices 112 when needed. In a given vehicle, there may be OEM input devices 112 and OEM output devices 102 on either side of the gateway device 114. It is important to place the gateway device 114 between the OEM input devices 112 and the OEM output devices 102 that the user wishes to control via the hands-free input device 120. In at least one embodiment, the hands-free input device 120 in conjunction with the gateway device 114 may be designed to control only a subset of the OEM output devices 102. If a suitable location in the network 104 cannot be found which breaks the connection between all the OEM input devices 112 and the OEM output devices 102 that the user wishes to control, more than one gateway device 114 may be required. If more than one gateway device 114 is used to control all the desired OEM output devices 102, the multiple gateway devices may be coupled to a single or multiple handsfree input device(s) 120.

[0062] Reference is now made to FIGS. 3A and 3B. FIG. 3A shows the gateway device 114 and the connection of the gateway device 114 to the network 104 which is a CAN network in this example embodiment. FIG. 3B shows the gateway device 114 connected to the network 104 which is a LIN network in this example embodiment. Gateway device 114 includes at least two network interfaces 116 for communicatively connecting / coupling the gateway device 114 to the network 104. Any suitable network interface device may be used, including, for example when the network 104 is a CAN network, external CAN bus devices such as a Microchip 2518FD External CAN FD Controller with SPI interface may be used. A first network interface 116a connects the gateway device 114 to the OEM input device side of the network 104. The first network interface 116a may receive messages from the OEM input devices 112 and / or the ECU 110. A second network interface 116b connects the gateway device 114 to the OEM output unit side of the network 104. The second network interface 116b may send messages to OEM output devices 102 and / or the ECU 110.

[0063] The gateway device 114 typically includes a microcontroller 118 or some other electronic hardware with similar functionality. Any suitable microcontroller may be used. In some cases, the microcontroller 118 may comprise the network interfaces 116. For example, the microcontroller 118 may be a Microchip SAME70 which contains a 32- bit ARM Cortex-M7 processor, two independent Control Area Networks (which act as network interfaces 116) with Flexible DATA Rate (CAN-FD), a USB interface, UART interfaces, Ethernet MAC, and a range of other subsystems. In other embodiments, the gateway device 114 may use a Field Programmable Gate Array (FPGA) or other control hardware / circuitryinstead of a microcontroller. A computing device within the hands-free input device 120 may be used to provide the functionality shown by the microcontroller block 118.

[0064] Referring back to FIG. 1 , in some embodiments the gateway device 114 is in communication with an alternative input device 120. In FIG. 1 , the alternative input device 120 is illustrated as a hands-free input device 120. The hands-free input device 120 is one example of an alternative input device, but the alternative input device 120 may be any device that provides control signals for the OEM output devices 102. In particular, the microcontroller 118 is in communication with the alternative input device (e.g., the handsfree input device 120) over a second communications network 122. The second communications network 122 may be any suitable network and provide wired or wireless communication between the alternative input device (e.g., the hands-free input device 120) and the gateway device 114. The second communications network 122 may be, for example, a USB bus, a Network Interface bus, a UART or any other bus supported by the microcontroller 118 and the hands-free input device 120. In another embodiment, a single computing device may be used to provide the functionality of both the hands-free input device 120 and the microcontroller functionality 118 (FIG. 3A, 3B). In this case, an independent communications network 122 does not need to be used.

[0065] As shown in FIG. 4, the alternative input device (e.g., hands-free input device 120) may receive input signals from a variety of external hands-free source devices including but not limited to one or more cameras 124a, one or more microphones 124b, one or more sensors 124c (e.g., sip-n-puff, accelerometers, gyroscopes, and other sensors which may gather input from a driver), one or more switches 124d, and a joystick 124e. The hands-free source devices may be wired or wirelessly connected to hands-free input device 120. Other hands-free source devices not shown in FIG. 4 may also be connected (wired or wirelessly) to hands-free input device 120. The hands-free source devices capture commands from the driver of the vehicle. For example, the camera 124a may capture facial gestures from the driver and the microphone 124b may capture vocal or sound commands from the driver. For example, the driver may raise their eyebrows, blink their eyes several times, say the words “brake”, “drive at 50 km / h”, “turn on left signal”, “turn windshield wipers on low”, etc. to control a primary or secondary vehicle function. The hands-free source devices provide the raw acquired / captured input signals to the alternative input device (e.g., hands-free input device 120). The hands-free input device 120 processes the raw input signals to generate the desired vehicle control commands. Accordingly, the hands-free input device 120 will send the gateway device 114 desired driver control signals such asleft or right turn signal on or off, windshield wipers on or off (optionally additionally with wiper speed setting), headlights on or off, and other operation instructions for primary or secondary vehicle functions.

[0066] The gateway device 114 may also communicate with the hands-free input device 120 to send / receive status messages associated with the operation of the gateway device 114, one of the hands-free source devices or other monitored vehicle information. For example, the gateway device 114 may send a message to the hands-free input device 120 indicating relays 126 (described further below) are enabled or disabled. As another example, the gateway device 114 may send a message back to the hands-free input device 120 indicating an error condition that exists in the gateway device 114. The gateway device 114 may send a message back to the hands-free input device 120 indicating the left / right turn signal is on which could be communicated to the driver via a display or audio speaker indicating that the gateway is actually turning the turn signal on. In another example, the gateway device 114 may send a message back to the hands-free input device 120 indicating the vehicle’s cruise control has been enabled and the speed is set to a particular value.

[0067] The hands-free input device 120 typically comprises a computing device, such as a microprocessor for example, with input ports that are configured for receiving inputs signals from the hands-free source devices and the signals are then processed by the computing device. The computing device executes software for advanced computer vision algorithms and facial gesture recognition algorithms which converts, for example, facial expressions and hand gestures captured in the input signals provided by the hands-free source devices 124 (e.g., camera 124b) to desired vehicle control commands for performing primary or secondary vehicle functions. The same is true for audio input from one or more microphones 124a. The computing device may execute voice recognition and natural language processing algorithms / software which configures the computing device to convert spoken commands that are captured in the input signals to desired vehicle control commands for performing primary or secondary vehicle functions. For example, face recognition algorithms may be used from the Open Computer Vision face recognition library or from Dlib, and the voice recognition software may be the Kaldi speech recognition toolkit.

[0068] In at least one embodiment, the hands-free input device 120 may be integrated with the gateway device 114. For example, the computing device / processor associated with the hands-free input device 120 may be used to perform the functions of the microcontroller 118, removing the need for a separate microcontroller. In other example embodiments,solely the microcontroller 118 may be used to receive and process signals from the handsfree source devices. In other words, instead of connecting hands-free source devices to the hands-free input device 120, the hands-free source devices may be connected to the gateway device 114, and the gateway device 114 may send the hands-free input device 120 status messages regarding the hands-free source device. For example, a sip-n-puff device does not typically require extensive computer processing to convert a driver’s sip-n- puff gestures to desired vehicle commands. The microcontroller 118 in the gateway device 114 may typically have enough compute capability to monitor the sip-n-puff device and convert a driver’s sip-n-puff gestures to desired vehicle commands and handle the network 104 communications requirements.

[0069] A microcontroller typically has a range of IO (input / output) ports for various signals such as analog input signals, analog output signals, digital input signals, digital output signals, etc. In addition, a microcontroller typically contains SPI, I2C, and other bus structures designed to communicate with sensors such as accelerometers, gyroscopes, air pressure sensors (possibly used for sip-n-puff), etc. Any of these technologies may be used by the hands-free input device.

[0070] Referring back to FIG. 1 , the CAN 104 is a multi-master bus where any module (e.g., hardware device such as an OEM input device (e.g., switch 112a), OEM output device (e.g. unit 102a), ECU 110, etc.) on the bus 104 may independently generate and transmit messages. Each module (e.g., hardware device) on the CAN 104 receives all messages on the bus 104. A given module filters the incoming messages and only processes messages that are directed to or are important for the operation of the given module. For example, turn signal switch 112a may generate and send a CAN bus message at regular intervals indicating the status of turn signal switch 112a. The status of the turn signal switch 112a may include off, left turn signal on, or right turn signal on. All other modules on the bus 104 will receive the turn signal message from the turn signal switch 112a. In some vehicles, when the ECU 110 of the vehicle receives a message, the ECU 110 will generate a subsequent message directed to the appropriate OEM output unit (e.g., unit 102a) causing the unit to be actuated (e.g., actuating the turn signal). In other cases, the OEM output device may receive the message from an OEM input device and directly process the message, causing the OEM output device to be actuated (e.g., the turn signal unit 102a may receive the message from the turn signal switch 112a and actuate the turn signals). When a message is sent from an OEM input device to control an OEM output device, the message may be referred to as an OEM control message when used to control an OEMoutput device or an OEM status message when status information is being sent, such as from a OEM input device 112. When a message is sent on the network 104 that originates from a hands-free source device (e.g., alternative source device) to control an OEM output device, the message may be referred to as a gateway control message when used to control an OEM output device or a gateway status message when status information is being sent.

[0071] In the embodiment shown in FIG. 1 , at certain times / during certain situations, the gateway device 114 is configured to block certain OEM control messages coming from an OEM input device when a command signal is received that originated from one of the alternative source devices. The gateway device 114 will then generate the appropriate gateway control message in place of the OEM control message from the OEM input device, in essence blocking the OEM control message, to control the related OEM output device. For example, when a driver indicates that a primary or secondary vehicle function is to be controlled, by making a certain facial gesture, for example, the alternative input device (e.g., hands-free input device 120) generates and sends a control / command signal to the gateway device 114. When the gateway device 114 receives this control or command signal, the gateway device 114 generates the appropriate gateway control message to actuate the corresponding OEM output device. For example, a driver may make a certain facial expressions indicating to turn on the right turn signal. The hands-free input device 120 processes this facial signal and sends a “right turn signal on” command message to the gateway device 114. The gateway device 114 will then generate a gateway control message to actuate the turn signal unit 102a to operate accordingly. However, to be able to do this, the gateway device 114 will block or effectively override OEM control messages being sent by an OEM input device that corresponds to the OEM output device that the driver is trying to control via the alternative input device 120 to control a primary or secondary vehicle function corresponding to the OEM output device. It should be noted that such facial expressions, hand gestures, verbal or non-verbal sounds and other hands-free commands from the driver are predetermined in the sense that the alternative input device 120 is pre-programmed to recognize that these various hands-free commands are mapped to controlling a primary or secondary vehicle function.

[0072] When the gateway device 114 receives messages from the hands-free control unit 120, the gateway device 114 will generate corresponding gateway control messages and send them to the unit / output device side of the network gateway device 114 using the network interface 116b. For example, when the gateway device 114 receives the “right turn signal on” control signal from the hands-free control unit 120, the gateway device 114 willgenerate a “right turn signal on” gateway control message and output it to the network 104 via network interface 116b. During this time, the gateway device 114 will block and not pass on messages generated by the OEM input device 112 (the turn signal switch 112a in this example). In this embodiment, when the hands-free control unit 120 indicates the turn signal should be off, the gateway device 114 will pass through turn signal 112a status messages on to the OEM turn signal unit 102a. In this embodiment, the turn signals are then controlled in their normal fashion by the OEM turn signal switch 112a. This option allows the OEM turn signal unit 102a to be controlled by either the OEM turn signal switch 112a or the hands-free device 120. This is a shared control embodiment. The hands-free device 120 will have over-riding control only when the hands-free device 120 is actively asserting a left or right turn signal on command.

[0073] In another embodiment, the gateway device 114 will always block an OEM input status message from reaching the corresponding OEM output device 102. In this embodiment, the hands-free input device 120 coupled with the gateway 114 will take full control of the OEM output device 102. A mixture of this embodiment and the noted shared control embodiment may be used in a vehicle. One OEM output device 102 may be controlled by a shared control strategy while another OEM output device is solely controlled by the hands-free input device 120. The decision of which control strategy to use will be based on the needs and requirements of the overall system design and end-user preferences.

[0074] The gateway device 114 is configured to generate the corresponding messages in a format that is consistent with the format of the messages generated by the OEM input devices. In other words, the gateway device 114 mimics the functionality and operation of the OEM input devices, such that the OEM output devices do not know the difference between a message generated by an OEM input device or one provided by the gateway device 114.

[0075] When a given OEM output device receives a gateway command message from the gateway device 114, the given OEM output device is actuated. For example, when the turn signal unit 102a receives the “right turn signal on” signal, the unit 102a will turn on the right turn signal. The gateway device 114, therefore, allows for facial gestures, verbal / non- verbal commands, hand gestures, etc. to control primary and / or secondary vehicle functions through a desired OEM output device without any transmitted messages from the alternative input device 120 being overwritten by messages sent from the OEM input devices.

[0076] A driver will typically only wish to control a subset of a vehicle’s primary or secondary functions. Since there are many OEM input devices connected to the network 104, the gateway device 114 will constantly receive many OEM control and status messages from these OEM input devices related to the control of a variety of primary or secondary vehicle functions. Additionally, it may not be desirable or practical for the driver to be able to control some vehicle functions. For example, many vehicles automatically control the vehicle’s headlights without user intervention. It may not be practical to control all the vehicle’s windows, door locks, and other features. In these situations, these OEM status and control messages (which may be referred to as unblockable OEM control and status messages) must be passed through the gateway 114 without modification. The OEM may define which OEM messages are “unblockable”, e.g., should not be blocked.

[0077] The microcontroller 118 (FIG. 3A) will receive CAN bus messages on both CAN devices 116a and 116b. The microcontroller 118 will check each message and determine whether it is a message to be controlled by the hands-free input device 120. If this message is not to be controlled (e.g., it is “unblockable”) or is not recognized, the microcontroller 118 will simply retransmit the message out the opposite CAN device 116 (i.e., if the message is received on CAN device 116a, it will be retransmitted on CAN device 116b, and if it is received on CAN device 116b, it will be retransmitted on CAN device 116a). If the received message is one associated with an OEM output device 102 that is actively being controlled by the hands-free device 120, the microcontroller 118 may block the incoming message and generate the appropriate message to control the OEM device 102. If the hands-free device 120 is not actively controlling the OEM device 102 associated with the received CAN message, the microcontroller 118 will retransmit the message out the opposite CAN device 116. In summary, the gateway device 114 is responsible for ensuring that all messages for OEM output devices or OEM input devices that the gateway device 114 is not attempting to control get transmitted / sent and not blocked by the gateway device 114 so that the vehicle functions as it should had the gateway device 114 not been incorporated as a bridge in the network 104.

[0078] As shown in FIGS. 1-3B, the gateway device 114 may contain one or more relays 126. The relays 126 may be mechanical relays, analog switches or solid-state relays. The relays 126 may be connected to an external relay enable 127. Typically, the external relay enable 127 is one or more switches that when turned on supply power to enable (turn on) the relay(s) 126. There may be additional on / off control of the relays from the microcontroller 118. When the gateway device 114 is disabled for any reason, either by the external relayenable 127 or microcontroller 118 relay control, the relays 126 bypass the gateway device 114 and connect the switch / input side of the network 104 to the unit / output side of the network 104. When the network 104 is a CAN, as shown in FIGS. 1 , 2 and 3A, the relay126 may include a relay 126a connected to the CANL line 108, and a relay 126b connected to the CANH line 106. A multipole relay may also be used. The relays 126 may disconnect the network interface devices 116 from the network 104. This allows the messages on the network 104 to bypass the gateway device 114 (via relays 126) so that they are uninhibited and results in normal vehicle operation. When the gateway device 114 is disabled, the bus signals 104 bypass the gateway 114, and the full functionality of the vehicle network 104 is restored without further intervention from the gateway device 114. The external relay enable127 may also be communicatively coupled to a driver controlled handsfree, or hand controlled, source device to allow the driver to control whether the gateway device 114 is operational. For example, a driver who does not wish to use the gateway device 114 may disable the gateway device 114 and use the primary and / or secondary vehicle functions as they are normally used. For example, the vehicle may be operating in an unsafe way for various reasons, e.g., one of the handsfree source devices or the handsfree input device 120 and / or the gateway device 114 may be malfunctioning and the driver may wish to disable the gateway device. Accordingly, the external relay enable 127 may be viewed as a kill-switch. Therefore, the relays 126 and the external relay enable 127 act as a safety feature so that the microcontroller 118 or any other external switch or control can be used to disable the gateway device 114 and quickly restore the normal operation of the vehicle.

[0079] In at least one embodiment, the gateway device 114 may be configured, by executing software, to actuate the relays 126 so that the gateway device 114 is bypassed when there is a software error message so that the vehicle operates as it is normally meant to (e.g., before the gateway device 114 is installed). Such error messages may result due to an operational issue (e.g., software module crash) with the gateway device 114 itself, or due to the alternative input device 120 having some sort of operational issue in which case the alternative input device 120 will send an error message indicating that it has crashed or one of the hands-free source devices is malfunctioning. In either cases, the gateway device 114 will deactivate the relays 126a and 126b so that the gateway device 114 is bypassed and disconnected from the network 104.

[0080] In at least one embodiment, the gateway device 114 may also be configured to deactivate the relays 126a and 126b to disconnect the gateway device 114 from the network 104 and goes into sleep mode when the vehicle is not being operated for example. It shouldbe noted that even when the vehicle is off, there is still bus traffic (e.g., OEM messages being sent on the network 104) and it is not necessary for the gateway device 114 to monitor / block these OEM messages since the driver will not be controlling any primary or secondary vehicle functions at that time. Since the gateway device 114 is not operating in such situations, power consumption is advantageously reduced.

[0081] The gateway device 114 may support multiple CAN buses. Modern vehicles typically have multiple CAN buses, such as low-speed buses for non-critical items (e.g., turn signals, windshield wipers, etc.) and higher-speed buses for more critical items (e.g., cruise control). In some embodiments, additional Microchip 2518FD External CAN FD Controllers may be attached to the microcontroller 118 on an SPI bus. Additional bypass relays may separately bypass the additional CAN bus inputs and outputs when the gateway device is disabled. Each vehicle CAN bus may be selectively enabled or bypassed as needed by using separate pairs of bypass relays for each CAN bus.

[0082] As described above, the network 104 may be a LIN network. In some embodiments, the LIN network is a supplement to a CAN network. A LIN network is a singlewire bus and the vehicle’s ground system is the return for the bus. The bus has lower speed and lower performance than a CAN bus. LIN networks are also lower cost and ideal for door window switches, door lock control, window up / down control, and other features. The gateway 114 connects to the LIN bus in a similar fashion as shown in FIGS. 1 and 2. The only difference is that there is a single wire for the 104 bus instead of two wires used for a CAN bus. The gateway device 114 must inserted in between (e.g., sever) the connection between the OEM input device(s) 112 and the OEM output device(s) 102 and be inserted between the input and output devices that are to be controlled by the hands-free input device 120 (FIGS. 1 ,2, and 3B).

[0083] Reference is now made to FIG. 3B, which shows the gateway device 114 connected to network 104 which is a LIN network. Each of the network interfaces 116 may be an NXP SJA1124 Quad LIN master with LIN controller that connects to the microcontroller 118 via a SPI bus. Other network interface devices 116 may be used, or as described above, the microcontroller 118 may contain two or more network interface devices 116. The gateway device 114 may be bypassed using relay 126.

[0084] A key difference between a LIN bus and a CAN bus is that a LIN bus has a single “master”, such as a vehicle ECU or bridge between a vehicle CAN and LIN bus. All other modules(e.g., hardware devices) on the LIN bus are “slaves” and can only respond to the master module (e.g., master device). For example, the master module may send a messageto a slave module requesting a switch state. The slave module must respond with its switch state within a specified time frame. The master module may also command a slave module to take an action, such as opening a window, and the slave module will typically respond with an acknowledgment message within a specified time frame.

[0085] If the gateway device 114 is installed between the ECU 110 and the OEM input devices (e.g., as in FIG. 1) and the network 104 is a LIN network, the gateway device 114 will poll the OEM input devices 112 on the switch / input side of the gateway device 114. The gateway device 114 will therefore always be aware of the state of the OEM input devices and can store the values for these states in memory. When the ECU 110 polls the state of an OEM input device, the gateway device 114 intercepts the message and responds to the ECU 110 within the specified timeframe with the switch state that is stored in the memory of the gateway device 114. In this manner, the ECU 110 is in effect still communicating directly to the OEM input device. If the hands-free input device 120 is set up to control an OEM device 102 such as the turn signals 102a, when the ECU 110 attempts to poll the OEM turn signal input 112a, the gateway device 114 will respond with the hands-free device 120 turn signal command if the driver is requesting via a gesture (or other means) to turn the turn signal on. If the hands-free device 120 is not commanding the turn signals on, the gateway device 114 may respond with the OEM turn signal switch state (shared control) or may respond with the turn signal off command from the hands-free device 120 (full control). Based upon the response from the gateway device 114, the ECU 110 will then send the desired turn signal command to the OEM turn signal unit 102a.

[0086] If the ECU 110 commands an OEM output device to be actuated in a particular way and the gateway device 114 is located as shown in FIG. 2, the gateway device 114 will intercept the command message and respond with the appropriate acknowledgment back to the ECU 110 within the specified time. The gateway device will then retransmit the message received from the ECU 110 to the OEM output device. If the hands-free device 120 is controlling the particular OEM output device 102, the gateway device 114 will send the appropriate command to the OEM output device 102.

[0087] The gateway device 114, therefore, acts as a master device on the input / switch side of the gateway device 114 and as a slave device on the output / unit side of the gateway device 114. However, if the gateway device 114 is receiving control signals from the alternative input device (e.g., hands-free input device 120) to control an OEM output device when the ECU 110 is attempting to send an OEM control message to the same OEM output device, then the gateway device 114 will only send an acknowledgment message to theECU 110 and will not send the OEM command message over the network 104 that corresponds with the instructions from the ECU 110. Instead, the gateway device 114 will send a gateway command message over the network 104 to the intended OEM output device that corresponds to the instructions I control signal received from the hands-free input device 120.

[0088] In at least one embodiment, the gateway device 114 may be configured for supporting multiple LIN buses, in a similar manner as with multiple CAN buses as described previously, for maximum flexibility to control the primary and / or secondary vehicle functions using the hands-free input device 120.

[0089] CAN and or LIN bus message structures and format may be obtained from the OEM. If the OEM does not publish the desired message structure and formats, then a CAN bus and or LIN bus sniffer or analyzer device may be obtained and connected to the vehicle’s bus network 104. Bus analyzers are readily available from multiple manufacturers. The message structure and format may be discovered through careful analysis of the vehicle’s bus signals.

[0090] Referring now to FIG. 5, shown therein is a flowchart of an example embodiment of a control method 500 for controlling primary and / or secondary vehicle functions using a gateway device. The method 500 is implemented using program instructions which, when executed by one or more computing devices, configure the one or more computing devices (e.g., the gateway device) for performing the method 500. The gateway device corresponds to one of the embodiments of the gateway devices described herein. For ease of illustration, in the description of method 500, the gateway device 114 will be referred to but the method 500 is not limited to use with the gateway device 114. It should be noted that the sequence of steps may be different in different embodiments.

[0091] At 502, the gateway device 114 receives an OEM control or status message from an OEM input device 112 for controlling an intended OEM output device 102. At act 504, the gateway device 114 determines if there is an active command (e.g., a hands-free command signal) from the hands-free input device 120 or from one of the alternative source devices (depending on the embodiment used as described earlier). An active command means that the hands-free device 120 is attempting to actively controlling the specific OEM output device 102 that the received OEM input message is associated with. If the gateway device 114 does not receive or have such an active command, then the method 500 proceeds to 506 where the gateway device 114 transmits the OEM control or status message on the bus so that it is received by the intended OEM output device. Alternatively,if at step 504 the gateway device 114 determines that it has received or contains an active command from the hands-free input device 120 or from one of the alternative source devices to control the same intended OEM output device, then the method 500 proceeds to 508 where the gateway device 114 blocks the OEM control message. The method 500 then proceeds to step 510 where the gateway device 114 generates a gateway control message based on the hands-free active command which is then sent on the network 104 to be received by the intended OEM output device. The gateway is in a continuous loop processing control and status messages along with the messages from the hands-free device 120.

[0092] While the applicant's teachings described herein are in conjunction with various embodiments for illustrative purposes, it is not intended that the applicant's teachings be limited to such embodiments. On the contrary, the applicant's teachings described and illustrated herein encompass various alternatives, modifications, and equivalents, without generally departing from the embodiments described herein. For example, while the teachings described and shown herein may comprise certain elements / components and steps, modifications may be made as is known to those skilled in the art. For example, selected features from one or more of the example embodiments described herein in accordance with the teachings herein may be combined to create alternative embodiments that are not explicitly described. All values and sub-ranges within disclosed ranges are also disclosed. The subject matter described herein intends to cover and embrace all suitable changes in technology.

Claims

AMENDED CLAIMS received by the International Bureau on 10 July 2025 (10.07.2025)1. A gateway device for managing interaction between Original Equipment Manufacturer (OEM) input devices, output OEM devices and an Electronic Control Unit (ECU) over a vehicle communication network of a vehicle to allow a driver of the vehicle to control primary or secondary vehicle functions in a hands-free manner, wherein the gateway device comprises: a first network interface for connecting to the vehicle communication network for receiving messages from OEM input devices and / or the ECU; a second network interface for connecting to the vehicle communication network for sending gateway messages to OEM output devices and / or the ECU; and at least one processor that is communicatively coupled to the first and second network interfaces and to an alternative input device and / or one or more alternative source devices, the at least one processor being configured to: determine if there is a hands-free command signal from the alternative input device; allow communication between the OEM input devices, the OEM output devices and the ECU when there is no hands-free command received from the alternative input device; and when a hands-free command is received from the alternative input device for controlling an intended OEM output device, block transmission of any OEM command messages to the intended OEM output device, generate a gateway command message to control the intended OEM output device indicated in the hands-free command and transmit the gateway command message over the vehicle communication network for receipt by the intended OEM output device, wherein the gateway device is installed into the vehicle communication network by severing or connecting into the vehicle communication network at a chosen location so that the gateway device acts as a bridge between the OEM input devices, the OEM output devices and the ECU during use.

2. The gateway device of claim 1 , wherein the hands-free command is generated by the alternative input device upon receiving an input signal from an alternative source device that is generated based on any combination of: a) one or more facial gestures, b) one ormore verbal or non-verbal commands, c) a hands-free gesture and d) a slider, button, knob or touchscreen input provided by the driver of the vehicle.

3. The gateway device of claim 2, wherein the OEM output device is controlled by the hands-free command if the hands-free command is actively enabling the OEM output device, otherwise the OEM output device is controlled by a related OEM input device.

4. The gateway device of claim 2, wherein the OEM output device is controlled by the hands-free command if the hands-free command is actively enabling or disabling the OEM output device.

5. The gateway device of any one of claims 1 to 4, wherein the alternative input device is external to the gateway device.

6. The gateway device of any one of claims 1 to 4, wherein the gateway device comprises the alternative input device.

7. The gateway device of any one of claims 1 to 6, wherein the gateway device is coupled to the vehicle communication network by relays that are in a disabled state when the relays receive no voltage or current on an external relay enable which disconnects and / or bypasses the gateway device from the vehicle communication network.

8. The gateway device of claim 7, wherein the external relay enable is configured to disconnect and / or bypass the gateway device based on any combination of: i) a loss of power, and ii) an input received from the driver to disable the gateway device.

9. The gateway device of claim 7 or 8, wherein the gateway device is disconnected from the vehicle communication network based on any combination of: a software error message from the gateway device, a software error message from the alternative input device and a software error message from the one or more alternative source devices.

10. The gateway device of any one of claims 1 to 9, wherein the vehicle communication network is a CAN network.

11. The gateway device of any one of claims 1 to 9, wherein the vehicle communication network is a LIN network.

12. The gateway device of any one of claims 1 to 9, wherein there are multiple vehicle networks.

13. The gateway device of claim 12, wherein the gateway device is connected via different pairs of relays to the multiple vehicle networks.

14. The gateway device of claim 13, wherein the relays may be controlled independently or as a group.

15. A method for managing interaction between Original Equipment Manufacturer (OEM) input devices, OEM output devices and an Electronic Control Unit (ECU) over a vehicle communication network of a vehicle to allow a driver of the vehicle to control primary or secondary vehicle functions in a hands-free manner, wherein the method comprises: receiving, at a gateway device that is installed into the vehicle communication network, an OEM command message for controlling an intended OEM output device, the gateway device being installed into the vehicle communication network by severing or connecting into the vehicle communication network at a chosen location so that the gateway device acts as a bridge between the OEM input devices, the OEM output devices and the ECU during use; allowing the OEM command message to transmit on the vehicle communication network to the intended OEM output device when there is a control signal from an alternative input device or an alternative source device to control the OEM output device is not received; and when the control signal from the alternative input device or the alternative source device to control the OEM output device is received: blocking the OEM command message from transmitting on the vehicle communication network to the intended OEM output device; generating a gateway command message for controlling the intended OEM output device based on the control signal; and sending the gateway command message to the vehicle communication network for receipt by the intended OEM output device.

16. The method of claim 15, wherein the method comprises disconnecting the gateway device from the vehicle communication network when there is power loss and / or the driver does not wish to use the gateway device.

17. The method of claim 15 or claim 16, wherein the method comprises disconnecting the gateway device from the vehicle communication network based on any combination of: a software error message from the gateway device, a software error message from the alternative input device and a software error message from the one or more alternative source devices.

18. A non-transitory computer readable medium storing program instructions thereon, which when executed by a computing device, configures the computing device for performing a method for controlling primary and / or secondary vehicle functions according to any one of claims 15 to 17.

19. A system for managing interaction between Original Equipment Manufacturer (OEM) input devices, output OEM devices and an Electronic Control Unit (ECU) over a vehicle communication network of a vehicle to allow a driver of the vehicle to control primary or secondary vehicle functions in a hands-free manner, wherein the system comprises: a gateway device that is installed into the vehicle communication network, the gateway device being installed into the vehicle communication network by severing or connecting into the vehicle communication network at a chosen location so that the gateway device acts as a bridge between the OEM input devices, the OEM output devices and the ECU during use and the gateway device being further defined according to any one of claims 1 to 14; and one or more alternative source devices that receive an alternative input from the driver and are communicatively coupled to the gateway device.

20. The system of claim 19, wherein the system further comprises an alternative input device that is in communication with the gateway device and the one or more alternative source devices and is configured to receive an input signal from the one or more alternative source devices for controlling an OEM output device, generate a control signal for controlling the OEM output device, and send the control signal to the gateway device.

21. The system of claim 20, wherein the alternative source device is configured to communicate in a wired or wireless communication manner with the gateway device.

22. The system of any one of claims 19 to 21 , wherein the one or more alternative source devices comprise any combination of: i) one or more cameras, ii) one or more microphones,iii) one or more joysticks, iv) one or more sliders, v) one or more knobs, vi) one or more touchscreens, and vii) sensors.

23. The system of any one of claims 19 to 22, wherein the system further comprises relays that connect the gateway device to the vehicle communication network wherein the relays are in a disabled state when the relays receive no voltage or current on an external relay enable which disconnects and / or bypasses the gateway device from the vehicle communication network.

24. The system of claim 23, wherein the external relay enable is configured to disconnect and / or bypass the gateway device based on any combination of: i) a loss of power, and ii) an input received from the driver to disable the gateway device.