ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
I agree with @gvdhoorn that (at least some) of those types of platforms are also pretty well supported.
Given that your main goal seems to be doing navigation (I'm assuming/suggesting with the navigation stack, at least to begin with) in flat indoor environments, the kinematics that are well supported are differential and omnidirectional (meccanum wheels, omni wheels, multiple driven and steered wheels) ones.
There are packages that can also deal with ackermann kinematics (in terms of path-planning, e.g. the teb_local_planner
).
Obviously, the respective platforms require you to have a suitable base driver, providing odometry and transforming the geometry_msgs/Twist
that is provided by most navigation algorithms to the respective wheel velocities.
Differential drive robots (with two fixed, driven wheels + caster) are typcially most often used because they provide quite some flexibility and are, as they only need two motors, comparably cheap.
Obviously, other types of robot (with tracks, underwater, airborne) are also available, but in terms of using exisiting navigation packages (you are saying "well discussed" and "well supported"), I'd suggest to start with the navigation stack and thus use a differential or omnidirectional robot base.
(Disclaimer: just my 2 cents ;-) )