SMALL - SMALL - Telemetry SMALL - Radio
Jack Crossfire's blog
Posted by Jack Crossfire | Jul 06, 2008 @ 10:53 PM | 3,081 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
Posted by Jack Crossfire | Jul 06, 2008 @ 01:33 AM | 2,455 Views
Well, review Henrik's video & decide how stable VicaCopter is 4 yourself. Henrik has DGPS & a streamlined airframe which doesn't toss around the rotor wash as much, a fully GPS assisted Kalman filter, & that precious neural controller. Other than that, it's the same T-Rex, same GPS module, same computer, same IMU.

Henrik Copter (1 min 26 sec)

Posted by Jack Crossfire | Jul 03, 2008 @ 06:45 PM | 2,434 Views
Got foot power above 12mph for 9 seconds. Extending it to 20seconds brings it down to 9mph. It's duration vs. speed in the Hillary escape route.
Posted by Jack Crossfire | Jul 03, 2008 @ 02:23 AM | 2,386 Views
Got a video of some autonomous hovering in front of an area near Moffet field. Notice the hangers. The computer executed some turns & there was a light breeze. Light breezes sound a lot nastier on camera. Note tail wag.

Little Miss Moffet (2 min 41 sec)

Looks like log damping was a dud. Completely worthless oscillation returned to cyclic. Reduced throttle to get the RCE-BL35X to give us a good RPM again & the tail started wagging again. Log damping just makes U feel good. Looks like a proper heading hold gyro would do the job, but it's no fun.

So it's really a matter of balancing RPM, weather, & gain. U could have the computer take wind speed, desired stability & look up the right gains.
Posted by Jack Crossfire | Jul 02, 2008 @ 05:44 AM | 2,320 Views
Well, we'll probably never know why the GPS logger is so unreliable. It sometimes gets stuck in record mode when powered on. Sometimes it fails to record the state on EEPROM. Sometimes it can't write the MMC card. MMC cards probably need brown out protection. It was more about getting a mass storage driver on the PIC than logging GPS. It's probably good enough to do Hillary Clinton egress training. For GPS logging, you should obviously support a commercial product instead of doing it yourself.

Next, the reason we went with PIC for VicaCopter was PICs have the highest pin count in the smallest through hole packages. If Atmel just offered 44 & 68 pin PLCC's, it would have been Atmel. PIC's are horrible at C programs. Not sure about Atmels because a 16Mhz AT91USB we used in 2006 was also pretty slow. Alternatively, U could make a middle management salary & use surface mount parts.

June cashflow:

$38.05 - tail servo replacement. Airtronics 94761 replaced by Futaba S3102.
$36.58 - Gumstix hirose replacement. Theoretical cause of engine cutoff but it wasn't.
$21.21 - tail rotor hub replacement. Theoretical cause of high frequency vibration but it wasn't.
Posted by Jack Crossfire | Jul 01, 2008 @ 07:36 PM | 2,256 Views
AP wrote:
> 12,000 workers, or 7 percent of Starbucks' global work force, will be affected by the closings

Whew. And U thought aerospace was bad. Looks like your fast food career is going to have to wait, too. wrote:
> Chinese astronauts were on schedule to get to the moon by 2017 or 2018

Something that's not a green tech startup nor a social networking startup. Now the Chinese might be on to something. wrote:
> "If we really wanted that to happen, we sure should have
> started putting more money into that programme sooner."

Buzz Aldrin did not say "programme". wrote:
>"Americans have been watching for over 25 years spacecraft
> coming back and landing on a runway," he said. "It is going to
> be a bitter disappointment to people here."

They sure spent a lot of time on those missions practicing runway landings. Water landings should free up more time for love, at least. wrote:
> America must invest now in the space agency Nasa, or
> surrender leadership of space exploration to Russia and China

But does China lead in mortgage entitlement exploration?
Posted by Jack Crossfire | Jul 01, 2008 @ 04:45 AM | 2,372 Views
Well, yesterday's log curve was a success. Tail wag isn't totally gone. Just enough that U can't see it in flight & the stick fights back more. With the T-Rex, U don't see tail wagging, U hear it. The 430XL motor makes an oscillating dying elephant sound when it wags. The dying elephant sound was notably more intermittant with the log curve.

Couldn't get any more gain than the linear curve. Maybe the limits could be extended.

Also reduced tail gain in the autopilot of course. Pointing downwind definitely was more stable. Unfortunately, now got exponential pitch oscillations & losses of pitch control in 20mph wind. Based on Henrik copter, U need a feedback rate of 100Hz & no latency of a serial port to stabilize the T-Rex.

Lost the RCE-BL35X settings again. Since ESC & computer don't have a common ground line & programming the ESC requires 2 batteries, U need some way of grounding the ESC for programming. With Dean on all the power connections, an ESC ground is safe again, but real men plug debugging serial ground into battery balancing tap.

Everything is between HeroineCar repairs nowadays.
Posted by Jack Crossfire | Jun 30, 2008 @ 05:42 PM | 3,481 Views
Now some quotes from The Georgia Tech Unmanned Aerial Research Vehicle by Eric N. Johnson* and Daniel P. Schrage. It's basically the insides of the mighty Henrik Copter.

Does Henrik Copter use a kalman filter?

He uses a 17 state Extended Kalman Filter. The states include: vehicle position, velocity, attitude (quaternion), accelerometer biases, gyro biases, and terrain height error. The system is all-attitude capable and updates at 100 Hz.

Does Henrik Copter use a neural network?

An adaptive neural network trajectory following controller with 18 neural network inputs, 5 hidden layer neurons, and 7 outputs for each of the 7 degrees of freedom. The 7 degrees of freedom include the usual 6 rigid-body degrees of freedom plus a degree of freedom for rotor RPM.

How does he train the neural network?

He uses a simple hover simulation offline, then corrects model errors using online training. U need to pay to find out anything specific.

How did he get automatic takeoff & landing to work?

The navigation system determines if the helicopter is on the ground by comparing the altitude above ground level [sonar] with a preselected [hard coded] value. That is, if the helicopter is within a few inches of the ground it acts as though it is on the ground. Commanded position is slaved to the current position when the helicopter is declared on the ground. Also, internal states of the flight control system are frozen.

Takeoffs are performed by ramping rotor RPM and collective until the helicopter is detected airborne, at which point the trajectory generator produces a smooth climb trajectory. Landings end with a slow vertical descent command until ground contact is detected and rotor RPM and collective pitch are reduced to an idle state.

What language is his software in?

ANSI C/C++ (and the OpenGL API for graphics used in simulations and graphical user interfaces).

Why did GATech do all this work when the R-Max already has an autopilot?

More jobs, more money.
Posted by Jack Crossfire | Jun 30, 2008 @ 01:18 AM | 3,639 Views
Log yaw damping is in, but without an exhaust manifold & with the falling home equity around the golf course, there's no way to test it. Need to get those condominiums back over $4 million so flying isn't a problem again. There was a time when yaw damping was a black art. Now it's routine graphing & theory.

Big surprise in the GPS logging department, the 32MB MMC card died. It recorded half of a walk, then suddenly stopped recording. It would read but not write even when used as a raw device on Linux. Maybe there's a hardware write protect in the protocol. Maybe it was static electricity. An MMC interface without enough RAM to store a complete block is a mess.
Posted by Jack Crossfire | Jun 28, 2008 @ 11:11 PM | 4,368 Views
So much for exhaust manifold 1. Got 8 years & 144,000 miles before discovering it. The exhaust manifold + new oxygen sensors should be from $1000-$2000. It hits 600F so no J-B weld. No aftermarket exhaust manifolds in Calif* are legal for HeroineCar. Amazing that your entire economy is based on rusted, brittle cast iron technology from the 1800's. Without it, your jobs would all be done in India over internet connections.
Posted by Jack Crossfire | Jun 27, 2008 @ 05:10 PM | 3,795 Views
Running as fast as possible is going to be a very important skill under Hillary & what better way to test your chances of survival under Hillary than VicaCopter's spare GPS module.

It's up to where it can record very consistently in shaky conditions once it initializes. Saving & recovering state from the MMC card is still flaky. May just revert that part to the PIC EEPROM. Running speed is slightly lower because we have to carry the GPS board.
Posted by Jack Crossfire | Jun 26, 2008 @ 01:25 AM | 3,747 Views
Getting GPS logger to work in the dumpy apartment was easy. Getting it to work in a hand held, portable device in the real world is a major operation. Going to need a lot more error detection, recovery, & redundancy with that one.

The next step with VicaCopter will be logarithmic yaw damping on the PIC. This should reduce oscillation to increase tail servo life & increase the amount of rate damping available.

The equation was pwm = yaw rate * gain / sqrt(yaw rate * falloff).
gain = 0.2
falloff = 4

Found some more showstoppers with the neural network plan. Mainly observing the real world performance of many sets of weights to determine the optimum set would probably take eternity to yield useful results. Each set would need several seconds in the loop to determine its fitness & it takes thousands of sets to converge on a solution. E-Coli evolves faster.

Looking through a few thousand more copies of copies of a few papers on The Goog, correlating observed outputs & inputs in a neural network & inverting it to predict inputs was probably the right direction. The pros call it Dynamic Inversion & it's only possible with enough computing power to crunch huge data tables in flight.

It probably didn't work with acceleration because the data was too noisy & we didn't have enough computing power to gather enough points. There literally was no correlation between attitude & acceleration in 30 seconds of data.

Attitude changes from cyclic could be a different story. A lot more data points in a lot less time & they could be more accurate. Record attitude changes & cyclic inputs so you always have data points in all the ranges of magnitude. Either genetically adapt the recurrent network to get integral behaviour or go back to back propagating the feedforward network from your EM406 days & hope it adapts faster than an integral.
Posted by Jack Crossfire | Jun 23, 2008 @ 12:11 AM | 3,577 Views
Well, considering they have PIC's that run on 3.3V & have dual hardware UARTS, this was a huge waste of time & space. Maybe one day you'll need an underpowered software MMC interface. It's our first mass storage interface in hardware.

It's all spare parts. The MMC socket came from VicaCopter's old Gumstick. The 12Mhz oscillator was for a 68HC11 before we discovered The PIC. GPS was VicaCopter's old EM406.

All this does is dump the raw GPS output to an MMC card. The MMC protocol is all PIC software. There's no confirmation of navigation lock, no filesystem, & no way of erasing in the field. Erasing requires plugging in a serial cable & running a command on the shell. It doesn't really erase. It just resets the write offset to 0.

The write offset is written to the PIC EEPROM when recording is stopped. Always stop recording before powering off.

Using software SPI & the 12Mhz clock, the MMC card's data rate is 500 bytes/sec. At this rate, it takes just as long to dump the contents as it does to record them. The Linux serial port driver times out before 1MB can be transferred so U need to use an SD card reader.

It can record 50 days of data on a 2gig card & 19 hours of data on a 32meg card, but we won't be trying any 2gig cards for fear of fire. Theoretically SD cards should work just as well as MMC cards.

For persistence of vision displays, Microchip has the methusela of free samples, the PIC6585. 53 GPIO's.

sdcc notes:

Be sure to unset that low voltage programming bit if U float PGM.

Be sure to enable brownout protection to protect the flash.

Variables must be initialized in functions.

To put constant strings in flash, declare them as "code unsigned char string[]"

SDCC is pretty awful for pointer math. Copying bits using bitfields doesn't always work either.
Posted by Jack Crossfire | Jun 20, 2008 @ 08:45 PM | 4,720 Views
1) The budget is growing & becoming mainly rising operations cost with very little new territory. Battery failures & servo failures mainly.

2) Most of the navigation problems were solved by uBlox.

3) The next problem is attitude stability in high wind, for which we have no good solution. Henrik showed really stable attitude on his 450 in the wind & he's not giving away any secrets.

4) Something needs to have a real high chance of working to justify the cost of driving way out to the wind tunnel.

The best bet for smarter attitude feedback:

Train a recurrent network offline to act like a PID loop. The offline training gets it to copy the output of a standard PID loop in a recorded flight. This requires a genetic algorithm with large learning rate.

Then online, you have a genetic algorithm with a very small learning rate adjust it to respond to real conditions, & save the weights between flights. Eventually it becomes completely based on real conditions.

In our last experience with neural network feedback, the feedback always headed towards 0. That one used straight back propagation to predict cyclic from attitude change. That fiasco has cursed all future investments in the radically different genetic approach. The genetic approach would constantly evaluate the attitude tracking & standardize networks which track better. How do U keep it from forgetting high wind feedback when evolving in low wind?
Posted by Jack Crossfire | Jun 19, 2008 @ 01:10 AM | 4,026 Views
Well, got the Sansa to play videos, read a microSD card, & synchronize with the ignition. The best formula we came up with was:

Encode video in MPEG-1 132x80, 256kbit fixed rate
Encode audio in MPEG layer II, 256kbit

mplex -r 630 -o output.mpg video.mpg audio.mp2

Not very efficient but the only thing that worked.

FYI, it has a dual core 100Mhz ARM in it. The ARM runs between 30Mhz & 80Mhz to conserve power. Was lucky to get an obsolete version which supported Rockbox. Sandick was quick to release a new version that disabled 3rd party firmware of course. 30fps video + 44.1 audio is no problem but have not exceeded the RAM buffer in video length.

Have some video of a video playing on the Sansa. Though useless, there's a modern fascination with getting tiny gadgets to play video the same way we were fascinated with watchmen in the 80's. There is aliasing from of the LCD pixels interfering with the camera pixels.

In other news, SegaToys began selling Femisapiens in Japan for only $175. The heroine robot has no claws, unlike her $100 predecessor. Anyone obsessed enough to have a heroine robot would definitely build their own out of servos & enclose it in a custom heroine frame, especially the way China is getting stingy.

If Chinese keep cutting output & raising prices like they are, they'll need a good talking to. Maybe a bit more.

Sansa C250 plays video (1 min 39 sec)

Video on its 132x80 display is slightly worse than Goo Tube.
Posted by Jack Crossfire | Jun 17, 2008 @ 04:18 AM | 3,974 Views
Combine an 8 year old car, a free car radio, & the most beautiful voice in the world, a $50 mp3 player & U get huge amounts of work. Theoretically this player can automatically synchronize with the ignition & replace everything the Pioneer did. It definitely plays FLAC, WAV, & mp3. MicroSD support seems broken. It was $40 in May & went up to $50 with inflation even as it was discontinued. It's successor is $60.
Posted by Jack Crossfire | Jun 16, 2008 @ 04:08 AM | 3,942 Views
Another 40 minutes in the wind & have decided the gyro skewing is fixed. The problem is now orientation control in the wind. PID control is horrible. Had 2 aborts due to loss of tail rotor control pointing downwind. Rotors simply don't produce linear response the way ailerons & elevators do, so we should take the neural controller more seriously or do some kind of heading hold in the PIC.

Concluded 1 of our GPS modules could be turned into a simple position logger. 1 switch for power. 1 switch to start & stop logging. A flashing LED says when it's logging or idle. A serial shell dumps recorded paths in a binary format. The hard part would be accessing an SD card.

Thought more about VicaGlider & decided it would be an EasyStar with the PG-03 gyro damping roll. Size minimization is the factor.
Posted by Jack Crossfire | Jun 14, 2008 @ 05:46 AM | 4,060 Views
4 the record, the Airtronics 94761 lasted around 20 hours & failed at odometer reading 13 hours.

Today was 40 minutes in the light wind, no gyro skewing observed, & no computer crashes. Unfortunately, our beloved wind has died. Once avoiding wind at all costs, now chasing after it to expand the envelope.

Unfortunately, with the rate damping done in software, there's not enough PIC power to send telemetry to the groundstation. Get nasty servo glitches with the groundstation on. Kill the groundstation & the glitches go away. A battery display on the ground would still be very useful. A battery LED on the airframe might also work....Continue Reading