US20210002915A1 - Connected vehicle lift and storage system - Google Patents
Connected vehicle lift and storage system Download PDFInfo
- Publication number
- US20210002915A1 US20210002915A1 US16/932,992 US202016932992A US2021002915A1 US 20210002915 A1 US20210002915 A1 US 20210002915A1 US 202016932992 A US202016932992 A US 202016932992A US 2021002915 A1 US2021002915 A1 US 2021002915A1
- Authority
- US
- United States
- Prior art keywords
- user
- vehicle
- platform
- vlss
- control system
- 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
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H6/00—Buildings for parking cars, rolling-stock, aircraft, vessels or like vehicles, e.g. garages
- E04H6/42—Devices or arrangements peculiar to garages, not covered elsewhere, e.g. securing devices, safety devices, monitoring and operating schemes; centering devices
- E04H6/422—Automatically operated car-parks
- E04H6/424—Positioning devices
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H6/00—Buildings for parking cars, rolling-stock, aircraft, vessels or like vehicles, e.g. garages
- E04H6/42—Devices or arrangements peculiar to garages, not covered elsewhere, e.g. securing devices, safety devices, monitoring and operating schemes; centering devices
- E04H6/422—Automatically operated car-parks
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H6/00—Buildings for parking cars, rolling-stock, aircraft, vessels or like vehicles, e.g. garages
- E04H6/08—Garages for many vehicles
- E04H6/12—Garages for many vehicles with mechanical means for shifting or lifting vehicles
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H6/00—Buildings for parking cars, rolling-stock, aircraft, vessels or like vehicles, e.g. garages
- E04H6/08—Garages for many vehicles
- E04H6/12—Garages for many vehicles with mechanical means for shifting or lifting vehicles
- E04H6/18—Garages for many vehicles with mechanical means for shifting or lifting vehicles with means for transport in vertical direction only or independently in vertical and horizontal directions
- E04H6/22—Garages for many vehicles with mechanical means for shifting or lifting vehicles with means for transport in vertical direction only or independently in vertical and horizontal directions characterised by use of movable platforms for horizontal transport, i.e. cars being permanently parked on palettes
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D3/00—Control of position or direction
- G05D3/12—Control of position or direction using feedback
- G05D3/20—Control of position or direction using feedback using a digital comparing device
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/30—Individual registration on entry or exit not involving the use of a pass
- G07C9/32—Individual registration on entry or exit not involving the use of a pass in combination with an identity check
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
Definitions
- Vehicle storage systems can be used to store multiple vehicles in a limited amount of real estate.
- Vehicle storage systems can, for example, store vehicles by stacking the vehicles vertically and thus providing additional storage for vehicles in a given amount of real estate.
- FIG. 1 is a block figure diagram illustrating an example vehicle lift and storage system (VLSS) utilizing a multi-axis accelerometer, in accordance with examples described herein;
- VLSS vehicle lift and storage system
- FIG. 2A is a block figure diagram illustrating an example connected VLSS, in accordance with examples described herein;
- FIGS. 2B to 2E illustrate front views of an exemplary vehicle lift being configured in accordance with a 3 ⁇ 2 Puzzle VLSS Configuration, in accordance with examples described herein;
- FIG. 3 is a block figure diagram illustrating a network system implementing a cloud or network service for managing a plurality vehicle lift and storage systems, in accordance with examples described herein;
- FIG. 4 is a flow chart describing an example method of operating an example vehicle lift and storage system, as shown and described herein;
- FIG. 5 is a flow chart illustrating an example method of performing a vehicle retrieval operation, as shown and described herein;
- FIG. 6 is a flow chart illustrating an example method of performing a vehicle storage operation, as shown and described herein;
- FIG. 7 is a block diagram illustrating an example user device executing and operating a designated user application for communicating with a cloud or network service and/or with a connected VLSS, according to examples described herein;
- FIG. 8 is a block diagram illustrating a computer system upon which examples described herein may be implemented.
- Examples described herein provide for a vehicle lift and storage system (“VLSS”) that comprise one or more platforms for supporting and/or storing vehicles.
- the platforms are movable between a plurality of positions to allow vehicles to access the VLSS via one or more vehicular access positions. For example, a platform can be moved to a vehicular access position of a VLSS and the vehicle can enter the VLSS and onto the platform via the vehicular access position. Subsequently, the platform can be moved to another position to store the vehicle in the VLSS. To retrieve the vehicle, the platform supporting the vehicle can be moved to the vehicular access position and the vehicle can drive off the platform and out of the VLSS.
- the platforms can be moved vertically and/or horizontally.
- the VLSS can also include one or more moving mechanisms operatively connected to the platforms for moving the platforms between the plurality of positions.
- the moving mechanisms can be electromechanical motors that move the platforms (e.g., vertically, horizontally, or both) via mechanical chain links.
- the VLSS can be equipped with a control system that controls the moving mechanisms.
- the control system can determine a sequence for moving the platforms such that vehicles can be stored in and retrieved from the VLSS.
- the sequence for moving the platforms can be optimized by the control system based on a variety of parameters (e.g., user location data etc.) to minimize wait times of users in storing and retrieving their vehicles from the VLSS.
- the VLSS can be configured in accordance with a plurality of types of configurations.
- a platform of a VLSS is movable between a lower position and an upper position. When the platform is in the lower position, a vehicle can access the platform and drive onto the platform. The platform can then be moved to the upper position, which allows at least one additional vehicle to be stored below the platform.
- the VLSS can include a plurality of platforms that are movable between a plurality of positions. In some implementations, the platforms are movable both vertically and/or horizontally (relative to the ground) between a plurality of positions within the VLSS.
- platforms can be moved vertically and horizontally to allow for vehicle storage and retrieval operations.
- 3 ⁇ 2 Puzzle VLSS five platforms are movable between six positions in the VLSS.
- the six positions in the VLSS can be arranged in two vertical layers, each having three positions.
- the five platforms of the 3 ⁇ 2 Puzzle VLSS can be moved to any of the six positions and vehicles can access the VLSS by driving onto an open platform positioned in the lower layer.
- the 3 ⁇ 2 Puzzle VLSS can also be configured such that the top layer of positions within the VLSS are vehicular access positions.
- a platform is typically moved one position at a time between platform positions.
- Another type of configuration referred to herein as a “Tower VLSS,” can comprise a plurality of platforms which are movable between a plurality of storage positions and one or more vehicular access positions.
- the platforms can be moved directly from a vehicular access position to any of the storage positions within the VLSS.
- a shaft extending the height of the Tower VLSS can be used to move platforms (and vehicles) directly from a vehicular access position (e.g., entrance to the Tower VLSS on the ground floor) to any storage position (e.g., a position for platforms storing vehicles 6 layers above the entrance).
- a Tower VLSS configuration can be a dedicated parking structure.
- examples may be described with respect to a certain configuration of VLSS (e.g., Tower VLSS, Puzzle VLSS, etc.), such discussions are not intended to be limited to any particular VLSS configuration but are rather intended to be generally applicable to any potential VLSS configuration.
- a network system can provide a cloud or network service for managing one or more aspects of a plurality of VLSS's.
- the network system can be connectively coupled to the VLSS's via one or more networks (e.g., the Internet).
- the plurality of VLSS's can be geographically dispersed (e.g., located at various locations).
- the network system can communicate with the VLSS's to, for example, identify users, assign spaces for users' vehicles, communicate with users regarding updates or service details, process payments, and manage the maintenance and operation of the VLSS's.
- the network system can maintain user profiles to enable users to have a consistent and seamless experience across all the VLSS's managed by the service platform.
- a user profile can store information regarding or related to the corresponding user, including, for example, payment information, vehicle information, usage history, permanent space allocation(s) at particular VLSS's (if any), etc.
- a user can utilize a single form of identification (e.g., a wireless key fob, a contactless card, a computing device executing a user application, etc.) to access and reserve spaces at several (or all) of the VLSS's managed by the cloud or network service.
- a single form of identification e.g., a wireless key fob, a contactless card, a computing device executing a user application, etc.
- the network system can further maintain dynamically-updated availability information for each of the plurality of VLSS's it manages.
- the network system can dynamically assign or allocate spaces for users at any of the plurality of VLSS's in response to user requests to store vehicles at various locations.
- the availability information can simply indicate, for each VLSS, a number of open (e.g., unassigned and/or unreserved, etc.) spaces available for storing vehicles.
- the availability information can include additional more detailed information such as maintenance information, user information, etc.
- a VLSS can include a plurality of sensors.
- the output of the sensors can be used by the control system to generate control signals to control the moving mechanisms.
- the sensors can detect that a platform has moved in place into a position allocated by the control system (e.g., in accordance with the sequence determined by the control system).
- the control system can halt operations of the moving mechanisms for the platform.
- the sensors can detect for safety events such as a moving platform making unexpected contact with, for example, an open car door.
- the control system can cause the platform to stop moving and return to its original/starting position to avoid damage to the platform, the vehicle on the platform, and the object the platform came in contact with.
- the sensors can detect if a component of the VLSS is malfunctioning (e.g., electromechanical motor, mechanical chain link, etc.).
- the sensors utilized by the VLSS can include accelerometers placed on the platforms.
- Each platform of the VLSS can include an accelerometer and the control system can receive the accelerometer output to generate control signals and/or safety signals to control the moving mechanisms in moving the platforms.
- the accelerometer can be a multi-axis accelerometer that is able to detect the pitch, roll, and yaw of the platform on which it is placed.
- the accelerometer output can further indicate that the platform has made impact with the frame of the VLSS or the ground (e.g., as the platform moves into the desired position) or with another object (e.g., an open door with another vehicle).
- a single accelerometer can be used for a given platform of the VLSS, replacing a plurality of other sensors that would have been used for the same purposes (e.g., detecting platform impact and safety events).
- the use of a multi-axis accelerometer decreases the complexity and costs of building the VLSS by reducing the number of sensors required to ensure safe operations in moving the platforms of the VLSS.
- the control system can monitor the output of an accelerometer of a given platform to detect for safety events associated with the given platform.
- safety events that can be detected by the control system based on the accelerometer output include the platform (or the vehicle on the platform) making undesired or unexpected contact with another object while the platform is being moved, a failure of a moving mechanism or a mechanical link, or a unexpected movement of the platform while the platform being maintained in place.
- a safety event can be detected based on the monitored output from the accelerometer indicating that a pitch rotation, a roll rotation, and/or a yaw rotation of the platform is above a certain threshold value.
- Such an output from the accelerometer can indicate an impact while the platform is being moved such that the platform experiences a rotation or tilt.
- the door of a vehicle being stored on the platform may be ajar or open.
- the vehicle's door may make contact with another platform or another vehicle being stored in the VLSS, causing the moving platform to experience a rotation or tilt.
- the platform while being lowered or raised, the platform can impact an object on one side, also causing the moving platform to experience a rotation or tilt.
- the control system can be configured to generate a safety signal to cause the moving mechanism to cease attempting to bring the platform to from its initial position to the desired position to prevent damage to the platform, the vehicle on the platform (e.g., to prevent the platform from tilting such that the vehicle falls off the platform), and the object with which impact is made (e.g., another platform or another vehicle).
- the moving mechanism can further, in response to the safety event signal, move the platform back to its initial position (or to another safe position).
- the output from the accelerometer that indicate a pitch, roll, or yaw of the platform exceeding a threshold value can indicate that one or more mechanical links of the platform have failed.
- the control system can detect such a safety event and, in response, take corrective actions.
- a computing device refers to devices corresponding to desktop computers, cellular devices or smartphones, personal digital assistants (PDAs), laptop computers, virtual reality (VR) or augmented reality (AR) headsets, tablet devices, television (IP Television), etc., that can provide network connectivity and processing resources for communicating with the system over a network.
- PDAs personal digital assistants
- VR virtual reality
- AR augmented reality
- a computing device can also correspond to custom hardware, in-vehicle devices, or on-board computers, etc.
- the computing device can also operate a designated application configured to communicate with the network service.
- One or more examples described herein provide that methods, techniques, and actions performed by a computing device are performed programmatically, or as a computer-implemented method.
- Programmatically means through the use of code or computer-executable instructions. These instructions can be stored in one or more memory resources of the computing device.
- a programmatically performed step may or may not be automatic.
- a programmatic module, engine, or component can include a program, a sub-routine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions.
- a module or component can exist on a hardware component independently of other modules or components. Alternatively, a module or component can be a shared element or process of other modules, programs or machines.
- computing devices including processing and memory resources.
- one or more examples described herein may be implemented, in whole or in part, on computing devices such as servers, desktop computers, cellular or smartphones, personal digital assistants (e.g., PDAs), laptop computers, VR or AR devices, printers, digital picture frames, network equipment (e.g., routers) and tablet devices.
- PDAs personal digital assistants
- VR or AR devices printers
- digital picture frames e.g., routers
- Memory, processing, and network resources may all be used in connection with the establishment, use, or performance of any example described herein (including with the performance of any method or with the implementation of any system).
- one or more examples described herein may be implemented through the use of instructions that are executable by one or more processors. These instructions may be carried on a computer-readable medium.
- Machines shown or described with figures below provide examples of processing resources and computer-readable mediums on which instructions for implementing examples disclosed herein can be carried and/or executed.
- the numerous machines shown with examples of the invention include processors and various forms of memory for holding data and instructions.
- Examples of computer-readable mediums include permanent memory storage devices, such as hard drives on personal computers or servers.
- Other examples of computer storage mediums include portable storage units, such as CD or DVD units, flash memory (such as carried on smartphones, multifunctional devices or tablets), and magnetic memory.
- Computers, terminals, network enabled devices are all examples of machines and devices that utilize processors, memory, and instructions stored on computer-readable mediums. Additionally, examples may be implemented in the form of computer-programs, or a computer usable carrier medium capable of carrying such a program.
- FIG. 1 is a block figure diagram illustrating an example vehicle lift and storage system (VLSS) utilizing a multi-axis accelerometer, in accordance with examples described herein.
- the VLSS 100 can be a Puzzle VLSS that includes a plurality of platforms that can be moved both horizontally and vertically to allow for vehicle storage and retrieval.
- FIG. 1 illustrates a sideways view of the VLSS 100 , only vertical movements of its platform(s) are illustrated.
- VLSS 100 can also be a simple two-level vehicle lift in which the platforms move vertically.
- the VLSS 100 can include a platform 120 for supporting a vehicle 190 .
- the platform 120 can be moved vertically through a range of movement 121 between a raised position 122 and a lowered position 123 .
- the platform 120 may also be moved horizontally (not shown in FIG. 1 ) while in either the raised position 122 or the lowered position 123 .
- the VLSS further includes a control system 145 that controls a motor mechanism 150 to move the platform 120 between the raised position 122 and the lowered position.
- the platform 120 is operatively coupled to the motor mechanism 150 via a mechanical link 155 .
- the motor mechanism 150 can be an electromechanical motor and the mechanical link 155 can be a chain link.
- the vehicle 190 may be driven onto the platform 120 while the platform 120 is in the lowered position 123 .
- the platform 120 can be raised to the raised position 122 to allow an additional vehicle to be stored underneath the platform 120 .
- a user may interact with the VLSS 100 via a user terminal 110 .
- the user terminal 110 can be a computing device (e.g., a touchscreen computer, a tablet computer, etc.) presenting a user interface which enables the user to initiate vehicle storage or vehicle retrieval operations.
- the user can, after driving vehicle 190 onto the platform 120 while it is in the lowered position 123 , interact with the user terminal 110 to instruct the VLSS 100 to store the vehicle 190 , which may include moving the platform 120 to the raised position 122 .
- the user can interact with the user terminal 110 to instruct the VLSS 100 to lower the platform 120 if it is in the raised position 122 such that the vehicle 190 can be driven off the platform 120 .
- the user can provide identification and/or authentication information (e.g., a user ID, an authorization code, etc.) via the user interface to enable the VLSS 100 to identify the platform 120 that stores the user's vehicle 190 in order move the appropriate platform 120 to the lowered position 123 such that the vehicle 190 can be retrieved from the VLSS 100 .
- identification and/or authentication information e.g., a user ID, an authorization code, etc.
- the user may utilize a wireless key fob to interact with the user terminal 110 and/or the VLSS 100 to store and retrieve the vehicle 190 .
- the VLSS 100 may allow user interactions via a user application executed on a computing device operated by the user (e.g., a smartphone, a smartwatch, a tablet computer, etc.). For example, via the user application, the user can instruct the VLSS 100 to store or retrieve vehicle 190 .
- the VLSS 100 may communicate with the computing device via one or more networks 180 such as the Internet or one or more local network connections (e.g., a local or peer-to-peer Wi-Fi connection, Bluetooth, etc.).
- the user terminal 110 can transmit user input 111 to the control system 145 .
- the user input 111 can identify the user and the requested operation (e.g., vehicle storage or vehicle retrieval). For a requested vehicle storage operation, the user input 111 can further identify the platform (e.g., platform 120 ) on which the vehicle 190 of the user is located.
- the control system 145 can associate the identified platform with the user such that the appropriate platform can be identified when the user requests retrieval of his or her vehicle 190 .
- the control system 145 can automatically associate a platform with a user during a vehicle storage operation based on sensor outputs (e.g., output from an accelerometer 135 attached to the platform 120 ).
- control system 145 can determine, based on the sensor output, that a vehicle has been driven onto platform 120 . In response, the control system 145 can automatically associate the platform 120 with the next vehicle storage operation request. In contrast, for a requested vehicle retrieval operation, in response to user input 111 , the control system 145 can identify the platform associated with the user (e.g., platform storing the user's vehicle 190 ) and determine a sequence of platform movements to allow the user to retrieve his or her vehicle 190 . For instance, the control system 145 can determine a sequence of platform movements to move the platform 120 that stores the user's vehicle 190 to the lowered position 123 such that the user can retrieve vehicle 190 .
- platform associated with the user e.g., platform storing the user's vehicle 190
- the control system 145 can determine a sequence of platform movements to move the platform 120 that stores the user's vehicle 190 to the lowered position 123 such that the user can retrieve vehicle 190 .
- the control system 145 can generate a control signal 146 to control the motor mechanism 150 in moving the platform 120 .
- the control system 145 can detect potential safety issues associated with the platform 120 based on the sensors' output and can generate a safety signal 147 in response.
- the sensors can include an accelerometer 135 attached to the platform 120 .
- the accelerometer 135 is attached underneath the platform 120 and located at the midpoint of the bottom surface of the platform 120 . In other examples, the accelerometer 135 can be located elsewhere on the platform 120 .
- the accelerometer 135 can be a multi-axis accelerometer that can detect the movement, impact, and orientation of the platform 120 .
- the accelerometer 135 can detect the pitch, roll, and yaw of the platform 120 .
- the accelerometer 135 can also detect an impact experienced by the platform 120 (e.g., another object impacting the platform 120 , the platform 120 impacting another object as it moves from one position to another, the vehicle 190 impacting another object as the platform moves from one position to another etc.).
- the accelerometer 135 can be a wireless, battery-operated sensor device.
- the accelerometer 135 can communicate with the control system 145 via a wireless gateway 125 of the control system 145 over a wireless sensor link 140 .
- the accelerometer 135 can transmit, over the wireless sensor link 140 , various data related to the platform 120 to the control system 145 .
- the data can include a pitch rotation 136 of the platform 120 , a roll rotation 137 of the platform, a yaw rotation 138 of the platform 120 , and an indication of an impact 139 experienced by the platform 120 .
- the accelerometer 135 can be configured to operate in a manner to prolong or maximize its battery life.
- the accelerometer 135 can be configured to transmit data over the wireless sensor link 140 only when movement is detected by the accelerometer 135 .
- the accelerometer 135 can enter a standby mode and/or temporarily disable the wireless sensor link 140 to conserve energy usage.
- the controls system 145 can generate a control signal 146 to control the motor mechanism 150 operations in moving the platform 120 (e.g., via the mechanical link 155 ).
- the control system 145 can, in response to the user input 111 or another signal indicating a request for vehicle retrieval or storage operations, determine to move platform 120 from the raised position 122 to the lowered position 123 . Based on this determination, the control system 145 can generate a corresponding control signal 146 .
- the control signal 146 can cause the motor mechanism 150 to move the platform 120 a predetermined distance from its initial position (e.g., the raised position 122 ) to a desired position (e.g., the lowered position 123 ).
- control signal 146 can cause the motor mechanism 150 to operate a calibrated number of revolutions to cause the platform 120 to move from the raised position 122 to the lowered position 122 .
- the control system 145 can look up, in a database or a memory storage element, the calibrated number of revolutions needed to move the platform 120 from the raised position 122 to the lowered position 123 .
- the control system 145 can then generate the control signal 146 to cause the motor mechanism 150 to operate the calibrated number of revolutions (e.g., as measured by the revolution counter 160 ) in order to move the platform 120 from the raised position 122 to the lowered position 123 .
- the motor mechanism 150 and/or the mechanical link 155 can be coupled to an instrument for measuring or estimating the amount of distance the platform 120 has traveled while being moved into the desired position.
- an instrument can be a revolution counter 160 for counting the number of revolutions by the motor mechanism 150 or a gear attached to the mechanical link 155 .
- the calibrated number of revolutions can be determined based on calibrations performed by an administrator or an engineer for each possible platform movement. For a VLSS having three vertical layers, for example, separate calibrations can be performed for moving the platform 120 between a top position to a middle position and for moving the platform 120 between the middle position to a bottom position.
- the calibrations can be periodically performed to compensate for changes in the components of the motor mechanism 150 and/or the mechanical link 155 over time.
- the mechanical link 155 can be a chain link that can stretch over time, which can affect the distance the platform 120 is moved given the same number of revolutions performed by the motor mechanism 150 . Accordingly, by periodically performing calibrations, the performance of the VLSS 100 can be guaranteed.
- the VLSS 100 can be configured to self-calibrate based on data transmitted from the accelerometer 135 via, for example, the wireless sensor link 140 .
- the control system 145 can receive, from the accelerometer 135 , indications of impact (e.g., impact 139 ) by the platform 120 as it moves into the desired position and compare this data with the revolution counter 160 configured to measure or estimate the number of revolutions by the motor mechanism 150 and/or a gear coupled to the mechanical link 155 . If the mechanical link 155 has been stretched over time, the accelerometer 135 may indicate impact by the platform 120 as it moves into the desired position prior to the revolution counter 160 reaching the calibrated number of revolutions. In response, the control system 145 can self-calibrate by correspondingly adjusting (e.g., lowering) the calibrated number of revolutions for moving the platform 120 from the initial position to the desired position.
- the control system 145 can monitor data (e.g., pitch 136 , roll 137 , yaw 138 , impact 139 ) transmitted by the accelerometer 135 to generate the safety signal 147 which can be received by the motor mechanism 150 .
- the safety signal 147 can be a signal generated in response to a detected safety event.
- the control signal 146 and safety signal 147 can be generated and treated by the control system 145 and the motor mechanism 150 as a single signal.
- a safety event can correspond to the platform 120 making unexpected impact with another object.
- the safety event can also correspond to the motor mechanism 150 or the mechanical link 155 experiencing issues or failing while the platform 120 is being move to the lowered position 123 .
- one or more mechanical chain links constituting the mechanical link 155 can snap or break, or the motor mechanism 150 can jam.
- the safety event can further correspond to external events such as a seismic event (e.g., earthquake) or accident such as a vehicle, while being driven, crashing into the lift frame 115 .
- the accelerometer 135 can detect the effects on the platform 120 and, in response, the control system 145 can generate an appropriate safety signal 147 .
- the control system 145 can, in response to user input 111 , generate the control signal 146 to cause the motor mechanism 150 to move the platform 120 from the raised position 122 to the lowered position 123 .
- the accelerometer 135 can automatically begin transmitting data (e.g., pitch 136 , roll 137 , yaw 138 , impact 139 ) over the wireless sensor link 140 to the control system 145 .
- the platform 120 can impact an object prior to reaching the lowered position 123 , thereby causing a safety event.
- the control system 145 can determine the occurrence of a safety event by analyzing the data from the accelerometer 135 with reference to the revolution counter 160 .
- data from the accelerometer 135 can indicate the impact with the object before the revolution counter 160 having reached the calibrated number of revolutions needed to bring the platform 120 from the raised position 122 to the lowered position 123 .
- the control system 145 can determine that the data from the accelerometer 135 indicates an undesired and/or unexpected impact by the platform 120 (e.g., an impact other than the one experienced by the platform as it moves into position into the lowered position 123 ), and thus indicates a safety event.
- control system 145 can determine a safety event has occurred in response to the accelerometer 135 detecting that the platform 120 experiences a pitch rotation, roll rotation, or a yaw rotation. For instance, when the platform 120 impacts an object as it moves from its initial position to a desired position, the platform 120 can experience a rotation or tilt.
- the accelerometer 135 can detect such a rotation experienced by the platform 120 force and communicate to the control system such a detection via measurements such as the pitch 136 , roll 137 , or yaw 138 .
- the control system 145 can, in response to receiving data from the accelerometer 135 that exceeds one or more thresholds, determine that a safety event has occurred and can generate a safety signal 147 .
- the platform 120 can impact as it moves down from the raised position 122 to the lowered position 123 . As it makes impact, the platform 120 can experience a tilt to one side due to the impact with the object (e.g., because the object is located on one side of the platform 120 ).
- the accelerometer 135 can transmit data (e.g., pitch 136 , roll 137 , and/or yaw 138 ) that indicate the tilt of the platform 120 to the control system 145 via the wireless sensor link 140 .
- the control system 145 can determine that a safety event has occurred and generate an appropriate safety signal 147 .
- predetermined thresholds e.g., pitch 136 exceeding a pitch rotation threshold value, or roll 137 exceeding a roll rotation exceeding a roll rotation threshold value, and/or yaw 138 exceeding a yaw rotation threshold value
- the control system 145 can further determine the occurrence of a safety event based on data from the accelerometer 135 when the platform 120 is not moving from one position to another.
- the mechanical link 155 can fail while the platform 120 is stationary or the VLSS 100 can experience a seismic event or an accident (e.g., the lift frame 115 can be hit by a vehicle etc.).
- the accelerometer 135 can detect movement of the platform 120 caused by the safety event and transmit the data generated to the control system 145 via the wireless sensor link 130 .
- the control system 145 can, in response, detect the occurrence of the safety event based on receiving the accelerometer data while the platform 120 is supposed to remain in place.
- the control system 145 can further discern a type of safety event by analyzing the data from the accelerometer 135 and other sensors. For instance, the control system 145 can further determine that a detected safety event corresponds to a failure of the mechanical link 155 . The control system 145 can also determine that another detected safety event corresponds to an impact against an external object while the platform 120 is being moved into a desired position. In addition, based on the data from the accelerometer 135 (e.g., pitch 136 , roll 137 , yaw 138 ), the control system 145 can determine which side of the platform impacted the external object while it is being moved into the desired position.
- the accelerometer 135 e.g., pitch 136 , roll 137 , yaw 138
- the control system 145 can determine which safety event type a detected safety event most likely is by analyzing the received sensor data, including data from the accelerometer 135 .
- the control system 145 can maintain event profiles for a plurality of types of safety event types.
- An event profile can comprise simulated or accumulated sensor data that correspond to a particular type of safety event. For instance, impact with an external object on one side of the platform 120 as it is being moved into a position can have a different event profile compared to impact with an external object on another side of the platform 120 .
- a failure of the mechanical link 155 can also have one or more safety event profiles.
- the mechanical link 155 can comprise multiple chain links (e.g., one on each corner of the platform 120 ) and individual safety event profiles can be maintained for failure of each of the multiple chain links.
- the control system 145 can analyze the received data from the accelerometer 135 and other sensors and compare the received data against the event profiles to determine an event profile that best matches the received sensor data to determine a type of safety event that corresponds to the received sensor data.
- a machine-learned model e.g., tree-based model, an artificial neural network, etc.
- sensor data e.g., data from the accelerometer 135
- the machine-learned model can be trained over time via supervising input from an administrator or lift operator.
- the control system 145 can further utilize other information, such as the state of the platform 120 (e.g., whether the platform 120 was being moved from one position to another while the safety event was detected), to aid in determining a safety event type.
- the safety signal 147 generated by the control system 145 can cause the VLSS 100 to perform one or more operations to protect the vehicle(s) and components of the VLSS 100 affected by the detected safety event. For instance, if the detected safety event corresponds to the platform 120 impacting an external object as the platform 120 is being moved from its initial position to a desired position (e.g., while the motor mechanism 150 is operating in a normal mode of operation), the safety signal 147 can cause the motor mechanism 150 to stop moving the platform 120 in the direction of the desired position (e.g., to stop operating in the normal mode of operation).
- the safety signal 147 can cause the motor mechanism 150 to perform safety operations (e.g., enter a safety mode) including moving the platform 120 back to its initial position or to another position that is deemed safe by the control system 145 (e.g., a position between the initial position and the desired position).
- the safety signal 147 can cause one or more safety latches to engage to improve the stability of the platform 120 .
- the safety signal 147 can be based on various sensor data such as data received from the accelerometer 135 .
- the control system 145 can generate the safety signal 147 to cause the motor mechanism 150 to counteract or offset the detected tilt caused by the safety event.
- the safety signal 147 can be generated based on the type of safety event determined by the control system 145 .
- the control system 145 can generate an alert message 148 for transmission over one or more networks 180 to an administrator system 195 .
- the alert message 148 can be transmitted via a network interface 170 of the VLSS 100 .
- the alert message 148 can be transmitted to a cloud or network service for managing the VLSS 100 .
- the alert message 148 allows an administrator or operator overseeing the operations of the VLSS 100 to be notified of events that require their attention. For instance, the alert message 148 can be generated for transmission to the administrator system 195 in response to detecting a safety event.
- the alert message 148 can include detailed information regarding the detected safety event including, for example, time of the detected safety event, type of safety event detected, identification of the affected platform(s), identification of vehicles and/or users affected, and the like.
- the VLSS 100 can be equipped with one or more cameras and the alert message 148 can include a video clip or a link to a video clip of the detected safety event.
- control system 145 can generate the alert message 148 regarding the maintenance and upkeep of the VLSS 100 .
- the revolution counter 160 can indicate a cumulative revolution exceeding a maintenance threshold, which may indicate a recommended or required service of the motor mechanism 150 and/or the mechanical link 155 .
- control system 145 can generate an alert message 148 for transmission to the administrator system 195 that indicates detailed information regarding the recommended or required service, including, for example, identification of the motor mechanism(s) 150 and/or mechanical link(s) 155 requiring service and type of service that is recommend or required.
- the VLSS 100 can dynamically alert administrators or operators of the VLSS 100 when maintenance or service is required by individual components of the VLSS 100 . Because frequency of desired maintenance and service can depend on the usage of the VLSS 100 , it is particularly advantageous for the VLSS 100 to be able to dynamically alert the administrator or operator when maintenance or service is required for particular components of the VLSS 100 .
- FIG. 2A is a block figure diagram illustrating an example connected vehicle lift and storage system, in accordance with examples described herein.
- the connected VLSS 200 comprises a control system 210 and a vehicle lift 250 .
- the connected VLSS 200 can further include components illustrated and described with respect to FIG. 1 including, for example, one or more motor platforms, mechanisms, mechanical links, etc.
- the vehicle lift 250 can store a plurality of vehicles and can comprise a plurality of platforms (not illustrated in FIG. 2 ) that can be moved between a plurality of positions.
- the vehicle lift 250 can have multiple levels and the platforms can be moved vertically between them.
- the platforms can also be moved horizontally between a plurality of horizontal positions.
- the vehicle lift 250 can be configured in accordance with a plurality of possible configurations.
- the vehicle lift 250 can be a simple vehicle lift in which the platforms of the vehicle lift can be moved only vertically.
- the vehicle lift 250 can also be of a Puzzle VLSS configuration in which the platforms can be moved vertically and horizontally.
- the vehicle lift 250 can be of a Tower VLSS configuration.
- vehicles can enter and exit the vehicle lift 250 via one or more vehicular access positions.
- a platform can be moved into a vehicular access position to enable a vehicle to enter the vehicle lift 250 and onto the platform. Subsequently, the platform can be moved to another position within the vehicle lift 250 to store the vehicle. When the vehicle is to be retrieved, the platform can be moved back to the vehicular access position (or to another vehicular access position) so that the vehicle can be driven off the platform by the user.
- the platforms can be moved by motor mechanisms and mechanical links similar to those described with respect to FIG. 1 (e.g., motor mechanism 150 and mechanical link 155 ).
- the control system 210 can control various aspects of the operations of the vehicle lift 250 .
- the control system 210 can receive and process user requests 299 to store and retrieve their vehicles on the vehicle lift 250 .
- the control system 210 can perform various functions such as one or more of: communicating with user devices 295 operated by users 290 to receive user requests 299 , verifying the users 290 , communicating with a service platform 270 to retrieve additional information regarding the users 290 , determining an optimal sequence for moving the plurality of platforms for a given set of user requests, and/or controlling the movement of the platforms on the vehicle lift 250 in accordance with the determined sequence.
- the connected VLSS 200 may include a plurality of vehicle of various configurations all of which can be controlled by the control system 210 .
- the control system 210 can include a network interface 225 for communicating with user devices 295 operated by users 290 over one or more networks 280 .
- the user devices 295 can execute dedicated user application 296 .
- the dedicated user application 296 can enable a user 290 to submit a request 299 to store or retrieve his or her vehicle on the vehicle lift 250 .
- the user device 295 can transmit, via the user application 296 , location data 297 and user ID 298 to the control system 210 as part of the request 299 to retrieve or store the user's vehicle.
- the location data 297 can be generated by a location-aware resource of the user device 295 (e.g., GPS, GLONASS, Galileo, or BeiDou receiver) and can indicate a current location of the user 290 .
- the user ID 298 can be a unique identification number or token for the user 290 across the cloud or network service managed by the service platform 270 .
- the control system 210 can also communicate with a service platform 270 via the network interface 225 and the one or more networks 280 .
- the service platform 270 can run a cloud or network service for operating and managing a plurality of VLSS's such as the connected VLSS 200 .
- the cloud or network service can enable a uniform and consistent user access and experience across the plurality of VLSS's managed by the cloud or network service.
- the service platform 270 can maintain a corresponding user profile for each of a plurality of users 290 .
- the service platform 270 can also process financial transactions and handle parking reservations associated with the users' use of the VLSS's.
- the control system 210 can include supervisory control and data acquisition (SCDA) 215 .
- the SCDA 215 can act as a central hub or processor of the control system 210 to receive and process requests and other information.
- the SCDA 215 can generate a control signal 216 to control the movement of the platforms of the vehicle lift 250 .
- the SCDA 215 can also receive sensor data 256 from sensors 255 of the vehicle lift 250 .
- sensors can include accelerometers attached to platforms of the vehicle lift 250 as well as other sensors.
- the control signal 216 can be generated by the SCDA 215 based on the sensor data 256 .
- the SCDA 215 can receive user requests to store or retrieve vehicles via the network interface 225 and process such requests.
- the user 290 can transmit a request 299 for vehicle retrieval operations.
- the request 299 can include the user's location data 297 and a user ID 298 of the user 290 .
- the user 290 can interact with the user application 296 to transmit the request 299 requesting vehicle retrieval operations.
- the user device 295 can be configured to automatically transmit the request 299 requesting vehicle retrieval operations.
- the user device 295 can be configured to automatically transmit the request 299 based on the user device 295 being located within a certain distance of the connected VLSS 200 (e.g., based on the location data 297 ) or based on the user device 295 being within communication range of the connected VLSS 200 (e.g., within Bluetooth or Wi-Fi range, etc.).
- the request 299 can be automatically transmitted once the user device 295 is connected to a particular Wi-Fi network or establishes Bluetooth connection with the connected VLSS 200 .
- the control system 210 can identify, based on the user ID 298 , a platform on which the user's vehicle is stored from the plurality of platforms of the connected VLSS 200 .
- the control system 210 can include a database 220 that maintains storage records 221 that associate users and their vehicles with the platforms the vehicles are stored on.
- the SCDA 215 can receive a platform ID 223 that identifies the platform on which the user's vehicle is stored.
- the user 290 may have two or more vehicles stored on the storage lift 250 .
- the request 299 can further specify a vehicle ID and the SCDA 215 can further query the database 220 using the specified vehicle ID to identify the platform to be moved to a vehicular access position.
- the control system 210 can include a queueing engine 245 for determining and updating a sequence for moving the platforms to fulfill user requests to store and retrieve vehicles.
- the sequence can identify the order and positions in which platforms are moved to fulfill pending user requests.
- the control system 210 and the queueing engine 245 can determine and/or update the sequence based on the existing or current positions of the platforms within the vehicle lift 250 . For instance, a sequence determined in response to a vehicle retrieval request from user 290 for his or her vehicle can depend on where that vehicle is stored within the vehicle lift 250 .
- the database 220 can store this information as part of the storage records 221 .
- the sequence can be determined and/or updated based on information that can indicate when user will be ready to retrieve his or vehicle, including as a requested time indicated in the retrieval request, user location, user profile information, and the like. In some instances, no other user requests are pending and the queueing engine 245 simply determines the optimal sequence of platform movements to move the identified platform storing the user's vehicle to a vehicular access position. The queueing engine 245 can optimize the sequence based on fewest number of platform movements, quickest estimated time to retrieve the vehicle, minimize wait times for the user submitting requests, etc.
- FIGS. 2B to 2E illustrate front views of an exemplary vehicle lift 250 being configured in accordance with a 3 ⁇ 2 Puzzle VLSS Configuration having five platforms (Platforms 1-5) for storing vehicles.
- the five platforms can be moved into six possible positions within the vehicle lift 250 : Positions A-F.
- Positions A-F Of the six possible positions, three (Positions B, D, and F) are vehicular access positions because they are on the same level as the ground.
- FIG. 2B illustrates a view of the exemplary vehicle lift 250 prior to receiving a user request to retrieve vehicles.
- three vehicles are stored on the vehicle lift 250 : Vehicle 1 on Platform 1, Vehicle 2 on Platform 3, and Vehicle 3 on Platform 4.
- the control system 210 can first determine, based on the user ID 298 , that the vehicle of the user 290 (Vehicle 1) is stored on Platform 1. Subsequently, the control system 210 and/or the queueing engine 245 can determine that, to retrieve Vehicle 1 (e.g., move Platform 1 to a vehicular access position), the optimal sequence is: (1) move Platform 4 to Position F, (2) move Platform 2 to Position D, and (3) move Platform 1 to Position B.
- FIG. 2C illustrates the positioning of the platforms within the vehicle lift 250 after the determined sequence of platform moves to retrieve the user 290 's vehicle (Vehicle 1) has been completed.
- Vehicle 1 is now in a vehicular access position (Position B), thus allowing the user 290 to retrieve Vehicle 1 from the vehicle lift 250 .
- the optimal sequence can be so determined because the sequence involves the least number of platform moves and is also estimated to be the fastest.
- one or more other requests to retrieve or store vehicles may be pending while the control system 210 receives user request 299 .
- the request 299 can be received at substantially the same time as another request from another user.
- the control system 210 and the queueing engine 245 can perform multi-variate optimizations to determine an optimal sequence for the multiple users who are requesting vehicle storage or retrieval operations.
- the sequence can be determined and/or updated to minimize the cumulative wait time of each of the users who have submitted requests.
- the sequence can be determined based on respective locations of the requesting users.
- a user's vehicle retrieval request can be de-prioritized (e.g., placed in the back of the sequence) based on the user's data indicating that the user is located far away from the vehicle lift 250 (or the connected VLSS 200 ).
- the control system 210 and/or queueing engine 245 can estimate a time of arrival at the vehicle lift 250 for each of the users who submitted a vehicle retrieval request based on the users' respective location data.
- the queueing engine 245 can then determine a sequence or update an existing sequence based on the estimated times of arrival of the users.
- the sequence can be determined based on comparing the location data and/or ETA of two or more users.
- a second request for vehicle retrieval from a second user can be received while the vehicle lift 250 is performing the operations to move Vehicle 1 to Position B.
- the control system 210 can determine that the second user's vehicle (Vehicle 2) is stored on Platform 3.
- both Platforms 1 and 3 need to be moved to one or more vehicular access positions.
- the control system 210 can compare the location data of the first user (user 290 ) and the second user to determine that the first user is much closer to the vehicle lift 250 and thus likely to be ready to retrieve Vehicle 1 much earlier than the second user is able to retrieve Vehicle 2.
- the queueing engine 245 can determine to update the sequence such that Platform 1 is moved to Position B for the first user to retrieve Vehicle 1 (as illustrated in FIG. 2C ) and after Vehicle 1 is retrieved, Platform 3 is moved to Position D to allow Vehicle 2 to be retrieved by the second user. Accordingly, the sequence is updated to be: (1) move Platform 4 to Position F, (2) move Platform 2 to Position D, (3) move Platform 1 to Position B (and wait for Vehicle 1 to move off Platform 1), (4) move Platform 1 back to Position A, (5) move Platform 2 to Position B, and (6) move Platform 3 to Position D.
- FIG. 2D illustrates the positioning of the platforms within the vehicle lift 250 after this updated sequence of platform moves has been completed. Given the information that the first user is much closer to the vehicle lift 250 than the second user, this determined sequence can minimize the wait times for both users.
- control system 210 determine, based on the respective location data of the first and second users, that the second user is likely to arrive at the vehicle lift 250 at approximately the same time. In such a scenario, it may be undesirable to force the second user to wait for the first user to retrieve Vehicle 1 before Vehicle 2 is ready for retrieval (as illustrated in FIGS. 2C and 2D ). Thus, based on this determination, the queueing engine 245 can determine to update the sequence to move both Vehicle 1 and Vehicle 2 to vehicular access positions before allowing either of the users to retrieve their vehicles.
- the queueing engine 245 can update the sequence to be: (1) move Platform 4 to Position F, (2) move Platform 2 to Position D, (3) move Platform 1 to Position B, (4) move Platform 3 to Position A, (5) move Platform 2 to Position C, (6) move Platform 1 to Position D, and (7) move Platform 3 to Position B.
- FIG. 2E illustrates the positioning of the platforms within the vehicle lift 250 after this updated sequence of platform moves has been completed. Compared with the sequence discussed above with respect to FIG. 2D , the first user may have to wait an additional amount of time before she or he can retrieve Vehicle 1 and there are seven required platform moves compared with six.
- the cumulative wait time of both the first user and the second user is optimized because the second user does not have to wait for the first user to retrieve Vehicle 1 before Vehicle 2 can be moved into place for retrieval.
- this updated sequence can be more optimal.
- the control system 210 and queueing engine 245 can determine and/or update the sequence based on profile data 271 received from the service platform 270 .
- the profile data 271 can be data retrieved from a corresponding user profile 276 maintained for the requesting user 290 .
- the profile data 271 can indicate a preference for the user 290 to retrieve his or her vehicle at a preferred vehicular access position (e.g., a preferred entry/exit in a Tower Configuration VLSS).
- the control system 210 and queueing engine 245 can determine the sequence such that the vehicle of user 290 is moved to the preferred vehicular access position in response to a vehicle retrieval request from the user 290 .
- the profile data 271 can further indicate parameters gathered from past usage of VLSS's managed by the service platform 270 by the user 290 .
- the profile data 271 can indicate that the user 290 typically arrives earlier than requested vehicle retrieval times indicated in the user's requests.
- the control system 210 and queueing engine 245 can update the sequence such that the vehicle of the user 290 can be ready for retrieval before a requested time indicated in the user's request 299 .
- control system 210 and queueing engine 245 can determine sequences of platform movements for other configurations of the vehicle lift 250 or connected VLSS 200 .
- the control system 210 and queueing engine 245 can determine sequences for other types of Puzzle Configurations, such as a 4 ⁇ 3 Puzzle Configuration or a 6 ⁇ 4 Puzzle Configuration.
- the control system 210 and queueing engine 245 can determine sequences for a Tower Configuration VLSS. As described with respect to FIGS.
- these sequences can be determined and updated in response to user requests and based, at least in part, on one or more of: the current positions of the platforms within the vehicle lift 250 , location data of each of the users submitting vehicle retrieval requests, ETA to the vehicle lift 250 of each of the users submitting vehicle retrieval requests, user profile information, and the like.
- there can be multiple sequences determined for the vehicle lift 250 for certain configurations like the Tower Configuration.
- a Tower Configuration can have two or more vehicular access positions and the platforms may be moved independently between to and from these vehicular access positions.
- the control system 210 and the queueing engine 245 may manage two or more independent sequences for moving the platforms to and from these vehicular access positions to complete vehicle retrieval and storage requests from users.
- control system 210 and queueing engine 245 can determine to move the platforms of vehicle lift 250 based on scheduled user requests or in anticipation of user requests. For instance, the control system 210 can receive a request 299 indicating a request to retrieve the vehicle of the user 290 in two hours. In response, the control system 210 and queueing engine 245 can optimize the sequence such that during downtimes in the following two hours (e.g., during times when there would otherwise be no platform movements), the platform storing the vehicle of user 290 can be moved towards or closer to a vehicular access position such that the vehicle can be quickly retrieved for the user 290 in two hours' time.
- control system 210 and queueing engine 245 can anticipate a future user request based, for example, on profile data 271 indicating that the user 290 typically retrieves her or his vehicle at 5 P.M. on weekdays. In response, the control system 210 and queueing engine 245 can determine to move the platform storing the vehicle of user 290 towards or closer to a vehicular access position at 4:30 P.M. such that the vehicle can be easily retrieved for the user 290 at 5:00 P.M., when the user 290 typically retrieves the vehicle.
- control system 210 and the queueing engine 245 can determine and/or update the sequence in response to receiving the request 299 from the user 290 requesting for vehicle storage operations.
- Vehicle storage requests can be treated similarly to vehicle retrieval requests in that an existing sequence of platform movements can be updated to accommodate for a received vehicle storage request.
- the queueing engine 245 can determine a position within the vehicle lift 250 to store the vehicle and based on that optimal position, determine a sequence of platform movements (or update an existing sequence) such that the platform storing the vehicle of the user 290 is moved into the determined position.
- the control system 210 and the queueing engine 245 can determine the optimal position for the vehicle of the user 290 based on profile data 271 .
- the profile data 271 may indicate a preferred position within the vehicle lift 250 to store the user's vehicle.
- the profile data 271 can include usage history information.
- the profile data 271 can indicate that the user typically stores his or her vehicle from 8 A.M. to 5 P.M. on weekdays (e.g., parking at the user's workplace).
- the control system 210 and queueing engine 245 can determine an optimal position to store the user's vehicle given this information.
- the queueing engine 245 can determine to move the platform storing the user's vehicle to a position farther away from the vehicular access positions since the vehicle does not need to be accessed for many hours.
- the request 299 for vehicle storage operations can further indicate an expected time of vehicle retrieval, which can be used to determine the position to which the platform storing the user's vehicle will be moved.
- the user 290 can indicate in the request 299 for vehicle storage operations that she or he will retrieve the vehicle within an hour of storing it (e.g., a short trip to the stores).
- control system 210 and the queueing engine 245 can determine to move the platform storing the vehicle of the user 290 to a position close to a vehicular access position because the vehicle is expected to be retrieved soon. Such optimizations performed by the control system 210 and the queueing engine 245 in storing vehicles can reduce platform movements and wait times for users of the vehicle lift 250 .
- control system 210 and the queueing engine 245 can determine the sequence of platform movements in response to a request 299 (e.g., for retrieval or for storage) based, at least in part, on maintenance records 222 maintained in the database 220 .
- the maintenance records 222 can indicate malfunctions with moving platforms into a particular position within the vehicle lift 250 .
- the control system 210 may have detected such malfunctions during previous operations of the vehicle lift 250 or an administrator may have entered the information regarding the malfunction into the database 220 .
- the control system 210 and the queueing engine 245 can determine a sequence that does not involve moving any platforms in into the particular position experiencing malfunctions.
- a given platform may have issues preventing vehicles from safely getting on and/or off the platform.
- the control system 210 and the queueing engine 245 can operate in response to a request 299 for vehicle storage operations such that the problematic platform is not identified for vehicle storage.
- the control system 210 can transmit information regarding detected or identified malfunctions or problems to the service platform 270 to enable the service platform 270 to maintain up-to-date availability information in view of the malfunctions or problems.
- this allows the connected VLSS 200 to continue operating even when mechanical or other problems are detected or identified.
- some of the platforms of the vehicle lift 250 can include specialized equipment such as electric vehicle charging ports.
- the SCDA 215 and the queueing engine 245 can determine, in response to a request 299 to store a vehicle, to move one of the platforms that include the specialize equipment to a vehicular access position such that the requesting user may access the specialized equipment.
- the request 299 or the profile data 271 of the user may indicate that the vehicle being stored by the user 290 is an electric vehicle.
- the SCDA 215 and the queueing engine 245 can identify an available platform that includes compatible electric vehicle supply equipment (EVSE) for charging the user's vehicle.
- EVSE electric vehicle supply equipment
- the SCDA 215 and the queueing engine 245 can cause the identified platform to be moved to a vehicular access position such that the user's vehicle can be stored on the identified platform.
- the EVSE of the identified platform can be used to charge the on-board batteries of the user's electric vehicle while the vehicle is being stored in the vehicle lift 250 .
- the SCDA 215 can further generate a message 218 to be transmitted to the user device 295 via the network interface 225 and the one or more networks 280 .
- the message 218 can be transmitted after a requested vehicle storage operation has been completed.
- the message can inform the user 290 that the user's vehicle has been stored.
- the user application 296 can prompt a user input of a time to retrieve the vehicle such that a vehicle storage request can be scheduled.
- the message 218 can be transmitted in response to a vehicle retrieval request. In this instance, the message 218 can inform the user 290 of an estimated time the vehicle will be ready for retrieval.
- the message 218 can further inform the user 290 of the vehicular access position the vehicle will be placed after the retrieval operation is complete. For instance, for a Tower Configuration VLSS having a plurality of vehicular access positions located at different access points of a building structure, the message 218 can inform the user at which access point to pick up her or his vehicle.
- the control system can include an AV interface 230 for interfacing with autonomous vehicles (AVs).
- the SCDA 215 can generate AV instructions 217 for transmission to an AV 285 .
- the AV instructions 217 can be transmitted via the one or more networks 280 or can be transmitted via a local network (e.g., Wi-Fi or Bluetooth) or a dedicated wireless communication channel.
- the AV instructions 217 can cause the AV 285 to enter and exit the vehicle lift 250 (e.g., pull into or pull out of a vehicular access position).
- the control system 210 can direct the AV 285 to autonomously drive itself onto or off the vehicle lift 250 .
- the vehicle lift 250 can include one or more cameras 260 which can transmit camera data 261 to the control system 210 via the lift interface 235 .
- the camera data 261 can be routed to a machine vision module 240 which can perform image analysis on the received camera data 261 .
- the image analysis performed by the machine vision module 240 can be used to determine whether a vehicle is free of occupants (e.g., one or more persons or pets) prior to moving the vehicle to a storage position within the vehicle lift 250 .
- the one or more cameras 260 can be positioned to capture images or videos through the windshield of the vehicle to allow the machine vision module 240 to determine if any occupants remain in the vehicle.
- the machine vision module 240 can further determine if any persons or objects are on the platform.
- the machine vision module 240 can generate a safety signal 241 to the SCDA 215 to enable the SCDA 215 to stop the vehicle lift 250 from moving the platform (e.g., via the control signal 216 ).
- the machine vision module 240 can also be configured to perform facial recognition to determine the identity of the user 290 . In this manner, the user 290 can store and/or retrieve her or his vehicle by simply walking up to the vehicle lift 250 . In doing so, the machine vision module 240 can identify the user and automatically process an appropriate request (e.g., store or retrieve) for the user based on the user's identity.
- FIG. 3 is a block figure diagram illustrating a network system 300 implementing a cloud or network service for managing a plurality of VLSS's 350 , 355 , and 360 , in accordance with examples described herein.
- network system 300 can be an embodiment of the service platform 270 shown and described with respect to FIG. 2A .
- the VLSS 350 , 355 , and 360 can be embodiments of the VLSS 200 shown and described with respect to FIG. 2A .
- the network system 300 can communicate with the plurality of VLSS's 350 , 355 , and 360 via a network interface 315 over one or more networks 380 in order to manage the plurality of VLSS's 350 , 355 , and 360 .
- the network system 300 can manage parking assignments across the plurality of VLSS's 350 , 355 , and 360 .
- the network system 300 can determine, in response to a particular user's request for vehicle storage operations, in which of the plurality of VLSS's 350 , 355 , and 360 the user's vehicle is to be stored. In doing so, the network system 300 can maintain dynamically-updated availability information for each of the plurality of VLSS's 350 , 355 , and 360 .
- the network system 300 can also communicate with a user device 395 that executes a user application 396 to receive a request 397 .
- the request 397 can correspond to a request for vehicle storage operations from a user 390 or to a request for vehicle retrieval operations.
- the request 397 can include location data generated by one or more geo-aware resource of the user device 395 .
- the request 397 can further include identification information (e.g., a unique username or user identification code) of the user 390 .
- the request 397 for vehicle storage operations can also indicate an requested duration of the time the user expects to store his or her vehicle.
- an assignment engine 330 of the network system 300 can determine a dynamic parking assignment 331 .
- the dynamic parking assignment 331 can indicate at which of the plurality of VLSS's 350 , 355 , and 360 the user's vehicle is to be stored. In certain implementations, the dynamic parking assignment 331 can further indicate a position or section within a particular VLSS the user's vehicle is to be stored.
- the dynamic parking assignment 331 can be determined based on the availability information maintained by the network system 300 in a service database 340 (e.g., availability records 342 ).
- the dynamic parking assignment 331 can also be determined based on the user's location data transmitted as part of the request 397 .
- the assignment engine 330 can determine the dynamic parking assignment 331 such that the identified VLSS is the closest one to the user 390 that has availability for the requested duration of time. After the dynamic parking assignment 316 has been determined, it can be transmitted to the relevant VLSS.
- the network interface 315 can generate and transmit, to the user device 395 , a confirmation message 316 .
- the confirmation message 316 can indicate the location of the assigned VLSS for the user 390 's request 397 .
- the confirmation message 316 can further include an indication of the estimated cost to the user 390 for parking the vehicle for the requested duration of time at the assigned VLSS.
- the request 397 for vehicle storage operations can be performed automatically by the user device 395 .
- the user 390 can, via the user application 396 or via a third-party mapping application, indicate a destination location such as a point of interest (e.g., a restaurant or a shop).
- the user device 395 can be configured to automatically transmit the request 397 for vehicle storage operations.
- the request 397 can indicate the destination location or the point of interest as the location associated with the request 397 .
- the request 397 can also be transmitted ahead of the user 390 arriving at the destination location and can indicate an estimated time of arrival at the destination location.
- the user device 395 can be configured to seamlessly and automatically request a parking assignment on behalf of the user 390 as the user 390 travels to the destination location.
- the network system 300 can then determine a dynamic parking assignment 331 for the user 390 and transmit the relevant information (e.g., location of the assigned VLSS) via the confirmation message 316 .
- the user application 396 and/or the third-party mapping software can be automatically updated to guide (e.g., via turn-by-turn navigation guidance) the user 390 to the location of the assigned VLSS.
- the availability records 342 maintained by the network system in service database 340 can include information regarding reserved parking assignments. For instance, a certain user may be permanently assigned to park his or her vehicle(s) at a particular one of the plurality of VLSS's managed by the network system 300 .
- the particular VLSS may be a VLSS located at or near the certain user's place of residence or work.
- the reserved parking assignments can be associated with time periods in which parking for the certain user's vehicle(s) is guaranteed at the particular VLSS (e.g., 8 A.M. to 6 P.M. on weekdays). Outside of the indicated time periods, the assignment engine 330 can assign a space that is otherwise reserved for the certain user to other users requesting vehicle storage operations.
- the determination of a dynamic parking assignment 331 can be based on reserved parking assignments indicated in the availability records 342 .
- the network system 300 can dynamically manage the inventory of available parking spaces in the plurality of VLSS's 350 , 355 , and 360 to best suit the demand conditions.
- the service database 340 can also store user profiles 341 .
- Each user of the cloud service managed by the network system 300 can have a corresponding user profile 341 .
- a user profile 341 can include information such as name, address, contact information, method of payment, usage history information, and any permanent parking reservations.
- the dynamic parking assignment 331 can be determined based on profile data 343 retrieved from the user 390 's user profile 341 .
- the profile data 343 can indicate that the user has a reserved position at one of the VLSS's managed by the network system 300 .
- the network system 300 can include an admin console 320 for receiving administrator input 376 from an administrator device 375 operated by an administrator 370 of the network system 300 .
- the administrator 370 can oversee various aspects of the cloud or network service run by the network system 300 for managing the plurality of VLSS's.
- the administrator input 376 can modify user profiles 341 and assign reserved parking assignments at the VLSS's to specific users.
- the modifications 377 made by the administrator 370 can be saved to the service database 340 .
- the network system 300 can include payment processing 335 for processing payments on behalf of users.
- the payment processing 335 can retrieve payment processing information 344 from the service database 340 (e.g., using billing information in the user profiles 341 ).
- the payment processing 335 can generate payment processing data 336 for transmission to one or more financial institutions.
- the platforms of the VLSS's 350 , 355 , or 360 can include electric vehicle supply equipment (EVSE) for charging electric vehicles.
- EVSE electric vehicle supply equipment
- the network system 300 can maintain a record of amounts of electricity (e.g., in terms of kilowatt hours) consumed by user 390 's vehicle.
- the payment processing 335 can also process a payment for the user 390 's consumption of electricity in charging his or her electric vehicle at the VLSS.
- FIG. 4 is a flow chart describing an example method of operating an example VLSS, as shown and described herein.
- FIG. 4 reference may be made to features and examples shown and described with respect to 1.
- the exemplary method illustrated in FIG. 4 and described below can be performed by the VLSS 100 of FIG. 1 .
- the VLSS 100 can receive user input ( 410 ).
- the input can be received via a user terminal of the VLSS 100 or can be received via a mobile computing device operated by the user.
- the user input can specify a request for a vehicle storage operation or a vehicle retrieval operation.
- the VLSS 100 can determine to move a given platform of the VLSS 100 from its initial position to a desired position ( 415 ). This determination can be based on a sequence of platform moves determined by the VLSS 100 in response to the received user input. A plurality of platforms can be moved to various positions such that the user's request can be fulfilled. An exemplary sequence for platform moves in response to a user request are shown and described with respected to FIGS.
- the given platform can be determined to be moved from its initial position to the desired position. In other words, the given platform can be moved to the desired position as part of the determined sequence of platform moves to fulfill the user's request.
- the control system 145 of the VLSS 100 can generate control signal 146 to cause the motor mechanism 150 to move the given platform from its initial position to the desired position ( 420 ).
- the control system 145 can then begin monitoring the output of the accelerometer 135 attached to the given platform ( 425 ).
- the control system 145 can monitor for a pitch rotation of the platform ( 426 ), a roll rotation of the platform ( 427 ), and an impact experienced by the platform as it moves from its initial position to its desired position ( 428 ).
- the output of the accelerometer 135 can also be monitored for a yaw rotation of the platform.
- the control system 145 can determine, based on the accelerometer output, whether a safety event has occurred ( 430 ).
- a safety event can be determined to have occurred if the pitch rotation of the platform exceeds a pitch threshold, if the roll rotation of the platform exceeds a roll rotation, or if the yaw rotation of the platform exceeds a yaw threshold.
- a safety event can be determined to have occurred if an impact is detected by the accelerometer prior to the platform having reached the desired position.
- control system 145 can generate a control signal to cause the motor mechanism to halt operating in its normal mode of operation in moving the given platform to the desired position ( 435 ). In addition or as an alternative, the control system 145 can generate a safety signal to the motor mechanism 150 to cause the motor mechanism 150 to cease operating in its normal mode of operation in moving the platform to the desired position.
- control system 145 can characterize the detected safety event or determine an event type for the detected safety event based on the data from the accelerometer 135 . Based on the characterization of the safety event or the determined event type, the control system 145 can cause the motor mechanism to perform a variety of safety functions to alleviate or resolve the safety event. For instance, if the detected safety event is determined to correspond to the given platform impacting an external object (e.g., an open car door) while being moved from its initial position to the desired position, the control system 145 can cause the motor mechanism to operate in a safety mode to bring the given platform back to its initial position ( 440 ).
- an external object e.g., an open car door
- the VLSS 100 can proceed to moving the next platform specified in the sequence of platform moves to fulfill the user request ( 450 ).
- FIG. 5 is a flow chart illustrating an example method of performing a vehicle retrieval operation, as shown and described herein.
- FIG. 5 reference may be made to features and examples shown and described with respect to FIGS. 2A to 2E .
- the example method of performing vehicle retrieval operation 500 can be performed by the connected VLSS 200 of FIG. 2A .
- the connected VLSS 200 can receive a user request for vehicle retrieval ( 510 ).
- the user request can include identification information of the user and the user's location data.
- the user request for vehicle retrieval can be received from a user console located at or near the connected VLSS 200 ( 511 ).
- the user request for vehicle retrieval can also be received via one or more networks from a computing device operated by the user ( 512 ).
- the connected VLSS 200 can query a service platform for user profile information of the requesting user ( 515 ). The connected VLSS 200 can further identify the platform storing the vehicle associated with the requesting user ( 520 ). In addition, the connected VLSS 200 can estimate an ETA of the requesting user at the vehicle lift 250 based on the user's location data ( 525 ).
- the connected VLSS 200 can determine a sequence for moving the platforms of the vehicle lift 250 in order to fulfill the user's request for vehicle retrieval ( 530 ). If the connected VLSS 200 has other pending user requests for storing or retrieving vehicles, there can be an existing sequence for moving the platforms of the vehicle lift 250 . Thus, in response to the requesting user's request, the existing sequence can be updated to include operations to fulfill the requesting user's request.
- the sequence can be determined or updated based on the current positions of the platforms in the vehicle lift 250 ( 531 ), including the identified platform that stores the requesting user's vehicle. The sequence can also be determined based on the user's ETA ( 532 ).
- the requesting user's ETA can be compared against ETAs of other users who have submitted requests. If the requesting user is estimated to arrive at the vehicle lift 250 earlier than the other users, the requesting user's request for vehicle retrieval can be prioritized to optimize and reduce wait time. On the other hand, if the requesting user is estimated to arrive at the vehicle lift 250 later than other users, the other users' requests can be prioritized over the requesting user's request.
- the sequence can also be determined or updated based on information contained in the user profile ( 533 ). For instance, the user profile can indicate a preferred vehicular access position for retrieving the requesting user's vehicle.
- the control system of the VLSS 200 can generate control signal(s) to cause the motor mechanisms of the VLSS 200 to move the platforms of the VLSS 200 in accordance with the determined or updated sequence ( 535 ).
- the VLSS 200 can transmit, to the requesting user's computing device, an estimated time at which the requesting user's vehicle will be ready for pickup by the requesting user ( 540 ).
- the VLSS 200 can further transmit to the requesting user's computing device information regarding the vehicular access position (e.g., an exit number, a stall number, etc.) at which the requesting user's vehicle will be placed for pickup by the requesting user.
- FIG. 6 is a flow chart illustrating an example method of performing a vehicle storage operation, as shown and described herein.
- the example method of performing vehicle storage operation 600 can be performed by the connected VLSS 200 of FIG. 2A .
- the connected VLSS 200 can receive a user request for vehicle storage ( 610 ).
- the user request can include identification information of the user and the user's location data.
- the user request for vehicle storage can be received from a user console located at or near the connected VLSS 200 ( 611 ).
- the user request for vehicle storage can also be received via one or more networks from a computing device operated by the user ( 612 ).
- the connected VLSS 200 can query a service platform for user profile information of the requesting user ( 615 ). Based on the user profile information, the VLSS 200 can determine whether the requesting user has a reserved storage position ( 620 ). If the user has a reserved position within the vehicle lift 250 , the VLSS 200 can determine a sequence of platform moves to move the vehicle to the reserved position ( 630 ). However, if the user does not have a reserved position, the VLSS 200 can determine a storage position for the user's vehicle ( 625 ). The storage position can be determined based on a time duration requested as part of the user's request for vehicle storage.
- the VLSS 200 can determine to move the user's vehicle to a position close to a vehicular access position.
- the VLSS 200 can determine to move the vehicle to a storage position that is further away from the vehicular access positions of the VLSS 200 such that other vehicles that will be stored in the VLSS 200 for shorter periods of time can be placed near the vehicular access positions for quick retrieval.
- the VLSS 200 can determine or update a sequence of platform movements to move the vehicle into the determined storage position ( 630 ). After the sequence is determined or updated, the control system of the VLSS 200 can generate control signal(s) to cause the motor mechanisms of the VLSS 200 to move the platforms of the VLSS 200 in accordance with the determined or updated sequence ( 635 ).
- FIG. 7 is a block diagram illustrating an example user device executing and operating a designated user application for communicating with a cloud or network service and/or with a connected VLSS, according to examples described herein.
- the user device 700 can comprise a mobile computing device, such as a smartphone, tablet computer, laptop computer, VR or AR headset device, and the like.
- the user device 700 can include typical telephony features such as a microphone 745 , a camera 750 , and a communication interface 710 to communicate with external entities using any number of wireless communication protocols.
- the user device 700 can store a designated application (e.g., a user app 732 ) in a local memory 730 .
- the memory 730 can store additional applications executable by one or more processors 740 of the user device 700 , enabling access and interaction with one or more host servers over one or more networks 780 .
- the user app 732 can be executed by a processor 740 , which can cause an app interface 742 to be generated on a display screen 720 of the user device 700 .
- the app interface 742 can enable the user to, for example, enter a request for vehicle storage or a request for vehicle retrieval.
- the app interface 742 can further enable the user to enter or select one or more locations related to the request (e.g., by entering an address, performing a search, or selecting on an interactive map).
- the app interface 742 can display dynamically information relating to the request, such as confirmation messages, estimated times of completion, and other information.
- the user can generate a request 767 via user inputs 718 provided on the app interface 742 .
- the user application 732 can further enable a communication link with a network system 790 over the network 780 , such as the network system 300 as shown and described with respect to FIG. 3 .
- the processor 740 can generate user interface features 728 (e.g., map, request status, etc.) using content data 726 received from the network system 790 over network 780 .
- the user application 732 can enable the network system 790 to cause the generated user interface 728 to be displayed on the application interface 742 .
- the processor 740 can transmit the requests 767 via a communications interface 710 to the backend network system 790 over a network 780 .
- the user device 700 can receive a confirmation 769 from the network system 790 .
- the user device 700 can further include a GPS module 760 , which can provide location data 762 indicating the current location of the requesting user to the network system 790 .
- FIG. 8 is a block diagram that illustrates a computer system upon which examples described herein may be implemented.
- a computer system 800 can be implemented on, for example, a server or combination of servers.
- the computer system 800 may be implemented as part of a network service managing connected VLSS's.
- the network system 300 may be implemented using a computer system 800 such as described by FIG. 8 .
- the network system 300 may also be implemented using a combination of multiple computer systems as described in connection with FIG. 8 .
- the computer system 800 includes processing resources 810 , a main memory 820 , a read-only memory (ROM) 830 , a storage device 840 , and a communication interface 850 .
- the computer system 800 includes at least one processor 810 for processing information stored in the main memory 820 , such as provided by a random access memory (RAM) or other dynamic storage device, for storing information and instructions which are executable by the processor 810 .
- the main memory 820 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by the processor 810 .
- the computer system 800 may also include the ROM 830 or other static storage device for storing static information and instructions for the processor 810 .
- a storage device 840 such as a magnetic disk or optical disk, is provided for storing information and instructions.
- the communication interface 850 enables the computer system 800 to communicate with one or more networks 880 (e.g., cellular network) through use of the network link (wireless or wired). Using the network link, the computer system 800 can communicate with one or more computing devices, one or more servers, and/or one or more self-driving vehicles. In accordance with examples, the computer system 800 receives requests 882 from computing devices of individual users.
- the executable instructions stored in the memory 830 can include assignment instructions 822 , which the processor 810 executes to determine dynamic parking assignments in response to requests for vehicle storage received from users. In doing so, the computer system 800 can receive location data of the user to determine the dynamic assignment 851 in response to the user request 882 .
- the processor 810 is configured with software and/or other logic to perform one or more processes, steps and other functions described with implementations, such as described by FIGS. 1-7 , and elsewhere in the present application.
- Examples described herein are related to the use of the computer system 800 for implementing the techniques described herein. According to one example, those techniques are performed by the computer system 800 in response to the processor 810 executing one or more sequences of one or more instructions contained in the main memory 820 . Such instructions may be read into the main memory 820 from another machine-readable medium, such as the storage device 840 . Execution of the sequences of instructions contained in the main memory 820 causes the processor 810 to perform the process steps described herein. In alternative implementations, hard-wired circuitry may be used in place of or in combination with software instructions to implement examples described herein. Thus, the examples described are not limited to any specific combination of hardware circuitry and software.
Landscapes
- Engineering & Computer Science (AREA)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Traffic Control Systems (AREA)
Abstract
A connected vehicle lift and storage system (VLSS) can include a plurality of platforms for storing vehicles that are movable between a plurality of positions. The connected VLSS can communicate with a computing device operated by a user to receive requests to store or retrieve the user's vehicle(s). As part of the request, location data generated by the computing device can be transmitted to the connected VLSS. In response to the request, the connected VLSS can determine a sequence of platform movements to fulfill the request to store or retrieve the user's vehicle(s). The sequence can be determined, at least in part, on the location data of the requesting user and/or the location data of other users. In addition, the sequence can be determined to minimize wait times for the requesting user and other users.
Description
- This application is a continuation of U.S. patent application Ser. No. 15/890,712, filed Feb. 7, 2018, titled “Connected Vehicle Lift And Storage System”; the aforementioned application being hereby incorporated by reference in its entirety.
- Vehicle storage systems can be used to store multiple vehicles in a limited amount of real estate. Vehicle storage systems can, for example, store vehicles by stacking the vehicles vertically and thus providing additional storage for vehicles in a given amount of real estate.
- The disclosure herein is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements, and in which:
-
FIG. 1 is a block figure diagram illustrating an example vehicle lift and storage system (VLSS) utilizing a multi-axis accelerometer, in accordance with examples described herein; -
FIG. 2A is a block figure diagram illustrating an example connected VLSS, in accordance with examples described herein; -
FIGS. 2B to 2E illustrate front views of an exemplary vehicle lift being configured in accordance with a 3×2 Puzzle VLSS Configuration, in accordance with examples described herein; -
FIG. 3 is a block figure diagram illustrating a network system implementing a cloud or network service for managing a plurality vehicle lift and storage systems, in accordance with examples described herein; -
FIG. 4 is a flow chart describing an example method of operating an example vehicle lift and storage system, as shown and described herein; -
FIG. 5 is a flow chart illustrating an example method of performing a vehicle retrieval operation, as shown and described herein; -
FIG. 6 is a flow chart illustrating an example method of performing a vehicle storage operation, as shown and described herein; -
FIG. 7 is a block diagram illustrating an example user device executing and operating a designated user application for communicating with a cloud or network service and/or with a connected VLSS, according to examples described herein; and -
FIG. 8 is a block diagram illustrating a computer system upon which examples described herein may be implemented. - Examples described herein provide for a vehicle lift and storage system (“VLSS”) that comprise one or more platforms for supporting and/or storing vehicles. The platforms are movable between a plurality of positions to allow vehicles to access the VLSS via one or more vehicular access positions. For example, a platform can be moved to a vehicular access position of a VLSS and the vehicle can enter the VLSS and onto the platform via the vehicular access position. Subsequently, the platform can be moved to another position to store the vehicle in the VLSS. To retrieve the vehicle, the platform supporting the vehicle can be moved to the vehicular access position and the vehicle can drive off the platform and out of the VLSS. Depending on the specific implementation, the platforms can be moved vertically and/or horizontally. The VLSS can also include one or more moving mechanisms operatively connected to the platforms for moving the platforms between the plurality of positions. The moving mechanisms can be electromechanical motors that move the platforms (e.g., vertically, horizontally, or both) via mechanical chain links. The VLSS can be equipped with a control system that controls the moving mechanisms. In certain implementations, the control system can determine a sequence for moving the platforms such that vehicles can be stored in and retrieved from the VLSS. The sequence for moving the platforms can be optimized by the control system based on a variety of parameters (e.g., user location data etc.) to minimize wait times of users in storing and retrieving their vehicles from the VLSS.
- As contemplated herein, the VLSS can be configured in accordance with a plurality of types of configurations. In a simple example of a VLSS, a platform of a VLSS is movable between a lower position and an upper position. When the platform is in the lower position, a vehicle can access the platform and drive onto the platform. The platform can then be moved to the upper position, which allows at least one additional vehicle to be stored below the platform. In more complex examples, the VLSS can include a plurality of platforms that are movable between a plurality of positions. In some implementations, the platforms are movable both vertically and/or horizontally (relative to the ground) between a plurality of positions within the VLSS. For instance, in a type of configuration referred to herein as a “Puzzle VLSS,” platforms can be moved vertically and horizontally to allow for vehicle storage and retrieval operations. In an example 3×2 Puzzle VLSS, five platforms are movable between six positions in the VLSS. The six positions in the VLSS can be arranged in two vertical layers, each having three positions. The five platforms of the 3×2 Puzzle VLSS can be moved to any of the six positions and vehicles can access the VLSS by driving onto an open platform positioned in the lower layer. By arranging the platforms in this manner and enabling them to move vertically and horizontally, vehicles stored on the upper level of the 3×2 Puzzle VLSS can be retrieved without needing to remove any of the vehicles stored on the non-bottom layers. The 3×2 Puzzle VLSS can also be configured such that the top layer of positions within the VLSS are vehicular access positions. In a Puzzle VLSS, a platform is typically moved one position at a time between platform positions. Another type of configuration, referred to herein as a “Tower VLSS,” can comprise a plurality of platforms which are movable between a plurality of storage positions and one or more vehicular access positions. In a Tower VLSS configuration, the platforms can be moved directly from a vehicular access position to any of the storage positions within the VLSS. A shaft extending the height of the Tower VLSS can be used to move platforms (and vehicles) directly from a vehicular access position (e.g., entrance to the Tower VLSS on the ground floor) to any storage position (e.g., a position for platforms storing vehicles 6 layers above the entrance). One application of a Tower VLSS configuration can be a dedicated parking structure. In the below discussions, examples may be described with respect to a certain configuration of VLSS (e.g., Tower VLSS, Puzzle VLSS, etc.), such discussions are not intended to be limited to any particular VLSS configuration but are rather intended to be generally applicable to any potential VLSS configuration.
- According to embodiments, a network system can provide a cloud or network service for managing one or more aspects of a plurality of VLSS's. The network system can be connectively coupled to the VLSS's via one or more networks (e.g., the Internet). And the plurality of VLSS's can be geographically dispersed (e.g., located at various locations). At a high level, the network system can communicate with the VLSS's to, for example, identify users, assign spaces for users' vehicles, communicate with users regarding updates or service details, process payments, and manage the maintenance and operation of the VLSS's. The network system can maintain user profiles to enable users to have a consistent and seamless experience across all the VLSS's managed by the service platform. A user profile can store information regarding or related to the corresponding user, including, for example, payment information, vehicle information, usage history, permanent space allocation(s) at particular VLSS's (if any), etc. For instance, a user can utilize a single form of identification (e.g., a wireless key fob, a contactless card, a computing device executing a user application, etc.) to access and reserve spaces at several (or all) of the VLSS's managed by the cloud or network service.
- According to embodiments, the network system can further maintain dynamically-updated availability information for each of the plurality of VLSS's it manages. By maintaining such availability information, the network system can dynamically assign or allocate spaces for users at any of the plurality of VLSS's in response to user requests to store vehicles at various locations. According to certain implementations, the availability information can simply indicate, for each VLSS, a number of open (e.g., unassigned and/or unreserved, etc.) spaces available for storing vehicles. In other implementations, the availability information can include additional more detailed information such as maintenance information, user information, etc.
- In various examples, a VLSS can include a plurality of sensors. The output of the sensors can be used by the control system to generate control signals to control the moving mechanisms. For example, the sensors can detect that a platform has moved in place into a position allocated by the control system (e.g., in accordance with the sequence determined by the control system). In response, the control system can halt operations of the moving mechanisms for the platform. In addition, the sensors can detect for safety events such as a moving platform making unexpected contact with, for example, an open car door. In response, the control system can cause the platform to stop moving and return to its original/starting position to avoid damage to the platform, the vehicle on the platform, and the object the platform came in contact with. Furthermore, the sensors can detect if a component of the VLSS is malfunctioning (e.g., electromechanical motor, mechanical chain link, etc.).
- According to embodiments, the sensors utilized by the VLSS can include accelerometers placed on the platforms. Each platform of the VLSS can include an accelerometer and the control system can receive the accelerometer output to generate control signals and/or safety signals to control the moving mechanisms in moving the platforms. The accelerometer can be a multi-axis accelerometer that is able to detect the pitch, roll, and yaw of the platform on which it is placed. The accelerometer output can further indicate that the platform has made impact with the frame of the VLSS or the ground (e.g., as the platform moves into the desired position) or with another object (e.g., an open door with another vehicle). In certain implementations, a single accelerometer can be used for a given platform of the VLSS, replacing a plurality of other sensors that would have been used for the same purposes (e.g., detecting platform impact and safety events). Thus, among other benefits, the use of a multi-axis accelerometer decreases the complexity and costs of building the VLSS by reducing the number of sensors required to ensure safe operations in moving the platforms of the VLSS.
- In various implementations, the control system can monitor the output of an accelerometer of a given platform to detect for safety events associated with the given platform. Examples of safety events that can be detected by the control system based on the accelerometer output include the platform (or the vehicle on the platform) making undesired or unexpected contact with another object while the platform is being moved, a failure of a moving mechanism or a mechanical link, or a unexpected movement of the platform while the platform being maintained in place. As one example, a safety event can be detected based on the monitored output from the accelerometer indicating that a pitch rotation, a roll rotation, and/or a yaw rotation of the platform is above a certain threshold value. Such an output from the accelerometer can indicate an impact while the platform is being moved such that the platform experiences a rotation or tilt. As one example, the door of a vehicle being stored on the platform may be ajar or open. As the platform is being lowered, for example, the vehicle's door may make contact with another platform or another vehicle being stored in the VLSS, causing the moving platform to experience a rotation or tilt. As another example, while being lowered or raised, the platform can impact an object on one side, also causing the moving platform to experience a rotation or tilt. In response to detecting of such safety events, the control system can be configured to generate a safety signal to cause the moving mechanism to cease attempting to bring the platform to from its initial position to the desired position to prevent damage to the platform, the vehicle on the platform (e.g., to prevent the platform from tilting such that the vehicle falls off the platform), and the object with which impact is made (e.g., another platform or another vehicle). In some examples, the moving mechanism can further, in response to the safety event signal, move the platform back to its initial position (or to another safe position). Furthermore, the output from the accelerometer that indicate a pitch, roll, or yaw of the platform exceeding a threshold value can indicate that one or more mechanical links of the platform have failed. The control system can detect such a safety event and, in response, take corrective actions.
- As used herein, a computing device refers to devices corresponding to desktop computers, cellular devices or smartphones, personal digital assistants (PDAs), laptop computers, virtual reality (VR) or augmented reality (AR) headsets, tablet devices, television (IP Television), etc., that can provide network connectivity and processing resources for communicating with the system over a network. A computing device can also correspond to custom hardware, in-vehicle devices, or on-board computers, etc. The computing device can also operate a designated application configured to communicate with the network service.
- One or more examples described herein provide that methods, techniques, and actions performed by a computing device are performed programmatically, or as a computer-implemented method. Programmatically, as used herein, means through the use of code or computer-executable instructions. These instructions can be stored in one or more memory resources of the computing device. A programmatically performed step may or may not be automatic.
- One or more examples described herein can be implemented using programmatic modules, engines, or components. A programmatic module, engine, or component can include a program, a sub-routine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions. As used herein, a module or component can exist on a hardware component independently of other modules or components. Alternatively, a module or component can be a shared element or process of other modules, programs or machines.
- Some examples described herein can generally require the use of computing devices, including processing and memory resources. For example, one or more examples described herein may be implemented, in whole or in part, on computing devices such as servers, desktop computers, cellular or smartphones, personal digital assistants (e.g., PDAs), laptop computers, VR or AR devices, printers, digital picture frames, network equipment (e.g., routers) and tablet devices. Memory, processing, and network resources may all be used in connection with the establishment, use, or performance of any example described herein (including with the performance of any method or with the implementation of any system).
- Furthermore, one or more examples described herein may be implemented through the use of instructions that are executable by one or more processors. These instructions may be carried on a computer-readable medium. Machines shown or described with figures below provide examples of processing resources and computer-readable mediums on which instructions for implementing examples disclosed herein can be carried and/or executed. In particular, the numerous machines shown with examples of the invention include processors and various forms of memory for holding data and instructions. Examples of computer-readable mediums include permanent memory storage devices, such as hard drives on personal computers or servers. Other examples of computer storage mediums include portable storage units, such as CD or DVD units, flash memory (such as carried on smartphones, multifunctional devices or tablets), and magnetic memory. Computers, terminals, network enabled devices (e.g., mobile devices, such as cell phones) are all examples of machines and devices that utilize processors, memory, and instructions stored on computer-readable mediums. Additionally, examples may be implemented in the form of computer-programs, or a computer usable carrier medium capable of carrying such a program.
- System Descriptions
-
FIG. 1 is a block figure diagram illustrating an example vehicle lift and storage system (VLSS) utilizing a multi-axis accelerometer, in accordance with examples described herein. As illustrated, theVLSS 100 can be a Puzzle VLSS that includes a plurality of platforms that can be moved both horizontally and vertically to allow for vehicle storage and retrieval. AsFIG. 1 illustrates a sideways view of theVLSS 100, only vertical movements of its platform(s) are illustrated. Alternatively,VLSS 100 can also be a simple two-level vehicle lift in which the platforms move vertically. - According to embodiments, the
VLSS 100 can include aplatform 120 for supporting avehicle 190. Theplatform 120 can be moved vertically through a range ofmovement 121 between a raisedposition 122 and a loweredposition 123. In certain examples, theplatform 120 may also be moved horizontally (not shown inFIG. 1 ) while in either the raisedposition 122 or the loweredposition 123. The VLSS further includes acontrol system 145 that controls amotor mechanism 150 to move theplatform 120 between the raisedposition 122 and the lowered position. Theplatform 120 is operatively coupled to themotor mechanism 150 via amechanical link 155. Themotor mechanism 150 can be an electromechanical motor and themechanical link 155 can be a chain link. Thevehicle 190 may be driven onto theplatform 120 while theplatform 120 is in the loweredposition 123. Theplatform 120 can be raised to the raisedposition 122 to allow an additional vehicle to be stored underneath theplatform 120. - To operate the
VLSS 100, a user may interact with theVLSS 100 via auser terminal 110. Theuser terminal 110 can be a computing device (e.g., a touchscreen computer, a tablet computer, etc.) presenting a user interface which enables the user to initiate vehicle storage or vehicle retrieval operations. For example, to store thevehicle 190 on theVLSS 100, the user can, after drivingvehicle 190 onto theplatform 120 while it is in the loweredposition 123, interact with theuser terminal 110 to instruct theVLSS 100 to store thevehicle 190, which may include moving theplatform 120 to the raisedposition 122. Similarly, to retrieve thevehicle 190, the user can interact with theuser terminal 110 to instruct theVLSS 100 to lower theplatform 120 if it is in the raisedposition 122 such that thevehicle 190 can be driven off theplatform 120. In certain examples, such as in a Puzzle VLSS configuration having a plurality of platforms, the user can provide identification and/or authentication information (e.g., a user ID, an authorization code, etc.) via the user interface to enable theVLSS 100 to identify theplatform 120 that stores the user'svehicle 190 in order move theappropriate platform 120 to the loweredposition 123 such that thevehicle 190 can be retrieved from theVLSS 100. As an alternative or in addition, the user may utilize a wireless key fob to interact with theuser terminal 110 and/or theVLSS 100 to store and retrieve thevehicle 190. Furthermore, theVLSS 100 may allow user interactions via a user application executed on a computing device operated by the user (e.g., a smartphone, a smartwatch, a tablet computer, etc.). For example, via the user application, the user can instruct theVLSS 100 to store or retrievevehicle 190. TheVLSS 100 may communicate with the computing device via one ormore networks 180 such as the Internet or one or more local network connections (e.g., a local or peer-to-peer Wi-Fi connection, Bluetooth, etc.). - According to embodiments, the
user terminal 110 can transmit user input 111 to thecontrol system 145. The user input 111 can identify the user and the requested operation (e.g., vehicle storage or vehicle retrieval). For a requested vehicle storage operation, the user input 111 can further identify the platform (e.g., platform 120) on which thevehicle 190 of the user is located. In response, thecontrol system 145 can associate the identified platform with the user such that the appropriate platform can be identified when the user requests retrieval of his or hervehicle 190. As an alternative, thecontrol system 145 can automatically associate a platform with a user during a vehicle storage operation based on sensor outputs (e.g., output from anaccelerometer 135 attached to the platform 120). For example, thecontrol system 145 can determine, based on the sensor output, that a vehicle has been driven ontoplatform 120. In response, thecontrol system 145 can automatically associate theplatform 120 with the next vehicle storage operation request. In contrast, for a requested vehicle retrieval operation, in response to user input 111, thecontrol system 145 can identify the platform associated with the user (e.g., platform storing the user's vehicle 190) and determine a sequence of platform movements to allow the user to retrieve his or hervehicle 190. For instance, thecontrol system 145 can determine a sequence of platform movements to move theplatform 120 that stores the user'svehicle 190 to the loweredposition 123 such that the user can retrievevehicle 190. - Various sensors can be utilized to enable the
control system 145 to properly control themotor mechanism 150 in moving theplatform 120 between the raisedposition 122 and the loweredposition 123. For instance, based on the sensors' output, thecontrol system 145 can generate acontrol signal 146 to control themotor mechanism 150 in moving theplatform 120. Thecontrol system 145 can detect potential safety issues associated with theplatform 120 based on the sensors' output and can generate asafety signal 147 in response. According to embodiments, the sensors can include anaccelerometer 135 attached to theplatform 120. In one example, theaccelerometer 135 is attached underneath theplatform 120 and located at the midpoint of the bottom surface of theplatform 120. In other examples, theaccelerometer 135 can be located elsewhere on theplatform 120. Theaccelerometer 135 can be a multi-axis accelerometer that can detect the movement, impact, and orientation of theplatform 120. For instance, theaccelerometer 135 can detect the pitch, roll, and yaw of theplatform 120. Theaccelerometer 135 can also detect an impact experienced by the platform 120 (e.g., another object impacting theplatform 120, theplatform 120 impacting another object as it moves from one position to another, thevehicle 190 impacting another object as the platform moves from one position to another etc.). - In some examples, the
accelerometer 135 can be a wireless, battery-operated sensor device. Theaccelerometer 135 can communicate with thecontrol system 145 via awireless gateway 125 of thecontrol system 145 over awireless sensor link 140. Theaccelerometer 135 can transmit, over thewireless sensor link 140, various data related to theplatform 120 to thecontrol system 145. The data can include apitch rotation 136 of theplatform 120, aroll rotation 137 of the platform, ayaw rotation 138 of theplatform 120, and an indication of animpact 139 experienced by theplatform 120. Theaccelerometer 135 can be configured to operate in a manner to prolong or maximize its battery life. For instance, theaccelerometer 135 can be configured to transmit data over thewireless sensor link 140 only when movement is detected by theaccelerometer 135. In addition, while theplatform 120 is stationary, theaccelerometer 135 can enter a standby mode and/or temporarily disable thewireless sensor link 140 to conserve energy usage. - In various aspects, the
controls system 145 can generate acontrol signal 146 to control themotor mechanism 150 operations in moving the platform 120 (e.g., via the mechanical link 155). As an example, thecontrol system 145 can, in response to the user input 111 or another signal indicating a request for vehicle retrieval or storage operations, determine to moveplatform 120 from the raisedposition 122 to the loweredposition 123. Based on this determination, thecontrol system 145 can generate acorresponding control signal 146. In certain implementations, thecontrol signal 146 can cause themotor mechanism 150 to move the platform 120 a predetermined distance from its initial position (e.g., the raised position 122) to a desired position (e.g., the lowered position 123). For instance, thecontrol signal 146 can cause themotor mechanism 150 to operate a calibrated number of revolutions to cause theplatform 120 to move from the raisedposition 122 to the loweredposition 122. Thecontrol system 145 can look up, in a database or a memory storage element, the calibrated number of revolutions needed to move theplatform 120 from the raisedposition 122 to the loweredposition 123. Thecontrol system 145 can then generate thecontrol signal 146 to cause themotor mechanism 150 to operate the calibrated number of revolutions (e.g., as measured by the revolution counter 160) in order to move theplatform 120 from the raisedposition 122 to the loweredposition 123. - In certain implementations, the
motor mechanism 150 and/or themechanical link 155 can be coupled to an instrument for measuring or estimating the amount of distance theplatform 120 has traveled while being moved into the desired position. In one variation, such an instrument can be arevolution counter 160 for counting the number of revolutions by themotor mechanism 150 or a gear attached to themechanical link 155. - In an example, the calibrated number of revolutions can be determined based on calibrations performed by an administrator or an engineer for each possible platform movement. For a VLSS having three vertical layers, for example, separate calibrations can be performed for moving the
platform 120 between a top position to a middle position and for moving theplatform 120 between the middle position to a bottom position. In addition, the calibrations can be periodically performed to compensate for changes in the components of themotor mechanism 150 and/or themechanical link 155 over time. For instance, themechanical link 155 can be a chain link that can stretch over time, which can affect the distance theplatform 120 is moved given the same number of revolutions performed by themotor mechanism 150. Accordingly, by periodically performing calibrations, the performance of theVLSS 100 can be guaranteed. In some examples, theVLSS 100 can be configured to self-calibrate based on data transmitted from theaccelerometer 135 via, for example, thewireless sensor link 140. To perform self-calibrations, thecontrol system 145 can receive, from theaccelerometer 135, indications of impact (e.g., impact 139) by theplatform 120 as it moves into the desired position and compare this data with therevolution counter 160 configured to measure or estimate the number of revolutions by themotor mechanism 150 and/or a gear coupled to themechanical link 155. If themechanical link 155 has been stretched over time, theaccelerometer 135 may indicate impact by theplatform 120 as it moves into the desired position prior to therevolution counter 160 reaching the calibrated number of revolutions. In response, thecontrol system 145 can self-calibrate by correspondingly adjusting (e.g., lowering) the calibrated number of revolutions for moving theplatform 120 from the initial position to the desired position. - According to embodiments, the
control system 145 can monitor data (e.g.,pitch 136,roll 137,yaw 138, impact 139) transmitted by theaccelerometer 135 to generate thesafety signal 147 which can be received by themotor mechanism 150. Thesafety signal 147 can be a signal generated in response to a detected safety event. In certain implementations, thecontrol signal 146 andsafety signal 147 can be generated and treated by thecontrol system 145 and themotor mechanism 150 as a single signal. A safety event can correspond to theplatform 120 making unexpected impact with another object. The safety event can also correspond to themotor mechanism 150 or themechanical link 155 experiencing issues or failing while theplatform 120 is being move to the loweredposition 123. For instance, one or more mechanical chain links constituting themechanical link 155 can snap or break, or themotor mechanism 150 can jam. The safety event can further correspond to external events such as a seismic event (e.g., earthquake) or accident such as a vehicle, while being driven, crashing into thelift frame 115. In each of these cases, theaccelerometer 135 can detect the effects on theplatform 120 and, in response, thecontrol system 145 can generate anappropriate safety signal 147. - As an example, the
control system 145 can, in response to user input 111, generate thecontrol signal 146 to cause themotor mechanism 150 to move theplatform 120 from the raisedposition 122 to the loweredposition 123. As theplatform 120 begin to move, theaccelerometer 135 can automatically begin transmitting data (e.g.,pitch 136,roll 137,yaw 138, impact 139) over thewireless sensor link 140 to thecontrol system 145. In one scenario, theplatform 120 can impact an object prior to reaching the loweredposition 123, thereby causing a safety event. In such a scenario, thecontrol system 145 can determine the occurrence of a safety event by analyzing the data from theaccelerometer 135 with reference to therevolution counter 160. For instance, data from the accelerometer 135 (e.g., impact 139) can indicate the impact with the object before therevolution counter 160 having reached the calibrated number of revolutions needed to bring theplatform 120 from the raisedposition 122 to the loweredposition 123. Based on this analysis, thecontrol system 145 can determine that the data from theaccelerometer 135 indicates an undesired and/or unexpected impact by the platform 120 (e.g., an impact other than the one experienced by the platform as it moves into position into the lowered position 123), and thus indicates a safety event. - In addition, the
control system 145 can determine a safety event has occurred in response to theaccelerometer 135 detecting that theplatform 120 experiences a pitch rotation, roll rotation, or a yaw rotation. For instance, when theplatform 120 impacts an object as it moves from its initial position to a desired position, theplatform 120 can experience a rotation or tilt. Theaccelerometer 135 can detect such a rotation experienced by theplatform 120 force and communicate to the control system such a detection via measurements such as thepitch 136,roll 137, oryaw 138. Thecontrol system 145 can, in response to receiving data from theaccelerometer 135 that exceeds one or more thresholds, determine that a safety event has occurred and can generate asafety signal 147. For instance, in the example given, theplatform 120 can impact as it moves down from the raisedposition 122 to the loweredposition 123. As it makes impact, theplatform 120 can experience a tilt to one side due to the impact with the object (e.g., because the object is located on one side of the platform 120). Theaccelerometer 135 can transmit data (e.g.,pitch 136,roll 137, and/or yaw 138) that indicate the tilt of theplatform 120 to thecontrol system 145 via thewireless sensor link 140. In response to receiving from theaccelerometer 135 that exceed predetermined thresholds (e.g., pitch 136 exceeding a pitch rotation threshold value, or roll 137 exceeding a roll rotation exceeding a roll rotation threshold value, and/oryaw 138 exceeding a yaw rotation threshold value), thecontrol system 145 can determine that a safety event has occurred and generate anappropriate safety signal 147. - According to embodiments, the
control system 145 can further determine the occurrence of a safety event based on data from theaccelerometer 135 when theplatform 120 is not moving from one position to another. For example, themechanical link 155 can fail while theplatform 120 is stationary or theVLSS 100 can experience a seismic event or an accident (e.g., thelift frame 115 can be hit by a vehicle etc.). In these instances, theaccelerometer 135 can detect movement of theplatform 120 caused by the safety event and transmit the data generated to thecontrol system 145 via the wireless sensor link 130. Thecontrol system 145 can, in response, detect the occurrence of the safety event based on receiving the accelerometer data while theplatform 120 is supposed to remain in place. - In various aspects, in addition to detecting the occurrence of a safety event, the
control system 145 can further discern a type of safety event by analyzing the data from theaccelerometer 135 and other sensors. For instance, thecontrol system 145 can further determine that a detected safety event corresponds to a failure of themechanical link 155. Thecontrol system 145 can also determine that another detected safety event corresponds to an impact against an external object while theplatform 120 is being moved into a desired position. In addition, based on the data from the accelerometer 135 (e.g.,pitch 136,roll 137, yaw 138), thecontrol system 145 can determine which side of the platform impacted the external object while it is being moved into the desired position. At a high level, because the sensor readings corresponding to each of the types of safety events differ by nature, thecontrol system 145 can determine which safety event type a detected safety event most likely is by analyzing the received sensor data, including data from theaccelerometer 135. Thus, to determine safety event types, thecontrol system 145 can maintain event profiles for a plurality of types of safety event types. An event profile can comprise simulated or accumulated sensor data that correspond to a particular type of safety event. For instance, impact with an external object on one side of theplatform 120 as it is being moved into a position can have a different event profile compared to impact with an external object on another side of theplatform 120. A failure of themechanical link 155 can also have one or more safety event profiles. Separate safety event profiles can even be maintained for failures of different components of themechanical link 155. For instance, themechanical link 155 can comprise multiple chain links (e.g., one on each corner of the platform 120) and individual safety event profiles can be maintained for failure of each of the multiple chain links. Thecontrol system 145 can analyze the received data from theaccelerometer 135 and other sensors and compare the received data against the event profiles to determine an event profile that best matches the received sensor data to determine a type of safety event that corresponds to the received sensor data. In addition to or as an alternative, a machine-learned model (e.g., tree-based model, an artificial neural network, etc.) can be utilized to determine a safety event type based on sensor data (e.g., data from the accelerometer 135). The machine-learned model can be trained over time via supervising input from an administrator or lift operator. Thecontrol system 145 can further utilize other information, such as the state of the platform 120 (e.g., whether theplatform 120 was being moved from one position to another while the safety event was detected), to aid in determining a safety event type. - According to examples, the
safety signal 147 generated by thecontrol system 145 can cause theVLSS 100 to perform one or more operations to protect the vehicle(s) and components of theVLSS 100 affected by the detected safety event. For instance, if the detected safety event corresponds to theplatform 120 impacting an external object as theplatform 120 is being moved from its initial position to a desired position (e.g., while themotor mechanism 150 is operating in a normal mode of operation), thesafety signal 147 can cause themotor mechanism 150 to stop moving theplatform 120 in the direction of the desired position (e.g., to stop operating in the normal mode of operation). In addition, thesafety signal 147 can cause themotor mechanism 150 to perform safety operations (e.g., enter a safety mode) including moving theplatform 120 back to its initial position or to another position that is deemed safe by the control system 145 (e.g., a position between the initial position and the desired position). In other instances, such as when the detected safety event corresponds to a seismic event or to a failure of themechanical link 155, thesafety signal 147 can cause one or more safety latches to engage to improve the stability of theplatform 120. In certain implementations, thesafety signal 147 can be based on various sensor data such as data received from theaccelerometer 135. For instance, if the data from the accelerometer 135 (e.g.,pitch 136,roll 137, yaw 138) indicate that theplatform 120 is experiencing a tilt in a particular direction due to the detected safety event, thecontrol system 145 can generate thesafety signal 147 to cause themotor mechanism 150 to counteract or offset the detected tilt caused by the safety event. In certain implementations, thesafety signal 147 can be generated based on the type of safety event determined by thecontrol system 145. - According to embodiments, the
control system 145 can generate analert message 148 for transmission over one ormore networks 180 to anadministrator system 195. Thealert message 148 can be transmitted via anetwork interface 170 of theVLSS 100. In addition or as an alternative, thealert message 148 can be transmitted to a cloud or network service for managing theVLSS 100. Thealert message 148 allows an administrator or operator overseeing the operations of theVLSS 100 to be notified of events that require their attention. For instance, thealert message 148 can be generated for transmission to theadministrator system 195 in response to detecting a safety event. Thealert message 148 can include detailed information regarding the detected safety event including, for example, time of the detected safety event, type of safety event detected, identification of the affected platform(s), identification of vehicles and/or users affected, and the like. In certain implementations, theVLSS 100 can be equipped with one or more cameras and thealert message 148 can include a video clip or a link to a video clip of the detected safety event. - Furthermore, the
control system 145 can generate thealert message 148 regarding the maintenance and upkeep of theVLSS 100. For example, therevolution counter 160 can indicate a cumulative revolution exceeding a maintenance threshold, which may indicate a recommended or required service of themotor mechanism 150 and/or themechanical link 155. In response,control system 145 can generate analert message 148 for transmission to theadministrator system 195 that indicates detailed information regarding the recommended or required service, including, for example, identification of the motor mechanism(s) 150 and/or mechanical link(s) 155 requiring service and type of service that is recommend or required. In this manner, theVLSS 100 can dynamically alert administrators or operators of theVLSS 100 when maintenance or service is required by individual components of theVLSS 100. Because frequency of desired maintenance and service can depend on the usage of theVLSS 100, it is particularly advantageous for theVLSS 100 to be able to dynamically alert the administrator or operator when maintenance or service is required for particular components of theVLSS 100. -
FIG. 2A is a block figure diagram illustrating an example connected vehicle lift and storage system, in accordance with examples described herein. The connectedVLSS 200 comprises acontrol system 210 and avehicle lift 250. The connectedVLSS 200 can further include components illustrated and described with respect toFIG. 1 including, for example, one or more motor platforms, mechanisms, mechanical links, etc. - According to embodiments, the
vehicle lift 250 can store a plurality of vehicles and can comprise a plurality of platforms (not illustrated inFIG. 2 ) that can be moved between a plurality of positions. Thevehicle lift 250 can have multiple levels and the platforms can be moved vertically between them. In certain examples, the platforms can also be moved horizontally between a plurality of horizontal positions. Thevehicle lift 250 can be configured in accordance with a plurality of possible configurations. For instance, thevehicle lift 250 can be a simple vehicle lift in which the platforms of the vehicle lift can be moved only vertically. Thevehicle lift 250 can also be of a Puzzle VLSS configuration in which the platforms can be moved vertically and horizontally. In addition, thevehicle lift 250 can be of a Tower VLSS configuration. In each possible configuration, vehicles can enter and exit thevehicle lift 250 via one or more vehicular access positions. A platform can be moved into a vehicular access position to enable a vehicle to enter thevehicle lift 250 and onto the platform. Subsequently, the platform can be moved to another position within thevehicle lift 250 to store the vehicle. When the vehicle is to be retrieved, the platform can be moved back to the vehicular access position (or to another vehicular access position) so that the vehicle can be driven off the platform by the user. The platforms can be moved by motor mechanisms and mechanical links similar to those described with respect toFIG. 1 (e.g.,motor mechanism 150 and mechanical link 155). - According to embodiments, the
control system 210 can control various aspects of the operations of thevehicle lift 250. For instance, thecontrol system 210 can receive and process user requests 299 to store and retrieve their vehicles on thevehicle lift 250. In doing so, thecontrol system 210 can perform various functions such as one or more of: communicating with user devices 295 operated by users 290 to receiveuser requests 299, verifying the users 290, communicating with aservice platform 270 to retrieve additional information regarding the users 290, determining an optimal sequence for moving the plurality of platforms for a given set of user requests, and/or controlling the movement of the platforms on thevehicle lift 250 in accordance with the determined sequence. In certain implementations, the connectedVLSS 200 may include a plurality of vehicle of various configurations all of which can be controlled by thecontrol system 210. - In the examples described herein, the
control system 210 can include anetwork interface 225 for communicating with user devices 295 operated by users 290 over one ormore networks 280. The user devices 295 can execute dedicated user application 296. The dedicated user application 296 can enable a user 290 to submit arequest 299 to store or retrieve his or her vehicle on thevehicle lift 250. The user device 295 can transmit, via the user application 296,location data 297 and user ID 298 to thecontrol system 210 as part of therequest 299 to retrieve or store the user's vehicle. Thelocation data 297 can be generated by a location-aware resource of the user device 295 (e.g., GPS, GLONASS, Galileo, or BeiDou receiver) and can indicate a current location of the user 290. The user ID 298 can be a unique identification number or token for the user 290 across the cloud or network service managed by theservice platform 270. - In certain implementations, the
control system 210 can also communicate with aservice platform 270 via thenetwork interface 225 and the one ormore networks 280. Theservice platform 270 can run a cloud or network service for operating and managing a plurality of VLSS's such as the connectedVLSS 200. For instance, the cloud or network service can enable a uniform and consistent user access and experience across the plurality of VLSS's managed by the cloud or network service. In doing so, theservice platform 270 can maintain a corresponding user profile for each of a plurality of users 290. Theservice platform 270 can also process financial transactions and handle parking reservations associated with the users' use of the VLSS's. - According to embodiments, the
control system 210 can include supervisory control and data acquisition (SCDA) 215. TheSCDA 215 can act as a central hub or processor of thecontrol system 210 to receive and process requests and other information. Among other functions, theSCDA 215 can generate acontrol signal 216 to control the movement of the platforms of thevehicle lift 250. As part of this function, theSCDA 215 can also receivesensor data 256 fromsensors 255 of thevehicle lift 250. Such sensors can include accelerometers attached to platforms of thevehicle lift 250 as well as other sensors. For instance, thecontrol signal 216 can be generated by theSCDA 215 based on thesensor data 256. In other respects, theSCDA 215 can receive user requests to store or retrieve vehicles via thenetwork interface 225 and process such requests. - To retrieve his or vehicle, the user 290 can transmit a
request 299 for vehicle retrieval operations. Therequest 299 can include the user'slocation data 297 and a user ID 298 of the user 290. The user 290 can interact with the user application 296 to transmit therequest 299 requesting vehicle retrieval operations. In some implementations, the user device 295 can be configured to automatically transmit therequest 299 requesting vehicle retrieval operations. For instance, the user device 295 can be configured to automatically transmit therequest 299 based on the user device 295 being located within a certain distance of the connected VLSS 200 (e.g., based on the location data 297) or based on the user device 295 being within communication range of the connected VLSS 200 (e.g., within Bluetooth or Wi-Fi range, etc.). For example, therequest 299 can be automatically transmitted once the user device 295 is connected to a particular Wi-Fi network or establishes Bluetooth connection with the connectedVLSS 200. - In response to receiving a
user request 299 to retrieve the user's vehicle, thecontrol system 210 can identify, based on the user ID 298, a platform on which the user's vehicle is stored from the plurality of platforms of the connectedVLSS 200. For instance, thecontrol system 210 can include adatabase 220 that maintainsstorage records 221 that associate users and their vehicles with the platforms the vehicles are stored on. Thus, by querying the database 220 (e.g., using the user ID 298), theSCDA 215 can receive aplatform ID 223 that identifies the platform on which the user's vehicle is stored. In some instances, the user 290 may have two or more vehicles stored on thestorage lift 250. In such situations, therequest 299 can further specify a vehicle ID and theSCDA 215 can further query thedatabase 220 using the specified vehicle ID to identify the platform to be moved to a vehicular access position. - According to embodiments, the
control system 210 can include aqueueing engine 245 for determining and updating a sequence for moving the platforms to fulfill user requests to store and retrieve vehicles. The sequence can identify the order and positions in which platforms are moved to fulfill pending user requests. In one aspect, thecontrol system 210 and the queueingengine 245 can determine and/or update the sequence based on the existing or current positions of the platforms within thevehicle lift 250. For instance, a sequence determined in response to a vehicle retrieval request from user 290 for his or her vehicle can depend on where that vehicle is stored within thevehicle lift 250. Thedatabase 220 can store this information as part of the storage records 221. In addition, the sequence can be determined and/or updated based on information that can indicate when user will be ready to retrieve his or vehicle, including as a requested time indicated in the retrieval request, user location, user profile information, and the like. In some instances, no other user requests are pending and the queueingengine 245 simply determines the optimal sequence of platform movements to move the identified platform storing the user's vehicle to a vehicular access position. The queueingengine 245 can optimize the sequence based on fewest number of platform movements, quickest estimated time to retrieve the vehicle, minimize wait times for the user submitting requests, etc. - An example sequence can be described with respect to
FIGS. 2B to 2D .FIGS. 2B to 2E illustrate front views of anexemplary vehicle lift 250 being configured in accordance with a 3×2 Puzzle VLSS Configuration having five platforms (Platforms 1-5) for storing vehicles. The five platforms can be moved into six possible positions within the vehicle lift 250: Positions A-F. Of the six possible positions, three (Positions B, D, and F) are vehicular access positions because they are on the same level as the ground.FIG. 2B illustrates a view of theexemplary vehicle lift 250 prior to receiving a user request to retrieve vehicles. InFIG. 2B , three vehicles are stored on the vehicle lift 250:Vehicle 1 onPlatform 1,Vehicle 2 onPlatform 3, andVehicle 3 onPlatform 4. In response to receiving arequest 299 from a user device 295 for retrieval of the vehicle of user 290, thecontrol system 210 can first determine, based on the user ID 298, that the vehicle of the user 290 (Vehicle 1) is stored onPlatform 1. Subsequently, thecontrol system 210 and/or thequeueing engine 245 can determine that, to retrieve Vehicle 1 (e.g., movePlatform 1 to a vehicular access position), the optimal sequence is: (1) movePlatform 4 to Position F, (2) movePlatform 2 to Position D, and (3) movePlatform 1 to Position B.FIG. 2C illustrates the positioning of the platforms within thevehicle lift 250 after the determined sequence of platform moves to retrieve the user 290's vehicle (Vehicle 1) has been completed. As can be seen,Vehicle 1 is now in a vehicular access position (Position B), thus allowing the user 290 to retrieveVehicle 1 from thevehicle lift 250. The optimal sequence can be so determined because the sequence involves the least number of platform moves and is also estimated to be the fastest. - In some instances, one or more other requests to retrieve or store vehicles may be pending while the
control system 210 receivesuser request 299. Or therequest 299 can be received at substantially the same time as another request from another user. In such instances, thecontrol system 210 and the queueingengine 245 can perform multi-variate optimizations to determine an optimal sequence for the multiple users who are requesting vehicle storage or retrieval operations. The sequence can be determined and/or updated to minimize the cumulative wait time of each of the users who have submitted requests. In one aspect, the sequence can be determined based on respective locations of the requesting users. For instance, a user's vehicle retrieval request can be de-prioritized (e.g., placed in the back of the sequence) based on the user's data indicating that the user is located far away from the vehicle lift 250 (or the connected VLSS 200). In addition or as an alternative, thecontrol system 210 and/or queueingengine 245 can estimate a time of arrival at thevehicle lift 250 for each of the users who submitted a vehicle retrieval request based on the users' respective location data. The queueingengine 245 can then determine a sequence or update an existing sequence based on the estimated times of arrival of the users. In addition, the sequence can be determined based on comparing the location data and/or ETA of two or more users. - In the above described example, a second request for vehicle retrieval from a second user can be received while the
vehicle lift 250 is performing the operations to moveVehicle 1 to Position B. In response to the second request, thecontrol system 210 can determine that the second user's vehicle (Vehicle 2) is stored onPlatform 3. Thus, to fulfill both the first request (retrieval of Vehicle 1) and the second request (retrieval of Vehicle 2), bothPlatforms control system 210 can compare the location data of the first user (user 290) and the second user to determine that the first user is much closer to thevehicle lift 250 and thus likely to be ready to retrieveVehicle 1 much earlier than the second user is able to retrieveVehicle 2. In response to such a determination, the queueingengine 245 can determine to update the sequence such thatPlatform 1 is moved to Position B for the first user to retrieve Vehicle 1 (as illustrated inFIG. 2C ) and afterVehicle 1 is retrieved,Platform 3 is moved to Position D to allowVehicle 2 to be retrieved by the second user. Accordingly, the sequence is updated to be: (1) movePlatform 4 to Position F, (2) movePlatform 2 to Position D, (3) movePlatform 1 to Position B (and wait forVehicle 1 to move off Platform 1), (4) movePlatform 1 back to Position A, (5) movePlatform 2 to Position B, and (6) movePlatform 3 to Position D.FIG. 2D illustrates the positioning of the platforms within thevehicle lift 250 after this updated sequence of platform moves has been completed. Given the information that the first user is much closer to thevehicle lift 250 than the second user, this determined sequence can minimize the wait times for both users. - On the other hand, the
control system 210 determine, based on the respective location data of the first and second users, that the second user is likely to arrive at thevehicle lift 250 at approximately the same time. In such a scenario, it may be undesirable to force the second user to wait for the first user to retrieveVehicle 1 beforeVehicle 2 is ready for retrieval (as illustrated inFIGS. 2C and 2D ). Thus, based on this determination, the queueingengine 245 can determine to update the sequence to move bothVehicle 1 andVehicle 2 to vehicular access positions before allowing either of the users to retrieve their vehicles. For instance, the queueingengine 245 can update the sequence to be: (1) movePlatform 4 to Position F, (2) movePlatform 2 to Position D, (3) movePlatform 1 to Position B, (4) movePlatform 3 to Position A, (5) movePlatform 2 to Position C, (6) movePlatform 1 to Position D, and (7) movePlatform 3 to Position B.FIG. 2E illustrates the positioning of the platforms within thevehicle lift 250 after this updated sequence of platform moves has been completed. Compared with the sequence discussed above with respect toFIG. 2D , the first user may have to wait an additional amount of time before she or he can retrieveVehicle 1 and there are seven required platform moves compared with six. However, the cumulative wait time of both the first user and the second user is optimized because the second user does not have to wait for the first user to retrieveVehicle 1 beforeVehicle 2 can be moved into place for retrieval. Thus, in the given circumstances (e.g., the first user and the second user estimated to arrive at thevehicle lift 250 at approximately the same time), this updated sequence can be more optimal. - Referring back to
FIG. 2A , in certain implementations, thecontrol system 210 and queueingengine 245 can determine and/or update the sequence based onprofile data 271 received from theservice platform 270. Theprofile data 271 can be data retrieved from a corresponding user profile 276 maintained for the requesting user 290. For instance, theprofile data 271 can indicate a preference for the user 290 to retrieve his or her vehicle at a preferred vehicular access position (e.g., a preferred entry/exit in a Tower Configuration VLSS). Based on this information, thecontrol system 210 and queueingengine 245 can determine the sequence such that the vehicle of user 290 is moved to the preferred vehicular access position in response to a vehicle retrieval request from the user 290. Theprofile data 271 can further indicate parameters gathered from past usage of VLSS's managed by theservice platform 270 by the user 290. As an example, theprofile data 271 can indicate that the user 290 typically arrives earlier than requested vehicle retrieval times indicated in the user's requests. Based on this information and in response to arequest 299 from the user 290, thecontrol system 210 and queueingengine 245 can update the sequence such that the vehicle of the user 290 can be ready for retrieval before a requested time indicated in the user'srequest 299. - It is contemplated that the
control system 210 and queueingengine 245 can determine sequences of platform movements for other configurations of thevehicle lift 250 or connectedVLSS 200. For example, thecontrol system 210 and queueingengine 245 can determine sequences for other types of Puzzle Configurations, such as a 4×3 Puzzle Configuration or a 6×4 Puzzle Configuration. Similarly, thecontrol system 210 and queueingengine 245 can determine sequences for a Tower Configuration VLSS. As described with respect toFIGS. 2B to 2E , these sequences can be determined and updated in response to user requests and based, at least in part, on one or more of: the current positions of the platforms within thevehicle lift 250, location data of each of the users submitting vehicle retrieval requests, ETA to thevehicle lift 250 of each of the users submitting vehicle retrieval requests, user profile information, and the like. In addition, for certain configurations like the Tower Configuration, there can be multiple sequences determined for thevehicle lift 250. For instance, a Tower Configuration can have two or more vehicular access positions and the platforms may be moved independently between to and from these vehicular access positions. In such instances, thecontrol system 210 and the queueingengine 245 may manage two or more independent sequences for moving the platforms to and from these vehicular access positions to complete vehicle retrieval and storage requests from users. - In addition, the
control system 210 and queueingengine 245 can determine to move the platforms ofvehicle lift 250 based on scheduled user requests or in anticipation of user requests. For instance, thecontrol system 210 can receive arequest 299 indicating a request to retrieve the vehicle of the user 290 in two hours. In response, thecontrol system 210 and queueingengine 245 can optimize the sequence such that during downtimes in the following two hours (e.g., during times when there would otherwise be no platform movements), the platform storing the vehicle of user 290 can be moved towards or closer to a vehicular access position such that the vehicle can be quickly retrieved for the user 290 in two hours' time. As another example, thecontrol system 210 and queueingengine 245 can anticipate a future user request based, for example, onprofile data 271 indicating that the user 290 typically retrieves her or his vehicle at 5 P.M. on weekdays. In response, thecontrol system 210 and queueingengine 245 can determine to move the platform storing the vehicle of user 290 towards or closer to a vehicular access position at 4:30 P.M. such that the vehicle can be easily retrieved for the user 290 at 5:00 P.M., when the user 290 typically retrieves the vehicle. - Furthermore, the
control system 210 and the queueingengine 245 can determine and/or update the sequence in response to receiving therequest 299 from the user 290 requesting for vehicle storage operations. Vehicle storage requests can be treated similarly to vehicle retrieval requests in that an existing sequence of platform movements can be updated to accommodate for a received vehicle storage request. In response to arequest 299 to store a vehicle, the queueingengine 245 can determine a position within thevehicle lift 250 to store the vehicle and based on that optimal position, determine a sequence of platform movements (or update an existing sequence) such that the platform storing the vehicle of the user 290 is moved into the determined position. According to one aspect, in response to a vehicle storage request, thecontrol system 210 and the queueingengine 245 can determine the optimal position for the vehicle of the user 290 based onprofile data 271. Theprofile data 271 may indicate a preferred position within thevehicle lift 250 to store the user's vehicle. In addition, theprofile data 271 can include usage history information. As an example, theprofile data 271 can indicate that the user typically stores his or her vehicle from 8 A.M. to 5 P.M. on weekdays (e.g., parking at the user's workplace). In response, thecontrol system 210 and queueingengine 245 can determine an optimal position to store the user's vehicle given this information. For instance, given that the user 290 typically stores his or her vehicle typically during business hours, the queueingengine 245 can determine to move the platform storing the user's vehicle to a position farther away from the vehicular access positions since the vehicle does not need to be accessed for many hours. In another respect, therequest 299 for vehicle storage operations can further indicate an expected time of vehicle retrieval, which can be used to determine the position to which the platform storing the user's vehicle will be moved. As an example, the user 290 can indicate in therequest 299 for vehicle storage operations that she or he will retrieve the vehicle within an hour of storing it (e.g., a short trip to the stores). In response, thecontrol system 210 and the queueingengine 245 can determine to move the platform storing the vehicle of the user 290 to a position close to a vehicular access position because the vehicle is expected to be retrieved soon. Such optimizations performed by thecontrol system 210 and the queueingengine 245 in storing vehicles can reduce platform movements and wait times for users of thevehicle lift 250. - In addition, the
control system 210 and the queueingengine 245 can determine the sequence of platform movements in response to a request 299 (e.g., for retrieval or for storage) based, at least in part, onmaintenance records 222 maintained in thedatabase 220. For example, themaintenance records 222 can indicate malfunctions with moving platforms into a particular position within thevehicle lift 250. Thecontrol system 210 may have detected such malfunctions during previous operations of thevehicle lift 250 or an administrator may have entered the information regarding the malfunction into thedatabase 220. Based on this maintenance information, in response arequest 299, thecontrol system 210 and the queueingengine 245 can determine a sequence that does not involve moving any platforms in into the particular position experiencing malfunctions. As another example, a given platform may have issues preventing vehicles from safely getting on and/or off the platform. Based on this maintenance information, thecontrol system 210 and the queueingengine 245 can operate in response to arequest 299 for vehicle storage operations such that the problematic platform is not identified for vehicle storage. In addition, thecontrol system 210 can transmit information regarding detected or identified malfunctions or problems to theservice platform 270 to enable theservice platform 270 to maintain up-to-date availability information in view of the malfunctions or problems. Among other benefits, this allows the connectedVLSS 200 to continue operating even when mechanical or other problems are detected or identified. - According to one implementation, some of the platforms of the
vehicle lift 250 can include specialized equipment such as electric vehicle charging ports. Thus, theSCDA 215 and the queueingengine 245 can determine, in response to arequest 299 to store a vehicle, to move one of the platforms that include the specialize equipment to a vehicular access position such that the requesting user may access the specialized equipment. For instance, therequest 299 or theprofile data 271 of the user may indicate that the vehicle being stored by the user 290 is an electric vehicle. In response to such arequest 299, theSCDA 215 and the queueingengine 245 can identify an available platform that includes compatible electric vehicle supply equipment (EVSE) for charging the user's vehicle. TheSCDA 215 and the queueingengine 245 can cause the identified platform to be moved to a vehicular access position such that the user's vehicle can be stored on the identified platform. In this manner, the EVSE of the identified platform can be used to charge the on-board batteries of the user's electric vehicle while the vehicle is being stored in thevehicle lift 250. - According to embodiments, the
SCDA 215 can further generate amessage 218 to be transmitted to the user device 295 via thenetwork interface 225 and the one ormore networks 280. Themessage 218 can be transmitted after a requested vehicle storage operation has been completed. The message can inform the user 290 that the user's vehicle has been stored. In response, the user application 296 can prompt a user input of a time to retrieve the vehicle such that a vehicle storage request can be scheduled. In addition, themessage 218 can be transmitted in response to a vehicle retrieval request. In this instance, themessage 218 can inform the user 290 of an estimated time the vehicle will be ready for retrieval. In certain examples, themessage 218 can further inform the user 290 of the vehicular access position the vehicle will be placed after the retrieval operation is complete. For instance, for a Tower Configuration VLSS having a plurality of vehicular access positions located at different access points of a building structure, themessage 218 can inform the user at which access point to pick up her or his vehicle. - In certain implementations, the control system can include an
AV interface 230 for interfacing with autonomous vehicles (AVs). TheSCDA 215 can generateAV instructions 217 for transmission to anAV 285. TheAV instructions 217 can be transmitted via the one ormore networks 280 or can be transmitted via a local network (e.g., Wi-Fi or Bluetooth) or a dedicated wireless communication channel. TheAV instructions 217 can cause theAV 285 to enter and exit the vehicle lift 250 (e.g., pull into or pull out of a vehicular access position). Thus, as part of the vehicle storage and/or retrieval operations, thecontrol system 210 can direct theAV 285 to autonomously drive itself onto or off thevehicle lift 250. - In various aspects, the
vehicle lift 250 can include one ormore cameras 260 which can transmitcamera data 261 to thecontrol system 210 via thelift interface 235. Thecamera data 261 can be routed to a machine vision module 240 which can perform image analysis on the receivedcamera data 261. The image analysis performed by the machine vision module 240 can be used to determine whether a vehicle is free of occupants (e.g., one or more persons or pets) prior to moving the vehicle to a storage position within thevehicle lift 250. For instance, the one ormore cameras 260 can be positioned to capture images or videos through the windshield of the vehicle to allow the machine vision module 240 to determine if any occupants remain in the vehicle. The machine vision module 240 can further determine if any persons or objects are on the platform. In response to determining that at least one occupant remains in the vehicle or if a person or an object is placed on the platform, the machine vision module 240 can generate asafety signal 241 to theSCDA 215 to enable theSCDA 215 to stop thevehicle lift 250 from moving the platform (e.g., via the control signal 216). In certain implementations, the machine vision module 240 can also be configured to perform facial recognition to determine the identity of the user 290. In this manner, the user 290 can store and/or retrieve her or his vehicle by simply walking up to thevehicle lift 250. In doing so, the machine vision module 240 can identify the user and automatically process an appropriate request (e.g., store or retrieve) for the user based on the user's identity. -
FIG. 3 is a block figure diagram illustrating anetwork system 300 implementing a cloud or network service for managing a plurality of VLSS's 350, 355, and 360, in accordance with examples described herein. In the below discussion ofFIG. 3 , reference may be made to features and examples shown and described with respect toFIGS. 1 and 2A . For instance,network system 300 can be an embodiment of theservice platform 270 shown and described with respect toFIG. 2A . In addition, theVLSS VLSS 200 shown and described with respect toFIG. 2A . - Referring to
FIG. 3 , thenetwork system 300 can communicate with the plurality of VLSS's 350, 355, and 360 via anetwork interface 315 over one ormore networks 380 in order to manage the plurality of VLSS's 350, 355, and 360. In one respect, thenetwork system 300 can manage parking assignments across the plurality of VLSS's 350, 355, and 360. For instance, thenetwork system 300 can determine, in response to a particular user's request for vehicle storage operations, in which of the plurality of VLSS's 350, 355, and 360 the user's vehicle is to be stored. In doing so, thenetwork system 300 can maintain dynamically-updated availability information for each of the plurality of VLSS's 350, 355, and 360. - According to embodiments, the
network system 300 can also communicate with a user device 395 that executes a user application 396 to receive arequest 397. Therequest 397 can correspond to a request for vehicle storage operations from a user 390 or to a request for vehicle retrieval operations. Therequest 397 can include location data generated by one or more geo-aware resource of the user device 395. Therequest 397 can further include identification information (e.g., a unique username or user identification code) of the user 390. In certain implementations, therequest 397 for vehicle storage operations can also indicate an requested duration of the time the user expects to store his or her vehicle. - In response to receiving a
request 397 requesting vehicle storage operations, anassignment engine 330 of thenetwork system 300 can determine adynamic parking assignment 331. Thedynamic parking assignment 331 can indicate at which of the plurality of VLSS's 350, 355, and 360 the user's vehicle is to be stored. In certain implementations, thedynamic parking assignment 331 can further indicate a position or section within a particular VLSS the user's vehicle is to be stored. Thedynamic parking assignment 331 can be determined based on the availability information maintained by thenetwork system 300 in a service database 340 (e.g., availability records 342). Thedynamic parking assignment 331 can also be determined based on the user's location data transmitted as part of therequest 397. For instance, theassignment engine 330 can determine thedynamic parking assignment 331 such that the identified VLSS is the closest one to the user 390 that has availability for the requested duration of time. After thedynamic parking assignment 316 has been determined, it can be transmitted to the relevant VLSS. In addition, thenetwork interface 315 can generate and transmit, to the user device 395, aconfirmation message 316. Theconfirmation message 316 can indicate the location of the assigned VLSS for the user 390'srequest 397. Theconfirmation message 316 can further include an indication of the estimated cost to the user 390 for parking the vehicle for the requested duration of time at the assigned VLSS. - From the user 390's point of view, the
request 397 for vehicle storage operations can be performed automatically by the user device 395. For instance, the user 390 can, via the user application 396 or via a third-party mapping application, indicate a destination location such as a point of interest (e.g., a restaurant or a shop). In response, the user device 395 can be configured to automatically transmit therequest 397 for vehicle storage operations. Therequest 397 can indicate the destination location or the point of interest as the location associated with therequest 397. Therequest 397 can also be transmitted ahead of the user 390 arriving at the destination location and can indicate an estimated time of arrival at the destination location. Thus, the user device 395 can be configured to seamlessly and automatically request a parking assignment on behalf of the user 390 as the user 390 travels to the destination location. Thenetwork system 300 can then determine adynamic parking assignment 331 for the user 390 and transmit the relevant information (e.g., location of the assigned VLSS) via theconfirmation message 316. In response to receiving theconfirmation message 316, the user application 396 and/or the third-party mapping software can be automatically updated to guide (e.g., via turn-by-turn navigation guidance) the user 390 to the location of the assigned VLSS. - In certain implementations, the
availability records 342 maintained by the network system inservice database 340 can include information regarding reserved parking assignments. For instance, a certain user may be permanently assigned to park his or her vehicle(s) at a particular one of the plurality of VLSS's managed by thenetwork system 300. The particular VLSS may be a VLSS located at or near the certain user's place of residence or work. The reserved parking assignments can be associated with time periods in which parking for the certain user's vehicle(s) is guaranteed at the particular VLSS (e.g., 8 A.M. to 6 P.M. on weekdays). Outside of the indicated time periods, theassignment engine 330 can assign a space that is otherwise reserved for the certain user to other users requesting vehicle storage operations. Thus, the determination of adynamic parking assignment 331 can be based on reserved parking assignments indicated in the availability records 342. In this manner, thenetwork system 300 can dynamically manage the inventory of available parking spaces in the plurality of VLSS's 350, 355, and 360 to best suit the demand conditions. - According to embodiments, the
service database 340 can also store user profiles 341. Each user of the cloud service managed by thenetwork system 300 can have a corresponding user profile 341. A user profile 341 can include information such as name, address, contact information, method of payment, usage history information, and any permanent parking reservations. In various aspects, thedynamic parking assignment 331 can be determined based onprofile data 343 retrieved from the user 390's user profile 341. For instance, theprofile data 343 can indicate that the user has a reserved position at one of the VLSS's managed by thenetwork system 300. - In various aspects, the
network system 300 can include anadmin console 320 for receivingadministrator input 376 from anadministrator device 375 operated by anadministrator 370 of thenetwork system 300. Theadministrator 370 can oversee various aspects of the cloud or network service run by thenetwork system 300 for managing the plurality of VLSS's. For example, theadministrator input 376 can modify user profiles 341 and assign reserved parking assignments at the VLSS's to specific users. Themodifications 377 made by theadministrator 370 can be saved to theservice database 340. In addition, thenetwork system 300 can includepayment processing 335 for processing payments on behalf of users. Thepayment processing 335 can retrievepayment processing information 344 from the service database 340 (e.g., using billing information in the user profiles 341). Thepayment processing 335 can generatepayment processing data 336 for transmission to one or more financial institutions. In certain implementations, the platforms of the VLSS's 350, 355, or 360 can include electric vehicle supply equipment (EVSE) for charging electric vehicles. For a user 390 charging his or her electrical vehicle at a VLSS managed by thenetwork system 300, thenetwork system 300 can maintain a record of amounts of electricity (e.g., in terms of kilowatt hours) consumed by user 390's vehicle. Thus, thepayment processing 335 can also process a payment for the user 390's consumption of electricity in charging his or her electric vehicle at the VLSS. - Methodologies
-
FIG. 4 is a flow chart describing an example method of operating an example VLSS, as shown and described herein. In the below discussion ofFIG. 4 , reference may be made to features and examples shown and described with respect to 1. For instance, the exemplary method illustrated inFIG. 4 and described below can be performed by theVLSS 100 ofFIG. 1 . - Referring to
FIG. 4 , theVLSS 100 can receive user input (410). The input can be received via a user terminal of theVLSS 100 or can be received via a mobile computing device operated by the user. The user input can specify a request for a vehicle storage operation or a vehicle retrieval operation. In response to the user input, theVLSS 100 can determine to move a given platform of theVLSS 100 from its initial position to a desired position (415). This determination can be based on a sequence of platform moves determined by theVLSS 100 in response to the received user input. A plurality of platforms can be moved to various positions such that the user's request can be fulfilled. An exemplary sequence for platform moves in response to a user request are shown and described with respected toFIGS. 2B to 2E . As part of the sequence of platform moves determined by theVLSS 100 in response to the user request, the given platform can be determined to be moved from its initial position to the desired position. In other words, the given platform can be moved to the desired position as part of the determined sequence of platform moves to fulfill the user's request. - According to embodiments, the
control system 145 of theVLSS 100 can generate control signal 146 to cause themotor mechanism 150 to move the given platform from its initial position to the desired position (420). Thecontrol system 145 can then begin monitoring the output of theaccelerometer 135 attached to the given platform (425). Thecontrol system 145 can monitor for a pitch rotation of the platform (426), a roll rotation of the platform (427), and an impact experienced by the platform as it moves from its initial position to its desired position (428). The output of theaccelerometer 135 can also be monitored for a yaw rotation of the platform. - The
control system 145 can determine, based on the accelerometer output, whether a safety event has occurred (430). A safety event can be determined to have occurred if the pitch rotation of the platform exceeds a pitch threshold, if the roll rotation of the platform exceeds a roll rotation, or if the yaw rotation of the platform exceeds a yaw threshold. In addition, a safety event can be determined to have occurred if an impact is detected by the accelerometer prior to the platform having reached the desired position. - If safety event has been detected, the
control system 145 can generate a control signal to cause the motor mechanism to halt operating in its normal mode of operation in moving the given platform to the desired position (435). In addition or as an alternative, thecontrol system 145 can generate a safety signal to themotor mechanism 150 to cause themotor mechanism 150 to cease operating in its normal mode of operation in moving the platform to the desired position. - In certain implementations, the
control system 145 can characterize the detected safety event or determine an event type for the detected safety event based on the data from theaccelerometer 135. Based on the characterization of the safety event or the determined event type, thecontrol system 145 can cause the motor mechanism to perform a variety of safety functions to alleviate or resolve the safety event. For instance, if the detected safety event is determined to correspond to the given platform impacting an external object (e.g., an open car door) while being moved from its initial position to the desired position, thecontrol system 145 can cause the motor mechanism to operate in a safety mode to bring the given platform back to its initial position (440). - If no safety event is detected and the given platform has been moved into the desired position, the
VLSS 100 can proceed to moving the next platform specified in the sequence of platform moves to fulfill the user request (450). -
FIG. 5 is a flow chart illustrating an example method of performing a vehicle retrieval operation, as shown and described herein. In the below discussion ofFIG. 5 , reference may be made to features and examples shown and described with respect toFIGS. 2A to 2E . For instance, the example method of performingvehicle retrieval operation 500 can be performed by the connectedVLSS 200 ofFIG. 2A . - Referring to
FIG. 5 , the connectedVLSS 200 can receive a user request for vehicle retrieval (510). The user request can include identification information of the user and the user's location data. The user request for vehicle retrieval can be received from a user console located at or near the connected VLSS 200 (511). The user request for vehicle retrieval can also be received via one or more networks from a computing device operated by the user (512). - In response to the user request for vehicle retrieval, the connected
VLSS 200 can query a service platform for user profile information of the requesting user (515). The connectedVLSS 200 can further identify the platform storing the vehicle associated with the requesting user (520). In addition, the connectedVLSS 200 can estimate an ETA of the requesting user at thevehicle lift 250 based on the user's location data (525). - According to embodiments, the connected
VLSS 200 can determine a sequence for moving the platforms of thevehicle lift 250 in order to fulfill the user's request for vehicle retrieval (530). If the connectedVLSS 200 has other pending user requests for storing or retrieving vehicles, there can be an existing sequence for moving the platforms of thevehicle lift 250. Thus, in response to the requesting user's request, the existing sequence can be updated to include operations to fulfill the requesting user's request. The sequence can be determined or updated based on the current positions of the platforms in the vehicle lift 250 (531), including the identified platform that stores the requesting user's vehicle. The sequence can also be determined based on the user's ETA (532). For instance, the requesting user's ETA can be compared against ETAs of other users who have submitted requests. If the requesting user is estimated to arrive at thevehicle lift 250 earlier than the other users, the requesting user's request for vehicle retrieval can be prioritized to optimize and reduce wait time. On the other hand, if the requesting user is estimated to arrive at thevehicle lift 250 later than other users, the other users' requests can be prioritized over the requesting user's request. The sequence can also be determined or updated based on information contained in the user profile (533). For instance, the user profile can indicate a preferred vehicular access position for retrieving the requesting user's vehicle. - After the sequence is determined or updated, the control system of the
VLSS 200 can generate control signal(s) to cause the motor mechanisms of theVLSS 200 to move the platforms of theVLSS 200 in accordance with the determined or updated sequence (535). In addition, theVLSS 200 can transmit, to the requesting user's computing device, an estimated time at which the requesting user's vehicle will be ready for pickup by the requesting user (540). In addition, if theVLSS 200 has multiple vehicular access positions, theVLSS 200 can further transmit to the requesting user's computing device information regarding the vehicular access position (e.g., an exit number, a stall number, etc.) at which the requesting user's vehicle will be placed for pickup by the requesting user. -
FIG. 6 is a flow chart illustrating an example method of performing a vehicle storage operation, as shown and described herein. In the below discussion ofFIG. 6 , reference may be made to features and examples shown and described with respect toFIGS. 2A to 2E . For instance, the example method of performingvehicle storage operation 600 can be performed by the connectedVLSS 200 ofFIG. 2A . - Referring to
FIG. 6 , the connectedVLSS 200 can receive a user request for vehicle storage (610). The user request can include identification information of the user and the user's location data. The user request for vehicle storage can be received from a user console located at or near the connected VLSS 200 (611). The user request for vehicle storage can also be received via one or more networks from a computing device operated by the user (612). - In response to the user request for vehicle storage, the connected
VLSS 200 can query a service platform for user profile information of the requesting user (615). Based on the user profile information, theVLSS 200 can determine whether the requesting user has a reserved storage position (620). If the user has a reserved position within thevehicle lift 250, theVLSS 200 can determine a sequence of platform moves to move the vehicle to the reserved position (630). However, if the user does not have a reserved position, theVLSS 200 can determine a storage position for the user's vehicle (625). The storage position can be determined based on a time duration requested as part of the user's request for vehicle storage. For instance, if the requested time duration is short (e.g., less than an hour), theVLSS 200 can determine to move the user's vehicle to a position close to a vehicular access position. On the other hand, if the requested time duration is long, theVLSS 200 can determine to move the vehicle to a storage position that is further away from the vehicular access positions of theVLSS 200 such that other vehicles that will be stored in theVLSS 200 for shorter periods of time can be placed near the vehicular access positions for quick retrieval. In addition, based on the determined position for the user's vehicle, theVLSS 200 can determine or update a sequence of platform movements to move the vehicle into the determined storage position (630). After the sequence is determined or updated, the control system of theVLSS 200 can generate control signal(s) to cause the motor mechanisms of theVLSS 200 to move the platforms of theVLSS 200 in accordance with the determined or updated sequence (635). - Hardware Diagrams
-
FIG. 7 is a block diagram illustrating an example user device executing and operating a designated user application for communicating with a cloud or network service and/or with a connected VLSS, according to examples described herein. In many implementations, the user device 700 can comprise a mobile computing device, such as a smartphone, tablet computer, laptop computer, VR or AR headset device, and the like. As such, the user device 700 can include typical telephony features such as amicrophone 745, a camera 750, and acommunication interface 710 to communicate with external entities using any number of wireless communication protocols. In certain aspects, the user device 700 can store a designated application (e.g., a user app 732) in alocal memory 730. In variations, thememory 730 can store additional applications executable by one ormore processors 740 of the user device 700, enabling access and interaction with one or more host servers over one ormore networks 780. - In response to a
user input 718, the user app 732 can be executed by aprocessor 740, which can cause anapp interface 742 to be generated on adisplay screen 720 of the user device 700. Theapp interface 742 can enable the user to, for example, enter a request for vehicle storage or a request for vehicle retrieval. In various implementations, theapp interface 742 can further enable the user to enter or select one or more locations related to the request (e.g., by entering an address, performing a search, or selecting on an interactive map). Furthermore, theapp interface 742 can display dynamically information relating to the request, such as confirmation messages, estimated times of completion, and other information. The user can generate arequest 767 viauser inputs 718 provided on theapp interface 742. - As provided herein, the user application 732 can further enable a communication link with a
network system 790 over thenetwork 780, such as thenetwork system 300 as shown and described with respect toFIG. 3 . Theprocessor 740 can generate user interface features 728 (e.g., map, request status, etc.) usingcontent data 726 received from thenetwork system 790 overnetwork 780. Furthermore, as discussed herein, the user application 732 can enable thenetwork system 790 to cause the generateduser interface 728 to be displayed on theapplication interface 742. - The
processor 740 can transmit therequests 767 via acommunications interface 710 to thebackend network system 790 over anetwork 780. In response, the user device 700 can receive aconfirmation 769 from thenetwork system 790. In various examples, the user device 700 can further include aGPS module 760, which can providelocation data 762 indicating the current location of the requesting user to thenetwork system 790. -
FIG. 8 is a block diagram that illustrates a computer system upon which examples described herein may be implemented. Acomputer system 800 can be implemented on, for example, a server or combination of servers. For example, thecomputer system 800 may be implemented as part of a network service managing connected VLSS's. In the context ofFIG. 3 , thenetwork system 300 may be implemented using acomputer system 800 such as described byFIG. 8 . Thenetwork system 300 may also be implemented using a combination of multiple computer systems as described in connection withFIG. 8 . - In one implementation, the
computer system 800 includes processingresources 810, amain memory 820, a read-only memory (ROM) 830, a storage device 840, and acommunication interface 850. Thecomputer system 800 includes at least oneprocessor 810 for processing information stored in themain memory 820, such as provided by a random access memory (RAM) or other dynamic storage device, for storing information and instructions which are executable by theprocessor 810. Themain memory 820 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by theprocessor 810. Thecomputer system 800 may also include theROM 830 or other static storage device for storing static information and instructions for theprocessor 810. A storage device 840, such as a magnetic disk or optical disk, is provided for storing information and instructions. - The
communication interface 850 enables thecomputer system 800 to communicate with one or more networks 880 (e.g., cellular network) through use of the network link (wireless or wired). Using the network link, thecomputer system 800 can communicate with one or more computing devices, one or more servers, and/or one or more self-driving vehicles. In accordance with examples, thecomputer system 800 receivesrequests 882 from computing devices of individual users. The executable instructions stored in thememory 830 can includeassignment instructions 822, which theprocessor 810 executes to determine dynamic parking assignments in response to requests for vehicle storage received from users. In doing so, thecomputer system 800 can receive location data of the user to determine thedynamic assignment 851 in response to theuser request 882. Theprocessor 810 is configured with software and/or other logic to perform one or more processes, steps and other functions described with implementations, such as described byFIGS. 1-7 , and elsewhere in the present application. - Examples described herein are related to the use of the
computer system 800 for implementing the techniques described herein. According to one example, those techniques are performed by thecomputer system 800 in response to theprocessor 810 executing one or more sequences of one or more instructions contained in themain memory 820. Such instructions may be read into themain memory 820 from another machine-readable medium, such as the storage device 840. Execution of the sequences of instructions contained in themain memory 820 causes theprocessor 810 to perform the process steps described herein. In alternative implementations, hard-wired circuitry may be used in place of or in combination with software instructions to implement examples described herein. Thus, the examples described are not limited to any specific combination of hardware circuitry and software. - It is contemplated for examples described herein to extend to individual elements and concepts described herein, independently of other concepts, ideas or systems, as well as for examples to include combinations of elements recited anywhere in this application. Although examples are described in detail herein with reference to the accompanying drawings, it is to be understood that the concepts are not limited to those precise examples. As such, many modifications and variations will be apparent to practitioners skilled in this art. Accordingly, it is intended that the scope of the concepts be defined by the following claims and their equivalents. Furthermore, it is contemplated that a particular feature described either individually or as part of an example can be combined with other individually described features, or parts of other examples, even if the other features and examples make no mentioned of the particular feature. Thus, the absence of describing combinations should not preclude claiming rights to such combinations.
Claims (1)
1. A vehicle lift and storage system, comprising:
a plurality of platforms for supporting motor vehicles, each of the platforms being movable between a plurality of storage positions and one or more vehicular access positions, the one or more vehicular access positions allowing for vehicular access to the vehicle lift and storage system;
one or more moving mechanisms operatively connected to the plurality of platforms to move the platforms between the plurality of storage positions and the one or more vehicular access positions;
a control system for controlling the vehicle lift and storage system, the control system including a network interface for communicating over one or more networks and being configured to:
receive user data associated with a user of the vehicle lift and storage system, the user data comprising location information of the user and identification information of the user;
based on the identification information of the user, identify, among the plurality of platforms, a platform on which a vehicle associated with the user is located; and
based on a position of the identified platform and the location information of the user, update a sequence for moving the plurality of platforms to include steps for moving the identified platform to one of the one or more vehicular access positions.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/932,992 US20210002915A1 (en) | 2018-02-07 | 2020-07-20 | Connected vehicle lift and storage system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/890,712 US10745928B2 (en) | 2018-02-07 | 2018-02-07 | Connected vehicle lift and storage system |
US16/932,992 US20210002915A1 (en) | 2018-02-07 | 2020-07-20 | Connected vehicle lift and storage system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/890,712 Continuation US10745928B2 (en) | 2018-02-07 | 2018-02-07 | Connected vehicle lift and storage system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210002915A1 true US20210002915A1 (en) | 2021-01-07 |
Family
ID=67476491
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/890,712 Expired - Fee Related US10745928B2 (en) | 2018-02-07 | 2018-02-07 | Connected vehicle lift and storage system |
US16/932,992 Abandoned US20210002915A1 (en) | 2018-02-07 | 2020-07-20 | Connected vehicle lift and storage system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/890,712 Expired - Fee Related US10745928B2 (en) | 2018-02-07 | 2018-02-07 | Connected vehicle lift and storage system |
Country Status (1)
Country | Link |
---|---|
US (2) | US10745928B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10683676B2 (en) | 2018-02-07 | 2020-06-16 | CityLift Parking, LLC | Vehicle lift and storage system utilizing a multi-axis accelerometer |
CN115419308B (en) * | 2022-04-08 | 2023-07-14 | 长沙理工大学 | Self-adaptive lifting device for special equipment |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4674938A (en) | 1985-09-11 | 1987-06-23 | Car Stackers International, Inc. | Vehicle parking system |
US6662077B2 (en) | 1999-07-30 | 2003-12-09 | Gerhard Haag | Architecture for presenting and managing information in an automated parking and storage facility |
US7783530B2 (en) | 2003-06-10 | 2010-08-24 | At&T Intellectual Property I, L.P. | Parking reservation systems and related methods |
ITVE20040047A1 (en) | 2004-11-17 | 2005-02-17 | O Me R Spa | LIFTING PLATFORM FOR MOTOR VEHICLES AND MATERIALS AND HANDLING SYSTEM. |
US8290613B2 (en) | 2007-05-18 | 2012-10-16 | Unitronics (1989) (R″G) Ltd. | System and method for controlling and managing an automated vehicle parking garage |
GB2463915B (en) | 2008-09-30 | 2012-06-20 | Niftylift Ltd | Load monitoring system |
US8632290B2 (en) * | 2010-01-21 | 2014-01-21 | Auto Parkit, Llc | Automated parking system |
IL207582A (en) | 2010-08-12 | 2015-04-30 | Woehr Otto Gmbh | Parking system |
DE102011000115A1 (en) | 2011-01-13 | 2012-07-19 | Otto Wöhr Gmbh | park |
US20120323643A1 (en) | 2011-03-24 | 2012-12-20 | Premier Parking LLC | Parking management systems and methods |
US9581997B1 (en) * | 2011-04-22 | 2017-02-28 | Angel A. Penilla | Method and system for cloud-based communication for automatic driverless movement |
US20140294543A1 (en) | 2013-03-26 | 2014-10-02 | Leanpark Oy | Automated vehicle parking system |
US9299257B2 (en) * | 2013-04-05 | 2016-03-29 | Here Global B.V. | Method and apparatus for determining parking location based on departure time information |
BR102013028165B1 (en) | 2013-10-31 | 2021-11-03 | Carmine Alexandre Cifelli | PARKING VEHICLES ON MULTIPLE LEVELS AND MANEUVER MANAGEMENT METHOD |
US10112801B2 (en) | 2014-08-05 | 2018-10-30 | Richard Laszlo Madarasz | Elevator inspection apparatus with separate computing device and sensors |
US10902485B2 (en) | 2015-08-26 | 2021-01-26 | Spaces Operations, Llc | Method and system for dynamic parking selection, transaction, management and data provision |
US10169995B2 (en) * | 2015-09-25 | 2019-01-01 | International Business Machines Corporation | Automatic selection of parking spaces based on parking space attributes, driver preferences, and vehicle information |
US20170351975A1 (en) | 2016-06-07 | 2017-12-07 | Dock, Inc. | System and method for managing a reservation for a vehicle parking location |
TWI645388B (en) | 2016-11-30 | 2018-12-21 | 財團法人資訊工業策進會 | Parking forecast and parking guidance planning system and method |
TW201832130A (en) | 2017-02-24 | 2018-09-01 | 致伸科技股份有限公司 | Mechanization parking control system |
US20180268322A1 (en) | 2017-03-16 | 2018-09-20 | Yafang Liu | Dynamic Parking Information Management System |
US10713946B2 (en) | 2017-07-31 | 2020-07-14 | Robert P. Sabagh | Computer-implemented system and method for valet parking services |
US20190168993A1 (en) | 2017-12-05 | 2019-06-06 | Otis Elevator Company | Method of dispatching optimization based on sensing |
-
2018
- 2018-02-07 US US15/890,712 patent/US10745928B2/en not_active Expired - Fee Related
-
2020
- 2020-07-20 US US16/932,992 patent/US20210002915A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US10745928B2 (en) | 2020-08-18 |
US20190242148A1 (en) | 2019-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200362584A1 (en) | Vehicle lift and storage system utilizing a multi-axis accelerometer | |
US20190245926A1 (en) | Network system for managing vehicle lift and storage systems | |
US20200302567A1 (en) | Dynamic autonomous vehicle servicing and management | |
US20210002915A1 (en) | Connected vehicle lift and storage system | |
US9830749B2 (en) | Systems and methods for executing custom fleet vehicle management scripts | |
US20180315146A1 (en) | Dynamic autonomous vehicle matching optimization | |
EP3410070B1 (en) | Information processing apparatus and information processing method | |
US20210271262A1 (en) | Autonomous Mobile Robot And Method For Controlling An Autonomous Mobile Robot | |
WO2020223249A1 (en) | Vehicle service center dispatch system | |
CN111606157A (en) | Elevator control method and system, conveying robot and elevator controller | |
US11904717B2 (en) | Intelligent preconditioning for high voltage electric vehicle batteries | |
US20220169140A1 (en) | Secure and efficient computing sharing for electric automobiles | |
US10050467B2 (en) | Vehicle battery status detection by tracking a temperature gradient | |
WO2022114331A1 (en) | Electric bus battery state analysis service system | |
CN110002289A (en) | For confirming the elevator automatic positioning of maintenance | |
CA3089865A1 (en) | Vehicle lift and storage system utilizing a multi-axis accelerometer | |
US20200286003A1 (en) | Vehicle allocation for ride requests | |
KR102424823B1 (en) | Efficient entry and exit management system using push message | |
WO2023026265A1 (en) | Internet of things based system and method to manage swapping of battery in an electric two-wheeler | |
JP7254059B2 (en) | Optimizing management of autonomous vehicles | |
KR102442671B1 (en) | Server and method for providing charging service for vehicle charging, and application for supporting charging service for vehicle charging | |
US20240135277A1 (en) | Operation management apparatus | |
US20230058986A1 (en) | Systems and methods for determining tire characteristics using an electric vehicle charging station | |
KR20230040706A (en) | Battery charging service system and method for electrification vehicle | |
KR20240100776A (en) | Wireless car charger |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CITYLIFT PARKING, LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RICHARDSON, BRANDON MICHAEL;CHENG, YI JACK;REEL/FRAME:053918/0350 Effective date: 20180213 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |