Hi,
I give you here two ways that you could achive a "plannar like" movement:
1) With two primsatic joints in tandem
2) With a plugin that taps into the speed of an object that moves on the plane
I leave you here with the CodeGit for each one, a Video explaining all the process and a ROSJECT with the code ready to go.
1) Two prismatic Joints:
The URDF that we spawn that has the two prismatic joints and at the end the elemnt that you want to move in the plane:
( Its a urdf but because of the platform limitations it had to have the sdf extension)
plannar_mover.urdf
The launch files to spawn the URDF and the empty world:
C:\fakepath\kinetic_main.launch
C:\fakepath\spawn_with_controlers_plannar_mover.launch
C:\fakepath\spawn_robot_urdf.launch
C:\fakepath\spawn_plannar_mover.launch
C:\fakepath\plannar_mover_control.launch
C:\fakepath\plannar_mover_empty.world
The main disavantage of this method is that you have phisical elements moving, which give always problems and worst is that prismatic joints don't behave very well, they bend and do some strange stuff. Sure that if you play around with the weights and physical properties of the links you can improve the performance.
2) Create a plugin and add seting speed capabilities to any model that has this plugin:
This is in my opinion the method that works best, the only downside is that the model has to have zero friction with the ground or it has to have some kind of wheels to avoid it flipping.
This is the code for the model plugin:
C:\fakepath\plannar_mover.cpp
The world with the plugin in a box dummy model:
C:\fakepath\plannar_mover.world
And the launch file for it:
C:\fakepath\kinetic_main_v2.launch
Hope it helped ;).