# Trying to replicate the ackermann steering from DRCSim

Hello,

I have Gazebo 1.9, ROS Hydro, and DRCSim installed on Ubuntu 12.04. I wanted to get ackermann steering working on the gazebo vehicle model that I built and at first I tried setting up the physical joints but I couldn't get that to work. So instead I'm now working on trying to replicate (copy, paste and compile) the appropriate plugins from DRCSim: DRCVehiclePlugin.cc , DRCVehicleROSPlugin.cpp , VRCPlugin.cpp. In order to get this working I'm using the drcvehiclexp900 (polaris ranger xp900) in my own test package. When I start roslaunch, I make sure to do it with the cheats enabled and yet I still can't get the steering wheel to connect with the wheels for ackermann steering (steering wheel can just spin on it's own, unlike when I run drcsim). I also made sure to change all of the include directories in the files so that they're no longer attributed to drcsim but instead my new test package.

I know there's a lot of code involved, but just with what I've said so far, do I need any other plugins from drcsim besides the above-mentioned 3 in order to make this work (I don't care about the Atlas, valve, etc. parts)?

Thank you

edit retag close merge delete

Sort by » oldest newest most voted

Answering my own question in case someone wants finds this post and wants to implement ackermann steering on their model. I just got it working today.

Basically, the two needed plugins are DRCVehiclePlugin.cc and DRCVehicleROSPlugin.cpp (with drcsim_gazebo installed). I kept the structure of my vehicle model to be very similar as the vehicle for DRC so that the plugin labels would easily work.

The important sections of the source code from https://bitbucket.org/osrf/drcsim/src/70bd0c879aadd22140d4b0ee301c92175a6b269e?at=default are here:

drcsim/drcsim_gazebo/launch/atlas_drc_vehicle_fire_hose.launch (this is just relevant because it launches the vehicle) drcsim/drcsim_model_resources/worlds/atlas_drc_vehicle_fire_hose.world (where the vehicle's world file is located) drcsim/drcsim_model_resources/gazebo_models/drc_vehicle_xp900/model.sdf (the model file- under the plugin section, you can get rid of the non-relevant parts like fnr_switch as long as you modify the plugin cpp/cc files. you can also get rid of the mudseat plugin) drcsim/drcsim_gazebo_ros_plugins/ (for the .h header file and .cpp file for DRCVehicleROSPlugin) drcsim/drcsim_gazebo_plugins/ (for the .hh header file and .cc file for DRCVehiclePlugin)

I was able to modify the plugins so that they were just bare-bones ackermann steering related (without the Atlas stuff or the rest).

Hope this helps someone, because it took me a long time to get this working!

more

Hey! Would you be able to upload or share a final package? Thanks so much!

( 2017-01-15 20:48:48 -0500 )edit

Hi nbanyk,

i've got the same problem. First, i tried the ackermann vehicle package, but there seems to be some assumptions related to the size of the exemplary vehicle (remotely controlled small-sized vehicle), which prohibit the generalization to full-size vehicles.

I am interested in getting the ranger vehicle rid of all the unnecessary stuff. I would be very happy if you could share your code.

Best regards!

more