Using an Arduino shield or Raspberry Pi add-on board is often a quick and convenient way to get started on a robotics project, but for maximum flexibility, nothing beats building your own system from standalone boards. Rud Merriam’s Hackaday article describes the design of his Raspberry Pi-controlled robot, for which he opted to use separate modules instead of daughterboards on the Pi, and mentions some of the trade-offs involved in making that decision.
The robot is built on a Wild Thumper chassis and uses a Maestro USB servo controller and two Simple Motor Controllers to interface the Raspberry Pi with the robot’s motors and actuators. In Rud’s writeup, he explains how he made use of some of the more advanced features of the Maestro and SMCs, like using servo channels for general-purpose I/O and setting up daisy-chained serial communications. Check out the full article for all of the details.