Ken Shirriff did a nice intro to PocketBeagle. Looks nice.
(I didn’t jump on the microcenter $20 intro special, which may have been a mistake.)
Curtis Olson December 14, 2017 07:29
I’m really interested in this myself. My AuraUAS autopilot has been a marriage of a beaglebone black + APM2 board converted to sensor head (running my own custom firmware). I’m transitioning to a beaglebone black + teensy based sensor-head system. Long term I’d love to put a teensy + beaglebone back all on a single board package. The only possible downside I can see is it must have an external sd card to boot and run … no onboard <insert storage/memory acronym here>. I’ve also messed around with an Onion Omega2 and that is crazy cool for what it is, but probably not enough oomph to be the heart of my autopilot system … but could make a great wireless ground station server. Too many good ideas, too little time!
Michael K Johnson December 14, 2017 07:45
eMMC the acronym you have in mind?
Why both beagle and teensy? Two PRUs not enough?
I was thinking that a combo of the Sitara SoC and an ESP32 might be a nice combination because of the communications ability of the ESP32, and the Linux+PRU on the Sitara, harkening back to the original comms purpose of the ESP8266 but with control abilities and 32 bit processor. To me, the main drawback of (most of) the beagles is lack of integrated network ability. A ~$3 extra SoC would be an interesting solution.
Curtis Olson December 14, 2017 07:52
PRU: when I tried to deep dive into those, I banged my head and it really hurt. Whenever you are ready to hold my hand on those, I’m here. :-) So (1) there is an issue of incomprehensibility and general lack of understanding and information and good examples for PRU’s (and device trees?) (2) number of goes-intos and goes-out-ofs the beaglebone seems potentially limiting for what I do. (3) Teensy is easy and I understand it and the code is already written and working.
One follow on comment: the code I found in the APM2 project that used the PRU seemed like they started with the most complex PRU example and hacked in a few things until it worked. So (it seems) they carry all kinds of extra baggage because they didn’t really grok the whole thing either. My fragile sensitivities were offended and I decided I couldn’t do PRU’s if it involved that level of ugliness and bumbling … I wouldn’t touch them until I could find a way to understand them better.
Michael K Johnson December 14, 2017 08:50
Oh, I was just assuming that the PRU was a reason you were using it for autopilot duty! I’m afraid I haven’t written anything for the PRU, just read code and played with my BB Blue that uses PRU to read the IMU, which I have discovered is a bit persnickety. But that’s the IMU not the PRU…
Curtis Olson December 14, 2017 09:11
I only see my one tiny slice of the world, but here’s my design logic:
I built my autopilot as a distributed system.
The teensy (or the atmega2560) is the “little processor” and handles all the sensor IO, bit banging, PWM signal generation, and hard real time tasks. The little processor code is minimalistic, tight, robust, heavily tested, flight critical.
The beaglebone (or pi, or gumstix, or my laptop) runs linux. This is the “big processor”. The beaglebone can do the heavy floating point number crunching (EKF attitude/position estimation), the beaglebone can do the higher level logic, logging and communication, etc. Because it’s linux, I have access to all the nice libraries and tools. I also embed python in the critical main beaglebone loop … because I can, because I like python code, because it’s been proved to be robust through two full flight seasons.
If I grok’d the beaglebone PRU’s, that could be a nice way to cull the teensy from the system and compress the layout even further … but … I don’t grok the PRU’s much at all.
One last design philosophy comment: I decided it was important to find a path (any path) through the maze first, then work on refining the system. The teensy is a massive upgrade over the atmega2560-based APM2 boards. The apm2 was a massive upgrade over the original 2006-vintage mnav sensor head. Python on the beaglebone is a huge asset for coding higher level functions … a huge upgrade over C/C++. :-) The beaglebone is actually a huge upgrade over the original 400mhz gumstix I began with.
There are lots of holes and imperfections and came-up-a-little-shorts’s in the system, but it’s my system dang it, and I understand it from one end to the other. :-)
For fixed wing/airplanes I think my system hits some performance and robustness nuances that some of the more well known autopilot projects miss in their endless chase of feature expansion, or their ‘misguided’ :-) attention to multi-rotors.
So anyway: the pocketbeagle is high on my list of things to buy and test real soon.
Curtis Olson December 14, 2017 17:51
For whatever it’s worth, here’s an example of what we are up to with our beaglebone-based autopilot system:
Michael K Johnson December 14, 2017 20:14
I’m guessing you aren’t flying the talon in the snow… :)
Curtis Olson December 14, 2017 22:25
Actually one of the nice things about this design is it can be hand launched … so no problems taking off in the winter, and then hopefully it will just kind of scoot in on landing.
Michael K Johnson December 15, 2017 05:45
Sorry, I meant (but didn’t say) falling snow. Was thinking white on white, that’s all.
Curtis Olson December 15, 2017 06:39
+Michael K Johnson Ahhh, gotcha, but wait until those led strips light up! For my own planes I’d probably spray some trim color on with a rattle can.
Michael K Johnson December 15, 2017 07:47
How do the LED strips on the bottoms of the wings affect aerodynamics?
Curtis Olson December 15, 2017 08:09
Hopefully they have minimal impact. Little things like this aren’t super critical on a plane flying at twenty to thirty knots. Things like wing area, weight, and power are much more dominant at these speeds and scales. (Based on my opinion and experience… I’m not trying to say anything definitive here… I don’t think I know anything definitive to say anyway…). :-)
Imported from Google+ — content and formatting may not be reliable