- 1 - Matthew M. Walsh IST 597A 5 May 2007 Mapmaker Maps are

Matthew M. Walsh
IST 597A
5 May 2007
Mapmaker
Maps are essential while navigating through the environment. For instance, you
might stop to consult a street map while traveling through Manhattan. Other maps are
less concrete, however. Abstract spatial maps, for example, allow you to walk through a
dark but familiar bedroom without bumping into the walls and furniture. This ability to
mentally organize space is referred to as cognitive mapping (Hirtle & Heidron, 1993).
People tend to form cognitive maps from an egocentric perspective (Avraamides &
Sofronious, 2006). As a result, objects in the visual scene are organized with regards to
distance and heading from oneself. In addition, while navigating through environments,
people attempt to select optimal paths that minimize distance and travel time. This
sensitivity to optimization has been observed during navigation in both actual and virtual
environments (Francesca et al., 2007). Finally, humans often incorporate distal cues into
cognitive maps in order to more accurately capture features of the environment (Baguley
et al., 2006; Gunzelmann & Anderson, 2006).
The study of cognitive maps and human navigation have influenced related fields
of science. Navigational strategies observed in human performance have been applied to
robotic guidance (Escrig & Toledo, 2000). Similarly, autonomous vehicles rely on
increasingly sophisticated forms of mapping behavior (Pfister, 2003). In addition, the
design of virtual environments and GPS navigation systems have been greatly influenced
by human mapping tendencies (Gamberini & Bussolon, 2001).
dTank offers a useful setting for developing and testing new computational
models of navigation. The program is easy to interact with and offers a robust
-1-
environment capable of eliciting complex processes. Because of these strengths, I chose
to use dTank in order to create a novel navigation system and map maker.
Numerous goals and objectives inspired the design of Mapmaker. Primarily, I
wanted to create a model that mimicked aspects of human spatial navigation. First, I
decided that the model should possess an egocentric perspective. dTank meets this
criteria because of its limited field of view. Secondly, I sought to devise a tank that
employed a systematic and efficient pattern of scanning. This pattern does not necessarily
need to yield the optimal path, but instead should employ well-organized scanning
behavior and guidance. Third, I attempted to create a tank that could identify different
types of terrain and provide information in the form of written output. Finally, I wanted
to design a straightforward model that was suitable for tinkering and further modification.
Next, I imposed a series of constraints on the model’s environment. I explicitly
provided information about board dimensions to the tank. Although these values can be
scaled to accommodate any size board, Mapmaker cannot calibrate itself. I limited
Mapmaker’s vision to immediately adjacent squares. Additionally, I strove for parsimony
while generating elements. I attempted to avoid creating excessive commands and instead
favored a select group of actions and operations reused in multiple problem spaces.
The resulting model, Mapmaker, functions as two discrete but connected sets of
problem spaces (Figure 1). The first set of seek spaces control global movement across
the board. At the start of each run, Mapmaker establishes which wall it is closest to and
moves directly to the corresponding top corner. Thus, the top left and top right corners
both serve as potential home positions from which the seek problem spaces are activated.
After Mapmaker reaches the top corner, it begins a series of back-and-forth movements
-2-
across the board (Figure 2). Each time it reaches a wall, Mapmaker moves down before
beginning another circuit of movements.
The set of dodge problem spaces become active when Mapmaker encounters
impenetrable terrain (Figure 3). If a rock is encountered, a series of operators guide
Mapmaker around the bottom edges of the obstacle. After the terrain has been
circumnavigated, Mapmaker returns to the standard scan pattern dictated by the seek
problem spaces.
Mapmaker’s operators are coordinated through feedback from the environment as
well as through pre-established marker variables. The data type labeled “flags” contains
relevant navigational information including the scan direction, the movement type to be
executed, and the current goal of Mapmaker (seekHome, seekTerrain or seekDodge).
These variables monitor Mapmaker’s progress and initiate appropriate operators in a
serial fashion. Other marker variables are contained within the count data type. The first,
labeled count1, tracks the number of times certain productions have fired. For example,
the downward movement in the seekDown problem space fires three consecutive times
after which a turn operator is proposed. Additionally, all turn operators (excluding the
first turnUp action) fire three times. This redundancy was necessary because dTank often
retracted isolated turn commands, resulting in aimless tank wandering.
Characteristics of terrain were printed during tank movement. Values were
recorded for terrain immediately above and below the tank. Each terrain print action
indicated the coordinates of the tank and the attributes for adjacent terrain. Data were
separated by empty print commands in order to generate a space-delineated output that
was subtle for application in MATLAB.
-3-
The finished program, Mapmaker, performed moderately well during a series of
exploratory trials. During each trial, Mapmaker was allotted 10,000s to scan various
maps with fixed dimensions of 500X500. The model never needed the full time and
typically finished scanning the board within 3000s. Board size could be varied by
replacing the atRight and atLeft conditions specified in Mapmaker. Figures 4-6 show
representative trials taken from each of three map configurations; the 20X20 board, the
50X50 board, and the El_Alamein board (each with the scale set to 500X500 with no
time limits imposed). As seen in the figures, Mapmaker successfully navigated through
most obstacles and achieved fairly thorough coverage of the board. Presumably, people
employ a similar pattern of systematic scanning. Conversely, Mapmaker failed to provide
detailed information pertaining to terrain. In hindsight, capturing terrain requires
significant precision because most obstacles on the boards are only momentarily adjacent
to Mapmaker. By decreasing the tank’s velocity, more accurate data would be possible.
Certain aspects of Mapmaker’s performance contrast with human navigation. For
example, Mapmaker possesses no awareness of previously encountered, distal terrain.
Conversely, humans can easily develop cognitive maps and base subsequent navigation
on these maps. Mapmaker also settles into local minima at times. For example, while
pursuing the left side of the board Mapmaker only moves to the left, and while pursuing
the right side of the board, Mapmaker only moves to the right. As a result, Mapmaker
will occasionally settle into irresolvable terrain impasses that require backtracking. While
humans are somewhat reluctant to retrace steps, they can make the transition when
required. The strict hierarchy governing Mapmaker’s movement prevents this action. In
-4-
addition, Mapmaker’s movement is most heavily oriented along the horizontal axis.
People might show greater flexibility while generating navigational sequences.
These shortcomings offer potential directions for future work. A simple step
would be to include a retreat operator in Mapmaker’s design. This would alleviate
problems related to settling in local minima. Mapmaker could also be altered to store
previous positional data in a working memory structure, allowing for preemptive
avoidance of impending obstacles and planning of more efficient paths. Another
interesting step would be to build a communication link between Mapmaker and other
agents in the dTank environment. For instance, Mapmaker could scout a board and relay
geographic information to a battalion. This communication could convey information on
strategic positions, or could be used to coordinate attacks.
In order to improve Mapmaker, certain aspects of the dTank environment must
also be addressed. For instance, automated tanks tend to stop moving before reaching
walls. In an earlier model, I used the offMap values of terrain variables to identify edges
of the board. I changed this relative designation to a coordinate-based buffer zone
because Mapmaker tended to halt before reaching walls. Second, the tank often collided
with nearby terrain even if immediately adjacent squares were terrain-free. For this
reason, I abandoned an earlier strategy of initiating dodging after detecting a stone in the
tank’s path. The replacement measure responded when the throttle was equal to zero but
the tank was not on a wall. In other words, Mapmaker deduced that it had collided with
an object when its throttle unexpectedly dropped to zero. Finally, the model’s
performance varies on different computers. This is most apparent in regards to the speed
-5-
at which Mapmaker moves. As a result, the model must be tweaked for different
computers.
In conclusion, Mapmaker provides a simple, usable tool for future development of
a model of human navigation. Additionally, dTank offers a good environment for
pursuing this question. Strengths of Mapmaker include accessible code and good mobility
on the board. Currently however, the design fails to capture many intrinsic details of
human navigation.
-6-
References
Avraamides, M.N. & Sofronious, S.G. (2006). Spatial frameworks in imagined
navigation. Psychonomic Bulletin & Review, 13(3), 510-516.
Baguley, T., Lansdale, M.W., Lines, L.K. & Parkin, J.K. (2006). Two spatial memories
are not better than one: Evidence of exclusivity in memory for object location.
Cognitive Psychology, 52(3), 243-289.
Escrig, M.T., & Toldeo, F. (2000). Autonomous robot navigation using human spatial
concepts. International Journal of Intelligent Systems, 15(3), 165-196.
Francesca, M., Antonella, C., Giuliano, G. (2007). Planning optimal paths: A simple
assessment of survey spatial knowledge in virtual environments. Computers in
Human Behavior, 23(4), 1982-1996.
Gamberini, L. & Bussolon, S. (2001). Human Navigation in Electronic Environments.
CyberPsychology & Behavior, 4(1), 57-66.
Gunzelmann, G. & Anderson, J.R. (2006). Location matters: Why target location impacts
performance in orientation tasks. Memory & Cognition, 34(1), 41-59.
Hirtle, S. C., & Heidorn, P. B. (1993). The structure of cognitive maps: Representations
and processes. In T. Grling & R. G. Golledge (Eds.), Behavior and environment:
Psychological and geographical approaches (pp. 170-192). Amsterdam: NorthHolland.
Pfister, H.L. (2003, September). Cooperative control of autonomous vehicles using fuzzy
cognitive maps. Talk presented at the 2nd AIAA “Unmanned Unlimited” Systems,
Technologies, and Operations-Aerospace, San Diego, CA.
-7-
FIGURE CAPTIONS
Figure 1. Mapmaker is divided into eight problem spaces set within a topspace. Seek
operators control the basic left-to-right and right-to-left scanning pattern of Mapmaker.
Dodge operators enable the model to dodge terrain.
Figure 2. Each sequence of horizontal movement ends with Mapmaker reaching the
opposite wall or encountering a rock. Based on the outcome, the model either continues
to seek horizontally or moves into a series of dodging maneuvers.
Figure 3. During the obstacle avoidance portion of movements, the dodge problem
spaces guides Mapmaker past the obstacle by moving down the side of the obstacle,
across its bottom, and then up the other side.
Figure 4. Positional data and terrain information recorded during navigation of the
20X20 board. Red circle corresponds to tank starting point, black circles correspond to
positional points, green crosses correspond to terrain readings of grass and black crosses
correspond to terrain readings of “offMap”.
Figure 5. Positional data and terrain information recorded during navigation of the
50X50 board. Color notions correspond to those in Figure 4.
Figure 6. Positional data and terrain information recorded during navigation of
El_Alamein. Color notations correspond to those in earlier figures.
-8-
Figure 1.
-9-
Figure 2.
- 10 -
Figure 3.
- 11 -
Figure 4
- 12 -
Figure 5.
- 13 -
Figure 6.
- 14 -