Friday, 2 January 2015

Codebits 2014

Since long time ago i dreamed about participate on Codebits, a programming event that puts together computer programmers and enthusiasts, during 3 days in Meo Arena, Lisbon (10-12 April).
The access for this event is exclusive and from thousands of candidates only 800 were selected and i was one of them. The best part is some friends applied being selected to.

The format of the event is amazing, because it encourages the direct contact between programmers and also with all workshop speakers, some of them working in very iconic places like Christian Heilmann from Firefox or Tor Björn Minde from Ericsson.
The workshops contents were vast starting by web development, to telecom, embedded systems, electronics, algorithms, human interfaces, 3d printing, product developments by enterprises, and so on.

Because we put together a good team we applied to build a project in 48 hour competition. [Missing Luís Carlos on the photo]

The project was called - Game of Drones. Quoting our registration pitch: " Game of Drones will bring an amazing augmented reality experience as never seen before! This will be a multi-player game using low-cost quadcopters and computer vision technology. Players will be able to play an impressive death-match battle against each others. The drones are coming ... only the strongest will survive !!! "
The game philosophy is aim & shoot multiplayer death match and the player controls the quadcopter, by computer. The augmented reality interface shows real time image with the aim and score.
The quadcopter integrates a small usb webcam connected to a TP-Link WR703N Wi-Fi router, running Linux OpenWrt OS, to stream the video to the computer.
The computer is running a Python application, to receive the video streaming and apply a computer vision algorithm, to track the opponents and add visual effects.
The quadcopter control is made by a mechanical overengineering, tha actuates over the original RF remote control, using a arduino uno and a servo motor, keeping the remote untouched.

We split in two teams, one working on quadcopter control and another working on communications and augmented reality interface.
Me and my team we start working and we name it - Control Inception. The first challenge was construction of console to accommodate the RF control and something capable so move the joysticks with 360 degrees of freedom.
We became with the firs prototype, with two PVC arms, small bearings and a bracket made of Polystyrene, for servo motors.

Check the movements in this video.

After test this small structure with success, we used transparent acrylic for the final console. Starting by a big sheet, we cut and finish by hand the forms of frontal panel.

After cutting all holes we put servos in place and the result is the follow.

The next step was cutting the mini arms, make the holes for bearings, connect the to servos, and let ready the holes for remote. Because we had free clouds of cotton candy, we used the as stress test to see if all the controls were precise.

Check the prototype in action.

After all things tested, we connected all pieces, and the result was this:

Project finished it was time to hurry up and submit the presentation video to jury :)