I have been developing a Python-based robot stack for a while, called Roberto. It is not complete yet
With the advent of GPT and the many new features this opens up to, I am wondering if my little project might benefit from porting it to Mycroft, and whether it is feasible with my skillset.
I currently have these features working independently in Python:
- Object detection via TFLite
- Face detection via OpenCV’s cv2.dnn module
- Face recognition via face_recognition lib
- Enrollment for new faces via UI + Camera
- Activation via motion detection
- Motor control via Serial/BT
- UI management via Pygame 2 SDK on a 7" Display
- TTS in Danish via Azure Cognitive Services
- Simple State Machine to “breathe life” into the robot and its UI
Looking at what Mycroft core provides out of the box, I think I could fairly easily add Speech-To-Text and Wake word detection to that list, if I am able to port it to Mycroft.
Obvious complications here are the fact that:
A) I am looking to do this in Danish (which it appears Lingua Franca does support)
B) I am running this all on a Raspberry Pi 4 (but I can run much of the stack locally for development)
So being very new to Mycroft, I am wondering about a few things:
- I have basic Python skills (but am proficient in few other languages) - is there hope for me in the Mycroft community?
- Where should I start? Should I create my own Skills that isolate each feature? And if so, how can skills use features from each other? Ie. if the object detection skill triggers an event, how can it manipulate the UI which is managed in another Skill?
- I like the thinking behind Dinkum, should I look there for beginnings? Or just inspiration?
- I don’t have experience with Qt and hardly any with C++, so the GUI stack in Mycroft seems a bad fit. I also want to avoid installing a window manager on the RPi, which is why I opted for Pygame to begin with. Will this be a problem?
Any other advice you can think of in my endeavour will be much appreciated, thanks.
P.S.: Sorry I do not have code to show as of now, it’s a big hot mess still and not ready for public consumption.