Optical state estimation and simulation environment for unmanned aerial vehicles
First Claim
1. A method for simulating an unmanned aerial vehicle (UAV) in a simulated environment, said method comprising:
- (1) receiving a first simulated view of said simulated environment from a graphical simulator configured to simulate at least one visual sensor positioned on said simulated UAV;
(2) estimating pitch, roll and groundspeed associated with said simulated UAV, based at least in part, on said first simulated view from said simulated visual sensor, using a first processor, wherein said pitch and said roll are based on an angle of said simulated UAV relative to a simulated horizon in said simulated environment, said simulated horizon determined by a Hough transformation of an output of a Sobel edge detection filter applied to said first simulated view, and wherein said groundspeed is based on a block matching algorithm configured to match a region of said first simulated view to a region of a previous simulated view and to estimate motion based on a difference in position of said region of said first simulated view and said region of said previous simulated view, wherein a size of said region is based on a maximum groundspeed, altitude and field of view of said simulated visual sensor;
(3) comparing said estimated pitch, roll and groundspeed, to data generated by a simulated global positioning system (GPS), said comparison to evaluate said simulated visual sensor;
(4) determining at least one of a position and an orientation of said simulated UAV, based at least in part, on said estimated pitch, roll and groundspeed, using said first processor;
(5) simulating said UAV in said simulated environment at said at least one of said position and said orientation, using a second processor;
(6) generating a second simulated view based on at least one of said position and said orientation; and
(7) repeating steps 1 through 5 using said second simulated view.
1 Assignment
0 Petitions
Accused Products
Abstract
The present disclosure relates to a method and system for simulating an unmanned aerial vehicle (UAV) and simulating an environment in which the UAV may be flying. A plurality of visual sensors, e.g., cameras, positioned on the UAV, may be simulated. A UAV simulator is configured to simulate the UAV and a graphical simulator is configured to simulate the environment. The UAV simulator may be configured to: estimate pitch, roll and/or groundspeed based, at least in part, on outputs from the visual sensors, determine a position and/or an orientation of the simulated UAV in the simulated environment based, at least in part, on the estimate(s) and provide the position and/or orientation to the graphical simulator. The graphical simulator may be configured to display the simulated UAV at the position and/or orientation in the simulated environment and/or to display the simulated camera view(s).
54 Citations
16 Claims
-
1. A method for simulating an unmanned aerial vehicle (UAV) in a simulated environment, said method comprising:
-
(1) receiving a first simulated view of said simulated environment from a graphical simulator configured to simulate at least one visual sensor positioned on said simulated UAV; (2) estimating pitch, roll and groundspeed associated with said simulated UAV, based at least in part, on said first simulated view from said simulated visual sensor, using a first processor, wherein said pitch and said roll are based on an angle of said simulated UAV relative to a simulated horizon in said simulated environment, said simulated horizon determined by a Hough transformation of an output of a Sobel edge detection filter applied to said first simulated view, and wherein said groundspeed is based on a block matching algorithm configured to match a region of said first simulated view to a region of a previous simulated view and to estimate motion based on a difference in position of said region of said first simulated view and said region of said previous simulated view, wherein a size of said region is based on a maximum groundspeed, altitude and field of view of said simulated visual sensor; (3) comparing said estimated pitch, roll and groundspeed, to data generated by a simulated global positioning system (GPS), said comparison to evaluate said simulated visual sensor; (4) determining at least one of a position and an orientation of said simulated UAV, based at least in part, on said estimated pitch, roll and groundspeed, using said first processor; (5) simulating said UAV in said simulated environment at said at least one of said position and said orientation, using a second processor; (6) generating a second simulated view based on at least one of said position and said orientation; and (7) repeating steps 1 through 5 using said second simulated view. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a first processor configured to; simulate an unmanned aerial vehicle (UAV), estimate pitch, roll and groundspeed associated with said UAV, based at least in part, on a first simulated view from a graphical simulator configured to simulate at least one visual sensor, wherein said pitch and said roll are based on an angle of said simulated UAV relative to a simulated horizon, said simulated horizon determined by a Hough transformation of an output of a Sobel edge detection filter applied to said first simulated view, and wherein said groundspeed is based on a block matching algorithm configured to match a region of said first simulated view to a region of a previous simulated view and to estimate motion based on a difference in position of said region of said first simulated view and said region of said previous simulated view, wherein a size of said region is based on a maximum groundspeed, altitude and field of view of said simulated visual sensor, compare said estimated pitch, roll and groundspeed, to data generated by a simulated global positioning system (GPS), said comparison to evaluate said simulated visual sensor, and determine at least one of a position and an orientation of said UAV, based at least in part, on said estimated pitch, roll and groundspeed; and a second processor configured to; simulate an environment, simulate said UAV in said environment at said at least one of said position and said orientation; generate a second simulated view based on at least one of said position and said orientation; and provide said second simulated view to said first processor to repeat said estimation of said pitch, roll and groundspeed using said second simulated view. - View Dependent Claims (8, 9, 10)
-
-
11. An article comprising a non-transitory storage medium having stored thereon instructions that when executed by a machine result in the following operations for simulating an unmanned aerial vehicle (UAV) in a simulated environment:
-
(1) receiving a first simulated view of said simulated environment from a graphical simulator configured to simulate at least one visual sensor positioned on said simulated UAV; (2) estimating pitch, roll and groundspeed associated with said simulated UAV, based at least in part, on said first simulated view from said simulated visual sensor, using a first processor, wherein said pitch and said roll are based on an angle of said simulated UAV relative to a simulated horizon in said simulated environment, said simulated horizon determined by a Hough transformation of an output of a Sobel edge detection filter applied to said first simulated view, and wherein said groundspeed is based on a block matching algorithm configured to match a region of said first simulated view to a region of a previous simulated view and to estimate motion based on a difference in position of said region of said first simulated view and said region of said previous simulated view, wherein a size of said region is based on a maximum groundspeed, altitude and field of view of said simulated visual sensor; (3) comparing said estimated pitch, roll and groundspeed, to data generated by a simulated global positioning system (GPS), said comparison to evaluate said simulated visual sensor; (4) determining at least one of a position and an orientation of said simulated UAV, based at least in part, on said estimated pitch, roll and groundspeed, using said first processor; (5) simulating said UAV in said simulated environment at said at least one of said position and said orientation, using a second processor; (6) generating a second simulated view based on at least one of said position and said orientation; and (7) repeating steps 1 through 5 using said second simulated view. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification