Chez Marc Grossman
  • Home
  • Blog

Pot-hole Detection and Reporting (I'm sick of pot-holes)

08/29/2011

0 Comments

 
I’m sick of hitting potholes and I wish the streets were in better repair so I’ve decided to take matters into my own hands. I eventually would like to build a completely automated pothole detection and reporting system using a microcontroller, an accelerometer and a GPS. Should this become too difficult to complete, I’ll drop the project, it’s only for fun after all.
Picture
Maybe I'm giving CalTrans too much credit, but I figure that CalTrans is probably unaware of a lot of the pot-holes that exist. How exactly would they know of one short of driving over it themselves on their way to work? Which makes me wonder. Are the roads better on the paths that CalTrans employees take to work daily?
Anyhow, I'd like to help them get a hold of the pot-hole problem.

At left is the signature of the "braille" on the center of the road by my house when driven over at 40 mph. You can easily pick out the regular peaks in the plot caused by each little braille bit. I hope to get things calibrated so that I can tell the difference between "braille" and actual pot-holes. The first order approach is simply to check the direction of the acceleration. Pot-holes are holes and road "braille" is sets of bumps. Thus, the initial acceleration due to the two should differ in sign.

Picture
Today I tried out the basics of the pothole detection setup. I wired up an accelerometer to a DAQ that plugs into my computer. I drove around and recorded bumps that I ran over with the tire my accelerometer is connected to. Above is a quick video explanation of the setup. For those of you unfamiliar with electronics, DAQ is Data Acquisition and usually refers to a device such as the blue thing in the video above. To the right is a picture of the accelerometer glued to the front right swing-arm of my Honda Civic. The white square is the sticky-pad I used to glue it down. The leads are routed back into my car and connected to the DAQ which is in turn connected to my computer. The image at top is a plot of the “brail” reflective bumps that are spaced every 15 or so yards between lanes. You’ll notice how the spikes are regularly spaced, and that after I hit six in a row, I missed two, hit one and then missed two more. These “brail” proved pretty effective as calibration bumps.

Add Comment
 

Grand Canyon Tour (from Los Angeles)

05/22/2011

0 Comments

 
It's early May and the weather is finally cooperating with my desire to go flying. I've been telling a college buddy of mine that I'd take him flying for months and just haven't gotten around to it. Yesterday however I finally made due on a promise.

Adam Goldstein and I flew out to Las Vegas. We left Whiteman airport (WHP) at about 0800 and arrived at Boulder City Airport (BVU) about 90 minutes later. That sure as hell beats the 3+ hour drive that is more typical of a trip to Vegas. Along the way, our route took us over the BrightSource Ivanpah solar power tower construction site an we snapped some photos. Then we flew over Nevada Solar One, and a PV plant located adjacent to it and snapped some more photos.
Picture
Adam Goldstein -Looking terrified and hoping is mother never finds out about this.
When complete, the BrightSource Ivanpah facility will be the largest solar thermal power facility in the world. It has a nameplate rating of 396 MW -that's as large, or larger than many conventional coal, natural gas, or oil power plants.

Solar thermal power plants are a bit un-conventional in terms of generating solar power. When most of us think solar power, we think solar panels. Solar thermal power plants however use mirrors that reflect sunlight onto a boiler where steam is made. This steam is then passed through a conventional turbine -just as the steam made by burning fossil fuels other power plants. The only difference between the two is the source of the heat. Fossil fuel power plants burn fossil fuels, nuclear power plants use heat from fission, and solar thermal power plants use sunlight.

Picture
Unit 1 of 3 at the BrightSource Ivanpah Solar Electric Generating Station.
Possibly the most amazing thing about the BrightSource Ivanpah facility is the sheer size of it. The center portion of the picture at right is where a tower will be erected. This tower will support a boiler about 400 feet off the ground. The long edges of the solar field, where the arcs are, are over a km in length. The green in the background is a golf course, and this first third of the eventual 392 MW Ivanpah facility dwarfs it.

I'm currently an employee of eSolar, technically a competitor of BrightSource's, but let's face it, a BrightSource success is a solar thermal success and good for eSolar too. Let's hope they can keep this baby on budget.

Picture
Nevada Solar One in foreground, PV facility in background.
On our way in to the Boulder City airport, we flew over Nevada Solar One -another solar thermal power plant. While still a solar-thermal power plant, the layout is different than the Ivanpah plant in that the boiler is not atop a tower. Instead, the mirrors are parabolic troughs. At the focus runs a pipe on which sunlight is concentrated. This pipe carries a heat transfer fluid that is heated and eventually used to produce steam that will pass through the steam turbine generator to make electricity. Again, the size is incredible.

Picture
Tributary of Grand Canyon.
After lunch in Boulder City, we flew out to the Grand Canyon. Navigating the airspace was a pain because of the number of helicopter flights from Vegas with tourists, but we made it and it was well worth it.

I wish we'd taken more photos, but truth be told, no photo could do it justice.

Add Comment
 

AUVSI (Denver, CO)

08/26/2010

4 Comments

 
Picture
Picture
High Altitude Rockies just southwest of Denver, CO.
The company I work for (eSolar) sent me to AUVSI in Denver, CO to have a look at the developers of unmanned ground vehicles. Why would they do something so awesome? Well, I designed and built the autonomous cleaning vehicles for the eSolar demo power plant in Lancaster, CA. Now we’re moving past demo and prototype and we want someone to build a better one. Our expertise at eSolar is heliostats and the software that makes our fields work. We don’t really want to be in the mirror cleaning business, but we need someone to be in that business so that they can keep our mirrors clean.



Picture
Beginnings of the Grand Canyon. The muddy little river at the bottom is the mighty Colorado.
At AUVSI, I met with various manufacturers of robotic vehicles. They all had interesting stuff, but quite frankly, the component-level hardware that was at the show was just as interesting as the vehicles themselves. I finally saw a harmonic drive in operation, I got to chat with a manufacturer of miniature turbine engines and ask him detailed questions regarding their operation, I saw a nutating engine, and I saw more AHRS’s (Altitude Heading Reference System) than you could shake a stick at.

Anyhow, the most interesting part of the trip was not the show, it was the flight out there and back. Instead of flying Southwest, I decided to fly my RV-6... that you’re pretty well acquainted with by now. On Monday August 24th after work I flew to Davis (EDU) to see my girlfriend and mom. Then early on Tuesday I took off from EDU headed for Ely, Nevada (ELY). At Ely the engine ran a little rough during my taxi to the fuel pit after landing. When I went to kill the engine by leaning the mixture it didn’t die in the usual way but kept rumbling on for a bit. Finally it quit and I got out.

Picture
Overdeveloped cumulous cloud over Barstow, CA.
I took the top cowling off to see if I couldn’t have a look at things, but the mixture adjustment is on the carb which is under the engine and having the top cowling off didn’t help me much. I reached in through the gap between the cowling and the airplane to see if I couldn’t tug on the mixture lever and see if it was loose. It wasn’t. I chatted with a buddy and decided that maybe our engine was just adjusted a bit rich and because of that I may have trouble shutting it off at high altitude.

I bought gas, did an extremely thorough run-up and took off toward Denver. The flight went quite smoothly until on landing, the engine started mis-behaving again. Again, I couldn’t quite stop the engine using only the mixture knob so I grounded the mags to kill it. It died, less gracefully than usual but it did die. I hopped out of the airplane and scurried off to the conference.

I didn’t think much more about things until it was time to fly back. Again, I performed a very through run up and the engine ran great t all throttle settings except idle. I decided that idle was the least important of the power settings and took off. I flew from Denver (APA) to Four Corners (FMN) and then from FMN to Whiteman, CA (APA).

Picture
Rain storms on the north slopes of the San Gabriels as viewed from above Palmdale, CA.
Shortly after leaving FMN I flew over the Grand Canyon by veering slightly off course to the north. The Grand Canyon is truly spectacular and I only wish that the pictures could do it justice. Unfortunately I have a bubble canopy and no picture through it is much good.

As I was flying over the Grand Canyon, I began trying to use the autopilot system that we had built for the RV. As you know it runs on an EEE-PC running some Matlab code we wrote. Unfortunately, every time I engaged the altitude hold, the autopilot would try to point the plane straight at the ground. Needless to say there we some bugs in the code. I started sifting through the bugs with the stick between my knees and in about 10 minutes I had the code working properly.

Between the Grand Canyon and Bullhead City, I was able to do some gain tuning, and with quite a bit of derivative gain, some proportional, and nearly zero integral I was able to stabilize the autopilot to some degree. It wasn’t perfect but it wasn’t so bad for a first step. All that was really missing was a low pass filter on the barometric pressure input. For some reason, spikes would appear on the barometric pressure input and these would cause the derivative error signal to spike. Needless to say this made the flight somewhat rough so I quickly coded up a running average filter and it smoothed things out quite a bit.

As I was passing the Grand Canyon and coding, I could already see cumulous clouds building on my route toward LA. I contacted ATC to see if they could inform me on where the weather was. Fortunately, the cumulous clouds were all on the San Gabriel’s just south of my route. I continued toward LA until the clouds were just off my left wing tip. Finally, as I was just south of Palmdale I noticed giant columns of precipitation and lightning. It was quite stunning. I kept trying to capture pictures of the lightning, but without a light activated shutter, or really long exposures, it’s nearly impossible to capture lightning.

4 Comments
 

Rough Engine Landing

08/26/2010

1 Comment

 
When I had finally cleared the thunderheads and storms mentioned in my previous blog post I headed over the San Gabriels and down into the Burbank/Whiteman area. I was fearing some sort of engine trouble because earlier in the flight my engine had been acting up at low throttle settings. I was not sure why it was doing so, but I feared it might do it again -so I hedged with altitude. I must have been 10,000 feet above my intended landing spot when I was only 15 miles out and cruising at 200 mph.

I came in over the San Gabriels pretty high and in such a way that no matter what the engine did I was sure I could make the runway at Whiteman. Sure enough, as I reduced the throttle toward idle, the engine got very rough and began to cough.

By this point I was lined up on a two mile final with about 3000’ to lose so I wasn’t sweating it. In fact I was mostly concerned with getting down in time. I continued an aggressive slip and worked the throttle to keep the engine running. Then again, as I reduced the power to idle, the engine coughed and died.

This put me in a funny position because I knew the engine was running too rich, but I hated to pull back the mixture knob to the point where it could kill the engine from being too lean. That said, I was not going to get down if the engine kept running and I didn’t want to have to go around. I decided that I was clearly going to make the airport and that once I was on the ground who cared if I had in fact landed without an engine.

I had been cleared for a straight in to runway 12 at Whiteman, but I heard the tower chatting with another aircraft in the pattern and it seemed to me that he might try to sneak them in front of me. While normally this wouldn’t be a problem, I didn’t want anyone in front of me. I’ve seen the tower call a go-around too many times because someone doesn’t properly clear the runway and I wasn’t going to get forced into a go-around situation with a rough engine. I told the tower that I was having engine trouble and that I would appreciate it if he would clear me straight in.

The tower obliged, and from that moment on I just focused on getting the plane down on the ground. The engine died a couple more times but I was always able to nurse it back to life by moving the throttle to full. In this manner I coaxed it along every 10 or so seconds with a throttle pump. I cleared the threshold and landed right on centerline. As I was making sure not to screw up at the last possible moment, the engine died again and I had to pump the throttle quickly before the prop stopped.

Anyhow, I taxi’d back to my spot got out and went in to work. I told Cedric that we had serious engine trouble and that we really needed to have it looked at. Well, a local A&P heard about the trouble and our symptoms and decided to come have a look. He reached in through the air intake and shook the carburetor saying: “well there’s your problem.”

Picture
N61764 Carburator as viewed from starboard side of aircraft. Click on photo to view web-album with pictures of the carb falling off.

It turns out that our carburetor had shook itself off the engine. We tightened the screws and all was well again. In fact he just texted me to say that he had safely landed in Napa where he is spending the weekend.
1 Comment
 

RV-6 Autopilot 4

08/14/2010

0 Comments

 
It’s been very interesting for me to watch the progression of the autopilot for RV-6 project. First we were just going to make an electronic trim system, then we started adding features so that we could use the electronic trim for control of the airplane for an autopilot, and now we’re writing code for control loops for the RV. I’m very much under the impression that scope creep is unstoppable and we’ll probably always be working on the RV-6 autopilot or some idea that sprouted from it.

Since I last posted to the blog, we've made quite some progress:
  • We have interfaced the Atmel to a USB-1408FS Measurement Computing DAQ
  • We have interfaced the DAQ to a computer running Matlab (without the data acquisition toolbox)
  • We have installed an electronic barometric pressure sensor in the RV-6 so that we can  measure altitude with the microcontroller.
  • We have written Matlab code to run a control loop aimed at keeping the barometric pressure constant (ie altitude hold.)
With all that work completed it was time to see if it all fits together. This we did with some beer, the Atmel STK-500, a 10 turn potentiometer, the measurement computing DAQ, an eeePC, a servo and Matlab. Here is the layout:

Picture
We connected the servo to the Atmel. To the horn of the servo, we glued a piece of balsa wood to act as a wing. We connected an analog input to the DAQ to the wiper of the potentiometer (which is simulating the output of our analog barometric pressure sensor). The servo was in turn glued to the potentiometer knob such that the wing was perpendicular to the rotational axis of the potentiometer. Then we placed the wing in wind and varied the servo to try to keep it at the same spot, which we read in based on the potential of the wiper of the potentiometer. As the angle of attack of the wing was increased it raised the wing, rotating the potentiometer and causing the Matlab program to think that our altitude had increased. Matlab then commanded the servo to a different output by sending an analog signal through the measurement computing DAQ’s analog output to an analog input on the Atmel which we convert to a pulse width for servo control.

Long story short it’s awesome. Check the video below.
Add Comment
 

Post Title.

08/05/2010

1 Comment

 
I've now added some feedback for the pilot on the trim position. We decided to incorporate the addition of this bar graph so that the trim could be set to "take-off" or other known positions. This will allow the pilot to have consistent force-feedback during take-off which is a critical portion of the flight envelope.

This is all on the dev-board still, but it is working as planned and things are moving along quickly.
1 Comment
 

RV-6 Autopilot 2

07/29/2010

0 Comments

 
Now I’ve incorporated a second servo into the code and I’m able to control two servos independently with the ATmega32. This is all on a dev-board however and not very useful yet.

For those of you that have hobbied in electronics you know that getting something to work on a dev board is only half the battle. There is a lot that can go wrong between the dev board and a hobby box.

Here again are the steps necessary to get to where I have an autopilot in the RV.
  • Control servo with microcontroller
  • Control multiple servos with microcontroller
  • Incorporate buttons and control servos with microcontroller and package it all
  • Incorporate servo into elevator to control the trim tab
  • Put entire mechanism into RV-6
  • Verify that the trim tab has sufficient control authority (test flights)
  • Add servo control to ailerons
  • Verify that aileron servo has sufficient control authority (test flights)
  • Add sensor package to airplane that interface through microcontroller
  • Interface microcontroller with Matlab/Simulink
  • Develop control algorithms
  • Verify stability of control algorithms
  • Gain tuning
  • Port control algorithm from Matlab/Simulink to C
Add Comment
 

RV-6 Autopilot

07/24/2010

1 Comment

 
In the videos below you’ll see that we’ve incorporated our servo into the elevator of the airplane and we’re able to control it using the microcontroller.
In the first video we’ve incorporated the servo into the body of the elevator and it is controlling the trim tab. The microcontroller is still attached to the STK-500 dev board though and it's clearly not a well packaged setup at this point.



In this second video, we’ve removed the microcontroller from the STK-500 and placed it inside a project box that we’ll Velcro inside the airplane.

We did have some questions about how long the leads to the servo can be before there is too much noise coupled into the signal line from the power lines running next to it, but we’ve now tested things by placing about 4 meters of servo wire and had no problem. Should we develop much of a problem we can put some de-coupling capacitors on the servo, and we could always run an I2C or SPI bus to another chip at the rear of the airplane closer to the servo form which the PWM could be generated. Another option would be to use a coax, or other shielded cable for only the signal line instead of lumping it in with the power and ground for the servo. We haven’t seen any problems yet, but there is more testing to be done still.
1 Comment
 

RV-6 Maintenance Part Deux

07/23/2010

0 Comments

 
We’ve now put 100+ hours on the RV and it was time for a little more maintenance. We’ve been making notes of things that needed a little attention and we’re now looking into those. For example, our DG (Directional Gyroscope) used to hold its heading fairly reliably, but recently it’s been loosing its heading at a rate that surprised us. We’ve therefore taken it out to have it worked on. Of course, before we have a professional fix it, I had to play with it myself. Below, you’ll find three videos of me playing with the gyro.

In the second video what you’ll notice is that as I apply a constant force to the base of the gyroscope it rotates counteracting that force of mine and does not move. Then as the axis of the gyro becomes coaxial with the axis I’m applying the torque about the gyro freely rotates. This gyro has limits on it to prevent itself from reaching, or passing that singularity because it becomes useless at those attitudes. Furthermore, it re-centers itself such that its rotational axis is in the “horizontal” plane when you push the knob in to either adjust the heading, or simply to re-center it. This is an important note because all gyros drift and if it did not re-center itself every time you adjusted it it could easily wind up with its axis of rotation about your yaw axis of rotation (ie the world’s N,S,E,W reference frame) at which point it would prove useless. Keep in mind that the base that I’m applying torques to is connected to the heading plate in the gyroscope that rotates and indicates the heading to the pilot. With that in mind the videos should make a lot more sense.
Add Comment
 

Hood River, Oregon

07/04/2010

2 Comments

 
Picture
This blog was supposed to be more about the projects I’ve been working on, but I’ve decided to share some other adventures of mine with you all as well.

The weekend of the 4th of July my girlfriend and I traveled up to Portland, Oregon on our free Southwest flights. Since we’re in a semi-long distance relationship you would be amazed at how quickly free flights are accumulated. Anyhow, we had these free flights and we needed to use them so we thought we’d check out Hood River.

We flew in and had dinner with my aunt, uncle and cousin in Portland before driving to Hood River to camp for the weekend. During our stay, we went boating/fishing on Lost Lake, we visited the WAAAM, we went wine tasting on the gorge, we caught a sturgeon on the gorge and we took in all the beautiful scenery. That area is particularly beautiful and I hope to make it up there some day for more than just a couple days.

You can check out the pictures of our trip here: Hood River

Picture
We rented some row boats and went fishing on a beautiful lake up by Mt. Hood.

Picture
We caught some trout and ate them for dinner.

Picture
Caroline reeled in a good size sturgeon.

Picture
We checked out the WAAM. (Wester Area Aviation Museum). This here is an old Cub fitted with extra wheels for soft field (very soft field) landings.

2 Comments
 
<< Previous

    Author

    I've just got a lot of interests to put it simply. This is a portal into my thoughts, ramblings, and projects.

    Archives

    August 2011
    May 2011
    August 2010
    July 2010
    June 2010
    September 2009
    June 2008
    February 2008
    January 2008
    November 2007
    October 2007
    September 2007

    Categories

    All

    RSS Feed


Create a free website with Weebly