MeArm - Pocket Sized Robot Arm
Cheap, Small, Open Source Servo Controlled Robot Arm.
- An open source robot arm kit.
- Easy to assemble.
- Laser cut acrylic parts in your choice of 3 colors.
- Hobby servos.
- The robot arm you always wanted!
Also available - MeArm Deluxe Kit (Blue) with Brains board and Joystick controller.
Ever since I first watched the opening scenes of Short Circuit I have wanted a robot arm, and now thanks to the MeArm kit I have one. Albeit a much smaller model than I had originally envisioned, this kit gives you the basics to get started in simple hobby robotics.
The kit comes as a collection of laser cut parts, 4 hobby servos, and all the fixings needed for assembly. The bot has a reach of about 20cm, and Z-axis mobility of about 170 degrees.
Assembly is easy enough; I made a few mistakes and had to restart a couple of times, but the kit is very forgiving and stands up to being disassembled and reassembled over and over. The process took about an hour, with perhaps another half hour of tweaks to get it moving just right.
After assembly you then need to decide how you are going to control your robot arm. The makers provide a simple Arduino sketch which will drive the robot using individual servo controls or what's known as Inverse Kinematics (IK) which is where the real fun starts. IK lets you specify where you want the head of the arm to be placed, and it works out all the movements needed to get it there. This makes it much easier to control than if you were trying to work out each motor movement yourself.
Of course we never do things the easy way, so I opted to try writing my own control code using a Spark Core. Isn't making the thing into a wireless, Internet-connected death-bot the obvious next step?
It was pretty easy to port the inverse kinematics code from the Arduino sketch, but I still found my servo movement to not be as smooth as I would have liked. The problem with servos is that when you tell them to move to a specific position you can't really set the speed at which they move. They just try to get there as fast as possible. This results in massive jerky movement. One solution is to make lots of small movements over time to get a nice smooth motion. If you want things really smooth you should implement a motion profile that will allow you to accelerate and decelerate in a smooth manner over the duration of the move.
I really love the TinyG 6-axis motion control system and use it regularly on my CNC. So I took a look at the TinyG firmware and ported the motion planning code they use to the SparkCore allowing me to have full S-Curve style motion profiles applied to the movements of my robotic arm. This took a fair bit of work, but I've published the results on our Github account so you can try it too.
As you can see, this isn't just a little desktop toy. Working out your own control hardware takes a bit of time and effort -- but this is a lot of fun and the rewards are huge. I learned more about servo movement and now have a good understanding of how inverse kinematics and motion profiles work. Of course you don't have to dive so deep. There are a huge number of things you can do with just the basic Arduino sketch, but it's totally worth exploring how far you can take this kit.
- 4 hobby servos giving 3 DOF and gripper.
- Easy to assemble.
- Laser cut parts.
- 20cm reach.
- 4x Hobby Servos.
- 1x Set of laser cut acrylic parts.
- 1x Servo extension cable.
- 4x Rubber feet.
- A small screwdriver.
- A microcontroller to drive the servos.
The kit is tested before it leaves the factory, but please keep in mind that the kit is still experimental, unproven hardware. This hardware is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.