IP Library Granted Patent US 10,514,693
Granted Patent B2
US 10,514,693 · App. 15/606,557 · Granted Dec 24, 2019

Mobile robot and method of operating thereof

Inventors: Timothy G. Field (Bedford, MA); David F. Weatherwax (Westford, MA); Orin P. F. Hoffman (Somerville, MA); Scott R. Lenser (Waltham, MA)
Assignee: FLIR DETECTION, INC.
G05D1/0044G05D1/0088G05D1/027G05D1/0274G05D1/0278G05D2201/0207
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,514,693
App. No.
15/606,557
Granted
Dec 24, 2019
Kind
B2
Abstract

A method of operating a mobile robot includes driving the robot according to a drive command issued by a remote operator control unit in communication with the robot, determining a driven path from an origin, and after experiencing a loss of communications with the operator control unit, determining an orientation of the robot. The method further includes executing a self-righting maneuver when the robot is oriented upside down. The self-righting maneuver includes rotating an appendage of the robot from a stowed position alongside a main body of the robot downward and away from the main body, raising and supporting the main body on the appendage, and then further rotating the appendage to drive the upright main body past a vertical position, causing the robot to fall over and thereby invert the main body.

Claims (44)

1. A method of operating a mobile robot, the method comprising:

driving the robot according to a drive command issued by a remote operator control unit in communication with the robot;

determining a driven path of the robot from an origin;

after experiencing a loss of communications with the operator control unit, determining a retro-traverse drive command to maneuver the robot along a return path back to a communication location where the robot had established communications with the operator control unit;

driving the robot according to the determined retro-traverse drive command; and

in response to overshooting the communication location, driving the robot to the communication location by traversing the portion of the driven path that progressed past the communication location without re-traversing the entire return path back to the communication location.

2. The method of claim 1 , further comprising at least periodically obtaining global positioning coordinates of a current location of the robot to determine the driven path.

3. The method of claim 1 , wherein the return path back to the communication location coincides at least in part with a portion of the driven path.

4. The method of claim 1 , further comprising storing the determined driven path in memory and continuously removing a portion of the determined driven path from the memory corresponding to the return path back to the communication location, such that, after overshooting the communication location the memory no longer stores the retro-traversed return path, and wherein the method includes, after overshooting the communication location, determining a new path back to the communication location.

5. The method of claim 1 , further comprising ceasing driving the robot according to the determined retro-traverse drive command when the robot is within a threshold distance of the operator control unit.

6. The method of claim 1 , further comprising displaying a drive view on the remote operator control unit in communication with the robot, the drive view having the driven path of the robot from the origin.

7. The method of claim 6 , further comprising obtaining global positioning coordinates of a current location of the robot and displaying a map in the drive view using the global positioning coordinates, the driven path of the robot displayed on the map.

8. The method of claim 7 , further comprising:

receiving robot position and movement data including gyro data;

determining if the robot is at rest, and if at rest, determining a gyro bias;

determining a three-dimensional gravity vector of the robot;

determining an ego-motion estimate of the robot based at least in part on the three-dimensional gravity vector, gyro bias, and gyro data; and

determining a robot global position by combining the ego-motion estimate and the global positioning coordinates of the robot.

9. The method of claim 8 , wherein the robot position and movement data comprises:

gyro data including a robot angular rate and a robot acceleration;

robot odometry; and

global positioning coordinates of the robot.

10. The method of claim 9 , further comprising determining the ego-motion estimate of the robot based at least in part on odometry.

11. The method of claim 8 , further comprising using a Kalman filter to determine the three-dimensional gravity vector of the robot.

12. A method of operating a mobile robot, the method comprising:

driving the robot according to a heading issued by a remote operator control unit in communication with the robot;

upon detecting a deviation between a drive heading of the robot and the issued heading, determining a heading correction; and

driving the robot according to the determined heading correction until the drive heading matches the issued heading.

13. The method of claim 12 , further comprising displaying a drive view on the remote operator control unit, the drive view showing a driven path of the robot from an origin and the heading of the robot.

14. The method of claim 12 , further comprising obtaining global positioning coordinates of a current location of the robot and displaying a map in the drive view using the global positioning coordinates, the driven path of the robot displayed on the map.

15. The method of claim 14 , further comprising:

receiving robot position and movement data including gyro data;

determining if the robot is at rest, and if at rest, determining a gyro bias;

determining a three-dimensional gravity vector of the robot;

determining an ego-motion estimate of the robot based at least in part on the three-dimensional gravity vector, gyro bias, and gyro data; and

determining a robot global position by combining the ego-motion estimate and the global positioning coordinates of the robot.

16. The method of claim 15 , wherein the robot position and movement data comprises:

gyro data including a robot angular rate and a robot acceleration;

robot odometry; and

global positioning coordinates of the robot.

17. The method of claim 16 , further comprising determining the ego-motion estimate of the robot based at least in part on odometry.

18. The method of claim 15 , further comprising using a Kalman filter to determine the three-dimensional gravity vector of the robot.

19. The method of claim 15 , further comprising using a particle filter to determine the robot global position.

20. The method of claim 15 , further comprising at least periodically receiving the robot global position in the remote operator control unit and connecting the sequentially received robot global positions with a displayed line.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2019
From: ENDEAVOR ROBOTICS, INC.
To: FLIR DETECTION, INC.
Reel/Frame 049244/0515 →
CHANGE OF NAME Recorded Apr 7, 2019
From: IROBOT DEFENSE HOLDINGS, INC.
To: ENDEAVOR ROBOTICS, INC.
Reel/Frame 049837/0810 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: FIELD, TIMOTHY G.; WEATHERWAX, DAVID F.; HOFFMAN, ORIN P.F.; LENSER, SCOTT R.
To: IROBOT CORPORATION
Reel/Frame 043680/0013 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: IROBOT CORPORATION
To: IROBOT DEFENSE HOLDINGS, INC.
Reel/Frame 043680/0083 →
Continuity (4)
Division 14830429 · Aug 19, 2015
Division 13241682 · Sep 23, 2011
Provisional Application 61417964 · Nov 30, 2010
Related Publication 20170329326A1 · Nov 16, 2017