hi everybody we're here to talk about
Cylon j/s and next generation of
JavaScript robotics so good afternoon
this is Maker Faire
if you're not supposed to be at Maker
Faire get out now still time I am dead
program in the real world
my name is Ron but I invent program
ringleader of hybrid group this guy over
here is a tease Ankush Adrian's Ankush
he's the serious programming guy and
hybrid group that means he does all the
work and I take all the credit which is
nice so with the hybrid group we're a
software company based in Los Angeles
California home of the flying space
robots after your fan by the Jet
Propulsion Laboratory or SpaceX you know
I'm not making this up and we're also
the creators of kids for me
winter I won the Fukuoka Ruby Awards
your before last against by the terabyte
of downloads and a month it's a free and
open source for teaching kids
programming however today we're here to
talk about JavaScript robotics no not
Maria that's I talk about the robotic
proletarian revolution we don't have
time today anyway the future is already
here it's just not very evenly
distributed these hats with the futurist
and author William Gibson said I think
that's really true especially if you're
looking around Maker Faire you realize
that you can actually just go out to
retail stores and order online all sorts
of drones and robotic devices and
physical computing systems the problem
is however now it's been way too hard to
take these
off-the-shelf products and actually
integrate them together into something
that does anything at all useful and
that's the reason why we created Cylon
KS it's a JavaScript based open-source
robotics and physical confusing platform
that runs on top note Jas so it's very
very fast and it's relatively easy to
use it's you might think of it trying to
make well it supports obviously multiple
hardware devices we support 19 different
platforms right now
it supports different hardware devices
and it supports multiple different hard
devices at the same time as you will see
at the very end of this hop so we're
trying to make physical computing and
robotics development as easy as it is to
do web development today so if your web
developers going easy no it actually is
easy compared there how it was back in
the Battle of Davis so without further
ado it has a built in API because we
need an API in the program your robots
across the Internet's if you want to do
anything interesting test-driven
robotics you should be testing your
robotics and physical computing
platforms before you deploy them out in
the real world
just ask Toyota about their brake
systems or maybe GM about their ignition
systems if you work for either together
or GM I'm really sorry we have a
command-line interface since the CLI is
the new API in fact we split that out of
it so it's a full-on separate project
both port you can check that out at
Gordon IO
we also are promoting something called
Rolen hops which is DevOps for robotics
and that's a separate project as well
you can check that out at Romanovs comm
but we don't have time for all that
today show me i demo all right so of
course everything here starts with it or
do we know
here knows an Arduino is so we support
the arguably that was one of the 19
different platforms and what we're going
to do right now is a tuning here is
going to use his computer yes he's going
to use his computer which plugged in via
this cable it's using a sketch that's
already on the Arduino funk fermata
which is a generic serial protocol that
you can talk to different
microcontrollers with and then use your
computer as the brains while making the
microcontroller do all the hard work so
very quickly we don't even let's just
look at the code real fast yeah yeah so
here's a very very simple Cylon KS
program first we save our Cylon equals
require Cylon in nodejs that brings in
the required code that we need from
Cylon KS then we say Cylon robot and we
have connection connections are very
much to devices like object relational
mapper aren't to databases it lets us
use the same code and switch between
different platforms and then we have a
device the name is the LED and it uses
the LED driver and then the one that
we're going to do is every one second
we're going to mine LED toggle which is
going to pause the led to blink then
last but not least we say dot start so
heat greens gonna run this down here and
if the demo gods favored us yes a $2,500
lamp
applause gratuitous applause
all right so let's get into some other
cool stuff how about the tehsil who here
is ever burns of the tehsil so the
testable is a new JavaScript powered
microcontroller you probably haven't
seen them because they haven't shipped
yet but they're from a great company
called technical machine so if we take a
look at the code you'll see it looks
almost exactly like the code we used on
the Arduino the only difference being
that the connection is going to be using
the tehsil adapter that way otherwise
it's silly LED device on a different
hand and then the work that we're going
to do the exact same work so it's pretty
much exactly the same code however using
the Tuffle microcontroller so this is
the tussle right here plug do the exact
same circuit exact same breadboard so
we're going to run the code should
download it now the different series
whereas with the Arduino the computer
was doing all of the hard work and the
Arduino was just responding in this case
the card is actually running on the
microcontroller itself so it's a fully
JavaScript powered microcontroller the
only reason we're plugged into it is so
that we have power if we were plugged in
through a battery then we wouldn't need
that so yes same kook blinking tehsil
blink
all right the BeagleBone black bean
alone black is a fantastic single board
Linux computer a lot of different
projects are powered by a yeoman ROV
project is powered by lots of other
things it's a single board let's give
you they're powered by an honor
microprocessor it is its own separate
computer because all the work we're
actually gonna run silo Jas on it it's
sensor fashion to the way we did the
tussle but it's a full Linux computer so
we can do all of the wonderful things
that you can do is Linux so here's the
code it looks almost exactly like the
code you saw with the Tesla the
difference here is that the connection
is
the BeagleBone adapter same device this
time it's plugged into pin p9 underscore
12 which is exactly the way it's labeled
on the BeagleBone black and the exact
same work so here is the Arduino code
here is the TEFL code here is the
BeagleBone black code so it pretty much
looks exactly the same so let's cut to
the video so avians ssh in and yes
BeagleBone black blink I can barely say
that applause all right so let's keep
going
tying this short but lots little to do
and lots of time wait strike that
reverse it so now it's a quick choose
your own hardware adventure we work with
a lot of these companies and there
there's lots of great things for us so
you actually get to possibly win one of
these wonderful devices all you have to
do is pull out your mobile device to win
a spark core which is another
microcontroller that we have support for
it just tweet spark devices and Cylon
js2 where the pebble smartwatch just
tweet couple and Cylon KS order to win
the sparrow just tweet go Spiro and
Cylon gas so getting back to that one
more time to win the spark tweet spark
devices and Cylon gas to win the pebble
pebble and Cylons I asked for it with
Sparrow sweet ghost pharaoh in silent
gas you between the many times as you
want
we're going to choose the arbitrary and
random techniques and we will notify you
by in the Twitterverse if you are one of
the winners all right on with the show
so now we're going to show a
demonstration that shows a pebble
controlling the AR Drone that uses
OpenCV
facial-recognition which will then turn
on the sparrows and will also be running
a digispark microcontroller which is
connected inside the ar.drone itself
featuring 200 platforms that are
basically the same exact concept the
Cylons Jas r2 which is Ruby on robots
and GoBot which is the go programming
language so you might think of this as
the mother father and child of all demos
all right so the first part aren't you
so artic we're going to connect to the
Pebble watch so we're going to spoke
this all out by pushing a button on our
pebble that way he can actually walk
away from your computer here's the code
for that it's some Ruby code and it
basically just possessed to the pebble
and when the button is pushed we're
going to use the API to tell cylon to do
this to the next thing all right so then
the Cylon code is running connected from
his computer communications with the AR
Drone in this case we're going to be
doing some facial recognition we've got
the AR turn and open CV open CV is a
computer vision platform it's open
source as well with a lot of wonderful
things and that when the facial
recognition is triggered we're then
going to have Cylon communicating with
robot gilad is our go language support
framework which is exactly the same
concept of silent on r2 in this case
where the stores communicate with the
digispark my controller which is
actually plugged into the drone itself
you might be able to see there's a
breadboard
taped to the top with our same circuit
that we used before same LED and so what
we're going to do is we're going to have
art to tell the Cylons to command go by
all right and then of course we're gonna
because the LED is a little small
we'll run the command these Sparrow
robots to blink around crazily
so the LEDs gonna flash when the facial
neck recognition works and then the
squirrels will be crashing around and
flashing at the same time this little
bit of code except we don't have too
much time to go over because you know 15
minutes of fame and really gonna short
all right so
this way we can actually see the
computer vision kids on a dream here is
not only a serious programming guy but
he's also our test subjects slash target
slash volunteer
I saw people scream
alright alright
all right let's do this three two one
contact
so let me show you
showing up on that
the demo gods no here
let's do a quick look here this is how
you know it's real I'm gonna take off
right from there yeah
that felt good yeah we've all been bit
by drones sometimes you got to pay a
little flesh for robotic excellence
unfortunately we're not amateurs like
the last demo which went perfectly we're
professionals that means things go wrong
all right
disconnected
standing by
still stands my standing by you start
right now have a problem I just like
saying that
it worked perfectly in that hotel room
there's a lot of hotels we could never
stay in again like all of them it's
amazing the kind of flying that you can
do in a suite or even in a small small
room with one bed
alright this is our last shot will it
happen what was going so well
okay almost there
stay on target
third time's the charm
engage
there we go I don't know them
you gotta go to the other screen the
videos frozen on this thing right now
but looks like you're trying to run away
from me maybe that has something to do
with it yes the there's so much Wi-Fi
static in here that it's okay everybody
turn off your Wi-Fi devices in the whole
place
all right well I think that was all the
time we got but he's not giving up yeah
you were that might be all she wrote
now it'll work perfectly yeah now that
the cameras off it was a shy it's not
gonna work
all right well was that fun watching
this firm so we want you to join the
robot evolution that's why we've created
all these open-source platforms so Cylon
JSF column if you wanna program physical
devices in JavaScript are 2.0 if you
prefer Ruby on robots and go bot dot IO
if you want to investigate the new and
highly powerful go programming language
so thank you very much