Yaw set point changing during velocity set point in off board mode

I am trying to control a quadcopter using velocity set point in off board flight mode.

  1. the drone arms, switches to off board and takes off to a certain height and heading through position set point published to /mavros/setpoint_position/local
  2. then the drone switches to velocity set point publishing mode by publishing to /mavros/setpoint_velocity/cmd_vel at a rate of 10 Hz. I am not publishing any yaw set point, just Vx, Vy and Vz.
  3. in one quadcopter, I am able to achieve the desired result where the drone heading is almost constant. But in another similar quadcopter, it is yawing continuously and the yaw is varying significantly .
    I have added the graphs of the yaw set point and yaw estimated. If anybody can suggest why the yaw is varying and what needs to be done to eliminate it, I will be very grateful.

Please share the log