直线型一阶倒立摆6---软件设计
七、软件设计
如前文所述,采用MCU芯片作为控制器,软件开环环境流行使用C语言+对应的MCU开发平台。
STM系列MCU一般采用C语言+keil μvision开发环境+STM系列官方固件包(package),编程语言还可以支持C++。
TI公司的DSP系列也采用C语言+Code Composer Studio+TI官方固件包,编程语言可支持汇编、C++。
以上信息,可以在对方官网找到。
倒立摆软件设计的目标是设计一个完善的软件系统,用来测试以及后续使用倒立摆。倒立摆软件设计从硬件角度看,包含驱动器编程、传感器编程、物理控制算法编程三部分。驱动器编程指的是用MCU控制对应IO口,达到控制驱动器的目的。传感器编程指的是用MCU读取对应IO口信息,达到获取受测对象当前信息。 如下图
该图隐含了软件控制部分设计的基本逻辑。控制板驱动驱动器,驱动器驱动受控对象,受控对象反馈信息给传感器,控制板读取传感器信息。形成一个循环。但是,下一次决策需要控制板给出。
倒立摆软件设计从用户角度看,呈现合适的信息给用户,将能让用户明白当前倒立摆所处状态,也能帮用户记录下合适的数据,用作接下来的理论分析,当然,也可以使用软件完成这一项功能。
倒立摆更多的是高等院校用于控制算法稳定性的验证,因此,从具体用户群体看,最好能够让系统的控制算法易于更改。具体目标是在其它硬件驱动代码不变以及上层数据分析工具不变的情形下,对倒立摆进行控制算法编码设计。因此,软件设计之前需要考虑软件运行流程设计。
上图表述了倒立摆系统的资源结构,硬件管理系统主要用户获取硬件系统当前的信息,并把信息发送给软件系统,再分发给数据分析系统。
其它博文链接:直线型一阶倒立摆1---概念篇
直线型一阶倒立摆2---建模
直线型一阶倒立摆3---控制器设计
直线型一阶倒立摆4---能量起摆
直线型一阶倒立摆5---硬件平台搭建
直线型一阶倒立摆6---软件设计
直线型一阶倒立摆7---总结
有需要直线型一阶倒立摆的VREP仿真文件:可点击