A sample of scenarios illustrating some of the envisaged behaviour for the Lego Mindstorms System (LMR). Scenario: inertialMovement Participating actor instances: Sam: operator Robot: theRobot Flow of events: * Sam enables the inertial mode for the robot - the station program (SP) confirms inertial mode on * Sam presses forward key and maintains it pressed - Robot accelerates to the cruising speed which is then maintained constant * Sam depresses the forward key - Robot decelerates (**) * Sam presses the forward key again and maintains it pressed - Robot accelerates again to the cruising speed * Sam presses the right turn key. The forward key may be pressed or depressed - Robot turns right, describing a circular arc. The linear speed on the circular arc is equal to the current forward speed for the robot on the moment it received the "turn right" command. The angular speed must be equal to a_1 degrees / second (*). * Sam depresses the right turn key - Robot continues its linear movement begun before the turn: if the forward key is pressed, it maintains (or accelerates to) the cruising speed; if not pressed, it decelerates. Scenario: zeroMassMovement Participating actor instances: Sam: operator Robot: theRobot Flow of events: * Sam enables the zero mass mode for the robot - the station program (SP) confirms zero mass mode on * Sam presses forward key and maintains it pressed - Robot moves forward immediately at the cruising speed, in the limits permited by its physical characteristics * Sam depresses the forward key - Robot stops * Sam presses forward key and keeps it pressed - Robot moves forward at the cruising speed * Sam also presses right turn key - Robot stops and turns right at the angular speed a_1 (*) for as long as the right key is pressed * Sam depresses right key (forward key is still pressed) - Robot moves forward at cruising speed. NOTES (*) a_1 is a value configured by SP. Like the cruising speed for linear movement, two values are available for the angular speed. The values are configured by SP and the operator can tell the robot to use the second values for cruising speed and angular speed by pressing the SHIFT key together with right/left/forward/backwards keys. (**) the values for linear acceleration and deceleration are the same and are setup by SP, using a menu entry and an edit box. SP must inform the operator what are the maximum reachable speeds for the robot.