Embodiments are generally related to the field of parking management. Embodiments are also related to parking occupancy detection techniques and applications thereof. Embodiments are additionally related to laser scanning devices, methods, and systems.
A balance between supply and demand must be determined to meet the parking requirements of motorists. The ability to efficiently allocate and manage on-street parking remains elusive, even when parking requirements are significant, recurring, and known ahead of time. For instance, urban parking spaces characteristically undergo periods of widely skewed demand and utilization, with low demand and light use in some periods, often during the night, and heavy demand and use at other times. Real-time parking occupancy detection systems are an emerging technology in parking management.
Some prior art parking occupancy detection approaches utilize a puck-style/ultrasonic sensor configuration that outputs a binary signal when detecting a vehicle in, for example, a parking stall or a particular parking space.
System 150 shown in
Based on the foregoing, it is believed that a need exists for an improved parking occupancy detection system and method utilizing laser scanning, as will be described in greater detail herein.
The following summary is provided to facilitate an understanding of some of the innovative features unique to the disclosed embodiments and is not intended to be a full description. A full appreciation of the various aspects of the embodiments disclosed herein can be gained by taking the entire specification, claims, drawings, and abstract as a whole.
It is, therefore, one aspect of the disclosed embodiments to provide for improved parking management methods and systems.
It is another aspect of the disclosed embodiments to provide for improved parking occupancy detection techniques.
It is yet another aspect of the disclosed embodiments to provide for an improved method and system for detecting parking occupancy utilizing laser scanning
The aforementioned aspects and other objectives and advantages can now be achieved as described herein. Parking occupancy detection methods, systems and processor-readable media are disclosed. A laser device unit can be configured and provided, which includes a laser range finder. A programmable pan-tilt unit can be deployed on site to monitor one or more parking spaces. A laser emitting and receiving unit associated with the laser range finder can determine the distance of an object by estimating a time difference between an emitted laser and a received laser. The laser range finder that is controlled by the programmable pan-tilt unit scans the parking spaces. A signal processing unit converts the measured distance profile to a parking occupancy data thereby proving continuous parking space estimation.
Optionally, a wireless transmission unit can transmit the parking occupancy data to a central processing unit for further processing and integration. The distance profile represents a sharp difference between the parked and un-parked spaces as the laser range finder scans through the parking spaces. Vehicles can be counted and the vehicle size and footage of available parking space can be estimated. The laser range finder and the pan-tilt unit provide sufficient measurement distance and resolution for parking application. The laser based parking occupancy detection system requires much less computational power compared with image-capturing based systems as it only requires signal processing rather than image processing. In addition, since a laser range finder can scan through a large area, the laser based parking occupancy detection system can offer significant cost savings compared with other parking occupancy detection systems.
The accompanying figures, in which like reference numerals refer to identical or functionally-similar elements throughout the separate views and which are incorporated in and form a part of the specification, further illustrate the present invention and, together with the detailed description of the invention, serve to explain the principles of the present invention.
The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate at least one embodiment and are not intended to limit the scope thereof.
The embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which illustrative embodiments of the invention are shown. The embodiments disclosed herein can be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
As will be appreciated by one skilled in the art, the present invention can be embodied as a method, data processing system, or computer program product. Accordingly, the present invention may take the form of an entire hardware embodiment, an entire software embodiment or an embodiment combining software and hardware aspects all generally referred to herein as a “circuit” or “module.” Furthermore, the present invention may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium. Any suitable computer readable medium may be utilized including hard disks, USB flash drives, DVDs, CD-ROMs, optical storage devices, magnetic storage devices, etc.
Computer program code for carrying out operations of the present invention may be written in an object oriented programming language (e.g., JAVA, C++, etc.). The computer program code, however, for carrying out operations of the present invention may also be written in conventional procedural programming languages such as the “C” programming language or in a visually oriented programming environment such as, for example, Visual Basic.
The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer. In the latter scenario, the remote computer may be connected to a user's computer through a local area network (LAN) or a wide area network (WAN), wireless data network e.g., WiFi, WiMax, 802.11x, and cellular network or the connection can be made to an external computer via most third party supported networks (e.g., through the Internet via an internet service provider).
The embodiments are described at least in part herein with reference to flowchart illustrations and/or block diagrams of methods, systems, and computer program products and data structures according to embodiments of the invention. It will be understood that each block of the illustrations, and combinations of blocks, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block or blocks.
As illustrated in
The following discussion is intended to provide a brief, general description of suitable computing environments in which one or more embodiments may be implemented. Although not required, the disclosed embodiments are described with respect to some embodiments in the general context of computer-executable instructions, such as program modules, being executed by a single computer. In most instances, a “module” constitutes a software application, but can also constitute hardware components.
Generally, program modules include, but are not limited to, routines, subroutines, software applications, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types and instructions. Moreover, those skilled in the art will appreciate that the disclosed method and system may be practiced with other computer system configurations such as, for example, hand-held devices, multi-processor systems, data networks, microprocessor-based or programmable consumer electronics, networked personal computers, minicomputers, mainframe computers, servers, and the like.
Note that the term module as utilized herein may refer to a collection of routines and data structures that perform a particular task or implements a particular abstract data type. Modules may be composed of two parts: an interface, which lists the constants, data types, variable, and routines that can be accessed by other modules or routines, and an implementation, which is typically private (accessible only to that module) and which includes source code that actually implements the routines in the module. The term module may also simply refer to an application such as a computer program designed to assist in the performance of a specific task such as word processing, accounting, inventory management, etc. Of course, a module may also be a hardware component and/or combined with software, depending upon the application.
The interface 253, which is preferably a graphical user interface (GUI), can serve to display results, whereupon a user may supply additional inputs or terminate a particular session. In some embodiments, operating system 251 and interface 253 can be implemented in the context of a “windows” system. It can be appreciated, of course, that other types of systems are possible. For example, rather than a traditional “windows” system, other operation systems such as, for example, a real time operating system (RTOS) more commonly employed in wireless systems may also be employed with respect to operating system 251 and interface 253. The software application 254 can include, for example, a laser-based parking occupancy detection module 252 for detecting parking occupancy. The laser-based parking occupancy detection module 252 can include instructions such as those of method 400 discussed herein with respect to
The laser range finder 318 further includes a laser emitting and receiving unit 316 that employs a laser beam to determine the distance to an object. The most common form of laser range finder 318 operates on the time of flight principle by sending a laser pulse in a narrow beam towards the object and measuring the time taken by the pulse to be reflected off the target and returned to the sender. The laser range finder 318 determines distance of the object by estimating time difference between the emitted and received laser by the laser emitting and receiving unit 316.
The programmable pan-tilt unit 320 permits the laser range finder 318 to scan through the parking spaces 304. The laser scan direction is indicated by arrow 306. The pan-tilt unit 320 can usually pan or tilt in the speed of 60 degrees per second, which is fast enough for parking applications. The laser-based parking occupancy detection module 252 further includes a signal processing unit 324 to convert the measured distance profile 326 to a parking occupancy data 328. The measured distance profile 326 can be transmitted to the signal processing unit 324 via a network 314.
Note that the network 314 may employ any network topology, transmission medium, or network protocol. The network 314 may include connections such as wire, wireless communication links, or fiber optic cables. Network 314 can also be an Internet representing a worldwide collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational, and other computer systems that route data and messages.
The distance profile 326 represents a sharp difference between the parked and un-parked spaces as the laser range finder 318 scans through the parking spaces 304. The vehicles 302 can be counted and the size of the vehicle 302 can be estimated. Optionally, a wireless transmission unit 330 can be employed for transmitting the occupancy data 328 to a central processing unit 332 for further processing and integration.
Initially, the laser device 312, which includes the laser range finder 318 and the programmable pan-tilt unit 320, can be deployed on site to monitor the parking spaces 304, as indicated at block 410. The distance of the object can be determined by estimating time difference between the emitted and received laser by the laser emitting and receiving unit 316 associated with laser range finder 318, as shown at block 420. The programmable pan-tilt unit 320 permits the laser range finder 318 to scan through the parking spaces 304, as illustrated at block 430. The measured distance profile 326 can be converted to the parking occupancy data 328 by the signal processing unit 324, as depicted at block 440. Optionally, the parking occupancy data 328 can be transmitted to the central processing unit 332 for further processing and integration via the wireless transmission unit 330, as illustrated at block 450.
D=y−A/cos(θ) (1)
where y represents the measured distance from the laser range finder 318, A represents the horizontal distance from the ranger finder 318 to a “vehicle” parked directly across the street, and θ represents the scan angle. The vehicle parked on the street should have D close to zero.
It will be appreciated that variations of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also, that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.