Autonomous Soaring
89,685 Visitors
Home   Current News   Defining the Problem   What is a Thermal?   State of the Art   Papers   Results   Gallery   Links   Contact

Current News

Pages: << < 1 2 3 4 5 [6] 7 8 9 10 > >>
Posted by: Dan Edwards - 10/26/07 @ 8:17AM

I am over the hump learning to speak version 2.0.4!

Yesterday afternoon I successfully finished the port of my PiccoloIO libraries to read the new sentence structures of version 2.0.4. The ALOFT program is happily griding away using output from the new code load. I also successfully tested uploading new commands to the Piccolo. Over the next week I will be tweaking the updated code to catch any unit conversion errors.

I have also been burning in the new Piccolo II hardware with a solid 10hr of hardware in the loop testing (HWIL). In doing so, I have flown around the Wilson XC course dozens of times, albeit powered. I also realized that I could possibly use the Piccolo Simulator engine with my own input for turbulence to fly simulated thermal flights; more information on this to come a couple months down the road.

So what does this mean?

  • I did get a ~5Hz out of the box performance upgrade for ALOFT! This will result in better center estimates because I will have a more continuous information stream.
  • I am reading GPS/INS estimated data between GPS updates. In the 1.3.2 code load, I could only get position updates at 1Hz, limiting my soaring program's update rate to 1Hz. Now I get estimated position at 20Hz, which lets me fill in 19 more data points per second than I had before.
  • I am also using the new Piccolo Command Center. This program is feature-happy and includes several great changes to make life of an operator easier, such as an artificial horizon for instantaneous situational awareness even when the GCS operator is not able to see the aircraft (the safety pilot still can though!).
  • Also, I figured out how to command flaps similar to commanding airspeed. This will allow ALOFT to have a way to drop altitude, so that ALOFT can autonomously obey max altitude restrictions.

    I am perhaps around 2 weeks from completing the port and will be ready for another test flight to finish tuning out the new controller gains. At the same time, I will test out some tweaks to ALOFT for better thermal centering, thermal locating (whee, 5Hz!), speed controls, and decision-making. I can't give away ALL my planned upgrades, but within a couple months I do hope to be back out at the field flying new code and demonstrating performance gains even throughout the winter months :-)

    Thanks for reading!

  • Add Comments
    Posted by: Dan Edwards - 10/15/07 @ 9:14PM

    I received two big boxes of new hardware today! I now will be flying a Piccolo II instead of the Piccolo Plus (that was on loan from NASA Dryden). I also now have a real Piccolo dev kit that includes all the necessary cables and boxes needed for a real setup; no more borrowing a Futaba transmitter from a flying buddy or having adapters for adapters. Last, I have the rugged portable ground station since I'll be doing a lot of moving in a car for XC applications.

    Next on the list is to mail back the Piccolo Plus to NASA (assuming they want it back, hehe). Then I'll install the Piccolo II and start trying to connect it to a vario. The PII has several A/D lines that will make this connection actually possible and allow me to (finally) have an external updraft sensor that is more tailored for the application. Perhaps the old Piccolo was getting tired of me trying to convince the autopilot that it was also a vario...

    Also, I'm going to switch from Piccolo code load version 1.3.2 to version 2.0.4 for some increased functionality. The new version will allow me to get full state estimates at 20Hz rather than getting just 1Hz position updates. I guess beforehand I could have written my own Kalman Filter to have my own observer inbetween updates, but when Cloud Cap Technologies already did it, I'll gladly piggyback and make forward soaring progress. This code switch also lets my soaring algorithm run as fast as my laptop allows. The bottleneck is now out of the Piccolo and puts pressure on ALOFT to be more streamlined code. I'm hoping for out-of-the-box 5Hz and shooting for cleaning up code to get 10Hz. Honestly 1Hz was working acceptably, so any improvements are just finding higher fidelity data for the soaring algorithms to work their magic.

    I would like to thank the Vehicle Research Section at the Naval Research Laboratory for finally becoming a public supporter of the Autonomous Soaring project effort. They were the original anonymous donor of the SBXC airframe, so they've been watching a while. Thanks guys!

    Back to work studying for mid-terms, among everything else going on... next flight is around a month away still and will be nothing more than a checkout flight to verify proper operation after all the hardware changes.

    Add Comments
    Posted by: Dan Edwards - 10/02/07 @ 10:08AM

    Unless someone tells me otherwise, ALOFT just completed the world's first autonomous cross-country glider flight! It flew a total course of 10.1 miles in 135 minutes for an average speed of 4.5 mph. Of the 135 minutes, 108 minutes were under autopilot control. Of the 108 minutes of autopilot control, ALOFT spent 42.6 minutes latched into thermals soaring, gaining autonomously 7872 feet for an average rate of climb of 185 ft/min. Of the total 10.1 mile on-course flight, 6 minutes and no forward progress was done manually.

    The day started out a little bit weak. Lift was very broken and irregular until around noon. Somewhat all of a sudden, we saw three buzzards in a thermal near the field actually making some altitude progress; then eight more buzzards came upwind at the same time seeking out the same thermal. Adam and I said "that's the one, let's get back in the air!" We launched, flew right to the thermal, made about ten turns in it manually, then let the autopilot take over. Time to start the course...

    With our truck and five bodies, we let ALOFT get up to 3000 ft altitude before we left the confort of our start/finish landing zone. Then, I told ALOFT it was okay to start flying the course and we watched as the autopilot dutifully started tracking waypoints along the course behind the truck. Under the watchful eyes of Adam and Doug, ALOFT flew the first several miles with absolutely no human intervention. It was 1.7 miles to the first turn, with us waiting in a gravel lot at the turn as the plane caught up. After the next approximately 0.5 miles, we decided to play it conservatively and I told ALOFT it was okay to find a thermal again. ALOFT tracked toward us until it bumped through a thermal, then made a strong left handed turn as it worked to enter a thermal. After several minutes in a 6.5 ft/s thermal, the plane was back over 2500 ft and off we went along the course again. We stopped twice more to tank up some altitude before continuing. Several times we autonomously climbed back up to the 3000 ft mark from the 1500 ft range.

    At the 7 mile mark, we had an approaching long stretch with mediocre visibility and no good landing zones. We decided to play conservatively again and try to add to our ~2000 ft altitude at that point. Stopping at a particular field, I specifically told ALOFT to stay over a good landing zone and search for lift. For 15 minutes, we watched as ALOFT worked a sink-cycle waiting out the next thermal to break free. It would catch a small bump from time to time, but couldn't gain much altitude and kept a steady slow descent. At the 500 ft mark, I told Adam to manually do his best catching any lift he could find or land in the soy bean field behind us. Remarkably, Adam pulled off a save at 380 feet, catching some minute puff of air and allowing him to work back up to about 800 feet in 6 minutes. We switched back to ALOFT and latched into the same thermal. For 16 more minutes, we let ALOFT work back up to 2600 feet before leaving that field.

    The last 3 miles of the course was a breeze. ALOFT cruised along the road and flew through some really good lift, pushing the plane back up toward the 3000 ft mark. We were more interested at that point of making it to the field, so soaring mode was kept off even through the really good lift. We cruised to the field with approximately 2500 ft of altitude to spare. I let ALOFT spend several minutes descending over the field with flaps hung at 60deg to increase drag and assist getting the plane down. Adam took over the last 500 feet and landed ALOFT cleanly on the start field approximately 150 feet from the winch.

    Thus ends the first attempt ever at an autonomous glider making a cross-country flight. Quite a success for ALOFT and for the team backing up this project! Thanks to ALL who helped make the flight possible, and super thanks to Adam for keeping a very watchful safety eye on the plane the entire flight.

    Next flight will be a month or more away ... I learned a whole lot from this flight and have a ton of tweaks and added functionality I want to add to the ALOFT code. My goal for the next cross-country attempt is to be even more hands-off, letting ALOFT decide when to leave lift to search the next thermal on its own. I'd also like to speed up; pure speed-to-fly is really slow compared to what pace we need to be flying for a distance record attempt. I have the McCready speed ring set up already, so I will be trying to make a good way of picking a speed ring setting. Also I have several other minor tweaks to change the behavior during the flight.

    Unless someone shows me proof otherwise, I am going to officially stake my claim here as the world's first autonomous cross-country glider:
    9-30-07 ... 7.0 miles continuously in autopilot control. Of the total 10 mile flight, 6 minutes and no forward progress was done manually.

    Add Comments      View Comments (1)
    Posted by: Dan Edwards - 09/23/07 @ 10:38PM

    Onward full steam ahead! Adam and I flew a few cross country (XC) test runs today. A HUGE thanks to Mike Rhodes for volunteering to drive!

    In the process of preparing for getting the ALOFT system setup to run a course, Adam and I needed some time in the back of a truck going around the course in Wilson. The primary reason of this test run was to learn where were good places to stop and land in an emergency. We're still tracking down why the engine consistently quit after only a third of the tank, but we did get a LOT of emergency landing practice...

    Anyhow, we made three full runs of the 10 mile course. Adam did the first lap with relative ease for the first half. Then the engine died. We found a dirt road between fields and set the plane down there. I pumped a few ounces of fuel back in, started the engine, tweaked the needle valve a little, and off we went again! I think we made the rest of the course until the last ~1/4 mile when the engine died again. Thus went the course.

    Adam and I were able to consistently fly at a 40mph pace, but a couple times we pushed the plane a bit harder and got up to 50mph on the back of the course. What is really scary is how aerodynamically dirty Cheap Fun is compared to the very clean lines of the SBXC airframe. I certainly expect that the SBXC could outrun the car if it tried.

    So hopefully next weekend I'll have things prepared properly for flying the glider around the course. Fingers crossed for the first 10 XC miles for ALOFT!

    You can see images from the flights here: Cheap Fun XC testing

    Add Comments
    Posted by: Dan Edwards - 09/09/07 @ 9:00PM

    Even with tropical storm Gabrielle off the NC Coast, we were able to sneak out to the field in Wilson for a flight test. The purpose was to test out ALOFT_rev2 code and the flights did not disappoint. The two main successes were:

  • Confirmation of Thermal ID updates
  • Demonstration of Speed-to-Fly function
  • With the implementation of speed-to-fly, I am getting much closer to the goal of flying cross-country with this bird.

    It was quite an event-filled test day. With the relocation of ALOFT to North Carolina, we spent extra time ensuring the hardware was still in operational condition, despite no actual aircraft hardware changes. With a recently replaced winch solenoid, we did decide to fly up the winch with Bubble Dancer prior to taking up the SBXC. I did some rework of Bubble Dancer over the summer months, so it took longer than anticipated to get the spoiler mix worked back out. However, ALOFT pilot Adam caught a big thermal right off the launch of Bubble Dancer and after 10 minutes I had to push him to land so we could fly the big aircraft.

    ALOFT had some initial flight jitters to being back in the air. On the first flight, we mis-zeroed the airspeed sensor, so the aircraft thought it was flying 7 knots faster than it was. This had no affect on manual flying, but did make the Piccolo try to fly below stall speed when we clicked in to autopilot. We were able to continue the flight after catching this, but decided after 27 minutes it was just smarter to land and re-zero the sensor.

    Flight 2 went off without a hitch. The autopilot was much happier flying in waypoint navigation mode with the corrected airspeed readings. However, when I turned ALOFT_rev2 software on, the aircraft kept heading toward waypoint 0. I decided this was a bug in rev2 and switched to rev1 while I searched through the code. Rev1 did a dandy job climbing up to altitude while I was searching to finally locate the errant code. Rev2 was sending ALOFT to waypoint ENGINE_OFF, which obviously made no sense. With this bug found and fixed, I wanted to switch to rev2, but my pilot was ready for a break to eat some lunch after staring at the sun for 26 minutes.

    Flight 3 was the winning flight for sure. Rev2 worked without a hiccup and the improvements to Thermal ID were evident from running rev1 just minutes before. As another interesting note, my pilot remarked "You know, I think I'm still better at finding a thermal, but the algorithm is better at centering up on the thermal and following it." To test this, mid-flight we let ALOFT get quite low before Adam manually took over to attempt catching a thermal. He found a small bubble and worked it for several minutes. At 750ft altitude, we switched to ALOFT_rev2 to see how it would do. Lo-and-behold, the climb rate doubled as the automated version did its thing. I'd say we're getting somewhere. See for yourself...

    Also tested on flight 3 was a newly written Speed-to-Fly function. It was not intended to be the end-all speed control, but merely to demonstrate the functionality is possible. Sure as rain, it sped the aircraft up during sink and slowed it down in lift. I don't have a clear estimate yet how much it helped, but we were happy enough to leave it on during all of rev2 testing. Ideally, the current Speed-to-Fly function will pick the airspeed that results in the optimum L/D for the air conditions. I wrote more about Speed-to-Fly and general performance here: Updated SBXC Performance Testing (not uploaded yet).

    So how about some numbers? Flights 1 and 2 were 27 and 26 minutes respectively and resulted only 3.5 minutes of autopilot time. Flight 3 however, was 74 minutes, 52.7 minutes (71%) of which was on autopilot. Of the time on autopilot, 19.1 minutes (36%) was spent latched into a thermal. ALOFT soared up 5200ft in 5 distinct thermal climbs at an average climb rate of 215fpm. This day was considerably less active than the August 1st test flight, so don't let the differing average climb rates throw you.

    All in all, I'm quite happy with the progress and glad to be flight testing new versions while exercising ALOFT's autosoaring functions. Thanks to Matt, Tim, and JB for assisting on the hot day of testing. I leave you with a plot that shows the 3-d aircraft path and colors to represent energy rate (red is lift, blue is sink). Colors are only shown when the autopilot was on and latched into soaring mode. Enjoy!

    What's next you ask? Well, I fixed up a small(er) powered glider I own so Adam and I can practice cross-country style flying from a moving vehicle. Since it's powered, we will have an "instant thermal button" by adding power. As for ALOFT, I will be updating rev2 code with tweaks learned from yesterday, then working out some cross-country safety logic before we get out on a 10-mile test course. Stay tuned!

    Add Comments
    Posted by: Dan Edwards - 08/26/07 @ 6:53PM

    Wolfgang Schreiner from wstech.de donated a new vario to add into the ALOFT system.

    Specifically, I was looking for a sensor that could hook up to the Piccolo to utilize commercial-off-the-shelf soaring hardware that has already been developed for this purpose. In the past I have been computing my energy rate using in situ autopilot sensors; however, they were designed for a wider range than I need for sensing thermals. I was hoping the Skymelody could serve this purpose, but I wasn't able to invent the right hardware interface. Wolfgang offered to modify the Wstech vario free of charge to help out the project. Thanks Wolfgang!

    I am still in the process of adding the vario to the ALOFT system ... more news to come in the following weeks.

    Add Comments      View Comments (1)
    Posted by: Dan Edwards - 08/17/07 @ 9:19AM

    A gentleman recently sent me a link to the soaring forecast tool called Blipmaps. It is a resource that glider pilots will often use to help pick good days to fly. There is a good Q/A section on the Blipmaps page, so I won't duplicate it all here. You can read more information about Blipmaps following this link: Blipmaps

    Here is the Blipmap for the time period of the August 1st success of ALOFT_rev1:

    What this image indicates is that August 1st was a good day to be soaring in northern Virginia. The particular field location was smack in the middle of the 600-700fpm air. I recorded a maximum climb rate of 300fpm, so this either indicates my algorithm is still relatively inefficient or I was just not up to an altitude where the fastest moving air was located. Regardless, you can start to get a feel for how all the pieces of information are coming together for soaring...

    Ideally, if the Blipmap was super more detailed, I could use it as a guide to pick the locations to go soaring. As it stands, the Blipmap is on a much larger scale than the micro-climate changes that ALOFT has to deal with. For a cross-country attempt though, I'll check the Blipmap to get a good feel if my chosen course is going to have active air or not.

    If the gentleman who sent me the Blipmaps suggestion could please email me again; I accidentally somehow deleted your email without getting a chance to read it in depth or reply...

    Add Comments      View Comments (1)
    Posted by: Dan Edwards - 08/02/07 @ 3:47PM

    We went flying yesterday and I was able to turn on soaring rev1...

    We got an aero-tow to 1500 & 2500 ft on the two soaring flights. After that, my pilot would hand over to the autopilot and I would turn on the soaring code in Matlab. Sure enough after flying in a standard "box" pattern, it would bump into some lift, then make a turn and start orbiting! We just listened to the vario and I watched the updraft fit and localization in the upgui on the computer screen. It centered up relatively well and worked to stay with the lift as it climbed out. Yay!

    Let's see, some fun specifics ... we topped out a new max altitude of 3626ft and decided that was too high, so we came back down to 2000ft, turned soaring on, then ended up back over 3000ft when we decided to take over manually and bring it down to a reasonable visibility altitude at 1000ft. I turned soaring back on and 15 minutes later we were back at 2500ft. So once again I turned soaring off and sent it along the "box" down to 700ft this time. 5.5 minutes later we were back over 2000 feet and we were tired of squinting at that point, so we took over and landed. 85% of the total flight time was on autopilot for all three flights with a total of 113 minutes on autopilot. Not bad for a Piccolo to fly for almost two hours on a 12lb plane with no motor :-)


    Flight 2 altitude time-history. Click here for more information about this image.

    We successfully climbed with soaring on 6 times for a total of 7488ft climbed at an average of 200fpm. Not bad for being on autopilot 85% of the 2.2hr of flight time and for the autopilot keeping a 12lb plane aloft that long ... and that was just rev1 :-)


    Click here for more information about this image.

    So, now I'm working on code rev2 which will include a marker so I know when soaring was turned on (more so than just when it was latched in thermalling mode), a speed-to-fly loop, and better no-fly-zone error catching. Oh, and I am working on some way to use the flaps more as spoilers so I can get down from altitude easier...

    A big thanks to all my sponsors: NASA Dryden, JDG Associates, XCSoaring.com, Tri-M, Phytec America, and the anonymous donor! Also thanks to Adam Propst and Chris Bovais for being pilots of ALOFT while it was circling endlessly during test flights. A big thank you to Brady Baggs for all his encouragement and support. Thanks to Dick Proceus, Frank, and Antonio for their helpful advice, for letting me borrow winches, and for the aero-tows. Thanks also to the Naval Research Laboratory for their help. Thanks to the NC State Aerial Robotics Club for being my hands-on growth outlet learning the UAV ropes. Last but most importantly, thanks to Mary for being my closest supporter.

    Okay, back to work. I'm still shooting for the big cross-country records, so no fear about me disappearing!

    Always feel free to email me: djedward@ncsu.edu

    Add Comments      View Comments (2)
    Posted by: Dan Edwards - 07/19/07 @ 8:30PM

    I have a video of launching ALOFT. We still do this manually ... maybe one day the Piccolo can be taught to fly up a winch, bwa ha ha! Um, anyway, here's the link: http://www4.ncsu.edu/~djedward/ALOFT_launch.wmv. I kept the quality at full resolution so you can full-screen to your heart's content. I also encourage turning up the sound to hear the plane making noise as it is hauled skyward!

    Add Comments
    Posted by: Dan Edwards - 07/12/07 @ 5:37PM

    Does anyone out there happen to know how to get Matlab to run threads (maybe via a mex file)? The idea is that I have a Matlab function call that in the background keeps watching for new Piccolo data as it is available. The caveat is that I don't want Matlab to WAIT for new data, simply because it could be doing something more useful, like crunching numbers. I think my grand idea would be to have a Kalman filter running at a high rate (which happens on the Piccolo anyway) and have a new state estimate waiting for when I ask for it, including estimates between the GPS updates... right now I can only get the GPS update at 1Hz, so that's how fast I can run.

    Man, maybe I need to rephrase how I am getting data ... if I get ANY message, then update my state in memory, do cool thermal finding stuff, then get back to asking for ANY message. When I get a GPS update, then I have a pretty GPS update and that's just cool. That way I will run at 20Hz at slowest rather than 1Hz. That'll do! Tomorrow's top priority...

    If anyone is really actually reading these posts, then you should know I'm happy with my post-flight processing now, so I'm porting everything over to a real-time type system that parses through the Piccolo .tel file just as if I was receiving bytes from the aircraft. I'm REALLY happy that Piccolo has the raw communication bytes along with the formatted .log file (i.e. legible to a human).

    I have also heard that since the Piccolo LT uses a different modem, the ground station is different. I was thinking of making the switch after I lose the Piccolo Plus on loan from NASA in late November. The LT is half the weight/size, apparently has a better navigation solution with version 2.0 software, and will effectively be a drop-in replacement. Or, I could stick with the same hardware and aim for the GPS add-on to get 3-5cm accuracy! Ironically what I really need is precision, getting a group of measurements without drift for a 45 second length of time. However, if the DGPS unit is precise and has a 3-5cm accuracy, then that is underneath the noise level of the pressure sensors! Ah, the power of what money can do...

    Until that day, I will be programming again tomorrow :-)

    Maybe I really should switch to C.......

    Add Comments      View Comments (2)
    Pages: << < 1 2 3 4 5 [6] 7 8 9 10 > >>

    RSS 2.0


    Powered by SiteX 0.7 Beta. Copyright 2004-2009 BJ Sintay. All rights reserved.
    Content and media is the responsibility of the site owner.