[MUSIC]
>> Science fiction is full of robots.
Autonomous robotic machines that either help us in of case of
R2D2 or harm us in the case of the Terminators.
Ever since these first appeared in books and movies,
we've been fascinated by robots, especially as kids.
I grew up with model robots,
always wanted my own electronic robot toy.
What would these toys be like today?
On today's show, I'm joined by John,
a retro computer and IoT enthusiast who has
a fascination for classic robot toys from '80s.
He's finally got his hands on the toy he wanted from his youth,
instead of being content there,
he's given it a brain.
Learn how John has turned his toy into
a fully autonomous robot with a power of a Raspberry Pi.
His 1984 Omnibot is capable of talking to
you fully around the corridors and offices of your workplace.
Also learn how it might be
slightly less of a threat than you may think.
The best part of this, is you can build this yourself at home.
Let's get personal computing with John Kennedy.
[MUSIC]
>> Hey John, thank you very much for coming.
>> It is great to be here.
>> Glad to have you here in the Microsoft Reactor
in Redmond with Omnibot.
>> This is Omnibot.
>> This is Omnibot, this is so-cool.
I've seen a few pictures. Tell me all about Omnibot?
>> Oh, boy, where to start?
Well, if you grew up in the 1980s,
this probably looks a little familiar.
This was my dream toy,
was to own a personal robot that
would impress all my friends and scare my parents.
I actually find this particular one on
eBay because I never was lucky enough to get an Omnibot.
I find this one on eBay in a pretty sad state.
I bought it for nominal sum,
and I ripped out its brain.
>> That sounds a bit cruel.
>> Well, yeah. I ripped
out its brain and I put Raspberry Pi in it instead.
>> Oh, my favorite computer. Big fun of Raspberry Pi.
As you said you grew up in the '80s,
it definitely got that retro look about it.
What year are we talking?
>> About 1984.
There was a whole range of these.
>> From just beyond your imagination comes Omnibot.
A fully programmable robot with a memory.
Omnibot, amaze your friends.
>> Wow. >> Intense.
>> Refreshments earth type snacks.
>> I think it even appeared in,
How I Met Your Mother, the TV show.
>> Wow.
>> This is an icon for nerds.
>> I do remember them growing up.
I was a '70s baby. In the '80s,
this is the toy I wanted.
Like you I was never lucky enough to have one,
so it's very cool to see one in the flesh.
You said, it's got Raspberry Pi, what does it do?
You want to do a quick demo, show me what it does?
>> Well, the original one came with
a little remote control and you
could just steer it around the kitchen, and frighten the cat.
This one, the first thing I did was make a remote control for it.
But of course, being a nerd,
it runs a web server on this Raspberry Pi,
which I then connect to my laptop,
so I can now steer it around
my office and frighten my officemates.
>> Nice. Show me.
>> Let's see.
>> It could go round.
>> Nice.
>> Hopefully, it can also stop going round.
>> It's got that classic plastic
'80s toys sound to it, doesn't it?
>> It has the same original motors in it.
>> The motors here are from 1984?
>> Yeah, and they are still working for mine. Please stop it.
>> It's alive. The robots are taking over.
That was really cool.
These robot things are a bit difficult, aren't they?
>> Hardware is difficult.
Software is so much easier.
>> Tell me about Omnibot. Let's talk through it,
because it looks somewhat old.
>> It might look a little old.
It's running, like I said, a web server,
and in a module called flask,
which allows a Web server to control electronics or do anything,
and it's running a little Python program that
talks to a control board which connects the motors,
the original 1980 motors.
It can lurch off in any direction under software control.
>> Nice, so the Raspberry Pi in there, running web app,
and that's what you get from just
writing just now. Trying to Control.
Web apps not always they are most reliable for robotics,
but that the [inaudible] Pythons have try driving around.
It's a thing that if anyone who knows it's been a Python,
you could retry this
because it's just sending signals to analyze data going off.
You mentioned earlier when it started going a
bit crazy about some distance sensors.
Is there more to it than just like this?
>> There is. Raspberry Pi,
it's got lots of pins for
our electronics drill and it's also got a camera attachment.
I started off by adding the Raspberry Pi camera to the front.
>> Raspberry Pi camera?
>> We get a live view of what it sees like the exterior under card
that work and sneak up to
my managers in their office, that kind of stuff.
>> That's just the standard Raspberry Pi camera module.
>> Yeah.
>> Then this bit here is called a Lidar,
that just gives you a distance anywhere
between 20 centimeters and two meters.
Should stop it crashing into walls, but no guarantees.
>> Lidars we have that
I've already talked about self-driving cars.
>> Yes.
>> This is essentially got Lidar like self-driving car technology.
>> It does.
>> That would stop a car crashing into a wall or people.
>> I know cars have better software than mine.
There's an LCD display here.
The righteous tells me things because there's no screen connected.
Whenever it starts up, they'll tell me its IP address.
>> Saying connecting that website app.
>> It also tells me the temperature of the Raspberry Pi
because Raspberry Pi's get a little
bit warm when you stress them,
and I'll tell you why I'm stressing this.
It stresses me, but I've been stressing this one,
and then down here,
there's some proximity sensors.
They light up or they send a signal to the Raspberry Pi,
If it's about to hit a wall,
just like a last minute. Oh, stop.
>> The lidar does the long-distance check and if not,
it doesn't catch the wall and there's a low lip maybe.
>> Yes.
>> Then that will catch it.
>> That's the theory.
>> It doesn't do well on desks, we determine that.
>> A little bit further away from the HTML try.
Try it again, let's see if it drive that photo back.
>> Let's see.
>> Fingers crossed. Nice,
and then it can just spin around.
>> Spin around, left and right.
It can go backwards.
It can blink, its lights on and off.
>> Also the eyes, the eyes lights up.
>> It's a pleasure to be here.
>> It can say things. I think that Raspberry Pi
has lots of speech synthesized your software,
so the Python script can just trigger speech.
>> Such as running some space inside on the Pi and is that Spica,
the original Spica that was in there?
>> It is the original Spica.
>> Which is why it's called the 1980's metallic tank it.
It's original wheels,
original Spica, new brain inside there.
Does will it's cool things.
It's Raspberry Pi's running floss crisp Python
web setter, how do you code the robot?
It's not like you plug a keyboard mouse,
and code with the blink lasts the first.
How do you code that?
>> Well, you can just tell it what to do. Unfortunately not.
I use Visual Studio Code and it can log
in remotely to the Raspberry Pi
in because it's connected to WiFi,
and Visual Studio Code has a grip plug-in where it'll just
login to a remote service as if you
were typing right on here on this keyboard.
>> That's there in my SSH extension.
>> Exactly.
>> You are using that, so the code you've got up on here,
is this the code that's on the robot right now?
>> Yeah, I can change it here and I could change there.
>> Don't tell me you through some of
the code and other cool features.
>> Yes. What flask
does is a lidar to have a method or a function that's
called whenever you push a button on a web interface.
That will call a function in my Python code.
My Python code was all about Raspberry Pi's in production.
For example, here's a function that has code by
the flask program that turns off the LEDs on the robot's eyes,
and it does that by sending some outputs,
setting outputs on the Raspberry Pi to low.
That means there's no voltage going to the LED.
>> So there's no power coming from the Pi.
You just click the button on the web page.
>> Yeah.
>> That sends a signal to the flask app.
>> Yeah.
>> The lights go off.
>> Got you.
>> You might think, why do you have
three outputs when there's only two eyes?
Which makes perfect sense,
but what I've done is out of
the LEDs which support different colors.
>> If the Pi's turned-on you get different colors.
>> Because you can send a red one,
a blue one a green one,
a combination of those,
so that's what this code in the blink-on function does.
It randomly decides which I put this at high.
It causes a voltage to flow through
the LED that causes it to change color.
Red when it's angry,
blue when it's calm,
and green might kill you.
>> Yeah. Let me less than the
right one killing us please that's a lie.
>> It can always tell us when
it's going to kill us because they're
also has a speech synthesizer built there.
>> It can tell you when it's going to kill you.
>> It can warn you, exactly.
>> It can warn you he's going to kill you.
Okay. Robot is going to try and infiltrate as we know that,
but we only know that they'll capture the ion loader robot,
but isn't that word robot would say?
>> That's exactly what a robot would say.
>> I'm human not like a robot.
>> I mean, that's convincing.
I'm convinced it's not a robot.
>> Yeah.
>> Now, whenever I think Raspberry Pi cameras,
my mind always goes to AI and that kind of things.
If they're smarter than this, I'll be worried
about the rise of the robots here.
>> Well, this is why I built the thing in the first place.
I love tinkering with machine learning.
>> Yeah.
>> I've tried these little buggies,
tiny little buggy, four wheels.
Fine, that's boring,
and so when I find this, I'm like,
You know what, I'm really going for this time.
I'm really going to build a robot that does robotic things.
The Raspberry Pi is running
the TensorFlow application with
the standard model that transit on objects.
I can just install TensorFlow,
download this model, which is already been
trained by people way smarter than me,
and it looks at the camera input and it says, that's a person,
that's a chair, that's a helicopter that's above us,
and it also tells you where those are.
>> I'm sorry, I'm just trying to imagine how do you test
that the Vatican to tape hippopotamus?
>> The helicopters and Pi, it's a busy game.
It gives you the coordinates, an x,
y coordinate of the thing it seen.
>> That's the image. If you've got like, here,
it can say, it's like there and the name it. Nice.
>> X, y coordinate of thing.
If I want to follow me,
I say find a person, tell me the x-coordinate.
Do I need to turn left or right,
and then it looks it's left or right,
and it sees whether little bit closer,
a little bit further away, and then it moves towards me.
>> This is called the image here and you this image,
it turns until you're in the middle
of the image and then it just goes straight.
>> Yeah.
>> That's were really cool, so they
can actually follow you around,
so because they could drink it and have
just floating around and you can bring down,
grab a drink. Put it back.
>> Until when I combine that Pi,
machine learning model with
the LIDAR and with the optical sensors.
It should be able to follow me but not bump into
things or not get too close and not run me over,
and so it's a really interesting way of combining machine
learning with this physical sensors
and the physical actuators of the motors.
It's really fun and it's scary though when it loses control.
I've already suffered a few injuries.
>> The robots are on the rise here.
How did the robot hurt you,
should we be afraid.
>> It was very similar situation to this.
I was on a Desk debugging it and it certainly
lurched off the desk and so I dive to catch it,
but I trip and I smashed my face right into the furniture.
I've got a bit of a black eye and mild concussion,
and then the robot fell on me.
>> To add insult to injury.
I'm going to get the human there.
>> Yes, sadly didn't record that. It's already hard to search.
>> Nice. This is really cool and I just said it's
using off-the-shelf parts inside, buy it at eBay.
This is some of just anyone could potentially buy.
>> A $100 for the parts.
>> How old are those parts. It's not hugely expensive for having
a robot who literally following you
around house with a small learn Python code.
>> Right, and your state-of-the-art machine learning models.
I mean, there's no end to what
potentially this could do it over from stares.
>> Reminds of my daughter, you should talk to her.
She's doing away just go upstairs they can't catch you.
>> The real weight is going to hurt you
if you trip over it, that's about it.
>> That's where you come. Thank you much for
bringing Omnibot to show me.
It's a fantastic robot. Thank you for joining me.
>> Pleasure, to be here. It showed off.
>> Thank you. What's cool about this project is,
what's even cooler, is you can recreate this at home.
Check out the link below for everything you need.