摘要:
本项目中应该存储哪些机器人配置信息? 初始载入及动态更改? 由controlpanel维护机器人外部配置信息,如最大速度等 由协调者维护机器人内部状态信息,如坐标位置等 阅读全文
摘要:
虚拟机VMWARE 如果提示虚拟机打不开,到计算机管理中开启VMWARE AUTHENTICATION SERVICE服务即可 网络配置 虚拟机网络适配器选择“桥接模式”,这样虚拟机就像一台新的电脑,接入局域网,路由器会给它分配一个IP地址 高级设置里面,给虚拟机网卡设置MAC地址,与机器人网卡一致 局域网路由器(学习路由器官方三个文档) ... 阅读全文
摘要:
使用状态行为模式设计状态机 在LV上应用状态行为模式 使用LabVIEW State Actor 状态行为模式与状态机设计 状态行为模式(GOF) 决定状态转移的逻辑不在单块的if或switch语句中,而是分布在state子类之间 将每一个状态转换和动作封装到一个类中,就把着眼点从执行状态提高到整个对象的状态 实现上的考虑 谁定义状态转换 基于表... 阅读全文
摘要:
不要actor core实现消息转发 应该是实现不了的,因为需要执行“启动嵌套操作者”和“执行父方法” 每一个状态都应该执行一个循环,且能够被打断 执行循环的时候被打断,能够实现么? 接下来实现 交互面板在不同状态下采集不同地方的信息,手柄或手机。。。 尝试手柄操作者不用核心函数 改造状态操作者样例程序 思路 协调者需要状态,根据不同的... 阅读全文
摘要:
LabVIEW + ROS ====== ROSARIA 可以,学习ROS即可, 界面在工作站上 与使用SOCKET而言,不用设计复杂的XML等传输格式,解析文件等过程 SOCKET是连接的,ROSMSG是基于发布和订阅的 ROSMSG其实是封装了SOCKET的,从这个角度来说ROSMSG要好 所以SOCKET是容易出错的 LabVIEW... 阅读全文
摘要:
怎样实现多种模式通信 异步 等待 等待的必要性? 怎样启动和停止另一个操作者 启动对方或者运行对方时出错怎么办? 发消息时对方不在怎么办 怎样知道对方在不在 操作者与操作者间的交互模式 计划 画图 怎样设置友元? 需要子孙类重写该动态分配VI 就是虚函数吧? 需要将该动态分配VI重写为始终调用“... 阅读全文
摘要:
计划 重新定义操作者架构 解决基本的启动和关闭问题 思考一些最基础的问题的通用解决方法 如操作者开启,关闭时使用什么样的线程同步方式 消息数据结构的细粒度怎么组织 思考一些问题解决的模式 如Actor间的消息通信模式 实现程序框架 将基本的关系处理好 程序设计要优秀 继续画图,已经有多层次的数据流图,... 阅读全文
摘要:
状态机知识 状态A所做的事情 状态B所做的事情 A到B转换的条件 B到A转换的条件 结束的条件 在各个转换的过程中所执行的转换动作 示例程序在此处 D:\Program Files (x86)\National Instruments\LabVIEW 2014\ProjectTemplates\Source\Actor Framework 学习文档 Pro... 阅读全文
摘要:
“手动协作”用例 添加命令允许控制消息 具体来讲,在Input Operator Actor 的前面板中设置一些按钮,作为一个消息传递给Coordinator Actor ,由协调者操作者根据此控制簇来决定哪些命令应该被转发。 标准的操作者类应该是怎样的呢? 类的私有数据成员 将接受到的消息的数据类型引用输入控件 改变自己状态的用户事件句柄控件 ... 阅读全文
摘要:
本文使用COMET方法对机器人协作系统进行软件建模与设计,并使用LabVIEW Actor Framework 进行详细设计。 关于这篇文档为什么要做这些,以及具体是如何做的,请参考文献[1] 参考文献 [1] Gomaa H. Software Modeling and Design Software Modeling and Design: UML, Use Cases, P... 阅读全文
摘要:
Object Oriented Programming (OOP) and Actor Framework (AF) allow us to implement APIs. Don’t reinvent the wheel, borrow someone else’s Better large project performance 深刻理解AF体系结构 ... 阅读全文
摘要:
改名字,改图标 注意文件夹名字在资源管理器中修改,LV文件名在项目管理器中重命名 新建Input Operator Actor 建操作者类 将原主操作者中的消息类和任务函数移植过来 重要信息 关于函数的VI属性设置 操作者框架的重入函数,VI属性-执行-应该设置为共享副本重入 不然会发生严重错误!!! 如果手柄操作者无法发出信息 在... 阅读全文
摘要:
面向对象软件开发 充分利用继承,增强代码复用 继承机制的使用需要强大的思维抽象能力 关于操作者框架 绕开任务树 本范例项目特意在一个位置中断了任务树。“冷却器”和“冷却器控制器”操作者处于任务树的不同分支,但本范例项目将两者的当前类待入队列发送给对方,从而使得它们能够直接互相通信。该代码包含在“气冷系统应用程序”类的“操作者核心”方法中。 直接进行通信的原... 阅读全文
摘要:
远景 除了使用‘模型操作者’进行规划外,还专门构建一个‘算法操作者’进行算法选择及计算。 在这里,一个操作者即一个类,在进行静态及动态建模中使用COMET建模方法 随着消息通信机制的日益复杂,应该使用多层嵌套操作者框架,参考蒸发冷却器的项目设计。 除了操作者及消息使用OO方法进行设计之外,其他所有程序都要使用OO进行设计,此时需要深刻理解软件建模,面向对象系统分析... 阅读全文
摘要:
Message is the object!!! 主要任务 建立voice_control操作者 完善环境模型操作者(取消1125) 新建P3AT simulator操作者(不用了,直接继承1125) 更新地图操作者。 需要画箭头 声音控制操作者编写 在类簇控件中添加一个包含若干用户事件引用句柄的簇 用户事件初始化在初始化VI中实现 用户事件注... 阅读全文
摘要:
安装 pip python 2.7.9 之后的版本默认包含pip包维护工具 安装辅助工具 刚在机器上windows环境下装上pip方便以后安装包的时候使用,谁知道第一次使用pip安装asyncio的时候就报错。 在Windows7x64下使用pip安装包的时候提示报错:Microsoft Visual C++ 9.0 is required (Unable to fin... 阅读全文
摘要:
编写规则更新 最开始在消息的DO函数中进行信息分析和决策,现在看来不行 如果所有的消息都通过一个消息传达,因为SEND函数的接线端口有限,势必会形成多个庞大的簇结构,而send函数会触发一个DO函数,则很有可能会产生同时竞争一个DO函数的情况,因为如果很多信息集中在一个消息结构中,同时调用一个DO函数的情况会特别多而且是并发的。 所以,簇的大小应该适当,这就增加了消息的数量 ... 阅读全文
摘要:
LV使用XBOX ONE 5GHZ无线传输 使用LV的XBOX ONE Package即可 参考范例 Network Endpoint Actors Message Stream Network Endpoints manage a Message Stream. Message Stream is an abstract clas... 阅读全文
摘要:
老师指导意见: 在操作者框架中,真正的实体对象(存储数据的地方)只是操作者和消息,队列只是一个逻辑结构(逻辑抽象),还有一个存储数据的地方是VI的显示控件,所以一共只有三个地方存储数据。 对优先级的考虑 三个优先级,如果采用简单优先级,那样会造成饥饿(starvation)或无穷阻塞(infinitive blocking)问题 解决方案: ... 阅读全文
摘要:
主要分四步 操作者创建 消息创建 程序写入 联合调试 继续学习操作者白皮书文档 总的来说,操作者框架是基于通信的框架,是一种messaging frameworks Considerations for Implementation Debugging Actors 运行的时候操作者无法退出的两种解决方案 Th... 阅读全文