SpaceX Launch Successful … Mostly

So, SpaceX launched their Falcon 1 rocket on March 20th. The Falcon 1 is a 2-stage, completely reusable rocket. On launch, the first stage worked flawlessly, getting the Falcon above the atmosphere. Unfortunately, The second stage was not able to completely get the Falcon 1’s payload into orbit.

SpaceX broadcasted the entire launch and flight via a live webcast. They had cameras mounted both at the launch platform, and on the rocket itself. When the first stage ran out of fuel, a pneumatic piston extended, kicking the second stage off the bottom of the rocket, and sending it hurtling back to Earth (a parachute allowed the first stage to fall back gracefully, and land in the ocean for recovery).

The second stage then lit up pushing the Falcon 1 even higher. Unfortunately, this is where the problems started. As the second stage started running low on fuel, the fuel began to slosh around inside the fuel tank. This caused the Falcon 1 to start rocking back and forth. This rocking got worse, and became a spin. Eventually, the motion was so bad that the fuel wasn’t going to the engine anymore … it was just bouncing around inside the fuel tank. At that point, the second stage engine died, and the Falcon 1 fell back to Earth, to be burned up in the atmosphere. It had gotten higher than the initial Space Shuttle orbit.

SpaceX considers this to be a successful launch: Other than the problem with gas bouncing around, everything else worked flawlessly. Their next launch will be their first commercial payload, in September. This will be the real test of their business model. While SpaceX has proven that they can get to space, the crux of their plan is that once the first and second stages of their rocket have fallen back to Earth, they can use them again. This isn’t a given — rockets are under enormous stress when they launch, and there is a good chance that they will be unusable after even 1 launch. However, if SpaceX is able to reuse their rockets as few as 4 or 5 times, there is a good chance that they can achieve their goal, which is to reduce launch costs by a factor of 10.

Read the official SpaceX report here.

Lamby Robot Upgrade Part 1: The Plan

So, last October I build a Robotic Lamb. With the help of motion sensors, a servo and a Basic Stamp, this ordinary stuffed animal was able to creep out amuse guests (and my wife) by turning it’s head to watch them as they move around the room. Since then, it has been given a name, Lamby, and has both amused and frightened many visitors.

Yet, lately, I’ve been feeling that it just isn’t enough to have a subtle, animatronic children’s toy following you wistfully with it’s eyes. Yes, it’s time for Lamby to get an upgrade!

Since I received such a great response from my last post on Lamby, I will be putting up articles as I work on this project, with pictures of Lamby under construction, descriptions of the parts I’m using, and the code to any software I write. My goal is for there to be enough information here that anyone with only an amateur background in programing and/or electronics will be able to build the sane thing. For anyone curious, by the way, I have a good background in programing, but only a very basic background in electronics. In fact, I just finished reading “Electronics for Dummys,” which I recommend as a good place to get started.

In this part, I will outline some of the problems I ran into with Lamby so far, and my plans for his upgrade.

Fabric and Motion Sensor Mounting

Lamby was not born to be a robot. In fact, he was originally just a normal stuffed animal you might find in the store. In order to robotify Lamby, I had to cut off his head and also cut out his eye sockets. This allowed me to place PIR motion sensors in his eyes, and then mount his head on a servo motor to allow it to spin. This generally worked fine, but lead to problems, which I’ll be addressing in the upgrade:

Once the fabric was cut, it tended to keep tearing on its own. This led to Lamby’s gradual disintegration, which I halted with scotch tape. Definitely not an optimal solution. While the most obvious solution is to sew the parts of Lamby that were weakened by the scissors, there are 2 reasons why this might not be the best idea: First, it assumes you know how to sew. Second, I would like to more permanently attach the PIR sensors in his eye sockets (they tended to move around a bit), and you can’t sew plastic. Instead, I think a better solution will be crazy glue. I plan on crazy gluing the PIR sensors in Lamby’s eye sockets, and also crazy cluing any loose joints or weak spots in his fabric.

Servo Mounting

Lamby currently has a single servo. This is mounted in his neck, and allows his head to turn. The servo’s gear is embedded in the stuffing in Lamby’s head, while the servo itself is mounted in the stuffing in his torso. This allowed the head to turn. However, stuffing is soft stuff, and sometimes the servo would turn, but the head would not, or not turn as much. Obviously, it is not a good idea to anchor a servo motor to stuffing :). Instead, Lamby 2.0 will have a plastic skeleton, which I will use to attach his internal components.

Embed the Controller Circuit

While Lamby himself was fairly subtle, the fact that he had wires coming out his neck attached to a circuit board was enough to tip off most people that something was not quite right. Lamby has a fairly large torso … in Lamby 2.0, the circuit board will be placed inside his body. It will be inside an anti-static bag to prevent the stuffing from shorting out the circuit, or causing a fire.

More Motion

So far, these have been improvements in Lamby’s construction, but there haven’t been any new features. So, there is poor Lamby, and all he can do is watch people as they go by, not being able to participate. I can’t have that! Lamby 2.0 will receive 2 additional servo’s: He will be able to wave each of his arms independently.

Brain

The microcontroller inside of Lamby is fairly limited. Until now, Lamby’s only job in life was to look at things moving. However, with his new capabilities, He will have to do more than that. Unfortunately, his microcontroller brain will not be up to the task. Instead, I will fit Lamby with a USB port uplink to a computer. Autonomous functions, such as watching motion, or waving when someone enters the room will be performed by his microcontroller. More complex thinking, however, will be done on the computer. The computer will then send instructions to the microcontroller to tell Lamby how to move and act.

Communications

You’re probably wondering what sort of actions are so complicated when Lamby only has 3 servos and 2 sensors? Well, thanks to the advances of cheap USB sound cards, Lamby will also have a speaker and microphone embedded in his chest. This will be connected via a USB sound card (less than $10!) back to the computer as well.

The software running on the computer will include basic voice recognition and voice synthesis. This means, that you will be able to walk up and say “Hi Lamby,” and Lamby will reply back “hello” while waving. This is where the processesing power of the computer comes in.

X10

This one I’m not entirely sure about yet. I think that I might install an X10 controller on the computer Lamby is connected to, and then connect some of the lights in my apartment to X10 plugs. This would allow Lamby to turn lights on and off in my apartment, potentially on voice command, when he sees motion, or when he wants to mess with you.

Computer Software

I plan on developing two pieces of software for the computer, as interfaces with Lamby:

Voice Interface

The first is going to be a voice interface. I’ve found that one of the main problems with voice recognition interfaces is that you have to know what commands you can say, and what will be recognized by the computer/robot. Since you are interfacing with a robot though, and not a computer, I can use the whole computer screen to show what Lamby is thinking. The first program will blank out the whole computer screen. On the top half of the screen will be a voice modulator bar, which will just be some eye candy showing Lamby’s voice output. You know, the horizontal line that deforms based on the sound coming out the speaker? The bottom half of the screen will be a list of words or phrases. These are the current list of phrases that Lamby is listening for. For example, if you say “Lamby,” the list of words might display “what is the weather, what time is it, look to the left.” If you say “what is the weather,” the list will change to be “now, later, tomorrow, this week.” My goal is that this will be intuitive to people who have never seen it before — ie, visitors in my house.

Direct Control

The second application will be mainly for development. This will be a direct control program. Basically, when you run it, your mouse (or XBox controller) will take direct control of Lamby’s arms and head. Also, it will record your motions, so that they can be played back later. I’ll be able to use this program to do 2 things. First, I can use it to control Lamby like a puppet. Second, I’ll be able to record complex motions for Lamby which he can play back on his own. This will make things like waving, shaking his head, etc much more natural looking than just a simple programatic command.

Behavior

Here are some sample use-case behaviors I expect Lamby to be capable of when his upgrade is complete:

  • When someone walks into the room, or moves after staying still for a while (watching tv?), Lamby will wave or say hello .
  • When someone moves around the room, Lamby will look at them.
  • You will be able to ask Lamby the time, weather, or stock ticker price, and he will answer in voice
  • Lamby may make random “intelligent” comments, like “Wow, its dark out already,” or “It’s unseasonably cold out today,” or “Hey, aren’t you supposed to be at work?!” most of this information he can get off the internet, courtesy of controller software running on the computer.
  • With X10, you can tell Lamby to turn the lights off, and he will.
  • You can tell Lamby to wake you up “in 10 minutes” or “at 8:00,” and he will by turning on the lights, and yelling at you until you tell him to stop.

End Result: Lamby 2.0
So, the plan is that after the upgrades, Lamby 2.0 will become not just an animatronic toy, but basically an avatar. With the addition of speech and voice recognition, it will appear to be intelligent. Since I can use it as a front-end to web-enabled scripts, Lamby will appear to have real-world intelligence. He will know if its raining, if you’re home from work early, and if it’s rather warm for this time of year.

Oh yeah … he’ll also be able to watch you as you walk around the room. :)

Space X Falxon 1 launch scrubbed for yesterday: Rescheduled for today

I watched the Space X Falcon 1 live webcast yesterday evening. I still think there is nothing cooler than watching space ships take off. This is their second launch since their first crashed into the ocean last year. Yesterday, the launch was aborted with less than 3 minutes left in the countdown — it sounded like due to an unreliable telemetry data feed. They are planning on attempting a launch today instead.

Space X is a new company in the Space 2.0 race. This is a race by private companies to provide cheap launch capabilities. In the next few years, this will usher in a while new industry of tourism, mining, manufacturing, and eventually, colonization. Space X’s premise is that they will have a series of completely reusable rockets; Where every rocket launched to date has burned away sections of itself during its flight, the Falcon series of rockets will drop its used-up sections by parachute where they can be recovered and re-used.

Many of the new generation of space companies are at the same point in their business: their spaceships are undergoing final development and beginning flight testing. Space X however is perhaps the furthest along. Depending on the success of today’s launch, they will be catapulted ahead of their competition.

Roxio Record Now Music Lab 9 Review

There are lots of people out there who have been collecting music for some time. Personally, for example, I have had a collection of LP’s (There’s nothing like The Who in vinyl!), cassette tapes, and probably hundreds of CD’s. In the past few years, I’ve also built up a respectable amount of MP3’s and AAC music.

While having plenty of music is great, the problem starts to become that I can only listen to CD’s on my cdplayer, LP’s on my record player, and MP3’s on my IPod. If this sounds familiar, then Roxio’s “Record Now Music Lab” is targeted just for you.

Record Now Music Lab is a one-stop application which allows you to manage all your music from one place. It provides all the tools you might need to centralize your music collection on your computer. From there, you can copy it to the mp3 player of your choice. You can also use the digital copies as a backup for your CD’s in case they become scratched or lost. In my case, though, I like the convenience of not having to juggle hundreds of CD’s, and after using Music Lab to digitize my music, I can put my CD’s into storage.

Music Lab runs on any PC computer which can run Windows 2000 or XP. One thing to note is that it doesn’t provide any features or functionality which you can’t accomplish using free tools or utilities. What it does do well, however, is to provide all this functionality in one location, which makes it very easy to perform tasks.

Music Lab is capable of taking your CD’s and turning them into MP3’s directly. It can detect the CD and Track information of the CD you insert, and will automatically include that in the mp3 metadata. This is a nice feature, and it makes importing CD’s (probably one of the most commonly-used functions) a breeze. In addition to MP3, Music Lab supports converting MP3’s to AAC (Apple’s ITunes format) and OGG, which is a new open format which provides superior quality to MP3, although few players support it so far.

Music Lab can import your LP’s, cassette tapes, or potentially any other format via your sound card’s audio input jack. You will probably have to purchase a special “male-male” audio cable in order to connect the output on your player to the input on your computer, although these cables should be available inexpensively at most home audio or computer stores. One thing to be careful of is that your computer supports stereo input. Most computers do, but some of the budget-oriented PC’s only support mono sound in. The only drawback in this case is that your mp3’s will not have separate left and right channels. The Music Lab software has some basic filtering capabilities, which are able to take out some of the static hiss on older cassette tapes and LP’s.

Some additional features which help to achieve all your audio-goals from Music Lab are that you can transfer songs to many cell phones to use as ring-tones, and also that you can then burn your music back to audio CD’s. This latter can be useful for creating your own custom CD mixes for parties or long car rides.

The bottom line for Roxio’s RecordNow 9 Music Lab is that it is a solid, centralized application for managing and converting all your purchased music.

More advanced computer users might be better served to find free applications which only provide the specific functionality they intend to use, and thereby save the purchase price

Users who are looking for a simple, no-hassle solution, or who are not comfortable with tracking down and locating all the different software it would take to achieve the equivalent functionality will be happy they purchased it.