System to characterize collision of an autonomous mobile device
An autonomous mobile device (AMD) moves within in a physical space. The AMD may encounter features in the physical space, such as flooring transitions, or obstacles that may impede movement. Sensors such as an ultrasonic sensor, optical time of flight sensors, inertial measurement unit (IMU), wheel speed sensors, and motor torque sensors acquire sensor data. Based on the sensor data, a location of an obstacle, and characterize whether that obstacle is traversable or non-traversable, is determined. If traversable, the AMD may continue moving past the obstacle. If non-traversable, the location of the obstacle may be added to a map used for route planning. Based on the location of the non-traversable obstacle, the AMD may move to a recovery location away from the obstacle, and resume moving.
1 . An autonomous mobile device (AMD) comprising:
one or motors;
one or more wheels;
one or more processors; and
one or more non-transitory computer readable media storing processor executable instructions which, when executed using the one or more processors of the AMD, cause the AMD to perform operations comprising:
determining, based on wheel data for the one or more wheels, a first measured linear velocity and a first measured angular velocity for the AMD,
determining, based on torque data for the one or more wheels, a first predicted linear velocity and a first predicted angular velocity for the AMD,
determining, based on the first predicted linear velocity and the first predicted angular velocity and the first measured linear velocity and the first measured angular velocity, that a collision has occurred,
based on the determining that the collision has occurred:
predicting, based on the first predicted linear velocity and the first predicted angular velocity and the first measured linear velocity and the first measured angular velocity, whether the collision is traversable, and
based on the predicting whether the collision is traversable, causing the one or more motors to effect movement of the AMD.
2 . The AMD of claim 1 , wherein the AMD comprises one or more accelerometers, a gyrometer, a camera, a time of flight sensor, and a display.
3 . The AMD of claim 1 , wherein the wheel data comprises wheel encoder data.
4 . An autonomous mobile device (AMD) comprising:
one or more motors;
one or more wheels;
one or more processors; and
one or more non-transitory computer readable media storing processor executable instructions which, when executed using the one or more processors of the AMD, cause the AMD to perform operations comprising:
determining, based on wheel data for the one or more wheels, a first measured velocity for the AMD,
determining, based on torque data for the one or more wheels, a first predicted velocity for the AMD,
determining, based on the first predicted velocity and the first measured velocity, that a collision has occurred,
based on the determining that the collision has occurred,
predicting, based on the first predicted velocity and the first measured velocity, whether the collision is traversable, and
based on the predicting whether the collision is traversable, causing the one or more motors to effect movement of the AMD.
5 . The AMD of claim 4 , wherein the AMD comprises one or more accelerometers, a gyrometer, a camera, a time of flight sensor, and a display.
6 . The AMD of claim 4 , wherein the first predicted velocity is a predicted linear velocity of the AMD, and wherein the first measured velocity is a measured linear velocity of the AMD.
7 . The AMD of claim 4 , wherein the first predicted velocity is a predicted angular velocity of the AMD, and wherein the first measured velocity is a measured angular velocity of the AMD.
8 . The AMD of claim 4 , wherein the wheel data comprises wheel encoder data.
9 . The AMD of claim 4 , wherein the one or more non-transitory computer readable media store processor executable instructions which, when executed using the one or more processors of the AMD, cause the AMD to perform operations comprising:
determining wheel encoder data, and
determining the first measured velocity based on the wheel encoder data.
10 . The AMD of claim 4 , wherein the one or more non-transitory computer readable media store processor executable instructions which, when executed using the one or more processors of the AMD, cause the AMD to perform operations comprising:
determining a first predicted acceleration based on:
the torque data for the one or more wheels,
the first measured velocity, and
a zeroth residual value previously determined based on zeroth torque data and a zeroth measured velocity measured prior to measurement of the first measured velocity;
wherein the first predicted velocity is determined based on the first predicted acceleration and the zeroth measured velocity.
11 . The AMD of claim 10 , wherein the one or more non-transitory computer readable media store processor executable instructions which, when executed using the one or more processors of the AMD, cause the AMD to perform operations comprising:
determining, based on the first measured velocity and the first predicted velocity, a first residual value;
wherein the determining that the collision has occurred is based on the first residual value.
12 . The AMD of claim 10 , wherein the one or more non-transitory computer readable media store processor executable instructions which, when executed using the one or more processors of the AMD, cause the AMD to perform operations comprising:
determining, based on the first measured velocity and the first predicted velocity, a first residual value; and
wherein the determining that the collision has occurred is based on comparing the first residual value to a first threshold value.
13 . The AMD of claim 10 , wherein the predicting whether the collision is traversable is based on a first residual value.
14 . The AMD of claim 10 , wherein the predicting whether the collision is traversable is based on the zeroth residual value and a first residual value.
15 . The AMD of claim 10 , wherein the predicting whether the collision is traversable is based on comparing to a first threshold an absolute value of a summation of a set of residual values that includes the zeroth residual value and a first residual value.
16 . The AMD of claim 10 , wherein the predicting whether the collision is traversable is based on comparing to a first threshold a summation of absolute values of a set of residual values that includes the zeroth residual value and a first residual value.
17 . The AMD of claim 10 , wherein the predicting whether the collision is traversable is based on:
the zeroth residual value;
a first residual value; and
gyrometer data.
18 . The AMD of claim 10 , wherein the one or more non-transitory computer readable media store processor executable instructions which, when executed using the one or more processors of the AMD, cause the AMD to perform operations comprising:
determining an estimated collision location using a first machine learning model and based on:
first accelerometer data,
the first measured velocity, and
a first residual value.
19 . The AMD of claim 18 , wherein the first machine learning model is a logistic regression model.
20 . An autonomous mobile device (AMD) comprising:
one or more motors;
one or more wheels;
one or more processors; and
one or more non-transitory computer readable media storing processor executable instructions which, when executed using the one or more processors of the AMD, cause the AMD to perform operations comprising:
determining, based on wheel data for the one or more wheels, a first measured velocity for the AMD,
determining, based on torque data for the one or more wheels, a first predicted velocity for the AMD,
determining that a collision has occurred,
based on the determining that the collision has occurred, predicting, based on the first predicted velocity and the first measured velocity, whether the collision is traversable, and
based on the predicting whether the collision is traversable, causing the motors to effect movement of the AMD.