Designing serial robot communication software