When I set the collision position, I set the relative position. The collision effect is in line with the expected position, but the collision geometry is not in the expected position. As shown in the figure below, the sphere collision geometry is in the middle, but the collision effect is on the left and right wheels.
<link name="LeftCapstanWheelLink">
<inertial auto="true" />
<collision name="LeftCapstanWheelLinkCollision">
<density>1000</density>
<pose frame="LeftCapstanWheelJoint">0 0 0 1.57 0 0</pose>
<geometry>
<sphere>
<radius>0.34</radius>
</sphere>
</geometry>
<surface>
<friction>
<ode>
<mu>10</mu>
<mu2>10</mu2>
<slip1>0.0</slip1>
<slip2>0.0</slip2>
</ode>
</friction>
<contact>
<ode>
<min_depth>0.001</min_depth>
</ode>
</contact>
</surface>
</collision>
<visual name="LeftCapstanWheelLinkVisual">
<pose frame="LeftCapstanWheelJoint">0.09 -0.03 0.36 0 0 -1.5708"</pose>
<geometry>
<mesh>
<scale>0.001 0.001 0.001</scale>
<uri>model://robot/forklift/meshes/FrontWheel.stl</uri>
</mesh>
</geometry>
<material>
<ambient>0.5 0.5 0.5 1</ambient>
<diffuse>0.5 0.5 0.5 1</diffuse>
<specular>0.1 0.1 0.1 1</specular>
</material>
</visual>
</link>
<joint name="LeftCapstanWheelJoint" type="revolute">
<parent>BodyLink</parent>
<child>LeftCapstanWheelLink</child>
<pose frame="BodyLink">0 0.545 0.34 0 0 0"</pose>
<axis>
<xyz>0 1 0</xyz>
<dynamics>
<friction>10</friction>
</dynamics>
<use_parent_model_frame>1</use_parent_model_frame>
</axis>
</joint>