Raramente existem linguagens bastante conhecidas que sejam mais ou menos boas para a maioria das tarefas no geral. Qualquer linguagem que seja turing complete, portanto, seja de programação, tem como ser usada se puder fazer IO com certa liberdade.
Existem alguns nichos muito específicos que podem ser feitos para isso, mas extremamente desconhecidas, eu mesmo não sei dizer de nenhuma, até porque não parece ser necessário a não ser por exigência do dispositivo, aí primeiro tem que definir o que vai usar.
Robótica é algo bastante amplo. Certamente existem linguagens que podem ter bibliotecas disponíveis que podem ajudar em uma ou outra área da robótica, ou em um ou outro dispositivo ou linha específica. Tem dispositivos minúsculos ou de alta precisão, tem máquinas industriais, algo embarcado em outros equipamentos, que tentam simular humanos, que fazem tarefas específicas ou algo mais aberto.
Ser popular ajuda que as bibliotecas para o dispositivo sejam desenvolvidas para a linguagem. E será muito comum o fornecedor do hardware entregar uma biblioteca básica em baixo nível e outras pessoas que se viram para fazer bindings para outras linguagens. A linguagem mais usada para fazer esse tipo de coisa sempre foi C. Eventualmente usam C++. Agora devem começar a usar um pouco mais Rust e depois pode rolar Carbon.
Os bindings serão desenvolvidos conforme haja demanda, interesse comercial ou vontade de algumas pessoas.
C# já teve um framework oficial para isso, não vinculado a dispositivos específicos, e hoje tem diversos criados pela comunidade, muitos são mais específicos. Outras linguagens devem ser assim também. Frameworks que ajudem o trabalho geral existem aos montes, seria interessante perguntar para comunidades específicas, eu não posso ajudar muito por nunca ter tido interesse na área.
Algumas tarefas podem exigir que o processamento ocorra em tempo real, pelo menos em parte das operações, o dificulta ou até inviabiliza linguagens que costumam trabalhar com garbage collector, especialmente os mecanismos não determinísticos, ou até mesmo os que fazem muito uso de alocação de memória dinâmica. Outras tarefas isso pode não ser um problema.
Da mesma forma que para eficiência, para conseguir executar a tempo, consumo pequeno de energia, ou outro motivo, a linguagem precisa ser econômica em processamento, o que impede linguagens que não executem de forma nativa ou que não sejam muito otimizadas. Mas isso é menos comum.
Algumas tecnologias precisam da eficiência da biblioteca básica fornecida, mas permite ineficiência na programação dos detalhes, podendo usar uma linguagem de script sem problemas.
Enfim, a linguagem não deveria ser uma preocupação sem saber exatamente o que deseja fazer. O estudo aprofundado do assunto é muito mais importante, o que levará à escolha de alguma(s) linguagem(ns).
Faz sentido?
Espero ter ajudado.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).