Systems and methods for disengaging or engaging autonomy remotely
Systems and methods for disengaging or engaging autonomy remotely are provided. The autonomous vehicle may receive a request from a remote computing system associated with a remote operator. The request may require the autonomous vehicle to disengage, engage, or re-engage autonomy. The autonomous vehicle may determine whether the request is valid, and whether certain safety criteria are met. Upon determining that the request is valid and safety criteria are met, the autonomous vehicle may process the request and cause the autonomous vehicle to enter the desired state. The autonomous vehicle may send a message to the remote computing system, indicating whether or not the autonomous vehicle has entered the desired state.
1 . An autonomous vehicle comprising:
one or more sensors;
one or more processors; and
non-transitory memory storing instructions that, when executed by the one or more processors, configure the autonomous vehicle to perform operations comprising:
receiving a request from a remote computing system associated with a remote operator to transition between a first state and a second state, the first state associated with at least a portion of autonomous functionality associated with the autonomous vehicle being active, and the second state associated with the portion of the autonomous functionality being inactive, wherein the request includes guidance data comprising first data indicating controls that assist the autonomous vehicle in performing a safe stop prior to transitioning from the first state to the second state and second data indicating a location in an environment to stop;
determining whether the request is valid;
determining whether the autonomous vehicle meets a set of safety criteria;
upon determining that the request is valid and the set of safety criteria is met, causing the autonomous vehicle to transition between the first state and the second state;
sending a first message to the remote computing system indicating whether the autonomous vehicle has transitioned between the first state to the second state; and
causing the autonomous vehicle to operate in accordance with the second state.
2 . The autonomous vehicle as recited in claim 1 , wherein determining whether the request is valid comprises determining whether the guidance data included in the request is corrupted by running a cyclic redundancy check on the guidance data included in the request.
3 . The autonomous vehicle as recited in claim 1 , the operations further comprising:
determining that the autonomous vehicle has a fault that affects autonomy, wherein determining that the autonomous vehicle has the fault comprises determining one or more of:
that a planning component of the autonomous vehicle is not functioning;
that an electronic drive of the autonomous vehicle is not available; or
a braking system of the autonomous vehicle is unfunctional.
4 . The autonomous vehicle as recited in claim 1 , wherein the set of safety criteria comprises determining whether the autonomous vehicle is stationary, the operations further comprise:
determining that the autonomous vehicle is moving; and
causing the autonomous vehicle to perform the safe stop upon determining that the autonomous vehicle is moving.
5 . The autonomous vehicle as recited in claim 1 , wherein the second state comprises a drive inactive state.
6 . The autonomous vehicle as recited in claim 1 , wherein determining whether the request is valid comprises determining that the request is received from a teleoperator that is authorized to transmit instructions to the autonomous vehicle, wherein only one teleoperator is authorized to transmit the instructions to the autonomous vehicle at a time.
7 . A method comprising:
receiving a request from a remote computing system for a vehicle to transition between a first state and a second state;
determining that the request is valid;
determining that a set of safety criteria are not met in part by determining that the vehicle has a fault associated with a component that is associated with an autonomous function;
sending a first message to the remote computing system indicating that the vehicle has the fault associated with the component that affects autonomy;
receiving, from the remote computing system, instructions configured to resolve the fault;
causing the vehicle to perform the instructions configured to resolve the fault;
sending a second message to the remote computing system indicating the vehicle resolved the fault;
determining, based in part on the vehicle resolving the fault, that the set of safety criteria associated with the vehicle are met;
upon determining that the set of safety criteria are met, causing the vehicle to transition between the first state and the second state; and
sending a third message to the remote computing system indicating that the vehicle transitioned between the first state and the second state.
8 . The method as recited in claim 7 , wherein determining whether the request is valid comprises determining whether data included in the request is corrupted by running a cyclic redundancy check on the data included in the request.
9 . The method as recited in claim 7 , wherein the first message further comprises data indicating one or more of:
status information associated with the component of the vehicle, or
the fault associated with the vehicle.
10 . The method as recited in claim 7 , wherein the set of safety criteria comprises determining whether the vehicle is stopped, the method further comprising:
determining the vehicle is in motion; and
causing the vehicle to perform a safe stop upon determining that the vehicle is in motion.
11 . The method as recited in claim 7 , wherein the request includes a guidance message including information for the vehicle to move to a location prior to transitioning between the first state and the second state.
12 . The method as recited in claim 7 , wherein the request includes a control to perform prior to transitioning between the first state and the second state.
13 . The method as recited in claim 7 , wherein the third message indicates that the vehicle has re-engaged autonomy, the method further comprising:
receiving a release request from the remote computing system; and
upon receiving the release request, causing, based at least in part on the release request, the vehicle to execute a mission.
14 . The method of claim 7 , wherein the fault associated with the component is at least one of a sensor malfunction or unreliable data.
15 . The method of claim 7 , further comprising:
prior to receiving the request from the remote computing system for the vehicle to transition between the first state and the second state, determining that the vehicle has the fault associated with the component that affects autonomy,
wherein the first state is associated with at least a portion of autonomous functionality associated with the vehicle being inactive and the second state is associated with the portion of the autonomous functionality being active.
16 . A non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause one or more computing devices to perform operations comprising:
receiving a request from a remote computing system for a vehicle to transition between a first state and a second state, wherein the request includes guidance data comprising first data indicating controls that assist the vehicle in performing a safe stop prior to transitioning from the first state to the second state and second data indicating a location in an environment to stop;
determining whether the request is valid;
determining whether a set of safety criteria associated with the vehicle are met;
upon determining that the request is valid and the set of safety criteria are met, causing the vehicle to transition between the first state and the second state; and
sending a message to the remote computing system indicating whether the vehicle transitioned between the first state and the second state.
17 . The non-transitory computer-readable media as recited in claim 16 , wherein determining whether the request is valid comprises determining whether the guidance data included in the request is corrupted by running a cyclic redundancy check on the guidance data included in the request.
18 . The non-transitory computer-readable media as recited in claim 16 , wherein the message further comprises one or more of:
status information associated with a component of the vehicle,
a fault associated with the vehicle,
the validity, or
whether the set of safety criteria are met.
19 . The non-transitory computer-readable media as recited in claim 16 , the operations further comprise:
causing the vehicle to perform the safe stop upon determining that the vehicle is not stationary.
20 . The non-transitory computer-readable media as recited in claim 16 , wherein the set of safety criteria comprises determining whether the vehicle is stopped, the operations further comprising:
determining that the vehicle is in motion; and
causing the vehicle to perform the safe stop upon determining that the vehicle is in motion.