Epic! I recently drew up an airframe design in CAD that is very similar to yours. I think it's one of the better GEV configurations. Took me five iterations to get there but you got it first try! Nice work. Really excited to see how this tracking capability gets used in the future. I feel like it could be really useful for all sorts of projects!
I love how all of you guys are getting into Ekranoplans! As you already mentioned in one comment, increasing the framerate is key for a proper computer vision follow. Similar projects use at least 60 fps as far as I know.
Yea, this currently works as more of a ‘nudge’ in the right direction-I think it’ll work pretty well on the big elranoplan because the dynamics are slower and smoother Already looking into a faster computer to slap the code on for a future application
I made a project once for uni that required me to do image processing on a rpi, the trick is to use the processing intensive algorithm only to get the initial coordinates of your target, from there you can switch to optical flow, which in my pi 3 ran at about 30fps, and every 1 minute go back to the recognition algorithm, it worked pretty well in my case, but the optical flow tends to get lost and start tracking something else if left alone for too long, so ajust that interval for your use case
I’m from a Robotics Team and I’m happy to see others using April Tags as we use them in our competitions to know exactly where our robots are while on the field in our autonomous mode April tags are helpful we use Lime Light Vision Cameras To detect our April Tags so good job you’ve been rated by a professional robotics team 😂
Awesome vid. Thanks! And thanks for your sacrifice camera person. Survived the fall from heaven without a scratch but still put yourself in harms way for the shot.
The frame rate issue is an interesting problem. Have you considered two cameras? One as is, at high resolution and low frame rate for coarse tracking. Then another at low resolution and high frame rate, with higher optical zoom, for finer tracking once you're locked on.
I arrived here after Tom Stanton's VTOL video using your code- Its super cool, and while I do have a VTOL already and I hate to duplicate anyone's project verbatim I don't have years to iterate to get to something that reliable. I'll probably get around to it after wrapping up current projects in a few months and hopefully have something new to add. With that said, I might pick up a Teensy 4.0 to prepare but I wonder if you're considering a newer alternative moving forward. I don't want to get started on a board that's obsolete by the time I get going.
Teensy 4.0/4.1 is still 'state of the art' in the arduino world, so no risk of it going obsolete anytime soon. Only thing is that it's in high demand / short supply at the moment, so grab one if it's in stock because it'll be out of stock soon!
@@NicholasRehm Ok! "added to cart!" thanks! It occurred to me that the control scheme for Tom's faux Osprey design is somewhat similar to my ongoing micro-ROV prototype. Its a project affiliated with NOAA and National Geographic that I wonder if you might consider offering your insight on? I'm thinking about redesigning now to accommodate a Teensy.
The "ideal" would be a "terrain sensing" ekranoplan! But ya see the "terrain" don't cooperate because it is different everywhere, that is why EKPs only work best on the sea! 😱🤪🤣👍🇺🇸 That's why I work on "flying saucers"! 👽
Another awesome success...... congratulations.. It would be nice to see a larger Ekranoplan with your simpler code so it could be flown over water or larger flat areas...... I have always liked this concept but its way too complex for me to tackle....
Great video again As a possible project I was thinking of building a self propelled electric cargo carrier to follow us when we are cycle touring the following/trailer could carry our luggage and also importantly have a flashing light to warn upcoming traffic from behind that cyclists were ahead Cheers
Amazing video, as always! Wondering if I could possibly get the code for the sensor fusion that combines the RC input with the RPi outputs? Very ingenious solution!
I would say with as little as 0 modifications this would work on a car! I actually considered testing on an rc car but building the ekranoplan was too much fun to pass up
Awesome project! I have an idea that might improve the speed of the object detection inference. Once you have identified the target, in the subsequent frame you can predict the approximate area where the target will be (based on previous known positions), crop the image down to that size, and then perform object detection on that image. Not sure if your ML model can accept images of varying sizes, but it might be worth looking into.
Instead of using an AprilTag and localizing it in 3D, wouldn't it be simpler and computationally faster to use a distinct bright-colored object/dot and apply PID to the horizontal position of the dot in the image? It will still always point towards you. If you really want a position estimate (for speed control or perhaps prediction) then you can look at the size of the dot. My guess is that since you already had the Apriltag code it was less work?
Yea I considered that to speed things up, but distance measurement is pretty important-otherwise a pid controller on left/right location of a color in the camera frame will not be tuned for all following distances. Also, I already had apriltag tracking working, and was running out of steam on this project haha
Well done, I really liked seeing the programming involved. Did you consider ducting on the props? Can you overclock the PI? Can you burn a chip that runs faster to replace the PI ? Great fun! Thanks.
Yes I overclocked the pi to 2GHz--which necessitated that big heatsink and cooling fan on top. Looking into other single board computers and also AI-enabled cameras with embedded compute hardware, so stay tuned for developments on that
Awesome. Was going to ask if adding control loops (PID \ filters) to the measured angle and distance to the target would help, but I saw in the comments you did. Is it just PID?
So awesome! This so reminds me that I want to give your dRehmflight & controller a shot! But I guess I currently have to focus on submitting my thesis (which unfortunately has nothing to do with RC flight)^^
Curious, have you since looked into a Raspi Pico or even ESP32 as a replacement to the Tennsy? Could they handle to load if so? Or...you code is done, it works and you're sticking with it lol? Totally get it if so lol.
Great work! What programming language is the image recognition using? Any more details on that? OpenCV? Could it be optimized a bit more? (ie, is a lot of it running python?)
It was a bit easier to hold pitch attitude constant to avoid tight coupling with airspeed, which is much harder to accurately control (especially without a pitot :))
is that normal dollar tree foamboard? If you leave the paper on, even on at least one side it retains a much higher amount of rigidity. this is sick and the plane looks beautiful flying.
would giving it 4 wings and having it fly like an x make it more efficient? I mean while it how have an extra spot with drag, but now it can use every wing for lift
Does the tag recognition require color? If not, you might be able to reduce the bandwidth of your incoming data by scrubbing it down to greyscale, since the tag is so high-contrast
The detection is done on the greyscale image, and I basically just overlaid the solution on the color image before recording it onboard. So yea it does use up a few extra cpu cycles but not during actual detection where the load is the highest
As a complete noob in the field, how do you design the bodies of these RC planes? Do you use some simulation software to calculate aerodynamics and stuff or is it just hit and trial to find better designs?
This one was was entirely eyeballed, you’d be surprised what you can get to fly without any aerodynamic knowledge. The more you build the more you learn what works and what doesn’t
Hi! Im trying to build an autonomous quadcopter completely from scratch (no ardupilot, just good ole fashion python) and was wondering what method you used to tune the PIDs?
Start with a test stand and dial in your P and D gains so it responds well without any oscillations or 'jitters' which are the result of overtuning. Then dial in a little bit of I gain but never too much. Then give it a flight and some manual step inputs and observe the response...too slow (P-term too low), overdamped (D term too high), drifting (I-term too low). If you're talking about tuning gains for autonomy/navigation, step one is get a quad flying in angle mode that hovers hands-off the sticks, then slowly increase your position/velocity controller P and D gains, and be ready to take back manual control quickly... Best of luck
TFMini Plus from sparkfun: www.sparkfun.com/products/15179 Arduino library to interface with it: github.com/budryerson/TFMini-Plus And the PID code I wrote is at 04:46
@@zero00tolerance well, you would need to add the bits of code from the arduino library to initialize the sensor on a free serial pin. That basically entails copying a little bit of the library's example code to be able to get the sensor data into the flight controller code. Once you're reading data in the main loop, it's all yours to decide what to do with it i.e. write a little pid controller function to stabilize on a set altitude
Epic! I recently drew up an airframe design in CAD that is very similar to yours. I think it's one of the better GEV configurations. Took me five iterations to get there but you got it first try! Nice work. Really excited to see how this tracking capability gets used in the future. I feel like it could be really useful for all sorts of projects!
A Danickav collaboration - excellent things will no doubt come of this
Hey, thanks my man! Tons of possibilities but the pi might need an upgrade for faster frame rate to close the loop on…faster..systems
"Did it hurt? You fell from heaven?" Lmao, so smooth as ekranoplan
Stuff like this makes my eyes stay glued to the monitor. Very fascinating stuff! Looking forward to more awesome content like this.
Hey, thanks and glad you enjoyed!!
I love how all of you guys are getting into Ekranoplans!
As you already mentioned in one comment, increasing the framerate is key for a proper computer vision follow.
Similar projects use at least 60 fps as far as I know.
Yea, this currently works as more of a ‘nudge’ in the right direction-I think it’ll work pretty well on the big elranoplan because the dynamics are slower and smoother
Already looking into a faster computer to slap the code on for a future application
I made a project once for uni that required me to do image processing on a rpi, the trick is to use the processing intensive algorithm only to get the initial coordinates of your target, from there you can switch to optical flow, which in my pi 3 ran at about 30fps, and every 1 minute go back to the recognition algorithm, it worked pretty well in my case, but the optical flow tends to get lost and start tracking something else if left alone for too long, so ajust that interval for your use case
Love your builds with the custom flight controller - I can feel so much freedom with it!
Thanks so much :)
That opening shot is MONEY
Nice work! I think a coral usb accelerator would be exactly what you need to boost the frame rate while still keeping the Pi!
Thanks, I’ll check it out!
I’m from a Robotics Team and I’m happy to see others using April Tags as we use them in our competitions to know exactly where our robots are while on the field in our autonomous mode April tags are helpful we use Lime Light Vision Cameras To detect our April Tags so good job you’ve been rated by a professional robotics team 😂
7:23 Chat up line included to show he is not only an RC aero geek. She’s a keeper!
It wasn't a failure of depth perception. In fact, it was a great success. You nailed that thing 😂
I saw a reference to your channel over at Think Flight and I'm very impressed - Liked and subbed :)
Welcome aboard, I think you’ll see plenty of Think Flight on this channel in the future
Awesome vid. Thanks!
And thanks for your sacrifice camera person. Survived the fall from heaven without a scratch but still put yourself in harms way for the shot.
Definitely my fault for hitting her lol but she was a good sport and accepted a shopping trip after as compensation
The frame rate issue is an interesting problem. Have you considered two cameras? One as is, at high resolution and low frame rate for coarse tracking. Then another at low resolution and high frame rate, with higher optical zoom, for finer tracking once you're locked on.
Great Project! It's nice to see that you are talented in so many different things!
I arrived here after Tom Stanton's VTOL video using your code- Its super cool, and while I do have a VTOL already and I hate to duplicate anyone's project verbatim I don't have years to iterate to get to something that reliable. I'll probably get around to it after wrapping up current projects in a few months and hopefully have something new to add. With that said, I might pick up a Teensy 4.0 to prepare but I wonder if you're considering a newer alternative moving forward. I don't want to get started on a board that's obsolete by the time I get going.
Teensy 4.0/4.1 is still 'state of the art' in the arduino world, so no risk of it going obsolete anytime soon. Only thing is that it's in high demand / short supply at the moment, so grab one if it's in stock because it'll be out of stock soon!
@@NicholasRehm Ok! "added to cart!" thanks! It occurred to me that the control scheme for Tom's faux Osprey design is somewhat similar to my ongoing micro-ROV prototype. Its a project affiliated with NOAA and National Geographic that I wonder if you might consider offering your insight on? I'm thinking about redesigning now to accommodate a Teensy.
The "ideal" would be a "terrain sensing" ekranoplan! But ya see the "terrain" don't cooperate because it is different everywhere, that is why EKPs only work best on the sea! 😱🤪🤣👍🇺🇸
That's why I work on "flying saucers"! 👽
excellent use of raspberry pi on an RC plane
Super video. Lots of hard work there. Thanks
Thanks for stopping by Pat
Love the light post hit awesome 😎
Another awesome success...... congratulations.. It would be nice to see a larger Ekranoplan with your simpler code so it could be flown over water or larger flat areas...... I have always liked this concept but its way too complex for me to tackle....
Very nice and I love that you used arduino. I think that's the best direction for me also.
Brilliant video!
Great project man👏🏾👏🏾
I’d love to see you build a STOL aircraft with working Fowler flaps, and an emphasis on light weight and aerodynamics, rather than brute thrust.
That’s a great idea
Great video again
As a possible project I was thinking of building a self propelled electric cargo carrier to follow us when we are cycle touring the following/trailer could carry our luggage and also importantly have a flashing light to warn upcoming traffic from behind that cyclists were ahead
Cheers
Nice, be a great system for a scale model RC pod racer.
You have my attention
My God your videos are great!
That is incredible! Subbed.
Excellent work well done, Looking forward to more awesome content like this.💪💪💪
Light poles like trees are a magnet for tc planes!!!
I so need one of these in my life. Can I has?
lol shut up I’ll send you the ups tracking number later today
@@NicholasRehm this is gonna be too much fun
Awesome.
Amazing video, as always! Wondering if I could possibly get the code for the sensor fusion that combines the RC input with the RPi outputs? Very ingenious solution!
Sooooooo Cool.... yes your videos are awesome… It was like a pet trying to follow you it was just so cool… These are the best videos on RUclips
I actually laughed out loud when you smacked the light pole
amazing!
Amazing video! Keep 'em comin
Thanks Davi!
This is awesome. Can you adapt this to and RC car for a "follow me" build?
I would say with as little as 0 modifications this would work on a car! I actually considered testing on an rc car but building the ekranoplan was too much fun to pass up
Awesome project! I have an idea that might improve the speed of the object detection inference. Once you have identified the target, in the subsequent frame you can predict the approximate area where the target will be (based on previous known positions), crop the image down to that size, and then perform object detection on that image. Not sure if your ML model can accept images of varying sizes, but it might be worth looking into.
Such an inspiring video.
This is so cool
Thanks!!
Ecspecially cool! 😉
Love the Teensy.
Hey thanks! Yes, the teensy almost feels like a cheat code in the world of my crappy arduino code
@@NicholasRehm Raspberry Pi's so hard to come by - ordered a couple Teensy and they arrived within a week.
Epic!
I did some research on which tiny computer is best for drones and stuff, and I've heard the Jetson Nano is really good with its dedicated GPU.
Thanks for the suggestion, I’m also looking at the latest gen odroid for more cpu intensive stuff
4:06 wow, that was nasty
Nice!
Hey, this isn't ground effects when you "bank", it is just flying real smooooooth low to the ground! 😱🤪🤣👍🇺🇸
Instead of using an AprilTag and localizing it in 3D, wouldn't it be simpler and computationally faster to use a distinct bright-colored object/dot and apply PID to the horizontal position of the dot in the image? It will still always point towards you. If you really want a position estimate (for speed control or perhaps prediction) then you can look at the size of the dot. My guess is that since you already had the Apriltag code it was less work?
Yea I considered that to speed things up, but distance measurement is pretty important-otherwise a pid controller on left/right location of a color in the camera frame will not be tuned for all following distances. Also, I already had apriltag tracking working, and was running out of steam on this project haha
Really nice work!
Yeah you should predict qr motion and start detection from the region where it's most likely to be next - should speed up the frame rate..
Well done, I really liked seeing the programming involved.
Did you consider ducting on the props?
Can you overclock the PI?
Can you burn a chip that runs faster to replace the PI ?
Great fun! Thanks.
Yes I overclocked the pi to 2GHz--which necessitated that big heatsink and cooling fan on top.
Looking into other single board computers and also AI-enabled cameras with embedded compute hardware, so stay tuned for developments on that
I would not consider you twitchy at all excellent job well done
You could consider trying to get something like the Intel Neural Compute Stick 2 or an OAK-1 to do the video processing off board from the Pi?
Yes, very interested in the OAK camera if only I was smart enough to get it working with my system…
Awesome.
Was going to ask if adding control loops (PID \ filters) to the measured angle and distance to the target would help, but I saw in the comments you did.
Is it just PID?
Yup
So awesome! This so reminds me that I want to give your dRehmflight & controller a shot! But I guess I currently have to focus on submitting my thesis (which unfortunately has nothing to do with RC flight)^^
When’s your defense? Best of luck
@@NicholasRehm Thanks - its in September :-)
Awesome! Any tutorials where I can find the code related to onboard video recording by usb cam?
I'm a new builder and really appreciate your work
It's the usbcam ROS package and opencv in python to record
Good stuff!
crazy stuff brou
Curious, have you since looked into a Raspi Pico or even ESP32 as a replacement to the Tennsy? Could they handle to load if so? Or...you code is done, it works and you're sticking with it lol? Totally get it if so lol.
This is really awesome Bro 😁👍 nice video ;) btw I came from rctestflight
Hey thanks man, might need to consult you on a custom 18650 pack in the future
Great work! What programming language is the image recognition using? Any more details on that? OpenCV? Could it be optimized a bit more? (ie, is a lot of it running python?)
It’s all a compiled C++ package, apriltag_ros wiki.ros.org/apriltag_ros
Stange to control the altitude with the flaps (lift variation) instead of the stabiliser (angle of attack).
It was a bit easier to hold pitch attitude constant to avoid tight coupling with airspeed, which is much harder to accurately control (especially without a pitot :))
Cool!
Love this 😅
very cool project, what's the program shown at 8:08 to do the undistortion?
is that normal dollar tree foamboard? If you leave the paper on, even on at least one side it retains a much higher amount of rigidity.
this is sick and the plane looks beautiful flying.
It was actually the last of my depron stash which turned out to be pretty brittle--the wing upgrade did end up being the dollar tree stuff
would giving it 4 wings and having it fly like an x make it more efficient? I mean while it how have an extra spot with drag, but now it can use every wing for lift
Also are you using Encoders for the altitude for the PID?
7:12 Smooth lmao 😂
Génial 👌
Nice! What is the Lidar that you used?
It’s a tfmini plus
Does the tag recognition require color? If not, you might be able to reduce the bandwidth of your incoming data by scrubbing it down to greyscale, since the tag is so high-contrast
The detection is done on the greyscale image, and I basically just overlaid the solution on the color image before recording it onboard. So yea it does use up a few extra cpu cycles but not during actual detection where the load is the highest
You could maybe try using a Nvidia Jetson Nano instead of a Pi to speed up the detection
Posted too soon lol. Now, with Pi 5 and AI hat..hmmmm possibilities huh?
As a complete noob in the field, how do you design the bodies of these RC planes? Do you use some simulation software to calculate aerodynamics and stuff or is it just hit and trial to find better designs?
This one was was entirely eyeballed, you’d be surprised what you can get to fly without any aerodynamic knowledge. The more you build the more you learn what works and what doesn’t
Wish you added a rudder so you could turn while staying level
Differential thrust
Hi! Im trying to build an autonomous quadcopter completely from scratch (no ardupilot, just good ole fashion python) and was wondering what method you used to tune the PIDs?
Start with a test stand and dial in your P and D gains so it responds well without any oscillations or 'jitters' which are the result of overtuning. Then dial in a little bit of I gain but never too much. Then give it a flight and some manual step inputs and observe the response...too slow (P-term too low), overdamped (D term too high), drifting (I-term too low). If you're talking about tuning gains for autonomy/navigation, step one is get a quad flying in angle mode that hovers hands-off the sticks, then slowly increase your position/velocity controller P and D gains, and be ready to take back manual control quickly...
Best of luck
Could this be made for salt flat speed records?
Soooo... its drone self guidance towards a symbol... can you adjust it to, let's say a letter Z?
Are there any plans available for this? This seems like a fun platform for projects
If you shoot me an email I can send you the cad drawings of the tails/fuselage and the wing dimensions
@@NicholasRehm Just sent :)
GEV CYCLOGYRO!
I gotta find a better way to protect them from the ground after the last incident lol
@@NicholasRehm alright, I'm trying to jump in this world with y'all. I'm almost there man
Hey Nicholas can you post where to get the Lidar and the PID please ?
TFMini Plus from sparkfun: www.sparkfun.com/products/15179
Arduino library to interface with it: github.com/budryerson/TFMini-Plus
And the PID code I wrote is at 04:46
@@NicholasRehm Amazing project thanks man, do I plug the Lidar sensor straight into the flight controller ?
@@zero00tolerance well, you would need to add the bits of code from the arduino library to initialize the sensor on a free serial pin. That basically entails copying a little bit of the library's example code to be able to get the sensor data into the flight controller code. Once you're reading data in the main loop, it's all yours to decide what to do with it i.e. write a little pid controller function to stabilize on a set altitude
Your Content is Quite Good Brother ❤…I also want to Learn that coding and all things.Can You tell me where I can Learn that.
lol giant april tag
4:02 too sad too sad :'/
It’s Time you Join the US Air Force and grow a Mustache.
Nvidia Jetson Nano is more suitable for this, imo
Also looking into the latest gen odroid for more CPU intensive stuff
I am not sure if he is honest about world domination... you should test him, buy conspiring one :D
"especially" not "ekspeshully"
uh.... why didn't you just purchase a commercial airline ticket ?!?
Who gonna pay for that
@@NicholasRehm then why don't you just raise money by doing youtube videos to get one ?!?
This dude definitely will build skynet one of these days!
Great idea for a future project
@@NicholasRehm oh wait! Does the mean I'm responsible for putting this idea in motion!?!