Robotic Arm

Demo

I stumbled across a robotic arm kit on aliexpress and thought it would be cool if I could devise a way to control it via a Raspberry Pi. I then populated my backlog with a few key requirements and started on the project.

  1. Build out the kit and add it to a solid base
  2. Control it via python, utilizing a keyboard
Base of Arm in 3D mold
Ready to cast concrete
Concrete poured
Assembly Hell
Tedious work continues
Cable sleeves added, initial calibration begins
Completed Arm

Honestly the physical assembly was the most challenging aspect of this build. This project consisted of a dual output power supply, a raspberry pi, a PWM controller, and a robotic arm kit. In regards to the software it was relatively straight forward development process to create a crude control scheme.

https://github.com/aejx00/robotic_arm

Once the initial servo calibration was completed, I validated the operation of each servo using the adafruit PWM control library. After, I mapped groups of servos to various keyboard inputs using Ncurses. The raw output you see in the demo corresponds to the servo positions at any given time.

Overall I would regard the project “semi-successful” as I completed all the deliverables I defined, however in hindsight I think would have taken a different approach, as there was a lot of room for improvement in the end.

Problems encountered:

  1. The concrete base was not heavy enough to act as a counter weight, I should have cast a larger block or secured it to a wooden board for more stability.
  2. The control scheme was too crude. I encountered a lot of jitter and “jumpiness” moving the arm which would cause it to topple over or bind when going out of bounds.
  3. The solution isn’t maintainable as it requires far too much fine tuning and the code quality is basically spaghetti. Instead of re-inventing the wheel I should have used the ROS framework and imported a manipulator package to control the arm. This would free up a lot of development time for me to build out more interesting use cases for the robot.

By:

Posted in:


Leave a Reply

Your email address will not be published.