Showing posts with label link. Show all posts
Showing posts with label link. Show all posts

October 27, 2009

Wave

I finally got a Wave invite! I've been waiting for this for a while, so I'm kind of excited, but it's tempered a bit by the fact that the purpose of Wave is to be a communications mechanism... so there's not much to do with it if nobody else has it. Also it's still very much unfinished. But I'm excited nevertheless.

For the uninitiated:


August 27, 2009

Jumping to Conclusions

Just a moment ago I was kind of frazzled. I was handing in the first assignment in Calculus, and it was almost painfully easy--just a single problem, that required nothing more complicated than an application of the Pythagorean theorem. In fact as I was writing it, the math teachers from my past were chiding me in my head that I wasn't "showing my work". The paper looked awfully bare... but there was nothing to show, really. There was no work involved. But the professor rejected the assignment as I was handing it in, saying that I should have written out the question (it was a word problem, by the way, three or four sentences of text describing a single equation), and I shouldn't have written it in pen, and that she would give me a low grade for that reason if I handed it in as-is.
As I was walking out of class, I was feeling kind of upset by this, and briefly considered writing a three-page essay with nested footnotes describing in all possible detail (and then some) the thought processes that went on behind the solving of this problem. In the end all I did was write a blog post about professors who value style over substance--or perhaps are unable to appreciate substance without the proper style. And as I was typing away on my laptop, the professor walked up to me out of the blue, and apologized. She said that she was just trying to set an example, more for the other students than for me (because she had been my precalc teacher and she knew that I wasn't at the same level as most of the other students), and that what seems silly now is necessary to get coherent assignments back from the class when the problems started getting harder.
Needless to say I was mollified, and as I thought about it more I realized that I had noticed that earlier in class the professor was kind of put-off by the questions that other students asked, and the deep lack of understanding thereby revealed. Her response as I tried to turn in the assignment was likely colored by some amount of frustration, and frankly the paper looked pretty desolate. So, once again, I'm simply trying to get through the day, and I nevertheless find myself thrown on an emotional rollercoaster, and learning a valuable lesson besides. And there's a little synchronicity thrown in to take the point home.
The post I started writing was titled "little tyrants". I thought that I remembered the phrase from somewhere, and I decided to look it up to give proper credit, or at least not mangle the original intent of the phrase. I never found out where it came from, but the first Google search that came up was a conservative echo chamber. Please read the post--it's short, and your eyes won't melt a whole lot. Here's the key phrase:
"I am not willing to assume the presence of facts not in evidence that would have recast their behavior in an acceptable light."
This phrase struck a chord with me, because I've known for a long time that this position is thoroughly inadvisable. This particular event was just one in a long string of experiences which taught me the importance of reserving judgement. It's very easy to hear about a situation, or even be in one, and think you know all the facts. If you look at the other side of an issue, there is almost always more information that you weren't aware of. It's very easy to be convinced of something if you're entirely unaware of the facts of the other side. And once you're convinced of something, it's just one small step away from rejecting contradictory evidence, and then you have a feedback loop.
Open your mind from the start, and do your darndest to keep it that way. It needs the fresh air.

June 22, 2009

Well hot damn!

You know that shell interface to C++ I was talking about? Turns out it already exists! It's a tool called SWIG, used for wrapping up one type of code to be used by another language. And it turns out to be exactly what I'm looking for--a (relatively) simple way to access class member functions directly, in an ad-hoc way.
I don't have the servos with me right now, so I can't test it out fully, but after sweating over a hot command line for the better part of an hour, I've got it to the point of compiling and throwing the expected exception when it can't find the serial port. I am super excited about this, and I'm definitely going to be learning more Python from here on out. And maybe I'll finally get back into Lisp, if I can find a single goddamn interpreter...


EDIT: It works like a charm. :D

June 6, 2009

What I'm Doing Here

I'm here in Koblenz working with the Arbeitsgruppe Aktives Sehen (AGAS)--the active vision team. In a word, I'm working with robots. Right now I'm involved with the Robbie 13 project, which is the 13th iteration (in as many semesters) of a robot that is by now quite adept at fulfilling its duties--namely, to autonomously navigate a simulated "disaster area", map the area, and find "victims" (heat sources). Robbie has been very successful at past competitions, participating in the RoboCup Rescue League. I won't go too far into detail, but there's a lot more information at the website if you're interested. Now, though, Robbie is being groomed to take part in a different competition, the SICK Robot Day. Unfortunately the description is all in German, but I'll summarize the basic competition. The robot will be placed in a large oblong arena with obstacles scattered about, and 9 signposts clearly labeled 1-9. The robot's task is to navigate to each of the signposts in order (naturally, it has to read the numbers itself), while avoiding the obstacles as well as a second robot doing the same task in the opposite order. A collision with the other robot will mean disqualification, but the final judge of success is speed. It sounds pretty challenging, but a lot of Robbie's existing capabilities are well-suited to this task. In fact, except for the lack of image recognition (to read the numbers) and weatherproofing (this competition will take place outside, rain or shine) he's almost got everything he needs right now. But of course there is always room for improvement, and we've got until September to make him ready.
Unfortunately I'll only be here until mid-August, so I won't get to see the little guy compete. Currently my task is to build a pan-tilt unit to integrate the new laser range finder. Robbie already has one of these, and it's an indispensable part of his operation--it scans a wide radius in 2 dimensions to sense walls, and it's hooked up to a little servo which allows it to scan up and down to get a 3-D snapshot, mostly for identifying inaccessible areas ("rough terrain"). It's just a little tiny one, though, and now we've got a big heavy-duty new one--the SICK S300. It's actually quite portable compared to most LRFs, but it still weighs more than a kilogram, so just sticking it on top of a servo won't quite work. That's what I'm here for. Although I've never done any CAD before, I jumped in feet-first and over the past week I made a pretty good, basic schematic for an aluminum bracket to hold the LRF. Once the servos get here, I can take a few final measurements, get the design finalize, and then find out if the thing works at all, but for now I'm working on the software to control the servos. It's been a long time since I've done any object-oriented programming, so once again I'm really learning on the job. Overall, though, I think I can get this all finished in just another week or so. I hope so, anyway--this is interesting work, but I'd like to get this finished and start on another project before I go. I'm particularly hoping to have a crack at the higher-level designing... actually contributing to the intelligence of the robot. Anyway, I'll keep you posted!