How do I expand on a Raspberry Pi robot?

asked 2020-07-16 15:51:40 -0500

Dr_Warlock gravatar image

Hi y'all,

I've built my first robot and now I'm thinking of ways to expand upon it, only, there's no more open usb ports and the pi itself is already struggling to keep up with the workload. How do I move forward with this? Do I need to find an alternative to the Pi or do I add more Pi's to the robot and network them?

Thank you for your help in advance!

edit retag flag offensive close merge delete


It would be helpful if you describe in which direction you want to expand to narrow down the question. You could for instance add more pi's or computers to create a network. You could add sensors via microcontrollers, or simply a USB hub to the pi. There is any number of directions you could take.

fred gravatar image fred  ( 2020-07-16 18:59:10 -0500 )edit

Hi Fred, thanks for the response! There are many applications that I would like to start implementing once I start learning how. One example would be adding a robotic arm to a base that moves autonomously. Should I consider the base and arm as two separate systems with their own Raspberry Pis or should they be running off one computer? What is more common/practical in this situation? Do more complex DIY robots typically operate with several single-board computers networked or are they using systems that I'm not yet familiar with?

I'm personally leaning more towards using multiple raspberry pis, but I haven't yet seen any projects that are also doing that and I'm wondering if that's for a reason? Currently I have a base built thats using RPLidar, a Teensy micro-controller for the motors, a usb camera, and soon a usb microphone. With they ...(more)

Dr_Warlock gravatar image Dr_Warlock  ( 2020-07-17 11:53:16 -0500 )edit

As @fred commented there are multiple ways to "expand" your set up, the most typical one is adding more computing power. Remember that ROS is a distributed middleware and you can always have multiple Raspberry Pi boards syncronized processing multiple and different information to be capable of more complicated tasks.

Weasfas gravatar image Weasfas  ( 2020-07-19 06:03:41 -0500 )edit

Just note I'm far from an expert in this. For expanding to a robotic arm you could do some prototyping/sketching to find out how that robotic arm is going to work in isolation, what motors could be sensible and how many and then probably a microcontroller controlling the motor bridge. A master computer could connect to that and only concern itself with the high level controls you expose for the robot arm. If you got multiple robot arms maybe two microcontrollers for each and one controlling them both could be the way to go. It all depends on the parts you choose.

For me personally it helps separating projects into separate pieces so I develop an autonomous moving base as one, then a robotic arm in another. Then a third project to connect two, etc. For simple sensor input and motor controls it's pretty fast to work ...(more)

fred gravatar image fred  ( 2020-07-20 23:29:30 -0500 )edit

Thanks y'all! I'm feeling much more confident in exploring a multi-pi design and I gotta remember, micro-controllers are my friends. I've been quite inspired by this arm build and I'm thinking that will be my next project, then I'll merge it with my base as @fred mentioned.

Dr_Warlock gravatar image Dr_Warlock  ( 2020-07-21 08:50:35 -0500 )edit