Robotics StackExchange | Archived questions

Ackermann robot URDF or SDF

Does anyone know of a gazebo model that has ackermann steering? I have diligently searched the web to find one but haven't had any luc so far. I want to be able to implement different control strategies on the robot and so far I have tried the carbot sim and so others too. But none of them seem to work properly.

Asked by mishra39 on 2020-02-10 00:05:09 UTC

Comments

I would love to know as well. But just like you, I have run into dead ends at every possible path to take. This is more of an Answers.Ros question. I do not want to come off like I am trolling you. Rather ROS and Gazebo. They aren't the best at documentation. And when you ask questions. You either get ignored, told to google it, or referred to a repo from 2013 that is no longer a valid reference.

Asked by Coach Allen on 2020-03-19 20:00:43 UTC

Answers

Neither URDF nor SDF will enforce Ackermann constraints for you. They can only go as far as describing the kinematics of a four-wheeled vehicle whose front wheels can be steered. The Prius SDF model from the model database has that kind of kinematic structure, for example.

But you'll need to use some plugin if you want to enforce that the wheel constraints are maintained. There's a plugin for ROS 2 doing that on gazebo_ros_pkgs.

Asked by chapulina on 2020-03-19 20:23:19 UTC

Comments

For those using the aforementioned plugin, you might run into issues running gzserver/gazebo with a world that has physics defined and then spawning a model that includes the Ackermann plugin - it crashes gzserver/gazebo. Seems to work fine if you remove setting any physics from the world file. I believe the issue is impl_->model_->GetWorld().

Asked by bperseghetti on 2021-03-31 12:25:50 UTC