Parallel Cable Robot
ME102B (Mechatronics) is a favorite among Mechanical Engineering students at UC Berkeley. It's a chance to dive deep into a project of your choice and work closely with a group all semester to build it. My group has decided to build a small-scale parallel cable robot in order to showcase its applications in a large-scale pick and place environment.
The term "parallel" is not meant geometrically, but instead refers to multiple cables working together to move an effector in space. Effectors of cable robots can have up to 6 degrees of freedom.
In the spirit of the parallel cable robot's robust, adaptable design, its frame is constructed from 25-series Aluminum T-slot extrusion, graciously provided to us at a discount by 80/20, Inc. It measures 800mm in all dimensions – roughly as large as possible while still fitting through ADA-accessible doorways. T-slots allow us to mount our winches and other components anywhere along the frame members, thereby affording us significant design flexibility.
We plan to demonstrate our cable robot by picking and placing dominos in a predetermined pattern, then knocking them down. An electromagnet is used to pick up and release magnetic dominos, and a hobby-style servo, onto which the electromagnet is attached, allows for 180º of rotation about the Z-axis of the work volume (a greater range than would be achievable with cable-controlled rotation).
In order to achieve precise control of the effector, precise control of the cables is necessary. The rotation of the cable spool is mechanically linked to the translation of a cable guide and pulley system, ensuring that cable is always retracted and paid out in a predicable manner. Our winches feature stepper motors and rotary encoders to enable closed-loop control of the system. A PCBA and cooling fan are housed in an integrated enclosure, making each winch plug-and-play with the motion control system.
Our parallel cable robot features custom integration of off-the-shelf microcontrollers. The motion controller runs on a Raspberry Pi, which is connected to a custom distribution board, delivering power and digital I/O to and from each winch. On board each winch, another custom board combines an off-the-shelf stepper driver with an Arduino Nano to command the motor and read the encoder. The winch boards communicate with the Raspberry Pi – through the distribution board – over SPI, allowing the motion controller to poll the winches at any time.
the motion controller
Excellent mechanical design is nearly useless without matching software. Our motion controller reads industry-standard G-Code and uses inverse kinematics to solve for cable length changes to complete each movement. It then discretizes each cable's motion into steps before sending signals to control each winch.