Monday 16 April 2012

SurragART

It has been a really busy week around here, we've been working with Ben Reed from Protospace on a very interesting and exciting project. SurragArt is a drone that allow an artist to make a sketch while having it recreated remotely via its robotic arm. The eventual goal of the project is to capture the artists mannerisms and have them replicated world wide by several drones, additionally DIY fans may also build their own versions of the drone and 'tune in' to live art performances.

We have been working heavily with the design and fabrication team to create a communication protocol responsible for transmitting the artists movements to the multiple drones. For the prototype we decided to go with an HTML5 Canvas surface as the front end with a customized node.js back-end. Initially a PHP back-end was written but to decrease overhead and increase throughput we investigated JavaScript sockets, our investigations resulted in us discovering socket.io. socket.io allows for direct asynchronous TCP connections, this creates the ability to communicate with the browser without the added overhead of the HTTP Protocol. One of the caveats of using socket.io requires you to have a node.js back-end, causing us to re-write the back-end which happened to be a pleasurable experience. The fact that node.js is JavaScript made the learning curve  non existent, and the event based architecture allowed for rapid integration with our existing front-end code. Its definitely worth checking out if you haven't already.

The video bellow was an first glance at the protocol and also illustrates the back-end latency causing us real issues both server and client side another solution was required.


Our second attempt at a back-end yielded better results, this second video demonstrates the change in performance as well as shows output of data from the canvas to imaginary drones. 


You can read more on the project at March 2012 Awesome Calgary Awards.

No comments:

Post a Comment