US20190310042A1 - Weapon lock control system - Google Patents
Weapon lock control system Download PDFInfo
- Publication number
- US20190310042A1 US20190310042A1 US16/116,578 US201816116578A US2019310042A1 US 20190310042 A1 US20190310042 A1 US 20190310042A1 US 201816116578 A US201816116578 A US 201816116578A US 2019310042 A1 US2019310042 A1 US 2019310042A1
- Authority
- US
- United States
- Prior art keywords
- locking device
- disengage
- fire control
- firearm
- control rules
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F41—WEAPONS
- F41A—FUNCTIONAL FEATURES OR DETAILS COMMON TO BOTH SMALLARMS AND ORDNANCE, e.g. CANNONS; MOUNTINGS FOR SMALLARMS OR ORDNANCE
- F41A17/00—Safety arrangements, e.g. safeties
- F41A17/06—Electric or electromechanical safeties
- F41A17/063—Electric or electromechanical safeties comprising a transponder
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F41—WEAPONS
- F41A—FUNCTIONAL FEATURES OR DETAILS COMMON TO BOTH SMALLARMS AND ORDNANCE, e.g. CANNONS; MOUNTINGS FOR SMALLARMS OR ORDNANCE
- F41A17/00—Safety arrangements, e.g. safeties
- F41A17/08—Safety arrangements, e.g. safeties for inhibiting firing in a specified direction, e.g. at a friendly person or at a protected area
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F41—WEAPONS
- F41A—FUNCTIONAL FEATURES OR DETAILS COMMON TO BOTH SMALLARMS AND ORDNANCE, e.g. CANNONS; MOUNTINGS FOR SMALLARMS OR ORDNANCE
- F41A17/00—Safety arrangements, e.g. safeties
- F41A17/46—Trigger safeties, i.e. means for preventing trigger movement
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F41—WEAPONS
- F41A—FUNCTIONAL FEATURES OR DETAILS COMMON TO BOTH SMALLARMS AND ORDNANCE, e.g. CANNONS; MOUNTINGS FOR SMALLARMS OR ORDNANCE
- F41A17/00—Safety arrangements, e.g. safeties
- F41A17/46—Trigger safeties, i.e. means for preventing trigger movement
- F41A17/48—Automatically operated trigger safeties, i.e. operated by breech opening or closing movement
Definitions
- the application relates to weapon lock control systems.
- Weapons such as and including firearms
- firearms can be used for a variety of purposes, some of which are legal and beneficial, and some of which are illegal and harmful.
- weapons are sometimes used to commit crimes, such as in the commission of robberies, murders, kidnappings, etc.
- firearms have many legal uses as well, such as for example, hunting, self-defense, and sport.
- law enforcement officers use firearms in the course of their duties to protect the public. But those weapons are not able to discriminate between legal and illegal uses.
- a firearm includes a processing device and a memory storing instructions executable by the processing device to control a locking device, such as an electromagnetic lock or a shutter, based on one or more firearm control rules.
- a particular fire control rule may be based on distance to a location, type of firearm, user identifier, an authorized time period, a severity level associated with the location, a time associated with the fire control rule, a date associated with the fire control rule, or a combination thereof.
- the locking device prevents actuation of a trigger of the firearm, and in particular examples, the locking device is engaged by default.
- the described systems and methods may reduce misuse of firearms by selectively enabling firearms in contexts that are not disallowed.
- lethal crimes may be reduced.
- weapons manufacturers may reduce lethal crimes without reducing manufacturing output.
- An apparatus for controlling a trigger mechanism of a weapon includes a locking device configured to disable the trigger in an engaged state and a lock controller.
- the lock controller includes a location sensor, a processing device, and a memory device.
- the memory device stores one or more fire control rules and instructions executable by the processing device to determine whether to disengage the locking device to enable the trigger mechanism based on the one or more fire control rules, data from the location sensor, and a type of the weapon.
- a computer readable storage device stores instructions executable by one or more processing devices to receive location data from a location sensor of a firearm.
- the instructions are further executable by the one or more processors to disengage a locking device to enable a trigger of the firearm based on one or more fire control rules, data from the location sensor, and a type of the firearm.
- a method includes receiving location data from a location sensor of a firearm. The method further includes determining whether to disengage a locking device to enable a trigger of the firearm based on one or more fire control rules, data from the location sensor, and a type of the firearm.
- FIG. 1 is a block diagram of a firearm locking and unlocking system
- FIG. 2A is a diagram of the firearm locking and unlocking system embedded in a handgun
- FIG. 2B is a diagram of the firearm locking and unlocking system embedded in an assault rifle
- FIG. 3A is a diagram of a motorized version of a locking device of the firearm locking and unlocking system in a locked position
- FIG. 3B is a diagram of the motorized version of the locking device of the firearm locking and unlocking system in an unlocked position
- FIG. 4A is a diagram of a magnetic version of the locking device of the firearm locking and unlocking system in a locked position
- FIG. 4B is a diagram of the magnetic version of the locking device of the firearm locking and unlocking system in an unlocked position
- FIG. 5A is a flowchart illustrating a first portion of a method of determining whether to unlock a firearm.
- FIG. 5B is a flowchart illustrating a second portion of the method of determining whether to unlock the firearm.
- FIG. 1 a block diagram illustrating a system 100 for locking and unlocking a firearm is shown.
- the system 100 is integrated into the firearm. Integration of the system 100 with various firearms is illustrated by FIGS. 2A-2B . While described and illustrated as integrated in various firearms, the system 100 may be integrated in other types of weapons in other implementations.
- the system 100 includes a lock controller 102 , a locking device 104 , and a trigger 106 of the firearm. While described as a trigger, it should be noted that in other implementations, the trigger 106 corresponds to a different type of trigger mechanism (e.g., a button, a switch, etc.) for initiating discharge of a weapon.
- a different type of trigger mechanism e.g., a button, a switch, etc.
- the lock controller 102 includes a memory 120 , a processing device 122 , a time sensor 124 , a location sensor 126 , and a user interface 130 .
- the memory 120 includes one or more computer readable storage devices.
- the one or more computer readable storage devices may include one or more read only memory (ROM) devices, one or more random access memory (RAM) device, one or more solid state drive (SSD) devices, one or more hard disc drive (HDD) devices, one or more other memory devices of other types, or a combination thereof.
- a computer readable storage device is an article of manufacture and is not a signal.
- the processing device 122 may correspond to a central processor unit, an application specific integrated circuit, a field programmable gate array, another type of processing device, or a combination thereof.
- the time sensor 124 may include a digital clock or other type of time sensor.
- the location sensor 126 may include a global positioning system (GPS) device, an inertial measurement unit (IMU), another type of location sensor, or a combination thereof.
- the user interface 130 may include one or more input elements, one or more output elements, or a combination thereof. Examples of input devices include touch screen displays, buttons, switches, microphones, etc. Examples of output elements include display devices (e.g., a light emitting diode screen, a liquid crystal display screen, a light emitting diode indicator, etc.), speakers, etc.
- the lock controller 102 may include more or fewer elements than shown.
- the lock controller 102 may not include the time sensor 124 in some examples.
- some implementations include one or more wired and/or wireless communications interfaces.
- the lock controller 102 may include a WiFi® interface, a Bluetooth® interface, a universal serial bus (USB) interface, one or more other communication interfaces, or a combination thereof (Wi-Fi is a registered trademark of Wi-Fi Alliance Corporation California of Austin, Tex., and Bluetooth is a registered trademark of Bluetooth SIG, Inc. of Kirkland, Wash.).
- the memory 120 stores a user identifier 131 , a firearm type 132 , one or more fire control rules 134 , and instructions 136 .
- the user identifier 131 identifies a user (e.g., an owner) of the firearm into which the system 100 is integrated.
- the user identifier 131 is stored in the memory 120 upon sale of the firearm.
- a point of sale computer system (or other computer device) at a gun store may connect to the lock controller 102 and store the user identifier 131 in the memory 120 .
- the user identifier 131 is communicated to the lock controller 102 in an encrypted form.
- the point of sale computer system may encrypt the user identifier 131 using triple DES or another encryption algorithm prior to transmitting the user identifier 131 to the lock controller 102 .
- the lock controller 102 may store the user identifier 131 in the memory 120 in an encrypted format.
- the user identifier 131 may correspond to a unique identifier, such as a telephone number, a gun registration number, or any other type of identifier.
- the user identifier 131 is transferred to the memory 120 from another memory device of an individual who wishes to use the firearm.
- a user may plug a memory stick including the user identifier 131 into the lock controller 102 and the lock controller 102 may copy the user identifier 131 into the memory 120 .
- the lock controller 102 may delete the user identifier 131 from the memory 120 upon detecting removal of the memory stick or upon expiration of a time to live associated with the user identifier 131 .
- the firearm type 132 identifies a type of the firearm into which the system 100 is integrated.
- the type of the firearm may correspond to a category of the firearm, an ammunition used by the firearm, an effective range of the firearm, or a combination thereof. Examples of categories include assault weapon, handgun, shotgun, hunting rifle, etc.
- the firearm type 132 is stored in the memory 120 upon manufacture of the firearm.
- the firearm type 132 may be stored in a read only portion of the memory 120 by the manufacturer of the firearm.
- the firearm type 132 may be stored in the memory 120 in an encrypted format.
- the read only portion of memory 120 may correspond to a read only memory device, to a hardwired memory device storing the firearm type 132 , or to another type of read-only memory.
- the one or more fire control rules 134 indicate conditions under which the firearm should or should not be unlocked.
- the one or more fire control rules 134 may indicate that a particular firearm type is not to be unlocked within a particular radius of a location.
- each rule of the one or fire control rules 134 includes one or more of the following fields or attributes: ⁇ location name>; ⁇ latitude>; ⁇ longitude>; ⁇ radius>; ⁇ authorized period>; ⁇ severity>; ⁇ arm type>; ⁇ user ID>; ⁇ date of entry>; and ⁇ time of entry>.
- Other implementations may include fewer/more or different attributes.
- attributes corresponding to the attributes identified above may have different names.
- the attribute ⁇ location name> indicates a label of a location.
- the attribute ⁇ location name> may have a value of “the Alamo.”
- the attributes ⁇ latitude> and ⁇ longitude> indicate coordinates identifying a position of the location on the Earth.
- ⁇ latitude> may have a value of “29°25′33′′N”
- ⁇ longitude> may have a value of “98°29′10′′W.” While examples of latitude and longitude are provided herein expressed as degrees, minutes, and seconds, the system 100 may operate on expressions of latitude and longitude in decimal degrees in some implementations.
- the attribute ⁇ radius> indicates a radius around the location that the rule applies to.
- ⁇ radius> may have a value of “200 feet.”
- the attribute ⁇ authorized period> indicates a period of time during which hunting arms may be used within the radius.
- the ⁇ latitude>, ⁇ longitude>, and ⁇ radius> attributes define an area of the Earth to which a rule applies and the ⁇ location name> attribute assigns a name to the area.
- the ⁇ arm type> attribute indicates an arm type for which the rule applies.
- a type may correspond to a category of the firearm, an ammunition used by the firearm, an effective range of the firearm, or a combination thereof.
- the ⁇ authorized period> attribute corresponds to a period of time during which use of the arm type is authorized for the location.
- the period of time may correspond to a hunting season.
- ⁇ authorized period> may have a value of “Oct. 27, 2018-Feb. 10, 2019.”
- the ⁇ severity> attribute indicates restrictions based on a level of public concern with protecting one or more locations.
- the memory 120 may further store a severity database mapping areas to severity levels. For example, several areas (e.g., location and radius combinations) corresponding to hospitals and schools may be mapped to a severity value of “0” in the severity database while an area associated with the White House has a severity level of “1”. 0 may indicate a highest level of public concern.
- the ⁇ severity> attribute in the one or more fire control rules 134 defines a restriction for one or more weapon types and/or one or more users.
- a fire control rule for a particular severity level applies to areas of greater concern as well (e.g., areas associated with lower severity levels).
- higher values may indicate greater levels of public concern.
- severity levels are described herein, it should be noted that the one or more fire control rules 134 may include restrictions based on other categorizations of areas.
- the memory 120 may store a database mapping areas to categorizations.
- the ⁇ user ID> attribute indicates a user identifier (ID) corresponding to a user (e.g., gun owner or other user) to which the rule applies.
- ID user identifier
- the user ID may include or correspond to a telephone number, a gun registry number, or some other identifier.
- the ⁇ date of entry> attribute indicates a date on which the rule was added to the one or more fire control rules 134 .
- the ⁇ time of entry> attribute indicates a time at which the rule was added to the one or more fire control rules 134 .
- the ⁇ date of entry> and ⁇ time of entry> attributes indicate a time of update of the one or more fire control rules 134 .
- the one or more fire control rules 134 identify circumstances under which discharge of a firearm should not be allowed while the ⁇ authorized period> attribute identifies an exception to a restriction. Because the one or more fire control rules 134 identify circumstances under which firearms may not be discharged, the one or more fire control rules 134 may be considered a blacklist database.
- the disclosed attributes of the one or more fire control rules 134 are provided for purposes of illustration. Different rules may be implemented to achieve the functionality described herein.
- the one or more fire control rules 134 further includes an entry indicating a date and time of a last update to the fire control rule(s) 134 .
- the lock controller 102 may connect to a remote rules database device (e.g., via a wired or wireless connection) and may download updated fire control rules.
- the remote rules database device may be a device associated with a gun manufacturer.
- the one or more fire control rules 134 may be downloaded to the memory 120 at time of manufacture.
- the remote rules database device may be associated with an arm seller.
- the fire control rules 134 (or updates) may be downloaded to the memory 120 at time of sale.
- the remote rules database device may be associated with a government agency.
- the lock controller 102 may access different remote rules database devices overtime. Each time the one or more fire control rules 134 are updated, the lock controller 102 may create an entry indicating a date and time of the update.
- the one or more fire control rules 134 may be encrypted so that a user of the firearm into which the lock controller 102 is integrated may be unable to edit the one or more fire control rules 134 generally and the entry indicating the date and time of the last update in particular.
- a portion of the one or more fire control rules 134 is hardcoded. For example, a portion of the one or more fire control rules 134 may be stored in a read only memory or other fixed memory device.
- the first example rule indicates that assault rifle type weapons may not be fired by anyone within 300 feet of 38°53′52′′N, 77°02′11′′W, which is the location of the White House.
- the first example rule indicates that the first example rule was updated/saved on Aug. 7, 2018 at 11:37:00 CT.
- the second example rule is the same as the first example rule except the second example rule applies to a specific user whose ID is “1234.”
- a rule may have more than one value for one or more attributes.
- the third example rule is the same as the second example rule except the third example rule applies to both the specific user whose ID is “1234” and to a specific user whose ID is “5678.”
- the fourth example rule indicates that hunting rifle type weapons may not be fired by anyone within 1000 feet of 31°20′27′′N′′, 93°50′32′′W, which is the location of Sabine National Forest, except between Oct. 1, 2018 and Nov. 1, 2018.
- the ⁇ authorized period> attribute may only be used to create exceptions for hunting weapons.
- the one or more fire control rules 134 may include multiple different rules for the same location. Accordingly, different types of firearms or different users may be subject to different restrictions.
- the fourth and fifth example rules indicate that hunting rifle type weapons may not be fired by anyone within 1000 feet of 31°20′27′′N′′, 93°50′32′′W, except between Oct. 1, 2018 and Nov. 1, 2018, and assault rifles may never be fired by anyone within 2000 feet of 31°20′27′′N′′, 93°50′32′′W.
- the one or more fire control rules 134 may include rules that are not dependent on particular attributes. Such rules may omit one or more attributes (e.g., ⁇ location>, ⁇ latitude>, ⁇ longitude>, ⁇ radius>) or may use a wildcard for one or more attributes.
- Both the sixth and the seventh example rules indicate that rifles may not be used regardless of location (e.g., globally).
- the one or more fire control rules 134 may include various rule types.
- a rule's type is determined by the attributes included in the rule.
- Rule types may include a hunting type, a restricted area type, a restricted user type, a severity type, etc.
- a rule of the hunting type allows unlock of firearms within an authorized time period.
- a rule of the restricted area type prohibits use of a firearm within a restricted area.
- the restricted area may be defined by a location and a radius.
- a rule of the restricted user type prohibits a particular individual using a firearm.
- a rule of the severity type restricts use of a firearm within areas associated with a particular severity level.
- the one or more fire control rules 134 may include rules of hybrid types. For example, a restricted area rule may have a hunting exception.
- Rules of the one or more fire control rules 134 may be specific to weapon types. For example, a restricted area rule may apply only to handguns. As explained above, the restricted area may be defined by a location and a radius. A second rule may restrict a different type of weapon (e.g., rifles) based on the same location and a different radius. Thus, the one or more fire control rules 134 may restrict use of firearms of a particular type based on a firearm type-specific radius around a location.
- One or more rules may be associated with a severity level. Based on the severity level
- the memory 120 further stores instructions 136 .
- the instructions 136 comprise computer readable code executable by the processing device 122 to perform one or more actions described herein. It should be noted that in some implementations, the processing device 122 includes special purpose hardware configured to perform some or all of the actions described herein. In implementations in which the processing device 122 includes special purpose hardware configured to perform all of the operations described herein, the memory 120 may not store the instructions 136 .
- the locking device 104 of the may correspond to one of a variety of electronic locking mechanisms.
- FIGS. 3A and 3B illustrate an electronic lock with a motor
- FIGS. 4A and 4B illustrate electronic locks operated with magnetic fields. These examples are provided for illustration only. Any electronic locking mechanism responsive to signals from a processing device may be used.
- the locking device 104 is configured to remain locked in response to a disruption to a power source associated with the locking device 104 .
- the trigger 106 is a component of the firearm configured to cause discharge of the firearm responsive to actuation.
- the locking device 104 is configured to prevent actuation of the trigger 106 by default and to selectively enable actuation of the trigger 106 based on one or more signals from the lock controller 102 . That is, during normal operation of the system 100 , the locking device 104 has a default condition in which the locking device 104 is engaged so that the firearm is locked and cannot be discharged.
- FIGS. 2A and 2B illustrate examples of the system 100 embedded in different types of firearms. These examples are provided for illustration only. Accordingly, the system 100 may be embedded in various types of firearms to selectively enable discharge of the firearms.
- the processing device 122 receives a request from the user interface 130 to disengage the locking device 104 .
- a user of the firearm may press a button on the user interface 130 or perform some other interaction with the user interface 130 or with the weapon, such as releasing the safety mechanism or placing a finger on the trigger (both of which can have a sensor that senses the action).
- the user interface 130 or sensor may send a request to disengage the locking device 104 to the processing device 122 .
- the processing device 122 attempts to access expected data for determining whether to disengage the locking device 104 .
- the expected data may be defined by the instructions 136 (or special purpose hardware of the processing device 122 ).
- the expected data includes the user identifier 131 , the firearm type 132 , the one or more fire control rules 134 , time data 140 from the time sensor 124 , and location data 142 from the location sensor 126 .
- the time data 140 indicates a current time and the location data 142 indicates a current location of the firearm.
- the location data 142 corresponds to latitude and longitude values in some implementations.
- the processing device 122 may be configured to decline to disengage the locking device 104 in response to failing to receive some or all of the expected data. For example, the processing device 122 may decline to disengage the locking device 104 in response to failing to receive any one of the user identifier 131 , the firearm type 132 , the time data 140 , or the location data 142 .
- the processing device 122 determines whether the one or more fire control rules 134 are up to date. For example, the processing device 122 may be configured to decline to disengage the lock in response to determining based on the time data 140 and an entry in the one or more fire control rules 134 that the one or more fire control rules 134 were last updated more than a threshold duration of time ago.
- the processing device 122 is further configured to determine whether to disengage the locking device 104 based on the user identifier 131 , the firearm type 132 , the one or more fire control rules 134 , the time data 140 , and the location data 142 . In some implementations, the processing device 122 determines whether circumstances corresponding to the user identifier 131 , the firearm type 132 , the time data 140 , the location data 142 or a combination thereof correspond to (e.g., match) any of the fire control rules 134 . The processing device 122 is configured to disengage the locking device 104 to enable actuation of the trigger 106 in response to determining that the circumstances do not match any of the one or more fire control rules 134 .
- the processing device 122 is configured to disengage the locking device 104 to enable actuation of the trigger 106 based on determining that the circumstances fall within an exception (e.g., an authorized period) to each rule that matches the circumstances.
- the processing device 122 is configured to decline to disengage the locking device 104 based on determining that the circumstances match one of the one or more fire control rules 134 without falling within an exception to that rule.
- FIGS. 5A and 5B illustrate an example of a method that may be implemented by the processing device 122 to determine whether to disengage the locking device 104 .
- the processing device 122 is configured to engage the locking device 104 based on a period of time since disengaging the locking device 104 satisfying a threshold.
- FIG. 1 illustrates a system for locking and selectively unlocking a firearm.
- the system may determine whether to unlock the firearm based on type of the firearm, location of the firearm, and one or more other factors. Accordingly, the system may reduce use of firearms of particular types in locations that are inappropriate for use of those types of firearms. Further, the system may limit use of firearms in other inappropriate circumstances.
- FIG. 2A a diagram illustrating the system 100 embedded in a handgun is shown.
- the lock controller 102 is embedded within a handgrip of the handgun, and the locking device 104 can be embedded within the handgrip or body.
- Other arrangements are possible.
- FIG. 2B a diagram illustrating the system 100 embedded in an assault rifle is shown.
- the lock controller 102 and locking device 104 are embedded within a stock of the assault rifle.
- the system 100 may be embedded in other types of weapons and firearms than those illustrated in FIGS. 2A-2B .
- the lock controller 102 and locking device 104 can be permanently affixed to the weapon in any suitable manner, such as being embedded inside the weapon (or weapon housing) or integrally formed with the weapon.
- the locking device 104 corresponds to a motorized locking device.
- FIG. 3A depicts the motorized version of the locking device 104 in a locked position (e.g., engaged) and FIG. 3B illustrates the motorized version of the locking device 104 in an unlocked position (e.g., disengaged).
- the motorized version of the locking device 104 includes a power source 201 (such as a battery), a motor 202 , and a pin 204 .
- the pin 204 prevents actuation of the trigger 106 while in the unlocked position, the pin 204 does not prevent actuation of the trigger 106 .
- the power source 201 is configured to drive the motor 202 responsive to signals from the lock controller 102 to move the pin 204 from the locked position to the unlocked position and vice versa.
- FIGS. 4A-4B a diagram illustrating a second example of the system 100 is shown.
- the locking device 104 corresponds to a magnetic locking device.
- FIG. 4A depicts the magnetic version of the locking device 104 in a locked position (e.g., engaged) and FIG. 4B illustrates the magnetic version of the locking device 104 in an unlocked position (e.g., disengaged).
- the magnetic version of the locking device 104 includes a power source 301 (such as a battery), one or more coils 304 , a spring 306 , and a pin 308 .
- the pin 308 prevents actuation of the trigger 106 while in the unlocked position, the pin 204 does not prevent actuation of the trigger 106 .
- the spring 306 is configured to push the pin 308 into the locked position.
- the power source 302 is configured to energize the coils 304 to generate a magnetic field responsive to a signal from the lock controller 102 .
- the magnetic field is configured to attract the pin 308 toward the one or more coils 304 overcoming the spring force of the spring 306 and moving the pin 308 from the locked position to the unlocked position.
- the lock controller 102 may initiate movement of the pin 308 to the locked position by signaling the power source 302 to cease energizing the one or more coils 304 .
- any suitable locking device 104 can be utilized that selectively prevents the weapon from being discharged, and not just those shown in FIGS. 3-4 .
- the trigger 106 is locked by a magnetic field.
- the method 500 may include a different number or sequence of steps than shown in some examples.
- the processing device 122 of the lock controller 102 may perform the method 500 .
- the method 500 includes attempting to access an arm type, a user ID, one or more fire control rules, location data, and time data, at 502 .
- the processing device 122 may attempt to access the user identifier 131 , the firearm type 132 , the one or more fire control rules 134 , the time data 140 , and the location data 142 (e.g., expected data).
- the method 500 further includes determining whether expected data is missing, at 504 .
- the processing device 122 may determine whether one or more of the user identifier 131 , the firearm type 132 , the one or more fire control rules 134 , the time data 140 , and the location data 142 is inaccessible.
- the method 500 includes not initiating a trigger unlock, at 524 .
- the processing device 122 may not initiate disengagement of the locking device 104 based on determining that the memory 120 does not include fire control rules that location data from the location sensor 126 is unavailable, or based on some other expected data being inaccessible. This functionality may prevent a user from attempting to disable the locking device 104 by disabling the location sensor 126 or erasing the memory 120 .
- the method 500 further includes determining whether the fire control rules are expired, at 506 .
- the processing device 122 may determine whether the one or more fire control rules 134 are expired based on the time data and based on an entry of the one or more fire control rules 134 indicating a last update.
- the method 500 includes not initiating a trigger unlock, at 524 .
- the processing device 122 may not initiate disengagement of the locking device 104 based on determining that the one or more fire control rules 134 have not been updated for a period of time that exceeds a threshold (e.g., 1 year).
- the processing device 122 may access, via a communication interface of the lock controller 102 , updates to the one or more fire control rules 134 from a remote device.
- the remote device may correspond to a server maintained by a government agency or to a storage device (e.g., a memory stick).
- the processing device 122 may update the date and time of the last update of the one or more fire control rules 134 based on when the remote device is accessed or based on an entry of the remote device.
- the processing device 122 may prevent a user from avoiding updates to the one or more fire control rules 134 in an effort to avoid future restrictions (e.g., new restrictions issued by the government agency).
- the method 500 includes determining whether the one or more fire control rules prohibit the user ID from using the arm type, at 508 .
- the processing device 122 may determine whether any of the one or more fire control rules 134 prohibit the user identifier 131 from using the firearm type 132 .
- the method 500 includes not initiating a trigger unlock, at 524 .
- the processing device 122 may not initiate disengagement of the locking device 104 based on determining that the one or more fire control rules 134 indicate the user identifier 131 may not use the firearm type 132 .
- This functionality may enable law enforcement to disable a particular weapon which a person who is not law enforcement might otherwise not be permitted to use.
- the method 500 includes determining whether the one or more fire control rules prohibit hunting arms and the arm type corresponds to a hunting arm, at 510 .
- a hunting arm e.g., hunting rifle
- the method 500 includes determining whether the fire control rules indicate that the current time is within an authorized period (e.g., a hunting season), at 512 .
- the processing device 122 may determine whether the time data 140 indicates a time that falls within an authorized period (e.g., Oct. 1, 2018-Nov. 1, 2018) of a rule that prohibits hunting arms.
- the method 500 includes not initiating a trigger unlock, at 524 .
- the processing device 122 may not initiate disengagement of the locking device 104 based on determining that a firearm is a hunting weapon and the current time is outside of the authorized period.
- the method 500 further includes calculating one or more distances between a location of the arm and locations identified by the one or more fire control rules and/or a severity database, at 514 .
- the processing device 122 may calculate a distance between a location indicated by the location data 142 (e.g., a position of the arm into which the system 100 is integrated) and one or more locations indicated by the one or more fire control rules 134 and/or the severity database stored in the memory 120 .
- the processing device 122 may calculate a distance between the location indicated by the location data 142 and 31°20′27′′N, 93°50′32′′W.
- the severity database maps classes or categories of locations to severity levels rather than specific locations. For example, the severity database may indicate that hospitals have a severity level of 0.
- the processing device 122 may access a 3 r d party application or device to identify locations corresponding to classes or categories in the severity database that are near the location indicated by the location data 142 .
- the processing device 122 may access Google ® maps to identify locations of hospitals around the location indicated by the location data 142 based on the severity database including an entry for hospitals (Google is a registered trademark of Google LLC of Mountain View Calif.).
- the processing device 122 may calculate the one or more distances using the Haversine algorithm. As explained above, latitudes and longitudes operated on by the system 100 may be expressed in decimal degrees. An example of Java version of the Haversine algorithm that may be executed by the processing device 122 is provided below.
- the method 500 further includes determining whether the arm is located within an area that has a severity level for which the fire control rules restrict the arm type, at 516 .
- the processing device 122 may determine whether the distance to any of the locations in the severity database falls within a corresponding radius.
- the processing device may compare a radius (e.g., 300 meters) associated with the hospital to 200 meters to determine whether the arm falls within the radius associated with the hospital.
- the processing device 122 determines whether the one or more fire control rules 134 include a rule prohibiting the firearm type 132 in areas with a severity level corresponding to the location. To illustrate, in response to determining that the arm is within the 300 meter radius of the hospital, the processing device 122 may determine whether the one or more fire control rules 134 include a rule restricting use of the firearm type 132 in areas having the severity level of the hospital (e.g., 0).
- the method 500 includes not initiating a trigger unlock, at 524 .
- the processing device 122 may determine not to initiate a trigger unlock in response to determining that the arm is located within the 300 meter radius of the hospital described above, that the hospital has a severity level of “0” and that the one or more fire control rules 134 restrict use of firearms in areas of severity level 0.
- Some severity level based fire control rules may be specific to specific users/user classes or may exempt users/user classes. For example, police officers may be exempted from one of the one or more fire control rules 134 restricting weapon use in areas of a particular severity. As another example, a particular severity level based fire control rule may only apply to John Smith.
- the method 500 includes determining whether the arm is within an area for which all types are disallowed, at 518 .
- the one or more fire control rules 134 indicate that all firearm types are disallowed within a radius of a location.
- This rule may prohibit use of all weapon types within 200 meters of Sabine National Forest.
- the processing device 122 may determine whether the distance from the location indicated by the location data 142 to 31°20′27′′N, 93°50′32′′W is less than or equal to 200 meters.
- the method 500 includes not initiating a trigger unlock, at 524 .
- a trigger unlock For example, in response to determining that the arm is within 200 meters of 31°20′27′′N, 93°50′32′′W and that all arm types are banned in that area, the processing device 122 may not initiate disengagement of the locking device 104 .
- Locations identified by the one or more fire control rules 134 can include specific buildings or areas where weapons are prohibited or restricted to certain personnel, such as at a school, church, and government building like a court. Some location based fire control rules may be specific to specific users/user classes or may exempt users/user classes. For example, park rangers may be exempt from a fire control rule restricting weapon use within a park. As another example, a particular location based fire control rule may only apply to John Smith.
- the method 500 further includes determining whether the arm is within an area for which the arm type is restricted, at 520 .
- the processing device 122 may determine whether the location indicated by the location data 142 is within an area identified by the one or more fire control rules 134 for which the firearm type 132 is restricted.
- the processing device 122 may determine whether the distance between 31°20′27′′N, 93°50′32′′W and the location indicated by the location data 142 is less than or equal to 200 feet and whether the firearm type 132 corresponds to hand gun.
- location based rules may apply to specific users/user classes and/or exempt users/user classes.
- the method 500 includes not initiating a trigger unlock, at 524 .
- the method 500 includes initiating a trigger unlock, at 522 .
- the processing device 122 may initiate transition of the locking device 104 into an unlocked position as shown in FIGS. 3B and 4B . Once the locking device 104 is in the unlocked position (e.g., disengaged), the trigger 106 may be actuated (e.g., by a user).
- the processing device 122 may initiate unlock of the locking device 104 based on determining that the location data 142 does not indicate a location that falls within any restricted areas (indicated by location and radius) associated with the firearm type 132 as indicated by the fire control rules 134 .
- the method 500 may be executed by being performed by a lock controller, such as the lock controller 102 , to determine whether to disengage a locking device. Because the method 500 includes determining whether to disengage the locking device based on a user identifier, a firearm type, one or more fire control rules, time data, location data, or a combination thereof, a firearm may be prevented from discharging under various conditions. In this way, a user can use a particular weapon in locations that are permitted, but that weapon will be locked so it cannot be discharged at a restricted location such as a school.
- the method 500 may be implemented within components of a firearm.
- the lock controller 102 and the locking device 104 may be integrated within a firearm. Accordingly, locking and unlocking of the firearm may be controlled by the lock controller 102 and the locking device 104 rather than by components remote to the firearm. Since the decision to lock/unlock the firearm is made locally, a user may be unable to inappropriately circumvent a lock of the firearm by sending an unlock signal to the firearm from an external device. Further, since the method 500 includes determining whether expected data is missing, at 504 , and not initiating trigger unlock, at 524 , in response to determining that the expected data is missing, the method 500 may be resistant to a user tampering with components of the firearm to circumvent the lock.
- the processing device 122 may not unlock the firearm in response to determining that one of the time data 140 , the location data 142 , the one or more fire control rules 134 , the user identifier 131 , or the firearm type 132 is unavailable (e.g., due to tampering with the time sensor 124 , the location sensor 126 , or the memory 120 ).
- the method 500 may be robust to certain types of circumvention.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Lock And Its Accessories (AREA)
Abstract
An apparatus for controlling a trigger mechanism of a weapon includes a locking device configured to disable the trigger mechanism in an engaged state and a lock controller. The lock controller includes a location sensor, a processing device, and a memory device. The memory device stores one or more fire control rules and instructions executable by the processing device to determine whether to disengage the locking device to enable the trigger mechanism based on the one or more fire control rules, data from the location sensor, and a type of the weapon.
Description
- This application claims the benefit of U.S. Provisional Patent Application No. 62/652,328, filed on Apr. 4, 2018 and entitled “Geo-localizable firearms system and method that triggers bullet firing only within a set of specific authorized areas,” the content of which is incorporated in its entirety.
- The application relates to weapon lock control systems.
- Weapons, such as and including firearms, can be used for a variety of purposes, some of which are legal and beneficial, and some of which are illegal and harmful. For example, weapons are sometimes used to commit crimes, such as in the commission of robberies, murders, kidnappings, etc. However, firearms have many legal uses as well, such as for example, hunting, self-defense, and sport. As another example, law enforcement officers use firearms in the course of their duties to protect the public. But those weapons are not able to discriminate between legal and illegal uses.
- Systems and methods for selectively unlocking a weapon (generally referred to herein as a “firearm”) are disclosed. In particular, a firearm includes a processing device and a memory storing instructions executable by the processing device to control a locking device, such as an electromagnetic lock or a shutter, based on one or more firearm control rules. A particular fire control rule may be based on distance to a location, type of firearm, user identifier, an authorized time period, a severity level associated with the location, a time associated with the fire control rule, a date associated with the fire control rule, or a combination thereof. While engaged, the locking device prevents actuation of a trigger of the firearm, and in particular examples, the locking device is engaged by default. Accordingly, the described systems and methods may reduce misuse of firearms by selectively enabling firearms in contexts that are not disallowed. By incorporating the disclosed system into newly manufactured firearms, lethal crimes may be reduced. Accordingly, weapons manufacturers may reduce lethal crimes without reducing manufacturing output.
- An apparatus for controlling a trigger mechanism of a weapon includes a locking device configured to disable the trigger in an engaged state and a lock controller. The lock controller includes a location sensor, a processing device, and a memory device. The memory device stores one or more fire control rules and instructions executable by the processing device to determine whether to disengage the locking device to enable the trigger mechanism based on the one or more fire control rules, data from the location sensor, and a type of the weapon.
- A computer readable storage device stores instructions executable by one or more processing devices to receive location data from a location sensor of a firearm. The instructions are further executable by the one or more processors to disengage a locking device to enable a trigger of the firearm based on one or more fire control rules, data from the location sensor, and a type of the firearm.
- A method includes receiving location data from a location sensor of a firearm. The method further includes determining whether to disengage a locking device to enable a trigger of the firearm based on one or more fire control rules, data from the location sensor, and a type of the firearm.
-
FIG. 1 is a block diagram of a firearm locking and unlocking system; -
FIG. 2A is a diagram of the firearm locking and unlocking system embedded in a handgun; -
FIG. 2B is a diagram of the firearm locking and unlocking system embedded in an assault rifle; -
FIG. 3A is a diagram of a motorized version of a locking device of the firearm locking and unlocking system in a locked position; -
FIG. 3B is a diagram of the motorized version of the locking device of the firearm locking and unlocking system in an unlocked position; -
FIG. 4A is a diagram of a magnetic version of the locking device of the firearm locking and unlocking system in a locked position; -
FIG. 4B is a diagram of the magnetic version of the locking device of the firearm locking and unlocking system in an unlocked position; -
FIG. 5A is a flowchart illustrating a first portion of a method of determining whether to unlock a firearm; and -
FIG. 5B is a flowchart illustrating a second portion of the method of determining whether to unlock the firearm. - Referring to
FIG. 1 , a block diagram illustrating asystem 100 for locking and unlocking a firearm is shown. Thesystem 100 is integrated into the firearm. Integration of thesystem 100 with various firearms is illustrated byFIGS. 2A-2B . While described and illustrated as integrated in various firearms, thesystem 100 may be integrated in other types of weapons in other implementations. Thesystem 100 includes alock controller 102, alocking device 104, and atrigger 106 of the firearm. While described as a trigger, it should be noted that in other implementations, thetrigger 106 corresponds to a different type of trigger mechanism (e.g., a button, a switch, etc.) for initiating discharge of a weapon. Thelock controller 102 includes amemory 120, aprocessing device 122, atime sensor 124, alocation sensor 126, and auser interface 130. Thememory 120 includes one or more computer readable storage devices. The one or more computer readable storage devices may include one or more read only memory (ROM) devices, one or more random access memory (RAM) device, one or more solid state drive (SSD) devices, one or more hard disc drive (HDD) devices, one or more other memory devices of other types, or a combination thereof. A computer readable storage device is an article of manufacture and is not a signal. Theprocessing device 122 may correspond to a central processor unit, an application specific integrated circuit, a field programmable gate array, another type of processing device, or a combination thereof. Thetime sensor 124 may include a digital clock or other type of time sensor. Thelocation sensor 126 may include a global positioning system (GPS) device, an inertial measurement unit (IMU), another type of location sensor, or a combination thereof. Theuser interface 130 may include one or more input elements, one or more output elements, or a combination thereof. Examples of input devices include touch screen displays, buttons, switches, microphones, etc. Examples of output elements include display devices (e.g., a light emitting diode screen, a liquid crystal display screen, a light emitting diode indicator, etc.), speakers, etc. - Some implementations of the
lock controller 102 may include more or fewer elements than shown. For example, thelock controller 102 may not include thetime sensor 124 in some examples. Further, some implementations include one or more wired and/or wireless communications interfaces. For example, thelock controller 102 may include a WiFi® interface, a Bluetooth® interface, a universal serial bus (USB) interface, one or more other communication interfaces, or a combination thereof (Wi-Fi is a registered trademark of Wi-Fi Alliance Corporation California of Austin, Tex., and Bluetooth is a registered trademark of Bluetooth SIG, Inc. of Kirkland, Wash.). - Referring back to the
memory 120, thememory 120 stores auser identifier 131, afirearm type 132, one or morefire control rules 134, andinstructions 136. Theuser identifier 131 identifies a user (e.g., an owner) of the firearm into which thesystem 100 is integrated. In some implementations, theuser identifier 131 is stored in thememory 120 upon sale of the firearm. For example, a point of sale computer system (or other computer device) at a gun store may connect to thelock controller 102 and store theuser identifier 131 in thememory 120. In some implementations, theuser identifier 131 is communicated to thelock controller 102 in an encrypted form. For example, the point of sale computer system (or other computer device) may encrypt theuser identifier 131 using triple DES or another encryption algorithm prior to transmitting theuser identifier 131 to thelock controller 102. Thelock controller 102 may store theuser identifier 131 in thememory 120 in an encrypted format. Theuser identifier 131 may correspond to a unique identifier, such as a telephone number, a gun registration number, or any other type of identifier. In other implementations, theuser identifier 131 is transferred to thememory 120 from another memory device of an individual who wishes to use the firearm. For example, a user may plug a memory stick including theuser identifier 131 into thelock controller 102 and thelock controller 102 may copy theuser identifier 131 into thememory 120. In some implementations, thelock controller 102 may delete theuser identifier 131 from thememory 120 upon detecting removal of the memory stick or upon expiration of a time to live associated with theuser identifier 131. - The
firearm type 132 identifies a type of the firearm into which thesystem 100 is integrated. The type of the firearm may correspond to a category of the firearm, an ammunition used by the firearm, an effective range of the firearm, or a combination thereof. Examples of categories include assault weapon, handgun, shotgun, hunting rifle, etc. In some implementations, thefirearm type 132 is stored in thememory 120 upon manufacture of the firearm. For example, thefirearm type 132 may be stored in a read only portion of thememory 120 by the manufacturer of the firearm. As explained above, thefirearm type 132 may be stored in thememory 120 in an encrypted format. The read only portion ofmemory 120 may correspond to a read only memory device, to a hardwired memory device storing thefirearm type 132, or to another type of read-only memory. - The one or more
fire control rules 134 indicate conditions under which the firearm should or should not be unlocked. For example, the one or morefire control rules 134 may indicate that a particular firearm type is not to be unlocked within a particular radius of a location. In some implementations, each rule of the one or fire control rules 134 includes one or more of the following fields or attributes: <location name>; <latitude>; <longitude>; <radius>; <authorized period>; <severity>; <arm type>; <user ID>; <date of entry>; and <time of entry>. Other implementations may include fewer/more or different attributes. Further, in some implementations, attributes corresponding to the attributes identified above may have different names. - The attribute <location name> indicates a label of a location. For example, the attribute <location name> may have a value of “the Alamo.” The attributes <latitude> and <longitude> indicate coordinates identifying a position of the location on the Earth. For example, <latitude> may have a value of “29°25′33″N” and <longitude> may have a value of “98°29′10″W.” While examples of latitude and longitude are provided herein expressed as degrees, minutes, and seconds, the
system 100 may operate on expressions of latitude and longitude in decimal degrees in some implementations. The attribute <radius> indicates a radius around the location that the rule applies to. For example, <radius> may have a value of “200 feet.” The attribute <authorized period> indicates a period of time during which hunting arms may be used within the radius. Thus, the <latitude>, <longitude>, and <radius> attributes define an area of the Earth to which a rule applies and the <location name> attribute assigns a name to the area. - The <arm type> attribute indicates an arm type for which the rule applies. As described above, a type may correspond to a category of the firearm, an ammunition used by the firearm, an effective range of the firearm, or a combination thereof.
- The <authorized period> attribute corresponds to a period of time during which use of the arm type is authorized for the location. For example, the period of time may correspond to a hunting season. To illustrate, <authorized period> may have a value of “Oct. 27, 2018-Feb. 10, 2019.”
- The <severity> attribute indicates restrictions based on a level of public concern with protecting one or more locations. The
memory 120 may further store a severity database mapping areas to severity levels. For example, several areas (e.g., location and radius combinations) corresponding to hospitals and schools may be mapped to a severity value of “0” in the severity database while an area associated with the White House has a severity level of “1”. 0 may indicate a highest level of public concern. The <severity> attribute in the one or more fire control rules 134 defines a restriction for one or more weapon types and/or one or more users. For example, the fire control rule <weapon type=“x”>; <severity=“0”> may indicate that weapons of any type may not be used areas that have a severity level of 0. In some implementations, a fire control rule for a particular severity level applies to areas of greater concern as well (e.g., areas associated with lower severity levels). For example, <weapon type=“hand gun”; <severity=“1”> may restrict hand guns in both areas associated with severity level 1 and areas associated with severity level 0. In other examples, higher values may indicate greater levels of public concern. In such other examples, <weapon type=“hand gun”; <severity=“1”> may restrict hand guns in areas associated with severity level 1 and areas associated with severity level 2. While severity levels are described herein, it should be noted that the one or morefire control rules 134 may include restrictions based on other categorizations of areas. In such implementations, thememory 120 may store a database mapping areas to categorizations. - The <user ID> attribute indicates a user identifier (ID) corresponding to a user (e.g., gun owner or other user) to which the rule applies. As explained above, the user ID may include or correspond to a telephone number, a gun registry number, or some other identifier.
- The <date of entry> attribute indicates a date on which the rule was added to the one or more fire control rules 134. Similarly, the <time of entry> attribute indicates a time at which the rule was added to the one or more fire control rules 134. The <date of entry> and <time of entry> attributes indicate a time of update of the one or more fire control rules 134.
- It should be noted that individual rules may not include each attribute supported by the system. For example, some entries may not include the <authorized period> attribute. Further, attributes may be assigned wild cards as a value. For example, <user ID=“*”> may indicate that a particular rule applies to all users. As described herein, the one or more
fire control rules 134 identify circumstances under which discharge of a firearm should not be allowed while the <authorized period> attribute identifies an exception to a restriction. Because the one or morefire control rules 134 identify circumstances under which firearms may not be discharged, the one or morefire control rules 134 may be considered a blacklist database. The disclosed attributes of the one or morefire control rules 134 are provided for purposes of illustration. Different rules may be implemented to achieve the functionality described herein. - In some implementations, the one or more
fire control rules 134 further includes an entry indicating a date and time of a last update to the fire control rule(s) 134. For example, thelock controller 102 may connect to a remote rules database device (e.g., via a wired or wireless connection) and may download updated fire control rules. The remote rules database device may be a device associated with a gun manufacturer. For example, the one or morefire control rules 134 may be downloaded to thememory 120 at time of manufacture. The remote rules database device may be associated with an arm seller. For example, the fire control rules 134 (or updates) may be downloaded to thememory 120 at time of sale. In other examples, the remote rules database device may be associated with a government agency. Thelock controller 102 may access different remote rules database devices overtime. Each time the one or morefire control rules 134 are updated, thelock controller 102 may create an entry indicating a date and time of the update. The one or morefire control rules 134 may be encrypted so that a user of the firearm into which thelock controller 102 is integrated may be unable to edit the one or morefire control rules 134 generally and the entry indicating the date and time of the last update in particular. In some implementations, a portion of the one or more fire control rules 134 is hardcoded. For example, a portion of the one or morefire control rules 134 may be stored in a read only memory or other fixed memory device. - A first example of a rule that may be included in the one or more fire control rules 134 is <location name=“the White House”>; <latitude=“38°53″52″N”>; <longitude=“77°02′11″W”>; <radius=“300 feet”>; <arm type=“assault rifle”>; <user ID=“*”>; <date of entry=“8/7/2018”>; <time of entry=“11:37:00CT”>. The first example rule indicates that assault rifle type weapons may not be fired by anyone within 300 feet of 38°53′52″N, 77°02′11″W, which is the location of the White House. The first example rule indicates that the first example rule was updated/saved on Aug. 7, 2018 at 11:37:00 CT.
- A second example of a rule is <location name=“the White House”>; <latitude=“38°53′52″N”>; <longitude=“77°02′11″W”>; <radius=“300 feet”>; <arm type=“assault rifle”>; <user ID=“1234”>; <date of entry=“8/7/2018”>; <time of entry=“11:37:00CT”>. The second example rule is the same as the first example rule except the second example rule applies to a specific user whose ID is “1234.”
- A rule may have more than one value for one or more attributes. To illustrate, a third example of a rule is <location name=“the White House”>; <latitude=“38°53′52″N”>; <longitude=“77°02′11″W”>; <radius=“300 feet”>; <arm type=“assault rifle”>; <user ID=“1234”>; <user ID=“5678”>; <date of entry=“8/7/2018”>; <time of entry=“11:37:00CT”>. The third example rule is the same as the second example rule except the third example rule applies to both the specific user whose ID is “1234” and to a specific user whose ID is “5678.”
- A fourth example of a rule is <location name=“Sabine National Forest”>; <latitude=“31°20′27″N”>; <longitude=“93°50′32″W”>; <radius=“1000 feet”>; <arm type=“hunting rifle”>; <user ID=“*”>; <authorized period=“10/01/2018-11/01/2018”>; <date of entry=“8/7/2018”>; <time of entry=“11:37:00CT”>. The fourth example rule indicates that hunting rifle type weapons may not be fired by anyone within 1000 feet of 31°20′27″N″, 93°50′32″W, which is the location of Sabine National Forest, except between Oct. 1, 2018 and Nov. 1, 2018. In some implementations, the <authorized period> attribute may only be used to create exceptions for hunting weapons.
- The one or more
fire control rules 134 may include multiple different rules for the same location. Accordingly, different types of firearms or different users may be subject to different restrictions. For example, the one or morefire control rules 134 may include a fourth example rule and a fifth example rule <location name=“Sabine National Forest”>; <latitude=“31°20′27″N”>; <longitude=“93°50′32″W”>; <radius=“2000 feet”>; <arm type=“assault rifle”>; <user ID=“*”>; <date of entry=“8/7/2018”>; <time of entry=“11:37:00CT”>. Together, the fourth and fifth example rules indicate that hunting rifle type weapons may not be fired by anyone within 1000 feet of 31°20′27″N″, 93°50′32″W, except between Oct. 1, 2018 and Nov. 1, 2018, and assault rifles may never be fired by anyone within 2000 feet of 31°20′27″N″, 93°50′32″W. - The one or more
fire control rules 134 may include rules that are not dependent on particular attributes. Such rules may omit one or more attributes (e.g., <location>, <latitude>, <longitude>, <radius>) or may use a wildcard for one or more attributes. For example, a sixth example rule is <user ID=“*”>; <arm type=“rifle”>, and a seventh example rule is <location name=“Sabine National Forest”>; <latitude=“31°20′27″N”>; <longitude=“93°50′32″W”>; <radius=“*”>; <user ID=“*”>; <arm type=“rifle”>. Both the sixth and the seventh example rules indicate that rifles may not be used regardless of location (e.g., globally). - The one or more
fire control rules 134 may include various rule types. A rule's type is determined by the attributes included in the rule. Rule types may include a hunting type, a restricted area type, a restricted user type, a severity type, etc. A rule of the hunting type allows unlock of firearms within an authorized time period. A rule of the restricted area type prohibits use of a firearm within a restricted area. The restricted area may be defined by a location and a radius. A rule of the restricted user type prohibits a particular individual using a firearm. A rule of the severity type restricts use of a firearm within areas associated with a particular severity level. The one or morefire control rules 134 may include rules of hybrid types. For example, a restricted area rule may have a hunting exception. That is, use of a firearm may be restricted within an area except during an authorized period. Further, use of a firearm may be restricted within an area for a specific user. Rules of the one or morefire control rules 134 may be specific to weapon types. For example, a restricted area rule may apply only to handguns. As explained above, the restricted area may be defined by a location and a radius. A second rule may restrict a different type of weapon (e.g., rifles) based on the same location and a different radius. Thus, the one or morefire control rules 134 may restrict use of firearms of a particular type based on a firearm type-specific radius around a location. One or more rules may be associated with a severity level. Based on the severity level - Referring back to the
memory 120, thememory 120further stores instructions 136. Theinstructions 136 comprise computer readable code executable by theprocessing device 122 to perform one or more actions described herein. It should be noted that in some implementations, theprocessing device 122 includes special purpose hardware configured to perform some or all of the actions described herein. In implementations in which theprocessing device 122 includes special purpose hardware configured to perform all of the operations described herein, thememory 120 may not store theinstructions 136. - The
locking device 104 of the may correspond to one of a variety of electronic locking mechanisms.FIGS. 3A and 3B (described further below) illustrate an electronic lock with a motor, andFIGS. 4A and 4B (described further below) illustrate electronic locks operated with magnetic fields. These examples are provided for illustration only. Any electronic locking mechanism responsive to signals from a processing device may be used. Thelocking device 104 is configured to remain locked in response to a disruption to a power source associated with thelocking device 104. - The
trigger 106 is a component of the firearm configured to cause discharge of the firearm responsive to actuation. Thelocking device 104 is configured to prevent actuation of thetrigger 106 by default and to selectively enable actuation of thetrigger 106 based on one or more signals from thelock controller 102. That is, during normal operation of thesystem 100, thelocking device 104 has a default condition in which thelocking device 104 is engaged so that the firearm is locked and cannot be discharged.FIGS. 2A and 2B (described further below) illustrate examples of thesystem 100 embedded in different types of firearms. These examples are provided for illustration only. Accordingly, thesystem 100 may be embedded in various types of firearms to selectively enable discharge of the firearms. - In operation, the
processing device 122 receives a request from theuser interface 130 to disengage thelocking device 104. For example, a user of the firearm may press a button on theuser interface 130 or perform some other interaction with theuser interface 130 or with the weapon, such as releasing the safety mechanism or placing a finger on the trigger (both of which can have a sensor that senses the action). Responsive to the user interaction, theuser interface 130 or sensor may send a request to disengage thelocking device 104 to theprocessing device 122. - Responsive to the request from the
user interface 130 or other sensor, theprocessing device 122 attempts to access expected data for determining whether to disengage thelocking device 104. The expected data may be defined by the instructions 136 (or special purpose hardware of the processing device 122). In the illustrated example, the expected data includes theuser identifier 131, thefirearm type 132, the one or morefire control rules 134,time data 140 from thetime sensor 124, andlocation data 142 from thelocation sensor 126. Thetime data 140 indicates a current time and thelocation data 142 indicates a current location of the firearm. Thelocation data 142 corresponds to latitude and longitude values in some implementations. Theprocessing device 122 may be configured to decline to disengage thelocking device 104 in response to failing to receive some or all of the expected data. For example, theprocessing device 122 may decline to disengage thelocking device 104 in response to failing to receive any one of theuser identifier 131, thefirearm type 132, thetime data 140, or thelocation data 142. - Once the expected data is accessed, the
processing device 122 determines whether the one or morefire control rules 134 are up to date. For example, theprocessing device 122 may be configured to decline to disengage the lock in response to determining based on thetime data 140 and an entry in the one or morefire control rules 134 that the one or morefire control rules 134 were last updated more than a threshold duration of time ago. - The
processing device 122 is further configured to determine whether to disengage thelocking device 104 based on theuser identifier 131, thefirearm type 132, the one or morefire control rules 134, thetime data 140, and thelocation data 142. In some implementations, theprocessing device 122 determines whether circumstances corresponding to theuser identifier 131, thefirearm type 132, thetime data 140, thelocation data 142 or a combination thereof correspond to (e.g., match) any of the fire control rules 134. Theprocessing device 122 is configured to disengage thelocking device 104 to enable actuation of thetrigger 106 in response to determining that the circumstances do not match any of the one or more fire control rules 134. Further, theprocessing device 122 is configured to disengage thelocking device 104 to enable actuation of thetrigger 106 based on determining that the circumstances fall within an exception (e.g., an authorized period) to each rule that matches the circumstances. Theprocessing device 122 is configured to decline to disengage thelocking device 104 based on determining that the circumstances match one of the one or morefire control rules 134 without falling within an exception to that rule.FIGS. 5A and 5B (described below) illustrate an example of a method that may be implemented by theprocessing device 122 to determine whether to disengage thelocking device 104. In some implementations, theprocessing device 122 is configured to engage thelocking device 104 based on a period of time since disengaging thelocking device 104 satisfying a threshold. - Thus,
FIG. 1 illustrates a system for locking and selectively unlocking a firearm. The system may determine whether to unlock the firearm based on type of the firearm, location of the firearm, and one or more other factors. Accordingly, the system may reduce use of firearms of particular types in locations that are inappropriate for use of those types of firearms. Further, the system may limit use of firearms in other inappropriate circumstances. - Referring to
FIG. 2A , a diagram illustrating thesystem 100 embedded in a handgun is shown. In the illustrated example, thelock controller 102 is embedded within a handgrip of the handgun, and thelocking device 104 can be embedded within the handgrip or body. Other arrangements are possible. - Referring to
FIG. 2B , a diagram illustrating thesystem 100 embedded in an assault rifle is shown. In the illustrated example, thelock controller 102 and lockingdevice 104 are embedded within a stock of the assault rifle. Other arrangements are possible. Further, thesystem 100 may be embedded in other types of weapons and firearms than those illustrated inFIGS. 2A-2B . And, thelock controller 102 and lockingdevice 104 can be permanently affixed to the weapon in any suitable manner, such as being embedded inside the weapon (or weapon housing) or integrally formed with the weapon. - Referring to
FIGS. 3A-3B , a diagram illustrating a first example of thesystem 100 is shown. In the first example, thelocking device 104 corresponds to a motorized locking device. -
FIG. 3A depicts the motorized version of thelocking device 104 in a locked position (e.g., engaged) andFIG. 3B illustrates the motorized version of thelocking device 104 in an unlocked position (e.g., disengaged). The motorized version of thelocking device 104 includes a power source 201 (such as a battery), amotor 202, and apin 204. In the locked position, thepin 204 prevents actuation of thetrigger 106 while in the unlocked position, thepin 204 does not prevent actuation of thetrigger 106. Thepower source 201 is configured to drive themotor 202 responsive to signals from thelock controller 102 to move thepin 204 from the locked position to the unlocked position and vice versa. - Referring to
FIGS. 4A-4B , a diagram illustrating a second example of thesystem 100 is shown. In the second example, thelocking device 104 corresponds to a magnetic locking device. -
FIG. 4A depicts the magnetic version of thelocking device 104 in a locked position (e.g., engaged) andFIG. 4B illustrates the magnetic version of thelocking device 104 in an unlocked position (e.g., disengaged). The magnetic version of thelocking device 104 includes a power source 301 (such as a battery), one ormore coils 304, aspring 306, and apin 308. In the locked position, thepin 308 prevents actuation of thetrigger 106 while in the unlocked position, thepin 204 does not prevent actuation of thetrigger 106. Thespring 306 is configured to push thepin 308 into the locked position. Thepower source 302 is configured to energize thecoils 304 to generate a magnetic field responsive to a signal from thelock controller 102. The magnetic field is configured to attract thepin 308 toward the one ormore coils 304 overcoming the spring force of thespring 306 and moving thepin 308 from the locked position to the unlocked position. Thelock controller 102 may initiate movement of thepin 308 to the locked position by signaling thepower source 302 to cease energizing the one ormore coils 304. It is further noted that anysuitable locking device 104 can be utilized that selectively prevents the weapon from being discharged, and not just those shown inFIGS. 3-4 . For example, in some implementations, thetrigger 106 is locked by a magnetic field. - Referring to
FIGS. 5A-5B , a flowchart illustrating an operation ormethod 500 for determining whether to disengage a trigger locking device is shown. Themethod 500 may include a different number or sequence of steps than shown in some examples. Theprocessing device 122 of thelock controller 102 may perform themethod 500. Themethod 500 includes attempting to access an arm type, a user ID, one or more fire control rules, location data, and time data, at 502. For example, based on input from theuser interface 130, theprocessing device 122 may attempt to access theuser identifier 131, thefirearm type 132, the one or morefire control rules 134, thetime data 140, and the location data 142 (e.g., expected data). - The
method 500 further includes determining whether expected data is missing, at 504. For example, theprocessing device 122 may determine whether one or more of theuser identifier 131, thefirearm type 132, the one or morefire control rules 134, thetime data 140, and thelocation data 142 is inaccessible. In response to determining that some of the expected data is missing, themethod 500 includes not initiating a trigger unlock, at 524. For example, theprocessing device 122 may not initiate disengagement of thelocking device 104 based on determining that thememory 120 does not include fire control rules that location data from thelocation sensor 126 is unavailable, or based on some other expected data being inaccessible. This functionality may prevent a user from attempting to disable thelocking device 104 by disabling thelocation sensor 126 or erasing thememory 120. - In response to determining that none of the expected data is missing,
step 504, themethod 500 further includes determining whether the fire control rules are expired, at 506. For example, theprocessing device 122 may determine whether the one or morefire control rules 134 are expired based on the time data and based on an entry of the one or morefire control rules 134 indicating a last update. In response to determining that the one or more fire control rules are expired,step 506, themethod 500 includes not initiating a trigger unlock, at 524. For example, theprocessing device 122 may not initiate disengagement of thelocking device 104 based on determining that the one or morefire control rules 134 have not been updated for a period of time that exceeds a threshold (e.g., 1 year). Theprocessing device 122 may access, via a communication interface of thelock controller 102, updates to the one or morefire control rules 134 from a remote device. The remote device may correspond to a server maintained by a government agency or to a storage device (e.g., a memory stick). Theprocessing device 122 may update the date and time of the last update of the one or morefire control rules 134 based on when the remote device is accessed or based on an entry of the remote device. By determining not to initiate disengagement of thelocking device 104 in response to determining that the one or morefire control rules 134 have not been updated for longer than a threshold period of time, theprocessing device 122 may prevent a user from avoiding updates to the one or morefire control rules 134 in an effort to avoid future restrictions (e.g., new restrictions issued by the government agency). - In response to determining that the one or more fire control rules are not expired (i.e., that the fire control rules are current),
step 506, themethod 500 includes determining whether the one or more fire control rules prohibit the user ID from using the arm type, at 508. For example, theprocessing device 122 may determine whether any of the one or morefire control rules 134 prohibit theuser identifier 131 from using thefirearm type 132. In response to determining that the one or more fire control rules prohibit the user ID from using the arm type, themethod 500 includes not initiating a trigger unlock, at 524. For example, theprocessing device 122 may not initiate disengagement of thelocking device 104 based on determining that the one or morefire control rules 134 indicate theuser identifier 131 may not use thefirearm type 132. This functionality may enable law enforcement to disable a particular weapon which a person who is not law enforcement might otherwise not be permitted to use. - In response to determining that the user ID is not prohibited from using the arm type, the
method 500 includes determining whether the one or more fire control rules prohibit hunting arms and the arm type corresponds to a hunting arm, at 510. For example, theprocessing device 122 may determine whether the one or morefire control rules 134 include a rule specifying that hunting weapons are prohibited (e.g., <location name=“Sabine National Forest”>; <latitude=“31°20′27″N”>; <longitude=“93°50′32″W”>; <radius=“1000 feet”>; <arm type=“hunting”>; <user ID=“*”>; <authorized period=“10/01/2018-11/01/2018”>; <date of entry=“8/7/2018”>; <time of entry=“11:37:00CT”> and whether thefirearm type 132 indicates a hunting arm (e.g., hunting rifle). In response to determining that the fire control rules prohibit hunting arms and that the arm type corresponds to a hunting arm, themethod 500 includes determining whether the fire control rules indicate that the current time is within an authorized period (e.g., a hunting season), at 512. For example, theprocessing device 122 may determine whether thetime data 140 indicates a time that falls within an authorized period (e.g., Oct. 1, 2018-Nov. 1, 2018) of a rule that prohibits hunting arms. In response to determining that the current time does not fall within the authorized period, themethod 500 includes not initiating a trigger unlock, at 524. For example, theprocessing device 122 may not initiate disengagement of thelocking device 104 based on determining that a firearm is a hunting weapon and the current time is outside of the authorized period. - In response to determining that the fire control rules do not prohibit hunting arms, the arm type does not correspond to a hunting arm, or that the fire control rules indicate that the current time is within an authorized period, the
method 500 further includes calculating one or more distances between a location of the arm and locations identified by the one or more fire control rules and/or a severity database, at 514. For example, theprocessing device 122 may calculate a distance between a location indicated by the location data 142 (e.g., a position of the arm into which thesystem 100 is integrated) and one or more locations indicated by the one or morefire control rules 134 and/or the severity database stored in thememory 120. To illustrate, for the rule <location name=“Sabine National Forest”>; <latitude=“31°20′27″N”>; <longitude=“93°50′32″W”>; <radius=“200 feet”>; <arm type=“hand gun”>; <user ID=“*”>; <date of entry=“8/7/2018”>; <time of entry=“11:37:00CT”>, theprocessing device 122 may calculate a distance between the location indicated by thelocation data 142 and 31°20′27″N, 93°50′32″W. In some implementations, the severity database maps classes or categories of locations to severity levels rather than specific locations. For example, the severity database may indicate that hospitals have a severity level of 0. Theprocessing device 122 may access a 3 r d party application or device to identify locations corresponding to classes or categories in the severity database that are near the location indicated by thelocation data 142. For example, theprocessing device 122 may accessGoogle® maps to identify locations of hospitals around the location indicated by thelocation data 142 based on the severity database including an entry for hospitals (Google is a registered trademark of Google LLC of Mountain View Calif.). - The
processing device 122 may calculate the one or more distances using the Haversine algorithm. As explained above, latitudes and longitudes operated on by thesystem 100 may be expressed in decimal degrees. An example of Java version of the Haversine algorithm that may be executed by theprocessing device 122 is provided below. -
public class HaversineAlgorithm { static final double _eQuatorialEarthRadius = 6378.1370D; static final double _d2r = (Math.PI / 180D); public static int HaversineInM(double lat1, double long1, double lat2, double long2) { return (int) (1000D * HaversineInKM(lat1, long1, lat2, long2)); } public static double HaversineInKM(double lat1, double long1, double lat2, double long2) { double dlong = (long2 − long1) * _d2r; double dlat = (lat2 − lat1) * _d2r; double a = Math.pow(Math.sin(dlat / 2D), 2D) + Math.cos(lat1 * _d2r) * Math.cos(lat2 * _d2r) * Math.pow(Math.sin(dlong / 2D), 2D); double c = 2D * Math.atan2(Math.sqrt(a), Math.sqrt(1D − a)); double d = _eQuatorialEarthRadius * c; return d; } } - The
method 500 further includes determining whether the arm is located within an area that has a severity level for which the fire control rules restrict the arm type, at 516. For example, after determining distances between the locations identified in the severity database, theprocessing device 122 may determine whether the distance to any of the locations in the severity database falls within a corresponding radius. To illustrate, after determining that the arm is located 200 meters from a hospital, the processing device may compare a radius (e.g., 300 meters) associated with the hospital to 200 meters to determine whether the arm falls within the radius associated with the hospital. If the arm is within a radius associated with a location in the severity database, theprocessing device 122 determines whether the one or morefire control rules 134 include a rule prohibiting thefirearm type 132 in areas with a severity level corresponding to the location. To illustrate, in response to determining that the arm is within the 300 meter radius of the hospital, theprocessing device 122 may determine whether the one or morefire control rules 134 include a rule restricting use of thefirearm type 132 in areas having the severity level of the hospital (e.g., 0). - In response to determining that the arm is located within an area that has a severity level for which the fire control rules restrict the arm type, the
method 500 includes not initiating a trigger unlock, at 524. For example, theprocessing device 122 may determine not to initiate a trigger unlock in response to determining that the arm is located within the 300 meter radius of the hospital described above, that the hospital has a severity level of “0” and that the one or morefire control rules 134 restrict use of firearms in areas of severity level 0. Some severity level based fire control rules may be specific to specific users/user classes or may exempt users/user classes. For example, police officers may be exempted from one of the one or morefire control rules 134 restricting weapon use in areas of a particular severity. As another example, a particular severity level based fire control rule may only apply to John Smith. - In response to determining that the arm is not within an area that has a severity level for which the fire control rules restrict the arm type, the
method 500 includes determining whether the arm is within an area for which all types are disallowed, at 518. For example, the one or morefire control rules 134 indicate that all firearm types are disallowed within a radius of a location. An example of such a rule is <location name=“Sabine National Forest”>; <latitude=“31°20′27″N”>; <longitude=“93°50′32″W”>; <radius=“200 meters”>; <arm type=“*”>; <user ID=“*”>; <date of entry=“8/7/2018”>; <time of entry=“11:37:00CT”>. This rule may prohibit use of all weapon types within 200 meters of Sabine National Forest. Theprocessing device 122 may determine whether the distance from the location indicated by thelocation data 142 to 31°20′27″N, 93°50′32″W is less than or equal to 200 meters. In response to determining that the arm is within an area for which the fire control rules restrict all arm types, themethod 500 includes not initiating a trigger unlock, at 524. For example, in response to determining that the arm is within 200 meters of 31°20′27″N, 93°50′32″W and that all arm types are banned in that area, theprocessing device 122 may not initiate disengagement of thelocking device 104. Locations identified by the one or morefire control rules 134 can include specific buildings or areas where weapons are prohibited or restricted to certain personnel, such as at a school, church, and government building like a court. Some location based fire control rules may be specific to specific users/user classes or may exempt users/user classes. For example, park rangers may be exempt from a fire control rule restricting weapon use within a park. As another example, a particular location based fire control rule may only apply to John Smith. - In response to determining that the arm is not within an area for which all arm types are restricted, the
method 500 further includes determining whether the arm is within an area for which the arm type is restricted, at 520. For example, theprocessing device 122 may determine whether the location indicated by thelocation data 142 is within an area identified by the one or morefire control rules 134 for which thefirearm type 132 is restricted. An example of a rule that restricts a specific type of firearm is <location name=“Sabine National Forest”>; <latitude=“31°20′27″N”>; <longitude=“93°50′32″W”>; <radius=“200 feet”>; <arm type=“hand gun”>; <user ID=“*”>; <date of entry=“8/7/2018”>; <time of entry=“11:37:00CT”>. Based on this rule, theprocessing device 122 may determine whether the distance between 31°20′27″N, 93°50′32″W and the location indicated by thelocation data 142 is less than or equal to 200 feet and whether thefirearm type 132 corresponds to hand gun. As described above, location based rules may apply to specific users/user classes and/or exempt users/user classes. - In response to determining that the arm is within an area for which the fire control rules restrict the arm type, the
method 500 includes not initiating a trigger unlock, at 524. In response to determining that the arm is not within an area for which the fire control rules restrict the arm type, themethod 500 includes initiating a trigger unlock, at 522. For example, theprocessing device 122 may initiate transition of thelocking device 104 into an unlocked position as shown inFIGS. 3B and 4B . Once thelocking device 104 is in the unlocked position (e.g., disengaged), thetrigger 106 may be actuated (e.g., by a user). To illustrate, theprocessing device 122 may initiate unlock of thelocking device 104 based on determining that thelocation data 142 does not indicate a location that falls within any restricted areas (indicated by location and radius) associated with thefirearm type 132 as indicated by the fire control rules 134. - Thus, the
method 500 may be executed by being performed by a lock controller, such as thelock controller 102, to determine whether to disengage a locking device. Because themethod 500 includes determining whether to disengage the locking device based on a user identifier, a firearm type, one or more fire control rules, time data, location data, or a combination thereof, a firearm may be prevented from discharging under various conditions. In this way, a user can use a particular weapon in locations that are permitted, but that weapon will be locked so it cannot be discharged at a restricted location such as a school. - The
method 500 may be implemented within components of a firearm. For example, thelock controller 102 and thelocking device 104 may be integrated within a firearm. Accordingly, locking and unlocking of the firearm may be controlled by thelock controller 102 and thelocking device 104 rather than by components remote to the firearm. Since the decision to lock/unlock the firearm is made locally, a user may be unable to inappropriately circumvent a lock of the firearm by sending an unlock signal to the firearm from an external device. Further, since themethod 500 includes determining whether expected data is missing, at 504, and not initiating trigger unlock, at 524, in response to determining that the expected data is missing, themethod 500 may be resistant to a user tampering with components of the firearm to circumvent the lock. For example, theprocessing device 122 may not unlock the firearm in response to determining that one of thetime data 140, thelocation data 142, the one or morefire control rules 134, theuser identifier 131, or thefirearm type 132 is unavailable (e.g., due to tampering with thetime sensor 124, thelocation sensor 126, or the memory 120). Thus, themethod 500 may be robust to certain types of circumvention. - The foregoing description and drawings should be considered as illustrative only of the principles of the invention. The describe subject matter may be configured in a variety of shapes and sizes and is not intended to be limited by the preferred example. Numerous applications of the described subject matter will readily occur to those skilled in the art. Therefore, it is not desired to limit the described subject matter to the specific examples disclosed or the exact construction and operation shown and described. Rather, all suitable modifications and equivalents may be resorted to, falling within the scope of the disclosure. Further, various examples described herein may be combined.
Claims (20)
1. An apparatus for controlling a trigger mechanism of a weapon, the apparatus comprising:
a locking device configured to disable the trigger mechanism in a default engaged state; and
a lock controller, the lock controller comprising:
a location sensor configured to provide current location data of the weapon;
a processing device; and
a memory device storing:
one or more fire control rules; and
instructions executable by the processing device to determine whether to disengage the locking device to enable the trigger mechanism based on the one or more fire control rules, the current location data from the location sensor, and a type of the weapon.
2. The apparatus of claim 1 , wherein the locking device includes a pin configured to prevent actuation of the trigger mechanism while in a locked position and to move.
3. The apparatus of claim 2 , wherein the locking device includes a set of coils configured to generate a magnetic field to move the pin.
4. The apparatus of claim 1 , wherein the instructions executable by the processing device to determine whether to disengage the locking device are further executable by the processing device to determine whether to disengage the locking device based further on a user identifier stored in the memory device.
5. The apparatus of claim 1 , wherein the lock controller further comprises a time sensor, wherein the instructions executable by the processing device to determine whether to disengage the locking device to enable the trigger mechanism based on the one or more fire control rules, the current location data from the location sensor, and the type of the weapon are further executable by the processing device to determine whether to disengage the locking device based further on a date received from the time sensor and an authorized period indicated by the one or more fire control rules.
6. The apparatus of claim 1 , wherein the instructions executable by the processing device to determine whether to disengage the locking device to enable the trigger mechanism are further executable to determine not to disengage the locking device in response to determining that the one or more fire control rules have expired.
7. The apparatus of claim 1 , further comprising a user interface, wherein the instructions executable by the processing device to determine whether to disengage the locking device to enable the trigger mechanism are executable to determine whether to make the determination responsive to input from the user interface.
8. The apparatus of claim 1 , wherein the instructions executable by the processing device to determine whether to disengage the locking device are executable to initiate disengagement of the locking device responsive to the current location data from the location sensor indicating that the weapon is outside of a threshold radius around a restricted location identified by the one or more fire control rules.
9. The apparatus of claim 8 , wherein the threshold radius is specific to the type of the weapon.
10. A computer readable storage device storing instructions executable by one or more processing devices to:
receive location data from a location sensor of a firearm; and
determine whether to disengage a locking device to enable a trigger of the firearm based on one or more fire control rules, data from the location sensor, and a type of the firearm.
11. The computer readable storage device of claim 10 , wherein the instructions are further executable by one or more processing devices to initiate, in response to a determination to disengage the locking device, initiate movement of a pin of the locking device to an unlocked position, the pin configured to prevent actuation of the trigger while in a locked position.
12. The computer readable storage device of claim 10 , wherein the instructions executable by the one or more processing devices to determine whether to disengage the locking device are further executable by the one or more processing devices to determine whether to disengage the locking device based further on a user identifier associated with the firearm.
13. The computer readable storage device of claim 10 , wherein the instructions executable by the one or more processing devices to determine whether to disengage the locking device to enable the trigger are further executable by the one or more processing devices to determine whether to disengage the locking device based further on an authorized period indicated by the one or more fire control rules and a current time.
14. The computer readable storage device of claim 10 , wherein the instructions executable by the one or more processing devices to determine whether to disengage the locking device to enable the trigger are further executable to determine not to disengage the locking device in response to determining that the one or more fire control rules have expired.
15. The computer readable storage device of claim 10 , wherein the instructions executable by the one or more processing devices to determine whether to disengage the locking device are executable to initiate disengagement of the locking device responsive to the data from the location sensor indicating that the firearm is outside of a threshold radius around a restricted location identified by the one or more fire control rules.
16. The computer readable storage device of claim 15 , wherein the threshold radius is specific to the type of the firearm.
17. A method comprising:
receiving location data from a location sensor of a firearm; and
determining whether to disengage a locking device to enable a trigger of the firearm based on one or more fire control rules, data from the location sensor, and a type of the firearm.
18. The method of claim 17 , further comprising, in response to a determination to disengage the locking device, initiating movement of a pin of the locking device to an unlocked position, the pin configured to prevent actuation of the trigger while in a locked position.
19. The method of claim 17 , wherein determining whether to disengage the locking device is based further on a user identifier associated with the firearm.
20. The method of claim 17 , wherein determining whether to disengage the locking device is based further on an authorized period indicated by the one or more fire control rules and a current time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/116,578 US20190310042A1 (en) | 2018-04-04 | 2018-08-29 | Weapon lock control system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862652328P | 2018-04-04 | 2018-04-04 | |
US16/116,578 US20190310042A1 (en) | 2018-04-04 | 2018-08-29 | Weapon lock control system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20190310042A1 true US20190310042A1 (en) | 2019-10-10 |
Family
ID=68096391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/116,578 Abandoned US20190310042A1 (en) | 2018-04-04 | 2018-08-29 | Weapon lock control system |
Country Status (1)
Country | Link |
---|---|
US (1) | US20190310042A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190137219A1 (en) * | 2017-11-03 | 2019-05-09 | Aimlock Inc. | Semi-autonomous motorized weapon systems |
US20200182576A1 (en) * | 2018-12-09 | 2020-06-11 | Israel Weapon Industries (I.W.I.) Ltd. | Firearm controlled by user behavior |
US10816293B2 (en) * | 2018-06-08 | 2020-10-27 | Truss Technologies, Inc. | Apparatus, system and method for reducing gun violence |
US11060812B2 (en) * | 2015-07-09 | 2021-07-13 | Safearms Llc | Smart firearm |
US11178241B2 (en) * | 2019-12-17 | 2021-11-16 | Authgrip, Inc. | Firearm authentication and tracking system |
US11274904B2 (en) | 2019-10-25 | 2022-03-15 | Aimlock Inc. | Remotely operable weapon mount |
US11499791B2 (en) | 2019-10-25 | 2022-11-15 | Aimlock Inc. | Trigger and safety actuating device and method therefor |
-
2018
- 2018-08-29 US US16/116,578 patent/US20190310042A1/en not_active Abandoned
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11060812B2 (en) * | 2015-07-09 | 2021-07-13 | Safearms Llc | Smart firearm |
US11060813B2 (en) * | 2015-07-09 | 2021-07-13 | Safearms Llc | Smart firearm |
US20190137219A1 (en) * | 2017-11-03 | 2019-05-09 | Aimlock Inc. | Semi-autonomous motorized weapon systems |
US11466950B2 (en) | 2018-06-08 | 2022-10-11 | Truss Technologies, Inc. | System, apparatus and method for reducing gun violence |
US10816293B2 (en) * | 2018-06-08 | 2020-10-27 | Truss Technologies, Inc. | Apparatus, system and method for reducing gun violence |
US11913739B2 (en) | 2018-06-08 | 2024-02-27 | Truss Technologies, Inc. | System, apparatus and method for power generation integral to a firearm |
US20200182576A1 (en) * | 2018-12-09 | 2020-06-11 | Israel Weapon Industries (I.W.I.) Ltd. | Firearm controlled by user behavior |
US10900733B2 (en) * | 2018-12-09 | 2021-01-26 | Israel Weapon Industries (I.W.I) Ltd. | Firearm controlled by user behavior |
US11499791B2 (en) | 2019-10-25 | 2022-11-15 | Aimlock Inc. | Trigger and safety actuating device and method therefor |
US11274904B2 (en) | 2019-10-25 | 2022-03-15 | Aimlock Inc. | Remotely operable weapon mount |
US12031798B2 (en) | 2019-10-25 | 2024-07-09 | Aimlock Inc. | Remotely operable weapon mount |
US11792283B2 (en) | 2019-12-17 | 2023-10-17 | Authgrip Inc. | Firearm authentication and tracking system |
US11178241B2 (en) * | 2019-12-17 | 2021-11-16 | Authgrip, Inc. | Firearm authentication and tracking system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190310042A1 (en) | Weapon lock control system | |
US10359250B2 (en) | Firearm safety system | |
US20170160030A1 (en) | Methods and system for controlling the use of firearms | |
US9823032B2 (en) | Apparatus for firearm safety | |
US6415542B1 (en) | Location-based firearm discharge prevention | |
US10750431B2 (en) | Safety disarm for firearm | |
US20140182179A1 (en) | Location-Based Small Arms Control System | |
US9797670B2 (en) | Method of monitoring and trigger-locking a firearm | |
US10591236B2 (en) | Method of monitoring separation between an electronic device and an electronic base | |
US8850944B2 (en) | Automatic gun safety devices based on positioning systems | |
US20180268119A1 (en) | System and method for smart weapon implementation and deployment | |
US10107579B2 (en) | Method of monitoring and trigger-locking a firearm | |
US9960631B2 (en) | Method of monitoring and inductively charging a firearm | |
AU2015369541A1 (en) | Device and method for locking and controlling a weapon | |
WO2014142920A1 (en) | Firearm safety system | |
US20230129109A1 (en) | Firearm Regulation System and Related Methods | |
JP7405349B2 (en) | Integrated safety equipment and dynamic protection zone system | |
US20190154380A1 (en) | Smart gun design and system for a sustainable society | |
KR20170021177A (en) | Apparatus, system, method and computer program for controlling and tracking the usage of gun | |
US20170268841A1 (en) | Firearm safety system | |
US20240230261A1 (en) | Single-use firearm and personal defense system with electronically integrated tracking system | |
US11348422B2 (en) | System for monitoring firearm movement and relocation from a storage location | |
US20240191959A1 (en) | Integrated intelligent locking system | |
Kotilevets et al. | Protective holster for firearms | |
Raftery | Guns in court |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |