Systems and methods for an autonomous mobile robot haptic feedback
An omnidirectional mechanical drive unit in a robot may be controlled by a processor. An input message characterizing a physical force exerted on a force sensor in a first direction may be received. A physical force input vector quantifying the physical force in two or more dimensions may be determined based on the input message. Upon determining that a triggering condition for navigational feedback is satisfied, a haptic force input vector for provide haptic navigational feedback via the omnidirectional mechanical drive unit may be determined. A force output vector aggregating the physical force input vector and the haptic force input vector may be determined. The force output vector may quantify a force to apply to move the robot in a second direction. An indication of the force output vector may be transmitted to the omnidirectional mechanical drive unit. The robot may be moved based on the force output vector.
1 . A method for controlling a robot including an omnidirectional mechanical drive unit, the method comprising:
receiving from a force sensor an input message characterizing a physical force exerted on the force sensor in a first direction;
determining via a processor a physical force input vector based on the input message and quantifying the physical force in two or more dimensions;
upon determining that a triggering condition for navigational feedback is satisfied, determining a haptic force input vector to provide haptic navigational feedback via the omnidirectional mechanical drive unit;
determining via the processor a force output vector aggregating the physical force input vector and the haptic force input vector, the force output vector quantifying a force to apply to move the robot in a second direction;
transmitting an indication of the force output vector to the omnidirectional mechanical drive unit via a communication interface; and
moving the robot within a physical environment via the omnidirectional mechanical drive unit in the second direction based on the force output vector.
2 . The method recited in claim 1 , wherein the triggering condition includes proximity to a virtual rail, and wherein the haptic force input vector causes the robot to align with the virtual rail.
3 . The method recited in claim 1 , wherein the triggering condition includes proximity to a virtual rail, and wherein the haptic force input vector causes the robot to suddenly break free from the virtual rail.
4 . The method recited in claim 1 , the method further comprising determining a plurality of haptic force input vectors including the haptic force input vector, and wherein the plurality of haptic force input vectors collectively generate vibration via the omnidirectional mechanical drive unit.
5 . The method recited in claim 4 , wherein the vibration occurs in a direction parallel or orthogonal to the physical force input vector.
6 . The method recited in claim 1 , wherein the triggering condition includes proximity to a virtual corridor wall associated with a virtual corridor, and wherein the haptic force input vector is directed away from the virtual corridor wall.
7 . The method recited in claim 1 , the method further comprising:
projecting light from the robot onto a surface to indicate a virtual navigational affordance associated with the triggering condition.
8 . The method recited in claim 1 , the method further comprising:
detecting a virtual navigational affordance associated with the triggering condition based on sensor data determined by scanning the physical environment.
9 . The method recited in claim 8 , wherein the physical environment is a warehouse, and wherein detecting the virtual navigational affordance involves identifying one or more insignia located on a floor of the warehouse.
10 . The method recited in claim 1 , wherein the triggering condition is associated with a task included in a workflow being performed by the robot based on an instruction received from a fleet controller.
11 . The method recited in claim 1 , wherein the force output vector is determined based at least in part on a friction force input vector characterizing a virtual frictional force exerted in a third dimension opposing the first direction.
12 . The method recited in claim 1 , wherein the force output vector is determined based at least in part on a functional force input vector characterizing a virtual functional force to be exerted on the robot in a third direction based on one or more instructions.
13 . The method recited in claim 1 , the force output vector is determined based at least in part on an obstacle avoidance force input vector exerted in a third direction opposing an obstacle located in the physical environment, the obstacle being detected based on sensor data received from one or more sensors located at the robot.
14 . The method recited in claim 1 , wherein the omnidirectional mechanical drive unit is backdrivable.
15 . The method recited in claim 1 , wherein determining the force output vector includes multiplying the physical force input vector by a force multiplier.
16 . A robot comprising:
a force sensor configured to receive an input message characterizing a physical force exerted on the force sensor in a first direction;
a processor configured to:
determine a physical force input vector based on the input message and quantifying the physical force in two or more dimensions,
upon determining that a triggering condition for navigational feedback is satisfied, determine a haptic force input vector to provide haptic navigational feedback via an omnidirectional mechanical drive unit, and
determine a force output vector aggregating the physical force input vector and the haptic force input vector, the force output vector quantifying a force to apply to move the robot in a second direction; and
an omnidirectional mechanical drive unit configured to move the robot within a physical environment via the omnidirectional mechanical drive unit in the second direction based on the force output vector.
17 . The robot recited in claim 16 , wherein the triggering condition includes proximity to a virtual rail, and wherein the haptic force input vector causes the robot to align with or break free from the virtual rail.
18 . The robot recited in claim 16 , wherein the triggering condition includes proximity to a virtual corridor wall associated with a virtual corridor, and wherein the haptic force input vector is directed away from the virtual corridor wall.
19 . The robot recited in claim 16 , wherein the triggering condition is associated with a task included in a workflow being performed by the robot based on an instruction received from a fleet controller.
20 . One or more non-transitory computer readable media having instructions stored thereon for performing a method for controlling a robot including an omnidirectional mechanical drive unit, the method comprising:
receiving from a force sensor an input message characterizing a physical force exerted on the force sensor in a first direction;
determining via a processor a physical force input vector based on the input message and quantifying the physical force in two or more dimensions;
upon determining that a triggering condition for navigational feedback is satisfied, determining a haptic force input vector to provide haptic navigational feedback via the omnidirectional mechanical drive unit;
determining via the processor a force output vector aggregating the physical force input vector and the haptic force input vector, the force output vector quantifying a force to apply to move the robot in a second direction;
transmitting an indication of the force output vector to the omnidirectional mechanical drive unit via a communication interface; and
moving the robot within a physical environment via the omnidirectional mechanical drive unit in the second direction based on the force output vector.