?

Log in

No account? Create an account
corvi
corivax
.:::. ..::.: .:.::..:.::. .::::

October 2008
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

corvi [userpic]
That damn robot, by request, believe it or not

I've spent a lot of my time in Boston telling a brand-new and unsuspecting audience about That Damn Robot. A couple people have requested a picture of it.



This is the GYRE without the safety padding.

It's a cube fourteen inches on a side. There's a thruster cone in the center of each edge. Any component we could machine of aluminum, we did - NASA requres untethered zero-gravity devices to be fifty pounds or less, and aluminum is light. I have no idea why they're not metric about this. We're at 47.3 pounds, after some dirty tricks like removing the metal solenoid casings.

The silver box on top with all the color-coded ports contains the three expensive motherboards that do vision/feedback calculations. We've only utterly destroyed one of them accidently! :)

You can see the emergency stop at one of the top back corners; every mad scientist device needs a Big Red Button. It's in the bylaws.

The ends of the tanks are visible on the side facing toward the viewer - they're covered with padding covered with brown gaffer tape.

You can see one of the three cameras in the center of the other side; it's just a webcam in a custom white Delren casing. Delren is, uh, a unique machining experience, full of holiday spirit. Fills the shop with fake snow. Fake snow that static-clings to random objects. Like, oh, walls, ceilings, jeans, moving parts on expensive CNC mills, small children, and passing neutrinos. I still occaisionally find Delren shavings in my clothing, and it's been about two years. Worse than the roommate who broke a bottle of glitter in the closet.

Comments

Nifty! if i see you again in person, i'll probably hammer you with questions. Otherwise, i guess email will do. One for here though: What are you using for thruster mass, and how much operating time will you get out of it?

And yes, i'd have to agree on machining Delrin, HDPE, and other such low-temp self-lubricating thermoplastics. But for a real nightmare try machining graphite. Especially on a lathe. It actually machines very well, but it produces a very fine airborne dust of conductive particles. Which try to get everywhere. They really like to get into your lathe motor windings and short things out. "Mount a shop-vac hose onto the lathe tool block" only moves the problem to a different motor. Fun!

The solution I used when machining graphite EDM electrodes was to take sacrificial cloth and basically surgically drape the lathe. It seemed to do a good job of keeping the graphite dust out of the motor and other rotating & sliding parts.

We're using compressed air.

We had NASA certify us for two seperate tank pressures. The goal is two hours of operation at an average duty cycle - vomit comet flights aren't very long. We're not 100% sure yet what an average thruster duty cycle is (hence certifying two pressures and picking one last minute) - we're waiting until I'm back in Seattle to hang it from a test harness and tune the control loops, which should give us a decent idea of how the bot will actually behave in microgravity.

*wide, wide eyes*

ROBOT PORN!

*drooling*

Even though I am unlikely to understand much about how it works, it still fascinates me. :)

It's actually quite simple. The robot is built to test "visual servoing", which is fancy words for "moving around and looking at where you're going." :) Robots that drive around on the ground do this all the time, but it's a lot trickier in zero-gravity, and nobody's really tried to figure out how possible it is.

On the ground, a robot knows if its wheels are turning, it's moving, and that it's moving "forward" - the direction it's facing in. In zero-gravity, you can't rely on that. The robot could be upside down. It could be spinning around, or moving in a completely random direction. Something else floating around in zero-gravity could bump into it and changes its location and movement at any time. You can't assume anything.

There are a couple ways to try and overcome this. Sometimes people paint bright-colored "targets" inside a spacecraft. The robot can always find the targets and figure out where it is by how far away it is from each of the targets. You could also use radio beacons to do something similar. We're not doing that because we want a more intelligent, flexible system - something you could shove outside the ship and use for repairs, or release into a new space station environment and expect it to behave intelligently.

Sometimes people use sophisiticated gyroscopes to detect any acceleration. We aren't doing that, because it would result in mistakes if the robot was inside an accelerating spaceship. Again with trying to build an all-purpose robot.

What we are doing: the robot gets two snapshots in a row from each of three cameras (they're all at right angles to eachother). It looks at the difference between the snapshots to see how fast it's moving in each of the three dimensions. Then it figures out how it wants to respond to that to reach its location and speed goals (we humans assign those goals): which thrusters to fire, and how long to fire them for (we don't want it overshooting by always firing thrusters at full duty cycle), and does so. Then it starts the whole thing over, if it hasn't reached its goal.

Something similar has been done with autonomous robots navigating underwater - because visual servoing systems think and adjust their actions actions every step, they works well for dealing with unexpected deep-sea currents. Underwater, though, you have a clear "up" and "down" and can expect to stay right-side up. So while their success was inspiring, we're still not entirely sure this'll work. :) Nobody's really done it before.

Huh. I think I meant more specific details like physical components and putting them together and such. :) But yay! Explanation that I do follow!

I don't understand every detail of the hardware myself, but I could tell you in excruciating detail about the software. :P I'm sort of a machine-shop monkey when it comes to hardware - people could hand me a piece of metal and say "make it shaped like this" but I didn't design anything myself. :)

Aaah. See, I had the impression that you helped with the physical design, as well as with creating parts. :)

Still. Neat!

WOW. Thats fascinating (at least I think I understood enough of it to be able to say so).

Looks very very cool, too!

that's a nifty toy. i gotta get me one of those. :)

so, if you're using optical flow to figure out relative motion, how do you handle the presence of other moving objects in the scene? look for the most common apparent motion? or for these tests are you assuming spherical horses, ie, nobody's gonna move while the robot is driving around?

Oh man, I sure wish we could assume spherical horses!

No such luck, though. Zero-gravity is remarkably crazy. There's us, bouncing off the walls and waving tools around, and the way hair seems to take on a malevolent life of its own - we're all long-haired. There are sometimes other experiments - last time we were in microgravity there was a group trying to work out how to do CPR in zero-g. They had one of those dummies with sensors to record timing and strength of chest compressions, but every time one of them gave the dummy a good shove, he'd go flying backwards across the room! I never knew Newton's third law was so vastly entertaining.

The robot locates several features (usually twelve to thirty), measures the motions of each one frame to frame, drops outliers, and averages the rest. Even so, it makes mistakes sometimes, maybe one frame in a hundred. We've tried to compensate for that some in the control code.

I really am quite fascinated by this, thanks for posting the detailed explanation :)

mmm.... naked robot porn...

Cor, get a load of the thruster cones on that!

I'm going to screen this because it has an email address in a public post and I *think* my journal is spiderable. I will also email you. :)

fair. my initial thought pattern was "livejournal - have email in my userinfo - therefore livejournal is fine for putting email address on"

but i don't think they scramble it in posts, so ne'ermind. yay email!

Hiya. On the recommendation of regyt, I came stalking through your journal. (I keep trying to tempt her out to visit Seattle. She threw you at me instead, since you're also a Seattleite.) On the recommendation of your own interesting writing, I friended you. I hope you don't mind. Yay robots. Yay zero gravity. And yay corvids. [grin]

Obviously we need to have a long anime-style power-up sequence, and then combine our forces to lure regyt to Seattle!

You appear to be a great niftiness; I'm glad regyt threw you over here. :)

That would be fantastic. It should involve a white raven and a black one. [grin] I've been tempting her with the Seattle Go folks, and various tales of marauding and glee. I really want to get her out here for Lesbian Ninja Pirate Weekend, but I don't know if we'll be able to tear her away from BarBri, even briefly. We can try, though.