Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
LOW RISE VEHICLE LIFT AND METHOD OF OPERATION
Document Type and Number:
WIPO Patent Application WO/2022/026776
Kind Code:
A1
Abstract:
An apparatus, system and methods for operating an automatic computer vision based low rise vehicle lift. The system and methods involve performing computer vision processes to identify lifting points on the underside of a vehicle based on captured images. Based on the position of the lifting points in a common coordinate system, a lift control system calculates a displacement required to position swing arms and lifting blocks housed in each swing arm under the identified lifting points. The system may then actuate the swing arms and lifting blocks based on these calculations as well as actuate hydraulic cylinders to lift the lifting blocks into contact with the vehicle. The vehicle may then be lifted to a predetermined height where locking link assemblies may engage the locking racks in the base plate to lock the lift in place and transfer the load away from the hydraulic cylinders.

Inventors:
MICA ERIC (US)
DAROLFI VICTOR (US)
MAPES WILLIAM (US)
VARGO BRADLEY (US)
SCOTT ROBERT (US)
Application Number:
PCT/US2021/043800
Publication Date:
February 03, 2022
Filing Date:
July 29, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ROBOTIRE INC (US)
International Classes:
B66F7/08; B60S9/12; B66F1/00; B66F7/06; B66F7/26; B66F7/28
Foreign References:
US4447042A1984-05-08
US4901980A1990-02-20
US5861580A1999-01-19
US20190100420A12019-04-04
US20080067034A12008-03-20
US20170081162A12017-03-23
US6182796B12001-02-06
US5355711A1994-10-18
Attorney, Agent or Firm:
STEAKLEY, Edward (US)
Download PDF:
Claims:
CLAIMS

WHAT IS CLAIMED IS:

1. An apparatus for lifting a vehicle, comprising: a base plate comprising a base portion and a first and second pair of locking racks disposed about the base portion, each of the locking racks having two or more locking positions disposed along a length of a respective locking rack, the locking positions being configured to receive a locking foot of a lift locking assembly; a lift frame; a lifting mechanism configured to vertically move the lift frame upwards and downwards; and a plurality of lift locking assemblies coupled to the lift frame, each lift locking assembly including a locking link member and a locking foot; and a plurality of swing arms assemblies pivotally coupled to the lift frame, each swing arm assembly comprising a lifting block that is linearly moveable along a length of the swing arm assembly.

2. The apparatus of claim 1, wherein the moveable lifting block comprises a load cell sensor to measure a weight applied to the load cell sensor.

3. The apparatus of claim 1, wherein each locking foot is pivotable by operation of an actuator connected via a moveable rod to the locking foot.

4. The apparatus of claim 4, wherein the base plate includes a plurality of anchor holes disposed about the base plate.

5. The apparatus of claim 4, wherein the lifting mechanism comprises a hydraulicly operated piston and cylinder, operably connected to the base plate.

6. The apparatus of claim 1, further comprising a plurality of harmonic drives each attached to a respective swing arm assembly and configured to adjust a position of the swing arm assembly.

7. The apparatus of claim 1, further comprising: a platform control unit configured to control the positioning of the swing arms assemblies, the positioning of the lifting blocks, the positioning of the lift frame and the positioning of the locking feet.

8. The apparatus of claim 1, further comprising a computer vision system one or more image sensors to capture images of the underside and front of a vehicle.

9. A method for lifting a vehicle, the method comprising: providing a lifting apparatus, the lifting apparatus comprising: a base plate comprising a base portion and a first and second pair of locking racks disposed about the base portion, each of the locking racks having two or more locking positions disposed along a length of a respective locking rack, the locking positions being configured to receive a locking foot of a lift locking assembly; a lift frame; a lifting mechanism configured to vertically move the lift frame upwards and downwards; and a plurality of lift locking assemblies coupled to the lift frame, each lift locking assembly including a locking link member and a locking foot; and a plurality of swing arms assemblies pivotally coupled to the lift frame, each swing arm assembly comprising a lifting block that is linearly moveable along a length of the swing arm assembly.

10. The claim 9, further comprising the operations of: measuring, by a plurality of load sensors integrated with the lifting blocks, weight of a lifted vehicle resting upon each of the load sensors; and determining a center of gravity of the vehicle.

11. The claim 10, further comprising the operations of: determining whether the center of gravity is within an acceptable center of gravity range for the lifted vehicle; and automatically lowering the vehicle if the center of gravity is outside of the acceptable center of gravity range.

12. The claim 10, further comprising the operations of: determining whether the center of gravity is within an acceptable center of gravity range for the lifted vehicle; and generating an audible and/or visual alert if the center of gravity is outside of the acceptable center of gravity range.

13. The claim 9, further comprising the operations of: using distance measuring sensors, measuring distances of the sensors to locations or positions on a vehicle moved over the lifting apparatus.

14. The claim 9, further comprising the operations of: receiving, by a computer system, an input for identification information of a vehicle; based on the received vehicle information, determining locations for lifting points of the vehicle; positioning the lifting blocks to the determined locations of the lifting points of the vehicle; and causing the lifting frame to move upwardly to lift the vehicle by contacting the lifting blocks to the vehicle.

15. A method for lifting a vehicle with a lifting apparatus, the method comprising: capturing, by one or more cameras of a vision system, one or more underside images of a vehicle being positioned above a lifting platform; determining an orientation of the vehicle based on the one or more underside images; identifying a position of one or more lifting points based on the one or more underside images and the determined orientation of the vehicle; calculating an amount of actuation required to position one or more swing arms beneath the one or more lifting points; calculating an amount of rotation of a lead screw required to position a lifting block of each swing arm beneath the one or more lifting points moving the one or more lifting blocks to positions corresponding to the one or more lifting points, wherein the moving comprises: actuating each swing arm based on the calculated amount of actuation; and rotating the lead screw of each swing arm based on the calculated amount of rotation; raising the lifting platform, by actuating one or more hydraulic cylinders, so as to bring the one or more lifting blocks into contact with the one or more lifting points; lifting the vehicle so as to bring the vehicle up to a predefined height; and locking the lifting platform at the predefined height, by engaging a locking assembly.

16. The method of claim 15, wherein the locking assembly comprises: one or more locking links, each connected to a locking foot at a locking foot joint; and one or more locking racks, each mounted to a vehicle lift base plate; wherein engaging the locking assembly further comprises: aligning axially the locking foot of each locking link and bringing the locking foot into contact with the corresponding locking rack; and releasing pressure from the one or more hydraulic cylinders so as to transfer the force of the vehicle from the hydraulic cylinder to the one or more locking racks.

17. The method of claim 15, wherein the lowering of the vehicle from the lifted position comprises: actuating the one or more hydraulic cylinders so as to disengage the locking foot from the locking rack; actuating a release assembly attached to each locking assembly, wherein the actuating of the release assembly causes the locking foot to pivot about the locking foot joint until the locking foot is in a position that will no longer contact the locking rack; the release assembly comprising: a release link, attached to the locking foot at one end and a release clevis on the opposite end; and a foot extent cylinder, mounted to the locking link, configured to actuate a foot extend piston connected to the release clevis.

18. The method of claim 15, wherein each swing arm is initially in a tucked orientation prior to the vehicle being guided into position.

19. The method of claim 15, wherein the identifying the position of the one or more lifting points comprises: capturing, by the one or more cameras of the vision system, one or more front images of the vehicle; analyzing the one or more front images of the vehicle to determine a make and model of the vehicle; accessing a database of vehicle data; retrieving vehicle data and lifting point and/or frame rail position data for the determined make and model of the vehicle; and determining the position of one or more lifting points based on the lifting point and/or frame rail position data, the one or more underside images and the determined orientation of the vehicle.

20. The method of claim 19, wherein the identifying the position of the one or more lifting points comprises: analyzing the one or more underside images to determine possible obstructions that may interfere with engaging each lifting point. identifying one or more alternate lifting points when an obstruction is detected; and selecting one of the one or more alternated lifting points.

Description:
LOW RISE VEHICLE LIFT AND METHOD OF OPERATION

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. Provisional Application No. 63/058,434, filed July 29, 2020, which is hereby incorporated by reference in its entirety.

FIELD

[0002] This invention relates generally to the field of vehicle lifts, and more particularly to the computer-based control of a low rise vehicle lift.

BACKGROUND

[0003] Vehicle lifts are used in the maintenance and repair of vehicles and may take many forms. Low rise lifts are traditionally used to raise a vehicle to a level that allows for wheels to be removed and for repairs to be performed on components such as brakes, rotors and CV joints.

[0004] Traditionally, a low rise lift is operated by a person who must position the lift under lifting points or frame rails that are unique to specific makes and models of vehicles. The technician must then engage the lifting mechanism, most often a hydraulic lifting mechanism, until the lift contacts the lifting point. This may require adjusting before engaging the lifting mechanism as well as during operation but before contact is made.

[0005] The operation of a traditional lifts requires a technician to make determinations of placement of the lift and guess as to the safest position to lift the vehicle from. It is difficult for the technician to know the optimal position of the lift for every vehicle, and impossible for the technician to know the center of gravity of a specific vehicle since there is no way of knowing the exact load currently being carried by the vehicle. This uncertainty may result in a sub-optimal lifting position being used which may lead to the center of gravity being outside of a known safe range and increase the chances of an accident or failure of the lift occurring.

SUMMARY

[0006] The systems and methods described herein provide for the automatic computer vision based lifting of a vehicle. In one embodiment, the low rise vehicle lift may have a base plate that may be anchored to the ground. The base plate may be anchored through a plurality of anchor holes by way of fasteners such as concrete anchors, bolts or screws. The base plate may also have welded joints for connections to rolling links, hydraulic cylinders and locking link assemblies. Locking racks may also be welded to the base plate and configured to engage locking link feet at predefined positions corresponding to predefined lifting heights. While the lift apparatus in various embodiment may use hydraulic components (such as rod and pistons), or devices such as a ball/screw device where movement/or diving of an end portion of the ball/screw device is provided via the rotation of the screw of the device (e.g., a rotational screw).

[0007] The vehicle lift may also have a plurality of swing arms. In one embodiment, there may be four swing arms attached to a lifting frame by a hinge assembly. The swing arms may be actuated by a harmonic drive unit or other form actuation. A lifting block may be housed in each swing arm and connected to a linear motion system by way of a lead screw. The lead screw may be driven by a servo motor, stepper motor or other rotational drive unit. The lifting block may be spring loaded so as to allow for smooth movement when there is no load on the lifting block. The lifting block may be mounted to a nut or include a threaded member that engages with the lead screw. The lifting block may also have a pressure sensor such as a load cell embedded or otherwise incorporated into the lifting block, so as to determine the load at each lifting block during operation of the lift. The load at each of the lifting blocks may then be used in a calculation of the center of gravity of the vehicle being lifted.

[0008] In some embodiments, one or more cameras and/or one or more depth sensing sensors may be used to capture images of the front and underside of the vehicle. When a vehicle is driven into position above the vehicle life, a computer vision system may map the physical position of the vehicle components by analyzing the images from the one or more cameras and the information from the depth sensors. The mapping of the underside of the vehicle may be used in combination with information of the specific vehicles lift points and/or frame rails to identify the lifting points and register the coordinates of the lifting points in a common coordinate system.

[0009] In some embodiments, a lift control system may calculate a required displacement of the swing arm and the lifting blocks based on the locations identified by the computer vision system. The lift control system may also control the actuation of hydraulic cylinders in order to lift the lifting platform and the lifting blocks up into contact with the lifting points. The lift control system may also control the hydraulic cylinder to lift the lifting from to a predetermined height, so as to position the locking links and their attached locking feet in a locking position with the locking racks attached to the base plate. The lift control system may also be responsible for controlling the releasing operation of the lift. In some embodiments, to lower the vehicle lift, the lift control system may engage the hydraulic cylinder to lift the locking links and the locking link feet out of the locking racks. The lift control system may then actuate a foot extend cylinder to retract the locking feet before lowering the lift with the hydraulic cylinders.

[0010] In some embodiments, the computer vision system and swing arm assemblies may be incorporated into a mid-rise, full-rise, two-post or four-post vehicle lifting system. Additionally, the computer vision system and swing arm assemblies may be incorporated into portable vehicle lifts, bridge jacks (including four post bridge jacks), alignment lifts and parking lifts.

[0011] The computer vision based vehicle lifting system may utilize electromechanical actuators (EMA), electro-hydrostatic actuators (EHA), hydraulic servo actuators (EISA), pneumatic actuators or combination thereof.

[0012] In some embodiments, the low rise, two-post and/or four-post vehicle lifting systems may be portable and of differing sizes to accommodate a wide range of bodies to be lifted. For example, the lift may be configured to accommodate heavy industrial equipment, mining equipment, aircrafts and aircraft components, boats, cargo ships, train cars, iso modular shipping containers and/or agricultural equipment. In some embodiments, the computer vision based lifting system may be incorporated into a manufacturing assembly line. In such an embodiment, the computer vision based lifting system may automatically and autonomously detect a vehicle, vehicle component or other component being manufactured (including stages where raw materials are being processed into components), and determine lifting positions (including unique lifting positions for one-off or custom parts, assemblies, vehicles or other manufactured goods) for the detected objects.

[0013] In some embodiments, the computer vision based lifting system may be incorporated into industrial manufacturing workflows and assembly lines. Previously manufactured lifting systems may further be retrofitted with components of the computer vision based lifting system, such as the computer vision module, sensor unit module, control unit module, lift control engine, interface/display modules, swing arm assemblies, locking link assemblies and/or other components or modules, both hardware and software. [0014] Further areas of applicability of the present disclosure will become apparent from the detailed description, the claims and the drawings. The detailed description and specific examples are intended for illustration only and are not intended to limit the scope of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The present disclosure will become better understood from the detailed description and the drawings, wherein:

[0016] FIG. 1 A shows an example of a low rise vehicle lifting system in a lowered position in accordance with aspects of the present disclosure.

[0017] FIG. IB shows an example of a low rise vehicle lifting system in a lowered position with swing arms actuated in accordance with aspects of the present disclosure.

[0018] FIG. 1C shows an example of a low rise vehicle lifting system in a raised position in accordance with aspects of the present disclosure.

[0019] FIG. ID shows an example of a low rise vehicle lifting system in accordance with aspects of the present disclosure.

[0020] FIG. IE shows an example of a low rise vehicle lifting system in a raised position in accordance with aspects of the present disclosure.

[0021] FIG. IF shows an example of a low rise vehicle lifting system in a raised position in accordance with aspects of the present disclosure.

[0022] FIG. 1G shows an example of a base plate of a low rise vehicle lifting system in accordance with aspects of the present disclosure.

[0023] FIG. 2A shows an example of an actuated swing arm in accordance with aspects of the present disclosure. [0024] FIG. 2B shows an example of a swing arm in accordance with aspects of the present disclosure.

[0025] FIG. 3 A shows an example of a locking link assembly of the low rise vehicle lifting system in a locking position in accordance with aspects of the present disclosure.

[0026] FIG. 3B shows an example of a locking link assembly of the low rise vehicle lifting system in a released position in accordance with aspects of the present disclosure.

[0027] FIG. 3C shows an example of a locking link assembly in a locking position in accordance with aspects of the present disclosure.

[0028] FIG. 3D shows an example of a locking link assembly in a released position in accordance with aspects of the present disclosure.

[0029] FIG. 4A shows an example of a two-post vehicle lifting system in a lowered position in accordance with aspects of the present disclosure.

[0030] FIG. 4B shows an example of a top view of a two-post vehicle lifting system in a lowered position in accordance with aspects of the present disclosure.

[0031] FIG. 4C shows an example of a two-post vehicle lifting system in a raised position in accordance with aspects of the present disclosure.

[0032] FIG. 4D shows an example of a two-post vehicle lifting system in a lowered position in accordance with aspects of the present disclosure.

[0033] FIG. 4E shows an example of a two-post vehicle lifting system in a raised position in accordance with aspects of the present disclosure.

[0034] FIG. 4F an example of diagrams of lifting points for different vehicles.

[0035] FIG. 5 A illustrates an example of a low rise vehicle lifting system environment in accordance with aspects of the present disclosure. [0036] FIG. 5B illustrates an example of a lift control engine operating on a lift control system in accordance with aspects of the present disclosure.

[0037] FIG. 6 shows an example of an overview of a process for the operation of a low rise vehicle lifting system in accordance with aspects of the present disclosure.

[0038] FIG. 7 shows an example of an overview of a process for the operation of a low rise vehicle lifting system in accordance with aspects of the present disclosure.

[0039] FIG. 8 is a diagram illustrating an exemplary computer that may perform processing in some embodiments and in accordance with aspects of the present disclosure.

DETAILED DESCRIPTION

[0040] In this specification, reference is made in detail to specific embodiments of the invention. Some of the embodiments or their aspects are illustrated in the drawings.

[0041] For clarity in explanation, the invention has been described with reference to specific embodiments, however it should be understood that the invention is not limited to the described embodiments. On the contrary, the invention covers alternatives, modifications, and equivalents as may be included within its scope as defined by any patent claims. The following embodiments of the invention are set forth without any loss of generality to, and without imposing limitations on, the claimed invention. In the following description, specific details are set forth in order to provide a thorough understanding of the present invention. The present invention may be practiced without some or all of these specific details. In addition, well known features may not have been described in detail to avoid unnecessarily obscuring the invention.

[0042] In addition, it should be understood that steps of the exemplary methods set forth in this exemplary patent can be performed in different orders than the order presented in this specification. Furthermore, some steps of the exemplary methods may be performed in parallel rather than being performed sequentially. Also, the steps of the exemplary methods may be performed in a network environment in which some steps are performed by different computers in the networked environment.

[0043] Some embodiments are implemented by a computer system. A computer system may include a processor, a memory, and a non-transitory computer-readable medium. The memory and non-transitory medium may store instructions for performing methods and steps described herein.

[0044] The following generally relates to a computer vision based low rise vehicle lifting system and methods of operating the computer vision based low rise vehicle lift. The vehicle lifting system may be mounted to the ground and have a height profile which allows for vehicles to drive over the vehicle lift without contacting said lift. The vehicle lift may include sensors to detect features of the underside, front, rear and/or sides of the vehicle. The sensor may be cameras, depth sensors, pressure sensors, accelerometers, thermal sensors, ultrasonic sensors or combinations thereof.

[0045] FIGS. 1 A-1F show examples of a low rise vehicle lift in accordance with aspects of the present disclosure. FIG. 1G shows an example of a base plate of a low rise vehicle lifting system in accordance with aspects of the present disclosure. The vehicle lifting system 100 may comprise a base plate 101, a lift frame 110, swing arms 120 and a lifting assembly comprising locking links 130, rolling links 140 and hydraulic cylinders 150. The vehicle lifting system 100 may further comprise a lift control system 510 which will be discussed further with regard to

FIGS. 5 A and 5B. [0046] Base plate 101 may comprise anchor holes 102, rolling link base plate joint 103, locking racks 104 and hydraulic cylinder base plate joint 105. The components of the baseplate are shown in FIG. 1G and will be discussed further below.

[0047] Lift frame 110 may comprise corner gussets 111, platform plates 112, locking link frame joint 113, hinge housing 114 and rolling link frame joint 115. Hinge housing 114 may use harmonic drives, servo motors, or other actuation devices to actuate swing arms 120 that are connected to the hinge housing. Comer gussets 111 may be any form of structural support which helps maintain rigidity and structural integrity of the lift frame 110.

[0048] Swing arms 120 may be connected to the hinge housing 114, and may comprise swing arm gusset plates 121, lifting blocks 122, lead screws 123 and lead screw drive units (not shown).

[0049] The lifting assembly comprises locking links 130, rolling links 140, link-link joints 145, hydraulic cylinders 150 and hydraulic piston joints 151. Components of the locking links 130 will be discussed below with regard to FIGS. 3A-3D.

[0050] Rolling links 140 may be attached to the base plate 101 via rolling link base plate joint 103 and to the lift frame 110 via rolling link frame joint 115. Rolling link frame joint 115 may be attached directly to the lift frame 110, a platform plate 112 attached to the lift frame 110 or other components which may be coupled directly or indirectly to the lift frame 110. Rolling links 140 may also be attached to the locking links 130 by way of link-link joint 145. Rolling links 140 may further be connected to one or more hydraulic cylinders 150 by way of hydraulic piston joints 151. The joints connecting rolling links 140 to the base plate 101, lift frame 110, locking links 130 and hydraulic cylinders 150 may be configured as to allow the rotation along a single axis. The vehicle lifting system 100 may be configured to use the hydraulic cylinders 150 to create the force required to lift the vehicle. Alternatively, the vehicle lifting system 100 may use other forms of force such as pneumatic, electric, mechanical, or combination thereof. For example, the combination of hydraulic and pneumatic/electric may be used for different aspects of the lifting operation. The hydraulic cylinders 150 may provide the force required for most of the lifting operation and an electric actuator/drive mechanism may be configured to adjust the forces required to engage the locking mechanism. The hydraulic cylinders 150 may be configured to use a linear encode, or similar module/unit/device combined with an internal sensor to determine the hydraulic cylinder position and position of the hydraulic piston in order to determine and track lift position of the lift frame 110.

[0051] FIG. 1 A shows the vehicle lifting system 100 in an initial configuration. The lift frame 110 is shown in a lowered position with swing arms 120 retracted. This configuration may allow for a vehicle to be moved into a position directly above the vehicle lifting system 100.

[0052] In FIG. IB, with a vehicle positioned above the vehicle lifting system 100, a computer vision system may be used to scan the vehicle. Lifting points and/or frame rails may be detected by the computer vision system by way of object detection, recognition, segmentation or combination thereof. The detection of the lifting points and/or frame rails may also include the accessing of vehicle data from internal or external data sources. This data may include the location of the lifting points and/or frame rails in relation to the body of the vehicle. The vision system may use the retrieved vehicle data to verify that the vision detected lifting points and/or frame rails were accurately determined. The retrieved vehicle data may also be used to guide the computer vision search for the lifting points and/or frame rails. For example, when the computer vision system scans the underside of the vehicle, an orientation of the vehicle may be determined. Based on the determined vehicle orientation, the computer vision system may correlate the coordinate system of the image/vehicle lifting system 100 with that of the reference vehicle data to determine the area of the images to examine first. This may allow for a quicker determination and faster operation of the vehicle lifting system 100.

[0053] After the detection of the lifting points and/or frame rails, a lift control system 510 (FIG. 5Aand 5B) may calculate a displacement required to bring lifting blocks 122 into contact with the detected lifting points of the vehicle. The location of each lifting point may be represented as X, Y, Z coordinates in the vehicle lifting system 100 coordinate system. The vehicle lifting system 100 coordinate system may be a global coordinate system. The coordinates of the data from the retrieved vehicle data and the captured images of the vehicle may be mapped to a common coordinate system, and this common coordinate system may be the global coordinate system. A polar coordinate system may also be implemented in the determination of positioning of the lifting points and the required displacement and movements of the swing arms 120 and lifting blocks 122.

[0054] After the calculation of the displacement, the system may further calculate the required actuation of each swing arm 120 and the amount of rotation of each lead screws 123 required to align each lifting block 122 with each respective lifting point. After the lifting blocks 122 are positioned beneath the lifting points, the hydraulic cylinders 150 are actuated to lift the lift frame 110, swing arms 120 and lifting blocks 122 into contact with the lifting points of the vehicle.

[0055] FIG. 1C shows the vehicle lifting system 100 in a lifted state. After the lifting blocks 122 make contact with the lifting points as discussed above with regard to FIG. IB, the lift control system 510 may continue to actuate the hydraulic cylinders 150, causing the lift frame 110 and therefore the vehicle, to rise to a predetermined height. The predetermined height may be chosen from one of many heights. Each height may correspond to positions on locking racks 104 attached to the base plate. In the figures, two locking positions are shown, however, the locking racks 104 may be configured with additional locking positions or with a single position.

[0056] Upon reaching the predetermined height, the hydraulic cylinders 150 may be relieved of pressure, causing the locking link 130 and the attached locking foot 301 to engage the locking racks 104. This may remove all the force from the hydraulic cylinders 150 and transfer the downward force of the vehicle into the locking links 130. Once the vehicle lifting system 100 is elevated and in a locked state, technicians may be able to perform maintenance or other operations on the vehicle.

[0057] In some embodiments, between the contacting of the lifting points with the lifting blocks and the lifting of the vehicle to the locking position, the lift control system 510 may monitor pressure sensors or load cells housed or coupled to the lifting blocks 122. As the lift is elevated, the weight of the car is transferred from the vehicle’s tires to the lifting blocks 122. The force/load applied to each lifting block 122 may be used to calculate a center of gravity of the vehicle. The individual sensor may be able to detect unusual weight distributions of the vehicle. Such unusual weight distributions may cause the center of gravity to be outside of an acceptable parameter that is considered safe. The sensors may thus determine an unsafe lifting position before the vehicle has reached the locking position. The lift control system 510 may also be configured to detect possible unsafe lifting positions before the entire weight of the vehicle is transferred to the lifting blocks, reducing the risk of serious damage or injury.

[0058] Based on the determination of an unsafe lifting position the vehicle may be lowered completely and new lifting positions are calculated by the lift control system 510. The center of gravity determined based on the sensors in the lifting blocks 122 may then be used to identify alternative lifting positions. One or more of the swing arms 120 and lifting blocks 122 may be moved to alternate lifting points prior to attempting another lift. The new lifting points may be optimal points based on the center of gravity calculations, or points that fall within safety parameters but are not optimal. For example, when an optimal position is not attainable by the vehicle lifting system 100 ( i.e . obstructions are present) or an optimal position would require the repositioning of the vehicle itself {i.e. the technician must reverse the vehicle, then drive it back over the lift in a different orientation/position) a less than optimal position may be used if it is determined that the less than optimal position falls within the safety parameters.

[0059] FIG. ID is an overhead view of the vehicle lifting system 100, when in an elevated and engaged state. FIG. IE is a front view of the vehicle lifting system 100 in an elevated state with a vehicle on the lift. FIG. IF is an overhead view of the vehicle lifting system 100, when in an elevated state with a vehicle on the lift.

[0060] FIG. 1G shows the base plate 101 of vehicle lifting system 100. Base plate 101 may comprise anchor holes 102, rolling link base plate joint 103, locking racks 104 and hydraulic cylinder base plate joint 105. The anchor holes 102 may be position at each end and/or anywhere within the area of the base plate 101. The anchor holes 102 may allow for screws, bolts, anchors or other fastening means to be attached to a floor/ground of a work area. For example, the base plate 101 may be attached to the concrete floor of a garage with concrete anchors. Rolling link base plate joint 103 may be pin joint welded to the base plate 101 and connected to rolling link 140. Locking racks 104 may be welded to the base plate. The width of the locking racks may be based on the width of the locking foot 301. The shape of the teeth/recesses in the locking rack may be based on the shape of the locking foot 301. The shape and width may allow for the locking foot to come into contact with the rack, transfer the force of the vehicle through the locking links 130 to the locking racks 104 and securely hold the locking foot 301 in position when engaged. Hydraulic cylinder base plate joint 105 may be a pin joint welded to the base plate 101 and connected to the hydraulic cylinders 150.

[0061] FIGS. 2A and 2B shows a swing arm assembly 200, base plate 101, lift frame 110, hinge housing 114, swing arm 120, swing arm gusset plate 121, lifting block 122 and lead screw 123. Swing arm 120 is attached to the hinge housing 114 and actuated by a harmonic drive unit (not shown). The hinge housings 114 may be attached to the lift frame 110 at each corner of the lift frame 110 or at other positions along the frame. The harmonic drive unit is configured to move the swing arm 120 to a position calculated by the lift control system 510 and the computer vision system. The swing arm 120 may be initialized at a retracted position to make calculating the actuation parameters of the harmonic drive easier. Calculation of the amount of actuation from a known initial point may help in reducing error in the positioning of the swing arm 120 and the lifting block 122. The lead screws 123 may be rotated at any time during the positioning operation. For example, the lifting block 122 may be displaced by an exact amount through the rotation of the lead screw 123 either before, during or after the actuation of the swing arm 120. The computer vision system may be configured to verify the positioning of the swing arms 120 and lifting blocks 122 after the positioning operation is completed. If a lifting block is observed to be in a position that is not aligned with the determined lifting point, the swing arm 120 and/or the lifting block 122 may be adjusted until the lifting block is correctly aligned. The adjusting may be guided in real-time based on feedback from the computer vision system or calculated before any adjustment is made and the process iterated until the positioning is within an acceptable margin of error. [0062] Within the swing arm 120 a servo motor, stepper motor, or other means of rotational movement may be directly or indirectly attached to the lead screw 123. The rotation of the lead screw 123 may drive a nut mounted to the lifting block. Alternatively, the lead screw may drive the lifting block through threads integrated into the block itself. The lifting block 122 may be spring loaded, so as to allow for ease of sliding when no weight or load is on the lifting block 122.

[0063] Once the lifting block 122 is positioned under this lifting point and the platform is raised to bring the lifting block 122 into contact with the lifting point on the vehicle frame, all the load of the vehicle is transferred through the lifting block 122 to the swingarm. The load of the vehicle may transfer directly through the lifting block 122 to the swing arm 120 while not effecting the lead screw 123 or the lead screw drive mechanism.

[0064] Lifting block 122 may have one or more pressure or load sensors configured to determine the load/weight being transferred through the lifting block 122. These measurements may be used in center of gravity calculation and to determine the possible safety hazards. For example, if the center of gravity of the vehicle is not within a predefined distance relative to the center of the vehicle lifting system 100 when substantially all of the weight of the vehicle is on the lifting blocks 122, the vehicle lifting system 100 may alert the technician and pause operation or to return the vehicle to the ground and then reevaluate the lift. The pressure or load sensors may also detect other dangerous situations, such as slipping of the vehicle or bad lift points.

[0065] Swing arm gusset plate 121 may be welded or otherwise attached to the swing arm 120 in a manner that provides support to the swing arm 120 when under load. The swing arm gusset plate 121 may extend from the swing arm 120 to the swing arm joint 201 which attaches the swing arm to the hinge housing 114. [0066] FIG. 3A-3D show an example of a locking link assembly 300 in accordance with aspects of the present disclosure. Locking link assembly 300 may comprise, locking link 130, link-link joint 145, locking foot 301, locking foot joint 302, release link 303, release clevis 304, foot extend piston 305, cylinder mount 306 and foot extend cylinder 307.

[0067] FIGS. 3 A and 3C show the locking link assembly 300 in a locking state. Locking foot 301 may be rotated about locking foot joint 302 so as to axially align with the locking link 130. This orientation allows for the force of the vehicle to be transferred from the hydraulic cylinders 150 to the locking racks 104 and base plate 101.

[0068] FIGS. 3B and 3C show the locking link assembly 300 in a release state. To initiate the release of the locking link assembly 300, the hydraulic cylinders 150 may be actuated to remove the load from the locking link assembly 300 and the locking foot 301. Upon lifting the lift frame 110 to a predetermined height above the locking height, the lift control system 510 may actuate the foot extend cylinder 307, causing the foot extend piston 305 to retract. The predetermined height above the locking height may be a height calculated or otherwise known to allow for the locking foot 301 to successfully clear the locking racks 104. The foot extend cylinder 307 may be mounted to the locking link 130 through a cylinder mount 306. The foot extend piston 305 may be connected to or otherwise attached to a release clevis 304. Release clevis 304 may be attached to release link 303 via a pin joint or other linking connection. The release link 303 may also connected to the locking foot 301 by a pin joint or other linking connection. When actuated the foot extend cylinder 307 may retract the foot extend piston 305 and therefore retracting the connected release clevis 304 and the release link 303. This retraction may cause the locking foot 301 to rotate about the locking foot joint 302 and lift itself out of alignment with the locking link 130. The locking foot 301 may be rotated to a position such that the locking foot will not come into contact with the locking rack 104 when transitioned into a lowered position.

[0069] FIGS. 4A-4E show examples of a two-post vehicle lifting system 400 in accordance with aspects of the present disclosure. The two-post vehicle lifting system 400 may comprise swing arm assemblies, connecting plate 401, anchor plates 402, posts 403, lift drive units 404, gearboxes 405, gears 406, lifting screws 407, lift hinge units 408, a lift control system 510 (not shown), sensor unit module 545 (not shown), control unit module 550 (not shown) and computer vision module 560 (not shown).

[0070] The swing arm assemblies may comprise swing arms 120, swing arm gusset plates 121, lifting blocks 122 and lead screws 123. The swing arm assemblies may be the same or similar to those described in FIGS. 1 A-1F.

[0071] FIG. 4 A shows an example of a two-post vehicle lifting system 400 in a lowered position in accordance with aspects of the present disclosure. The two-post vehicle lifting system 400 may be in a lowered position with swing arms 120 in an initial retracted position which does not obstruct a vehicles access to the working area. Connecting plate 401 may be positioned between and attached to posts 403. Posts 403 and attached connecting plate 401 may be anchored to the ground or other working surface through anchor plates 402. Anchor plates 402 may be welded, bolted, riveted, clamped or otherwise attached at the bottom end of the posts 403. The anchor plates 402 may comprise holes or other mounting points configured to anchor the anchor plates 402 into the ground or work surface. Concrete anchors, bolts, screws, welds, flanges, gussets or other forms of fasteners may be used to anchor the anchor plates 402 and their attached posts 403 to the ground or working surface. [0072] Posts 403 may be of any height. Lift drive units 404 may be mounted at or near the top of the posts 403. Alternatively, the lift drive units 404 may be mounted anywhere along the length of the post 403, within the post 403, or externally from the post 403. In the example shown, the lift drive units 404 are EMA units. Alternatively, hydraulic actuators, pneumatic actuators, HSA, EHA or combination thereof may be used.

[0073] Lift drive units 404 may be coupled to gearboxes 405. Gearboxes 405 may comprise gears 406. Rotational actuation of the lift drive units 404 may be transferred through the gearbox 405 to a lifting screw 407.

[0074] Lifting hinge units 408 may be displaced vertically through the rotation of the lifting screw 407. A nut may be welded or otherwise attached to the lifting hinge units and used as an interface between the lifting hinge units 408 and the lifting screw 407. Alternatively, a threaded member of the lifting hinge unit 408 may interface with the lifting screw 407 to provide linear movement in a vertical direction.

[0075] Swing arms 120 may be attached to the lifting hinge units 408 through a pin joint or any other joint that allows for rotational actuation. The actuation of the swing arms 120 may be controlled by a lift control system 510 and performed by harmonic drive units. Actuation and control of the swing arms 120, lifting blocks 122 and lead screws 123 may be the same or similar to that of the same units as described with regard to FIGS. 1 A-1F.

[0076] The two-post vehicle lifting system 400 may also comprise an indication unit to aid in the positioning of the vehicle within the working area of the lift. The indication unit may comprise a display to alert the technician when to stop. The indication unit may also provide a visual representation to the technician as to the orientation and position of the vehicle in the working area. Audible alarms, alerts and guidance may also be used to notify or inform the technician of the current conditions. An adjustable bump stops may also be incorporated into the lifting system to provide a physical barrier/indicator of when the vehicle has reached an appropriate position. The adjustable bump stop may be positioned manually or automatically.

The automatic positioning of the bump stop may be based on one or more computer vision techniques. The lift control system 510 and computer vision module 560 may analyze images captured of the vehicle (i.e. front, side, underside, top, back and isometric views.) to determine a desired positioning of the bump stop. The positioning of the bump stop may take into consideration the make and model of the vehicle, the dimensions of the vehicle (length, width, clearance and height), weight characteristics, location of lifting points and/or frame rails, modifications made to the vehicle and damage to the vehicle. These considerations may also be used in the determining of the swing arm 120 and lifting block 122 actuation. The determining of the lifting points and/or alternative lifting points may also take into consideration the make and model of the vehicle, the dimensions of the vehicle (length, width, clearance and height), weight characteristics, location of lifting points of frame rails, modifications made to the vehicle and damage to the vehicle.

[0077] The two-post vehicle lifting system 400 may also incorporate the center of gravity determination as described with respect to FIGS. 1 A-1E. The indication unit may also be used to visually represent the center of gravity and load at each of the lifting blocks 122. Instructions as to which actions need to be taken with regard to the vehicle may be displayed to the technician. This may be in the form of ordered steps required to perform a task and may also include visual representations of each step or of important steps. The visual representations may include video of the process being performed by a technician at a previous time or an animated video of the process steps. [0078] FIG. 4B shows a top view of a two-post vehicle lifting system 400 in a lowered position. After positioning a vehicle over the connecting plate 401, the lift control system 510 may then determine the appropriate lifting points of the vehicle and the swing arms 120 may be actuated so as to bring them underneath the determined lifting points. The lifting blocks 122 may be actuated during the actuation of the swing arms 120 so as to arrive at the desired position under the lifting points at or near the same time. The lift control system may control the lift drive units 404, causing a rotation of the lifting screws 407. The rotation of the lifting screws 407 may cause a displacement of the lifting hinge units 408. FIG. 4C shows the two-post vehicle lifting system 400 in a raised position.

[0079] FIG. 4D shows an example of a two-post vehicle lifting system in a lowered position with a vehicle in a position to begin the lifting operation. FIG. 4E shows the vehicle engaged and in a raised position.

[0080] FIG. 4F an example of diagrams of lifting points for different vehicles. One diagram represents lifting points 490 for a 2008-2015 Audi R8 vehicle. Another diagram represents lifting points 490 for a 2000-2003 Volkswagen Eurovan. As described here, the vehicle lifting system maneuvers the respective lifting blocks to the lifting points 490 of a vehicle. Once maneuvered into place the vehicle lifting system may lift the vehicle.

[0081] FIG. 5A shows an example of a low rise vehicle lifting system environment 500 in accordance with aspects of the present disclosure. The vehicle lifting system environment 500 may comprise one or more client devices 505, one or more lift control system 510, one or more application servers 515, one or more internal data sources 520 and one or more external data sources 525. Lift control system 510 may be examples of, or include aspects of, the corresponding element or elements described with reference to FIG. 5B. [0082] Client devices 505 may be personal computers, personal digital assistants (PDAs), tablet computing devices, laptop computers, smart phones, e-readers or other systems capable of operating a standalone application or web-based application in a browser.

[0083] Lift control system 510 may be a module, unit, computing device, standalone, mobile application, web application or any system capable of executing the operation of lift control system 510 and the lift control engine 540. In an embodiment, the lift control system 510 is a component or system on application server 515. In other embodiments, lift control system 510 may be a component or system on client devices 505, or may be a component or system on peripherals or third-party devices. Lift control system 510 may comprise hardware or software or both.

[0084] Application server 515 may be connected through a network 530 to client devices 505, lift control system 510, internal data sources 520 and external data sources 525.

[0085] Internal data sources 520 and external data sources 525 may be local, networked or cloud based storage solutions. The internal data sources 520 and external data sources 525 may comprise one or more databases storing vehicle data on the make, model, year and trim of some or all vehicle. The vehicle data may include type of vehicle, weight, dimensions and positions of lifting points and/or frame rails.

[0086] FIG. 5B shows an example of a lift control engine 540 operating on a lift control system 510 in accordance with aspects of the present disclosure. The lift control engine 540 may comprise processing unit 541, memory 542, network module 543, display module 544, sensor unit module 545, camera module 546, pressure sensor module 547, depth sensor module 548, control unit module 550, swing arm control module 551, hydraulic control module 552, lifting block module 553 and computer vision module 560 [0087] A processing unit 541 may include an intelligent hardware device, (e.g., a general- purpose processing component, a digital signal processor (DSP), a central processing unit (CPU), a graphics processing unit (GPU), a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof). In some cases, the processing unit 541 may be configured to operate a memory array using a memory controller. In other cases, a memory controller may be integrated into processing unit 541.

[0088] Memory 542 may include random access memory (RAM), read-only memory (ROM), or a hard disk. The memory 542 may be solid state or a hard disk drive, and may store computer-readable, computer-executable software including instructions that, when executed, cause a processor to perform various functions described herein. In some cases, the memory 542 may contain, among other things, a BIOS which may control basic hardware or software operation such as the interaction with peripheral components or devices. In some cases, a memory controller may operate memory cells as described herein.

[0089] Network module 543 may transmit and receive data and receive data from other computing systems via a network. In some embodiments, the network module 543 may enable transmitting and receiving data from the Internet. Data received by the network module 543 may be used by the other modules. The modules may transmit data through the network module 543.

[0090] Display module 544 may be a touch-screen display, a head-up display, a head- mounted display, an optical see-through display, an optical see-around display, a video see- through display, a flat-panel display, a light-emitting diode (LED) display, an electroluminescent display (ELD), an electrophoretic display (EPD or electronic paper), a liquid crystal display (LCD), an organic LED (OLED) display, an active-matrix organic light-emitting diode display or any other type of display on a display device.

[0091] Display module 544 may also be used to visually represent the center of gravity of the vehicle being lifted, and loads exerted on each lifting block 122. The visual representations may include color based indications of load at each lifting block 122. For example, when loads are above of a threshold level or percent, a representation of the vehicle at the lifting point exceeding the threshold may be colored red. An indication or warning may also be displayed to the technician to draw their attention to possible danger.

[0092] Display module 544 may also display modes of operation in real-time. For example, when a wheel is removed the center of gravity will change. The display may be configured to show predicted changes to the center of gravity based on a selection of the wheels to be removed from the vehicle. If the removal of a wheel is predicted to make the lift unstable or unsafe, the technician may be prompted to adjust the vehicle positioning. The order in which wheels are removed may be altered to keep the predicted center of gravity within a safe range.

[0093] Sensor unit module 545 may comprise camera module 546, pressure sensor module 547 and depth sensor module 548. Camera module 546 may include one or more cameras or combination of cameras configured to record images. The cameras may be any type of image sensor which provides an image of a vehicle as viewed from the viewpoint of the device, or user, or both. The cameras may be any device configured to detect visible light (e.g., CCD or CMOS based cameras) or light of other spectrums (e.g., multi-spectral or hyper-spectral cameras), such as infrared, ultraviolet, x-rays or any other wavelength the device is capable of detecting. Other types of cameras are possible as well, such as a time-of-flight camera, stereoscopic cameras or other camera combinations capable of determining depth of a captured image/video. The camera module 205 may include hardware, or software, or both, to enable the use of structured light depth determination or time-of-flight depth determination. Camera module 546 may also be other types of range detectors, such as infrared sensors, LIDAR sensors or ultrasonic transceivers. Camera module 546 may also be a combination of two or more of the devices described above.

[0094] Pressure sensor module 547 may be any sensor that is capable of converting a force such as tension, compression, pressure, or torque into an electrical signal that can be measured and standardized. Pressure sensor module 547 may be a strain gauge load cell, pneumatic load cell, hydraulic load cell piezoelectric load cell or any other type of load cell.

[0095] Depth Sensor Module 548 may comprise ultrasonic sensors, infrared sensors, laser sensors, stereo cameras, time-of-flight cameras, structured light configurations, LIDAR, RADAR, structure from motion ( i.e . from images captured as the vehicle is positioned over the lift, or from images captured by sensors attached to the swing arms 120 or the lift frame 110), other depth determination techniques or sensors or combination thereof. There may be a combination of depth sensors configured to determine a distance between the base plate 101 and the lift frame 110, from the lift frame 110 to the bottom of the vehicle, from the base plate 101 to the bottom of the vehicle or combination thereof. The depth sensor module 548 may be separate or the same as camera module 546.

[0096] Control Unit Module 550 may comprise swing arm control module 551, hydraulic control module 552 and lifting block module 553. The swing arm control module 551 may be configured to calculate and control the actuation of the swing arm 120 based on the position of the identified lifting points. The swing arm control module 551 may instruct a harmonic drive unit to actuate the swing arm until it reaches a position in which the lifting block 122 may be moved into alignment with the corresponding lifting point of the vehicle.

[0097] Hydraulic control module 552 may determine an amount of actuation required to engage the vehicle, lift the vehicle to a predetermined height, engage the locking link assembly 300, release the locking link assembly 300 and lower the vehicle. The hydraulic control module 552 may control the actuation of the hydraulic cylinders 150 in order to perform the operation of lifting, locking and lowering the vehicle lifting system 100. The controlling of the actuation may be based on the determined amount of actuation.

[0098] Lifting block module 553 may determine the amount of rotation required to position the lifting blocks 122 into position beneath the corresponding lifting points. The lifting block module may also be configured to determine the center of gravity of the vehicle based on the load detected at each lifting block.

[0099] Control unit module 550 or lifting block module 553 may also be configured to predict the change in center of gravity during servicing of the vehicle. For example, the predicted center of gravity may be determined for when a wheel is removed from the vehicle. The removal of one or more wheels on one or both sides of the vehicle may be taken into consideration when predicting changes to the center of gravity during the servicing of the vehicle.

[0100] Computer vision module 560 may perform identification, recognition, segmentation and registration on captured images from the camera module 546 and/or depth sensor module 548. Machine learning models may be used in the identification of vehicle make and model, identification and location of lifting points and/or frame rails, and detection of obstructions. The computer vision module 560 may comprise decision trees such as classification trees, regression trees, boosted trees, bootstrap aggregated decision trees, random forests, rotation forests or a combination thereof. Additionally or alternatively, the computer vision module 560 may comprise neural networks such as, artificial neural networks (ANN), autoencoders, probabilistic neural networks (PNN), time delay neural networks (TDNN), convolutional neural networks (CNN), deep stacking networks (DSN), radial basis function networks (RBFN), general regression neural networks (GRNN), deep belief networks (DBN), deep neural networks (DNN), deep reinforcement learning (DRL), recurrent neural networks (RNN), fully recurrent neural networks (FRNN), Hopfield networks, Boltzmann machines, deep Boltzmann machines, self-organizing maps (SOM), learning vector quantizations (LVQ), simple recurrent networks (SRN), reservoir computing, echo state networks (ESN), long short-term memory networks (LSTM), bi-directional RNNs, hierarchical RNNs, stochastic neural networks, genetic scale models, committee of machines (CoM), associative neural networks (ASNN), instantaneously trained neural networks (ITNN), spiking neural networks (SNN), regulatory feedback networks, neocognitron networks, compound hierarchical-deep models, deep predictive coding networks (DPCN), multilayer kernel machines (MKM), cascade correlation networks (CCN), neuro-fuzzy networks, compositional pattern-producing networks, one-shot associative memory models, hierarchical temporal memory (HTM) models, holographic associative memory (HAM), neural Turing machines, or combination thereof.

[0101] ANN may be a hardware or a software component that includes a number of connected nodes (a.k.a., artificial neurons), which may be seen as loosely corresponding to the neurons in a human brain. Each connection, or edge, may transmit a signal from one node to another (like the physical synapses in a brain). When a node receives a signal, it can process the signal and then transmit the processed signal to other connected nodes. In some cases, the signals between nodes comprise real numbers, and the output of each node may be computed by a function of the sum of its inputs. Each node and edge may be associated with one or more node weights that determine how the signal is processed and transmitted.

[0102] During the training process, the computer vision module 560 may adjust these weights to improve the accuracy of the result (i.e., by minimizing a loss function which corresponds in some way to the difference between the current result and the target result). The weight of an edge may increase or decrease the strength of the signal transmitted between nodes. In some cases, nodes may have a threshold below which a signal is not transmitted at all. The nodes may also be aggregated into layers. Different layers may perform different transformations on their inputs. The initial layer may be known as the input layer and the last layer may be known as the output layer. In some cases, signals may traverse certain layers multiple times.

Traditional low rise, mid-rise, full-rise, two-post and four-post lifts may be retrofit with the lift control system 510 and swing arm assemblies described above. Assembly line machinery may also be retrofit with the lift control system (including sensor modules, computer vision modules and control modules) and/or swing arm assemblies to allow for the autonomous and/or automatic lifting of components being manufactured.

[0103] FIG. 6 shows an example of an overview of a process 600 for the operation of a low rise vehicle lifting system 100 in accordance with aspects of the present disclosure.

[0104] At step 601, the system is configured to guide a vehicle into a position above a lifting platform. This may be accomplished by providing the technician driving the vehicle visual guidance. A display may give the technician instructions such as move forward, straighten out the vehicle, move left, move right, stop, reverse and try again.

[0105] At step 602, the system is configured to scan an underside of the vehicle. While the vehicle is driving over the vehicle lift, the underside of the vehicle may be mapped based on images received from one or more image sensors. Depth data from depth sensor module 548 may be used in the mapping of the underside of the vehicle.

[0106] At step 603, the system is configured to determine an orientation of the vehicle based on the scanning. The computer vision module 560 may identify the outline of the vehicle and the relative orientation of the vehicle based on the outline identified. Other computer vision techniques to identify, recognize, segment, map and resolve coordinate systems may be used by the computer vision module 560.

[0107] At step 604, the system is configured to identify a position of one or more lifting points based on the scanning of the underside of the vehicle and the determined orientation of the vehicle. The position of the lifting points in the coordinate system of the lift may be determined based on the stored vehicle data and determined orientation of the vehicle positioned above the lift. If the vehicle data for a specific vehicle is missing or does not include position of the lifting points, the vision system may identify possible lifting points based on images received of the underside of the vehicle. The determining of the lifting points and/or alternative lifting points may also take into consideration the detected or retrieved dimensions of the vehicle (length, width, clearance and height), weight characteristics, modifications made to the vehicle and damage to the vehicle. Once lifting points have been accurately identified, the vehicle data for the specific vehicle may be edited to include position of lifting points and dimensions of the vehicle. If no vehicle data is available, an entry may be created, manually or automatically, for the vehicle positioned above the lift.

[0108] For vehicles that have stored vehicle data that have been retrieved from external sources, such as vehicle databases and from manufacturers, the system may check/compare the observed parameters (position) against the stored parameters. If the parameters do not match, the system may flag the vehicle as having incorrect data, and the observed parameters may then the added to the vehicle. When the parameters successfully match, the vehicle data may be edited or flagged to indicate that the vehicle data has been verified and correct.

[0109] At step 605, the system is configured to calculate an amount of actuation required to position one or more swing arms 120 beneath the one or more lifting points.

[0110] At step 606, the system is configured to calculate an amount of rotation of a lead screw 123 required to position a lifting block 122 of each swing arm beneath the one or more lifting points.

[0111] At step 607, the system is configured to actuate each swing arm 120 based on the calculated amount of actuation and rotate the lead screw 123 of each swing arm based on the calculated amount of rotation.

[0112] At step 608, the system is configured to actuate one or more hydraulic cylinders 150 to raise the lifting platform so as to bring the one or more lifting blocks 122 into contact with the one or more lifting points

[0113] At step 609, the system is configured to lift the vehicle, by way of hydraulic actuation, to a predetermined height, the predetermined height configured to allow one or more locking link feet 301 to engage with one or more locking racks 104 mounted to a vehicle lift base plate 101.

[0114] FIG. 7 shows an example of an overview of a process 700 for the operation of a computer vision system of the low rise vehicle lifting system 100 in accordance with aspects of the present disclosure.

[0115] At step 701, the system is configured to capture, via one or more cameras, one or more front images and one or more underside images of a vehicle. [0116] At step 702, the system is configured to analyze the one or more front images to determine a make and model of the vehicle.

[0117] At step 703, if the system is unable to make a determination as to the make and model of the vehicle, the technician may be prompted to manually enter the vehicle information.

[0118] At step 704, the system is configured to access, for the determined or entered make and model of the vehicle, lifting point and/or frame rail position data.

[0119] At step 705, the system is configured to determine the orientation of the vehicle based on the one or more underside images.

[0120] At step 706, the system is configured to determine, based on the lifting point and/or frame rail position data and the orientation of the vehicle, the position of the one or more lifting points and/or frame rails.

[0121] At step 707, the system is configured to analyze the one or more underside images to determine possible obstructions that may interfere with engaging each lifting point and/or frame rail. When determining the location of the lifting points and whether there are any obstructions between the lifting blocks 122 and the lifting points, the system may also determine if the vehicles body panels extend below the frame rail in such a way that the body panels may interfere with the swing arm 120 and the positioning of the swing arm 120. In situations like this, the lifting block 122 may need to be moved from the default lifting point to another suitable lifting point that would not cause the swing arm 120 to come into contact with the body panels. Alternatively, the lifting blocks 122 may be replaced with lifting blocks 122 of a different height in order to increase the clearance between the swing arm 120 and the obstruction. The lifting blocks 122 may also allow for extensions to be added or removed without the need to completely change the lifting blocks 122. The lifting blocks 122 may also be height adjustable. Within the lifting blocks 122 there may be an air bag or piston that causes the block to extend upon receiving of a control signal from the lift control system 510.

[0122] For example, if an aftermarket exhaust is installed on the vehicle, upon scanning the underside of the vehicle, the aftermarket exhaust may be identified as an obstruction. As a result of identifying the obstruction, the lift control system 510 may adjust the height of the lifting block 122 either automatically with an internal adjustment unit, or manually by instructing the technician to replace the lifting block with a lifting block having a height that will allow for obstruction free access to the lifting point. The technician optionally may choose to add an extension unit onto the top of the lifting block 122. The extension unit may lock into place on the lifting block 122 by twisting the extension unit, insertion of a pin to hold it in place, screwing the extension unit around a threaded member on the lifting block 122 or other means of locking the two units together.

[0123] At step 708A, for each lifting point, if no obstruction is determined, the system is configured to calculate a displacement, in a common coordinate system, for a corresponding swing arm 120 and lifting block 122 in order to engage the lifting point.

[0124] At step 708B, for each lifting point, if an obstruction is determined, the system is configured to identify an alternate lifting point and calculate a displacement, in a common coordinate system, for a corresponding swing arm and lifting block in order to engage the alternate lifting point

[0125] The following describes another example of the operation of the lift. A vehicle lift may be installed for example in a bay of a building to lift vehicles and perform operations on the vehicle while the vehicle is in a lifted position. For example, an apparatus for lifting a vehicle may be provided as described herein. In one embodiment, the lifting apparatus may comprise a base plate having a base portion and a first and second pair of locking racks disposed about the base portion. Each of the locking racks may have two or more locking positions disposed along a length of a respective locking rack. The locking positions may be configured to receive a locking foot of a lift locking assembly of the lift apparatus. Each locking foot is pivotable by operation of an actuator connected via a moveable rod to the locking foot.

[0126] The lift apparatus may include lift frame, a lifting mechanism configured to vertically move the lift frame upwards and downwards, and a plurality of lift locking assemblies coupled to the lift frame. Each lift locking assembly may include a locking link member and a locking foot. The lifting apparatus may include a plurality of swing arms assemblies pivotally coupled to the lift frame. Each swing arm assembly may include a lifting block that is linearly moveable along a length of the swing arm assembly. The moveable lifting block comprises a load cell sensor to measure a weight applied to the load cell sensor.

[0127] The lifting mechanism comprises a hydraulicly operated piston and cylinder, operably connected to the base plate. The lifting apparatus ma include a plurality of harmonic drives each attached to a respective swing arm assembly and configured to adjust a position of the swing arm assembly.

[0128] A platform control unit may be configured to control the positioning of the swing arms assemblies, the positioning of the lifting blocks, the positioning of the lift frame and the positioning of the locking feet.

[0129] While the lift apparatus is in a lowered position, a vehicle may be driven over the lift apparatus. The lift apparatus may be in a fully closed or retracted position with the swing arm assemblies closed against the lift frame. As the vehicle moves on to the platform, laser distance sensors positioned at locations on the sides and the front of the lift apparatus may obtain distance measurements of the vehicle. The distance sensors monitor the distance from several different points, the distance measurement is provided to the computer system. A user interface may be provided that depicts the movement of the vehicle so that an operator may observe the vehicle in relationship to the distance sensors. The vehicle may be driven by an operator to a particular location above the lift apparatus.

[0130] An operator may scan and/or input the vin number of the vehicle to the computer system. After the vehicle identifying information in input, the computer system will obtain vehicle dimensions and lifting points for the particular vehicle. For example, the dimension data may be OEM lift point recommends for the vehicle.

[0131] The computer system will instruct the lift apparatus to position the swing arm assemblies and the respective lifting blocks to positions such that the lift apparatus may be positioned to lift the vehicle. Once the lifting blocks are positioned the computer system instructs the lift to actuate and move the lift frame upward. The computer system may instruct the lift to move each of the swing arm assemblies to a particular location along its operation range. In other words, the each of the swing arm assemblies may be independently controlled and moved to a position. The lifting blocks may be moved along the length of the swing arm assembly before, while or after the swing arm assemblies are maneuvered into place. In one mode of operation, the lift frame may be recessed into the lift apparatus, or slightly below a ground surface level. In this situation, the computer system would first slightly lift the lift frame such that the swing arm assemblies are clear from external obstructions, and then begin moving the swing arm assemblies into place.

[0132] Once lifted to a desired position, the computer system may instruct the lift apparatus to actuate the lock foot to position the end of the locking foot into a respective locking position. The computer system may instruct the lift apparatus to slightly lower such that the lock foot is firmly engaged into the respective locking position.

[0133] In one mode of operation, the lifting blocks may each have a load cell sensor that can measure an amount of weight being applied to the load cell sensor. As the lift apparatus moves the lift frame and the swing arm assemblies upward toward the vehicle. The lifting blocks with the load cell sensors interface (e.g., connect with) to the desired lifting points of the vehicle. As the lift frame is moved upwardly, the computer system may measure the amount of weight for reach of the load cell sensors. The computer system may determine based on the weight data from each of the sensors whether or not, the vehicle’s center of gravity is within a safe operation zone. For example, the computer system may determine that the center of gravity of the vehicle is shifted two far forward. As the vehicle is moved upwardly and the computer system detects an out of operation range of center of gravity, the computer system may automatically provide audible and/or visual alerts to the operator about the situation. Moreover, the computer system may automatically cause the lift frame to lower such that the tires of vehicle are placed back on the ground, such that the weight of the vehicle is supported by the vehicle’s tires. The computer system may store predetermined values for acceptable ranges, values or positions of a center of gravity for a vehicle.

[0134] The computer system may determine a percentage of weight of the overall vehicle weight for each of the four lifting blocks. For example, the front left weight sensor may measure 1125 lbs, the front right weight sensor may measure 1150 lbs, the rear left weight sensor may measure 1110 lbs, and the rear right weight sensor may measure 1190 lbs. The total weight of the vehicle can then be computed by the computer system to be 4,575 gross vehicle weight. The percentage weight held be the respective lifting blocks may be determined calculating the respective lifting block sensed weights as to the gross vehicle weight. For example, front left 1125/4575=24.59%, front right 1150/4575 = 25.14%, rear left 1110/4575 = 24.26% and rear right 1190/4575=26.01%. The computer system may determine whether a particular lifting block is below or above a predetermined acceptable range. For example, an acceptable range may where each lifting block lift from about 23%-27% of the gross vehicle weight. The computer system may provide an interface depicting a representation of the vehicle, and a load percentage for each of the lifting block of the lift apparatus.

[0135] Also, during maintenance operations to the vehicle, such as removing a tire or performing repairs to the vehicle, the computer system may continuously monitor the center of gravity of the vehicle to determine if the vehicle’s center of gravity is out of a safe or predetermined operation zone. In some modes of operation, the computer system may be able to move a respective lifting block and/or the swing while the vehicle is lifted, thereby changing the vehicle’s center of gravity. FIG. 8 illustrates an example machine of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative implementations, the machine may be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, and/or the Internet. The machine may operate in the capacity of a server or a client machine in client- server network environment, as a peer machine in a peer-to-peer (or distributed) network environment, or as a server or a client machine in a cloud computing infrastructure or environment.

[0136] The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server, a network router, a switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

[0137] The example computer system 800 includes a processing device 802, a main memory 804 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc ), a static memory 806 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 818, which communicate with each other via a bus 830.

[0138] Processing device 802 represents one or more general-purpose processing devices such as a microprocessor, a central processing unit, or the like. More particularly, the processing device may be complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processing device 802 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 802 is configured to execute instructions 826 for performing the operations and steps discussed herein.

[0139] The computer system 800 may further include a network interface device 808 to communicate over the network 820. The computer system 800 also may include a video display unit 810 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), a graphics processing unit 822, a signal generation device 816 (e.g., a speaker), graphics processing unit 822, video processing unit 828, and audio processing unit 832.

[0140] The data storage device 818 may include a machine-readable storage medium 824 (also known as a computer-readable medium) on which is stored one or more sets of instructions 826 or software embodying any one or more of the methodologies or functions described herein. The instructions 826 may also reside, completely or at least partially, within the main memory 804 and/or within the processing device 802 during execution thereof by the computer system 800, the main memory 804 and the processing device 802 also constituting machine-readable storage media.

[0141] In one implementation, the instructions 826 include instructions to implement functionality corresponding to the components of a device to perform the disclosure herein.

While the machine-readable storage medium 824 is shown in an example implementation to be a single medium, the term “machine-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable storage medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The term “machine-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media and magnetic media.

[0142] Some portions of the preceding detailed descriptions have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the ways used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

[0143] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as "identifying" or “determining” or "executing" or “performing” or “collecting” or “creating” or “sending” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage devices.

[0144] The present disclosure also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the intended purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.

[0145] Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the method. The structure for a variety of these systems will appear as set forth in the description above. In addition, the present disclosure is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the disclosure as described herein.

[0146] The present disclosure may be provided as a computer program product, or software, that may include a machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure. A machine-readable medium includes any mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a machine- readable (e.g., computer-readable) medium includes a machine (e.g., a computer) readable storage medium such as a read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices, etc.

[0147] In the foregoing disclosure, implementations of the disclosure have been described with reference to specific example implementations thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of implementations of the disclosure as set forth in the following claims. The disclosure and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.