
5. Using a Script for Obstacle Avoidance
The Micro Maestro has an internal scripting language that can store sequences, read sensors, and link everything
together to form intelligent behaviors, making your hexapod truly autonomous. For complete documentation on
the scripting language, see
of the
[http://www.pololu.com/docs/0J40]
Once you have set up all of your basic gaits, erase your script, then click the “Copy All Sequences to Script”
button on the Sequence tab. This button adds a set of subrountines that you can use to access the various gaits
from within a script.
You can then call these subroutines from your script. For example,
begin
forward
left
repeat
will cause the hexapod to repeatedly step forward then turn left, over, and over. You will probably want to take
into account the sensor readings, which can be accessed using the GET_POSITION command. Here is an example
of a very simple program that uses the sensor readings to try to avoid objects – customize this to get the behavior
you want!
start:
# back up if both sensors see an object
left_sensor right_sensor logical_and
if back back back goto start endif
# back up and turn right if the left sensor sees an object
left_sensor if back right right right goto start endif
# back up and turn left if the right sensor sees an object
right_sensor if back left left left goto start endif
# otherwise, if there is nothing ahead, walk forward
forward
goto start
# returns true if the left sensor sees an object
sub left_sensor
4 get_position 512 less_than
return
# returns true if the right sensor sees an object
sub right_sensor
3 get_position 512 less_than
return
### Sequence subroutines: ###
# back
sub back
100 4992 5312 5056 frame_0_1_2 # Frame 0
120 7168 6976 frame_0_2 # Frame 1
100 6528 frame_1 # Frame 2
120 4992 5056 frame_0_2 # Frame 3
return
# forward
sub forward
100 7168 5312 6976 frame_0_1_2 # Frame 1
120 4992 5056 frame_0_2 # Frame 2
100 6528 frame_1 # Frame 3
120 7168 6976 frame_0_2 # Frame 0
return
# left
sub left
100 7168 5312 5056 frame_0_1_2 # Frame 0
150 4992 6976 frame_0_2 # Frame 1
100 6528 frame_1 # Frame 2
Sample Project: Simple Hexapod Walker
© 2001–2010 Pololu Corporation
5. Using a Script for Obstacle Avoidance
Page 18 of 21