Issue using Skid Steer Plugin, specifically when rotating
Hi, the robot I am trying to simulate is a 4 Wheel Differential drive (skid-steer) robot called the Monsterborg. I have used the Skid Steering Drive plugin from the website http://gazebosim.org/tutorials?tut=ro... and made the modifications to suit the Monsterborg. When sending a Twist message through cmd_vel
to drive in a straight line the robot does exactly that and there are no problems. The real problem occurs when I send a Twist message for pure angular rotation around the z-axis. The robot moves extremely slow no matter the value I set (I assume it is in rad/s). What seems to be the issue? I will attach the URDF file in case there might be issues in the frictions values (but I don't think friction is the issue because when I send velocity commands to each of the controllers the robot moves the way its supposed to move). I am considering using the equations the developers have used in the gazebo_ros_skid_steer_drive.cpp to then send individual velocity commands to the joint controllers, however I will lose the odometry information publications but its a sacrifice I am willing to make.
<robot name="monsterborg">
<link name="base_link">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<box size="0.16 0.14 0.05"/>
</geometry>
<material name="white">
<color rgba="1 1 1 1"/>
</material>
</visual>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="3"/>
<inertia ixx="0.007025" ixy="0" ixz="0"
iyy="0.005525" iyz="0" izz=" 0.0113"/>
</inertial>
<collision>
<origin xyz="0 0 0 " rpy="0 0 0"/>
<geometry>
<box size=" 0.16 0.14 0.05"/>
</geometry>
</collision>
</link>
<gazebo reference="base_link">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/White</material>
</gazebo>
<link name="lb_wheel">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<cylinder radius="0.0525" length="0.05"/>
</geometry>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</visual>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="0.104"/>
<inertia ixx="9.332916666666665e-05" ixy="0" ixz="0"
iyy="9.332916666666665e-05" iyz="0" izz="0.00014332499999999997"/>
</inertial>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<cylinder radius="0.0525" length="0.05"/>
</geometry>
</collision>
</link>
<gazebo reference="lb_wheel">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>1.0</mu1>
<mu2>1.0</mu2>
<material>Gazebo/Black</material>
</gazebo>
<!-- If a <gazebo> element is used without a reference="" property,
it is assumed the <gazebo> element is for the whole robot model. -->
<gazebo>
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
<robotNamespace>/monsterborg</robotNamespace>
</plugin>
</gazebo>
<joint name="base_to_lb_wheel" type="continuous">
<origin xyz="-0.065 0.0935 0" rpy="-1.5708 0 0"/>
<parent link="base_link"/>
<child link="lb_wheel"/>
<axis xyz="0 0 1"/>
<limit effort="10" velocity="100"/>
<joint_properties damping="0.0" friction="0.0"/>
</joint>
<transmission name="tran1">
<type>transmission_interface/SimpleTransmission</type>
<joint name ...