# Nv network

A Nv network is a term used in BEAM robotics referring to the small electrical Neural Networks that make up the bulk of BEAM-based robot control mechanisms.

## Building blocks

The most basic component included in Nv Networks is the Nv neuron. The purpose of a Nv neuron is simply to take an input, do something with it, and give an output. The most common action of Nv neurons is to give a delay.

### BEAM Nv Neurons

The standard for BEAM-based neurons is a capacitor that has one lead as an input, and the other going into the input line of an inverter. That inverter's output is the output of the neuron. The capacitor lead that is inputting into the inverter is pulled to ground with a resistor. The neuron functions because when an input is received (positive power on the input line), it charges the capacitor. Once the input is lost (negative power on the input line), the capacitor discharges into the inverter, causing the inverter to produce an output that is passed to the next neuron. The rate that the capacitor discharges is tied to the resistor that is pulling the input to the inverter to the negative. The larger the resistor, the longer it will take for the capacitor to fully discharge, and the longer it will take for that neuron to completely fire.

## Types

There are many common network topologies used in BEAM robots, the most common of which are listed here.

### Bicore

Probably the most utilized Nv Net topology in BEAM, the Bicore consists of two neurons placed in a loop that alternates current to the output. Input into the loop is given in the form of changing the resistance in each separate Neuron, which changes the rate at which the Neuron discharges, affecting the pace at which the loop oscillates.

### Master/Slave bicores

Another common topology is using two bicores in a master/slave layout where the master bicore leads the slave and sets the pace, while the slave bicore follows at an offset pace. This layout is most commonly used for dual-motor walkers.

### Larger networks

Other larger network topologies include the Tricore, and Quadcore which are laid out in a similar way the bicore is, except with more Neurons in the loop. More complex networks exist, but are not as common due to the simplistic nature of BEAM.

## Structure

A basic Nv network is built upon several Nv neurons in a loop. The loop's timing is often varied by input sensors. This difference in timing is often meant to affect the output pattern of the Nv loop. An example of this can be seen in a simple BEAM walker robot utilizing a bicore network (2 neurons). The neural network is set up to alternate current going to the main motor in a way where under equal input from the main sensors, the neurons oscillate at an equal pace to each other, producing a steady walking gait. When input (e.g. from light sensors) is present, the timing of each neuron in the loop is varied based on the input from the sensors, affecting the pace at which the loop oscillates. This affected pace is often used to alter the walking gait of a robot in order to steer it based on the input from its sensors.

## External articles and other references

* BEAM NV Articles on the BEAM Robotics Wiki
* On Bicores on the BEAM Robotics Wiki