Programming the Khepera rat Computational Neuroscience NSCI 492 Spring 2008 Course organization • Syllabus at http://www.tulane.edu/~howard/CompNSCI/ 3/14/08 Harry Howard, NSCI 492, Tulane University 2 Review Two pathways between cortex and basal ganglia cortico-basal ganglionic loop 3/14/08 Harry Howard, NSCI 492, Tulane University 4 Basal ganglia as an action selection mechanism Our analysis of the basal ganglia intrinsic connectivity (Gurney et al., 2001a,b) indicated the presence of two off-centre, on-surround, feed-forward networks. One instantiation: (a) makes use of EP/SNr as its ‘output layer’ and is designated the selection pathway, the second (b) targets GP and is designated the control pathway. The control signals emanating from GP are evident when the two sub-systems are combined to give the overall functional architecture shown in Figure c. 3/14/08 Harry Howard, NSCI 492, Tulane University 5 The robot control architecture 3/14/08 Harry Howard, NSCI 492, Tulane University 6 The basal ganglia program Matlab files • intrinsic_model_ZOH.m – script that replicates the Simulink version • GPR_engine.m – function that encapsulates multiple versions of the model • ramp_output.m, DA_ramp_output.m – two different forms of the piece-wise linear output function. The latter is a modified form given in (Humphries, 2003) that captures the effects of dopamine on striatal neuron output 3/14/08 Harry Howard, NSCI 492, Tulane University 8 Simulink files • intrinsicBG.mdl • Mpieclin.c, Mpieclin.dll, Mpieclin.mexlx – Mpieclin.c is the piece-wise linear output function, compiled as an S-function (called by the Simulink model) under Windows (.dll) and Linux (.mexlx) 3/14/08 Harry Howard, NSCI 492, Tulane University 9 Five components 3/14/08 Harry Howard, NSCI 492, Tulane University 10 Activation storage • One level of activation for each component = 5 x 1 vector – but since we want to keep track of activations, i.e. plot them over time, this vector could be a matrix with rows for units and columns for time steps – but since each component evaluates 6 channels (competing actions), we ultimately make a 6 x 1 vector for each component a_id – these activations are stored at each time step t in a 6 x t matrix/array of outputs o_id 3/14/08 Harry Howard, NSCI 492, Tulane University 11 Weights • Normally, the point of a neural network simulation is to learn the weights between the components that solve the problem. • This implies a matrix of weights that represent connections between the neurons • Here, there is no learning, so the weights are stipulated as constants W_id. 3/14/08 Harry Howard, NSCI 492, Tulane University 12 Processing • At each time step, loop through every channel for each unit 3/14/08 Harry Howard, NSCI 492, Tulane University 13 MATLAB output graph plot(o_GPi(1,:),'r') plot(o_GPi(2,:),'b') 3/14/08 Harry Howard, NSCI 492, Tulane University 14 Brainwave! The basal ganglia do preemptive multitasking HumanOS • How to compare the cortico-basal ganglionic loop to the part of an OS that does preemptive multitasking/multitreading? • For instance, do the BG provide a thread life cycle with states like 'ready', 'waiting', 'running', 'blocked', 'dead', etc. ? 3/14/08 Harry Howard, NSCI 492, Tulane University 16 Next time • Develop simulation for Webots 3/14/08 Harry Howard, NSCI 492, Tulane University 17
© Copyright 2026 Paperzz