ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
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.