-
Posts
2,475 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by monstah
-
So, there I am, after finally getting off my lazy ass and installing TensorFlow on a cloud Ubuntu server and starting to play with it.
I google around this morning and, lo and behold, end up here. Tiny world!
- Show previous comments 3 more
-
If you think Randall Beer's book is spendy... You ought to see Misha Mahowald's An Analog VLSI System for Stereoscopic Vision! That one also wildly fluctuates between "I can't afford that" to "Dafaq!!! "
My solution... I got it through the library, and then scanned the whole thing into a PDF file. I'm sorry, but that book is too rich for my blood! Incredible stuff though. I was always a fan of her work. She grew up 2 hours from where I did, so there was also that bit of "cool" factor for me. Truly a shame the world lost her.The example in the book uses the right edge follower circuit as an example, so all parts unique to it are marked (Xr), where the small r denotes the right edge follower circuit.
The edge follower relies on the antenna sensor (ATSr) firing a burst of pulses relating to the angle of the object contacted. A head on contact produces a high frequency burst of pulses, and a glancing touch, a low frequency. These pulses continue a short duration, even if contact is lost with the object. This provides a degree of holding memory, to prevent to network from wandering wildly every time the antenna breaks contact with the edge being followed.
(ATSr) excites (Qr), which is a high capacitance neuron that smooths out the irregularities of the pulse chain from (ATSr) (Qr) drives 3 neurons:
(Fr) provides the hysteresis (something of a persistence to follow an edge, even if the simulation/robot temporarily moves too far from the edge being followed). (Fr) has a low threshold, and a high capacitance, meaning it's really easy to trigger, and when saturated, it holds that saturation for a while. (Fr) also excites (Lr), which triggers the right turning (RT) portion of the extended network. This means that when there is no wall contact, and (Fr) is still active, the "bug" will try to turn right and see if it can reacquire the edge it was following on the right. If it fails to find the edge after activity in (Fr) ceases, then edge following is terminated.
the other two neurons (Qr) triggers are (Lr) and (Hr). (Qr) inhibits (Lr), and excites (Hr). We will focus on (Hr) first. This pair of neurons uses the pulse frequency coming from (Qr) to orient the "bug" parallel to the edge being followed. When the angle of the head is too high (like the bug is starting to butt it's head into the wall), (Qr) excites (Hr), which triggers two things: (Hr) excites the extended left turn network (LT), and also triggers the Lateral extensor of the middle left leg (LEL2), to push the robot rightward, toward the right edge being followed. This allows the robot to turn away from the wall, without moving away from the wall.(Lr) is the same neuron (Fr) excites, but (Qr) inhibits it. This means that high pulse rates from (Qr) stop (Lr) from turning the robot right. This prevents the robot from turning right till it head butts the wall head on. As the angle of the edge being followed decreases, the pulse rate of (Qr) drops, this (Lr) is less inhibited, and (Fr) can excite (Lr), angling the robot toward the edge by triggering it to turn right.
That covers the entire edge following network. Just mirror it for the Left edge following network. -
Aw man, thanks! Two neuron pairs I noticed are missing from this description are the (NFC) and (CR) pairs, but I think I understand them given how the others interact. (NFC) is clearly a Nonfollow command, in that it inhibits the correspondent (Q)(F)(L) loop and has a similar acronym to (NWC); I've dubbed the (CR) pair "Corner Recoil".
Take the right side again:
First, (CRr) probably has a high treshold, so it needs to be excited by both (Fr) and (ATSl). That means it's been following a right edge, and just hit a left one (it's the noisy left input, not the smoother one). When activated, it does three things: first, it activates (NFCl), so that the urge to follow this left edge is ignored. Second, it inhibits (Lr), so that the urge to return to the right edge is also ignored. Lastly, it activates the (LT) complex, to turn more to the left. The (CR) then probably has a high histeresis, too, so that this last left turn lasts long enough for the roach to turn around, away from the corner it's gotten into. It does not, however, inhibit (Fr), so that the edge that was on the left is now on the right, and the roach wants to follow it; it does a 90-degree turn and keeps on following.
I'm used to reading about artificial neural networks, not BEAM robotics. One key difference I noticed in how they behave is how the time component matters for BEAM robotics. The RC components mean neurons have memory, and that its persistence can differ from neuron to neuron. In a NN paradigm, they're more like RNNs or LSTMs than a feed-forward MLP. Very interesting!
Again, thanks for arousing my curiosity, this has been a very interesting subject