Autonomous ready vehicle
A system and method for interfacing an autonomous or remote control drive-by-wire controller with a vehicle's control modules. Vehicle functions including steering, braking, starting, etc. are controllable by wire via a control network. A CAN architecture is used as an interface between the remote/autonomous controller and the vehicle's control modules. A CAN module interface provides communication between a vehicle control system and a supervisory, remote, autonomous, or drive-by-wire controller. The interface permits the supervisory control to control vehicle operation within pre-determined bounds and using control algorithms.
1 . An accessory device for a vehicle, comprising:
a transceiver configured to communicate via a communication network of the vehicle;
a processor communicatively coupled to the transceiver; and
memory storing instructions that, when executed by the processor, cause the accessory device to perform a set of operations, the set of operations comprising:
receiving, via the transceiver of the accessory device, a proprietary message from the communication network of the vehicle;
processing, by a software application of the accessory device using a software library associated with the vehicle, the proprietary message received by the accessory device to generate a translated message; and
controlling, by the software application, operation of the accessory device according to the translated message.
2 . The accessory device of claim 1 , wherein the proprietary message is a first proprietary message and the set of operations further comprises:
receiving, from the software application, a request to generate a second proprietary message;
generating, based on the software library and the received request, the second proprietary message; and
transmitting, via the transceiver, the second proprietary message to the communication network of the vehicle.
3 . The accessory device of claim 2 , wherein the software library provides an application programming interface (API) usable by the software application to process the proprietary message.
4 . The accessory device of claim 3 , wherein:
the API comprises a set of predefined function calls corresponding to the communication network of the vehicle; and
the request is received as a result of a function call of the set of predefined function calls.
5 . The accessory device of claim 1 , wherein the software library includes a set of predefined function calls that includes at least one of:
a function call to get information associated with a powertrain of the vehicle; or
a function call to get information associated with movement by the vehicle.
6 . The accessory device of claim 1 , wherein the transceiver is configured to be removably coupled with the communication network via an accessory port of the vehicle.
7 . The accessory device of claim 1 , wherein the communication network is a controller area network (CAN) bus of the vehicle.
8 . A vehicle, comprising:
a plurality of ground engaging members;
a motor coupled to the plurality of ground engaging members, the motor configured to drive the plurality of ground engaging members;
a communication interface configured to communicate with a controller that is remote from the vehicle, the communication interface configured to receive one or more commands from the controller; and
a vehicle control unit coupled to the communication interface and configured to:
in an autonomous control mode of operation:
provide, via the communication interface, an indication of an operating condition of the vehicle;
receive, via the communication interface, a first command corresponding to the indicated operating condition; and
control operation of the vehicle based on the first command; and
in a remote control mode of operation:
receive, via the communication interface, a second command corresponding to user input received from a vehicle operator; and
control operation of the vehicle based on the second command.
9 . The vehicle of claim 8 , wherein the first command and the second command are each received from the same controller that is remote from the vehicle.
10 . The vehicle of claim 8 , wherein the vehicle control unit is further configured to, in the remote control mode of operation, provide an indication an operating condition of the vehicle via the communication interface for display to the vehicle operator.
11 . The vehicle of claim 8 , wherein the operating condition comprises at least one of a vehicle status or sensor information.
12 . The vehicle of claim 8 , wherein the vehicle control unit is further configured to receive, via the communication interface, a mode selection indicating a mode of operation for the vehicle.
13 . The vehicle of claim 8 , wherein the vehicle control unit is further configured to:
receive, via the communication interface, a command to power on the vehicle; and
in response to the received command, control the vehicle to power on the vehicle.
14 . A vehicle, comprising:
a plurality of ground engaging members;
a motor coupled to the plurality of ground engaging members, the motor configured to drive the plurality of ground engaging members;
a communication interface configured to communicate with a controller that is remote from the vehicle, the communication interface configured to receive one or more commands from the controller; and
a vehicle control unit coupled to the communication interface and configured to:
receive, from the controller via the communication interface, a command;
control operation of the vehicle based on the received command; and
based on a determined absence of communication with the controller, enable autonomous control of the vehicle.
15 . The vehicle of claim 14 , wherein the vehicle control unit is further configured to:
determine, after the determined absence of communication with the controller, a presence of the controller; and
based on the determined presence of the controller, disable autonomous control of the vehicle.
16 . The vehicle of claim 14 , wherein enabling autonomous control of the vehicle comprises permitting control of the vehicle by an autonomous vehicle controller.
17 . The vehicle of claim 16 , wherein the vehicle comprises the autonomous vehicle controller.
18 . The vehicle of claim 16 , wherein:
the command is a first command;
the vehicle further comprises a sensor configured to sense an operating condition of the vehicle; and
the vehicle control unit is further configured to, based on the determined absence of communication with the controller:
communicate the operating condition to the autonomous vehicle controller;
receive, from the autonomous vehicle controller, a second command based on the operating condition; and
control operation of the vehicle based on the second command.
19 . The vehicle of claim 18 , wherein the operating condition comprises at least one of a vehicle status or sensor information.
20 . The vehicle of claim 14 , wherein the controller that is remote from the vehicle is one of an autonomous controller or a remote controller.