Sunday, July 11, 2010

Lately(3)

I leave for home home (Huntington Beach) in three days. I'm looking forward to it. At the same time, though, I feel... kinda regretful. I realized the other day that it's already past the halfway point of the summer. What have I done since summer started?

...I don't feel like answering that question. Not enough of what I would have in mind for a productive summer, or even an unproductive (aka list-clearing) summer. I've been haunted everyday by this feeling of lacking... fulfillment, I guess. I feel guilty for not having to work as much as say, my apartment-mates, who work regularly this summer. Or anyone else that I've seen this summer. Among other things. I feel spoiled (which I am). And I could be using the extra time I have to do things like practice important life skills or take care of things that ought to be taken care of. Or even just work more on the project I should've finished by now.

The project. Yeah, the one I've been telling everyone about as the reason I'm up in Berkeley. I feel guilty every time I tell someone about it, because honestly I haven't really been working on it as much as I probably ought to, considering I don't have much else to do. But it frustrates me whenever I do work on it, though.

So the goal of my project is to make a gravity compensation program for the Phantom Omni, a haptic device that Ryan so affectionately nicknamed "Craney." Um in easier-to-understand terms, I basically have to make this arm-like-device that you hold like a pen counteract the force of gravity so that when you let go of it, it stays in place rather than fall to the ground like any normal haptic device. The device is capable of doing this by generating forces, but I have to write the program to make this happen. The purpose of this program is that it's going to run alongside another program hooking the device to a surgical robotics system, and they don't want to have to worry about gravity interfering when trying to use this thing for surgery.

What I've basically done is adapt a gravity compensation program written by this team at the University of Siena for my device - because to be quite honest, the actual math of the compensation itself is a bit over my head. And the program I created works... kinda. But I'm stuck at the moment because if you move the pen in certain orientations, it suddenly moves horizontally when I don't want it to. That, and I have to run a tuning program whenever I change the orientation of the device (like say, turn it upside down) to recalculate the anti-gravity forces and all that, but whenever I run the tuning program now, it malfunctions halfway through. I can't figure out how to solve either of these problems... and it doesn't help that the team that wrote the original program commented all of their work in Italian. And I can't really make sense of a good part of what they wrote with regards to actually calculating the gravity forces, even after reading the paper they published. In English.

So it was suggested to me before that I try coming up with an PD control algorithm (wiki it.) for the device from scratch... and I tried. Sorta. But the program I already have already uses a PD control algorithm, and from what I could tell the ideal result would pretty much be the program I already have... so there's something wrong with how the program itself is running. But I can't really figure out how to debug the tuner program. In other words, I'm leaving in three days and I'm pretty much stuck.

I feel guilty cause I've had a month and a half to try and figure out this problem, but compared to where I was a month and a half ago, I haven't really gotten much further. All I've managed to do is make a program that runs an incomplete gravity compensation - and I have no idea how to improve it. The only logical approach at this point would seem to be starting from scratch - but I don't really have the time anymore to do that. I don't really have the motivation either.

Priorities. Faith. Time. These are the keywords of this summer. I just wish I had them.

No comments:

Post a Comment