Pour un robot avec de nombreuses entrées-sorties, je conseille vivement de partir sur un micro-controleur (les Arduinos sont je penses ce qu'il y a de mieux pour commencer). Tu pourra éventuellement rajouter une raspberry pi dans un second temps si tu veux commencer à faire du traitement d'image ou d'autres traitements lourds.
En gros, les avantages et inconvéniants:
Pour un micro-controleur (type Arduino) :
+ beaucoup d'entrées sorties
+ beaucoup de types d'entrées/sorties (entrées et sorties numériques, entrées analogiques, sorties PWM (ie "presque" des sorties analogiques), plein de bus de communications (UART, I2C, SPI, ...)
+ programmation relativement simple (tu n'as "que" le langage de programmation (en gros du C/C++) à apprendre, et tu peux faire n'importe quoi avec)
+ très bonne maîtrise du temps réel (tu peux obtenir des réactions en une fraction de milliseconde, voir approcher la microseconde)
+ pas cher
+ consomme peu d'électricité
- relativement lent (tu ne pourra pas faire de traitement vidéo par exemple)
- peu de mémoire
- tu ne peux pas installer de programmes "d'ordinateur"
Un ordinateur embarqué (une raspberry pi est un choix classique et bien documenté, si tu as besoin de plus de puissance, il y en a plein d'autre, par exemple les Jetson, plus cher mais très performantes). En gros, c'est un ordinateur sous linux, avec quelques pins d'entrée-sortie beaucoup plus limités:
+ grosse puissance de calcul (une raspberry pi est de l'ordre de puissance d'une tablette entrée de gamme, mais si tu a besoin, tu peux monter à la puissance d'un petit ordi de gamer (si tu y mets le prix))
+ tu dispose de tous les outils de Linux
+ tu peux installer la plupart des programmes faits pour les ordinateurs sous linux
+ tu as beaucoup de mémoire
+ adapté au traitement d'images, de vidéo (limité sur une raspberri pi, mais tu peux déjà faire des choses avec), de son, ...
+ adapté à des calculs lourds (algos de cartographie par exemple)
+ tu peux exécuter plusieurs programmes en même temps
+ tu as libre choix des langages de programmation : C, C++, python, bash, ...
+ accès facile et pratique à internet (ex : vigibot)
+ sur certains, type Raspberry, tu as des pins d'entrée/sortie (mais beaucoup plus limités que sur une Arduino : pas d'entrées analogiques, très peu de pins PWM, les pins fournissent très peu de courant, ...)
- peu (voir pas pour certains ordis) de pins d'entrée-sortie, avec des fonctionnalités beaucoup plus limités que sur arduino
- mauvaise gestion du temps réel (tu peux avoir des "retards" de plusieurs dixièmes de secondes, des dizaines de millisecondes de latence sont normaux)
- beaucoup plus complexe : il y a plein de "briques", mais on t'explique rarement comment les utiliser ensemble, et régulièrement elles sont même incompatibles (en gros, il existe plein de programmes et d'exemples, mais ils sont conçus indépendamment, et une grosse partie de la difficulté est souvent de les faire marcher ensemble). À moins que tu n'écrives ton programme toi même indépendamment de tout ce qui existe (mais ça reste plus compliqué que pour l’Arduino, et tu perds une bonne partie des bénéfices)
Donc pour faire des robots avec une "intelligence" similaire à ce qui se fait en Lego, je penses qu'une Arduino est bien plus adaptée (et à mes yeux, c'est plus facile, sauf si tu t'y connais déjà très bien en Linux).
La Raspberry Pi, je trouve que c'est peu pratique pour faire un robot qu'avec ça (ça se prête mal au contrôle de moteurs et à la lecture de capteurs). Dans un second temps, si tu veux faire des robots "vraiment intelligents" (ie avec une partie navigation autonome "complexe", telle que de la localisation, du traitement d'image, ...), alors tu pourra rajouter une Raspberry Pi en plus de l'Arduino (l’Arduino continuera à gérer les capteurs, les moteurs et autres actionneurs, pendant que la Raspberry Pi sera le "cerveau" qui s'occupera de la planification à moyen et long terme)