I am missing the tip of my right pinky, and I heard about the robotic sixth fingers being made by others (https://pubmed.ncbi.nlm.nih.gov/35008079/,https://www.daniclodedesign.com/howdoourbrainsadapttocontrolanextrabodypart). Naturally, I was very interested in this work. Being a computer science major, I did not want to use a button input and instead want to sense when to grip. Given the budget of the course, I opted for camera sensing.
Given the constraint of the PocketBeagle's low computation power and the high resolution of the camera (720p), I figured the best way to approach object detection was not to use machine learning. I instead put yellow tape on a finger and checked where in the camera's view it was.
To assemble:
Follow the assembly at https://www.hackster.io/pkim7035/6-finger-augmentation-with-pocketbeagle-d0ea5d. Huge thank you to Paul Kim for paving the way.
However, before threading saw off the finger while preserving the threading holes. It should look something like this:
I implore the reader to find a less barbaric solution.
I then taped the finger on top of a servo with a wheel as pictured (imagine there's tape):
I once again implore the reader to find a less barbaric solution, as I personally cannot CAD for my life.
I then taped a stick under my hand and taped the servo to it. This was not pretty. Once again, I implore the reader to find a less barbaric solution. I would recommend designing a mount for the finger.
I attached the camera to my forearm with tape such that it could see my whole hand if my palm was pointed at me and perpendicular to my forearm.
Servo Wiring:
Rotation servo (the one under the finger):
Brown P1_22
Red P1_24
Orange P1_36
Curl Servo (the one with the fishing line):
Orange P2_1
Red P2_13
Brown P2_15
Camera:
Used 4 Pin USB breakout starting at P1_7 and going until P1_13
No soldering required :)
Coding requirements installation:
Must use Python3
sudo apt-get install python3-numpy
sudo apt-get install python3-opencv
Note:
To calibrate for your camera, change X_INIT, X_WIDTH, Y_INIT, and Y_WIDTH to better estimate where you want to look for your indication color (mine was yellow).
Credits:
Huge credit to Paul Kim for paving the way.
Further Work:
Design Mounts for Servos and Camera
Comments
Please log in or sign up to comment.