$30 off During Our Annual Pro Sale. View Details »

The future of Nodecopter

The future of Nodecopter

Presented at LXJS

Andrew Nesbitt

October 03, 2013
Tweet

More Decks by Andrew Nesbitt

Other Decks in Programming

Transcript

  1. Let’s talk about Nodecopter

    View Slide

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

    View Slide

  3. Bertie @BertramRabbit
    This is my rabbit Bertie

    View Slide

  4. Rabbits understand streams

    View Slide

  5. 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

    View Slide

  6. 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!

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  10. 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!

    View Slide

  11. 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!

    View Slide

  12. 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!

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  16. And this one in London

    View Slide

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

    View Slide

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

    View Slide

  19. 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.

    View Slide

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

    View Slide

  21. Hacks
    I wanted to share a few of my favourite hacks

    View Slide

  22. 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.

    View Slide

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

    View Slide

  24. 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

    View Slide

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

    View Slide

  26. 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.

    View Slide

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

    View Slide

  28. Programmatic Flying Robots
    Firstly: Programmatic Flying Robots

    View Slide

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

    View Slide

  30. 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!

    View Slide

  31. 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

    View Slide

  32. 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

    View Slide

  33. How cool was that!

    View Slide

  34. 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.

    View Slide

  35. 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

    View Slide

  36. 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

    View Slide

  37. 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.

    View Slide

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

    View Slide

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

    View Slide

  40. 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.

    View Slide

  41. 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...

    View Slide

  42. 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.

    View Slide

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

    View Slide

  44. 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.

    View Slide

  45. 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

    View Slide

  46. 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.

    View Slide

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

    View Slide

  48. 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.

    View Slide

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

    View Slide

  50. View Slide

  51. 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.

    View Slide

  52. 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide