Slide 1

Slide 1 text

Let’s talk about Nodecopter

Slide 2

Slide 2 text

Andrew Nesbitt @teabass Hi, I’m Andrew. A freelance software developer from the UK

Slide 3

Slide 3 text

Bertie @BertramRabbit This is my rabbit Bertie

Slide 4

Slide 4 text

Rabbits understand streams

Slide 5

Slide 5 text

I’m the steward of the London Node.js User Group, one of the biggest Node meetups in Europe. We had our 2nd Birthday last week

Slide 6

Slide 6 text

I’m also one of the organisers of the Great British Node Conference. It’s a community driven, not-for-profit conference in London and it’s only 5 days away!

Slide 7

Slide 7 text

Core Team And just last week I was added to the core team

Slide 8

Slide 8 text

Core Team And just last week I was added to the core team

Slide 9

Slide 9 text

Previously Previously, at LXJS, Felix introduced the ar-drone library for controlling quadcopters programatically. This then became a Hack event called Nodecopter.

Slide 10

Slide 10 text

There have been 20 official events across the globe, and there are at least 4 more confirmed, including one on this friday. You could say it’s really taking off!

Slide 11

Slide 11 text

There have been 20 official events across the globe, and there are at least 4 more confirmed, including one on this friday. You could say it’s really taking off!

Slide 12

Slide 12 text

There have been 20 official events across the globe, and there are at least 4 more confirmed, including one on this friday. You could say it’s really taking off!

Slide 13

Slide 13 text

For the past 7 months, my life has revolved around these flying robots.

Slide 14

Slide 14 text

Thanks to the London Node group I was able to put together a fleet of sponsored AR Drones

Slide 15

Slide 15 text

So I could put on Nodecopter events across the UK. Like this one in Bath.

Slide 16

Slide 16 text

And this one in London

Slide 17

Slide 17 text

Helping over 400 developers to begin programming flying robots, across 10 different events.

Slide 18

Slide 18 text

and spending many hours repairing the envitible breakages along the way.

Slide 19

Slide 19 text

BURFIELD I’d just like to take a minute to thank the numerous sponsors for their ongoing support of the events that I’ve been involved in. They couldn’t have been possible without them.

Slide 20

Slide 20 text

Nodecopter.pt Right here in Lisbon! There may still be tickets, check out nodecopter.pt for details.

Slide 21

Slide 21 text

Hacks I wanted to share a few of my favourite hacks

Slide 22

Slide 22 text

QR CodeR Encoding commands into QR code which are shown to the drone which detects and reads it then executes the command. This is possibly the only valid use of a QR code I’ve ever seen.

Slide 23

Slide 23 text

Next up is my glamerous assistant Julian controlling a drone through the medium of interpretive dance.

Slide 24

Slide 24 text

Continuing the theme of full body control, here I am controlling a drone using a Microsoft Kinect. The code for all of these demos is up on Github and listed on Nodecopter.com

Slide 25

Slide 25 text

QAAS What we’ve seen come out of Nodecopter is something I like to call QaaS or Quadcopters as a service.

Slide 26

Slide 26 text

Quadcopters as a Service The beauty of a high level api like Nodecopter is that it is almost as easy to integrate robots into a system as any other web service. And when there is such little overhead, more ambitious projects are more likely to be undertaken. Nodecopter Travis is a great example.

Slide 27

Slide 27 text

Why do it? I often get asked why do I do so many Nodecopter events?

Slide 28

Slide 28 text

Programmatic Flying Robots Firstly: Programmatic Flying Robots

Slide 29

Slide 29 text

Dont you get bored? But don’t you get bored of them after a while?

Slide 30

Slide 30 text

Programmatic Flying Robots!! HELLO PROGRAMMATIC FLYING ROBOTS!!! You’ve got some serious first world problems if you get bored of you’re own personal airbourne robotic servant!

Slide 31

Slide 31 text

BEng Robotics & Automated Systems University of PLymouth To actually answer the question I need to go back a few years to my university degree, Robotics and Automated systems at Plymouth I based my decision to do this course almost completely on one TV show

Slide 32

Slide 32 text

Robot wars: As a nerdy teenager this was my dream, to build remote control fighting robots and watch them smash the life out of each other. A degree in robots seemed like the perfect way to make this happen. It wasn’t quite what I was expecting

Slide 33

Slide 33 text

How cool was that!

Slide 34

Slide 34 text

Advanced Mathematics Mechanical Engineering Digital Electronics Analogue Electronics Computer Science Control Theory neural networking microprocessor Design Playing with Robots Learning Robotics This is what my course actually involved learning about.

Slide 35

Slide 35 text

Advanced Mathematics Observing Robots behind glass Learning Robotics Advanced Mathematics Advanced Mathematics Advanced Mathematics Advanced Mathematics Advanced Mathematics Advanced Mathematics Advanced Mathematics Which is actually all just advanced maths and at the end of the three years you get to watch some industrial robots move a block around behind a screen. Nodecopter flips that learning process on it’s head

Slide 36

Slide 36 text

Advanced Mathematics Mechanical Engineering Digital & Analogue Electronics Computer Science Control Theory neural networks microprocessor Design Playing with Robots Learning Nodecopter Computer Vision You start by getting your hands dirty, then when you run into huddles that stop something from working right, you need learn about all these things to improve. Nothing made that process more clear to me than when I took the fleet to CoderDojo

Slide 37

Slide 37 text

CoderDojo CoderDojo is a global collection of events that provide free and open learning to young people, especially in programming and technology. We had about 25 kids aged between 11 and 15 working with their parents to hack on the drones.

Slide 38

Slide 38 text

With just enough JavaScript to be danerous, the kids picked up the basics faster than I ever expected,

Slide 39

Slide 39 text

Playing around with Virtual drones in Voxel to get the hang of them, then unleased on the real things, they caused havoc!

Slide 40

Slide 40 text

This was incredibly inspiring for me, to see future generations of programmers taking to robotics like a duck to water, making dance routines and controllers out of tin foil.

Slide 41

Slide 41 text

kids + robots = This is how robotics should be taught, hands on and engaging. Learning maths should be a side effect of making cool things not dry and boring. And incase it isn’t completely obvious to you...

Slide 42

Slide 42 text

The future is made of robots The future is made of robots! The rate of change of technological progression is accelerating. Instead of seeing robots as magic mechanical boxes created by a corperation, they should be learning how to tame robots. It’s our responsibility to help them use robots for the good of humanity, rather than being slaves to them.

Slide 43

Slide 43 text

What is next? So what’s next for Nodecopter, how can we take it up a level?

Slide 44

Slide 44 text

NodeCopter Flight school I’d love to use the power of Nodecopter to help make a dent in the world Work with kids coding initatives like Code club and CoderDojo to get kids particiapting in robotics from a young age and maybe even using it as a platform to get robotics as part of school ciriculums.

Slide 45

Slide 45 text

Drone Racing I’d also really like to put on a drone racing event. I’m a big motor racing fan, and I’ll love to add a competitive element to a nodecopter event

Slide 46

Slide 46 text

I see this working a lot like the darpa challenge, where teams build automous cars to drive a course with no human interaction. Imagine a course that you had to fly a nodecopter through completely autonomously.

Slide 47

Slide 47 text

One more thing I wasn’t going to come all this way and not show something cool.

Slide 48

Slide 48 text

Nodecopter GPS Parrot recently brought out a GPS addon for the AR Drone, allowing for accurate positional feedback when outdoors. Although the new API is undocumented, I was able to reverse engineer it to get back lat/lon from the drone using the regular library.

Slide 49

Slide 49 text

npm install [email protected] Oh yeah, this version doesn’t exist yet, lets ship it now!

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

ar-drone-gps So for the past few weeks I’ve been building this control center on top of the GPS api, leaflet.js for the map and node- dronestream for video.

Slide 52

Slide 52 text

Waypoint Route Follow Mode Return Home Video Stream Manual Gamepad Control Features Waypoint will fly to each pin on a map in turn, Follow mode tries to stay close to your mobile device, return home goes back to where it took off from and manual control is for taking over when things get crazy

Slide 53

Slide 53 text

Mobile UI Photo button Integrate ARDrone-Autonomy Upload waypoints directly to drone Would be Nice It would be nice to have these features too

Slide 54

Slide 54 text

github.com/andrew/ar-drone-gps And It’s on github!

Slide 55

Slide 55 text

Thank You [email protected] github.com/andrew @teabass