window_obstacle_sa_multirate_BASE_new.sa 685 B

12345678910111213141516171819202122232425262728
  1. // outdated
  2. semantic adaptation window_obstacle_sa_multirate
  3. for fmu window_obstacle_sa_loop
  4. input ports motor_speed
  5. output ports reaction_torque
  6. param init_motor_speed = 0;
  7. control rules {
  8. var h := H/10;
  9. var proposed_h := H;
  10. for (var iter in 0 .. 10) {
  11. var returned_h := do_step(window_obstacle_sa_loop, h);
  12. if (returned_h != h) { // for backtracking
  13. proposed_h := iter*h + returned_h;
  14. }
  15. }
  16. return proposed_h;
  17. }
  18. in var stored_motor_speed := init_motor_speed;
  19. in var linear_increment;
  20. in rules {
  21. true -> {
  22. linear_increment := (motor_speed - stored_motor_speed) / 10;
  23. stored_motor_speed := motor_speed;
  24. } --> {
  25. motor_speed := motor_speed + linear_increment;
  26. };
  27. }