IP Library › Granted Patent US 8,874,300
Granted Patent B2
US 8,874,300 · App. 13/212,696 · Granted Oct 28, 2014

Systems and methods for obstacle avoidance

Inventors: James Allard (Newton, MA); Kathleen A. Wienhold (Arlington, MA); William Robert Norris (Rock Hill, SC); Anthony Francis Catalfano (Davenport, IA)
Assignees: Deere & Company; iRobot Corporation
G05D1/0246G05D1/0251G05D1/0274G05D1/0272B60T7/22G05D1/0259B60W30/09G05D1/0278G05D2201/0209G05D2201/0213B62D1/286G05D1/024B60W30/095G05D2201/0216G05D1/028G05D1/027G05D2201/0202G05D1/0061G05D2201/0201Y10S901/01Y10S901/47
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 8,874,300
App. No.
13/212,696
Granted
Oct 28, 2014
Kind
B2
Abstract

Embodiments of the invention provide systems and methods for obstacle avoidance. In some embodiments, a robotically controlled vehicle capable of operating in one or more modes may be provided. Examples of such modes include teleoperation, waypoint navigation, follow, and manual mode. The vehicle may include an obstacle detection and avoidance system capable of being implemented with one or more of the vehicle modes. A control system may be provided to operate and control the vehicle in the one or more modes. The control system may include a robotic control unit and a vehicle control unit.

Claims (45)

1. A method for controlling a robotic vehicle using an obstacle map, the method comprising:

obtaining, by a processor, a first plurality of points, wherein each point represents at least part of an obstacle and a position of the obstacle at a particular time, wherein obtaining the first plurality of points includes three-dimensional, time-stamped obstacle data from a laser scanner;

comparing, by the processor, the three-dimensional, time-stamped obstacle data to pre-set criteria to separate the three-dimensional, time-stamped obstacle data into relevant obstacle data and irrelevant obstacle data, wherein the irrelevant obstacle data is outside the pre-set criteria;

discarding, by the processor, the irrelevant obstacle data;

correlating, by the processor, the relevant obstacle data to a two-dimensional point cloud representing an index of a point array;

filtering, by the processor, the two-dimensional point cloud in removing the relevant obstacle data having a position beyond a pre-set length from the robotic vehicle;

generating, by the processor, a two-dimensional obstacle map based at least in part on the point array; and

controlling, by the processor, the robotic vehicle based on the two-dimensional obstacle map.

2. The method of claim 1 , wherein:

the irrelevant obstacle data comprises three-dimensional, time stamped obstacle data having time stamps older than a pre-set threshold.

3. The method of claim 1 , further comprising:

overwriting data associated with the two-dimensional obstacle map having a time stamp outside of a pre-set threshold with additional obstacle map data.

4. The method of claim 1 , further comprising:

obtaining a second plurality of points, wherein obtaining the second plurality of points includes using the laser scanner to execute a first scan of a scan range to obtain the second plurality of points as two dimensional obstacle data points representing obstacles in the scan range, wherein each point represents at least part of an obstacle and a position of the obstacle at a particular time;

associating a time stamp with each point;

associating scan data with the two-dimensional obstacle data points, the scan data including scan range data representing the scan range, scanner angle data representing the angle of the laser scanner, vehicle velocity data, or a laser scanner synch pulse;

sending the scan data and the obstacle data points to a robotic control unit;

generating a three-dimensional obstacle map based on the time stamps associated with the obstacle data points and the scan data;

mapping the points to a cell, wherein the cell is partitioned into grids;

separating the second plurality of points into old, current, and new points based at least in part on the associated time stamp;

determining a center of at least one of the old points and the current points;

determining a center of the new points;

obtaining a position difference between the center of the new points and the center of at least one of the old points and the current points;

determining a velocity of an obstacle based at least in part on the position difference;

identifying an object for the robotic vehicle to follow;

estimating a robotic vehicle position relative to a previous position and a movement of the object;

estimating a range position of the object;

receiving a position of the object;

determining whether the object is located within the estimated range position;

calculating a trajectory set based in part on the object position, wherein the trajectory set comprises a plurality of trajectories;

assigning a preference value for each of the trajectories; and

using the obstacle velocity, the trajectory set, and the preference values to control the robotic vehicle to follow the object and avoid the obstacle.

5. The method of claim 4 , further comprising:

receiving a scan rate associated with obtaining the second plurality of points;

determining a heading and radius of the object based at least in part on the position difference and scan rate; and

using the heading and radius to control the robotic vehicle.

6. The method of claim 4 , further comprising:

generating a trajectory set comprising a plurality of trajectories, each trajectory comprising commands for robotic vehicle movement;

producing an obstacle report having obstacle characteristics, the obstacle report comprising a density of objects associated with a robotic vehicle path; and

using the obstacle report to assign a preference to each trajectory.

7. The method of claim 4 , further comprising using the three-dimensional obstacle map in controlling the robotic vehicle.

8. The method of claim 4 , wherein sending the scan data and the obstacle data points to the robotic control unit includes sending the scan data and the obstacle data points to an obstacle map robotic control unit,

wherein associating the time stamp with each point includes the obstacle map robotic control unit time stamping the obstacle data points.

9. The method of claim 8 , further comprising:

providing a supervisory robotic control unit to generate the three-dimensional obstacle map.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2023
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: IROBOT CORPORATION
Reel/Frame 064430/0001 →
SECURITY INTEREST Recorded Nov 3, 2022
From: IROBOT CORPORATION
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 061878/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2014
From: NORRIS, WILLIAM; CATALFANO, ANTHONY F.
To: DEERE & COMPANY
Reel/Frame 033649/0391 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2014
From: ALLARD, JAMES; WIENHOLD, KATHLEEN A.
To: IROBOT CORPORATION
Reel/Frame 033649/0985 →
Continuity (6)
Division 11584097 · Oct 20, 2006
Provisional Application 60729445 · Oct 21, 2005
Provisional Application 60729388 · Oct 21, 2005
Provisional Application 60780389 · Mar 8, 2006
Provisional Application 60838704 · Aug 18, 2006
Related Publication 20120046820A1 · Feb 23, 2012