Robotics StackExchange | Archived questions

Diff drive controller needs angular boost

What is the best way to boost the turning power of the diff drive controller without also boosting the linear power? My tracked and skid-steer robots control well on a smooth floor but on carpet or (outdoors) on grass need much more turning power applied to motors. I found that just increasing the angular topic in cmd_vel didn't do it. I have a motor controller that can do it automatically, but this doesn't work with ROS.

Asked by Rodolfo8 on 2022-12-20 13:22:04 UTC

Comments

Answers

This is typically a job for the motor controller rather than ros_controls. Increasing torque is not always as easy as upping your set point (by increasing the angular velocity component of the twist), as you need to tune the motor controller directly. Typically there is a PID regulator which regulates the current sent to the motors - this needs to increase more quickly to be able to cope with course ground. Increasing more quickly also means more sensitivity to noise, and you can get problems with vibrations.

For skid steer robots, the outer-most part of the left and right sides experience some pretty hefty forces when turning on a dime - the larger the platform, the higher the forces - and you either need really good motors + rubber wheels (which need replacing often) or some kind of turning scheme to pull this off successfully on coarse ground, in my experience.

Asked by Per Edwardsson on 2022-12-21 09:51:56 UTC

Comments