Home | Tutorials | Wiki | Issues
Ask Your Question

Find out the maximum force of a joint

asked 2016-04-19 09:03:31 -0500

djou07 gravatar image


I want to know if there is a way fo find out the maximum force of a joint. The force that we should not exceed.

For example in human leg, if we apply a big external force to the knee, it will break. now how can i find the necessary force that will just make the leg move without breaking the knee.

I have a programme that generates robot morphologies randomly with different sizes, so I have to know the force to not exceed for each joint. I think this depend on weight, mass, inertia of each robot part.

I can not do this by trial and error because I have hundreds different morphologies.

This video shows the behaviour of robot if I apply a big force.

Thanks in advance!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2016-04-19 10:10:28 -0500

pcdangio gravatar image

updated 2016-04-19 10:12:25 -0500

Gazebo isn't really good at simulating when things deform or break. You wouldn't want to use Gazebo to find out how much force can be applied to a joint before it physically breaks... you'd want to use FEA for something like that.

Anyways, if you are just trying to make your leg dance without breaking it, probably the easiest solution is to write a for loop that systematically increases torque applied to the joint until the joint moves. There is a remaining problem though... a torque generates an angular acceleration. If there are no other torques acting on the joint (e.g. friction, damping, gravity on attached link, etc), the torque you apply will increase the angular speed of your joint either forever or until it reaches an axis limit that you set in the SDF.

What's your ultimate goal here? What are you looking to achieve with the torques you are applying to the joints?

edit flag offensive delete link more


yes Gazebo doesn't simulate breakage. What I mean is how to find enough force to make joint move without make robot jump and do random moves like in video.... I am doing robot evolution to generate different robot morphologies that can make complexe behaviours....So I want a realistic behaviour....For example : by evolution I make robots learn to walk the fastest way.... if there are ones that jump randomly I will indeed get robots that move fast but not realistic...

djou07 gravatar imagedjou07 ( 2016-04-19 14:32:27 -0500 )edit

Do the joints need to make controlled motions (e.g. to allow something like walking), or do you just need to make them move for the sake of moving? I'm assuming you want controlled motions... which in that case you will have to implement a PID controller for each joint to control it's position and/or speed. If so, take a look at the gazebo::physics::JointController class https://osrf-distributions.s3.amazonaws.com/gazebo/api/dev/classgazebo_1_1physics_1_1JointController.html.

pcdangio gravatar imagepcdangio ( 2016-04-19 20:48:43 -0500 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2016-04-19 09:03:31 -0500

Seen: 385 times

Last updated: Apr 19 '16