远景
- 除了使用‘模型操作者’进行规划外,还专门构建一个‘算法操作者’进行算法选择及计算。
- 在这里,一个操作者即一个类,在进行静态及动态建模中使用COMET建模方法
- 随着消息通信机制的日益复杂,应该使用多层嵌套操作者框架,参考蒸发冷却器的项目设计。
- 除了操作者及消息使用OO方法进行设计之外,其他所有程序都要使用OO进行设计,此时需要深刻理解软件建模,面向对象系统分析的技术。
操作者框架程序损坏问题(应用程序引用无效错误)
- 原因不明,表现为stopcore.vi等很多VI的类的数据簇结构无法解绑
- 可能原因是,同时打开多个包含操作者框架的项目文件,造成多写者问题
- 解决方法暂时为将备份的操作者框架Actor文件夹覆盖已损坏的文件夹
P3AT操作者远程化改造
修改主操作者
- 修改主调端的‘启动根操作者’
- 修改主调操作者的数据簇和成员函数
- 修改主调操作者的启动函数‘loadapp.vi’
- 添加主调操作者的消息函数
- connected.vi
- 连接成功消息,不适用框架消息制作器,直接新建类,更改类继承机制
- 如果找不到应该继承的connected message.lvcalss 类,先尝试在某vi中放入一个nested endpoint.lvclass 对象常量,让项目自动包含一些库。
- 修改核心函数actor core.vi
- 事件结构
修改P3AT本地操作者
- 改名为‘Remote Endpoint P3AT Actor’
- 修改操作者类簇结构和成员函数
- 修改消息类和消息函数
- 修改核心函数
- 修改事件结构
添加操作者启动器
- 可以了,接下来对远程操作者的使用跟本地操作者使用是一样的了。
- 程序结束时提示TCP连接错误,是因为另一端的嵌套操作者没有正常结束,给另一端的操作者发送normal stop.vi 即可
- 窗口全部结束后,关闭项目时仍然提示有在运行的程序,是因为另一端的根操作者没有正常结束,这个问题在实际情况下不会存在,因为那个时候会在另一端的程序中再执行一次停止。
AF框架规范化
- 不需要的消息删除
- 事件用events簇包裹,数据用data簇包裹,控制用control簇包裹,信号用signal簇包裹,命名要规范。
- 初始化的东西放在 pre ini.vi中
- 事先进行需求分析,使用OOP方法对软件进行建模,标准化。
- 使用UML图和COMET技术进行理论化描述
- 需要学习EA工具
下一步工作
- 进行仿真工作
- 手柄进行操作,地图中的机器人模拟动作
- 即先撇开真机器人,对其余的模块进行测试工作。
- 修改地图中的机器人图标为一个箭头。
- 对手柄命令进行模拟的运动执行。