Lego Robot

InstagramCapture_5d7b9f9a-5f85-4ac6-87aa-5cafbe142fb2Conceived as a step towards enabling interactive use of the architecture program’s new KUKA robot, the Lego robot was designed to mimic the proportions of the actual robot so that it could be used to test ideas and procedures at a small scale prior to implementing them at the scale of the actual industrial robot arm.  Additionally, if the Lego robot could be built such that it could record movements and positions imposed by hand, the actions recorded with the small robot could potentially be played back on the large robot.  This would be all the more interesting if it could be achieved in realtime, translating motion from small- to large-scale on-the-fly.

This project was not without precedent.  KUKA-specific software development firm OrangeApps, located in Germany, has developed a six-axis Lego robot that can be controlled using the KUKA KRC controller allowing KUKA KRL code to be executed against the Lego model.  Their design employs KUKA OfficeLite software, which simulates the KRC controller software on a PC, along with a custom plugin to control two Lego Mindstorms EV3 controllers, which in turn power six motors to drive the axes.  A seventh, smaller motor controls the gripper end-effector with which the robot is equipped.

The Lego robot pictured above was developed over the course of the initial month and a half of the Fall semester and represents the extent of its development to date.  Constructed from Dan’s personal collection, which consists primarily of a Lego Mindstorms NXT robotics set and three large Lego Technic sets, the robot implements all six axes but is not yet functional.  In order to keep the wrist construction compact, the design incorporates a custom, 3D-printed gear that facilitates the translation of rotation of the fifth and sixth axes across a single shaft that passes through the center of the fourth axis (see images below).

A few outstanding obstacles remain before the project can move from hardware to software development.

  • Since the Lego NXT controller can natively only control up to three motors, an alternative controller will have have to be used to drive the robot.  An Arduino-based solution will be implemented using the third-party Bricktronics Megashield.   The Arduino and add-on shield have been purchased and assembled, but have not yet been tested.
  • The current design is not well balanced and may require modification before the motors and gears will be able to handle the torque required to operate the second and third axes reliably.
  • Due to the need to amplify torque using gear differentials and due to the complex series of gears used to implement the wrist, backlash may become an issue resulting in reduced precision and stability.