Starting and Stopping Fusion during a run FB15a

Many competitions, such as the Tasmanian RoboCup event, demand that the robots operate autonomously. Effectively, this means that the student competitor must be able to stop and start their robot even when their laptop is turned off. This would seem to be a bit of a problem in the case of the Fusion robot, because the program is started from the laptop, and may appear to an official in a competition to be controlled by the laptop even during a run. In the current implementation  of Blockly for Fusion, there does not appear to be a provision for a “remote” start and stop of the Fusion robot. However we can simulate that facility by the use of the touch sensor, as shown in this video. The program can be started from the laptop, and the laptop then turned off. The Fusion robot will then do nothing until the touch sensor is pressed. The program will run until the program terminates itself, or the student presses the touch sensor again. You can see this working in the video above. However this solution is not foolproof. It depends on the student function being fairly short, so that the robot can check reasonably frequently if the touch sensor has been pressed. If the program gets into an infinite loop inside the program, pressing the Touch Sensor will not make any difference because the student program does not end, and there is no opportunity for Fusion to check whether or not the Touch Sensor has been pressed. It would be preferable for there to be some sort of facility within Blockly that would permit the student to start and stop a Blockly program during the competition runs. However, in the absence of such a facility, the approach shown above will have to do, until we can find a better way of providing this “local stop and start” facility on the Robot.