robot will explode after adding effort_controllers/JointVelocityController in the transmission
Dear Community ,
I'm using ros kinetic with ubuntu 16.04 with Evarobot URDF file available on https://github.com/inomuh/uplat
I tried to update the model adding transmission tags to control the differential drive for the navigation stack, though I'm confused if i should use (EffortJointInterface or VelocityJointEnterface).
After using effort_controllers/JointVelocityController the robot will explode specially the wheel part.
URDF file with transmission tags:-
<!-- LEFT WHEEL -->
<link name="left_wheel_link">
<collision>
<origin rpy="1.57075 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.035" radius="0.085"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 1.57079632679" xyz="0 0 0"/>
<geometry>
<mesh filename="package://evarobotmodel_description/meshes/rim.dae" scale="1 1 1"/>
</geometry>
<material name="Grey"/>
</visual>
<inertial>
<origin rpy="1.57075 0 0" xyz="0 0 0"/>
<mass value="0.85"/>
<inertia
ixx="0.001" ixy="0" ixz="0"
iyy="0.001" iyz="0"
izz="0.001"/>
</inertial>
</link>
<gazebo reference="left_wheel_link">
<material>Gazebo/Grey</material>
<mu1>1.0</mu1>
<mu2>1.0</mu2>
<kp>1000000.0</kp>
<kd>100.0</kd>
<minDepth>0.001</minDepth>
<maxVel>1.0</maxVel>
</gazebo>
<joint name="left_wheel_joint" type="continuous">
<axis xyz="0 1 0"/>
<parent link="base_link"/>
<child link="left_wheel_link"/>
<origin rpy="0 0 0" xyz="0 0.16 -0.119"/>
</joint>
<link name="left_wheeltire_link">
<collision>
<origin rpy="1.57075 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.001" radius="0.001"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 1.57079632679" xyz="0 0 0"/>
<geometry>
<mesh filename="package://evarobotmodel_description/meshes/tire.dae"/>
</geometry>
</visual>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="0.001"/>
<inertia
ixx="0.001" ixy="0" ixz="0"
iyy="0.001" iyz="0"
izz="0.001"/>
</inertial>
</link>
<gazebo reference="left_wheeltire_link">
<material>Gazebo/Black</material>
</gazebo>
<joint name="left_wheeltire_joint" type="fixed">
<axis xyz="0 1 0"/>
<parent link="left_wheel_link"/>
<child link="left_wheeltire_link"/>
<origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
</joint>
<!-- RIGHT WHEEL -->
<link name="right_wheel_link">
<collision>
<origin rpy="1.57075 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.035" radius="0.085"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 1.57079632679" xyz="0 0 0"/>
<geometry>
<mesh filename="package://evarobotmodel_description/meshes/rim.dae" scale="1 1 1"/>
</geometry>
<material name="Grey"/>
</visual>
<inertial>
<origin rpy="1.57075 0 0" xyz="0 0 0"/>
<mass value="0.85"/>
<inertia
ixx="0.001" ixy="0" ixz="0"
iyy="0.001" iyz="0"
izz="0.001"/>
</inertial>
</link>
<gazebo reference="right_wheel_link">
<material>Gazebo/Grey</material>
<mu1>1.0</mu1>
<mu2>1.0</mu2>
<kp>1000000.0</kp>
<kd>100.0</kd>
<minDepth>0.001</minDepth>
<maxVel>1.0</maxVel>
</gazebo>
<joint name="right_wheel_joint" type="continuous">
<axis xyz="0 1 0"/>
<parent link="base_link"/>
<child link="right_wheel_link"/>
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.16 -0.119"/>
</joint>
<link name="right_wheeltire_link">
<collision>
<origin rpy="1.57075 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.001" radius ...
I'm no expert but inertias of
0.001
are really rather small.the robot explode because of the inertias value , how to calculate these values , do you have a link .
One usually uses this manually or lets some 3D graphics software like SolidWorks do it for them.
thank you , but what is really more suitable for transmission hardware interface is it Effort or velocity . also , what controller should be used : effort_controllers/JointVelocityController or effort_controllers/JointEffortController