Interest in GSOC 2021

Hi , I’m a mid-career switcher to engineering (international diplomacy before this). I graduated from Boston University with an MS in Mechanical engineering in 2019 and now I’m taking classes full time again learn more about coding and embedded systems. Given my interest in robotics, I thought the librobotcontrol library could be a good project, but I am also seeing that others have interest in this and am open to other projects too so that there is something for everyone.

Here’s a bit more about my experience:

  • Swarm Robotics (Hardware/Software)
  • C++(high school, grad school, college)
  • C (at the Swarm Robotics company, lots of Arduino etc)
  • Microcontrollers + Motion (Arduino, Ras Pi, Fubarino, STM32 etc)
  • Building small robot “puppets” with raspberry pi that talk, move eyes etc
  • Linux

I realize the deadline for GSOC is quickly approaching next week, and I’m open to talking with any of the mentors who may need another student for your project, if you think I may be able to help. I’ve reached out to @deepaklorkhatri007 about librobotcontrol, and @jkridner also suggested looking into some of the Bela sound issues. Let me know if you have additional thoughts/suggestions.
Thanks and I hope we can work together,
Leah
www.leahtheartist.com

Hi there,
what would you be interested in doing related to Bela? Did you have a look at the topics suggested here? BeagleBoard/GSoC/Ideas-2021 - eLinux.org
Is any of those of interest to you? Or do you have something else in mind?

Hi Giulio,
I took a look at the Bela projects, and yeah I’d be interested in tackling one of them. I got deep into ALSA in a Ras-pi project a few years ago (with mixed success) and I agree that ease of use is very important. I think the best fit for me might be the Bela support on BeagleBone AI, though open to your suggestions based on priorities. Maybe we can discuss tomorrow in the chat room about the general scope and technical components of the project? I am somewhat familiar with pinmuxing and completely new to PRUs (though interested to learn).
Thanks
Leah

the Bela on BBAI + other boards would be an interesting one. That one is more embedded electronic engineering focussed, as it requires digging deep into datasheets, Linux drivers and build systems. I would have a lot of fun with that for sure :). It seems that your skillset may also align well with " Bela audio driver for common audio APIs", this is more software engineering really.

@lpillsbury on the other hand keep in mind that your project proposal doesn’t have to align with one of the ideas, which are really just a source of inspiration, so feel free to come up with your own project proposal!

Ah, ok, I thought it would make sense to start with “work that needs to get done”, especially given the compressed timeframe to get a proposal ready. I don’t have much experience with Linux drivers, but I do do a lot of reading datasheets and integrating things, that’s why I thought the additional boards one could be interesting, though the other looks good too.

In terms of “new” proposals, one thing that would be really interesting if it hasn’t already been done, is integrating the audio inputs to pattern recognition functionality that is already on the AI boards. I see that Bela has many GPIO pins, but I’m not sure how easy it is to get an audio input and recognize what someone was saying or music playing etc? Would something like that be useful and non-redundant?

There is a whole field of research in speech recognition and I am sure they produced some libraries that could be embedded. I guess it would be interesting to get some of those libraries to run on the BBAI, but I am not sure it would be able to perform great beyond simple keyword detection (most speech-to-text devices these days (e.g.: Alexa) still use a remote server for actual speech-to-text, while the edge device only does keyword detection), though I think it’s a topic worth investigating in a GSoC project: plenty of learning experience and re-usable code to come out of that . Not sure how relevant this could be to the Bela project itself, as Bela is more about real-time low-latency interaction for making musical instruments and similar, so I am not sure speech recognition would particularly fit the bill of my interests (though you may find other mentors that are interested in this). On the other hand, Bela has plenty of high-definition (16bit, 22kHz) inputs for sensors (e.g.: accelerometer, FSR, etc), so something I would find more interesting for Bela would be to perform pattern recognition on sensor input perhaps? In both cases, I think a background in DSP and machine learning would be strongly recommended (also because I don’t have experience with the latter).

The https://beagleboard.org/static/prucookbook is a nice introduction to the PRUs. Patches welcome. cc @yoder

@yoder I see your course website that you did a projected on a “TI Embedded Speech Recognizer” and I’ve also found several other speech recognition libraries that seem to be available for public use:

In a vaguely similar ML on the edge direction, I noticed that none of the BeagleBone boards are listed as TensorFlowLite compatible.

It seems to me that it would be great to make the AI board compatible, or is it basically compatible already even though it isn’t listed? (They do say that " It has been tested extensively with many processors based on the Arm Cortex-M Series architecture "

If this is not currently plug and play I think it would be be very useful to integrate with Beaglebone AI. Though I’m not sure how we’d do version control given that they do a nightly build to the Arduino IDE. Does anyone have thoughts or experience on this?

I’m seeing this is actually something people are talking about. Is it already in progress?

https://e2e.ti.com/support/processors/f/processors-forum/931527/using-tidl-with-tensorflow-v2-for-beaglebone-ai-target

from: Frequently Asked Questions · beagleboard/beaglebone-ai Wiki · GitHub
We’ve got a path to deliver the best AI training platform available, but, the actual materials are deeply lacking today. The GitHub - beagleboard/cloud9-examples repository has a starting point for using the TIDL library, but that library is based on C/C++ and requires separate information on training and converting the model from Tensorflow/Caffe/etc. The TI Tensorflow Lite support is coming around the first quarter of 2020.

See also 3.9.3. TensorFlow Lite — Processor SDK Linux Documentation