Aesl Program
Basic motion queue for Thymio-II

David J Sherman - david.nosp@m..she.nosp@m.rman@.nosp@m.inri.nosp@m.a.fr

This AESL program defines high-level behaviors for the Thymio-II robot that enable it to cooperate with programs like Scratch, Snap!, and Nodejs, in particular using the asebahttp REST API. The features defined here are:

  1. A motion queue of length 4 with a program counter (Queue)
  2. Incoming events to change queue: Q_add_motion, Q_cancel_motion, Q_reset (Motion)
  3. Broadcast of informative events when the motion queue changes state (Queue and Motion)
  4. Odometry (angle, x, y), updated at 100Hz (Odometry)
  5. Incoming events for native functions: V_leds_*, A_sound_*, M_motor_* (Native)
  6. Variables for simplified reporters (distance and angle) from prox.* (Reporters)
  7. Broacast of compressed robot state at 10 Hz (State)

Events that can be used for broadcast on the Aseba bus are defined in Global Events. Constants are defined in Constants.