sheaffej / roboclaw_driver

A ROS node providing a driver interface to the Roboclaw motor controller.
MIT License
9 stars 15 forks source link

Why QPPS? Why not stay consistent with ROS cmd_vel #6

Closed callen5914 closed 2 years ago

callen5914 commented 2 years ago

I'm looking at this repo again and wondering why use QPPS and more importantly how?

sheaffej commented 2 years ago

Hi @callen5914, this project is designed as a ROS driver node, so it is the interface between the specialized hardware (i.e. the roboclaw) and the ROS node network. This driver's purpose is to expose the hardware's interface in a way that works with the ROS framework, and it's not intended to "translate" the hardware's interface into common ROS messages.

I use a "base node" that performs that translation. For example, the base node accepts cmd_vel messages from the navigation system as to how the base should move in the map frame, and the base node calculates the QPPS value that is required to send to the roboclaw in order to execute that cmd_vel message.