Link friction properties not applied from URDF to Gazebo
Hey all, new Gazebo user here struggling to learn. I am building a hexapod robot URDF model, where friction at the end of the legs is critical to it walking properly. So far my model is linked with my ROS code and I can control the leg joints to cause a walking motion in the robot. When I command it to stand up, the robot does indeed stand up in Gazebo, so I believe my collision model is interacting with the ground. However, when I command the robot to walk, the body mostly stays in place and the feet completely slip across the floor. This is the big challenge I am trying to fix.
I believe increasing the friction in the last link of the legs may help. However, no matter how I update the URDF file, the friction coefficients do not seem to deviate from unity when I run Gazebo. Does anybody know what secret sauce I am missing to allow me to change the link friction? Once the friction is fixed, are there other things that I need to worry about to get my robot walking in the simulation? I have added my URDF files below to reference.
C:\fakepath\wanda.urdf.xacro.model
C:\fakepath\legs.urdf.xacro.model
C:\fakepath\leg_macro.urdf.xacro.model
C:\fakepath\leg_macro.gazebo.xacro.model
Asked by 9Volts2Ground on 2023-03-01 01:30:37 UTC
Answers
The best way to debug this is to generate the URDF from the xacro files and then using gz sdf -p <input urdf file>
to convert the URDF to SDF. From looking at the xacro files, I suspect that the URDF->SDF conversion is misbehaving because your <collision>
tags have names (see https://github.com/gazebosim/sdformat/issues/333). Removing the names is the first thing I'd try.
Asked by azeey on 2023-03-01 15:44:40 UTC
Comments