Skip to content

CopenhagenGameCollective/UniDrone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 __  __              ____                                   
/\ \/\ \          __/\  _`\                                 
\ \ \ \ \    ___ /\_\ \ \/\ \  _ __   ___     ___      __   
 \ \ \ \ \ /' _ `\/\ \ \ \ \ \/\`'__\/ __`\ /' _ `\  /'__`\ 
  \ \ \_\ \/\ \/\ \ \ \ \ \_\ \ \ \//\ \_\ \/\ \/\ \/\  __/ 
   \ \_____\ \_\ \_\ \_\ \____/\ \_\\ \____/\ \_\ \_\ \____\
    \/_____/\/_/\/_/\/_/\/___/  \/_/ \/___/  \/_/\/_/\/____/


http://www.copenhagengamecollective.org/projects/unidrone/

Unity + Node.js + AR.drone == UniDrone!


Introduction
-------------------------
UniDrone is an open-source project that couples the AR.drone with Unity. It creates a node.js server that listens to OSC messages.

UniMove was created by Patrick Jarnfelt and Tim Garbos of the Copenhagen Game Collective, and used for their Drone concert.
The drone concert uses UniMove to utilize the move controllers and sends these commands to the node.js server. 
The node.js server is using the ar-drone library to control the drone based on the Unity inputs received. 
Our server then relays the the drone's navigation data to an external sound system through OSC. This sound system is then built up to understand and respond to the navData. The sound system is not part of this library.

The project is licensed under the MIT License (MIT), and is still under development.

Installation instructions
-------------------------
For the server:
Open the terminal and navigate to the server folder
>run: npm install 
(this will install the package dependencies)


How to run
-------------------------
For the server:
Open the terminal and navigate to the server folder

>run: node drone_server argument1 argument2

Arguments sent to the app
argument1 = Target ip for the drone (the drone must be connected to the same network as the control computer with a manually set ip address)
argument2 = The index of this drone (0 for first drone, 1 for next etc)

This script only controls one drone. If you are connected to the drone directly, then the ip is 192.168.1.1

## Multiple Drones

To control multiple drones, you need to establish the following conditions:

- Each drone must be on the same Wifi network
- Each drone must have a separate unique static IP on the network
- Client machine must be on same wifi network as drones
- Client machine should send control commands to the different IPs of drones.

Run a drone_server script for each drone that is connected to the server


Requirements
-------------------------
 * Unity 
 * Node.js installed (run node and npm commands in the terminal to test)
 * A dedicated wireless router
 * At least one AR-Drone 2.0 quadrocopter

About

This is project to control the Ar.Drones from Unity

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published