Cable Robot

Using low cost parts to construct a cable robot with incredible capabilities.

Public Chat
Similar projects worth following
Cable robots offer some pretty awesome capabilities and haven't been widely explored by hobbyist. The cool thing is that you can have a very large work envelope with very little inertia. I initially put this concept together as I was trying to figure out a way to monitor, feed, spray, and water large areas of plants.

Life got busy and the cable robot project got neglected for a while. When I saw the hackaday 2019 contest, I thought that this is the perfect opportunity to share what I have learned, and see if I can generate some excitement about the project. I learned ALOT and there are some very key things that are worth reading through in this project if you are interested and exploring it on your own.

I am looking for folks that are interested in work on the next step and would like to collaborate on the project.

Here is a video of the cable robot stacking some beer cans in my basement.

The cable robot is running G-code that tells it the location of the pickup, and then it goes and builds that stack of cans that was pre-programmed into the robot. The cool thing here is that you can get an idea of the repeat-ability of the robot and control. There are three cable hoists actuators that are controlled using EMC2 software. 

Here is an early video showing the actuators up close. 

A couple of key take away's from the initial development.

* Stepper motors are awesome, I love stepper motors. The one thing to remember is that the torque drops off as a function of speed and does so pretty quickly. I geared the hoists for more torque, to be able to lift heavier objects. By gearing down that requires that motors to run faster, and running faster means they have less torque. So did I really gain anything with my gearing selection, I don't know.

* Run high voltages on the steppers, I started off with 12VDC then swapped to 36VDC. Higher voltages allows for higher speeds.

* I used my own drivers, based on the SLA7078 chipset. These are cheap ways to drive stepper motors but if I were to continue to use stepper motors I would choose a driver than can change micro stepping on the fly. Faster moves would be nice to do half step or full stepping.  

* I think this a good application for servos, my goal is to use servos on the next generation. The problem is interfacing the servos to EMC2 software is more difficult than using steppers.

* The point where the three cables come together is very important. You can put a big triangular rigid structure in there because then it will want to rotate. The points all have to come together as one for the solution to work out. I used a neat technique to provide stability that I will share in another post. 

* The top of the envelope has alot of unusable space. It is all about the angles of the cables, they have to have sufficient angle to be able to work decent. Also the edges of the envelope don't work well either. 

* The actuator design is key to only allow one wrap on the drum to be able to keep track of the distance. 

The actuator design is essential for good control of the robot. You need to ensure that you get only one wrap of cable on the drum to maintain accuracy. Here are some details regarding the actuators.

I used a green rubber band so that it is more visable. The white piece slides along the two aluminum shafts and wraps the cable evenly on the copper drum. I plan on doing a design with some 3D printed parts to simply the design. The distance per revolution becomes a thinker, it is one revolution of the drum + the distance traveled by the wrapping mechanism. All of the shafts are sequenced using a chain drive. I would recommend using GT2 timing belt since it is so readily available and GT2 timing pulleys. 

Lastly one of the key things that I have not seen done elsewhere is wrapping two cables on the drum at the the same time. What this allows is to have 6 cables go down to the actuator to allow for stability.  Otherwise I found that any payload swings like crazy. 

  • Kinematics

    Tom5 days ago 1 comment

    One of the key components of the cable robot is understanding the forward and inverse kinematics. Lucky for us there a great resource out there that already exists. For this robot I used emc2 which I use to control my CNC Mill and CNC router.  That can be found at the following location -> EMC2 (now linuxcnc). Typically that software is used to control mills and lathes that are orthogonal in nature, XYZ style setups. However if you dig into it you find out that it supports different kinematics such as a cable robot. The real beauty resides in this file called tripodkins.c. If you want to make your head hurt a little you can try to derive it out, kind of fun.

View project log

Enjoy this project?



Daren Schwenke wrote 4 days ago point

Put it all on the head instead, and that vertical cable routing is what I designed for as well.  I have since had some second thoughts on this, so I've been sitting on it..  #Arcus-3D-E1 - Elephant Printer 

Also, take a look at Machinekit.  It's a fork of LinuxCNC, but adds Arm processor support, better buffering, more modern real-time kernels, lower CPU usage, and support for PRU and FPGA based step generation at extremely high rates.

  Are you sure? yes | no

Carl Mueller wrote 5 days ago point

If you go to a servo, you should consider servoing based on the amount of line that moves rather than on the motor rotation.  That way, it does not matter as much how the line builds up on the spool.  There is a servo-stepper controller known as mechaduino (as well as a clone by Bigtreetech) that may be easy to use in this way.  The feedback is based on a Hall sensor.  If you put the sensor & magnet on a line idler pulley, you get the feedback I'm talking about.

  Are you sure? yes | no

Jerry Biehler wrote 5 days ago point

This guy has a PCI card that works with LinuxCNC that will run Mitsubishi SSCNET servo drives:

  Are you sure? yes | no

Andy Pugh wrote 5 days ago point

LinuxCNC was recently used to control the cable robot that flew the fireball at the 2019 Universiade.

Servo motors are not _that_ much harder to drive with LinuxCNC than steppers. There are several step/dir controlled servo drivers out there (Gecko have one) or there is the STMBL if you can face self-assembly.

  Are you sure? yes | no

Tom wrote 5 days ago point

That fire ball was pretty awesome. I researched and saw those Gecko drives after you mentioned it, that is a neat option, and allows me to maintain the same interface. It would be interesting to see what kind of travel speeds I could get out of it. Thanks for the link to the video!

  Are you sure? yes | no

jerigonzacl wrote 6 days ago point

Hi Tom, ver nice Project, I'm looking forward for your next step end willing to build one myself.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates