要用到什么软件编程语言,首先要看由那几个部分组成。
主要分为三部分。
1、人机交互。人和机器人互动,操作界面,播放视频,语音互动什么的。
2、运动规划。根据要实现的机器人动作,计算如何实现的控制数据。
3、电机控制传感器信号处理。如何控制单个电机的运转,接受各种传感器的信号。
控制系统包含这几大部分,开发语言可以有几种。首先是人机交互部分,这部分选择空间很大,Android、Windows、Linux系统都可以,Java,C/C++,C#等等在这些上系统能开发的都可以。这部分可以实现的功能多,而且有很多现成的东西(比如讯飞语音,face+的人脸识别),语音控制、智能对话、机器视觉、人脸识别和普通电脑或手机上没啥区别。
然后就是运动规划、电机控制,家用这类两者一般在一个处理器上完成(工业有专门的电机控制,伺服控制器),这部分主要是基于ARM或FPGA平台,解析人机交互部分传来的消息,完成要达到的动作。这个部分一般ARM处理器跑嵌入式Linux,C/C++语言开发。
FPGA需要专门的硬件描述语言,VHDL或Verilog语言,家用机器人一般不用FPGA。