The Neural Dynamics of Goal-Directed Arm Movements: A Developmental Perspective

Running the Simulation in Cedar

This document provides a step by step explanation of setting up the dynamic field architecture described in The Neural Dynamics of Goal-Directed Arm Movements: A Developmental Perspective by Zibner, Tekülve and Schöner. If you prefer a video to text instructions feel free to watch the demo to the right.
The architecture was simulated with our open source software cedar:

  1. Download the architecture file reachingArchitecture.json

  2. Download and extract the portable version of cedar for your operating system from:

  3. Execute the cedar application, you will find yourself in front of an empty canvas.

  4. Navigate to File → Open file.. or press Ctrl + O and select the architecture file to open it.
    Once loading is complete, multiple connected elements will appear on the canvas in front of you. Note that all elements displayed with a name are either dynamic neural fields, dynamic neural nodes or part of the robotic simulation and correspond to elements depicted in figure 1 in [1]. The remaining elements, displayed as squares, represent transformations of field outputs, such as a variation of connection strength, convolution with a Gaussian kernel or projections to different dimensions.
    You can left-click on an element to select it and display its parameter values in the property panel to the right of the canvas. Right-clicking on an element in the canvas opens the context-menu, which for example allows to show a live plot of that element’s data. 

  5. Open the architecture's plot group by clicking on the ”toggle visibility of the selected plot group” button toggle visibility button, which can be found in the toolbar to the right of the text displaying ”Overview”. You should now see multiple field plots (1-Dimensional, 2-Dimensional as well as a 3D-Simulation of our robot arm CAREN). 
    Depending on your screen size the plot windows might not be ideally arranged. To change this move the plots around by dragging the title of the particular plot window or change its size by clicking and dragging the bottom-right corner of the plot-window. 

  6. Start the simulation by clicking the play-button  (toolbar,left-side). Peaks of activation should appear in the intial eef position and reaching target field. Those fields are spanned in a spatial dimension, which corresponds to a top-down view on the robot’s table workspace. To get a better feeling for this, compare the robot’s arm position with the target position (green sphere) in the 3D-Simulation shown in the bottom-right window. Target and initial hand position are also represented in the TargetEEFMatch field, which receives input from both fields. Note however that no supra-threshold peak is formed in the TargetEEFMatch field, as target and endeffector position do not overlap. The u_ex field represents the target in a relative coordinate system which centers on the endeffector.

  7. In order to get the arm to the target we have to manually activate the intention to reach, represented as a neural node. To do this open the boost-control either via Tools → Boost Control.. or by pressing Ctrl + B. Click on the checkbox next to TaskReach to start the movement. You will see two arms moving in the 3D-simulation. The faster arm corresponds to the virtual trajectory, while the slower arm represents the arm employing the muscle model.

  8. In order to restart the movement click on the reset button  (toolbar, to the right of play). Now you can start the movement again by activating the boost. Note how the oscillator undergoes a one-shot oscillation as the the excitatory layer u_ex forms a suprathreshold peak, which disappears after a brief amount of time. The resulting x and y components of the velocity command are depicted in VelX and VelY. At the end of the movement the initial eef position is updated through activation in the cur eef position field, which is inhibited by the intention- move node during the movement.

  9. It is possible to change the target position or enforce a two-step paradigm, which shifts the target during the ongoing movement. To change the target setup, select the Two Step Input step by either left clicking on it in the architecture or by clicking on the small arrow icon small arrow in the top-right of the Two Step Input plot . To change the behavior of the target we need to change the ISI parameter from 0 to for example 1200. After pressing the reset button and starting the movement, the target should initially be at the position specified in the centers parameter and then switch to the one specified in the secondCenters parameter. Feel free to change the target position values in the ranges of 0 to 50, which corresponds to a range of 80 cm on the table.