6DoF Robot Arm 0.9
My first almost complete 6-DoF robot arm is here…
It’s made up of…
- 4 Nema 17 stepper motors to control the base, shoulder and elbow
- 2 MX-28AR dynamixels to control the wrist
- 1 RC Servo with dynamixel interface to control the gripper
- 4 hypocyclodic gearboxes to gear down the steppers
- 1 bevel gear differential in the wrist
- 1 belt driven differential in the elbow
- 4 DM422 stepper drivers
- MesaNet 5i20 with 2 7I24TA break boards
- Linuxcnc to drive the arm.
- The reach is approximately 975mm. The design didn’t allow for precision arm segments.
On the todo list…
- Investigate metal gearboxes – the hypocyclodic design can be easily machined in 2½D, but it must be accurate
- Identify the source of the arm’s “springiness”
- Better control software to avoid singularities and programmable movement in joint mode.
- Improve cable management. Add slip rings to rotational joints. Add slip ring or similar to end effector quick connect.
Base
The base is driven by a nema 17 stepper motor. It turns a pulley (3:1 ratio) which turns the hypocylodic gearbox (9:1). This gives a 27:1 ratio.
Shoulder
The should has the same mechanics as the base – Nema 17 stepper, 3:1 pulley, 9:1 hypocyclodic gearbox, giving a 27:1 ratio.
Elbow
The elbow uses a belt driven differential joint. Differential joints normally use bevel gears (see the Wrist), but timing belts and pulleys were used to reduce backlash.
2 Nema 17 stepper motors drive pulleys (3:1 ratio) which drive hypocyclodic gearboxes (10:1) giving a 30:1 ratio. The stepper motors are mounted on the back side of shoulder to help offset the arm weight. This makes the drive belts long, but lightly loaded.
The upper arm is a square section carbon fibre tube. This is very light and rigid, but the inaccuracies in the assembly make it difficult to accurately calibrate the joint lengths.
Wrist
The wrist uses a bevel gear differential joint. The gears are driven by 2 Dynamixel MX-28AR servos – these are the aluminium (optional) RS-485 versions. The forearm is 3d printed in PLA. This wasn’t a good choice – when the belts are tensioned, the arms tend to deform. A stiffer plastic, or design, may be required.
Gripper
The gripper is an adaptive gripper that uses a quick change connector to easily change the end effectors. The adapative gripper has flexibility in the fingers – if an item is picked up by the tips of the fingers, the fingers stay straight. If a larger item is picked up adjacent to the palm of the gripper, the fingers will wrap around the item.
The gripper is driven by a small hobby servo which is controlled by custom DynamixelToServo board – it speaks dynamixel RS-485 protocol and controls the RC servo. The existing RC Servo control board is replaced with the DynamixelToServo board – the servo motor, and servo potentiometer are connected to the new board.
Pendant
This is my quick and dirty pendant to control the robot arm. It fits in an off-the-shelf enclosure, but the lid is 3D printed, allowing me to experiment with layouts before I machine the real lid. It is a USB HID device built with GenericHID.