MATLAB: Simulated Turtlebot doesn’t move straight path

gazeboMATLABrosROS Toolboxturtlebot

Hello,
I am using ROS Toolbox™ Support Package for TurtleBot based Robots. I installed virtual machine with Linux (ROS and Gazebo in it) and I succesfully connected with robot by Matlab.
My question is: is this normal, that simulated Turtlebot, which should be geometrically ideal, don't move in straight line?
Like in tutorial I just set linear velocity in X axis and send it request to move for a few second, but its path is not straight, and it starts slowly turn to one side. Should it be like this? I understand it could happend in real robots, where you have to implement some PID controller, but should the robot behave like this in simulation?
Thanks for any help.

Best Answer

Hey Jakub,
I have also observed this in my Gazebo simulation of the TurtleBot (actually of a few different versions of the TurtleBot). Based on a quick search, it seems that there could be any number of causes, indcluding the physics simulation being unable to keep up with the simulation rate, the TurtleBot model having minor collisions or imbalances causing drift, or even an intentional drift to better represent the real TurtleBot's tendency to drift.
I do not believe that the issue lies within the support package or ROS code. TurtleBot, like most robots, requires feedback control to ensure that it moves as directed.
-Cam
Related Question