Adjustable object avoidance proximity threshold based on presence of propeller guard

文档序号:1382575 发布日期:2020-08-14 浏览:10次 中文

阅读说明:本技术 基于螺旋桨防护装置的存在性的可调整的对象避开接近度门限 (Adjustable object avoidance proximity threshold based on presence of propeller guard ) 是由 M·F·塔维拉 D·W·梅林格三世 于 2018-12-04 设计创作,主要内容包括:各个实施例包括用于基于是否安装了螺旋桨防护装置来调整在碰撞避免系统中实现的接近度门限的方法、设备和空中机器人式运载工具。方法可以包括用于进行以下操作的空中机器人式运载工具:确定是否安装了螺旋桨防护装置;基于关于在空中机器人式运载工具上是否安装了一个/多个螺旋桨防护装置的确定,来设置用于碰撞避免的接近度门限;以及使用用于碰撞避免的接近度门限来控制空中机器人式运载工具的一个或多个电动机。与没有安装螺旋桨防护装置时相比,当安装了螺旋桨防护装置时,可以将接近度门限设置为较小距离。对是否安装了螺旋桨防护装置的确定可以是基于来自被配置为检测或指示螺旋桨防护装置的存在性的一个或多个传感器的传感器数据,和/或是基于从电动机或电动机控制器中确定的转子转速。(Various embodiments include methods, apparatus, and aerial robotic vehicles for adjusting a proximity threshold implemented in a collision avoidance system based on whether a propeller guard is installed. The method may include an aerial robotic vehicle for: determining whether a propeller guard is installed; setting a proximity threshold for collision avoidance based on the determination as to whether the propeller guard/guards are installed on the aerial robotic vehicle; and controlling one or more motors of the aerial robotic vehicle using a proximity threshold for collision avoidance. The proximity threshold may be set to a smaller distance when the propeller guard is installed than when the propeller guard is not installed. The determination of whether propeller guard is installed may be based on sensor data from one or more sensors configured to detect or indicate the presence of propeller guard, and/or based on a rotor speed determined from the motor or motor controller.)

1. A method for operating an aerial robotic vehicle, comprising:

determining, by a processor of the aerial robotic vehicle, whether a propeller guard is mounted on the aerial robotic vehicle;

setting, by the processor, a proximity threshold for collision avoidance based on the determination as to whether the propeller guard is installed on the aerial robotic vehicle; and

controlling, by the processor, one or more motors of the air robotic vehicle using the proximity threshold for collision avoidance.

2. The method of claim 1, wherein setting the proximity threshold for collision avoidance comprises: increasing the proximity threshold from a first value to a second value higher than the first value in response to determining that the propeller guard is not installed.

3. The method of claim 1, wherein setting the proximity threshold for collision avoidance comprises: decreasing the proximity threshold from a second value higher than the first value to the first value in response to determining that the propeller guard is installed.

4. The method of claim 1, wherein setting the proximity threshold for collision avoidance comprises: maintaining the proximity threshold at a currently set value.

5. The method of claim 1, further comprising:

determining whether the propeller guard is damaged in response to determining that the propeller guard is installed, wherein setting the proximity threshold is further based on the determination of whether the propeller guard is damaged.

6. The method of claim 1, further comprising:

determining whether a propeller guard satisfies a predetermined criterion in response to determining that the propeller guard is installed, wherein setting the proximity threshold is further based on the determination of whether the propeller guard satisfies the predetermined criterion.

7. The method of claim 6, wherein the predetermined criteria comprises a minimum size of a propeller guard.

8. The method of claim 6, wherein the predetermined criteria comprises a style of the propeller guard.

9. The method of claim 1, further comprising:

obtaining, by the processor, data from a sensor configured to detect whether the propeller guard is installed on the aerial robotic vehicle; and

analyzing the obtained data to determine whether the propeller guard is installed.

10. The method of claim 9, wherein the sensor is at least one of: a contact sensor, a weight sensor, an image sensor, or a radio frequency identification tag reader.

11. The method of claim 9, wherein analyzing the obtained data comprises: comparing the obtained data with previously collected data indicating that the propeller guard is installed, wherein the propeller guard is determined to be installed in response to the obtained data matching the previously collected data indicating that the propeller guard is installed, and the propeller guard is determined not to be installed in response to the obtained data not matching the previously collected data indicating that the propeller guard is installed.

12. The method of claim 9, wherein analyzing the obtained data comprises: comparing the obtained data to a predetermined parameter indicative of the installation of the propeller guard, wherein the installation of the propeller guard is determined in response to the obtained data matching the predetermined parameter indicative of the installation of the propeller guard, and the non-installation of the propeller guard is determined in response to the obtained data not matching the predetermined parameter indicative of the installation of the propeller guard.

13. The method of claim 1, further comprising:

obtaining, by the processor, data from the one or more motors indicative of a rotational speed of the respective one or more motors; and

analyzing the obtained data to determine whether the propeller guard is installed.

14. The method of claim 13, wherein analyzing the obtained data comprises: determining how many propeller guards are installed on the aerial robotic vehicle.

15. The method of claim 1, further comprising:

receiving, by the processor, an input override indicating whether the propeller guard is installed or not installed, wherein determining whether the propeller guard is installed or overridden based on the received input.

16. An aerial robotic vehicle comprising:

a sensor configured to detect whether a propeller guard is installed; and

a processor coupled to the sensor and configured with processor-executable instructions to:

determining whether the propeller guard is installed on the aerial robotic vehicle based on the obtained data;

setting a proximity threshold for collision avoidance based on the determination as to whether the propeller guard is installed on the aerial robotic vehicle; and

controlling one or more motors of the aerial robotic vehicle using the proximity threshold for collision avoidance.

17. The air robotic vehicle of claim 16, wherein the processor is further configured with processor-executable instructions to set the proximity threshold for collision avoidance by one of:

increasing the proximity threshold from a first value to a second value higher than the first value in response to determining that the propeller guard is not installed; or

Decreasing the proximity threshold from a second value higher than the first value to the first value in response to determining that the propeller guard is installed.

18. The air robotic vehicle of claim 16, wherein the processor is further configured with processor-executable instructions to set the proximity threshold for collision avoidance by: maintaining the proximity threshold at a currently set value.

19. The air robotic vehicle of claim 16, wherein the processor is further configured with processor-executable instructions to:

determining whether the propeller guard is damaged in response to determining that the propeller guard is installed; and

the proximity threshold is also set based on the determination of whether the propeller guard is damaged.

20. The air robotic vehicle of claim 16, wherein the processor is further configured with processor-executable instructions to:

determining whether a propeller guard meets a predetermined criterion in response to determining that the propeller guard is installed; and

the proximity threshold is also set based on the determination of whether the propeller guard meets the predetermined criteria.

21. The air robotic vehicle of claim 20, wherein the predetermined criteria includes a minimum size of propeller guard.

22. The air robotic vehicle of claim 20, wherein the predetermined criteria includes a style of the propeller guard.

23. The air robotic vehicle of claim 16, wherein the sensor is at least one of: a contact sensor, a weight sensor, an image sensor, or a radio frequency identification tag reader.

24. The air robotic vehicle of claim 16, wherein the processor is further configured with processor-executable instructions to:

analyzing the obtained data by comparing the obtained data with previously collected data indicating that the propeller guard is installed; and

determining that the propeller guard is installed in response to the obtained data matching the previously collected data, and determining that the propeller guard is not installed in response to the obtained data not matching the previously collected data.

25. The air robotic vehicle of claim 16, wherein the processor is further configured with processor-executable instructions to:

analyzing the obtained data by comparing the obtained data with predetermined parameters indicating that the propeller guard is installed; and

determining that the propeller guard is installed in response to the obtained data matching the predetermined parameter, and determining that the propeller guard is not installed in response to the obtained data not matching the predetermined parameter.

26. The air robotic vehicle of claim 16, wherein the processor is further configured with processor-executable instructions to:

obtaining data from the one or more motors indicative of a rotational speed of the respective one or more motors; and

analyzing the obtained data to determine whether the propeller guard is installed.

27. The air robotic vehicle of claim 26, wherein the processor is further configured with processor-executable instructions to analyze the obtained data to determine how many propeller guards are installed on the air robotic vehicle.

28. The air robotic vehicle of claim 16, wherein the processor is further configured with processor-executable instructions to:

receiving an input override indicating whether the propeller guard is installed or not installed; and

determining whether the propeller guard is installed based also on the received input override.

29. A processing device configured for use in an air robotic vehicle, the processing device configured to:

determining whether a propeller guard is installed on the aerial robotic vehicle;

setting a proximity threshold for collision avoidance based on the determination as to whether the propeller guard is installed on the aerial robotic vehicle; and

controlling one or more motors of the aerial robotic vehicle using the proximity threshold for collision avoidance.

30. An aerial robotic vehicle comprising:

means for determining whether a propeller guard is installed on the aerial robotic vehicle;

means for setting a proximity threshold for collision avoidance based on the determination as to whether the propeller guard is installed on the aerial robotic vehicle; and

means for controlling one or more motors of the aerial robotic vehicle using the proximity threshold for collision avoidance.

Background

Rotor-based air robotic vehicles (also referred to as "unmanned aerial vehicles," "UAVs," or "drones") are commonly used for various applications, such as surveillance, photography, and/or cargo delivery. Since propeller blades may pose a hazard to nearby creatures and/or objects, propeller blades may be at least partially covered with propeller guards to provide additional safety. In addition, many drones use obstacle avoidance systems that work in conjunction with vehicle control systems to avoid impacting people, property, and objects. For example, once a drone detects a nearby object, an obstacle avoidance system executing within the drone controller may prevent the drone from approaching the object closer than some minimum distance (which is referred to herein as a "proximity threshold"). The proximity threshold is typically a fixed distance, e.g., several feet between the drone and the object.

Disclosure of Invention

Various embodiments include apparatus, systems, and methods for operating an air robotic vehicle that adjusts the proximity to which the robotic vehicle will approach an object based on whether a propeller guard is installed. In various embodiments, a method implemented by a processor of an aerial robotic vehicle may include: determining whether a propeller guard is installed on the aerial robotic vehicle; setting a proximity threshold for collision avoidance based on the determination as to whether the propeller guard is installed on the aerial robotic vehicle; and controlling one or more motors of the aerial robotic vehicle using the proximity threshold for collision avoidance. In some embodiments, setting the proximity threshold for collision avoidance may include: increasing the proximity threshold from a first value to a second value higher than the first value in response to determining that the propeller guard is not installed. In some embodiments, setting the proximity threshold for collision avoidance may include: decreasing the proximity threshold from a second value higher than the first value to the first value in response to determining that the propeller guard is installed. In some embodiments, setting the proximity threshold for collision avoidance may include: maintaining the proximity threshold at a currently set value.

Some embodiments may further comprise: determining whether the propeller guard is damaged in response to determining that the propeller guard is installed, wherein setting the proximity threshold is further based on the determination of whether the propeller guard is damaged.

Some embodiments may further comprise: determining whether a propeller guard satisfies a predetermined criterion in response to determining that the propeller guard is installed, wherein setting the proximity threshold is further based on the determination of whether the propeller guard satisfies the predetermined criterion. In such embodiments, the predetermined criteria may include a minimum size of the propeller guard and/or a style of the propeller guard.

Some embodiments may further comprise: obtaining data from a sensor configured to detect whether a propeller guard is installed on the aerial robotic vehicle; analyzing the obtained data to determine whether the propeller guard is installed. In such embodiments, the sensor may be at least one of a contact sensor, a weight sensor, an image sensor, or a radio frequency identification tag reader. In such embodiments, analyzing the obtained data comprises: comparing the obtained data with previously collected data indicating that the propeller guard is installed, wherein the propeller guard is determined to be installed in response to the obtained data matching the previously collected data indicating that the propeller guard is installed, and the propeller guard is determined not to be installed in response to the obtained data not matching the previously collected data indicating that the propeller guard is installed. In some embodiments, analyzing the obtained data may include: comparing the obtained data to a predetermined parameter indicative of the installation of the propeller guard, wherein the installation of the propeller guard is determined in response to the obtained data matching the predetermined parameter indicative of the installation of the propeller guard, and the non-installation of the propeller guard is determined in response to the obtained data not matching the predetermined parameter indicative of the installation of the propeller guard.

Some embodiments may further comprise: obtaining data from the one or more motors indicative of the rotational speed of the respective one or more motors, analyzing the obtained data to determine whether the propeller guard is installed. In such embodiments, analyzing the obtained data may include: determining how many propeller guards are installed on the aerial robotic vehicle.

Some embodiments may further comprise: receiving an input override indicating whether the propeller guard is installed or not installed, wherein determining whether the propeller guard is installed or overridden based on the received input.

Further embodiments include an aerial robotic vehicle having a sensor for detecting the presence of one or more propeller guards and a processor configured with processor-executable instructions to perform operations of any of the methods outlined above. Further embodiments include a processing device for use in an air robotic vehicle configured to perform operations of any of the methods outlined above. Further embodiments include a non-transitory processor-readable medium having stored thereon processor-executable instructions configured to cause a processor of an air robotic vehicle to perform operations of any of the methods described above. Additional embodiments include an aerial robotic vehicle.

Drawings

The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate exemplary embodiments of the invention and, together with the general description given above and the detailed description given below, serve to explain the features of the invention.

Fig. 1A is a plan view of an environment in which an air robotic vehicle without propeller guards is traveling along a circuitous path around various obstacles, in accordance with various embodiments.

Fig. 1B is a plan view of the environment of fig. 1A in which an aerial robotic vehicle having a propeller guard mounted thereon is traveling along a more direct path through various obstacles, in accordance with various embodiments.

Fig. 1C is a plan view of the environment of fig. 1A-1B in which an air robotic vehicle without propeller guards mounted thereon performs path planning to follow a circuitous path that avoids various obstacles, in accordance with various embodiments.

Fig. 1D is a plan view of the environment of fig. 1A-1C in which an air robotic vehicle with propeller guards mounted thereon performs path planning to follow a more direct path through various obstacles, in accordance with various embodiments.

Fig. 2 is a block diagram illustrating components of an aerial robotic vehicle and a ground station suitable for use in various embodiments.

Fig. 3A-3C are diagrams illustrating some conditions in which a propeller guard may be installed on an aerial robotic vehicle, in accordance with various embodiments.

Fig. 4 is a process flow diagram illustrating a method for operating an aerial robotic vehicle in response to determining whether a propeller guard is installed on the aerial robotic vehicle, in accordance with some embodiments.

Fig. 5 is a process flow diagram illustrating a method for operating an aerial robotic vehicle in response to determining whether a detected propeller guard meets a criterion, in accordance with some embodiments.

Fig. 6 is a process flow diagram illustrating a method for operating an air robotic vehicle in response to determining whether a propeller guard is installed on the air robotic vehicle and whether the detected propeller guard meets a criterion, in accordance with some embodiments.

FIG. 7 is a process flow diagram illustrating a method for analyzing data obtained from an image sensor, in accordance with some embodiments.

FIG. 8 is a component block diagram of a remote computing device suitable for use in some embodiments.

Detailed Description

Various embodiments will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References to specific examples and implementations are for illustrative purposes, and are not intended to limit the scope of the claims.

Various embodiments include methods for operating an air robotic vehicle and air robotic vehicle handling equipment implementing such methods. In particular, various embodiments determine whether one or more propeller guards are installed on an air robotic vehicle based on data obtained by one or more sensors. The processing device sets a proximity threshold for collision avoidance based on the determination as to whether the propeller guard is installed on the aerial robotic vehicle. In addition, the processing device controls the motors of the aerial robotic vehicle using a proximity threshold set for collision avoidance.

Conventional obstacle avoidance systems use proximity thresholds that are typically fixed distances. However, a fixed distance may not be suitable in all cases. For example, when the object detected by the onboard sensor is a child who may reach or an animal who may accidentally rush forward, a different proximity threshold may be appropriate when the propeller guard is installed than when the propeller guard is not installed. However, using a fixed proximity threshold that is too large may prevent the aerial robotic vehicle from operating where or how. For example, in an environment with many objects, a large fixed proximity threshold may mean that the air robotic vehicle can only fly in a small area or will not be able to reach other areas because the two objects are too close to each other. Furthermore, when propeller guards are installed, people in the vicinity of the air robotic vehicle are less at risk of recognizing that, in such cases, a large fixed proximity threshold may over-limit the movement of the air robotic vehicle. By setting the proximity threshold based on whether propeller guards are installed, various embodiments may increase safety (including safety perceived by people in the vicinity of the aerial robotic vehicle) and maneuverability (i.e., freedom of movement).

The term "air robotic vehicle" is used herein to refer to various types of vehicles that are capable of autonomous flight and that include at least a processing unit for controlling the flight of the vehicle in accordance with stored instructions (e.g., data indicative of a predetermined flight plan, etc.). The air robotic vehicle comprises an unmanned aerial vehicle capable of flying under: without any human interaction, with some human interaction (e.g., providing flight instructions to be executed by the processing unit), partially under human control, and fully under human control (e.g., during take-off and landing). The air robotic vehicle may be of various design types capable of performing vertical launch, such as a helicopter-type drone configured with any number of rotors (e.g., a four-rotor air robotic vehicle with four rotors). Albeit in the skyThe robotic vehicle may be selectively controlled by an operator, but the air robotic vehicle is capable of independently executing at least a series of instructions, commands, and/or routines for testing flight stability, as described herein. The air robotic vehicle includes a control system including a processor for executing processor-executable instructions to control various functions of the air robotic vehicle, such as communications (e.g., viaWireless signaling for Long Term Evolution (LTE), etc.), data collection (e.g., polling sensors, etc.), propulsion/navigation, power management, and stability management (e.g., calculating a center of gravity, etc.). The aerial robotic vehicles may or may not be configured to carry payload during the mission, e.g., surveillance type aerial robotic vehicles are only configured to travel to various locations in order to capture camera images, or delivery type aerial robotic vehicles are configured to deliver packages to destination addresses and return to origin addresses.

The term "propeller guard" is used herein to refer to a frame, cage or other protective structure that surrounds or at least partially surrounds a propeller. The propeller guard typically allows free rotational movement of the propeller and protects the propeller from contact with other objects.

The term "proximity threshold" is used herein to refer to the minimum distance that an object avoidance system will allow between an obstacle and an aerial robotic vehicle before controlling the aerial robotic vehicle to move or change direction of travel to move away from the obstacle. The proximity threshold is set to a value greater than zero to ensure that a certain offset is maintained between the aerial robotic vehicle and nearby objects.

As used herein, the term "computing device" refers to an electronic device that is at least equipped with a processor. Examples of computing devices include processors within security devices, robotic vehicles, and/or task management computers onboard robotic vehicles, and computersA remote computing device in communication with the robotic vehicle configured to perform operations of the various embodiments. The computing device may include a wireless communication device (e.g., a cellular phone, a wearable device, a smart phone, a web pad, a tablet computer, an internet-enabled cellular phone, a web-enabled devicePersonal Data Assistants (PDAs), laptop computers, etc.), personal computers, and servers. In various embodiments, a computing device may be configured with memory and/or storage. Additionally, the computing devices referred to in the various example embodiments may be coupled to or include wireless communication capabilities to implement the various embodiments, e.g., a transceiver and an antenna configured to establish a Local Area Network (LAN) connection (e.g.,a transceiver).

In some embodiments, setting a proximity threshold for collision avoidance may include: the method further includes increasing the proximity threshold from a first value to a second value higher than the first value in response to determining that the propeller guard is installed. In some embodiments, setting a proximity threshold for collision avoidance may include: the proximity threshold is decreased from the second value to the first value in response to determining that the propeller guard is installed. In some embodiments, setting a proximity threshold for collision avoidance may include: the proximity threshold is maintained at the currently set value.

In various embodiments, the processor of the air robotic vehicle may be configured to obtain data from one or more sensors configured to detect whether one or more propeller guards are installed on the air robotic vehicle. For example, the one or more sensors may include a contact sensor, a weight sensor, an image sensor (e.g., a camera), or a radio frequency identification reader. Alternatively or additionally, the processor may be configured to obtain data indicative of rotational speed (e.g., Revolutions Per Minute (RPM)) from the motor or an Electronic Speed Controller (ESC) driving the motor, which may be analyzed to determine whether a propeller guard is installed. Since the propeller guards will add weight to the air robotic vehicle, analyzing the propeller RPM data may involve comparing the current RPM to a data table that stores the RPM range required to hover with and/or without one or more propeller guards installed, and using the comparison to determine how many propeller guards are installed on the air robotic vehicle. Additionally, the aerial robotic vehicle may be configured to receive an input override from an operator or a control system indicating that a propeller guard is installed or not installed. Thus, it is determined whether the propeller guard is installed or overridden based on the received input.

In some embodiments, in response to the processor determining that the propeller guard is installed, the processor may determine whether the propeller guard is damaged. In some embodiments, in response to the processor determining that the propeller guard is installed, the processor may determine whether the propeller guard meets a predetermined criterion. For example, the predetermined criteria may include a particular style and/or minimum size of the propeller guard.

In some embodiments, the processor may analyze the data obtained from the sensors, for example, by comparing the obtained data to previously collected data indicating that the propeller guard is installed. In this manner, the processor may determine that the propeller guard is installed in response to the obtained data matching previously collected data indicating that the propeller guard is installed, and determine that the propeller guard is not installed in response to the obtained data not matching the previously collected data indicating that the propeller guard is installed. Additionally, the processor may analyze the data obtained from the sensors by comparing the obtained data to predetermined parameters indicative of the installation of the propeller guard. Thus, in response to the obtained data matching the predetermined parameter indicating that the propeller guard is installed, the processor may determine that the propeller guard is installed, and in response to the obtained data not matching the predetermined parameter indicating that the propeller guard is installed, the processor may determine that the propeller guard is not installed.

Fig. 1A-1D show plan views of an environment 10 in which an air robotic vehicle may travel to avoid various obstacles therein in environment 10. Specifically, environment 10 includes various trees 31, 32, 33, 34 and a person 40 walking a dog 50.

Operation of an air robotic vehicle 100 without propeller guard within an environment 10 is illustrated in fig. 1A, in accordance with various embodiments. Referring to fig. 1A, a processor of the air robotic vehicle may determine whether a propeller guard is installed on the air robotic vehicle based on the obtained data. This determination by the processor may be part of the pre-flight settings and/or as part of the dynamic in-flight analysis. The processor may set a proximity threshold for collision avoidance based on the determination as to whether the propeller guard is installed. Since the air robotic vehicle 100 is not equipped with propeller guards, the processor may set the proximity threshold to the first distance D1, D1 being a higher value than that used when propeller guards were installed. For example, without propeller guard, the first distance D1 associated with a higher proximity threshold may be twenty feet (20'). Conversely, where the propeller guard is installed, the processor may set the proximity threshold to a second distance that is a lower value, such as ten feet (10').

During flight, the processor of the air robotic vehicle 100 may apply the currently set proximity threshold to maintain at least the first distance D1 from any obstacles. Starting from position a, as the aerial robotic vehicle 100 approaches an object (e.g., trees 31-34, person 40, or dog 50), the processor may process data received from onboard sensors (e.g., cameras, radar, lidar, etc.) to detect objects (and specifically obstacles on the first path 60) around the aerial robotic vehicle 100. With the proximity threshold set to the first distance D1, the air robotic vehicle 100 is able to maneuver or follow user control commands to fly between detected objects, such as along an initial portion of the first path 60 between trees 32, 33, and 34. The first distance D1 of the proximity threshold establishes a first virtual path boundary 61 of the object that will not be detected by the onboard sensor. However, once the air robotic vehicle 100 reaches position B near the person 40 and dog 50, the proximity threshold will prohibit further progress in the direction of those objects. At position B, the two trees 32, 34 are also prevented from lateral movement. Thus, the aerial robotic vehicle 100 is forced to return and take a more circuitous route around the obstacle.

Operation of an air robotic vehicle 200 including a propeller guard within environment 10 is illustrated in fig. 1B, according to some embodiments. Referring to fig. 1A-1B, a processor of the air robotic vehicle may determine whether a propeller guard is installed on the air robotic vehicle based on the obtained data. This determination by the processor may be part of the pre-flight settings and/or as part of the dynamic in-flight analysis. The processor may set a proximity threshold for collision avoidance based on the determination as to whether the propeller guard is installed. Since the air robotic vehicle 200 is equipped with propeller guard, the processor may set the proximity threshold to a second distance D2 (e.g., ten feet), D2 being a lower value than the distance used when propeller guard is not installed (i.e., the first distance D1).

During flight, the processor of the air robotic vehicle 200 may apply the current proximity threshold to maintain at least a second distance D2 from any obstacle. Starting from position a, with the proximity threshold set to the second distance D2, the air robotic vehicle 200 can maneuver or follow user control commands to fly between detected objects, such as along an initial portion of the second path 62 between trees 32, 33, and 34. The second distance D2 of the proximity threshold establishes a second virtual path boundary 63 of the object that will not be detected by the onboard sensor. Once the air robotic vehicle 200 reaches a location C near the person 40 and the dog 50, the proximity threshold may allow further progress between the person 40 and one of the trees 32 for continued forward travel. Thus, with propeller guards installed and a lower proximity threshold used, the air robotic vehicle 200 is able to follow a more direct path through various obstacles.

Fig. 1C illustrates a further embodiment, wherein one or more proximity thresholds for individual objects detected by the processor of the air robotic vehicle may be used in conjunction with propeller guard detection when planning a path to avoid approaching any object closer than the appropriate proximity threshold. Referring to fig. 1A-1C, an air robotic vehicle 100 traveling along an initial path 64 will eventually detect objects in its path, such as trees 31-34, people 40, and dogs 50. In some embodiments, the processor of the air robotic vehicle 100 may evaluate the detected objects (e.g., through visual processing and image recognition methods and/or additional object positioning methods) to determine the position, size, or other characteristics of each of the objects 31-34, 40, 50 (e.g., whether the object is stationary or moving).

Additionally, the processor of the air robotic vehicle 100 may determine whether a propeller guard is installed on the air robotic vehicle based on the obtained data in order to set one or more proximity thresholds. In some embodiments, the processor may apply different proximity thresholds to different types of objects; a first proximity threshold for static objects and a second proximity threshold for moving (i.e., dynamic) objects. For example, the processor may use one proximity threshold for stationary objects such as trees 31-34 and a different, larger proximity threshold for moving creatures (person 40 and dog 50). Since the air robotic vehicle 100 is not equipped with propeller guards, the processor may set the following proximity thresholds: which is a higher value than the value used when the propeller guard is installed. In this manner, the processor may set the static object proximity threshold to a first distance D11 and the dynamic object proximity threshold to a second distance D12, both the first distance D11 and the second distance D12 being higher values than those used when the propeller guard is installed.

The processor may then determine a boundary around each of the observed objects 31-34, 40, 50 that corresponds to a particular proximity threshold associated with that object as implemented in the collision avoidance system. Because the various objects have different appropriate proximity thresholds, as described, the processor may take into account all determined proximity thresholds in order to map an avoidance path 65 around all detected objects. To do so efficiently, the processor may generate an internal map that includes the location of each of the detected objects and calculate an exclusion perimeter around each object based on a proximity threshold that is appropriate for that object. Such an internal map may enable the processor to then determine an avoidance path 65 that does not need to be returned on its way and ensure that the air robotic vehicle 100 does not approach any objects closer than their corresponding proximity thresholds.

Operation of an air robotic vehicle 200 including propeller guards mounted thereon and including a processor performing path planning is illustrated in fig. 1D within environment 10, according to some embodiments. Referring to fig. 1A-1D, a processor of an air robotic vehicle 200 may evaluate detected objects and apply an appropriate proximity threshold to each object. For example, since the aerial robotic vehicle 100 is equipped with propeller guards, the processor may set the following proximity thresholds: which is a lower value than that used without the propeller guard installed. In this manner, the processor may set the static object proximity threshold to a third distance D21 and the dynamic object proximity threshold to a fourth distance D22, both the third distance D21 and the fourth distance D22 being lower values than those used when no propeller guard is installed.

The processor may then determine a boundary around each of the observed objects 31-34, 40, 50 that corresponds to a particular proximity threshold associated with that object as implemented in the collision avoidance system. Because the various objects have different appropriate proximity thresholds, as described, the processor may take into account all determined proximity thresholds in order to map the avoidance path 66 between some detected objects. The processor may generate an internal map that enables the processor to then determine the avoidance path 66 and ensure that the air robotic vehicle 200 does not approach any of the objects closer than their corresponding proximity thresholds.

The various embodiments may be implemented within various air robotic vehicles configured to communicate with one or more communication networks, with an example of an air robotic vehicle in the form of an air robotic vehicle 200 suitable for use with the various embodiments shown in fig. 2. Referring to fig. 1A-2, an aerial robotic vehicle 200 operating in mission environment 20 may include a plurality of rotors 120 (e.g., four rotors), each rotor driven by a corresponding motor 125. The body 110 of the air robotic vehicle 200 may support a plurality of rotors 120 and motors 125 and a propeller guard 250.

The air robotic vehicle 200 may include one or more onboard sensors, such as one or more cameras 236, or other sensors, such as contact sensors, weight sensors, or radio frequency identification readers. The air robotic vehicle 200 may include a processing device 210, which may further include one or more attitude sensors, e.g., altimeters, gyroscopes, accelerometers, electronic compasses, satellite positioning system receivers, etc., that may be used by the processor 220 to determine vehicle attitude and position information for controlling flight and navigation.

The cameras 236 may be provided at various locations on the aerial robotic vehicle 200, and different types of cameras may be used. For example, the first set of cameras 236 may face one side of each of the rotors 120 in its plane of rotation, e.g., mounted near a center portion of the air robotic vehicle 200. Additionally or alternatively, the second set of cameras 236 may be mounted below the rotor 120, for example in a location configured to detect whether the propeller guard 250 is mounted.

The object avoidance system executing in the processor 220 may use image data generated by the camera 236. In various embodiments, the image data received from the camera 236 may be processed by the object avoidance system to detect whether a propeller guard is installed. The image data received from the camera 236 may also be processed by the object avoidance system to check for propeller protector damage. In some embodiments, an active sensor (not shown) located remotely from the rotor, but still on the aerial robotic vehicle, may enable the processor to detect the presence of the propeller guard by measuring certain materials embedded in or on the propeller guard.

The air robotic vehicle 200 may include a processing device 210, and the processing device 210 may be coupled to each of the plurality of motors 125 that drive the rotor 120. The processing device 210 may be configured to monitor and control various functions, subsystems, and components of the air robotic vehicle 200. For example, the processing device 210 may be configured to monitor and control various modules, software, instructions, circuitry, hardware, etc., related to propulsion, navigation, power management, sensor management, and/or stability management.

The processing device 210 may house various circuits and devices for controlling the operation of the air robotic vehicle 200. For example, the processing device 210 may include a processor 220, the processor 220 directing control of the air robotic vehicle 200. The processor 220 may include one or more processors configured to execute processor-executable instructions (e.g., applications, routines, scripts, instruction sets, etc.) to control flight, antenna usage, and other operations of the air robotic vehicle 200, including the operations of the various embodiments. In some embodiments, the processing device 210 may include a memory 222, the memory 222 coupled to the processor 220 and configured to store data (e.g., flight plans, obtained sensor data, received messages/inputs, applications, etc.). The processor 220 and memory 222, along with additional elements such as (but not limited to) the following, may be configured as a system on a chip (SoC)215 or included within the SoC 215: a communication interface 224, one or more input units 226, a non-volatile storage memory 230, and a hardware interface 234 configured for interfacing the SoC215 with the hardware and components of the air robotic vehicle 200. The processing device 210 and/or components within the SoC215 may be coupled together by various circuitry (e.g., buses 225, 235 or another similar circuitry).

Processing device 210 may include more than one SoC215, thereby increasing the number of processors 220 and processor cores. The processing device 210 may also include a processor 220 that is not associated with the SoC 215. The single processor 220 may be a multi-core processor. Each processor 220 may each be configured for the same or different specific purpose as the processing device 210 or other processors 220 of the SoC 215. One or more of the processor cores and the processor 220 having the same or different configurations may be grouped together. Processor 220 or a group of processor cores may be referred to as a multiprocessor cluster.

The term "system on a chip" or "SoC" is used herein, typically, but not exclusively, to refer to a set of interconnected electronic circuits that include one or more processors (e.g., 220), memory (e.g., 222), and communication interfaces (e.g., 224). SoC215 may include various different types of processors 220 and processor cores, such as general purpose processors, Central Processing Units (CPUs), Digital Signal Processors (DSPs), Graphics Processing Units (GPUs), Accelerated Processing Units (APUs), subsystem processors that process particular components of a device (e.g., an image processor for a camera subsystem or a display processor for a display), auxiliary processors, single-core processors, and multi-core processors. SoC215 may further embody other hardware and hardware combinations such as Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), other programmable logic devices, discrete gate logic, transistor logic, performance monitoring hardware, watchdog hardware, and time references. The integrated circuit may be configured such that the components of the integrated circuit are located on a single piece of semiconductor material (e.g., silicon).

In various embodiments, the processing device 210 may include or be coupled to one or more communication components 232, such as a wireless transceiver, an onboard antenna, and the like, for sending and receiving wireless signals over the wireless communication link 25. One or more communication components 232 may be coupled to communication interface 224 and may be configured to process Wireless Wide Area Network (WWAN) communication signals (e.g., cellular data networks) and/or Wireless Local Area Network (WLAN) communication signals (e.g., Wi-Fi signals, bluetooth signals, etc.) associated with land-based transmitters/receivers (e.g., base stations, beacons, Wi-Fi access points, bluetooth beacons, small cells (pico cells, femto cells, etc.). The one or more communication components 232 may receive data from a radio node (e.g., a navigation beacon (e.g., a Very High Frequency (VHF) omnidirectional range (VOR) beacon), a Wi-Fi access node, a cellular network base station, a radio station, etc.).

The processing device 210 using the processor 220, one or more communication components 232, and antennas may be configured to wirelessly communicate with various remote computing devices, examples of which include a base station or cell tower (e.g., base station 20), a beacon, a server, a smartphone, a tablet, or another computing device with which the air robotic vehicle 200 may communicate. The processor 220 can establish a wireless communication link 25 via a modem and an antenna. In some embodiments, one or more communication components 232 may be configured to support multiple connections with different remote computing devices using different wireless access technologies. In some embodiments, the one or more communication components 232 and the processor 220 may communicate over a secure communication link. The secure communication link may use encryption or another secure manner of communication in order to secure communications between the one or more communication components 232 and the processor 220.

The air robotic vehicle 200 may operate in a mission environment 20 in communication with a base station 70, which base station 70 may provide a communication link to a remote computing device 75 and/or a remote server 80 via a communication network 90. The base station 70 may provide a wireless communication link 25 to the air robotic vehicle 200, for example, by wireless signals. The remote computing device 75 may be configured to control the base station 70, the aerial robotic vehicle 200, and/or to control wireless communications over a wide area network, e.g., using the base station 70 to provide a wireless access point and/or other similar network access points. Further, the remote computing device 75 and/or the communication network 90 may provide access to a remote server 80. The air robotic vehicle 200 may be configured to communicate with the remote computing device 75 and/or the remote server 80 to exchange various types of communications and data, including location information, navigation commands, data queries, and task data.

The aerial robotic vehicle may use an altimeter or a navigation system (e.g., Global Navigation Satellite System (GNSS), Global Positioning System (GPS), etc.) to navigate or determine a position fix. In some embodiments, the aerial robotic vehicle 200 may use alternative positioning signal sources (i.e., in addition to GNSS, GPS, etc.). The air robotic vehicle 200 may use the location information associated with the alternate signal source as well as additional information (e.g., dead reckoning in conjunction with the most recent trusted GNSS/GPS location, dead reckoning in conjunction with the location of the takeoff area of the air robotic vehicle, etc.) for positioning and navigation in certain applications. Thus, the air robotic vehicle 200 may navigate using a combination of navigation techniques, including dead reckoning, camera-based identification of terrestrial features under and around the air robotic vehicle 200 (e.g., identifying roads, landmarks, highway signs, etc.), which may replace or incorporate GNSS/GPS position determination and triangulation or trilateration based on known locations of detected wireless access points.

In some embodiments, the processing device 210 of the aerial robotic vehicle 200 may use one or more of the various input units 226 to receive control instructions, data from an operator or an automated/preprogrammed control device, and/or to collect data indicative of various conditions associated with the aerial robotic vehicle 200. For example, the input unit 226 may receive input from one or more of various components, such as a camera, a microphone, a location information function (e.g., a Global Positioning System (GPS) receiver to receive GPS coordinates), a flight instrument (e.g., an attitude indicator, a gyroscope, an anemometer, an accelerometer, an altimeter, a compass, etc.), a keyboard, and so forth. The camera may be optimized for day and/or night operation.

The air robotic vehicle may be of the winged or rotorcraft variety. For example, the aerial robotic vehicle 200 may be a rotary propulsion design that utilizes one or more rotors 120 driven by corresponding motors to provide lift-off (or takeoff) as well as other airborne movement (e.g., forward travel, ascent, descent, lateral movement, tilt, rotation, etc.). While air robotic vehicle 200 is illustrated as an example of an air robotic vehicle that may utilize various embodiments, there is no intent to imply or require that the various embodiments be limited to a quad-rotor aircraft.

Fig. 3A-3C illustrate exemplary conditions in which a propeller guard 350 may be installed on an air robotic vehicle that may be detected using systems and methods according to various embodiments. Referring to fig. 1-3C, the propeller guard 350 is merely illustrative and should not be considered as limiting the possible propeller guards that may be detected by an aerial robotic vehicle (e.g., 200).

A processor (e.g., 220) of an air robotic vehicle (e.g., 200) may perform monitoring operations (e.g., data collection and processing) before, during, and/or after flight (e.g., by accessing readings from onboard sensors) to determine whether the propeller guard is installed, damaged, and/or meets certain criteria. In particular, the processor may receive and analyze images (i.e., video or still images) from one or more cameras (e.g., camera 236). The image received by the processor may display all or a portion of any propeller guard present during the inspection. A camera angle that can provide an image of the area around each rotor 120 is preferred for determining whether a propeller guard is installed.

Fig. 3A shows an aerial robotic vehicle 200 having a propeller guard 350 that completely surrounds each of the four rotors 120. A processor of the aerial robotic vehicle analyzing images (obtained by camera 236) of the area around each rotor 120 may identify that the fixed structure surrounds all or a portion of each rotor 120 or that the fixed structure surrounding the rotor 120 is matched to the shape of the propeller guard.

Fig. 3B shows the aerial robotic vehicle 200 with three of the four propeller guards 350 (i.e., one propeller guard is not present). The missing propeller guard may have been dropped or never installed. A processor of the air robotic vehicle analyzing images (obtained by camera 236) of the area around each rotor 120 may identify that no propeller guard is installed around one rotor 120.

Fig. 3C shows the aerial robotic vehicle 200 with the propeller guard 350 surrounding three of the four rotors 120 and a fourth damaged propeller guard 351 partially surrounding one of the rotors 120. In addition to identifying that the propeller guards 350, 351 are installed, the processor may analyze the shape of the propeller guards 350, 351 to determine if any of the propeller guards 350, 351 are damaged. In various embodiments, severely damaged propeller guards may be treated the same as missing propeller guards. Thus, the processor may set the proximity threshold to a lower value in response to determining that the propeller guard is not damaged, but may set the proximity threshold to a higher value in response to determining that the propeller guard is damaged.

In some embodiments, the processor may determine whether the installed propeller guard is damaged through visual processing and image recognition methods. For example, an image of the installed propeller guard received by the processor may be compared to a previously stored image of an undamaged propeller guard. Additionally, the detected propeller guard structure may be inspected for cracks, gaps, tears, nicks, bends, creases, breaks, and or other physical defects that are continuous. In addition, sensors may be used to detect unusual vibrations, movements, or other deviations from normal conditions, which may indicate a problem with the installed propeller guard. The processor may use strict requirements for the propeller guard to be considered undamaged, e.g., any small deviation from a standard propeller guard shape is considered damaged. In the event that a non-standard contour shape of the currently installed propeller guard is detected, the propeller guard may be considered "damaged" and the processor may output an error message to make the operator or owner of the air robotic vehicle aware of the condition.

Additionally or alternatively, if some discontinuity or irregularity is detected, the processor may evaluate whether the propeller guard 350, 351 should be considered damaged based on the extent to which the normal profile shape is missing. Although the propeller guard may have fine irregularities, the overall structure may serve to protect the rotor 120 from obstacles (i.e., objects). For example, if less than 2% of the overall structure of the propeller guard (e.g., 351) is missing, the processor may determine that the propeller guard 351 is not damaged. Additionally, the determination of the propeller guard damage may depend on where the damage is located. For example, if only the interior of the propeller guard 351 (i.e., facing the center of the aerial robotic vehicle) has been missing, the discontinuity may be considered not severe enough to treat the missing propeller guard in the same manner as it would treat (i.e., maintain a higher proximity threshold). In the event that a subtle imperfection is detected, but the propeller guard is not considered "broken," the processor may output an error message to make the operator or owner of the air robotic vehicle aware of the condition.

In some embodiments, the processor may also determine whether the installed propeller guard meets predetermined criteria for the propeller guard. Similar to the damage assessment described above, the processor may determine whether the installed propeller guard meets predetermined criteria through visual processing and image recognition methods. The predetermined criteria may include a minimum size or style of propeller guard.

Fig. 4 illustrates a method 400 for operating an air robotic vehicle, in accordance with some embodiments. Referring to fig. 1A-4, a method 400 may be performed by a processor (e.g., processor (220) within a processing device (e.g., 210) of an air robotic vehicle (e.g., 100, 200)) to detect whether a propeller guard (e.g., 250, 350) is installed, and to set a proximity threshold accordingly in response thereto.

In block 405, the processor may initiate a test for setting a proximity threshold. The test for setting the proximity threshold may be initiated at startup (i.e., when the processor is turned on or awakened from a sleep mode). Additionally, a test for setting a proximity threshold may be initiated when conditions change. For example, a test for setting a proximity threshold may be automatically initiated when the processor receives an input from a sensor (e.g., a contact sensor). As a further example, the processor may force initiation of a test for setting a proximity threshold in response to an event such as a fall or a strong impact to an airborne robotic vehicle. Additionally, the aerial robotic vehicle may be configured to receive an input override from an operator or control system indicating whether the propeller guard is installed or not installed. The input override may replace any determination based on the sensor data as to whether the propeller guard is installed.

In some embodiments, the processor may repeat the operations of method 400 to detect and respond to rotor anomalies for all rotors of an aerial robotic vehicle having one or more rotors. For example, the processor may continually repeat the operations of method 400, or until all rotors have been checked to ensure safe and proper operation of the aerial robotic vehicle. As another example, the processor may repeat the operations of method 400 for a predetermined number of iterations indicated in the pre-flight test instructions provided to the air robotic vehicle prior to takeoff. Thereafter, the processor may optionally repeat the operations of method 400 at periodic intervals during the flight, or at other times set to do so.

In block 410, the processor may obtain sensor data from one or more sensors configured to detect whether a propeller guard is installed on the aerial robotic vehicle. Additionally or alternatively, as part of the operations in block 410, the processor may obtain propeller rotational speed data from one or more ESCs and/or one or more motors of the air robotic vehicle, which may be analyzed to determine whether one or more propeller guards are installed on the air robotic vehicle. Such obtained data may be stored in a local memory (e.g., a buffer) to support image processing in subsequent operations. The obtained data may be stored for use in tracking usage history or incident data (e.g., detected abnormal situations). In addition, the stored data may be used for subsequent comparison with image analysis for identifying the same propeller guard (if removed and later reinstalled on the air robotic vehicle).

The camera (e.g., 236) may be used alone or in combination with other sensors. One or more cameras may be mounted below the rotor or in the rotor plane. Structural anomalies (e.g., tears, nicks, bends, creases, or similar damage) can be detected by analyzing the still images. The camera image may be used to detect a missing propeller guard (e.g., dropped or torn off). The processor may receive images from one or more cameras (e.g., 236) that image the propeller, and thus the propeller guard (if it is in place). In some implementations, the processor may receive image data from a plurality of cameras, which may enable the processor to better evaluate structures mounted near the rotor to determine whether such structures are propeller guards, and if so, whether the propeller guards are damaged and/or properly mounted.

The processor may additionally or alternatively receive data from other types of sensors, for example, when the propeller guard is installed (if in place). The conductive material may be embedded in or on the propeller guard, wherein the conductive material, when in contact with the receiving conductive material of the aerial robotic vehicle, may indicate that the propeller guard is installed. Similarly, a portion of the rotor motor (e.g., where the propeller guard may be mounted) may include a strain gauge configured to detect when the propeller guard is mounted. Furthermore, resistive or capacitive sensors may be attached or embedded in the propeller guard. Additionally or alternatively, active sensors mounted on the body of the air robotic vehicle but remote from the rotor may measure passive materials embedded in or on one or more propeller guards. For example, the processor may receive data from a Radio Frequency Identification (RFID) reader configured to detect the presence of an RFID transmitter, which may be included on or embedded in the propeller guard for detection by the processor.

In embodiments where the processor additionally or alternatively receives data from one or more motors of the aerial robotic vehicle indicative of the rotational speed (e.g., rpm) of the respective one or more rotors, the processor may use the rotational speed of the one or more motors to determine whether a propeller guard is installed. The speed of rotation of the motor may be directly related to the thrust generated by the propeller associated with the motor. When one or more propeller guards are installed on an air robotic vehicle, the air robotic vehicle will weigh a bit more in flight. This additional weight may require the motor to spin faster in order to maintain level flight or to perform flight maneuvers. This additional weight may be inferred from the rotational speed of the motor, and may be associated with additional items mounted on the aerial robotic vehicle (e.g., one or more propeller guards).

In block 420, the processor (or another processor configured to perform such analysis) may analyze the obtained data to determine whether a propeller guard is installed on the aerial robotic vehicle. For example, using the camera image data, the processor may perform analytical image processing analysis to detect edges, quality, and other features that are characteristic of the propeller guard within the field of view. As another example, the processor may identify contact and/or weight sensor signals, as well as signals from the RFID reader (if included), indicating that the propeller guard is installed.

Alternatively or additionally, the processor may analyze the rotational speed of one or more motors to determine how many propeller guards are installed or whether all propeller guards are installed. For example, if only three propeller guards are installed on the aerial robotic vehicle, the weight of the aerial robotic vehicle will be less (and thus the rotor speed will be less) than if four propeller guards were installed. In addition, if not all propeller guards are installed, the center of gravity of the aerial robotic vehicle may change, which may be detected by comparing the rotational speed of the individual rotors. When the geometric center of the air robotic vehicle does not coincide with the center of gravity of the vehicle, the rotational speed of one or more rotors may be slightly higher. Additionally, the processor may consider the angular velocity data in conjunction with the rotor speed data during movement of the air robotic vehicle to calculate a moment of inertia of the air robotic vehicle. If the calculated moment of inertia is different from the baseline or default value, this may be an indication that additional mass consistent with the rotor guard is installed or has been removed.

In some embodiments, the analysis of whether propeller guards are installed may be based solely on the detection of the presence of one or more propeller guards (e.g., receiving an indication from a contact sensor that propeller guards are installed). In some embodiments, the determination as to whether propeller guard is installed may involve further analysis as to characteristics of structures installed near the rotor to determine whether such structures are propeller guards, whether detected propeller guards are undamaged, and/or whether detected propeller guards meet predetermined criteria.

In determination block 425, the processor may determine whether a propeller guard is installed based on the data analyzed in block 420.

In response to determining that no propeller guard is installed (i.e., determination block 425 — no), the processor may set the proximity threshold to a higher value in block 440. A higher value proximity threshold may be a distance that is considered safe or non-threatening to surrounding objects when no propeller guard is installed on the aerial robotic vehicle. Conversely, a lower value proximity threshold may be a distance that is considered safe or non-threatening to surrounding objects when the propeller guard is installed on the aerial robotic vehicle.

In response to determining that the propeller guard is installed (i.e., determination block 425 — yes), in determination block 430 the processor may determine whether the propeller guard (i.e., the propeller guard determined to be installed in determination block 425) is damaged. Alternatively or additionally, in response to determining that the propeller guard is installed (i.e., determining that block 425 is yes), the processor may set the proximity threshold to a lower value in block 445.

In response to determining that the propeller guard is damaged (i.e., determining block 430 — yes), the processor may set the proximity threshold to a higher value in block 440. Alternatively or additionally, in response to determining that the propeller guard is damaged (i.e., determination block 430 — yes), the processor may issue a service alert or force service.

In response to determining that the propeller guard is not damaged (i.e., determining block 430 ═ no), the processor may set the proximity threshold to a lower value in block 445.

Setting the proximity threshold in blocks 440 and/or 445 may or may not involve: based on the determination as to whether the propeller guard is installed on the aerial robotic vehicle, the current proximity threshold value is changed in accordance with the current proximity threshold setting and the desired proximity threshold setting. For example, setting a proximity threshold for collision avoidance may include: the proximity threshold is increased from a first value to a second value higher than the first value in response to determining that no propeller guard is installed. As a further example, setting a proximity threshold for collision avoidance may include: the proximity threshold is decreased from the second value to the first value in response to determining that the propeller guard is installed. Setting a proximity threshold for collision avoidance may further include: the proximity threshold is maintained at the currently set value. For example, setting a proximity threshold for collision avoidance may include: the method further includes maintaining the proximity threshold at a first value in response to determining that the propeller guard is installed and that the currently set value of the proximity threshold is already a first value, the first value being lower than the second value. As a further example, setting a proximity threshold for collision avoidance may include: maintaining the proximity threshold at a second value, the second value being higher than the first value, in response to determining that no propeller guard is installed and that the currently set value of the proximity threshold has been the second value.

In block 450, the processor may control one or more motors of the aerial robotic vehicle using the currently set proximity threshold to manage how the aerial robotic vehicle navigates. For example, the processor may send signals to control one or more of the motors (e.g., 125) of the aerial robotic vehicle (e.g., 100, 200) to navigate. The processor may control the one or more motors to avoid the obstacle while maintaining a distance from the obstacle proximate the navigational path of the air robotic vehicle based on a proximity threshold (i.e., set in block 440 or 445). In some embodiments, the air robotic vehicle may continue to operate normally executing user commands and/or preloaded flight plans, relying on a collision avoidance system to prevent any objects from being approached closer than the current setting of the approach threshold. In some embodiments, the processor may modify control of the air robotic vehicle, e.g., adjust or modify a preloaded flight plan to ensure that the robotic vehicle is not closer to the detected obstacle than the current setting of the proximity threshold.

Fig. 5 illustrates a method 500 for operating an aerial robotic vehicle, according to some embodiments. Referring to fig. 1-5, a method 500 may be performed by a processor (e.g., processor (220) within a processing device (e.g., 210) of an air robotic vehicle (e.g., 100, 200)) to detect whether a propeller guard (e.g., 250, 350) is installed, and to set a proximity threshold accordingly in response thereto. In method 500, a processor may perform the operations of blocks 405, 410, 420, 440, 445, and 450 and determination block 425 of method 400 as described.

In response to determining that the propeller guard is installed (i.e., determination block 425 — yes), in determination block 430 the processor may determine whether the propeller guard (i.e., the propeller guard determined to be installed in determination block 425) satisfies a predetermined criterion.

In response to determining that the propeller guard does not meet the predetermined criteria (i.e., determining block 530 no), the processor may set the proximity threshold to a higher value in block 440. Alternatively or additionally, in response to determining that the propeller guard does not meet the predetermined criteria (i.e., determination block 530 no), the processor may issue a service alert or force service.

In response to determining that the propeller guard satisfies the predetermined criteria (i.e., determining block 530 — yes), the processor may set the proximity threshold to a lower value in block 445.

Fig. 6 illustrates a method 600 for operating an aerial robotic vehicle, in accordance with some embodiments. Referring to fig. 1-6, method 600 may be performed by a processor (e.g., processor (220) within a processing device (e.g., 210) of an air robotic vehicle (e.g., 100, 200)) to detect whether a propeller guard (e.g., 250, 350) is installed, and to set a proximity threshold accordingly in response thereto. In method 600, the processor may perform the operations of blocks 405, 410, 420, 440, 445, and 450 of method 400 and determination block 425 and determination block 530 of method 500 as described above.

Fig. 7 illustrates a method 700 for detecting and classifying an object for use in the method 400, according to some embodiments. Referring to fig. 1A-7, a method 700 may be performed by a processor (e.g., processor (220) within a processing device (e.g., 210) of an air robotic vehicle (e.g., 100, 200)) to detect an obstacle (e.g., 120) and perform an action in response.

In block 710, the processor may obtain data from an image sensor (e.g., one or more cameras disposed on a robotic vehicle). Such image data may be stored in a local memory for processing, such as a buffer memory.

In block 720, the processor may analyze the obtained image data to identify the presence and characteristics of an object near the rotor to determine whether the object is a propeller guard. Such image analysis may involve identifying edge regions of different colors and other types of processes commonly used to identify objects within an image. In some embodiments, the aerial robotic vehicle may be equipped with stereo cameras, which may enable the processor to determine distances to individual objects or portions of objects using stereoscopy. Determining the position and/or size of the object may generate a file or database of object coordinates in memory that enables the processor to generate a map of the object in subsequent operations.

Each of the objects identified in block 720 may be individually analyzed using an image recognition process. To this end, the processor may implement a loop to investigate each object individually. Accordingly, in block 730, the processor may select one of the identified objects and, in block 740, perform an object identification process on the image data for the selected object to determine whether the object is a propeller guard. As described, such an image recognition process may involve comparing the image data to a database of known propeller guards to determine if there is a close match. Such an image recognition process may involve the use of machine learning techniques.

In determination block 745, the processor may determine whether the object is a propeller guard.

In response to determining that the selected object is not propeller guard (i.e., determination block 745 — no), in determination block 755, the processor may determine whether there is another object to identify within the image data.

In response to determining that the selected object is propeller guard (i.e., determining that block 745 is yes), in block 750, the processor may perform a more detailed analysis of the selected object to determine if the propeller guard is damaged and/or meets predetermined criteria.

In determination block 755, the processor may determine whether there is another object within the image data that needs to be analyzed. In response to determining that there is another object to analyze within the image data (i.e., determining that block 755 is "yes"), then in block 730 the processor may select another identified object and repeat the operations of block 740 and 750 as described. When all objects have been analyzed (i.e., determination block 755 — no), the processor may proceed to determine whether a propeller guard is installed in determination block 425 of methods 400, 500, and/or 60 as described.

As described, a processor (e.g., 220) of an air robotic vehicle (e.g., 200) may determine whether an anomaly in a rotor is detected, and may determine whether a flight of the vehicle is authorized based on commands received from a remote computing device or data obtained, regardless of the anomaly. In such embodiments, communication with the aerial robotic vehicle may be accomplished using a personal computer, a wireless communication device (e.g., a smart phone, etc.), a server, a laptop computer, etc., an example of which is shown in fig. 8 in the form of a smart phone 800. Referring to fig. 1-8, a remote computing device 800 may include a processor 802 coupled with various systems and components. For example, the processor 802 may be coupled to a touchscreen controller 804, radio communication elements, a speaker and microphone, and an internal memory 806. The processor 802 may be one or more multi-core integrated circuits designated for general or special purpose processing tasks. The internal memory 806 may be volatile or non-volatile memory, and may also be secure and/or encrypted memory, or unsecure and/or unencrypted memory, or any combination thereof.

The touchscreen controller 804 and the processor 802 may also be coupled to a touchscreen panel 812, such as a resistive-sensing touchscreen, a capacitive-sensing touchscreen, an infrared-sensing touchscreen, and so forth. Additionally, the display of the remote computing device 800 need not have touch screen capabilities. The remote computing device 800 may have one or more radio signal transceivers 808 for sending and receiving communications (e.g., peanout, bluetooth LE, Zigbee, etc.),Radio Frequency (RF) radio, etc.) and an antenna (remote computing device antenna 810) coupled to each other and/or to processor 802. The radio signal transceiver 808 and the remote computing device antenna 810 may be used with the above-mentioned circuitry to implement various wireless transmission protocol stacks and interfaces. The remote computing device 800 may include a cellular network wireless modem chip 816 coupled to the processor that enables communication via a cellular network.

The remote computing device 800 may include a peripheral device connection interface 818 coupled to the processor 802. The peripheral device connection interface 818 may be specifically configured to accept one type of connection, or may be configured to accept various types of public or proprietary physical and communicative connections, such as USB, FireWire, Thunderbolt, or PCIe. The peripheral device connection interface 818 may also be coupled to a similarly configured peripheral device connection port (not shown).

In various embodiments, the remote computing device 800 may include one or more microphones 815. For example, the remote computing device 800 may have a conventional microphone 815 for receiving voice or other audio energy from the user during a call. The remote computing device 800 may also include speakers 814 for providing audio output. The remote computing device 800 may also include a housing 820 constructed of plastic, metal, or a combination of materials for containing all or some of the components. The remote computing device 800 may include a power source 822, such as a disposable or rechargeable battery, coupled to the processor 802. The rechargeable battery may also be coupled to the peripheral device connection port to receive a charging current from a source external to the remote computing device 800. The remote computing device 800 may also include a physical button 824 for receiving user input (e.g., an input override indicating whether propeller guard is installed or not installed).

The various embodiments shown and described are provided by way of example only to illustrate various features of the claims. However, features illustrated and described with respect to any given embodiment are not necessarily limited to the associated embodiment, and may be used or combined with other embodiments illustrated and described. Furthermore, the claims are not intended to be limited by any example embodiments. For example, one or more of the operations of methods 400, 500, 600, and/or 700 may be replaced or combined with another operation.

The foregoing method descriptions and process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the operations of the various embodiments must be performed in the order presented. As will be appreciated by those skilled in the art, the order of operations in the foregoing embodiments may be performed in any order. Words such as "thereafter," "then," "next," etc. are not intended to limit the order of the operations; these words are used to guide the reader through the description of the methods. Furthermore, reference to a claim element in the singular (e.g., using the articles "a," "an," or "the") should not be construed as limiting the element to the singular.

The various illustrative logical blocks, modules, circuits, and algorithm operations described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and operations have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the claims.

The hardware used to implement the various illustrative logics, logical blocks, modules, and circuits described in the various embodiments may be implemented or performed with a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of receiver smart objects, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some operations or methods may be performed by circuitry that is specific to a given function.

In one or more aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable medium or a non-transitory processor-readable medium. The operations of the methods or algorithms disclosed herein may be embodied in processor-executable software modules or processor-executable instructions, which may reside on non-transitory computer-readable or processor-readable storage media. A non-transitory computer-readable or processor-readable storage medium may be any storage medium that can be accessed by a computer or a processor. By way of example, and not limitation, such non-transitory computer-readable or processor-readable storage media can include RAM, ROM, EEPROM, flash memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage smart objects, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, includes Compact Disc (CD), laser disc, optical disc, Digital Versatile Disc (DVD), and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media. Further, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable storage medium and/or computer-readable storage medium, which may be incorporated into a computer program product.

The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the claims. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the claims. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.

33页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:解耦建模方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类