I have wondered about control of quad-copters. I assume that it is front-back and left-right with respect to the front-back axis of the copter along with yaw left-right and up-down. This has a problem, at least for me when driving RC cars, that if it is flying toward you and you want it to go to your right, you must think to make a left control input. I think I would like to have, with the necessary sensors, north-south, east-west, yaw CW-CCW and up-down. My ultimate dream would be a tablet or laptop with a "fly to here" function on a displayed map and the previous controls for fine positioning like pointing a camera.
My ultimate dream would be a tablet or laptop with a "fly to here" function on a displayed map and the previous controls for fine positioning like pointing a camera.
I'd argue that's not really flying anymore. :-) I'm not necessarily poking fun, it's just a completely different motivation for building it than I have. I want to pilot the thing, have it control like my other R/C helicopters, and be able to do stunts with it. The idea of telling it to go to a spot and sit there would be great for aerial photography work, and would be fun to implement, but I think it'd be boring to fly. They do certainly exist - I think the MultiKopter is capable of this, and the ArduCopter may be as well.
I have wondered about control of quad-copters. I assume that it is front-back and left-right with respect to the front-back axis of the copter along with yaw left-right and up-down. This has a problem, at least for me when driving RC cars, that if it is flying toward you and you want it to go to your right, you must think to make a left control input. I think I would like to have, with the necessary sensors, north-south, east-west, yaw CW-CCW and up-down. My ultimate dream would be a tablet or laptop with a "fly to here" function on a displayed map and the previous controls for fine positioning like pointing a camera.
John Abshier
John,
The ELEV-8 in it's present form, (Hoverfly Sport), is much like any R/C plane or helicopter, in that you need to use "reverse vision" when flying the craft towards you.
I believe your dream of laptop control will be realized with the addition of the HoverFly Pro and HoverFly GPS. ($900.00).
I await the HoverFly Open that will be announced by Parallax. We can hope that opens new avenues.
I have wondered about control of quad-copters. I assume that it is front-back and left-right with respect to the front-back axis of the copter along with yaw left-right and up-down. This has a problem, at least for me when driving RC cars, that if it is flying toward you and you want it to go to your right, you must think to make a left control input. I think I would like to have, with the necessary sensors, north-south, east-west, yaw CW-CCW and up-down. My ultimate dream would be a tablet or laptop with a "fly to here" function on a displayed map and the previous controls for fine positioning like pointing a camera.
John Abshier
Hey John, next time you make your way out here we'll hand you the controls of an ELEV-8 so you can get a feel for it. You really can't fail with the PRO version of the Hoverfly.
The human interface for a quadcopter is quite different than an R/C airplane. I've flown R/C airplanes for years and I fully understand the challenges you're talking about with reversed controls when airplanes fly towards you. Occasionally I've gotten my internal (i.e., brain) wiring crossed and sent an airplane toward the ground in this same situation.
Quadcopters can hold their heading, and if the drift is very minimal it can always be pointing north [or any other direction] during your flight. The elevator/aileron stick then simply allows you to move around in the X/Y coordinate system. If you stand at 0,0 and fly directly away to 0,5 in a coordinate system then coming back to 0,0 is a matter of "backing up" without turning the craft around. This is the easiest way to fly.
But once you add first-person control and hover via wireless camera you will add coordinated turns and be in a position where you return to home base head-on.
I shouldn't suggest that it's easy to be successful building and flying an ELEV-8, because it's not. There's room for error everywhere, and I haven't written a bit of code like Jason or Cluso99.
I'd argue that's not really flying anymore. :-) I'm not necessarily poking fun, it's just a completely different motivation for building it than I have. I want to pilot the thing, have it control like my other R/C helicopters, and be able to do stunts with it. The idea of telling it to go to a spot and sit there would be great for aerial photography work, and would be fun to implement, but I think it'd be boring to fly. They do certainly exist - I think the MultiKopter is capable of this, and the ArduCopter may be as well.
I think this is one of the benefits that a quadcopter can provide more easily than most other flying contraptions. The versatility of what you may wish to do is really high. Here's a sampling of the ideas casual observers have pointed out to me:
- survey gutters for leaf clogging without getting out a ladder
- aerial photography business for real estate
- package delivery
- filming of sporting events and back-country sports where helicopters (real or R/C) are impractical
- military - the simple ability to look over a wall or a hill
- plain experimentation with an amateur radio license (video Tx, etc)
- police surveilance
With a small number of parts there's very little tuning to be done (gain setting in radio) so the cost is low enough that a set of quadcopters could easily be deployed for real applications.
My stability code uses an estimate of the current orientation that it gets by adding up gyro values. For simplicity, assume it's actually perfect, and doing this gets you a real "my angle is X" number. I take that measured angle and my desired angle (fed from the remote control), and feed those numbers into the PID loop.
P = Proportional (difference between measured and desired)
D = Derivative (difference between current error and last error, or rate of change of the error value)
So, in my system, the P value is how different my angle is from my desired angle, and the D value is how fast I'm rotating.
The magic was adding a 2nd D term, or second derivative, which in my case equates to the acceleration of the angular velocity. A standard rate gyro has this as its D term, because it uses angular velocity as it's starting point. A rate gyro has angular rate = P, and angular acceleration = D. I figured I could add the angular acceleration term too, but in my system it's a second derivative, not the first (and the math is dead simple).
It works beautifully - While testing, I added the new term to just my roll rate controller. I could then whack the stick left or right to see the effect of the new PID, and whack the stick forward or backward to compare the response of the old PID. The old system oscillates a bit before settling, and while it has been getting better, the improvement from new system was immediately visible - The oscillation is gone. I'll try to get video in the next couple days, and I'll post code once I've had a little more time to tune it, but I'm a little bit giddy at how much of a difference it made.
For general stability I agree - I don't think the accelerometer is needed. I only need it to be able to make the thing right itself if things go badly - I want to have that on a switch so I can enable it if things go bad. :-)
@Jason
Very good stability - pretty sure that's a GoPro camera. Looks like you have the rotation figured out. I imagine that was the least of your worries.
Jason, can I send you a Hoverfly SPORT for programming? The SPORT is very similar to the OPEN and I'd really like to get some firmware underway before the OPEN board arrives. I'm pretty sure it uses the same gyro (at least Roy says so but I haven't read all of your posts to know for certain). As Hoverfly won't be sharing the firmware, with your effort we could then open up the entire ELEV-8 effort. Let me know if you are interested, or if you even have the time.
Ken: Seeing the leds on Jasons inside video reminded me...
What Leds are you using on your quad? Do you know the current used? They were so impressive for the night video.
BTW I am hoping to get my new pcbs back before xmas, but it will be tight. Hopefully some time over the holidays to get things moving again.
Hey Cluso99 - the LEDs I used were from http://www.ledwholesalers.com/store/index.php?act=viewCat&catId=42 but I see they are no longer available. At 4" each strip uses 200 mA @ 12V, less than an amp total. I think I estimated that the LEDs used less than 5% of the total power budget. With this low demand I didn't even bother putting them on their own switch.
@Ken - I'd be happy to program a SPORT for you. I'll PM you my mailing / contact info.
And Roy's correct - I checked out their site, and from the SPORT picture I can see it's an ITG-3200. If you have pinouts (or just a link to their board schematic / info) that'll help, but it should be pretty straightforward to put my code on their board.
I've got some more parts on order, and I'm thinking of updating mine to support hexa / octo configurations too. Neither are particularly hard, and I already have the X or + configs supported in software. It's not "selectable" at the moment, but it'd be easy enough to make it a configurable setting through the USB port. I imagine that the SPORT has something similar based on their info on the site.
Once I get further along on that stuff I'll post updates, and once I have the info for the SPORT I can probably just make a variant of my code routines with the right pinouts for it, and send you updates that work with it.
@Jason & Cluso99: with the help of you guys the Propeller shall shine in this application. It's been our goal to see that it gets the attention it deserves in multi-rotor applications.
Jason, got the PM and your SPORT is on the way. I'm waiting for a PRO board to come in from Hoverfly. When it arrives I'll lend it out to you, too.
Here's a better video of my latest quad / code. I doubled the maximum angular rates in anticipation of stunt flying. I probably still have to bump them higher, but I wanted to see how it handled, if it affected stability, and so on. It's just as stable, but much more nimble.
I got my "beta" ELEV-8 flying pretty decently now. I'm still a newb pilot, and am very cautious with it. I've got some videos and pics to post when I get back home.
Jason I am really excited to try your code out with this thing. Especially when you have the accell. working, because then I can change it to be on all the time and help me not crash.
Nice video, Jason. Today I did my first FPV flight from a TV inside my office. Had a lot of trouble determining when the ELEV-8 was drifting sideways, forward or backward. I haven't done any research on FPV but I'm pretty certain that auto-leveling is required to make it manageable.
Tomorrow morning I'm going to hike up to a frozen lake in Granite Chief Wilderness, at about 8,000 ft elevation. I hope to get some interesting videos from that location. If all goes well I'll post my work here by noon Sunday Pacific Time.
Nice Jason. With your hands off, there is a little drift although that is fine. I like when you give it power it responds nicely. Of course I can see I will have to implement the extra channel so that it hovers when switched (emergency recovery mode).
Very good stability Jason. I've been going thru the last QuadX code you posted, thanks for the explanation. I have a question about Beau's modified servo32 driver - was the original not fast enough?
Beau's driver is perfect for servos - they can only handle being updated at 50hz. ESCs can be updated much faster than that, and doing so can make a significant difference in the responsiveness and stability of a quad. My changes to the servo object allow it to update 8 outputs at more than 200hz (I think I set it to 250, but I'd have to check the code to be sure).
Hey all, got another one for you to see. A friend and I went on a hike this morning and brought the ELEV-8 along - why not? Conditions were party cloudy, light breeze and about 30F at 7:15 am. As you'll see in the video it's starting out as a very dry year in this part of the Sierra Nevada which normally receives about 350+ inches of snowfall a year. All the precipitation is going up north again to Phil's corner.
At this point I have to switch to first-person view to make it really interesting. Following objects and flying further distances is difficult without FPV. I also need to add an accelerometer for auto-level so the video doesn't make the viewer ill. Other than upgrading my SPORT (either with a PRO, or using Jason's code an an accelerometer on my current board), I've got the A/V transmission worked out up to a mile. So, this will be my last for-fun R/C video before I switch to FPV and fly away. . .literally.
Wow! That was pure gold! 1) I want one. 2) I want to visit that place 3) Can I have a job?
Paul
Thanks Paul! (1) We can satisfy the need! (2) Would be glad to take you at UPEW - come on out! (3) But can't you see that we work around the clock 24/7/365?
Do you have display goggles for the FPV stuff? What kind?
Also, what's with the lack of snow?
-Phil
Hey Phil! Yesterday was my first FPV flight off of my office. It was a tenuous situation with alligator-clip wiring, zip ties, and a lot of excitement. The setup worked like this - a patch antenna was outside and a 32" TV was showing the video inside. I was standing inside the office, then outside, then inside, switching back and forth between visual control and FPV. The whole setup was so crazy I couldn't quite get my head around it, mostly because of my chaotic test conditions (couldn't wait till today). I would much rather fly from a TV than goggles, but the TV must be in shade - and who carries a TV around anyway? If I'm inside and watching the TV then I'm going to cripple the R/C transmitter.
Comments
John Abshier
I'd argue that's not really flying anymore. :-) I'm not necessarily poking fun, it's just a completely different motivation for building it than I have. I want to pilot the thing, have it control like my other R/C helicopters, and be able to do stunts with it. The idea of telling it to go to a spot and sit there would be great for aerial photography work, and would be fun to implement, but I think it'd be boring to fly. They do certainly exist - I think the MultiKopter is capable of this, and the ArduCopter may be as well.
John,
The ELEV-8 in it's present form, (Hoverfly Sport), is much like any R/C plane or helicopter, in that you need to use "reverse vision" when flying the craft towards you.
I believe your dream of laptop control will be realized with the addition of the HoverFly Pro and HoverFly GPS. ($900.00).
I await the HoverFly Open that will be announced by Parallax. We can hope that opens new avenues.
Hey John, next time you make your way out here we'll hand you the controls of an ELEV-8 so you can get a feel for it. You really can't fail with the PRO version of the Hoverfly.
The human interface for a quadcopter is quite different than an R/C airplane. I've flown R/C airplanes for years and I fully understand the challenges you're talking about with reversed controls when airplanes fly towards you. Occasionally I've gotten my internal (i.e., brain) wiring crossed and sent an airplane toward the ground in this same situation.
Quadcopters can hold their heading, and if the drift is very minimal it can always be pointing north [or any other direction] during your flight. The elevator/aileron stick then simply allows you to move around in the X/Y coordinate system. If you stand at 0,0 and fly directly away to 0,5 in a coordinate system then coming back to 0,0 is a matter of "backing up" without turning the craft around. This is the easiest way to fly.
But once you add first-person control and hover via wireless camera you will add coordinated turns and be in a position where you return to home base head-on.
I shouldn't suggest that it's easy to be successful building and flying an ELEV-8, because it's not. There's room for error everywhere, and I haven't written a bit of code like Jason or Cluso99.
Ken Gracey
I think this is one of the benefits that a quadcopter can provide more easily than most other flying contraptions. The versatility of what you may wish to do is really high. Here's a sampling of the ideas casual observers have pointed out to me:
- survey gutters for leaf clogging without getting out a ladder
- aerial photography business for real estate
- package delivery
- filming of sporting events and back-country sports where helicopters (real or R/C) are impractical
- military - the simple ability to look over a wall or a hill
- plain experimentation with an amateur radio license (video Tx, etc)
- police surveilance
With a small number of parts there's very little tuning to be done (gain setting in radio) so the cost is low enough that a set of quadcopters could easily be deployed for real applications.
Ken Gracey
I am getting really envious as I sit here without the time to fly. Xmas is coming and so is some time (hopefully).
I am also waiting eagerly for the how to get it details.
Also for those of you in the US you might want to check this out.
http://www.faa.gov/about/initiatives/uas/uas_faq/
My stability code uses an estimate of the current orientation that it gets by adding up gyro values. For simplicity, assume it's actually perfect, and doing this gets you a real "my angle is X" number. I take that measured angle and my desired angle (fed from the remote control), and feed those numbers into the PID loop.
P = Proportional (difference between measured and desired)
D = Derivative (difference between current error and last error, or rate of change of the error value)
So, in my system, the P value is how different my angle is from my desired angle, and the D value is how fast I'm rotating.
The magic was adding a 2nd D term, or second derivative, which in my case equates to the acceleration of the angular velocity. A standard rate gyro has this as its D term, because it uses angular velocity as it's starting point. A rate gyro has angular rate = P, and angular acceleration = D. I figured I could add the angular acceleration term too, but in my system it's a second derivative, not the first (and the math is dead simple).
It works beautifully - While testing, I added the new term to just my roll rate controller. I could then whack the stick left or right to see the effect of the new PID, and whack the stick forward or backward to compare the response of the old PID. The old system oscillates a bit before settling, and while it has been getting better, the improvement from new system was immediately visible - The oscillation is gone. I'll try to get video in the next couple days, and I'll post code once I've had a little more time to tune it, but I'm a little bit giddy at how much of a difference it made.
Jason
And one IN the office:
Very good stability - pretty sure that's a GoPro camera. Looks like you have the rotation figured out. I imagine that was the least of your worries.
Jason, can I send you a Hoverfly SPORT for programming? The SPORT is very similar to the OPEN and I'd really like to get some firmware underway before the OPEN board arrives. I'm pretty sure it uses the same gyro (at least Roy says so but I haven't read all of your posts to know for certain). As Hoverfly won't be sharing the firmware, with your effort we could then open up the entire ELEV-8 effort. Let me know if you are interested, or if you even have the time.
Thanks,
Ken Gracey
What Leds are you using on your quad? Do you know the current used? They were so impressive for the night video.
BTW I am hoping to get my new pcbs back before xmas, but it will be tight. Hopefully some time over the holidays to get things moving again.
Hey Cluso99 - the LEDs I used were from http://www.ledwholesalers.com/store/index.php?act=viewCat&catId=42 but I see they are no longer available. At 4" each strip uses 200 mA @ 12V, less than an amp total. I think I estimated that the LEDs used less than 5% of the total power budget. With this low demand I didn't even bother putting them on their own switch.
Ken Gracey
And Roy's correct - I checked out their site, and from the SPORT picture I can see it's an ITG-3200. If you have pinouts (or just a link to their board schematic / info) that'll help, but it should be pretty straightforward to put my code on their board.
I've got some more parts on order, and I'm thinking of updating mine to support hexa / octo configurations too. Neither are particularly hard, and I already have the X or + configs supported in software. It's not "selectable" at the moment, but it'd be easy enough to make it a configurable setting through the USB port. I imagine that the SPORT has something similar based on their info on the site.
Once I get further along on that stuff I'll post updates, and once I have the info for the SPORT I can probably just make a variant of my code routines with the right pinouts for it, and send you updates that work with it.
Jason
Jason, got the PM and your SPORT is on the way. I'm waiting for a PRO board to come in from Hoverfly. When it arrives I'll lend it out to you, too.
Thanks for your support.
Ken Gracey
Flight Assembled Architecture
Jason I am really excited to try your code out with this thing. Especially when you have the accell. working, because then I can change it to be on all the time and help me not crash.
Roy
Tomorrow morning I'm going to hike up to a frozen lake in Granite Chief Wilderness, at about 8,000 ft elevation. I hope to get some interesting videos from that location. If all goes well I'll post my work here by noon Sunday Pacific Time.
Ken Gracey
Looking forward to your videos Ken.
At this point I have to switch to first-person view to make it really interesting. Following objects and flying further distances is difficult without FPV. I also need to add an accelerometer for auto-level so the video doesn't make the viewer ill. Other than upgrading my SPORT (either with a PRO, or using Jason's code an an accelerometer on my current board), I've got the A/V transmission worked out up to a mile. So, this will be my last for-fun R/C video before I switch to FPV and fly away. . .literally.
[video=youtube_share;NU5DdHfw9Nw]
Paul
Do you have display goggles for the FPV stuff? What kind?
Also, what's with the lack of snow?
-Phil
Thanks Paul! (1) We can satisfy the need! (2) Would be glad to take you at UPEW - come on out! (3) But can't you see that we work around the clock 24/7/365?
Hey Phil! Yesterday was my first FPV flight off of my office. It was a tenuous situation with alligator-clip wiring, zip ties, and a lot of excitement. The setup worked like this - a patch antenna was outside and a 32" TV was showing the video inside. I was standing inside the office, then outside, then inside, switching back and forth between visual control and FPV. The whole setup was so crazy I couldn't quite get my head around it, mostly because of my chaotic test conditions (couldn't wait till today). I would much rather fly from a TV than goggles, but the TV must be in shade - and who carries a TV around anyway? If I'm inside and watching the TV then I'm going to cripple the R/C transmitter.
I'll get some goggles. Where's erco?