Giter Site home page Giter Site logo

paulleader / wiicopter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from levity/svi-balance-board

5.0 2.0 2.0 6.21 MB

Control an AR Drone using a Wii Fit Balance Board and Wii Remote. From the Bath @nodecopter event 2013-03-23. I'm new to Node.js and NodeCopters, so feel free to tidy stuff up and make it more idiomatic.

JavaScript 100.00%

wiicopter's Introduction

Intro

Control a NodeCopter using the Wii Fit Balance Board and a Wii Remote.

Wii Fit Balance Board/Wii Remote -> Osculator -> This (node wiicopter.js) -> NodeCopter

Video of @juliancheal and @sammachin using it - including Julian making use of the emergency cut out :)

Connecting to the Controllers

To get the data from the controllers I've used Osculator for OS X. The file WiiCopter.oscd is a configuration that should work.

Controlling Your Copter

Launching

Stand on the board and press the A button once, while holding the Wii Remote level and stationary. The copter will rise to the default start height.

Controlling

Leaning on the balance board controls forward/backward/left/right (relative to the camera direction).

Rotating the Wii Remote along its long axis controls the rotation of the copter, rotate left to rotate the copter counter-clockwise, and right for clockwise.

The pitch of the Wii Remote raises or lowers the copter. The copter will rise or fall in proportion to the angle of the Wii Remote from the horizontal. Don't point the remote straight up or down as it sometimes seems to go a bit mad and shoots up too fast. Don't make violent movements with the Wii Remote.

Start out by making small movements with the board, and then try making small movements with the Wii Remote before working your way up to more complex maneuvers.

Emergency Stop

If you need to stop the copter at any point simply jump off the Wii Balance Board: the copter will immediately halt and execute a controlled landing. You should be able to restart the copter by standing back on the board and pressing A.

Future Ideas

Bind the Other Controls on the WiiMote

  • Take photos
  • Shoot video
  • Play light sequences

Immersive Control System

Get a set of those Sony video glasses and feed the camera from the copter into them, creating a totally immersive control system.

Use an Oculus Rift Headset as Well

Use an Oculus Rift headset to display the video, but also control the direction that the copter is pointing. So if you look to the side it will do the same. You'd still need the WiiMote for steering the copter as turning your head would only be able to turn you about 180 degrees.

This could be really fun. Get the sync between the head position from the Rift and the rotation of the copter might be tricky, but should be possible.

So who wants to sponsor us to get a Rift when they come out, for a NodeCopter event? :)

Improvements to Make

  • Dry up the code a little more
  • Enable full sensitivity
  • Configurable sensitivity
  • Configuration for the button actions
  • Free up the A button for other uses during flight.
  • Use the navigation data stream to make the whole thing more reliable, for example using the altimeter to tell us when we are in the air, rather than trying to infer it.

Adapted from:

wiicopter's People

Contributors

paulleader avatar stormy avatar

Stargazers

Thomas avatar Mason avatar Alonso Holmes avatar Robert C Edwards avatar Tak Tran avatar

Watchers

 avatar James Cloos avatar

Forkers

holmesal srosca

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.