I wanted to explore direct muscle control of physical platform - it's quite a different feeling when motors speed depends on how hard you squeeze fingers. With two channels, each controlled by corresponding hand, you can make it move straight or rotate in any direction
For better visualization sensors are placed on the upper part of the arm - making it clear what it is, but in fact that makes control less convenient: with such placement sensors react on both flexing and extending fingers. For actual experiments I've placed sensors on the bottom part of the arm so it reacts mostly on middle finger squeezing, making control more intuitive.
Overall this control approach is quite interesting - it takes some minutes for brain to adjust to the fact that now fingers are acting like motors, and to establish a correct intuitive sensitivity feeling, but when such link is formed - you can make it move in the exact intended way. I imagine it would be more intuitive with some on-board camera and FPV glasses - because when looking on it from the side, left and right directions are visually swapped depending on robot orientation - but I didn't have the necessary stuff at hand.
Schematics of this project is based on a dedicated PCB for a robot I made for a different case, using rather specialized motor driver, so I'm not adding it. But the general idea is very simple: there is nRF24 module for receiving EMG data, two motor drivers connected to pins D2, D3 and A0, A1 (pwm control is generated in code), and completely optional ws2812 LEDs for indication connected to pin D7.
That's about it - this project is more of an exploration into direct control of stuff using muscle signals (and not in a typical on/off way as I saw in some projects earlier, but with proper effort-proportional response). But if you are interested into replicating it - or rather making something different with a similar control approach (because as a complete project I don't really think it deserves that much of attention) - feel free to discuss it on a Discord server dedicated to this type of stuff: https://discord.gg/dEmCPBzv9G
Comments