Gazebo | Ignition | Community
Ask Your Question

Vehicle Plugin 100 % Ackermann unable to simulate

asked 2017-10-18 16:06:51 -0500

pchidamb gravatar image

I have modified the Vehicle Plugin to be a subscriber to steering joint and gas joint positions in degrees radians. I then created a publisher to provide these values in a programmatic manner. I notice that when I command a valid gas and steering value the vehicle does not execute a perfect circle. This is critical as I want to use this simulation for path planning. I tried to set a right and left steering angle as well and just provide a force to the chassis and not the wheel joints . Would appreciate it if anyone could explain why this is happening ?

edit retag flag offensive close merge delete


More info would be useful. When you say "the vehicle does not execute a perfect circle," do you mean that it doesn't move at all.. or it does move but drifts from the expected path? A video would help us to understand your problem!

josephcoombe gravatar imagejosephcoombe ( 2017-10-18 17:05:06 -0500 )edit

Thanks. Github repo to share Have questions! 1. The vehicle turns if steering input < 0.5 radians . Otherwise it Slips and moves linearly. Why? 2. The radius circle it makes for clockwise /anti clock wise are not exactly the same ( 2-3 units variation) Is the steer,gas and brake link masses affecting solver , skew turns ? 3. Suggestion experiments with grade ,bank & friction coeff (value ballpark) would help. 4. Can I scale masses 100000 & simulate

pchidamb gravatar imagepchidamb ( 2017-11-09 11:20:40 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2017-10-18 17:21:37 -0500

pchidamb gravatar image

updated 2017-10-31 16:11:15 -0500

Thank you for responding !

I have solved this the vehicle drift issue .. a few points 1. Had the rear wheels turning. Fixed that 2. Calculated inner and outer wheel angles based on Ackerman and fixed them as limits. 2. In order to test this without a closed loop I provided steering and gas continuously and calculated the radius of curvature for 0.1 and 0.2 radians s = wheel base a = steering wheel angle n = steering ratio (e.g. for 16:1, n = 16) r = radius of curvature, in the same units as the wheel base So: r = s / (sqrt(2 - 2 * cos(2*a/n)) . I could observe ball park answers for these values

Further work .... 3. To test further I have to use a PID controller. 4. Must also eliminate arbitrary empirical constants like sway force , aero dynamic etc and get a more first principles approach 5. The input angle has to be rate limited ..

edit flag offensive delete link more


Nice, glad you figured it out!

josephcoombe gravatar imagejosephcoombe ( 2017-11-01 07:24:04 -0500 )edit

Question Tools

1 follower


Asked: 2017-10-18 16:06:51 -0500

Seen: 513 times

Last updated: Oct 31 '17