Three wheeled bicycle


Tosatto Riccardo –  – Degree in Mechanical Engineering
Rigon Daniele – – Degree in Mechanical Engineering
Favaron Valerio – – Degree in Mechanical Engineering


Dynamic analysis of a three wheeled bicycle, with a front articulated quadrilateral mechanism. The work has been developed starting from the modeling phase, passing through the implementation of a PID control system for the movement and concluding with a series of simulations in order to check the reliability of the control and to obtain an estimate of the order of magnitudes of physical variables (angles, forces, torques).




Objectives of the project

  • modeling of the front kinematic;
  • modal analysis of the system, in order to point out the main vibration modes and frequencies associated to them;
  • creation of a PID control for the kinematic and dynamic analysis of a three wheeled bike, using as inputs the roll angle of the vehicle and returning as output the torque applied to the steering;
  • dynamic simulations under conditions of: straight, straight with a step on the road surface, curve, slalom, considering also the reliability of the control system;
  • comparison of the vehicle dynamic performances, changing the operating conditions.


The modeling problem

The purpose of the model is to obtain a description of kinematics and dynamics of a three wheeled bicycle controlled by a pilot. Regarding the modeling of the bike, the chassis and the rear have been imported from a CAD library, the front has been modeled in the development phase of the project and the dummy has been imported as a sub-mechanism into VirtualLab.

The Cad model of the front is composed of:

  • two crossbars
  • two front-wishbones
  • linking system between the quadrilateral mechanism and the steering
  • steering system

In order to build up the mechanism the following joints have been applied between the bodies:

  • bracket joint between the upper crossbar and the left wishbone with DOF 4,5
  • bracket joint between the upper crossbar and the steering with DOF 4
  • bracket joint between the upper crossbar and the right wishbone with DOF  4,5
  • bracket joint between the lower crossbar and  the left wishbone with DOF 4,5,6
  • bracket joint between the lower crossbar and  the steering with DOF 4,3
  • bracket joint between the lower crossbar and right wishbone with DOF 4,5,6
  • revolute joint between the chassis and the steering

Here it is shown the numeration used by Virtual Lab concernig the DOF of a bracket joint.

In order to check the system’s DOF it is suitable to write the Grubler’s equation:

n_DOF = 6 * n_bodies – (6 * bracket) -(5 * revolute) + “bracket_dof”

n_DOF = 6 * 5 – (6*6) – (5*1) + 13 = 2 gdl  (steering angle; quadrilateral dof)

The whole bike weights 15 kg having used steel (7860kg/m^3) as a reference for the density.

The dummy has been modeled as a set of rigid bodies, in which the various parts are isostatically bound in order not to introduce redundant constraints in the system and thus ensure the solution of the problem. It has been inserted as a sub-mechanism, decomposing the system into its constituent subsystems in order to simplify the resolution.

Joints used:

  • bracket joint between thorax and head
  • revolute joint between arm and forearm
  • revolute joint between shanks and feet
  • cylindrical joint between shanks and quadriceps
  • spherical between triceps and thorax
  • spherical between quadriceps and thorax
  • revolute joints between hands and handlebar

The total weight of the body is about 75 kg.




The “motor”, in analogy to the real behavior, is applied as Joint Velocity Driver to the rotational axis of the crank; the rotary motion is transferred to the rear wheel by a Gear Joint with a transmission ratio equal to 0.45.


The PID control

The Proportional Integrative Derivative control (PID) is a negative feedback system; the goal of the scheme is to force the controlled variable (the output of a given system u(t) to check) to closely follow a reference variable.It is made up of:

  • A term P proportional to the tracking error e(t): it can provide a “quick” control, but generally is not able to guarantee a zero tracking error concerning constant reference signals. 

  • A term I proportional to the integral of e(t), i.e. its average value: it allows you to delete the error in face of constant reference signals; it presents the drawback of slowing the response of the system.

  • A term D proportional to derivative of the error, whose aim is to anticipate the future trend of the error

therefore the controlled variable u(t) becomes:

In this case the control system implemented is shown below:

The control input makes a difference between the reference function (which changes by switching the simulation) and the instantaneous value of the roll. It returns as output a reaction torque applied to the revolute joint between the steering and the chassis.

Each simulation consists of two analysis cases:

1) trim simulation: used to put the bike into steady equilibrium configuration on the street level and to impose a certain speed;

2) straight  / curve / straight with step / slalom.


  • INPUT TWO-BODY “ROLL”: it measures the roll angle between a reference frame fixed to the chassis and a mobile reference frame. The second one belongs to the body “mobile base” (see the body in yellow) free to rotate, through a revolute joint, with respect to a second body called “fixed base” (see the body in brown), locked to the ground.This device allows to keep z-axes parallel each other regardless of forward direction of the bike.The roll angle is measured by a KINEMATIC SENSOR attached to the chassis.

  • CONTROL INPUT ELEMENT “INPUT FUNCTION”: it requires as input a reference function; in the summing node the actual value of the roll will be deducted to the function
  • AMPLIFIER-CONTROL ELEMENT Kp: proportional control element
  • INTEGRATOR CONTROL ELEMENT Ki: integrative control element
  • FUNCTION CONTROL ELEMENT Kd: derivative control element
  • AMPLIFIER ON-OFF: it works like a switch moving from an analysis case to another one
  1. trim simulation:
    • gain (on-off steering)=0
    • gain (on-off roll)=1
  2. straight / curve / straight with step / slalom:
    • gain (on-off steering)=1
    • gain (on-off roll)=0
  • ONE BODY CONTROL OUTPUT “ROLL TORQUE”: it transfers a signal (torque) from the PID control to the mechanical system, in this case to the roll axis of the chassis. It must be used only in trim simulation because for zero values ​​of forward speed it is not possible to control the roll by simply impressing a torque on the steering.
  • JOINT CONTROL OUTPUT “STEERING TORQUE”: it transfers a signal (torque) from the PID control to a revolute joint of the system (revolute joint chassis-steering). Used in analysis case: straight / curve / straight with step / slalom because it accurately describes the real dynamic behavior.

To get an assessment of the order of magnitude of the gains it has been used the Ziegler Nichols method. First of all it has been imposed a step input with only the proportional contribution active and later, by using  empirical relations, the other gains have been determined. Below, the values ​​used:

































Simulation and analysis of results


After setting the gain of the Amplifier ON-OFF “ROLL” equal to one (GAIN ON-OFF “STEERING”=0), to keep the steering locked (without adding constraints to the system) an RSDA is applied to the revolute joint chassis-steering. The joint velocity driver applied on the crank’s rotational axis follows a zero function for 10 seconds and then a cubic one up to a constant value of 80 turn/mn.


The aim of this simulation is to analyze the dynamic behavior of the bike in a straight line. The values ​​of spring constant and damping coefficient of the RSDA applied to the steering are set to zero; now the motion of the bicycle is controlled by the torque (which is the output of the PID) applied on the steering. The joint velocity driver applied on the rotational axis of the crank follows a constant function equal to 80 turn/mn, which corresponds to a forward speed of 20km/h.

Below there are the graphs of the roll angle and the steering, depending on time.

It can be highlighted that the response of the system faithfully follows the input function, as imposed by the control, less then small fluctuations.

Plotting the steering angle, the average value is approximately zero; the fluctuation has the same rotational frequency of the pedals, therefore it is understandable that the oscillation is due to the dynamic effect of the system composed by pedals and legs.


Compared to the previous simulation the configuration of the road changes. Here there are two roads, in one of those a step with a depth of 70 mm has been created in order to simulate the presence of path irregularities.The joint velocity driver applied on the rotational axis of the crank follows a function which decreases speed from 80 turn/mn to 50 turn/mn.

Analyzing the behavior of normal forces acting on the right wheel, it can be notice a stress maximum at 36 seconds due to the step, similar behavior for the torque.



The reference input function is the “input curve function”. In this simulation the forward speed of the bike is equal to 20 km/h; the maximum roll angle is equal to 9.5 degrees.

The following graph shows the input function, the roll response and the steering angle.

With a speed of 20 km/h, with a roll angle of  9.5 deg, the system responds with a rotation of the steering of about 2.5 deg. Then other simulations have been run by varying the maximum roll angle and the forward speed of the bike. Steering angles have been obtained from the depending on time graphs, mediating values ​​between 37 to 39 seconds.

From the results it’ s possible to get a confirmation of the fact that, at the same roll angle, for increasing speed, the steering angle decreases. Here there is the plot of the torque depending on time.



It is given, as input, a function able to ride the bike on a slalom. The bike has a constant speed of 12 km/h.


As you can see, the steering follows on average the trend of the roll, less than “abnormal” peak (circled in the plot). Such anomalies are found just in correspondence of abrupt variations of the roll function; all this is expected because of the gyroscopic effects.


Modal analysis

The analysis is carried out by turning off the control system; in the trim simulation two RSDA are respectively applied to the steering and to the joint between the steering and the upper crossbar, in order to put the bike in the steady equilibrium configuration.

Moving from the trim simulation to the modal analysis, the “linearization” option is switched on. It is also disabled the sub-mechanism in order that the dummy does not change the natural frequencies of the bike.

0.7 Rolling Oscillation of  the whole bike
1.7 Longitudinal oscillation along the road
21.02 Oscillation of the wheels
21.99 Pitching oscillation of the whole bike
24.71 Oscillation of the steering
25.73 Oscillation in opposition phase between the front and rear
33.43 Oscillation in opposition phase of the wishbones
36.78 Oscillation of the rear wheel



With this project it has been possible to reproduce the dynamic behavior of the three-wheeled bike in line with the reality, without interfering with external actions that would have changed the dynamic. The PID controller responds to this need; it has been checked the proper working in different operating conditions, always giving positive results as shown in the graphs above.

The next step it would be a comparison between the dynamic behavior of the analyzed system with another bike equipped with a mechanism similar to that of  Piaggio mp3. Both bikes are equipped with two front wheels, the difference between the two lies in the mechanism; it can be appreciate this aspect in the following video.

Comments are closed.