图 4.2用专用工程模块建立的工程
(3)编辑文件:打开工程中的“main.c”,输入代码。
(4)保存文件:点击菜单“file”中的“save”。
(5)编译工程:“DebugInArm”并点击“Make”图标生成目标,如图4.2。
(6)按同样方式,选择“DebugInFlash”目标编译程序。
(7)选择“RelInFlash”,点击“DebugRel Settings…”图标按钮,设置输出文件为OptimumMotion.hex,存放工程目录之下,如图4.3所示。
图 4.3输出文件设置
(8)用串口模块下载程序,如图4.4所示,打开FlashMagic软件,设置波特率,设置串口号,选择芯片LPC2368,ISP方式,晶振12M,选择“Erease all Flash+Code Rd Prot”对芯片进行整片擦除,选择工程中生成的“OptimumMotion.hex”文件,点击“Start”按钮,开始下载程序。
(9)下载完成程序之后,关掉电源,将ISP拨动开关到左边,在打开电源,程序将自动运行。模块上的蜂鸣器将每秒1次响十次。
(10)小车打开电源就可以工作了。
,
图 4.4 FlashMagic软件设置
最优控制算法的系统流程图如下,分别为传感与通信模块和运动控制模块内部程序流程图:
图4.5 传感器与通信模块程序流程图
由图可知,实验室自主移动履带式机器人传感器与通讯模块的工作程序流程如下:系统启动,通信模块初始化,传感器感应目标点转换成信号被通信模块接收,读取移动机器人距目标点的距离,之后 通过CAN总线发送到运动模块。依次循环读取距离到由CAN总线发送信号到运动模块。
图4.6 运动模块程序流程图
由图可知,实验室自主移动履带式机器人运动模块工作程序流程如下:系统启动,初始化程序数据,设定目标点的数值,由CAN总线接收距离(CAN总线接收到的距离是由通信模块读取的距离),计算出移动机器人的位置和转动角度,是否达到目标点,若达到目标点和转动角度,则移动机器人停止运动,系统完成运动。反之,则计算最小误差时的控制量,通过对控制量的读取得到机器人运动速度和步进电机(直流电机)旋转速,之后驱动电机使移动机器人移动,继续监测是否到达指定目标点和旋转角度。
4.5 本章主要内容
本章主要是性能指标的设计和MATLAB的编程,通过对线性二次型指标系统的性能指标的设计,解决最优二次控制器的设计,即K 。
通过matlab的编程确定最优二次控制器及其特征值。这是基于对matlab的熟悉和运用的基础上的。
通过对直流电动的参数,计算出直流电动机的特性曲线方程,将最优值带入方程求得左右轮的转速,带入原有的实验程序中进行实验。
最后,对本次设计的实验事项进行了介绍,包括系统的程序框图。实验室移动机器人需要实现机器人运行到指定的位置,并且控制步进电机旋转到指定角度的实现功能。系统运行,传感与通信模块监听红外传感器的数据,测量实际离目标点的距离值发送到运动模块,通过CAN总线接收到距离值后,根据最优控制算法计算出机器人的运行速度和步进电机的运动速度,控制机器人到达目标点是步进电机旋转到相应的位置。
实验达到了设计目标,效果比较理想。
5结论
在经典控制理论中,设计控制系统的各种方法大多建立在试凑的基础上,设计的忽而过的优劣与设计人员的经验有很大的关系.对于多输入—多输出系统,或者对控制性能要求较高的复杂的控制系统,经典控制的方法常常显得无能为力。
最优控制是现代控制理论的核心,它研究的主要问题是:在满足一定的约束条件下,寻求最优控制策略,使得性能指标取值极大值或者极小值。 matlab移动机器人的最优二次控制+数学模型(14):http://www.751com.cn/zidonghua/lunwen_146.html