Wobei du für einen Roboter zusätzlich zum Programmieren des Controllers dann auch noch eine Schaltung entwerfen musst, also dann auch das Layout einer Platine entwickeln.

Es sei denn, du nutzt fertige Platinen z.B die nach Roboternetz-Standard.

Zur Programmiersprache:
Wenn du nichts Zeitkritisches programmieren willst, und noch keine Programmiererfahrung hast, dann würde ich mit Basic, im Falle µC also Bascom anfangen.

Wenn du schon irgendwas programmiert hast, würde ich auf jeden Fall C nehmen.

Von Basic auf C kannst du später auch noch umsteigen.

Ich persönlich habe mit Basic angefangen, dann C gelernt, und irgendwann dann den ersten Kontakt mit Mikrocontrollern gehabt. Da war es naheliegend die gleich in C zu programmieren.