As a former computer systems analyst, let me say that I don't see success for robot engineers or pilots. The problem is that you can not anticipate every event that might cause a train or airplane to crash. Though we have had a good run of no crashes involving major airlines since 2001, that could just mean that there were no events that the pilots could not handle. How does a robot handle a situation that no one anticipated? The robot can only respond in a way for which it has been programmed. That response may not be appropriate to the situation.
Think about Captain Sully's landing in the Hudson River. I've always believed that he probably thought "now if I can land this puppy gently, it might float long enough for us to get everyone off the plane." I doubt anyone would think of such a situation as survivable, much less no injuries and no loss of life. How do you program in advance to survive something so outrageous as a water landing with an airplane? I know we train for such things, but that training is based upon a trust that the airplane will float which assumes a lot of conditions being ideal.