After further investigation, it turns out that the mpc controller time step needs to be reduced to eliminate oscillation.
The time step variable represents the time of each horizon step in the mpc. The solution of the mpc controller then gets interpolated between the current and the next horizion steps. It turns out that the interpolated result is not as accurate as it should with a 100ms value and thus causes the system to become unstable and oscillate.
Reducing the time step resulted in the elimination of oscillations since the result of the interpolation becomes more accurate. I have been able to get acceptable controller performance with a timestep of 20ms at low speed maneuvers which were not possible before with a time step of 100ms
The performance of the mpc controller is also vehicle speed dependent as the system becomes again unstable as the vehicle speed increases above a certain threshold. There is a need to further improve the performance of the mpc controller by code optimization and more mpc tunning by reducing the size of the horizon as an example