Main Content

Gravity and Friction in the Position-Based Translational Domain

This example shows how to configure gravity and gravity-induced friction effects in a position-based mechanical translational network.

Configuring Gravity in a Position-Based Mechanical Translational Network

The parts in a position-based mechanical translational network move parallel to each other, similarly to cars sliding on a straight rail. Gravity affects the behavior of masses. In the position-based translational domain, gravity always acts downwards. You define a gravitational acceleration magnitude, g, and incline angle, θ. The incline angle, θ, is the clockwise rotation of the domain's positive rail relative to the horizontal. The component of gravity that is parallel to the rail induces motion along the rail. The component of gravity that is normal to the rail induces normal force that, in turn, induces friction.

You define gravity by connecting a Translational Mechanical Properties block to the position-based translational mechanical network. Each position-based translational mechanical network can have up to one Translational Mechanical Properties block connected to it. A network without a Translational Mechanical Properties block uses the domain's default properties of g= 9.81 m/s^2 and θ= 0 deg.

Blocks in the position-based translational library that model mass are:

  1. Mass,

  2. Mass With 2 Ports,

  3. Mass With Friction,

  4. Mass With Friction & 2 Ports.

The component of gravity that is parallel to the rail induces motion in all four mass blocks. The component of gravity that is normal to the rail induces friction in the last two blocks, Mass With Friction and Mass With Friction & 2 Ports.

Configuring Friction in a Position-Based Mechanical Translational Network

Several blocks in the position-based translational library model friction force. In the Friction block, friction is a function of the relative velocity between two bodies, with one body connected at each of the block's nodes. In the Mass With Friction and Mass With Friction & 2 Ports blocks, friction is a function of the mass velocity as the mass blocks slide along the stationary domain rail. The friction force is the sum of Stribeck, Coulomb, and viscous components, as shown in the following figure.

The Stribeck friction, FS, is the negatively sloped characteristics taking place at low velocities. the coulomb friction, FC, results in a constant force at any velocity. The viscous friction, FV, opposes motion with the force directly proportional to the relative velocity. The sum of the Coulomb and Stribeck frictions at the vicinity of zero velocity is often referred to as the breakaway friction, Fbrk.The friction is approximated with the following equations:

F=2e(Fbrk-FC)exp(-(vvSt)2)vvSt+FCtanh(vvCoul)+fv

vSt=vbrk2

vCoul=vbrk10

where

  • F is friction force.

  • FC=μCFN is Coulomb friction.

  • Fbrk=μbrkFN is breakaway friction.

  • FN is normal force.

  • vbrkis breakaway friction velocity.

  • vSt is Stribeck velocity threshold.

  • vCoul is Coulomb velocity threshold.

  • fis viscous friction coefficient.

  • v is the velocity between two bodies or the velocity of mass on the stationary domain rail

Blocks in the position-based translational library that model friction are:

  1. Friction,

  2. Mass With Friction,

  3. Mass With Friction & 2 Ports.

For the Friction block, the normal force can be a constant parameter or an input signal. For the Mass With Friction and Mass With Friction & 2 Ports blocks, the normal force is the sum of a reaction to gravity acting perpendicular to the rail and an optional constant or variable external normal force. The optional external normal force of the mass blocks represents effects such as seals between the mass and an outer casing.

Horizontal Rail Example

This model consists of a horizontal rail. Gravity acts downwards, as always in the position-based tanslational mechanical domain. You specify a horizontal rail in the Translational Mechanical Properties block by setting the Domain positive direction incline angle, θ to 0 deg. A mass sits on the rail. There is friction between the mass and the rail. You specify friction coefficients in the Mass With Friction block. A spring attaches the mass to a stationary wall. At time = 0 sec, initial targets for the spring put it in a state of compression under a 1,000 N load and with a length of 10 m.

Open the model ConfiguringGravityHorizontalRail.

open_system('ConfiguringGravityFrictionHorizontalRail');

Simulate the model and view results in the Scope.

open_system('ConfiguringGravityFrictionHorizontalRail/Scope');
sim('ConfiguringGravityFrictionHorizontalRail');

The initially compressed spring drives the mass in the positive direction and causes oscillations in the mass position. Friction, induced by normal force between the mass and the rail, damps out the oscillations. The sign of the friction force is opposite the sign of the mass velocity. A positive friction force resists mass motion in the negative direction while a negative friction force resists the mass motion in the positive direction. When the mass comes to rest, a negative friction force acting on the mass is balanced by a positive spring force acting on the mass.

Vertical Rail Example

This model consists of a vertical rail with the positive direction pointing upwards. As always in the position-based translational domain, gravity acts downwards. You specify a vertical rail in the Translational Mechanical Properties block by setting the Domain positive direction incline angle, θ to 90 deg. A Spacer block fixes one end of the spring 5 m from the World frame. A 10 kg Mass with Friction dangles from the other end of the spring. At time = 0 sec, initial targets for the spring initialize it unstretched at a rest length of 0.1 m.

Open the model ConfiguringGravityVerticalRail.

open_system('ConfiguringGravityFrictionVerticalRail');

Simulate the model and view results in the Scope.

open_system('ConfiguringGravityFrictionVerticalRail/Scope');
sim('ConfiguringGravityFrictionVerticalRail');

Gravity initially pulls the mass in the negative direction. The negative direction in this Simscape™ schematic corresponds to the downward direction in the physical view of the system. The Mass with Friction block specifies nonzero friction coefficients between the block and the domain rail, but the friction force is zero because the rail is parallel to gravity. Gravity does not induce a normal force between the mass and the rail. Therefore, the initial oscillations induced by gravity are undamped and continue indefinitely.

Inclined Rail Example

This model consists of a mass on an inclined plane that is 15 degrees clockwise from the horizontal. As always in the position-based translational domain, gravity acts downwards. Gravity induces a normal force between the Mass With Friction and the plane. For this plane inclination, gravity induces positive motion along the rail. You specify the 15 degree clockwise rail incline by setting the Domain positive direction incline angle, θ to -15 deg in the Translational Mechanical Properties block. At time = 0 sec, the Initial Spacer block sets the mass position to 0 m, and the mass has an initial target velocity of 10 m/s.

Open the model ConfiguringGravityInclinedPlane.

open_system('ConfiguringGravityFrictionInclinedPlane');

Simulate the model and view results in the Scope.

open_system('ConfiguringGravityFrictionInclinedPlane/Scope');
sim('ConfiguringGravityFrictionInclinedPlane');

A negative kinetic friction force initially decelerates the mass. For a mass of m= 10 kg, incline angle of θ = -15 degrees, and downward gravitational acceleration of g = 9.81 m/s^2, the normal force between the mass and rail is FN=mg|cos(θ)|= 94.8 N. With a Coulomb friction coefficient of μC = 1.25 and Viscous friction coefficient of f= 0 N*s/m, the kinetic friction force acting on the mass is -μCFN = -118 N. The kinetic friction force has a negative sign because it resists the positive mass velocity.

After 1.05 seconds, the mass has traveled 5.3 m in the positive direction and comes to a rest. When the mass is stationary, the friction force changes from kinetic friction to static friction. The static friction force is equal and opposite to the gravitational force component acting parallel to the rail. The gravitational force component acting along the rail is mgsin(θ)= +25.4 N. Therefore an equal and opposite friction force opposes gravity once the mass stops moving.

Interpreting Logged Forces in Mass Blocks

All Mass blocks log the variables f and f_acc. The Mass With Friction blocks also log a variable friction.f.

  • f_acc is the force that causes acceleration, f_acc = mx''. Positive f_acc corresponds to a mass accelerating in the positive direction.

  • f is the force of the system mechanical components acting on the mass. The force of the system acting on the mass, f, is offset from the mass accelerational force, f_acc, by the gravitational force component that is parallel to the rail. That is, f= f_acc + mgsin(θ). For example, if the rail has incline angle, θ, and the mass is motionless, then f= mgsin(θ) is the force of supports acting on the mass. If θ=90 degrees and the mass is accelerating in free fall, x''=-mg, then f= 0 N. That is, the system mechanical components do not exert any force on the mass. Positive f accelerates the mass in the positive direction, and negative f accelerates the mass in the negative direction.

  • friction.f is the force of friction from the stationary rail acting on a Mass with Friction or Mass With Friction & 2 Ports block. The friction force, friction.f, is part of the system mechanical force acting on the mass, f. Negative friction.f acts in the negative direction and opposes a mass moving in the positive direction. Positive friction.f acts in the positive direction and opposes a mass moving in the negative direction.

Simulate the model ConfiguringGravityInclinedPlane and view results in the Forces Scope.

close_system('ConfiguringGravityFrictionInclinedPlane/Scope');
open_system('ConfiguringGravityFrictionInclinedPlane/Forces Scope');
sim('ConfiguringGravityFrictionInclinedPlane');

In the beginning of the simulation, the mass slides down the inclined plane, in the positive direction. The mass positive velocity decreases, corresponding to negative acceleration and negative accelerational force, f_acc= mx''. The kinetic friction force, friction.f, acts in the negative direction, resisting the mass positive velocity. The only system mechanical force acting on the mass is the friction force, so the system mechanical force, f, equals the friction force, friction.f.

The mass accelerational force, f_acc, has a smaller magnitude than the friction force, friction.f, due to the gravitational force component acting parallel to the rail, mgsin(θ). The friction force, friction.f, is negative while the gravitational force acting along the downward inclined plane is positive. The kinetic friction force is -118 N. For a mass of m= 10 kg, incline angle of θ = -15 degrees, and downward gravitational acceleration of g = 9.81 m/s^2, the gravitational force component parallel to the rail is -mgsin(θ)= +25.4 N. Therefore the net accelerational force acting on the moving mass is f_acc= f - mgsin(θ)= -118 + 25.4 = -92.6 N.

After 1.05 seconds, the mass is motionless, so the accelerational force is zero, f_acc= 0. The static friction force, friction.f, is equal and opposite to the gravitational force component acting along the rail. That is, f = friction.f = mgsin(θ)= -25.4 N.