-
Skeletronics
02/10/2017 at 10:22 • 3 commentsI've managed to find a working copy of the Skeletronics system for AIMos on an SD card I'd used while I was working on it. This is good news, I dont have to rewrite it from memory which I hate doing. The biped was an experimental attempt to scale AIME that never worked out, with the batteries onboard the ankle servos were too inaccurate and I gave up trying to make the annoying thing walk. It cost a few quid to replace the chassis with the Quad, a choice I made because I didn't have access to better servos. You can see in the video that the servos don't respond equally, they are only running on 5v, same as the Arduino.
Now I have it working I can burn it onto the Mega in the Quad and have that running around, hooray! It might have to remain tethered to a power supply until I can upgrade the power bank with a LiPo and its own power management.
The code in the downloads contains a version of my Quantum Symmetry Data protocol.
This is an attempt to mitigate errors in transmission as the Arduino Serial doesnt use handshaking. I needed a system to recognise when bad data had been transmitted and realised that there was a class of information that I could combine over distance and send both the data and a CRC of sorts at the same time. It is not complex and demonstrates a use for Quantum Symmetry, part of Cloud Theory, which I will write about in my pages. This is an attempt to explain how information is stored at its fundamental level that a computer can understand.
Traditional systems transmit data and a method to check it afterwards, usually by adding all the data bytes together and transmitting the resulting unique code generated by this afterwards. This is done so that the receiving end can tally what is received, and if the two results don't match it can send a request for a resend of the data (or CRC, Cyclic Redundancy Check) whichever was corrupted in transfer. In a very noisy environment the system breaks down easily, and the bigger the chunk of data sent, the more likely the errors are to break it.
What I needed then was a way to error check each quanta of data at the same time as sending it. Two data lines sending the same information can achieve this, but I didn't have spare lines to handshake with, let alone use for redundant data.
I discovered a single byte of data could be sent complete with an inline redundancy check encoded into it by using a special class of information.
If you mirror image a single quanta of data within itself, it describes itself in a manner so that is easy to detect errors at that level in real time. Obviously, reversing the data bits this way means that an error would have to occur twice in different places to make the mirrored bits match, which is highly unlikely unless the system was so noisy transmission would fail anyway... It works perfectly within AIMos, which also now doesn't have the dense data serial stream I wrote it to cope with.
I think of this as entangling the information carried within the data's superstructure so it describes itself, data which is simply a closed set of identical elements arranged in a specific order. Obviously a data 'byte' can be of any length, in this case it is 4 bits mirrored to make an 8 bit quanta to convey a single character but in theory could be transmitted in chunks of any size, including variable ones, a chunk for each word for example. This demonstrates neatly that the information contained is not dependent on the data itself but is represented by it at a fundamental level by its arrangement, and this is where I am directing my thoughts on machine understanding.