<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">

    <ros2_control name="GazeboSystem" type="system">
        <hardware>
            <plugin>gz_ros2_control/GazeboSimSystem</plugin>
        </hardware>
        <joint name="bl_wheel_joint">
            <command_interface name="velocity"/>
            <state_interface name="velocity"/>
            <state_interface name="position"/>
        </joint>
        <joint name="br_wheel_joint">
            <command_interface name="velocity"/>
            <state_interface name="velocity"/>
            <state_interface name="position"/>
        </joint>
        <joint name="fl_wheel_joint">
            <command_interface name="velocity"/>
            <state_interface name="velocity"/>
            <state_interface name="position"/>
        </joint>
        <joint name="fr_wheel_joint">
            <command_interface name="velocity"/>
            <state_interface name="velocity"/>
            <state_interface name="position"/>
        </joint>
    </ros2_control>

    <gazebo>
        <plugin filename="gz_ros2_control-system" name="gz_ros2_control::GazeboSimROS2ControlPlugin">
            <parameters>$(find core_rover_description)/config/ros2_controllers.yaml</parameters>
            <ros>
                <remapping>/diff_controller/cmd_vel_unstamped:=/core/twist</remapping>
            </ros>
        </plugin>
    </gazebo>

</robot>