2. Now you will create your own neural controller from
scratch. This controller will ignore sensory input and will simply
drive the BraitenBug in a circle of a specified diameter at a specified
velocity. First create a file called brain_circle.m. The first
line of the file should be:function [motorL, motorR] = brain_circle(sensorL, sensorR, DT)(a) In the body of the function, set both motorL and motorR to 0.5, then save the file. This controller should drive the robot forward in a straight line at half-speed. Now we'll measure the velocity of the robot. Enter "brain_circle" into the "Brain:" dialog box and run the simulation. After verifying that the code is working, reset the simulation and measure the time that it takes for the bug to complete 5 full "laps" of the arena (i.e., from center-point to center-point of the arena). Assume that the distance units are in centimeters and that time is in seconds. How far did the bug travel? __________ What was the average velocity of the bug? ________ (b) Now increase the drive to the left motor and decrease the drive to the right motor by the same amount, such that the average motor drive remains 0.5 (e.g., motorL = 0.55; motorR = 0.45;). Run the simulation and observe the diameter of the circle. Readjust the left-right balance until the diameter of the circle is approximately 10 cm (i.e., the bug trail just brushes the right side of the arena. What motor drive values did you need to achieve a diameter of 10 cm? _________________ Measure the time that it takes the bug to complete 5 full laps of the 10 cm circle: How long did it take the bug to complete 5 laps? __________ How far did the bug travel? __________ What was the average velocity of the bug? ________ (c) Create two leaky integrate-and-fire neurons with the same parameters as in brain_avoid.m (HINT: you can just copy the code from brain_avoid.m to brain_circle.m). Remove the sensory input from the two neurons and drive them with constant current injection. Use the same level of constant current injection for both neurons, such that the bug moves in a straight line, For current injection levels from 0.0 to1.0 in steps of 0.1, measure the velocity of the bug using the "5-lap" test and measure the mean firing rate by counting spikes over an appropriate time interval in the data_scope display. Generate and turn in a plot of "bug velocity (cm/s)" versus "spike rate (spikes/s)" from your data. If you have time, you can go back and fill in additional data points. (d) Now inject different amounts of current into to the left and right neurons to get the bug to move clockwise in a 10 cm diameter circle (as in part b above). Try to get the bug to move as quickly as possible while maintaining the 10 cm diameter path. What current injection values did you use? _________________ Measure the time that it takes the bug to complete 5 full laps of the 10 cm circle: How long did it take the bug to complete 5 laps? __________ How far did the bug travel? __________ What was the average velocity of the bug? ________ |