An electric scissor lift is a machinery that is used as a replacement for scaffolding, when freedom of movement is needed. It can be used to repair buildings or simply to reach the top of sheds for maintenance operations. Unlike the scaffolding, it allows to operate in few time because it doesn’t need any installation operation. Moreover, its height can be modulated and, thanks to the ability of movement, it can cover long distances inside or outside a building in any direction. Of course the main disadvantages are the cost and the necessity of another mean of transport which is adapted to carry it on the road.
In this analysis we want to model an electric scissor lift and see its behavior in different situations, with particular attention to the oscillations that can result when it works in movement.
The aim of this work is to use the software LMS Virtual Lab to model an electric scissor lift, which can be split into two main mechanisms. The first one is the base, composed by the chassis, the suspensions, four brackets and four wheels. The traction and the steering is made by the rear wheels, like in a forklift. The second mechanism is the elevator, composed by the scissor, which allows to reach the desired height with the platform, that can be extended.
It can work either standing on the wheels or with the brackets down. In the first case, of course, this means that it can move while the platform is stowed down or raised up. This means that, due to the elasticity of the wheels and the suspensions, it can lead to undesired oscillation, especially with the platform stowed up. One of the purposes of this work is to analyze the behavior of these oscillations while the lift is in maneuver, and for example the ground where the wheels lean is not regular. We will deal with this fact modeling the road with a step and doing maneuvers that involve this. To avoid these problem we can use the brackets, that give more stability. To let the brackets work properly we need to model a system that allow to position the base horizontally. In this case, too, we need to pay attention because if, for example, the platform is not stowed down, it can be still moving or simply this action could origin new oscillations.
We will consider a simplified model of the lift. We took some characteristics from real commercial lifts. The main features that we reproduced are:
- Overall weight: 2992 kg
- Max scissors extension : 8.3 m
- Total max height (platform included, brackets down) : 10.3 m
- Total height (stowed down, brackets up): 2.63 m
- Platform total capacity: 320 kg
- Platform extension capacity : 100 kg
- Platform extension : 1 m
- Width : 1.96 m
- Length : 2.98 m
- Wheelbase : 1.7 m
- Max speed (platform stowed down) : 3.2 km/h
- Max speed (platform stowed down) : 0.8 km/h
- Platform uplift speed : 0.27 m/s
- Persons on platform : 2
- Persons on platform extension : 1
The road step size we used in this simulation is 15 cm height and it 50 cm long, connected to the road by a cubic spline.
We started with the scissor part modeling. Since this will be a sub-mechanism we have constrained it to the ground: in this way, as we will build, we will have to verify that this structure is isostatic. As we can see from the figure above, this part is composed by four replications (quite similar each other) of a simpler structure (on the left), made-up by two elements which are geometrically different but (in this sub-mechanism) functionally equal. Some of the replications are slightly different because they have to support the piston, which will be seen later on. Starting from the bottom, the extremity of the first structure is connected to the temporary ground (which will become the travel) by a cylindrical joint. In order to lock the structure without adding redundant constraints, we have used a revolute joint to link the midpoints of each element, while the extremity of the other element is constrained to the ground (further, the chassis) by a spherical joint (even if the desired movement isn’t completely a spherical joint’s one). This sequence is then repeated from the bottom to the top, except that every structure will be linked to the previous one, and not to the ground. The constraints of the top structure will be placed on the master mechanism.
The modeling of the base began building the CAD model, based on some purchasable models. The upper part is prepared with two drives in order to set up the scissor part.
Then we modeled the wheels and the wheel forces; these last, in the multibody model, were represented with the Simple Tire model, whose parameters were chosen as a consequence of using a full wheel in the reality. The front wheels were then fixed to the base with revolute-translational joints to allow the vertical movement given by the suspensions; joints on rear wheels are revolute ones but in this case they connect wheels with wheel hubs that we will see soon. These rear joints were subsequently used to set up the speed driver that controls the angular rotation of the wheels and so the displacement of the base.
Another part of the base is the steering that, in the CAD part, is modeled with two wheel hubs. In the multibody part hubs are joined, as said, to the steering wheels with revolute joints. There is also another type of joint that is used to connect wheel hubs with the base, a cylindrical joint, which rotation is controlled by an appropriate driver that can provide the steering angle during movements, while the translation is left free because, as in the front wheels, the vertical movement is made by the suspensions. Finally four suspensions were added, one per wheel, placed between the base and the wheel (the wheel hub on the rear case). They are modeled in multibody with a TSDA, and their parameters have been chosen to obtain a dynamic behavior suitable to support the total weight of the entire structure.
An extra part of the project, that cannot be found in the machinery by which we were inspired, are the brackets that allow to lift the entire structure from the ground and then block horizontal movements and make lifting and lowering movements of the platform much more stable.
These four parts are joined to the chassis with translational joints on which operate a velocity driver. Then we have to model the contact force between brackets and the ground: we chose sphere to extruded surface contact force, with parameters expressed in the Spring-Damper way.
In particular, an algorithm for the handling of the brackets has been developed, that takes advantage of some position sensors put on the chassis part, in the same position where each bracket moves up and down. It has been used to define a law to control their drivers, so it is possible to extend and the shorten in a totally automatic way, which is independent from the starting position of the structure; even if tilted, it always brings the base in a horizontal position with all four brackets in contact with the ground and then raises the base from the ground of a certain offset. It is composed by three phases:
If the base is not horizontal, the bracket of the highest side doesn’t move, other ones extend until the base is horizontal; if the base is already horizontal, nothing happens
On each bracket is done a control: if the bracket doesn’t touch the ground it extends until it is long enough; if the bracket already touches the ground nothing happens
Now every bracket is touching the ground and the base is still horizontal, so every bracket extend of a certain fixed offset so the entire structure elevates from the ground
Lift Part Modeling
This mechanism is the main one, even if the movement of the base is made by another sub-mechanism, the base. It is mainly made by the scissor, the travels, the piston, the cylinder and the platform.
The scissor is introduced as sub-mechanism, where its ground is replaced by the travel and the chassis (in the base sub-mechanism). The travel allows the scissor to compress and expand, thanks to the prismatic joint that constraints the travel to the drive on the chassis. In fact, this last one has given a degree of freedom to the scissor sub-mechanism. We could operate the lift of the structure using a driver that constraints this last degree of freedom, but, in the reality this is made by a piston. This one is linked to an element of the scissor by a spherical joint and to the cylinder by a prismatic joint, which allows the scissor extension. The cylinder is linked to another element of the scissor by a cylindrical joint (otherwise we will add redundant constraints). The platform is linked to the scissor in the same way as the scissor is connected to the chassis. Then there is the platform extension, which is connected to the main platform by a prismatic joint, constrained by a joint position driver. Finally, we have put a load on the platform, which weight is the same as the total capacity of our machinery. We will move this load during the simulation, which is constrained to the platform by two other prismatic joints (due to the fact that this load is split into two halves, one for the platform extension capacity and one for the main one).
Regarding only the platform lift, there are two main situations, one in which the platform is lifting and one where it is motionless. In reality, these two situations are very different: in the first one, the piston is moving and there is a flow of liquid in an hydraulic circuit through an opened valve, in the last one the valve is closed and the piston remains in the same position as it was an instant before the valve closing, and it will remain in the same place, independently from the load it has to bear. We will model these situations with two methods too. The first one will be managed by a control system in Matlab, the second one will be modeled as a TSDA with variable length, stiffness and damping, that simulates the valve closing, that will be attached to the cylinder and to the piston. During the lifting we will set the stiffness and the damping constant to zero, so there will be no elastic force and it will be like the valve is opened. If we want to simulate the valve closing, we will simply switch to a different value of the constants, in a way that the TSDA results almost rigid (we have set the stiffness constant to 10^10 N/m and the damping constant to 10^8 kg/s). Since we want no initial oscillations, the length of the spring will be set as the piston stroke one moment before the closing, so the spring will be always in rest position and it will give the correct force without knowing the precise value. Unfortunately, Virtual Lab doesn’t work properly when we change these parameters in a single analysis case, so we did our best modeling the valve closing only in the main situations, while in some cases we didn’t switch the parameters and let the control system manage this.
To find out the piston stroke during the valve closing we could have used the measurement coming from two sensor axis systems, but, since LMS doesn’t allow us to use this data to command the TSDA length, we had to compute it from the platform height profile we know. To do it in an automatic way, we have set a whatever platform height profile and then we measured the piston stroke. Then we plotted the map between the platform height (referred to the chassis) and the piston stroke (you can see it in the figure on the right). Finally, we have computed a law that interpolates this function as good as possible (as you can see in the figure). We used a polynomial law, but we had to stop at third order due to finite precision errors of the calculator we used. This leads to a small error in this conversion, that anyway reaches at most some millimeters in the piston stroke.
To control the platform movement during the lifting we have used Matlab. To do this, we decided to set the scissor extension (from the chassis plane to the platform plane) as output (relative to the control system), and the platform force as input. This force is applied from the chassis to the bottom of the platform and it is needed to move it. Actually, this last one isn’t directly the force that the piston needs to lift the platform, but it is closely connected. Anyway, this force will directly command the platform height, using “two bodies control output” in LMS, so there is no need to convert it to the piston force. We made this choice because we have used feed-forward in our control system. We have defined a nominal behavior of our system setting the chassis to the ground (so there will be no oscillations, which could be treated as noise in our control model) and making the same movement we desired using instead a two-bodies position driver. The feed-forward force is the force that the driver needs to lift the platform, which can be plotted in LMS. So we made this choice because we know exactly which is the target to reach (the scissor extension), while the piston stroke is not directly our target.
We are going to implement the control system with a PID controller in closed loop. Since we used also feed-forward control, the integrator action is reduced and then saturation problems can be neglected. We added a derivative action to improve the transient response. Due to the conversion error mentioned before, we could have some initial oscillations because the planned initial height is not the same as the height that the piston imposed during the simulation before. But, since these vibrations are settled very soon, have a very small magnitude and are at very high frequency, they don’t give us problems.
The entire control system is showed in figure. Every time we run a different simulation, we will switch the reference and the feed-forward, as different simulations impose different movement of the platform.
The reference signal we used (that is our target, the platform height referred to the chassis) is obtained as integration of a trapezoidal velocity law, which gives two stretches (the final one and the first one) where the platform speeds up, while in the middle the speed remains at a constant value. We made this choice to avoid vibrations. In the lowering phase the reference remains the same, except that the platform is stopped at a certain height. For simplicity we used acceleration stretches only when the platform is completely stowed up or down. To correctly set-up the control system we have built a Matlab script that loads the different profiles and feed-forward forces.
We planned a routine that our machinery has to do, that is divided into different phases:
The entire structure, with the platform down and the load in centered position, has to move along the street and go down the step with three wheels and in the end the brackets move down so the structure is ready to elevate the platform
The base, standing on brackets, get stuck while the platform lifts until reaching the max height, then the platform is extended. So the platform is stowed down, the load is moved to the rear, and the platform is lifted to the half of the total stroke.
Now the structure has to move again, so brackets shorten until their totally closed position, then the machinery moves on the road (this operation has a slower velocity than other ones because the platform is still up and so we have to limit the speed) and stops with two wheels (longest side) above the step and two down, this part ends with brackets down movement as the first part
The load is moved from the rear to the front of the platform, then the platform lifts up to the top again, and finally, while it is lowering, both the extension and the load are moved.
With the platform stowed down, the brackets are shorten, then the routine ends with a parking simulation.
Each step is singularly simulated and computed, every time a restart file is generated by LMS Virtual Lab and then the next phase is started using the restart file of the previous step.
For all these simulations we used the parameters below:
- Wheel Damping Constant: 5000 kg/s
- Wheel Rolling Resistance: 0.04
- Wheel Friction Coefficient: 1.8
- Wheel Cornering Stiffness: 700000 m*kg/rad*s2
- Wheel Vertical Stiffness: 500000 N/m
- Contact Force Damping Constant: 30000 kg/s
- Contact Force Spring Coefficient: 5000000 N/m
- Contact Force Friction Coefficient: 0.9
- Suspension Spring Constant: 80000 N/m
- Suspension Damping Constant: 80000 kg/s
We also used an initial condition for the suspension initial length in way to start the simulation in a suitable position.
In the figures below you can see a schematic definition of each phase. In particular, the lowering phase is stopped when the platform is 2 m above the chassis, for safety reasons, like in the real machinery. As we can see, in different steps in the phases 2 and 4 we used Matlab as integration method. The plot shows the platform height referred to the chassis.
We are now going to focus in different aspects of the behavior of the machinery. Since there are many phases we will show only the main plots.
As we can see in the initial video, in different cases there are some oscillations of the entire structure. In some cases they don’t give us problems because, in practice, they doesn’t exist. For example, every time we switch the valve, there is an instantaneous variation of the piston length but, even if this is minimal, it establishes small vibrations that are transmitted to the chassis, and then to the brackets. Another problem we found is the software limit in modeling the contact forces between the brackets and the ground, that we modeled as a contact force between a sphere (with large radius) and an extruded surface. We chose the best parameters that yield a simulation as realistic as possible, but in some cases, like this, we had to accept the consequences. So in practice there won’t be oscillations like these (or at least they aren’t so obvious). Remember that the instantaneous variation of the piston stroke is due to the conversion of the platform height.
Conversely, there is a situation in which the contact forces help us. At the beginning of the phase 3, when the platform is half lifted and the base is moving, the structure remains in equilibrium due to the contact force of the lateral brackets, even if they are lift up. This wasn’t our intention, but in practice the brackets perform this function too, that is, they maintain the equilibrium as additional points of support, and its extensions are very important during movements that involve irregular paths. We didn’t model this behavior because we would need a more precise model, in fact our spheres have more obstruction than it is needed, and this would lead to unrealistic situations.
First of all we are going to show which is the entity of the oscillations that arise during every movement. We are not interested to the situations when the platform is stowed down, because the structure is clearly stable. As we can see in the video, the stability is at is boundary during the phase 3, but we will analyse the results in other phases too. We measured the x and y center of gravity deviation of the platform respect to the base. The most significant results are the following ones:
As we can see, the deviation magnitude is contained into a few centimeters, except the phase 3, where it exceeds 1 metre (as we expected, after watching the video). Another phase where we should pay attention is 2.2. Even if the oscillations are limited in magnitude, they are not settled soon, and this could create some problems in practice. In many cases there are some vibrations in the initial step, but these are not warrying because they arise from the instantaneous variation of the piston length we discussed before.
We will now show which is the behavior of the control system. We are going to analyse only the phases we simulate with Matlab, that are the only ones where the platform height varies significantly. As regards the control system, what we can say is that its response is very precise. As said before, there are some initial oscillations of the response, but they are settled soon in most cases. The figures below show the height error, which is the difference between the planned scissor extension and the real output of the control system. Instead of the time, in x axis we used the platform height referred to the ground. Note that, during the lowering phases, the time goes from the right to the left (the relation between the height and time is the conversion law described before)
As said before, the real response is nearly indistinguishable from the planned one, in each of the 5 cases, in fact initially the error is set to less than few millimeters (during the phase 2.3 it reaches 6 mm), and then it decreases to negligible quantities.
We will now focus on the piston force that is needed to maintain the platform height at a constant height (the other cases will be shown later on). We have plotted its magnitude, and then we computed the pressure which the piston is subject, using the fact that the piston section has a diameter of 70 mm. Some significant results are shown below. These results could be used during the realization phase to correctly dimension the piston.
We also analysed the force needed to uplift and lower the platform, which is the input of the plant (seen from Simulink). Here is one of the results. All we can say is that the order of magnitude is quite the same of the piston force we found before (that we didn’t plot). During the first part (which isn’t shown) the force has an initial peak, which is settled soon. Instead, during the part that is shown it is quite stationary.
Then we put our attention on the suspension force, clearly only in the cases the wheels base on the ground. Here we will plot the magnitude of the force of each suspension. The only thing to highlight is that they are more stressed during the third phase, where oscillation phenomena are more evident.
Finally we analysed the contact force between the brackets and the ground, that can be used when in practice we have to realyse the bracket actuator and its control system. Some results are shown below (the plots represent the magnitude of each bracket contact force):
Regarding the simulation we made we can say that, in general, the scissor lift follows the desired behavior and we succeed to identify the most critical situations. During the simulation we have experimented many case studies, but some of these don’t figure on our final project. As you can guess, the main problem of this machinery is its stability. In some cases we found out that it falls down, or its oscillations are too wide. What we can say is that these situations must be avoided, so we didn’t include them on our project. For example, our initial target was to move the base while it was across the step and the platform was completely stowed up, but, as soon as we shorten the brackets the entire structure fell down. In practice this can be avoided projecting a bracket control system that doesn’t allow this situation, but this wasn’t part of our project.
During the whole work we didn’t modify the road step size (we have to say that it is very high and in practice it is more frequent that it is smaller, but we preferred to analyse a worse case), but this simulation could be used, as mentioned before, to calibrate the overall control system (for example, in function of the platform height) to avoid unstable behaviors, varying the step size and making different maneuvers.