Arduino Robotic Arm
Key Tech: 3D-printing, Accelerometers, Gyroscopes, Arduino UNO, I2C, Servo Motors
Note: School Project, 2023.
Project Goal:
In this open-ended lab project prompting us to step into mechatronics, my lab partner and I decided to construct a system that acquires data of the user's arm position and mimic it on a miniature robotic arm.
What It Does:
In the end, we constructed and demonstrated a 2-axis robotic arm that was controlled via a gyroscope (GY-521) & accelerometer (GY-511). A hall-effect sensor and magnetic finger were also added to detect grabbing.
How It Works:
The arm works by detecting the pitch of the user’s arm to either raise or lower the “forearm” and measures the yaw acceleration of the operator’s arm to move the base of the robotic arm left and right once a certain threshold is passed.
Using a hall-effect sensor attached to the operator’s thumb and a magnet on their index finger, if a pinching motion is performed and the magnet touches the hall-effect, a threshold of the measured magnetic field is surpassed and the signal to a claw would be sent to close it. Removing the magnet would signal for the claw to be opened.
The accelerometer and gyroscope communicate with the Arduino UNO over I2C and the servo motors are controlled via PWM.
Problems Encountered and Overcome:
Positional vs Continuous Servo Motors
Our goal with the project was to have the arm be 3-axis and mimic the exact movements of the user's arm in real-time.
During the assembly of our system, we discovered that the wrong type of servo motor had been purchased and didn't allow us to operate with precise movements as desired.
Upon testing the movement of the servos, we observed them to overshoot the expected position and seem to be continuously spinning, bringing us to discover the difference between positional servos which allow you to specify the exact degree you want to move to vs. continuous servo motors which just have “on” and “off” states for spinning.
We tried to overcome this by altering the pulse widths, PWM frequency, and using delays but we could not get close to our desired precision.
To overcome this obstacle while sticking to our timeline and parts purchased, we pivoted from mimicking arm movement in real-time to being more control-oriented having the motion sensors instead measure absolute pitch and yaw acceleration, limiting the the arm to 2-axis movement.
Soft Claw Attempt
Another goal we had with the project was to incorporate a soft claw powered by air pumps to grab objects.
The first issue we encountered was regarding sealing. Casting the claw in two parts, we needed to adhere the sides together and after attempting to do so, the seal didn't hold well and there was a lot of air leakage. Secondly, we had trouble sealing the air tube to the silicone as air kept leaking out around the hot-glue sealed inlet.
The second problem we faced was in designing the mould to a set pressure. Wall thicknesses and cavity sizes were designed based on best guesses as we did not have a model of the claw to prototype with in simulation software such as SoRoSim.
Due to these issues and as this was more of a side add-on to our main goal, we decided it was not worth continuing development on the claw.
Claw Goal
SolidWorks Casting Model
Casting Attempt
Example of a MATLAB SoRoSim simulation we would've liked to run to get an idea of how our claw would've behaved prior to casting.