# Custom Ackermann Robot in Gazebo

Hello all,

I want to simulate my real robot with gazebo 7 and Ros kinetic ubuntu 16.04, i already create a 3d model using SolidWork and a urdf tree with the plugin swtourdf, i try different things like create a simple model for collision, create a assembly for all the static links, use meshlab to get the inertia of the links, but still can get a good simulation of the 3d model in Gazebo. The idea is to simulate a custom ackermann vehicle.In the link below is how it looks with the simulation stopped, when it's running and the joints position in Rviz https://drive.google.com/drive/folder...

also all the joints, inertia's and center of mass (CM) stay in that moment where it should be, but when the simulation runs all the wheels, all the joints and the CM move to the center of the world. almost every link have inertia and the ones that do not, i set it like 0.0001 or 0.01. I noticed, using blender and moving the mesh to the right position and using that .dae mesh, that the simulation starts with all the parts split and them it goes to the right position but the joints and the inertia centers still move to the center of the world.

Note: I got a PID controller refer to each link and joint that should move and all of them load and star successfully. This is mi config.yaml file

left_steering_ctrlr: joint: left_front_dir_joint type: effort_controllers/EffortPositionController pid: {p: 100.0, i: 0.01, d: 10}

right_steering_ctrlr: joint: right_front_dir_joint type: effort_controllers/EffortPositionController pid: {p: 100.0, i: 0.01, d: 10}

left_front_axle_ctrlr: joint: left_front_wheel_joint type: velocity_controllers/JointVelocityController pid: {p: 100.0, i: 0.01, d: 10.0, i_clamp: 10.0}

right_front_axle_ctrlr: joint: right_front_wheel_joint type: velocity_controllers/JointVelocityController pid: {p: 100.0, i: 0.01, d: 10.0, i_clamp: 10.0}

left_rear_axle_ctrlr: joint: left_back_wheel_joint type: velocity_controllers/JointVelocityController pid: {p: 100.0, i: 0.01, d: 10.0, i_clamp: 10.0}

right_rear_axle_ctrlr: joint: right_back_wheel_joint type: velocity_controllers/JointVelocityController pid: {p: 100.0, i: 0.01, d: 10.0, i_clamp: 10.0}


If some could help me to solve this i will appreciate a lot.

edit retag close merge delete

Sort by » oldest newest most voted

Hello there, After a bit of research i manage to achieve my goal, however it was necessary to change the urdf tree, indeed, there where was the problem or maybe the in meshes... Following the tutorials from the gazebo page i made a .sdf description of the robot and built from scratch the structure. First adding my chassis and from there every wheel and steering link. I Created a new folder in the main gazebo folder where all the model reside, and stored in there the .sdf and .config files. So now, it's alive!. But from it self, i going to put again the PID controllers in the .sdf and move it from the teleop_twist_key. Here is how it looks like with out controllers. Sorry for the noise, my computer is a little old.

SDF format: http://osrf-distributions.s3.amazonaw...

more

1