This work concerns practical issues surrounding the application of learning and memory in a real mobile robot towards optimal navigation in dynamic environments. A novel control system that contains two-level units (low-level and high-level) is developed and trained in a physical mobile robot "e-Puck". In the low-level unit, the robot's task is to navigate in a various local environments, by training N numbers of Spiking Neural Networks (SNN) that have the property of spike time-dependent plasticity. All the trained SNNs are stored in a tree-type memory structure, which is located in the high-level unit These stored networks are used as experiences for the robot to enhance its navigation ability in new and previously trained environments. The memory is designed to hold memories of various lengths and has a simple searching mechanism. For controlling the memory size, forgetting and on-line dynamic clustering techniques are used. Experimental results have proved that the proposed model can provide a robot with learning and memorizing capabilities enable it to survive in complex and dynamic environments.