Robot tilts backwards when driving over uneven terrain
I have created a ROS package that implements the movement of the Pioneer3at robot on uneven terrain. The robot is controlled using SkidSteerDriveController. The problem is that the robot rears up and rolls over backward when going uphill, even if the incline is not great. I would be very happy if someone can help solve my problem, because I have been racking my brains over it for several months. I attach model.sdf file for terrain model.
Video showing the robot flip - link
URDF file of Pioneer3AT - link
<?xml version="1.0" ?>
<sdf version="1.6">
<model name="uneven_terrain">
<static>true</static>
<link name="link">
<collision name="collision">
<pose>0 80 -1580 0 0 0</pose>
<geometry>
<mesh>
<uri>model://uneven_terrain/meshes/odm_textured_model.obj</uri>
</mesh>
</geometry>
<surface>
<friction>
<ode>
<mu>100.000000</mu>
<mu2>50.000000</mu2>
</ode>
</friction>
</surface>
</collision>
<visual name="visual">
<pose>0 80 -1580 0 0 0</pose>
<geometry>
<mesh>
<uri>model://uneven_terrain/meshes/odm_textured_model.obj</uri>
</mesh>
</geometry>
</visual>
</link>
</model>
</sdf>
<?xml version="1.0" ?>