A robot emulator. Programs for motor speed and actions based on distance from edges can be developed without the robot. Once the program is running as expected it can be run on the actual robot.