Cable driven parallel robot modal analysis

  • Last Post 28 March 2019
hamderson posted this 26 February 2019



I am a Ansys beginner so will be asking a lot of questions. I am about to undertake a modal analysis of a cable driven parallel robot, in particular a CDPR that is similar in structure to that of the Skycam. Skycam is the robot that films sporting events such as football games. The robot consists of four cables which are attached to a centre point (end effector) which would hold the camera. The end effector is suspended below the cables which are fixed above. A quick google search will familiarise you with the structure. I am firstly interested in finding the mode shapes and frequencies of a cable and then the whole structure. Any advice at all on how to approach the task is appreciated. 


My first thoughts are to create a cable model using LINK180 elements and follow the steps outlined in this video to hopefully gain the modes of the cable.



Order By: Standard | Newest | Votes
peteroznewman posted this 27 February 2019


I suggest you make a few simple models, like the example in the video, to compare LINK180 with Beam elements to see if they deliver similar results.

Regards, Peter

hamderson posted this 13 March 2019

Hi Peter,

I have made a line body model of an inclined cable made of smaller beam elements. I then successfully completed a modal analysis, it was much like a guitar string. However I am now unsure how to create a more realistic model, I have tried to implement Link180 elements so that gravity and hence sagging can be introduced but I have had no luck. I will post my file so you can have a look.

Any recommendations on how to complete a more thorough analysis is welcomed.



Attached Files

hamderson posted this 13 March 2019

sorry I am not sure if I can upload the model files, let me know what you need.

peteroznewman posted this 13 March 2019

In Workbench, File > Archive and save a .wbpz file. This incorporates the whole project in one file.  If the file is < 120 MB you can attach it after you post a reply (the Attach button shows up after you post).  If I send you back a .wbpz file, you open it by using File > Restore Archive.

hamderson posted this 13 March 2019

I will attach the files tomorrow.



hamderson posted this 14 March 2019

Here is the file.

Attached Files

hamderson posted this 14 March 2019

I tried to use this code to implement link180 elements,


et, matid, 180

*get, area, secp, matid, prop, area

sectype, matid, link

secdata, area

seccontrol,, 1 ! Tension only


But then errors regarding constraints appeared. The error stated within the structural solution had a small pivot error and something regarding insufficient constraints in the UZ plane, not sure how to overcome this. I thought i had fully constrained due to the two fixed supports. 


I have viewed this post; 

and tried to implement what you and jason have mentioned but with no luck sadly. My overall objective is to complete modal analysis on a sagging cable, although a linear spring model might suffice. Any help greatly appreciated!

peteroznewman posted this 15 March 2019

I created a coordinate system where the X axis was along the cable length, and used that in the Displacement BC and left X Free. Then the Force was able to apply some tension to the cable. You now get some natural frequencies around 1 Hz.

Another idea is both ends can be Fixed, but delete the Force and use a Bolt Pretension on the line body.

Also, under View, uncheck Thick Shells and Beams.

Finally, review this discussion on hanging cables.

Attached Files

hamderson posted this 19 March 2019

Hi Peter, 

Sorry I am using workbench 18.1 and cannot open your file, thanks for the help though. I'm having trouble re-creating what you have described. I have, 

1. Created a coordinate system with x axis along cable length. 

2. fixed support on one end of the cable. 

3. displacement supported the opposite end leaving X coordinate free. 

4. applied a force at the displacement supported end. 

I have also checked, 

Direct solver, large deflections, initial timestep set to 100 max 1000, applied standard gravity on the body. 

I am still receiving a solver pivot error in the UZ degree of freedom. 


peteroznewman posted this 19 March 2019

In step 3, did you change the displacement definition to use the newly created coordinate system?

hamderson posted this 19 March 2019

I seemed to have found a solution, I am not sure if I have done it correctly though. I have attached my files if you would take a look at them id greatly appreciate it.

I am having trouble understanding how the constraints are working within the model. Why does the displacement constraint which is fixed in the x and y directions allow the body to then vibrate in the x and y directions? I have set the displacement constraint all along the body because when I try to apply it to just one vertex I get errors.


Attached Files

hamderson posted this 19 March 2019

I have realised that in the file above I did not assign the displacement constraint to the new coordinate system, I have no done this but I receive errors.


peteroznewman posted this 20 March 2019

I suppressed your APDL command snippet, fixed the displacement to use the correct coordinate frame, increased the tension force by a factor of 100 and broke the anaysis into two steps. It now converges.

ANSYS 18.1 archive is attached.

Attached Files

hamderson posted this 20 March 2019

Ok thanks. My actual load on the cables will be a lot smaller than 4000N, I have calculated it to be around 150N. This does not work as the solution does not converge, do you have any recommendations that may be able to help with this?

Cheers Peter

peteroznewman posted this 20 March 2019

I was able to get the tension down to 360 N.  Below that, the solution became unstable and would not converge.

I recommend you recreate this model with the initial cable along the X-axis. Create a new coordinate system in the XY plane with the X-axis pointed in the direction you want gravity to be pulling the cable. Use this coordinate system to define gravity. The benefit of this configuration is that you could easily apply a Z=0 displacement constraint on all the nodes. That might help stabilize the model as the tension is lowered to 150 N.

Attached Files

jj77 posted this 20 March 2019

The best way to analysis this is as shown below by using a prestress equal to 150N/Area.

Just insert the commands shown below, on your last attached model hamderson (posted 18 hrs ago) and it is OK.

(Also delete the force, and displacement - the only BC needed are fixed supports at both ends, and gravity as load). 


These additional commands add the pretension 150N you need.

On another point the cable is very long (100 m over), and hence large deflections are observed with 150 N.



The additional commands are for clarity

inistate,set,mat,matid ! selects only links with this matid     
INISTATE,DEFINE,,,,,stress     ! STRESS VALUE (change)



  • Liked by
  • peteroznewman
peteroznewman posted this 20 March 2019

Thanks jj77, I pointed to the hanging cable model in a post 5 days ago.

  • Liked by
  • jj77
jj77 posted this 20 March 2019

No worries, glad to be able to help, even a small bit - yes I think a saw that, but perhaps every case/cable is different .

hamderson posted this 21 March 2019

Thank you both for your help. I have followed your advice for the cable model and I am happy with my results.

I have now tried to construct the whole cable driven robot (CDPR) which is made from four cables which attach to a small centre platform. The cables are very long as this is meant to model Skycam, which Is used in sports broadcasting. I would like to carry out modal analysis just like the cable model. I have tried to implement everything you guys suggested for the cable model but It is not working.

Again, the model is not converging, any help is greatly appreciated.



Attached Files

jj77 posted this 21 March 2019

One can not use a rigid body with beams/cable element, this is not a recommended practice, at least in structural analysis.


So, make it flexible (surface body), and then merge nodes (node merge group) at the 4 corners of the plate with cables/trusses (lines). Also adding random displacements is not the best way forward, at least in the long run, it is better to take a FE basic course, and understand the different type of elements and how they can be combined - this would really benefit you should you need to do FEA in the future - there is one free FEA/ansys course on the site, which I would recommend.

(Normally if you only care about the mass of the equipment, you will just connect all cables, and add a point mass at the common point where the equipment is to account for the non structural mass.)

See below how the merge is done.

  • Liked by
  • hamderson
peteroznewman posted this 23 March 2019

hamderson posted this 28 March 2019

Hello again,

Just wondering how I can now apply an axial force solution, I keep getting the error The result data for BEAM_AXIAL_F is not contained in the result file.

I will attach my files, the project in question is " static structural steel".



Attached Files