I am currently trying to build a robot with ackermann steering. As an example I found https://github.com/trainman419/ackermann_vehicle-1 for this robot. It works pretty well with the set parameters and with a small python script that converts the joy commands from my xbox 360 controller to the ackermann message I can move it in Gazebo.
The problems start when I try to edit parameters though. I would like to change the robot and want to use smaller wheels for example:
<xacro:property name="hub_dia" value="0.055"/> <xacro:property name="tire_dia" value="0.066"/>
When I do that the robot starts moving by itself and I can't really work out why it does that. At the start it just moves forward, when I drive it myself a bit with the controller it also starts to rotate on the spot, which means I can't drive straight lines any more.
I am using ROS Kinetic on Ubuntu 16.04 with the newest version of gazebo that is available on that platform.
Why or how is it possible for the car to move on its own when I just decrease the radius of the wheels. And how can I fix this? Is it maybe depending on the PID Values in the YAML files or do I need friction parameters at some point?