Jack Crossfire's blog View Details
Archive for July, 2008
Posted by Jack Crossfire | Jul 29, 2008 @ 02:00 AM | 6,992 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 | 6,837 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 | 6,871 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 | 7,549 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 | 6,649 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 | 6,878 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 | 7,609 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 | 8,208 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 | 7,021 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.
Posted by Jack Crossfire | Jul 16, 2008 @ 04:21 AM | 6,706 Views
In other news, autopilot failed us again. This was our highest altitude in the wind tunnel ever. Things started out real loose in heading & after a while she suddenly went into a spin. Miraculously, she stabilized after disabling autopilot & we got back control.

2 later autopilot runs didn't have the same spin, but wind died down.

Newark timelapse 1 (1 min 3 sec)


The high res ones R on
http://diydrones.com/photo/photo/lis...=JackCrossfire...Continue Reading
Posted by Jack Crossfire | Jul 13, 2008 @ 10:56 PM | 6,735 Views
VicaCopter now flies roughly once a week for 10 minutes to stretch the drive belt, redistribute the lubricants, & build confidence. She's basically the same as a Hornet UAS.

We have some ideas to put in landing & takeoff switches, set & retrieve waypoint switches. Maybe a numeric keypad. Maybe just pilot commands on the laptop. A battery indicator would be good too. Not really practical to carry a laptop wherever she flies.

To save on the weight of sonar & reduce the danger, they would rely on the pilot to sense ground level & switch in & out of landing & takeoff programs. This could make landing & takeoff in high wind much easier.
Posted by Jack Crossfire | Jul 13, 2008 @ 12:20 AM | 7,176 Views
So basically, magnet UAV is old news & the next big thing in magnet UAV's is levitation by repulsion. The first commercially feasable levitation by repulsion was patented in July 2007. Before then, you had diamagnetism, spin stabilization, & attraction.

The theory is a very large toroid permanent magnet (11) repels the opposite poles of a small disk magnet (16) if the disk magnet is in the center of the toroid field. It actually stabilizes it in the vertical axis & the rotation axes.

3 pairs of 2 electromagnets (A1,A2,B1,B2,C1,C2) in the base stabilize it in the horizontal axes. 3 hall effect sensors (A0,B0,C0) in the base sense horizontal position.

Not sure we would have had the budget to implement something this complicated just for cleaning contact lenses. Maybe U $5 million home owers can spend your mortgage stimulus checks on it.

Magical GRAVITRON Levitation Technology From Levitation Arts (5 min 6 sec)


Patent #20070170798

In other news, KQED began showing low definition movies on its HD feed to fill the airtime. Moreover, they crop all 4 sides of it, a practice which used to be illegal in the analog days. What a joke. Where's my TV stimulus check?
Posted by Jack Crossfire | Jul 10, 2008 @ 04:45 PM | 6,439 Views
FYI, July 9 was national geriatrics day, where we observe the process of getting old. U should all have eaten a cake or ice cream. It'll be 40% more expensive next July 9. Unfortunately some of us were trying to get Ubuntbunt to work on our laptops. After 40 years, someone's still finding things to redesign in UNIX.
Posted by Jack Crossfire | Jul 09, 2008 @ 11:40 PM | 6,725 Views
Hillary's prayers against Amazon finally overwhelmed us. In fact, this is the first laptop ever paid for out of the Jack Crossfire general fund. The days of corporate freebees R over.


Acer Extensa EX5620-4020 Intel Pentium dual-core T2370(1.73GHz) 15.4" Wide XGA 2GB Memory 250GB HDD DVD Super Multi Intel GMA X3100 NoteBook - Retail

$549.99 + $100 tax & shipping


Its screen is 3/4 the resolution of Amazon's 2005 resolution & much more faded. Its CPU is 670Mhz slower than Amazon 2005. It has no RS232 or parallel port. Its memory & hard drive R twice Amazon 2005. The combination of weight & inflation put historic screen & CPU speed out of reach. Only memory got cheaper, thanks to Micron's daily writedowns.

Fortunately, the dual cores make it very responsive & Linux actually supports some OpenGL features on it. Forget about sleep mode & OpenGL shaders of course.

In 2005, we needed a powerful heavy desktop replacement for tradeshows & demos. Now we need a disposable, light ground station for VicaCopter. Laptops fall apart too quickly to justify spending the money to recover what we had in 2005.
Posted by Jack Crossfire | Jul 08, 2008 @ 04:24 PM | 6,749 Views
With magnet UAV, every payload had a random preferred yaw orientation. Tried to line up the heater with the payload to transfer the most heat but preferred orientation was never certain.

Now we have an explanation for the yaw preferences. The payloads are off balance & each payload very slightly tilts the lift magnet a different way. The lift magnet feels no yaw force when it's perfectly vertical, but given the slight tilt, feels a yaw force from the Earth's magnetic field.

So magnet UAV's can have yaw control with no extra mass.
Posted by Jack Crossfire | Jul 06, 2008 @ 09:53 PM | 7,150 Views
Have found if U mention a seller & low price for a hot product on rcgroups, the seller immediately sells out, so no sellers 4 U.

Storm case M2950: $187
5 day UPS shipping: $60 each way
Airline shipping: $105 each way

Sending VicaCopter to Fl*rida for a shoot would cost over $310. It would probably be cheaper to pay someone to fly U over the property & the picture quality is better. On the other hand, U would own a really good case for other uses & only pay shipping costs of $120 + 40% annual inflation for every trip afterward.

Had $200 in clothing expenses in June because we expected 100% clothing inflation in July. The cost of driving to our day job has been doing a lot more than doubling.

July: $1178.44 so far
June: $457.95
May: $203.45
April: $142.21

Suddenly a Storm case isn't so expensive anymore. Would expect Storm cases to get cheaper if traveling decreases, but so far 100% travel inflation has been offset by free credit.

The software plan is down to implementing neural controllers for target attitude & cyclic, but with 3 contenders for each.

1) Dynamic inversion using the last n seconds of navigation for training feedforward networks.

2) Predicting future state again & using traditional PID loops for control. Using the last n seconds of navigation for training feedforward networks.

3) PID emulation by recurrent networks & genetic training online based on observed success.

Based on The...Continue Reading