Keeping a moving object from getting out of place

hi all , I have cubes that move (ping pong) back and forth with an interpolation to movement component , if my character hits one on the side the cube gets moved (knocked) out of position, it continues to ping pong , but is out of position with other cubes. its fine if he lands on top, just when hitting the side of the cube is issue. is there a way to keeps the cube in the same position as it moves along its plane if it gets hit on the side? I tried adding physics weight , but then it just falls . thanks