I am using ROS Melodic and a Scout model with a Velodyne VLP-16 mounted on it. I am also using lidar odometry. However, when I display the robot model on RViz, the robot does not move and remains stationary, but the odometry continues to rotate. What could be the cause of this error and how can it be resolved? Thank you.
This is the code that I changed of scout_mini.urdf.xacro to mout velodyne on the top.
<?xml version="1.0"?>
<robot name="scout_mini"
xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:arg name="robot_namespace" default="/" />
<xacro:arg name="urdf_extras" default="empty.urdf" />
<xacro:include filename="$(find scout_description)/urdf/scout_mini_wheel_1.xacro" />
<xacro:include filename="$(find scout_description)/urdf/scout_mini_wheel_2.xacro" />
<xacro:include filename="$(find scout_description)/urdf/scout_mini_wheel_3.xacro" />
<xacro:include filename="$(find scout_description)/urdf/scout_mini_wheel_4.xacro" />
<!-- Variables -->
<xacro:property name="M_PI" value="3.14159"/>
<!-- Vehicle Geometries -->
<xacro:property name="base_x_size" value="0.514618" />
<xacro:property name="base_y_size" value="0.3816" />
<xacro:property name="base_z_size" value="0.10357" />
<xacro:property name="wheelbase" value="0.463951"/>
<xacro:property name="track" value="0.416503"/>
<xacro:property name="wheel_vertical_offset" value="-0.100998" />
<!-- <xacro:property name="track" value="0.3426" />
<xacro:property name="wheelbase" value="0.3181"/>
<xacro:property name="wheel_vertical_offset" value="-0.160000047342231" />-->
<xacro:property name="wheel_length" value="0.08" />
<xacro:property name="wheel_radius" value="0.08" />
<!-- Base link -->
<link name="base_link">
<visual>
<origin
xyz="0 0 0.0"
rpy="1.57 0 -1.57" />
<geometry>
<mesh filename="package://scout_description/meshes/scout_mini_base_link2.dae" />
</geometry>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<!--<mesh
filename="package://scout_description/meshes/scout_mini_base_link2.dae" />-->
<box size="${base_x_size} ${base_y_size} ${base_z_size}"/>
</geometry>
</collision>
</link>
<!-- <joint name="chassis_link_joint" type="fixed">
<origin xyz="0 0 ${wheel_radius - wheel_vertical_offset}" rpy="0 0 0" />
<parent link="base_link" />
<child link="chassis_link" />
</joint> -->
<link name="inertial_link">
<inertial>
<mass value="60" />
<origin xyz="0.0 0.0 0.0" />
<inertia ixx="2.288641" ixy="0" ixz="0" iyy="5.103976" iyz="0" izz="3.431465" />
</inertial>
</link>
<joint name="inertial_joint" type="fixed">
<origin xyz="0 0 0" rpy="0 0 0" />
<parent link="base_link" />
<child link="inertial_link" />
</joint>
<!-- For testing, hang the robot up in the air -->
<!-- <link name="world" />
<joint name="world_to_base_link=" type="fixed">
<origin xyz="0 0 0.5" rpy="0 0 0" />
<parent link="world"/>
<child link="base_link"/>
</joint> -->
<!-- Scout wheel macros -->
<!-- wheel labeled from 0 to 3, conter-clockwise, starting from front right wheel -->
<!-- motor 1 and 2 (left side) are mechanically installed in a reversed direction -->
<xacro:scout_mini_wheel_1 wheel_prefix="front_left">
<!--<origin
xyz="0 0 0"
rpy="0 0 0" />-->
<origin xyz="${wheelbase/2} ${track/2} ${wheel_vertical_offset}" rpy="-1.57 0 0" />
</xacro:scout_mini_wheel_1>
<xacro:scout_mini_wheel_2 wheel_prefix="rear_left">
<!--<origin
xyz="0 0 0"
rpy="0 0 0" />-->
<origin xyz="${-wheelbase/2} ${track/2} ${wheel_vertical_offset}" rpy="-1.57 0 0" />
</xacro:scout_mini_wheel_2>
<xacro:scout_mini_wheel_3 wheel_prefix="front_right">
<!--<origin
xyz="0 0 0"
rpy="0 0 0" />-->
<origin xyz="${wheelbase/2} ${-track/2} ${wheel_vertical_offset+0.001}" rpy="1.57 0 0" />
</xacro:scout_mini_wheel_3>
<xacro:scout_mini_wheel_4 wheel_prefix="rear_right">
<!--<origin
xyz="0 0 0"
rpy="0 0 0" />-->
<origin xyz="${-wheelbase/2} ${-track/2} ${wheel_vertical_offset+0.001}" rpy="1.57 0 0" />
</xacro:scout_mini_wheel_4>
<!-- Additional definitions -->
<xacro:include filename="$(arg urdf_extras)" />
<!-- Gazebo definitions -->
<xacro:include filename="$(find scout_description)/urdf/scout_mini.gazebo" />
</robot>