ELECTRIC CONVENIENCE VEHICLE (ECV) WITH CONTROL AND COMMUNICATIONS UNIT
20190056745 ยท 2019-02-21
Inventors
- Christopher T. Meehan (Palm Coast, FL, US)
- Marc M. Barber (Deltona, FL, US)
- Kurt D. Ring (Andover, MA, US)
- Colt Wright Fletcher (Orlando, FL, US)
- John Thomas Zaniker (Severna Park, MD, US)
- Eben Lewis (Oviedo, FL, US)
- Tomas Rodriguez (Winter Park, FL, US)
- Dana Ilijevski Ogden (Casselberry, FL, US)
- Wesley Edward Swogger (Fairfax Station, VA, US)
- Hal Gunner (Lake Mary, FL, US)
Cpc classification
B62K5/01
PERFORMING OPERATIONS; TRANSPORTING
B60L58/10
PERFORMING OPERATIONS; TRANSPORTING
B62J45/20
PERFORMING OPERATIONS; TRANSPORTING
Y02T10/70
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
B60L2240/70
PERFORMING OPERATIONS; TRANSPORTING
B62J1/12
PERFORMING OPERATIONS; TRANSPORTING
B60K28/04
PERFORMING OPERATIONS; TRANSPORTING
Y02T90/16
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
B60K35/80
PERFORMING OPERATIONS; TRANSPORTING
Y02T10/72
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
B60K35/60
PERFORMING OPERATIONS; TRANSPORTING
B62J45/41
PERFORMING OPERATIONS; TRANSPORTING
B60L50/60
PERFORMING OPERATIONS; TRANSPORTING
B60K35/85
PERFORMING OPERATIONS; TRANSPORTING
B62K5/08
PERFORMING OPERATIONS; TRANSPORTING
B62K2204/00
PERFORMING OPERATIONS; TRANSPORTING
B60K35/00
PERFORMING OPERATIONS; TRANSPORTING
B60K31/0008
PERFORMING OPERATIONS; TRANSPORTING
B60K35/10
PERFORMING OPERATIONS; TRANSPORTING
B60L8/003
PERFORMING OPERATIONS; TRANSPORTING
Y02T10/7072
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
B60K31/00
PERFORMING OPERATIONS; TRANSPORTING
B60L8/00
PERFORMING OPERATIONS; TRANSPORTING
B60K28/04
PERFORMING OPERATIONS; TRANSPORTING
B62K5/01
PERFORMING OPERATIONS; TRANSPORTING
Abstract
One embodiment of an electronics convenience vehicle (ECV) may include a frame, a plurality of wheels configured to support and move the frame, a seat supported by said frame, a steering mechanism disposed toward a front portion of the ECV, a motor configured to cause at least one wheel to be propelled forward, propelled backward, or to remain in a fixed position, a throttle, when activated in a first position, causes said motor to propel said at least one wheel in a forward direction, when activated in a second position, causes said motor to propel said at least one wheel in a reverse direction, at least one sensor directed to detect objects in front of a direction of travel of the ECV, and a control and communications unit (CCU) disposed in front of said seat, and configured to receive said sense signals and to control operations of said motor.
Claims
1. An electronics convenience vehicle (ECV), comprising: a frame; a plurality of wheels configured to support and move, the frame; a seat supported by said frame; a steering mechanism disposed toward a front portion of the ECV, and configured to enable a user to rotate direction of at least one wheel to control direction of movement of the ECV; a motor configured to cause at least one wheel to be propelled forward, propelled backward, or to remain in a fixed position; a throttle, when activated in a first position, causes said motor to propel said at least one wheel in a forward direction, when activated in a second position, causes said motor to propel said at least one wheel in a reverse direction, and when in a third position, causes said motor to maintain said at least one wheel in a fixed position; at least one sensor directed to detect objects in front of a direction of travel of the ECV, and configured generate sense signals indicative of an object being sensed by said at least one sensor; a control and communications unit (CCU) disposed in front of said seat, and configured to receive said sense signals and to control operations of said motor, said CCU further configured to communicate over a communications network.
2. The ECV according to claim 1, wherein said CCU includes a processing unit, a non-transitory memory, electronic display configured to display operational and non-operational data of the ECV, and an input/output unit configured to communicate with the communications network, said processing unit configured to execute an ECV control module having a first mode when no objects are detected by said sensors, and a second mode when an object is detected by said sensors as determined by said processing unit based on the object sensed signals.
3. The ECV according to claim 2, wherein the operational data includes speed of the ECV, and wherein non-operational data includes information associated with a venue in which the ECV is operating.
4. The ECV according to claim 3, wherein non-operational data includes venue-centric directional information.
5. The ECV according to claim 4, wherein the venue-centric directional information is arranged as a compass with geographic indicia of the venue positioned thereon to provide navigational guidance to the user.
6. The ECV according to claim 5, further comprising enabling the user to select different levels of geographic information to be displayed.
7. The ECV according to claim 2, wherein the first mode enables set motor to operate at a first maximum speed, and the second mode limits said motor to operate a second, slower maximum speed than the first maximum speed.
8. The ECV according to claim 1, further comprising a tiller attached to said steering mechanism on which said at least one sensor is affixed and oriented to face in front of a front face of said tiller, wherein said tiller is configured to rotate in response to the user rotating said steering mechanism, thereby causing said at least one sensor to rotate along with the front face of said tiller.
9. The ECV according to claim 8, wherein said steering mechanism includes a pair of handlebars connected to said tiller.
10. The ECV according to claim 1, wherein said seat includes a seat sensor that senses when the user is sitting on said seat, and wherein said CCU is further configured to: sense that the motor is on and the seat sensor senses that the user transitions from sitting on the seat to not sitting on the seat; and generate a delay to establish a time period during which a determination as to whether the seat sensor senses that the user returns to sitting on the seat within the time period before enabling the motor to turn off.
11. The ECV according to claim 1, wherein said seat includes a sensor that senses when the user is sitting on the seat, and wherein said CCU is an able to enter a sleep mode in response to the sensor not sensing that the user is sitting on the seat, and prevented from entering the sleep mode in response to the seat sensor sensing that the user is sitting on the seat.
12. The ECV according to claim 1, further comprising a camera oriented to face forward of the ECV, and, responsive to said sensors sensing an object within sensing proximity of the sensors, initiate recording of images captured by said camera, and responsive to the object no longer being sensed within the sensor proximity of sensors, initiating stopping recording of images by said camera.
13. The ECV according to claim 1, further comprising a ground-facing sensor configured to sense one or more markings positioned on the ground, and wherein said CCU is configured to cause the ECV to automatically traverse the one or more markings at a predetermined speed.
14. The ECV according to claim 13, wherein said CCU is further configured to determine distance from an object in front of the ECV and cause the ECV to move forward in response to the object moving forward, thereby maintaining a predetermined distance from the object.
15. The ECV according to claim 14, wherein the object is a person.
16. The ECV according to claim 13, wherein the one or more markings includes paint painted on a ground surface.
17. The ECV according to claim 1, further comprising a solar panel configured to generate electricity, and in electrical communication with a backup battery and/or main battery, and said CCU being configured to maintain a charge in the backup battery and/or main battery to maintain a sufficient charge to return the ECV to a return location at a venue.
18. The ECV according to claim 1, wherein said CCU is further configured to stop or disable the ECV in response to receiving a disable signal via a communications network.
19. The ECV according to claim 1, wherein said processing unit is further configured to stop said motor in response to receiving an out-of-bounds message or determining that the ECV is out-of-bounds as defined by a venue for ECVs.
20. The ECV according to claim 19, wherein said processing unit is further configured to generate an indication signal to notify the user that the ECV is close to being out out-of-bounds in response to determining that the ECV is a predetermined distance away from the out-of-bounds that causes said processing unit to stop said motor.
21-50. (canceled)
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] A more complete understanding of the method and apparatus of the present invention may be obtained by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings wherein:
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
DETAILED DESCRIPTION OF THE DRAWINGS
[0059] A. Electronic Convenience Vehicle (ECV)
[0060] An electronics convenience vehicle (ECV) may include a frame, multiple wheels configured to support and move the frame, a seat supported by the frame, and a steering mechanism disposed toward a front portion of the ECV, and configured to enable a user to rotate direction of one or more wheels to control direction of movement of the ECV. In an embodiment, the frame may include a chassis. A motor may be configured to cause at least one wheel to be propelled forward, propelled backward, or to remain in a fixed position. A throttle, when activated in a first position, causes the motor to propel the wheel(s) in a forward direction, when activated in a second position, causes the motor to propel the wheel(s) in a reverse direction, and when in a third position, causes the motor to maintain the wheel(s) in a fixed position. One or more sensors may be directed to detect objects in front of a direction of travel of the ECV, and may be configured generate sense signals indicative of an object being sensed by the sensor(s). A control and communications unit (CCU) may be disposed in front of the seat, and configured to receive the sense signals and to control operations of said motor, said CCU further configured to communicate over a communications network. The CCU is also referred to as an electronic digital dash (EDD).
[0061] With regard to
[0062] Mounted to the tiller, one more sensors are mounted. By mounting the sensors to the tiller, the sensors are able to sense objects in front of the direction of travel of the ECV. Moreover, as the sensors are mounted to the tiller that rotates, the sensors sense objects as a function of the angle of the tiller, which is different from sensors that may alternatively be mounted to a front bumper of the ECV, where bumper-mounted sensors would sense objects in front of the bumper of the ECV as opposed to an immediate directional change of the tiller that leads a directional change of the ECV.
[0063] With regard to
[0064] On a rear portion of the body of the ECV, lights that indicate that the ECV is stopping to vehicles and people behind the ECV are shown. In an environment, one or more sensors, such as proximity sensors, may be positioned on the rear of the ECV. A camera may also be positioned on the rear of the ECV, thereby enabling a user to see behind the ECV when backing up by viewing video images received from the rear camera on the CCU, for example.
[0079] Demonstrated Capability
[0080] Touchscreen display and integration 7 inch and 5 inch displays
[0081] GPS integration
[0082] WI-FI wireless functionality
[0083] EV hardware Inputs and outputs
[0084] Features
[0085] Front end is Web BrowserEasy to program and very versatile (video, audio, multimedia capability)
[0086] CCU may work with network connectivity or without networking.
[0087] Open source (free) software
[0088] External Web sites/database could be integrated (depending on web connection) easily with HTML. Can be easily integrated to custom web server over internet for additional capabilities.
[0089] Websockets and Apache web server has very good (SSL) security built in. Can be made secure.
[0090] Versatile interface allow either web browser from internet (to individual EV's) or websockets from back end servers
[0091] System can be scaled to large number of EV's
[0092] Hardware
[0093] The hardware for the proof-of-concept EDD is low cost computer board and touchscreen display, GPS and Wi-Fi adapters and a 12 to 24 volt switching converter to supply power to the computer and peripherals.
[0094] Software
[0095] The EDD software leverages the use of built-in functionality of the Linux system. The front end handles the display and user input. The back end interfaces between the hardware, networking layers (i.e. remote) and the local client (browser).
[0096] After powered, The software boots Linux and start the server processes and displays the initial screens. All software is stored on a mini SD card.
[0097] The front end EDD display: [0098] Web Browser for dashboard displayChrome browser [0099] Custom developed HTML5/Java-script, for example, to communicate to backend server
[0100] Servers (running on EDD): [0101] Web Server (e.g., Apache) [0102] EV server (websockets interface)
[0103] Proof of concept Hardware block diagram
[0104] EV Server
[0105] Websockets interface: [0106] Port 8901
[0107] 4 protocols supported:
[0108] SB_Testfor testing allows commands to test
[0109] SB_GPSsends GPS data real time from GPOS receiver
[0110] SB_EVsend EV hardware events, Occupancy (seat switch) and unlock/lock
[0111] SB_MSGallows sending message top EV dashboard
[0112] B2. Venue Server Communications
[0113] C. User Interface
[0114] With regard to
[0115] In one embodiment, the processor may be referred to as a central processor unit (CPU). The processor may be implemented as one or more CPU chips, one or more cores (e.g., a multi-core processor), or may be part of one or more application specific integrated circuits (ASICs) and/or digital signal processors (DSPs). The processor may be configured to implement any of the processes described herein, such as the processes of
[0116] The display may be configured to be electronically communicative with the processor. The display may be configured to display representations of data to the user. The display may display in color or monochrome and may be equipped with a touch sensor based resistive and/or capacitive technologies. The display may be further configured to be an input device that may allow the user to input commands to the processor. One of ordinary skill in the art will appreciate that a variety of methods for communicating between the user and the machine.
[0117] C1. Rental/Reservations on CCU
[0118] With regard to
[0119] With regard to
[0120] C2. Wayfinder
[0121] With regard to
[0122] C3. Character Messaging
[0123] With regard to
[0124] C4. Venue-Centric Compass
[0125] With regard to
[0126] C5. Time Lapse Video with User Generated Content (UGC) Integration
[0127] With regard to
[0128] With regard to
[0129] C6. Venue-Specific User Information
[0130] With regard to
[0131] C7. Messaging (Notices, Park Closing)
[0132] With regard to
[0133] C8. Lock/Unlock of Lockbox on Scooter
[0134] With regard to
[0135] The Electronic Convenience Vehicle (ECV) mobility scooterthe EDD systemis currently in development and will be designed, equipped and programmed with smart technology. This mobility equipment will serve guests and visitors at any venues with a control center and mapping device. See Table 1 for the EDD system's smart features and functionality.
TABLE-US-00001 TABLE 1 EDD System: Features and Function ECV MOBILITY: THE EDD SYSTEM Feature Function Dual USB Power Charging Ports Capability to charge the ECV or mobility scooter, EDD Electronic Proximity Sensor System Integrated with the electronics & drive mechanics of the ECV to slow or stop the ECV if objects are detected within defined distances of the sensor placed on the vehicle. Improves the safety of driver, pedestrians & surrounding objects Sensors w/Specialized Housings Ultrasonic, electromagnetic or radar sensors to detect people & surrounding objects Sound Mechanism Sound alert with a series of beeps that escalate as the ECV gets closer to an object LED Alert Display Signals with proximity identification & flashes with intensity as ECV approaches a person or an object Custom PCB Boards w/Wiring Harness & Enhances power & vehicle controller Specialized Housings Helps to isolate from hazards & environmental issues Specialized Brackets & Hardware Attach & secure components Programming Firmware & Integration Helps create parameters of the system operations Integrated to a vehicle controller Reverse Backup Camera Equipped with a rear-facing camera & activates when the ECV is positioned in reverse The view behind the ECV is displayed on the EDD. Electronic Digital Dashboard (EDD): A touchscreen mobile display device is Touchscreen integrated into the dashboard of the ECV & WiFi interfaces with users Bluetooth Interface serves as a user control & GPS information center & is linked to the Android-based system ScooterBug? Cloud-based information Weather proof system for rental, service, security, vehicle performance, tracking& other integrated management of the ECV User interface of the EDD is similar an automobile digital display or that of a Smartphone or tablet device with a display of icons Touch Screen to Begin When the ECV dashboard is in sleep mode, a screensaver will appear displaying Touch Screen to Begin. User will touch screen and will see the Pre-Loader screen. Pre-Loader Screen User will see this screen as it loads the EDD Welcome screen. EDD Welcome Screen A menu display with respective icon buttons for functional screen selection & movement Rent or Retrieve button and Run Vehicle button: Capability to make a reservation, rent, or pick up prior online reservation of mobility equipment at a venue of choice via a link to the Reservation Management System (RMS) express process Guest selects Run Vehicle button for those sites that have managed rental and payment services. Guest will acquire keycode assigned to a unit for access & startup at a managed venue. (NOTE: Guest will establish their own keycode access at a self-vending environment.) START Button w/key image: Digital keypad pops up for guest to enter keycode to start/stop Once a code is entered, a Systems Notification window pops up and states, Always Remember Your Keycode with the keycode dislayed. Displays battery level indicator Communicates voltage status EDD Home Screen (Dashboard) Opens when vehicle starts up after the Systems Notification appears reminding the user to remember their keycode A display of icon buttons for functional screen selection & movement (i.e., Dashboard, Rent/Return, Wayfinder, Venue, Settings and Help) Displays battery level indicator Speed control display of a slider to show how fast/slow the ECV is going Displays the Horn button Displays the forward/reverse indicator Displays the key icon to prompt user with the stop or Lock Vehicle button when the ECV is not in motion Displays the Backup Camera screen when the ECV is going in reverse Displays the Settings page (i.e., volume, brightness, language, maintenance, etc.) Displays the object Sensor icon or indicator Displays local weather Displays date and time at the top, including WiFi and battery life Mapping (e.g., Wayfinder) Screen A menu display with respective icon buttons for functional screen selection & movement Displays a map of the location's facility or venue Displays the Wayfinder icon w/list of locations or keypad search via a mapping system & a voice guide Displays key icon to lock vehicle (lower right) Displays sensor icon for object sensing (lower left) Displays Horn button (upper left) Venue Screen A menu display with respective icon buttons for functional screen selection & movement Various information is posted about the venue Displays the venue info icon w/link to the venue's Website & specific visitor/guest functional tools Displays offers & sales Video Entertainment (i.e., possible venue-specific videos) Rent/Return Screen Mobility equipment rental process capability as described in the Welcome screen Displays the RMS Web rental/reservation link Help Screen Provides guests with a training, video tutorial on how to use the ECV Provides guests with a list of additional How To's accompanied with video tutorials, including instructions & illustrations Contact Assistance is available & linked to a support line: Phone number Text icon Settings Screen Language, volume, brightness Administrator keycode access to various information & data from controller (i.e., control of the ECV, inventory availability, etc.) Maintenance - Links to vehicle data & database in the ScooterBug? ERP system, X3
[0136] Mobility Equipment: Initial Start-Up
[0137] At the initial startup of the EDD, as the user interface loads, the ScooterBug? branding appears on the screen. See
[0138] Welcome Screen Navigation
[0139] The Welcome screen introduces the ECV or the mobility scooter entitled, the Electronic Digital Dashboard (EDD), and displays features to Rent or Return and to Run Vehicle. See
[0145] Reservation Management System (RMS) Main Menu
[0146] When an Administrator or a user selects the Rent or Return button, the RMS Main Menu appears as illustrated in
[0155] In a self-vending, rental environment, the user would press the Rent or Retrieve buttons on the RMS Main Menu screen.
[0156] If the user is in a managed environment, once the user pays the Attendant to rent a vehicle, the user will simply press the Run Vehicle button on the RMS Main Menu screen.
[0157] When the ECV is not in Operation: Sleep Mode
[0158] When the vehicle is not in operation and goes into sleep mode, the screensaver as shown in
[0159] Keycode Access to Unlock & Operate the ECV
[0160] Once the user selects the Run Vehicle button from the Welcome screen or touches the screensaver (See
[0161] User will have to establish a 4-digit keycode at initial use of the EDD and then remember it to access and operate it throughout the entire rental period.
[0162] Once the user submits their 4-digit keycode, a system notification as displayed in
[0163] Home Screen (Dashboard)
[0164] After the user enters their 4-digit keycode to run and operate the ECV, the Home screen (e.g., Dashboard) displays the user interface of the EDD with its respective icons as shown in
[0165] Users may navigate the EDD via the Home or Dashboard, Rent/Return, Wayfinder, Venue, Settings (i.e., user audio/visual preferences, Administrator Maintenance, etc.) or Help buttons. These features, including the date and time (top, left), WiFi and battery indicators (top, right), sensor (center, left), horn (bottom, left) and the stop or the Lock Vehicle button (bottom, right), will appear on every screen for easy use and navigation.
[0166] Mapping (e.g., Wayfinder) Screen
[0167]
[0168] The example in this illustration displays the map of a sample theme park.
[0169] Rent/Return Screen
[0170] The RMS Main Menu above in
[0171] Lock Vehicle Button
[0172] When the user engages the Lock Vehicle button, the keypad window opens for the user to enter their keycode to lock the vehicle. Before the vehicle locks, a System Notification as illustrated in
TABLE-US-00002 TABLE 2 Single Person 500 lbs (204 Kgs) Total Weight of the 225 lbs (102 Kgs), 600 lbs static proof load ECV with batteries without permanent deformation or component failure Transaxle and DC 24 V, 3.5 A motor Output 400 W Brake Manual brake/freewheel lever easily accessible Battery Gel Cel 30, 35, 40, 45 and 50 amp hour Dual Brake Systen Parking in slope of 1 in 12 and remains stationary Brake Manual brake/freewheel lever easily accessible Tire Front and Rear 10 PU Solid (Width: 3.5) On-board charger 5 A - 12 V. Input source can be set to 120~130 V or 220~240 V external solar charger 18 v 5 amp 4 ft/sec to 1.5 ft/sec/sec modulated Acceleration smoothly by speed control from rest to maximum speed @ GVW Max Speed in park 3.2 mph/4.693 ft/sec - (programmable up to 7 mph) Maximum Stopping 35 (90 cm) Distance 78 maximum from outside corner to outside Turning Radius (4 corner when the vehicle is turned 180 wheel) degrees. Measurement take at widest points during turn (current spec is 92)
[0173] With regards to
[0174] SENSING:
[0175] 1) IF A STATIONARY OR MOVING OBJECT IS DETECTED BY THE ULTRASONIC SENSORS, THE DASH INDICATOR ACTIVATES AND THE VEHICLE PERFORMANCE CURVE IS REDUCED UNTIL THE ZONE IS CLEAR.
[0176] 2) 3 FORWARD FACING SENSORS AND 2 REAR SENSORS
[0177] With regards to
[0178] CAMERAS:
[0179] 1) FRONT TILLER MOUNTED CAMERA IS ACTIVATED WHEN THE SAFE-ZONE IS ACTIVE. LOW-RES VIDEO IS STORED DAILY TO PROVIDE BACKUP VIDEO FOR POTENTIAL ACCIDENT CLAIMS.
[0180] 2) BACKUP CAMERA ACTIVATES WHEN THE VEHICLE IS IN REVERSE TO AVOID COLLISION WITH LOW UNSEEN OBSTACLES.
[0181] The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the steps of the various embodiments must be performed in the order presented. As will be appreciated by one of skill in the art, the steps in the foregoing embodiments may be performed in any order. Words such as then, next, etc. are not intended to limit the order of the steps; these words are simply used to guide the reader through the description of the methods. Although process flow diagrams may describe the operations as a sequential process, many of the operations may be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or the main function.
[0182] The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed here may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
[0183] Embodiments implemented in computer software may be implemented in software, firmware, middleware, microcode, hardware description languages, or any combination thereof. A code segment or machine-executable instructions may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to and/or in communication with another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
[0184] The actual software code or specialized control hardware used to implement these systems and methods is not limiting of the invention. Thus, the operation and behavior of the systems and methods were described without reference to the specific software code being understood that software and control hardware can be designed to implement the systems and methods based on the description here.
[0185] When implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable or processor-readable storage medium. The steps of a method or algorithm disclosed here may be embodied in a processor-executable software module which may reside on a computer-readable or processor-readable storage medium. A non-transitory computer-readable or processor-readable media includes both computer storage media and tangible storage media that facilitate transfer of a computer program from one place to another. A non-transitory processor-readable storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such non-transitory processor-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other tangible storage medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer or processor. Disk and disc, as used here, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable medium and/or computer-readable medium, which may be incorporated into a computer program product.
[0186] The previous description is of a preferred embodiment for implementing the invention, and the scope of the invention should not necessarily be limited by this description. The scope of the present invention is instead defined by the following claims.