Obviously I have no way to prove it over the internet, but my
life has pretty much been one of having a series of ideas that
were at a minimum five years too premature to be taken off life
support.
Yeah, it is also a story of having ideas and not the capital to
back them, but that doesn't detract from the fact that the
ideas were good. Anyway, I've been invited up to the MS
campus in Reading next week so they can do the hard sell on
WindowsXp Embedded, heavy emphasis on guaranteed support until
2016AD.
I won't be going, because the only crucial question won't
be answered adequately, and that question is "Will you
supply a toolkit that is the equivalent of 98lite (for win98,
which resulted in a 17mb disk footprint and an OS so light it ran
easily on a cyrix embedded computer) so that I can brutally hack
off everything I don't want. It won't be answered
adequately because the answer is basically "No."
So here we go, holding myself future tech hostage, what will
things be like and how could we be billionaires if only we had a
million or two now?
We will see the evolution of a new, far more modular,
Operating System, could be based on windows, could be linux,
could be x86, could be PIC, but the point is you will literally
only plug in the parts you want via a GUI and only those parts
will be compiled into the OS.
We will see the evolution of new, more modular hardware,
which will drive the need for the modular embedded OS, and it
will be basically a dumb, uber low power watchdog, and the main
OS which will "wake on compute" and suspend immediately
after.
IPv6 will be the new RFID, everything will be IPv6 enabled.
Cartesian co-ordinates, everything will be aware of its
position in XYZ space. One the micro scale this will be XYZ with
reference to fixed point, on the macro scale lat, long and
altitude above datum, eg GPS co-ordinates.
We will see a new TCP/IP specifically designed so that these
devices can talk to each other and exchange information.
So what are we talking about here?
This is a picture of my universal mill, the picture is taken at a
slight angle, but basically left to right is the X axis, front
and back is the Y axis, up and down is the Z.
Technically there is also the A axis, which is rotation around X,
B axis which is rotation around Y and C axis, which is rotation
around Z, but we can ignore these for now.
Now, as you can see from this picture, if we give the instruction
to me about 2 inches back in the Y axis and about 4 inches right
in the X axis we can cause the tool to crash into the bolt /
clamp holding the work down.
This is a problem in CNC, we can define our machine in software,
and we can define our "block" from which the machine
will make the part, and we can define where the block is placed
within the machine envelope, but defining the other bits and
pieces like work vice and hold down clamps it much harder and
much less accurate, it doesn't define each object so much as
define a "here be dragons" area within the machine work
envelope.
POSITION within the XYZ envelope is generally defined in one of
two ways.
Method one is telling the software that the axes are moved by
threaded bars knows as leadscrews or ballscrews (depending on
type) that are for example ten threads to the inch.
So if we direct couple a 1.8 degree or 200 steps per revolution
stepper motor to this leadscrew we can say that one revolution of
the leadscrew moves the table 0.1 inches, and so one step of the
stepper will move it 0.1 / 200 = 0.0005 inches.
The other way is to take a direct reading from an optical glass
scale. As it happens my machine has both.
But, there is another way.
DGPS, or differential GPS, uses a known fixed location to add
error correction to GPS, so accuracy near the DGPS reference base
is 10cm or better, rather than 100 metres.
SO within the confines of our machine table, it is entirely
possible for a combination of these technologies to be sufficient
to say "Hi, I am a machine vice, and I am 100mm wide in X by
300 mm long in Y by 75 mm high in Z, and I am located at 200 X
and 100 Y, plus or minus 10mm
Now this plus or minus 10mm accuracy is nowhere near sufficient
for machining or positioning per se, but, it is plenty good
enough for avoidance.
This means I can turn the machine table into a virtual obstacle
course of vices and clamps (par for the course) and never be able
to cause the spindle to crash into something that it doesn't
know is there.
----------------------------------
Now there is something often used in vehicle crash simulations
called FEMS, or Finite Element Modelling, and fems treats an
object, say a handkerchief, as a cloud of points in a plane, and
another object, say a ball, as a cloud of points in a sphere.
In the case of the ball we can define the links between each
point as being rigid, the ball is made of steel.
In the case of the handkerchief we define them a different way,
strong in tension along the plane, weak in compression, and very
weak resistance to deforming the plane into a crumpled sheet by,
say, gravity.
We can now drape our handkerchief over our ball, define some
environmental parameters such as gravity, friction, stiction,
etc, and throw the whole problem at a computer that calculates
the sums for each point, one action frame at a time.
The result is an animation of the hanky sliding and falling off
the steel ball, and the interesting this is if you run it ten
times with the exact same starting parameters, the hanky ends up
crumpled in ten, slightly different, but coherent and realistic
ways.
--------------------------------
Now, it is 2020 AD and we have our IPv6, our cartesian location
awareness, our embedded, low power, compute on demand hardware
and software, and our new communications stack.
Instead of FEMS type modelling where the whole thing is simulated
and thrown at a powerful computer to churn through, each FEMS
node acts more like a smart neuron, individually it has
negligible computing power, but then it only needs to know about
itself and its neighbours.
Just like the machine tool, if it is at 200,300,50, and intends
to move to 195,300,50 in a straight line through 199,300,50
198,300,50 197,300,50 196,300,50 it doesn't actually matter
that there are 1,000,000 (Imetre in X in microns) x 500,000
(500mm in Y in microns) x 250,000 (250mm in Z in microns) =
125,000,000,000,000,000 possible physical locations, it only
cares about 5,000 in a straight line.
If for example the location aware machine vice is in the way,
then it just triggers an "avoidance" or
"stop" routine, which is computationally trivial,
literally a binary state.
Is anything near me? Y/N?
If the answer is "N" in any given direction then I can
move in that direction, and then I can invoke computationally
intensive operations involving generating my route in that cloud
of 125 quadrillion points in 3 D space.
In a sense, in a very low level sense, in a very low level but
sufficient sense, this is not intelligent, but not totally dumb
either, location aware neurons interacting in real time, versus
the abstract representation of that cloud as FEMS and being
crunched in extremely computationally intensive and non real
time...
It's a bit like the robosapien vs the 50 cent electronic
insect made from 12 components, both "walk" after a
fashion. They just take a different approach.
What I am talking about is kind of like a Robosapien that used
the low level electronic insect technology to actually walk, and
used the high level computing power to control the walking.
Literally mimicing the biological approach.
----------------------------------------
Take this away from the confines of my milling machine and take
it out into the world in the macro scale.
We have a yard full of steel 40 foot shipping containers.
Now each container has a serial number, we can replace this with
a barcode or RFID tag, it makes no odds, they are all
"dumb" methods.
A central computer contains the records of where each container
is, what it contains, and where it has to go.
In the new system, each container contains the "neuron"
that knows what it is, knows where it is, and knows which other
neurons are nearby.
If you just thought "hang on, he is talking about TCP/IP
routing vs POTS" then pat yourself on the back, you just got
it.
Add a fleet of single container mobile gantries that also have
neurons, and a higher level computer that takes instructions from
the central computer (which has been relieved of the burden of
the FEMS like computation) and the shipping yard just turned from
a relatively simple railway sidings / POTS system into an
apparently chaotic anthill TCP system with vastly increased
throughput.
A bit like watching a command and conquer battlefield sim, or
ants, sometimes you'll get traffic clogged up, but that's
what the high level computer is for, or just wait, eventually the
"neurons" will solve the hanoi towers by
themselves.
=======================================
I had a friend, he's dead now, but he built this toy railway.
The track was plastic, so switches / points etc were always open
in both directions, and he laid out this really complex
cloverleaf sort of layout.
He had half a dozen little engines, driven by electric motors.
Each engine had a very basic "electronics" package,
just two microswitches, one at the front and one at the rear, and
a couple of relays and a single solenoid.
The relays did forwards / reverse, the solenoid was a tab that
did left/right when approaching points from the single end.
That was it.
I got a call from his girlfriend, could I come over, Jimmy has
been stuck in the spare room for the past week playing with
trains, had to be reminded to eat, blah blah.
So I drive up there, and see Jimmy crouched over the toy train
set.
Within a few minutes I too am fascinated by the motion, and Jimmy
explains to be that it gets even better when different engines
have different levels of charge in their batteries and so travel
at different speeds, or even when one or two conk out completely
and instead of changing the batteries he leaves them there, dead
on the track.
Each engine had been sprayed with a different colour aerosol
paint.
They worked together in patterns to generate recognisable routes.
It would have been trivial nowadays to completely hide the
elctronics inside the engine bodies, and do away with the
clicking microswitches and relays by using IR and transistors,
I must stress this point.
SEEING PHYSICAL OBJECTS THAT YOU CAN PICK UP ACT THIS WAY IS
EXTRAORDINARILY COMPULSIVE, because you KNOW that they are not
alive, or sentient.
And yet, it would be trivial to convince 99% of the public today
that each engine was actually controlled by next gen
micro-miniature computers running AI's.
But they were just neurons, like the 12 component walking
electronic insects.
But the instant those neurons were equipped with communication
devices (the microswitches front and rear) and choice devices
(the left or right at the points solenoid tab) for all the world
they looked and acted like they were intelligently directed.
Jimmy had a train set that ran itself, with each train controlled
by its own driver.
I was actually reminded of this yesterday, after receiving the MS
Reading invite I went over to visit my mum, she has a 5 foot
tropical aquarium, and those tiny little fish brains working in
3d space clicked in my head compared to the 3d space of my
universal milling machine table.
===========================
At the low end, imagine roomba the robotic vacuum cleaner,
location aware, in a room full of location aware furniture...
even in todays money with todays tech this is a thousand dollars
worth of hardware lab experiment.
Why stop and one roomba, add 5 more to the room.
Then add three that deposit crap instead of picking it up.
It's life Jim, but not as we know it...
not until 2020AD at least...
and if any of you are billionaires on the back of it by them,
remember me in your will.
I've done industrial robotics at one point in my career, and
one of the hardest things for people to understand is that the
best industrial robots are little better than poor ol' abused
Tommy - deaf, dumb, and blind. They don't have NEARLY the
sensor package we take for granted.
Let me throw out a second idea for your mill and avoidance: what
if the tool had pressure sensors around it, such that if, as it
were traversing and were to encounter an obstruction, it would
sense pressure and stop. What if those pressure sensors, rather
than just being on the surface of the tool (and thus, often
"too late" for avoidance), were connected to flexible
plastic bristles, about an inch or two long? If you want to see
the biological model, just look your dog or cat in the face. Yes,
I am talking whiskers for the machine.
The idea of "everything knows where it is and broadcasts
that information" would be neat, but imagine the bandwidth
used for the signaling. Imagine the amount of processing power it
would take to weed out the unimportant data from the critical.
Really, the problem is the same whether the devices are
announcing their positions or the moving device is
"perceiving" them with its own sensors: there's
just SO MUCH data to sort through.
Even whiskers are dumb because you'd have to reprogram for
every piece of work that happened to have a bump that might
trigger them.
The entire story is dumb, actually. The whole
98lite piece misses the bigger picture of development time vs
Moore's law. Not that the reduction in complexity
doesn't have advantages, but the real world impact of those
advantages has been greatly reduced.
eh? there are still controller boards sold that have under
8kb of rom and under 2k ram and 8 bit microprocessors running at
less than 20 MHz. probably at least dozen of them within a
hundred yards of you.
dumb??? there are controller boards sold used widely with
under 2K rom and under 0.25kb ram, probably quite a few within a
hundred yards of you right now.
posted once, got an error but post didn't show
up. same with second really, that was this
morning (CST), now here it is evening and they're both here.
anyway, very low end devices still used, even boards with
80486 and 1-64MB are still for sale too if you want to run
windows 98 on a flash card, someone's still using that
"dumb" stuff.
Rather than sensors and software to get the milling head to avoid
the metal clamps, why don't you just make some new clamps of
the same sort of plastic or other material that you are milling.
If you use enough clamps you won't have to worry (or care) if
one of them gets a little extra milling. Simplify the problem.
High tech isn't always the best answer.
The mill table is an example, the simplest solution for me is to
check toolpaths before executing.
But still, you're missing the point.
This isn't about machine tools, or toy trains, or container
ports... rather, it is about everything.
We are currently in the stage (one comment particularly) where
the head of IBM can announce that there may eventually be a need
for as many as six computers worldwide, and Isaac Asimov, who
wasn't a fool, talked about "Multivac", and
these "neurons" as I am calling them here are as far
from our ken as the desktop PC was to them.
Oh, sorry, didn't reallize there was a point to the article,
thought it was just a collection of short stories! Pray
tell, what exactly are you trying to convey my logorrheic friend?
It has echoes of what Locata is trying to do. One of
their projects involves attaching their location devices to all
movable objects (such as crane jibs) in places such as container
terminals and mines. This data is then used to plan movements and
avoid collisions.
Is that all he's on about? Bell Labs and others have
been working on stuff like that for almost two decades.
Guy - might help if you Googled some of your
brilliant ideas a little.
Kind of reminds me of all my robotics
"inventions" when I was a teenager. Bit of a
lesson on what a few minutes in the library is worth. (This
was before even Gopher was available, let alone the WWW we know
and love today).
That, and the application of the object oriented programming
paradigm to real world objects.
Each object in the real work has a processing element that
embodies the concept of an object oriented "object"
with properties corresponding to the real world object. The OO
object provides a set of methods, with which the object can be
manipulated and queried, again corresponding to the real world.
Example methods are "move" (with a side effect of the
real world object moving), "detect collision",
"tell me your size", and so on. Objects can call each
other's methods.
Future tech.
Obviously I have no way to prove it over the internet, but my life has pretty much been one of having a series of ideas that were at a minimum five years too premature to be taken off life support.
Yeah, it is also a story of having ideas and not the capital to back them, but that doesn't detract from the fact that the ideas were good. Anyway, I've been invited up to the MS campus in Reading next week so they can do the hard sell on WindowsXp Embedded, heavy emphasis on guaranteed support until 2016AD.
I won't be going, because the only crucial question won't be answered adequately, and that question is "Will you supply a toolkit that is the equivalent of 98lite (for win98, which resulted in a 17mb disk footprint and an OS so light it ran easily on a cyrix embedded computer) so that I can brutally hack off everything I don't want. It won't be answered adequately because the answer is basically "No."
So here we go, holding myself future tech hostage, what will things be like and how could we be billionaires if only we had a million or two now?
So what are we talking about here?
This is a picture of my universal mill, the picture is taken at a slight angle, but basically left to right is the X axis, front and back is the Y axis, up and down is the Z.
Technically there is also the A axis, which is rotation around X, B axis which is rotation around Y and C axis, which is rotation around Z, but we can ignore these for now.
Now, as you can see from this picture, if we give the instruction to me about 2 inches back in the Y axis and about 4 inches right in the X axis we can cause the tool to crash into the bolt / clamp holding the work down.
This is a problem in CNC, we can define our machine in software, and we can define our "block" from which the machine will make the part, and we can define where the block is placed within the machine envelope, but defining the other bits and pieces like work vice and hold down clamps it much harder and much less accurate, it doesn't define each object so much as define a "here be dragons" area within the machine work envelope.
POSITION within the XYZ envelope is generally defined in one of two ways.
Method one is telling the software that the axes are moved by threaded bars knows as leadscrews or ballscrews (depending on type) that are for example ten threads to the inch.
So if we direct couple a 1.8 degree or 200 steps per revolution stepper motor to this leadscrew we can say that one revolution of the leadscrew moves the table 0.1 inches, and so one step of the stepper will move it 0.1 / 200 = 0.0005 inches.
The other way is to take a direct reading from an optical glass scale. As it happens my machine has both.
But, there is another way.
DGPS, or differential GPS, uses a known fixed location to add error correction to GPS, so accuracy near the DGPS reference base is 10cm or better, rather than 100 metres.
SO within the confines of our machine table, it is entirely possible for a combination of these technologies to be sufficient to say "Hi, I am a machine vice, and I am 100mm wide in X by 300 mm long in Y by 75 mm high in Z, and I am located at 200 X and 100 Y, plus or minus 10mm
Now this plus or minus 10mm accuracy is nowhere near sufficient for machining or positioning per se, but, it is plenty good enough for avoidance.
This means I can turn the machine table into a virtual obstacle course of vices and clamps (par for the course) and never be able to cause the spindle to crash into something that it doesn't know is there.
----------------------------------
Now there is something often used in vehicle crash simulations called FEMS, or Finite Element Modelling, and fems treats an object, say a handkerchief, as a cloud of points in a plane, and another object, say a ball, as a cloud of points in a sphere.
In the case of the ball we can define the links between each point as being rigid, the ball is made of steel.
In the case of the handkerchief we define them a different way, strong in tension along the plane, weak in compression, and very weak resistance to deforming the plane into a crumpled sheet by, say, gravity.
We can now drape our handkerchief over our ball, define some environmental parameters such as gravity, friction, stiction, etc, and throw the whole problem at a computer that calculates the sums for each point, one action frame at a time.
The result is an animation of the hanky sliding and falling off the steel ball, and the interesting this is if you run it ten times with the exact same starting parameters, the hanky ends up crumpled in ten, slightly different, but coherent and realistic ways.
--------------------------------
Now, it is 2020 AD and we have our IPv6, our cartesian location awareness, our embedded, low power, compute on demand hardware and software, and our new communications stack.
Instead of FEMS type modelling where the whole thing is simulated and thrown at a powerful computer to churn through, each FEMS node acts more like a smart neuron, individually it has negligible computing power, but then it only needs to know about itself and its neighbours.
Just like the machine tool, if it is at 200,300,50, and intends to move to 195,300,50 in a straight line through 199,300,50 198,300,50 197,300,50 196,300,50 it doesn't actually matter that there are 1,000,000 (Imetre in X in microns) x 500,000 (500mm in Y in microns) x 250,000 (250mm in Z in microns) = 125,000,000,000,000,000 possible physical locations, it only cares about 5,000 in a straight line.
If for example the location aware machine vice is in the way, then it just triggers an "avoidance" or "stop" routine, which is computationally trivial, literally a binary state.
Is anything near me? Y/N?
If the answer is "N" in any given direction then I can move in that direction, and then I can invoke computationally intensive operations involving generating my route in that cloud of 125 quadrillion points in 3 D space.
In a sense, in a very low level sense, in a very low level but sufficient sense, this is not intelligent, but not totally dumb either, location aware neurons interacting in real time, versus the abstract representation of that cloud as FEMS and being crunched in extremely computationally intensive and non real time...
It's a bit like the robosapien vs the 50 cent electronic insect made from 12 components, both "walk" after a fashion. They just take a different approach.
What I am talking about is kind of like a Robosapien that used the low level electronic insect technology to actually walk, and used the high level computing power to control the walking.
Literally mimicing the biological approach.
----------------------------------------
Take this away from the confines of my milling machine and take it out into the world in the macro scale.
We have a yard full of steel 40 foot shipping containers.
Now each container has a serial number, we can replace this with a barcode or RFID tag, it makes no odds, they are all "dumb" methods.
A central computer contains the records of where each container is, what it contains, and where it has to go.
In the new system, each container contains the "neuron" that knows what it is, knows where it is, and knows which other neurons are nearby.
If you just thought "hang on, he is talking about TCP/IP routing vs POTS" then pat yourself on the back, you just got it.
Add a fleet of single container mobile gantries that also have neurons, and a higher level computer that takes instructions from the central computer (which has been relieved of the burden of the FEMS like computation) and the shipping yard just turned from a relatively simple railway sidings / POTS system into an apparently chaotic anthill TCP system with vastly increased throughput.
A bit like watching a command and conquer battlefield sim, or ants, sometimes you'll get traffic clogged up, but that's what the high level computer is for, or just wait, eventually the "neurons" will solve the hanoi towers by themselves.
=======================================
I had a friend, he's dead now, but he built this toy railway.
The track was plastic, so switches / points etc were always open in both directions, and he laid out this really complex cloverleaf sort of layout.
He had half a dozen little engines, driven by electric motors.
Each engine had a very basic "electronics" package, just two microswitches, one at the front and one at the rear, and a couple of relays and a single solenoid.
The relays did forwards / reverse, the solenoid was a tab that did left/right when approaching points from the single end.
That was it.
I got a call from his girlfriend, could I come over, Jimmy has been stuck in the spare room for the past week playing with trains, had to be reminded to eat, blah blah.
So I drive up there, and see Jimmy crouched over the toy train set.
Within a few minutes I too am fascinated by the motion, and Jimmy explains to be that it gets even better when different engines have different levels of charge in their batteries and so travel at different speeds, or even when one or two conk out completely and instead of changing the batteries he leaves them there, dead on the track.
Each engine had been sprayed with a different colour aerosol paint.
They worked together in patterns to generate recognisable routes.
It would have been trivial nowadays to completely hide the elctronics inside the engine bodies, and do away with the clicking microswitches and relays by using IR and transistors,
I must stress this point.
SEEING PHYSICAL OBJECTS THAT YOU CAN PICK UP ACT THIS WAY IS EXTRAORDINARILY COMPULSIVE, because you KNOW that they are not alive, or sentient.
And yet, it would be trivial to convince 99% of the public today that each engine was actually controlled by next gen micro-miniature computers running AI's.
But they were just neurons, like the 12 component walking electronic insects.
But the instant those neurons were equipped with communication devices (the microswitches front and rear) and choice devices (the left or right at the points solenoid tab) for all the world they looked and acted like they were intelligently directed.
Jimmy had a train set that ran itself, with each train controlled by its own driver.
I was actually reminded of this yesterday, after receiving the MS Reading invite I went over to visit my mum, she has a 5 foot tropical aquarium, and those tiny little fish brains working in 3d space clicked in my head compared to the 3d space of my universal milling machine table.
===========================
At the low end, imagine roomba the robotic vacuum cleaner, location aware, in a room full of location aware furniture... even in todays money with todays tech this is a thousand dollars worth of hardware lab experiment.
Why stop and one roomba, add 5 more to the room.
Then add three that deposit crap instead of picking it up.
It's life Jim, but not as we know it...
not until 2020AD at least...
and if any of you are billionaires on the back of it by them, remember me in your will.