I’ve been thinking about my lack of progress on The Social Robot project. It occurs to me that it’s been at a standstill because I’ve been finding it very hard to motivate myself. I think that’s because I’ve been down in the weeds since the beginning of the project.
I started at the bottom and the idea was to build up to a useful system by building the base components and then building on top of that to do the more interesting AI driven stuff. The idea was that this would force me into doing more with AI and learning more about AI and developing a practical production grade system. However, getting stuck with basics like the toolchain on the NAO Robot, it’s kind of sapped my confidence and my enthusiasm. I’ve been very much aware that I’m not actually making the progress with the fun stuff. I’ve been depriving myself of fun and motivation at the same time.
The obvious question is okay, that was wrong, how can I do better? How can I make progress and build something I can be proud of? The idea was to end up with a production grade system not just a hacked together ball of string that kind-of works. I don’t want to go entirely the opposite way and just string together random bits of Python and other third-party libraries and get something that almost works. That’s not what I would call success.
What I think I need to do is follow an approach where I try and refine all components in an iterative manner. This is probably obvious really. I should build a relatively hacky MVP and then gradually make it better so I can motivate myself by at least having most of the platform there so I can try fun stuff, but also replace the hacky bits with more high quality and performant code as I go. That way I get experience at all levels of the stack and switch between them, rather than getting stuck on the lowest level and feeling like I’m making no progress and losing motivation.
I think that’s the next step really, to try and work out what an MVP is, put some really hacky code together, probably mostly in Python, to sketch out what I think the complete system would look like. I can then go back to making some of that more production grade and performant, which would then mean that I’ll still go back to look at the toolchain and look at things like noise reduction for the NAO microphones, but it will mean that I won’t be focusing solely on that.
I will feel like I’m actually making progress on the the high level bits of the application because although it’d be cool to have a high performance, low noise way of transmitting audio from, from a NAO robot or an Alpha 2 robot to another computer for off-robot speech recognition, that by itself is not going to change the world. It’s not going to be earth shattering. It’s not going to maintain my enthusiasm for very long. So I need to make progress on some of the other bits that will make the social robot project different from just wiring up a speech input and output to one of OpenAI’s models or LLAMA. There’s nothing wrong with wiring up robots to ChatGPT, it’s fun, but that’s not what I’m trying to achieve.
So this is a bit of a reset.
I’ve been aware that due to my lack of enthusiasm, I haven’t posted on the project for several months, so that needs to change. I need to get back to a more frequent updates, more actually doing work on the project, and hopefully in the next year or so we’ll see an improvement in achievements and volume of updates.
Comments powered by Disqus.