I was wondering if it is possible to limit the navigation stack to only rotate in place.
I am setting up the navstack on a tracked skid robot and I am having difficulties in converting the velocity command outputs from the stack into (right and left) linear track velocities. Especially when the cmd_vel is composed by both linear and angular velocities.
The robot is able to drive forward and backwards decently, as well as rotating in place. However when trying to drive forward while steering, the robot seems to have a lot of inertia with short angular velocities and a large slipping effect with higher angular velocities.
Thus, I wonder if it is possible to set the parameters to use the navigation stack only with simple movements like forward/backwards (only linear velocities) and in-place rotations (velocity commands only with angular component).
Originally posted by DavidPortugal on ROS Answers with karma: 349 on 2012-06-18
Post score: 3
Original comments
Comment by cagatay on 2012-06-18:
you may limit your angular and linear acclerations and limit your maximum minimum speeds and you may add a simple pid algorithm in order to set your motors to desired velocities provided by cmd_vel, have you tried these options
Comment by DavidPortugal on 2012-06-18:
hello cagatay, thank you for the answer. I've tried limiting the accelerations as well as max and min speeds, but had no luck. Actually, the pid option is what i am currently exploring, since I have to remap the velocities given by the navstack to a specific scale that the motors accept.
Comment by cagatay on 2012-06-19:
hey david, try control_toolbox for ros , it has pid algorithm, may work out for you