New Products Flash Sale
Jack Crossfire's blog
Posted by Jack Crossfire | Aug 12, 2008 @ 01:23 AM | 3,400 Views
The answer is yes. The Goog actually has a rudimentary kind of content search in GooTube. It isn't for helping you find videos. It's for enforcing copyrights. What did you think it was for?

Things they're probably searching for:

similar frequency patterns in the audio
fixed broadcaster logo
similar looking frames of video scaled to common sizes

They're not matching arbitrarily scaled video. Primative as it is, it's quite a leap from traditional Web 2.0 technology which is just 80's text searches with 30 gigabytes of sliding popup windows.

The Goog one needed copy protection protection.

the "UAV" heartbreak (1 min 19 sec)


The Vimeo one worked straight.

the "UAV" shot (1 min 18 sec)
...Continue Reading
Posted by Jack Crossfire | Aug 11, 2008 @ 01:55 AM | 3,276 Views
Only watched the opening ceremony. Behind all the noise about communism being great, the state guaranteeing everyone's future, the individual being worthless, how many LED's child laborers can solder, U realized if U gave any of those smiling performers a 1 way ticket out of China, they'd be out of there in 17 seconds.

Some of the visuals were faked, but most of them were probably real. If U focused on just the visuals, U realized how fast & far technology is moving & how it's heading in a common direction. Eventually there's going to be no correlation between form & function, placement & position of anything. Anything can be a display, a phone, or a building right now, but in the future anything can be anything.

Your government recently mandated Calif* houses to be worth $1 million. What is your government to do in a future where anything can be a house and a house can be anywhere? Workers will rent cardboard boxes for $100,000 a month but never know it. They'll plug into robots thousands of miles away which live in mansions & totally replace their sensory input with the robot's.

It's a tough future for a living thing to follow. We humans count on physical objects having definite functions & physical places having definite locations.

What to do when anything can do anything & anywhere can be anywhere? How do you retain any kind of achievement?

Speaking of technology, finally updated heroinewarrior.com with all our stuff linked from the mane page, a new version of Cinelerra which can do all the motion stabilization you've been seeing on the Jack Crossfire show.
Posted by Jack Crossfire | Aug 09, 2008 @ 04:34 AM | 3,962 Views
Found the gyro bandwidth was doubled during the PWM rewrite, so set it back to its original value & got back to very similar gains as before the rewrite.

ANALOG_LOWPASS 1

Got all the way to the following gain:

CYCLIC_DAMPING 28

With this, if U push the stick over & snap it back she enters roll oscillation but recovers.

CYCLIC_DAMPING 32

is actually stable if she's not pushed. Snapping the stick over causes growing roll oscillation. So still evidence of noise adding slight stability.

Next, began adding nonlinearity to the feedback.

CYCLIC_DAMPING 24
CYCLIC_CURVE 128

Seemed to react the same. Unfortunately this was all we got before the aft cyclic servo failed again & she flung 30 ft across the ground. It may either be metal gears wearing out or gimbal lock with our crazy pushrod geometry. No-one is anxious to have a 3rd loss of control to find out.

Yaw damping seemed to oscillate the same whether 16 or 8. Need to try reducing yaw bandwidth.
Posted by Jack Crossfire | Aug 08, 2008 @ 01:20 PM | 2,711 Views
So NASA originally proposed a small solid booster + a large upper stage. Upper managers got hired & said they knew better so they moved to a large solid booster & small upper stage.

5 years later, they've declared the new design unworkable. Leadership triumphs again.

It's how all businesses work. Workers have ideas, the project grows, leaders get brought in who know better & redesign, the redesign blows up.

So with the broken battery cover & battery wear, the A560 is down to 12 minutes of video per battery charge. It's worse than the DV camera when we decided the DV camera was useless.

Got 2 rate damping tests in between commutes & breakage. We can forget about linear damping over 16. The next commute is log damping. Another commute is fake noise.
Posted by Jack Crossfire | Aug 07, 2008 @ 08:06 PM | 2,649 Views
So after burning up a week getting the machine vision swashplate training to work, you're probably wondering exactly how nonlinear the swashplate actually is. In the normal range, it doesn't appear very nonlinear & all this neural swashplate control looks like a waste of time.

The story may change if the servos go beyond their normal range. That's another week of machine vision tests. The uncharted territory is running servos & head speeds in ranges they couldn't achieve using classical controls, including adding noise to the controls.

Got all 3 servo angles in this movie. Kind of nihilistic watching all those piece of metal undulating like a biological creature.

swashplate swashing (0 min 49 sec)

Posted by Jack Crossfire | Aug 05, 2008 @ 07:22 PM | 2,615 Views
Notice on the machine vision, the blade never reached negative pitch, so the neural network didn't have negative pitch data to learn from. It still managed to extrapolate rough negative pitch on its own, but this operation still requires adjusting servo horns.
Posted by Jack Crossfire | Aug 04, 2008 @ 03:37 AM | 2,610 Views
Tethering the transmitter to the laptop for a downlink is a bad idea. U need roaming just in case she flies away. The laptop needs its own wireless connection to the transmitter & the transmitter needs to broadcast to the 2. Fortunately, this means the ground XBee can run at the full 115200 baud of hardware UART instead of software UART like right now. The laptop needs only an XBee to USB adaptor which any sane person builds out of a USB -> RS232 dongle.

So with the ground station XBee, that brings us to 2 XBee's on the wishlist. The ground station is still useless because you're still focusing on the aircraft.

Next, observed hot running temperatures for the cyclic servos in testing & it may have burned up the last ones. The canopy needs to go, but maybe not the flags.

Swashplate training required major changes to compensate for the software rate damping configuration, auto restart feature, & someone's idea to stretch out the video. Probably 1 week away from a fully tuned swashplate. The current linkages + a linear CCP mixer would be a rough ride.

http://www.youtube.com/watch?v=yjM_3p-WOa0
Posted by Jack Crossfire | Aug 02, 2008 @ 04:40 AM | 2,674 Views
3 hours of surgery to solder, install, & align the new cyclic servos. Almost ready to buy proper extension cords instead of soldering them. 3 hours of neural network calibration next.

For a good time, watch some Computer Chronicles episodes from the late 80's. Note all the $400 stuff which is now free. If only housing was like that. There was a big leap between 1987 - 1989. That seems to be the transition to standardised GUI's.

Your reaction is U really suck & it's time for a career change. Your modern PC software doesn't do much more than software of 1989. Besides the amount & complexity of the data, not sure the number of things even the greatest modern web application can do with a given piece of data is much greater than PC programs were doing in 1989.

Where we smoke the 80's is in embedded systems....Continue Reading
Posted by Jack Crossfire | Jul 29, 2008 @ 02:00 AM | 3,611 Views
Good news: VicaCopter did not crash because of software flybar. She was very hard to fly, but the crash was caused by another servo burnout. The servo under the port flag, 2 B exact. Jack Crossfire noted it felt like a servo went dead before the crash. A miracle he could auto it in with only broken skids & keep those precious flags untouched. 35 hours to burn out. Not bad.

Throttle of 0.6 is required to begin to get any autorotation with the payload.

Upgraded the PIC to take some configuration from the ARM. It doesn't enable the servos until configuration is loaded. Also, there's enough room in the protocol to send 4kbytes of configuration to the PIC.

The next great programming language is one that reduces from a reasonably sized standard all the way down directly to microcode without an interpreter. Java standards are bit too bloated. C++ could have a lot of Java features without sacrificing performance. There must be something somewhere between Java & C++ which is optimized for speed.
Posted by Jack Crossfire | Jul 28, 2008 @ 04:07 AM | 3,364 Views
So after 4 days, got the PWM moved over to interrupts & it worked as designed. Jitter from the software is gone. Everything is running faster, from radio to IMU. Radio is going about as fast as possible, 5500 bits/sec because of the packet flushing delays. 2 way communication may be practical again.

Interrupt driven PWM on a PIC is a waste of time & really hard, 2 B sure. It's the largest routine of them all.

Note, U need to create an interrupt table from the servo PWM & read off the table in the interrupt handler. There's not enough time to recalculate each delay from scratch.

Be sure to use RETFIE FAST when returning from interrupts, otherwise you'll get stable results on the bench but crash in flight. Also, a permanent lockout occurs if the PWM goes out of range, so U need to clamp that.

Found a bug in log cyclic damping but it still was too unstable.

Min throttle had to be stepped higher yet again. The jitter must have been pushing it into the minimum range. Chinese ESC's keep going if PWM is below minimum or signal is lost, making for exciting tests.

Running throttle at 0.6 is sucking huge amounts of flight time. It's at least 2 minutes lower than it was at 0.55.

Now the bad news. Flybarless doesn't work anymore & the tail is wagging again. With the best gain & bandwidth she's real loose. Any wind or descent with power & she's out of control, killing engine, autorotating & crashing with pride. Jitter actually dampened the angular rates.

Now some options:

Put the flybar on.

Add noise to the interrupt PWM generator.

Revert to polling PWM like nothing ever happened & lose radio speed.

As sweet as Henrik Copter is, he still uses a flybar.

Have some extreme motion tracking from a past flight.

moff closeup (0 min 31 sec)

Posted by Jack Crossfire | Jul 24, 2008 @ 03:15 AM | 3,443 Views
Just when U thought the PIC couldn't get any faster, did another round of optimization, got rid of a lot of pointers in the A/D & branches in the rate damping & it's screaming. 24 bit variables are the key.

PICs & Atmels R probably very close in performance. Why would either let themself fall behind if it's just a matter of increasing the clockspeed?

There's a guy selling PICs that generate 24 PWM signals. Wondered how on Earth he did that since our 5 software polled PWMs jitter like crazy & we really need to get on top of the yaw jitter. There aren't 24 timer comparers or hardware PWM generators.

The answer is he probably uses 1 interrupt & 1 timer. He's got a 24 bit mask of pins to lower in the next interrupt & ANDs it with the latches on the next interrupt. Then he calculates when the next pin is going to lower & sets up the next interrupt time.

But multiple pins can come up during the delay between trapping an interrupt & scheduling the next one. Those pins would be missed. Well if this is a realtime fixed clockcyle routine, he can just predict the pins which would come up in the time span of the interrupt handler & mask those too.

But how does he change a PWM duty cycle? If those are updated at 25Hz & interrupts are disabled for every update, there's going to be jitter. He probably double buffers the duty cycle variables. Double buffering doesn't require precise timing, so a polling loop in the same thread as the duty cycle updater waits for all the pins to turn off & swaps the variables then.

Brilliant! Why didn't we think of that?
Posted by Jack Crossfire | Jul 23, 2008 @ 03:02 AM | 3,495 Views
For the 3rd time in 5 months, got a puffer. It was a mild puff on an $85 4.1Ah. VicaCopter is officially more expensive than a full size R-22. After it cooled down, the puff went away.

China is increasing the trash load to compensate for dollar inflation, probably marking 1C batteries as 20C. The best solution is to use smaller batteries in parallel & throw them away as they self destruct. Mercifully, xcitebattery is now completely out of stock.

Unfortunately there was no wind in the wind tunnel, but we did get the stiffest heading holds so far. Software triumphs over physics. Besides heading improvement the camera power seems to miscalibrate the gyros & we get serious position oscillations until they correct in flight. The heading routine doesn't recalibrate in flight, unfortunately.

Calif* is back to an offshore flow, & that means more smoke.

fire (0 min 46 sec)


VicaCopter was on the scene of the smoke, complete with the latest yaw damping. Today we have timelapse from the onboard camera, ground footage showing the yaw movements, & a dead battery.

The latest in software yaw damping (2 min 21 sec)
...Continue Reading
Posted by Jack Crossfire | Jul 22, 2008 @ 05:27 AM | 3,316 Views
The wind tunnel started working again. Did 3 wind tunnel tests with 2 different throttle settings. Well, now is a good time to think about a dedicated heading hold gyro. The assembly language hacking definitely made her more stable, but it isn't keeping up with the wind. She did manage some impressive holds pointing directly downwind.

May also be near the limit of a 0.2s/60deg servo. Can't get anything faster & equally as reliable as the Futaba S3102.

Beginning to forget about low head speed in high wind. Looks like one of those things Boeing can't do either but won't talk about. A head speed that adapted to payload & wind speed would be nice.
Posted by Jack Crossfire | Jul 21, 2008 @ 12:12 AM | 3,512 Views
Looks like a USB to parallel converter won't work. There is no direct access to the pins anymore. Most people have already switched to buying USB programmers and forgetting about logic levels from laptops. The alternative is making an RS232 PIC programmer & buying yet another RS232 dongle. That would certainly run faster than any parallel programmer.

Finally, there's writing a very complicated protocol to configure the PIC online instead of during programming, but U can't reprogram the PIC like that.

Because of the way I/O is a moving platform, probably going to end up with a USB to GPIO converter. The way people do it is by first converting USB to RS232 and then driving a microcontroller by RS232. Buffer up a bunch of GPIO state changes, record certain lines while playing back the others.


The assembly language integral managed to work without crashing. We're getting good at bench testing. J-B Weld seems to be holding better than cyanoacrylate.

While making the heading a lot stiffer in manual control, did not have enough wind to flog it. Tail wag was still significant.
Posted by Jack Crossfire | Jul 20, 2008 @ 05:02 AM | 4,150 Views
So there's no USB -> parallel adaptor in Calif*. U need to order it & wait a week. The most likely outcome is reappearance of Amazon 2005 running on lead acid for yaw rate hacking.

Next, cyanoacrylate on the landing gear didn't work. 1 mildly hard landing & it was over. Now we're up to J-B Weld with a 1 day cure time. It's not supposed to work on plastic, but nothing else does either.

No-one ever figured out which adhesive works best on plastic. Definitely a TODO item for the human population, next to learning how to scale D-1 to Goo Tube.

Fortunately, got FLV & WMV working in Cinelerra. Now we can watch our Goo Tube downloads in glorious 48khz 64 bit double precision oversampled compressed limited synthetic hi-fi.
Posted by Jack Crossfire | Jul 19, 2008 @ 12:44 AM | 4,805 Views
Our final Moffett mission had maximum focus of the Moff behind VicaCopter. This focus meant 1600 ISO, but U can barely see the difference on internet resolution. Decided there was no way the A560 would come anywhere close to what the 5D is seeing on the ground, so no more aerial attempts on the Moff.

Definitely appears the inertial navigation is too slow to overcome the wind on the tail. It's fast enough for the cyclic, but the tail is too unstable even for Gumstix. The tail has enough power. To conserve clockcycles, need to try just a small integral feedback on the PIC.

Had a broken LED & landing gear following a hard landing. 1 hour without breakage, not bad.
Posted by Jack Crossfire | Jul 17, 2008 @ 08:04 AM | 3,613 Views
newark timelapse 2 (2 min 18 sec)


This was our first attempt at shooting from a fixed position for a
complete battery charge.

Good news: didn't have any autopilot issues

Bad news: the camera somehow filled its entire 4Gig SD card before landing.

Putting throttle back to 0.6 definitely seemed to get us more stability, although tail wag was worse. All shots had to be downwind to get enough lighting. Obviously, heading was highly variable. Lacking a viewfinder downlink, it was impossible to center the shots.