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.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.