ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Problems with robot modeling in model.sdf

asked 2013-01-03 17:56:38 -0500

nordegren gravatar image

updated 2014-01-28 17:14:43 -0500

ngrennan gravatar image

Hello I am somewhat new to Gazebo

I have modelled a biped humanoid about 5+ feet tall in standard sdf format required for gazebo. The robot consists of simple boxes for links for collision/visual and I have assigned the joints so i can connect these links together.

There are no errors with the model nor the actual XML description. however, i have the following issues. There is no way to set the joints so they are stiff (especially at the hips and knees level). When i let the robot stand it collapses to the ground shortly after due to wobbling.

i have set "effort" "friction" "damping' values to keep the robot from collapsing but its been useless.

I have seen the DRC robot's model.sdf but there's is it does not help.

Is there a way to keep the robot from collapsing?

Any help is greatly appreciated. Thank you for your time

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2013-01-03 23:00:16 -0500

updated 2013-01-03 23:03:51 -0500

It appears the joints of your robot do not have controllers that apply torques/efforts to them. You could write your own plugin for applying such forces (see this gazebo tutorial). A simpler option is the use of existing controller plugins, similar to how it is done on the drc robot. That model is a URDF model however, so I am not totally sure you can apply things to your pure SDF. The simplest option is to use per joint position PID controllers as it is done in the atlas_position_controllers.launch launch file. This gives you one '/[joint_controller_name]/command' topic per joint that listens to std_msgs/Float64 position commands. Another option is the use of of whole body trajectory action controller as it is currently done in the default atlas.launch file, which in turn includes atlas_bringup.launch.

It's recommended you have a look at the drcsim tutorials, those show some basics of how a robot like yours can be controlled (no fancy walking or whole body control available though, all drc teams are busy working on that ;) ).

edit flag offensive delete link more

answered 2013-01-06 12:47:31 -0500

nordegren gravatar image

Dear Stefan Thank you for your feedback.

You are right about the model not having a controller applied (not yet). That was a suspicion of why the robot could not maintain its standing position but I was not sure.

I used a "Webots mentality" when making my model; where in Webots all you have to do is set a certain amount of torque to the servos and the robot will remain standing against the pull of gravity. I thought I could do the same with Gazebo.

By the way I tried to use the DRC's Robot model.sdf script as template but Gazebo gave me errors. As you pointed out the script is a URDF model and I suspect this is the reason behind the errors. My robot model is "pure sdf" format.

I will try to apply the examples you have advised. Thank you very much for your help. have a great day

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2013-01-03 17:56:38 -0500

Seen: 936 times

Last updated: Jan 06 '13