my robot seems crazy
hi everyone, I'm trying to create a small simulation for my custom robot. everything seems to work properly until I try to send goals to the robot. the robot starts to skid left and right. instead if I send commands via cmd_vel (with rqt), the robot performs well. here a short video to show the problem: https://youtu.be/CMGRvvtjGXY I have checked my launch file and my configuration files several times but I still cannot understand what the error is. i'm working with ros melodic on ubuntu on a virtual machine, and below the files that I am using for my simulation.
launch file:
<launch>
<!-- Vehicle pose -->
<arg name="x" default="3.0"/>
<arg name="y" default="3.0"/>
<arg name="z" default="0.23"/>
<arg name="roll" default="0.0"/>
<arg name="pitch" default="0.0"/>
<arg name="yaw" default="3.1415"/>
<arg name="ini_x" default="3.0"/>
<arg name="ini_y" default="3.0"/>
<arg name="ini_a" default="3.1415"/>
<!--<param name="/use_sim_time" value="true"/>-->
<master auto="start"/>
<!-- Create the world. includo un launch file esterno passandogli "world_name" come argomento-->
<include file="$(find gazebo_ros)/launch/empty_world.launch" >
<arg name="world_name" value="$(find world_description)/worlds/factory.world" />
<!--<arg name="paused" value="false" />
<arg name="gui" value="false"/>
<arg name="headless" value="true"/>-->
</include>
<!-- Load the URDF into the ROS Parameter Server -->
<param name="robot_description"
command="xacro '$(find robot_description)/urdf/differential/differentialRobot_v003/differentialRobot_v003.urdf.xacro'" />
<!-- Spawn a differential_robot in Gazebo, taking the description from the parameter server -->
<node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model"
args="-param robot_description -urdf -model differentialRobot
-x $(arg x) -y $(arg y) -z $(arg z)
-R $(arg roll) -P $(arg pitch) -Y $(arg yaw)" />
<!--Convert /joint_states messages published by Gazebo to /tf messages, e.g., for rviz-->
<node name="robot_state_publisher" pkg="robot_state_publisher"
type="robot_state_publisher"/>
<!-- Load a map into the map server-->
<node name="map_server" pkg="map_server" type="map_server"
args="$(find world_description)/maps/factory/factory.yaml"/>
<!-- AMCL node (with initial pose)-->
<include file="$(find robot_description)/config/differentialRobot_v003/amcl_config/amcl_diff.launch">
<arg name="init_x" value="$(arg ini_x)" />
<arg name="init_y" value="$(arg ini_y)" />
<arg name="init_a" value="$(arg ini_a)" />
</include>
<!-- Navigation stack-->
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
<rosparam file="$(find robot_description)/config/differentialRobot_v003/nav_config/costmap_common_params.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find robot_description)/config/differentialRobot_v003/nav_config/costmap_common_params.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find robot_description)/config/differentialRobot_v003/nav_config/local_costmap_params.yaml" command="load" />
<rosparam file="$(find robot_description)/config/differentialRobot_v003/nav_config/global_costmap_params.yaml" command="load" />
<rosparam file="$(find robot_description)/config/differentialRobot_v003/nav_config/base_local_planner_params.yaml" command="load" />
<param name="use_sim_time" value="false" />
</node>
<!-- Starting Rviz-->
<node pkg="rviz" type="rviz" name="rviz" args="-d $(find robot_description)/config/differentialRobot_v003/rviz_config /differentialRobot_v003 ...