So I followed the first two ros2 tutorials along with some other resources and was able to get my ackermann robot to listen to twist messages and calculate steering angles using the AckermannSteering omnigraph node, then using two articulation controllers write rear velocity directly from the twist message, and steering position from the AckermannSteering. With angular position and velocity from the twist message I’m able to get the robot to steer and the rear tires to start spinning, however, the tires should have yaw movements based on commands and freely rotate in the pitch, which they don’t. Assume the roll pitch yaw is for the tire:
When I send drive commands, it’s as if the front tires have very high friction with the ground. I did follow the advice here and set 10000, 0 stiffness and damping for position commands respectively and 0, 10000 for velocity commands based on another example I saw which I can’t find right now.
I’m wondering if I need to add another joint that is not a drive joint between the steering link and the tire to allow for free movement of the tire. Or is there something I can do with the frictions?
P.S. the help link for the AckermannSteering omnigraph node is broken.