Software engineering for autonomous robots investigates the synergetic interaction of computing and robotic technologies; this synergy is both realistic and strategic. On one hand, software engineering techniques and methods have the potential to enhance the quality of the software that controls autonomous robots and the effectiveness of software development processes in the robotic industry. In addition, they can provide evidence of that improved quality to foster trustworthiness of the robot via advanced verification techniques based on testing, simulation, or even mathematical proof.