Copyright © 1998, 2001 by Ian Horswill, see comment within this file.
To make GRL work on your robot you need to:
%ms-clock,
%clock-period, %measured-clock-period) and the update_grl_time()
procedure that sets them. You also need to make sure exit()
exists if you're going to use it from GRL. If you are not running in
one of our supported environments, you will need to modify our boilerplate
versions to fit your OS.(define-transducer (drive-base-internal rotate-vel
translate-vel)
(type void)
(c-set-base-rotate-velocity rotate-vel)
(c-set-base-rotate-velocity rotate-vel))(define-signal (drive-base motor-vector)
(drive-base-internal (rotation-of motor-vector)
(translation-of motor-vector)))(define-transducer (current-sonar-readings)
(type (vector integer 16))
(state-variables (readings (make-vector 16 0)))
(c-get-sonar-readings readings)
readings)(define-signal sonar-readings (current-sonar-readings))
printf for
debugging. Look at the NWU documentation on status display
transducers like blink-events and display-signal
for ideas.