BMW plans self-driving car launch by 2021