Updates! Testing! Balls! [Updated!]

A lot got done in the past few days for my project including getting multiple sets of xBees talking to each other, nixing the IR component of the project, some experimentation with Resin to coat the balls, two working prototypes, and some real live testers

With a lot of help from Lief, I got my three current xBees to talk with each other in AT mode, which allows me to use serial communication. I did have to change the basic architecture of my project slightly, though, because with my current set up, the Routers can send messages to the Coordinator, but the Coordinator cannot send messages to the Routers. So instead of waiting for an information request from the base station, the balls just send information out at set intervals.

My openFrameworks app can now tell which ball is sending what information and track as many as need be simultaneously.

openFrameworks diagnostic

The much larger change to the project was removing the IR component. After spending a few days trying to get this to work, I found that the results were wildly inconsistent with way too much noise to properly parse. And even when I did actually pick up the other ball’s IR LED, the range was capped to about a foot or two. I’m not sure exactly what I was doing different form my earlier test, but actually mounting them on the ball really limited the range.

Goodbye, IR.

This was disappointing, but it just did not seem worthwhile to keep pursuing this path, especially since it requires that every ball be outfitted with IR LEDs even if it does not have receivers. As I will be mentioning in my presentation, I liked that the project had an intuitive form of interaction (moving fast makes it louder, and collisions make sound) along side a less intuitive form of interaction (distance determines pitch) because I want to create a system that i easy to use, but still allows for experimentation. I have to consider what other sensors and readings could be used, but for now, I am using the other ball’s velocity as a way of determining pitch.

On Alvaro’s suggestion, I went over to The Compleat Sculptor and picked up some Aqua Resin. I should be able to use this to coat the balls to make them hard on the outside and allow them to be painted. I’ll be playing with this over the weekend.

In terms of parts, believe I placed my last big order, and my Ardweenies came in along with the rechargeable lithium batteries I will be using to power the balls. One thing I had not originally considered was the fact that these batteries cannot charge and power the arduino at the same time. I obviously didn’t want to have to remove the unit from the ball and unplug it from the arduino, since that would defeat the whole point of using a rechargeable battery in the first place. Talking with Lief, we figured out the fairly obvious solution, and I think my final setup for the battery is going to look pretty much like this:

This setup allows the arduino to get power when the switch is on, but for charging the switch can be turned off, to allow the battery to charge without also trying to charge the arduino. Obviously, this also acts as an off button for the ball, which I needed anyway.

Now onto the fun part! Two functional balls that interact with each other, creating sound on impact and movement.

I put these two unit into styrofoam balls and started testing them with each other. I spent a lot of time working to get reliable collision detection, which has gotten better but is still imperfect. I am currently using Median Smoothing (Thanks Zach Lieberman) to try to reduce the noise, then comparing the current velocity readings to the previous few to see if there is a sudden jump, implying a sudden changed in movement (AKA impact).

The glowing light was accidental, but I may outfit these bad boys with LEDs inside to create a glow

What surprised me, though, was how much more interesting I found the whine sound created any time the ball is moved. Although it was I had planned it as a minor element to compliment the collision sounds, it kind of became the start of the show as Iw as testing it. I upped the volume on it compared to the collision sounds and I may decide that this is really what I want to focus on, with other balls adjusting this kind of drone.


 I was able to coax a few people to come into room 1005, to play with the prototypes, and overall it went well, but of course, almost all of my ideas about how people would interact with the balls were tossed right out the window.

Some things I realized about the interaction:
-First, the basic interaction is fun. People had a lot of fun playing and experimenting to make different sounds.
-Unfortunately, this experimentation was mostly random. There was a pretty minimal connection made between what was being done to the balls and the sounds being made for most people. This was especially true when it came to one ball affecting the others. Asking people as they left, almost nobody said they picked up on this.
-Not everybody rolls the balls. The majority of the testers were lifting the balls up and moving them around in the air, which is not picked up by the gyro at all. I may want to include a different sensor (such as an accelerometer or a wind sensor like Scott is using?) in some of the balls so that some could repsond to this kind of movement, or think of a way that would make rolling the obvious affordance.
-Spinning the ball in place was another common action.
-Hit detection needs to be tighter or it isn’t hit detection. Because it only worked some of the time, it was hard for most testers to associate the chime sound with collision. This isn’t something that can be done halfway. For it to make sense to users as collision, it must be accurate.
-Having more than one person play with the balls at the same time resulted in the most interesting sounds as both balls were moving, and the testers seemed to have more fun as they tried to find new things to do and copy each other.
-The balls should pick up more delicate action

This video shows a lot of good interaction that my prototype was not able to pick up on too much:
[vimeo http://vimeo.com/22715505]

Moving the balls in the air does nothing to the sound right now, but it was a very common thing for users to do.

On the sounds:
-A little creepy right now
-There should be no sound at all until the ball moves

On the visual aspect:
-Two people mentioned using LEDs in the balls to create a glow, which was something I thought about doing and which I am thinking more and more about incorporating.
-Many of the testers were very interested in the on screen diagnostics. I hadn’t considered this part fo the project, but people got really into it, and some commented on its visual appeal.  It may be worth considering having some kind of visualization to go with the the balls. This may take the focus of the user in the wrong direction, though.
-The balls could have designs that signify somewhat what they do or how to interact with them.

On the hardware:
-The balls took a lot of beating, but the foam seemed to protect them well enough.
-After a lot of testing, a wire in one of the balls came undone and needed to be fixed, so in the final version, these will all have to be secured very well.

All in all, the testing was extremely valuable, and gives me a lot to think about over the weekend. This weekend will be all about more testing, as well as creating more balls with new interactions. I’ll be soldering some adrwennies, melting some styrofoam, mixing some resin, and getting people to play with my balls.*


-My actual prototypes failed during the presentation, so having a video on hand is important. This can also let me show off the balls in an interesting space that may not be available during the actual presentation
-It’s good to talk about process, but technical details are kind of borring. Focus more on the interaction
-The toy needs to create a flow experience. Just being fun for the first 30 seconds isn’t enough. I need to make sure that skilled users don’t just get borred with it.
-When testing suer interaction, it would be helpful to keep a chart of what actions people do with the balls.
-Possibly develop a demo space to play with the balls that would include ramps and inclines

*I’m sorry. I’ve made it this far without making a joke; how long could I last?