Project Wayfarer

The problem you are working, low level control of a mobile base, has been done more than a few times.

What you need to implement is called a “base controller”. This accepts messages from ROS and controls motors based on the messages. Almost certainly you will be using the “move base” package to do the motion planning. this package expects your base controller to accept “Twist” massages. Even if some other package is used the “standard” is to use “twist” messages.

So to answer your question about “what message type?” the answer should be “twist”.

If you are using the Wild Thumper chassis it is a good choice for a small outdoor robot. I am using the same chassis. (For those who don’t know, this is a 6 wheel drive chassis, one gear motor per wheel) One modification you will need. You really do want to put encoders on the center pair of wheels. Don’t bother with the end pairs. You only need the encoders on the center. As you know the center axel caries most of the weight and the front and rear wheels are intended to slip and skid. Encoders are only useful on the center axel.

As you know, all three motors on the left are wired in parallel as are al the right motors. You can in effect read the Thumper as a two wheel robot, just like “Turtlebot” and most of the turtlebot tutorials apply.

You can add the encoders yourself or buy a Thumper with encoders from the factory in China. I added them myself but would 100% not recommend it. It took a lot of work.

Study the diagram and documentation for "Move Base"
Move Base

All your questions about what could be a service, what massage types and so on. are answered by the above.

This is the wrong l=place to discus the design of Yhumper/ROS robot design. If anyone wants to discus Wild Thumper under ROS (including 3D printed parts, batteries and what not) email me at albertson.chris@gmail.com and we can find a suitable public forum.

This is a great chassis but almost all of them end up being just R/C cars.