Nonpolynomial Labs Roboexotica Projects

For the past month, I’ve been living in Vienna as part of as artist residency with monochrom. The main goal of this residency was to complete some projects for roboexotica, the robotics cocktail party held each year here in Vienna. This year, roboexotica is being held December 3-6, and now that I’ve actually seen my projects pour some drinks, I figured it’s time to present them to the world.

First off, there’s Adult Mario, the mario game that drinks and vibrates!

Then there’s Bartris, the tetris that’s also a bartender.

I’ll have a post next week that goes into the implementation specifics of these projects, but for now, all of the code is available at http://www.github.com/qdot/bartris.

A Day at the Ports

While I was out flying my stunt kites this weekend, the wind ended up being a little iffy. So, after flying a bit, I decided to see what kind of things I could put together using just my iPhone. Thus, the ‘Day at the Ports’ project was born.

This is consists of 2 and a half videos (the half being a test one I took just to see if looping was going to work correctly). all of these were taken using viewfinders around the park I was at, Middle Harbor park in Oakland.

Both videos use a combinations of tracks generated by rjdj, mixed with the wind and environment sounds taken from the iphone mic while recording the video.

The first one is “Construction from Far Away”.

Construction from Far AwayfromqDotonVimeo.

rjdj page for original audio clip

I was really happy with this one. The quality of the viewfinder along with my shakey cinematography ended up inducing a bit of a dreamlike state in the video, and the soundtrack matched up just perfectly.

The second one is called “A Headless Sutro”.

A Headless SutrofromqDotonVimeo.

rjdj page for original audio clip

This one ended up a little harsher than I think I originally meant it to be. The viewfinders I was using for it seemed to move very quickly, so I decided to use an audio scene that was a little choppier. However, it came out also… schizophrenic in the end.

To show what I was using the take the video, and also to just remind myself where all the buttons were in the video software, I made a little sample video. Uses William Besinski’s The River, because, well, water. I’m original like that.

Test Water LoopfromqDotonVimeo.

All in all, I’m really happy with how everything turned out. Managed to make something relatively neat while just screwing around waiting for the wind to adjust its attitude (which it never did. Stupid nature.).

New Software Project Icons and Pages

After a couple of months of work, lots of poking at jekyll and github, and very little work on the actual projects themselves, I’ve finally gotten the webpages for all of my software projects together. They come with nice new spiffy icons from Counter Productive Productions.

libnifalconlibambxliblightstonelibomronlibtrancevibe

From right to left:

  • libnifalcon - Cross platform driver for Novint Falcon haptics controller
  • libambx - Cross platform driver for amBX ambient environment system
  • liblightstone - Cross platform driver for lightstone biometrics system
  • libomron - Cross platform driver for Omron USB Blood Pressure Monitor and Pedometer
  • libtrancevibe - Cross platform driver for the Rez Trancevibrator

All drivers, no applications. Maybe I should actually write something to use this stuff someday…

New Projects at NP Labs

Workin on new toys

Well, another 6 months have come and gone, and I’ve got a few new projects on the radar here.

libomron

This is a framework for accessing the USB capabilities of Omron medical equipment, specifically the Omron 790IT Blood Pressure Monitor at the moment. There has been some talk online about accessing their pedometers in a cross platform manner (reference: dullest.com), and I’m hoping the protocol for that and their other blood pressure monitors are basically the same, so I can extend the protocol parsing to the whole family of products.

libambx

libambx is an open source, cross platform library for the Ambx ambient environment feedback system that I’m working on in conjunction with the people at Electrosthetics. I’m currently working on reversing the ambx communications protocol (document available here). It’s nice to work with someone else on this stuff for once.

libnifalcon updates

libnifalcon is still coming along nicely, if a bit slow at the moment since I’m stuck on some rather difficult problems with firmware loading and kinematics. It’s been used in a couple of papers (including this one on teleoperation of an insectbot), and there’s also been some work on porting it to Chai3d for use in the Dimple environment for physical interaction with sound.

NP Labs Projects Update

Wow. Almost 5 months between posts. I’ve been so busy on my projects that I have no time to write about them anymore. :)

First off, libnifalcon, the open source driver for the Novint Falcon, is currently in alpha stage for the v1 release, soon to move to beta after a few more bugs are fixed. It’s already seeing some usage, too!


Haptic Interfaces for Virtual Instruments using libnifalcon from qDot on Vimeo.

The video above is a demo of a couple of patches for PureData written by Edgar Berdahl for use in Physical Interaction Design for Music class at the Center for Computer Research in Music and Acoustics at Stanford University. The video shows a haptic simulation of a bowed instrument, as well as a training patch for drum rolls. Moving toward the line in the middle of the window causes the falcon to kick back slightly, and the user must hold the end effector steady to keep the sound steady and constant. All of this is running on a beta version of the np_nifalcon external for max and pd, which is available on the libnifalcon site.

Next up is another project that I decided to throw together today to check out the OpenSoundControl protocol.


Kitelight w/ iPhone Controls from qDot on Vimeo.

This is the Kitelight system controlled using the mrmr OSC interface builder for the iPhone. It’s connecting to laptop running python using liblo and pyliblo for OSC controls. This goes through a xbee dev kit board to an arduino with xbee shield which is controlling a panel of RGB LEDs attached to the kite.

Usable range on the zigbee is ~100m, more than enough room for flyer to kite communications. Now that this works, I can also run lighting commands from PureData to do music synchonization or whatever else I might think of.

For all the URLs listed above, this project came together rather quick, about 90 minutes from start to finish, though obviously all the boards were already built, so it was just a matter of coding it all and learning OSC and mrmr.

Now, back to working on getting libnifalcon released…