New Products Flash Sale
Jack Crossfire's blog
Posted by Jack Crossfire | Aug 16, 2008 @ 03:18 AM | 3,575 Views
U can't hire Moses unless U go all the way. Meet the dream team.

Ba ba ba ba ba ba ba ba Barrack + Tiga tiga tiga tiga tiga TigaWoods

Michael Phelps: secretary of steroids
Don King: secretary of defense
Hillary: attorney general
King Abdullah: secretary of energy
Jim Cramer: secretary of the treasury

It's going to be a fun 12 years.
Posted by Jack Crossfire | Aug 15, 2008 @ 01:02 PM | 3,280 Views
Nowadays, U don't really need to know anything. Information becomes obsolete instantly. U can look up anything U need to know on demand, as long as it's the same thing everyone else is doing. Forget about looking up fake test pilot names.

Now today's sunset. Sat in traffic all through the best lighting. If only the day job had windows....Continue Reading
Posted by Jack Crossfire | Aug 14, 2008 @ 01:13 AM | 3,483 Views
Reviewing the prices & terms of the online PCB fabricators pushed us pretty hard towards another proto board again. The proto board is $15 & can be built in a few days of hell. The PCB fabricators go from 3 weeks of waiting to $200, with tons of pain in between. U have to reinstall Windows to use expresspcb.com.

The proto board could be just as reliable as a PCB. The PCB would just be holes & traces for the same components we used before. The PCB would be lighter but require more structures to mount the breakout boards.

A PCB could need at least 2 revisions before it flew, so double the quote & turnaround time. The expensive ones would pay for a 900Mhz radio set.

900Mhz radio would be redundant to the 2.4Ghz radio when video downlink wasn't being used. That's a PCB revision already. Alternatively, there's programming some kind of auto landing. Unlike the pros, we don't have miles of flat terrain.
Posted by Jack Crossfire | Aug 13, 2008 @ 04:23 AM | 3,329 Views
The extra range required to take advantage of non linear CCPM put the servos in a lot of stalled positions. It also pulled the washout base off the rods in the machine vision captures. Tried another round of manual CCPM.

Manual CCPM is flyable for a human. The human gets used to the collective crosstalk & nonlinearity. It's pretty bad for an autopilot. The autopilot using PID feedback can't handle the crosstalk & phase error. Maybe implementing proper phase would fix the cyclic.

Got through a number of tests before the next global killer. Adding noise to the PWM did not make cyclic more stable. The most stable results had no curve. The best explanation is the polled PWM changed duty cycles when the lines were high. The interrupt PWM updates once, as soon as the last line lowers, adding up to 40ms of delay.

Got all the way back to autonomous hover with the interrupt PWM & manual CCPM. She overcame the crosstalk & got it stabilized.

Well, the radio is still a problem. The syslog indeed captured a radio failure and a flight recording was captured with radio packets dropping out. Maybe it's time for auto landing if radio failure.

The crash during high altitude auto hover was a global killer. Nothing survived, not even bacteria. Probably time for a PCB....Continue Reading
Posted by Jack Crossfire | Aug 12, 2008 @ 01:23 AM | 3,436 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,315 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,997 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,728 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,671 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,634 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,630 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,694 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,646 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,397 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,478 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,539 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,342 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,548 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.