ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

This may or may not help, but when I was building my robot's simulator, I used my real robot as the model. I calculated my real robot's speed and did my best to match it in Gazebo. I tuned the real robot such that a cmd_vel message of 1.2m/s ahead would result in exactly 1.2m/s. I then did the same in Gazebo. I set the cmd_vel to 1.2m/s and measured Gazebo's result. If the wheels were slipping too much, I would adjust the constants in the simulator.

<kp> and <kd> are basically the "solidness" of your model. As such, you want <kp> to be very high and <kd> to be low (I use a value of 1). As for <mu1> and <mu2>, I determined those by using the method that I mentioned above. (Mine came out to be mu1 = 200 and mu2 = 100 for my large robot). I tuned torque in the same way.

The only one that I can't help you with is the inertia of the wheels. I used my SolidWorks model of the robot to automatically calculate the mass-moments of inertia for each wheel. See this question for help.