Skip to content

Instantly share code, notes, and snippets.

@ddefb
Last active March 12, 2019 16:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ddefb/71a914cce312bc3118b42e4007ee4785 to your computer and use it in GitHub Desktop.
Save ddefb/71a914cce312bc3118b42e4007ee4785 to your computer and use it in GitHub Desktop.
node controller(distance: int) returns (obs, turning: bool; motor1, motor2, motor3, motor4, vel1, vel2, vel3, vel4, cont: int)
contract
var
rule: bool;
let
rule = not obs & not turning or (turning & (motor1=1 & motor2=2 & motor3=1 & motor4=2));
tel
enforce rule
with (c_move, c_motor1, c_motor2, c_motor3, c_motor4: bool)
let
obs = inlined obstacle(distance);
(turning, cont) = inlined movement(c_move);
(motor1, vel1) = inlined motor(c_motor1);
(motor2, vel2) = inlined motor(c_motor2);
(motor3, vel3) = inlined motor(c_motor3);
(motor4, vel4) = inlined motor(c_motor4);
tel
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment