ZebraDevs / robot_controllers

Robot control infrastructure
92 stars 79 forks source link

add support for 4wd bases #69

Closed mikeferguson closed 3 years ago

mikeferguson commented 3 years ago

This is a port of a ROS2 feature introduced in #53 to ROS1/noetic.

mikeferguson commented 3 years ago

@erelson I still need to test this out a bit more, but I opened the PR in case anyone had input.

erelson commented 3 years ago

@mikeferguson is this still in the works? Just checking, as I'll be doing a ros1 release this evening I think.

mikeferguson commented 3 years ago

@erelson this has been tested and should be ready to merge

mikeferguson commented 3 years ago

Musing: For a 4 wheel skid steer bot (ahh, FIRST robotics days, when I wasn't a coder), seems like wheel velocity as a function of desired spin-in-place rotation velocity would involve some math (external to this code) based on wheel positions relative to [center of robot].

That already happens in the code as it is required for diff drive of any kind - but it only takes into account the Y offset (the X offset, or forward-backward offset is basically neglected because your multiple wheels are acting like a virtual wheel at the centerline of the robot - and you have to scrub/skid off a bit as you rotate in place).