Robot can't turn with four motorized wheels
Hello everyone, I'm a teacher in a computer science school and students have to work on an application to control a Wifibot v3 robot (https://www.wifibot.com/). To help them work at home, I want to create a model of this robot in gazebo.
I've made a first version of the robot that integrates enough functionnalities. However, I got an issue when trying to make the robot turn.
The robot has four wheels and each wheel is motorized. When I try to implement it in Gazebo, the robot can't turn or just shake depending on parameters tuning.
A workaround I've found is to remove motorization on two wheels, the robot can turn but it doesn't follow the robot structure.
This is a simplified sdf model : C:\fakepath\model_simplified.sdf.
The plugin has several functionnalities, the code that manages the wheel movement is this one :
void WifibotPlugin::SetMove(int vl, int vr)
{
this->pid = common::PID(0.5, 0.9, 0);
SetSpeed(this->roue_fl, vl);
// SetSpeed(this->roue_bl, vl);
SetSpeed(this->roue_fr, vr);
// SetSpeed(this->roue_bl, vr);
}