




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档 1欢迎下载 六自由度模块化机器人实验报告 指导老师 团队成员 精品文档 2欢迎下载 六自由度模块化机器人实验报告 绪论 1 实验课程简介 六自由度工业机器人具有高度的灵活性和通用性 用途十分广泛 本实验是在开放的 六自由度机器人系统上 采用嵌入式多轴运动控制器作为控制系统平台 实现机器人的运 动控制 通过示教程序完成机器人的系统标定 学习采用 C 编程设计语言编写机器人的 基本控制程序 学习实现六自由度机器人的运动控制的基本方法 了解六自由度机器人在 机械制造自动化系统中的应用 二 实验课性质 目的和任务 性质 独立设置的开放实验 目的 通过六自由度机器人及其在机械自动化中的应用开放实验 使学生能够了解六自由 度机器人的基本结构 工作原理 控制系统组成等 掌握机器人传动系统分析和运动学分 析的基本方法 学习机器人控制编程 了解六自由度机器人在自动化制造系统中的应用 任务 1 熟悉六自由度机器人系统基本组成 2 实现机器人坐标回零和机器人示教 3 完成机器人运动学分析和求解 4 完成机器人本体部分三维建模和运动学仿真 5 掌握机器人的单轴运动控制编程 6 学习机器人运动轨迹规划及其控制实现方法 三 实验课教学基本要求 1 通过该实验课的学习 要求学生熟悉六自由度机器人的机械结构组成 2 熟悉机器人传动系统的特点 掌握机器人运动学分析的基本方法 3 掌握机器人运动学仿真技术 4 了解机器人控制系统的组成和控制原理 5 掌握机器人基本的运动控制编程 精品文档 3欢迎下载 实验内容 实验一 对六自由度机器人机电和本实验的基本了解 实验目的 了解本实验的基本要求 了解本实验在本学期的基本安排 通过老师的讲解和频 频播放 理解在进行本实验时需要补充的知识 实验内容 1 老师给我们播放了一些关于机械人在机械工业当中应用的视频 2 老师解释了创新思想在这方面的重要性 并举出好多相关的现实例子 还推 荐我们阅读 蓝海风暴 和 第三次工业革命 等有关书籍 以增强我们的创新意识 精品文档 4欢迎下载 附 读 蓝海战略 有感 一 看过 蓝海战略 这本书后 对如今的商场有了全新的认知 以前仅局限于事物的表面 一个企业只要能够正常的运营就能得到相应的利润 不会有多大的风险 看不到它潜在的危 机 现今远不是这样了 在这个世界经济暴破的时代 只想求得一时的安逸 不去谋求长 远的发展 那是很难在如今的商场立足的 更何况现在的 商场如战场 竞争是如此的激 烈 没有一个完善的战略与认知 要想从商海中脱颖而出是不易的 翻开这本书 仿佛进入了一个全新的领域 作者引用了大量的事实和案例 阐述了 红海 和 蓝海 的内在联系 探求着 蓝海 开创之路 作为一个技术研究人员 做 技术是为了什么呢 上升到战略层面的话 那就是开创 蓝海 所以说 蓝海战略 拓展 了我的视野 让我对创新这个词 有了更深的理解 首先 蓝海战略 让我对创新有了新的理解 创新不只是技术创新 更重要的是价值 创新 创新的目标 不是去创新新奇的东西 而是更好的满足客户的需要 在历史上有很 多企业都是获得了技术创新而最后都亏本了 像著名的摩托罗拉铱星计划最终失败了 最 主要的原因就是技术上的创新和价值的创新脱节 那么问题就是如何让用先进的技术去赚 钱 这恐怕是每一个技术人员在做技术的时候 必须要反复考虑的事情 新技术是价值创 新的基础 但不是价值创新的全部 以用户需求为依托 以技术为基石 推出新产品 开 拓新业务 才是我们创新的责任 其次 蓝海战略 使我对竞争的概念又有了更新的理解 竞争 不仅仅包括和竞争对 手在 红海 中的搏杀 还应包括新产品 新市场领域的占领上 通信领域不仅仅是话费 价格的竞争 更重要的是新产品 新业务的竞争 时移则事易 因为之备 客户的需求随着时代的发展在不断变化 蓝海战略要求企 业把目光从市场的供给一方转移需求一方 也就是与其与竞争对手死拼 不如推出更能满 足客户需要的产品 跨越现有的竞争边界看市场 将不同市场的买方价值元素筛选 重新 排序 企业就有可能重建市场和产业边界 开启巨大的潜在需求 从而摆脱 红海 已 知市场空间 的血腥竞争 开创 蓝海 新的市场空间 一个公司必须坚持探索蓝海 因为只有不断发现蓝海才能保证公司是满足客户的要求 才能不会被市场淘汰 只考虑红海是不行的 假如诺基亚一直抱守红海的话 可能它还是 在做木材加工 但红海是必须的 有了一套红海的竞争能使你在发现蓝海并迅速在蓝海里 确立你的地位 如果没有红海我想即使你找到拉蓝海你也不能迅速占领 蓝海代表着亟待 开发的市场空间 代表着创造新需求 代表着高利润增长的机会 尽管有些蓝海完全是在 已有产业边界以外创建的 但大多数蓝海则是通过在红海内部扩展已有产业边界而开拓出 来的 我们做这个实验的时候也应该具备这方面的认知能力 二 蓝海战略 还阐述了另一个观点 开创蓝海的成功者和失败者之间的分水岭 不 在于尖端技术 也不在于 进入市场的时机 这些因素有时候会存在 但更多时候 它们 并不存在 只有当企业把创新与效用 价格 成本整合一体时 才有价值创新 如果创新 不能如此植根于价值之中 那么技术创新者和市场先驱者往往会落到为他人做嫁衣的下场 精品文档 5欢迎下载 只重价值 不重创新 就容易使企业把精力放在小步递增的 价值创造 上 这种做法 也能改善价值 却不足以使你在市场中出类拔萃 只重创新 不重价值 则易使创新仅为 技术突破所驱动 或只注重市场先行 或一味追求新奇怪诞 结果是常常超过买方的心理 接受能力和 购买力 因此 很重要的一点就是要把价值创新与技术创新及市场先行区分开 正如 蓝海战略 这本书所提 任何一家企业都不可能永葆卓越 正如任何一个行 业都无法长盛不衰一样 我们回顾走过的路时会发现 自己和企业一样 做了聪明的事和 蠢事 为了更加成功 我们需要研究和认识造成积极变化的那些行为 以及如何才能系统 性地复制此类正确的行为 这就是我们所说的聪明的战略推动 并且我们发现 起中心作 用的战略行 为就是开创蓝海 现今的市场从某一方面说 以达到了饱和的状态 大多数厂商为了市场份额而和竞争 对手拼价格 使自己的利润大大的下降 总是幻想占领市场后再提价格 但真正有多少人 能做到这样呢 我们希望用服务来弥补产品的不足 但你的服务再好也赶不上用户需求的不 断提 高 蓝海战略 战略给我们引入了全新的词汇 蓝海 蓝海战略要求企业突破传统的血 腥竞争所形成的 红海 拓展新的非竞争性的市场空间 金和莫博涅教授用大量的事实和 案例阐述了 红海 与 蓝海 的内在关联从而把 战略 一词阐述得那么通透 明了 厂商太重视竞争对手 总是想尽办法对抗 而忽视了创造 从而陷入了 红海 已知市场 空间 战略中 蓝海战略要求企业把视线从市场的供给一方移向需求一方 从关注并比超 竞争对手的所作所为转向为买方提供价值的飞跃 通过跨越现有竞争边界看市场以及将不 同市场的买方价值元素筛选与重新排序 企业就有可能重建市场和产业边界 开启巨大的 潜在需求 从而摆脱 红海 已知市场空间 的血腥竞争 开创 蓝海 新的市场空间 如今要 赢得明天 企业不能靠与对手竞争 而是要开创 蓝海 即蕴含庞大需求的新市场空间 以走上增长之路 刚看到 蓝海战略 这本书时还不知道是关于什么的书 我很好奇就带着一份好奇心读 下去 从书的前言部分直到整本书的结束 我都很惊讶 它让我试目一新对于企业未来的发展 有了全新的认知 对于个企业来说持续长久的生存那才是关键性的 只某一时的利 那是长久 不了的 现在是一个世界经济暴破的时代 企业的发展不能紧跟原有的模式去发展 要以不变 应万变去应对未来的发展 更多的时候在别人还没有着手的时候就开始改变 要不断地创新 要有自己特有的别人没有的那你才有在激烈的竞争中胜出 否则你只能尾随其后眼看着别人 飞速发展 甚至走上破产 企业的发展一般要经历五个阶段 一 成立 二立足 三 成长 四 扩张 五成熟 对于每一 个阶段的发展 它都需要做出相应的策略与计划以谋求更长久的发展 对于每一阶段所发生 的问题会采取相应的措施与对策来维持企业的运营 特别是在这个商场竞争激烈的年代 要 想立有一 席之地没有独特的商品与战略是很难立足的 从看到 这全书后 给人有太多的 感触 它对企业在未来的竞争市场中脱颖而出做了全面的分析 如何脱离红海进入蓝海 颠 覆传统的战略思维的蓝海战略即在当前尚不存在的所有行业 未知的市场空间 开辟出新 的市场空间 绕过竞争创造新的市场便成为其核心 在跨度达 100 多年 涉及 30 多个产业的 150 个战略行动的研究中 提出要赢得明天企 业不能与对手竞争 而是要开创蓝海 即蕴含庞大需求的新的市场空间 以走上增长之路 精品文档 6欢迎下载 我们可以从古埃 拉里伯特先生创造的马戏团的蓝海中看到 在竞争中获胜的方法就是打 消念头 重建市场边界 注重全局 超越现有竞争需求 遵循合理的战略顺序克服组织障 碍并 把战略的执行建成战略的一部分 而今我们看到的众多企业都是处于红海中 当前已存在的所有行业 即已知的市场空 间 在过度拥挤的产业市场中 与对手争抢日益缩减的利润额 如 汽车行业在以往的市 场中互相竞争取得更多的市场份额 但福特 T 型车的开发以及克莱斯勒迷你厢车的推出却 在不同层次上创出了自己的蓝海 福特 T 型车市场份额从 1908 年的 9 扶摇直上到 1921 年 的 61 替代了马车 成为美国首要的运输方式 克莱斯勒的迷你厢车以外观和更得的车 内空间为众多家庭所拥有 因此在汽车行业中绕过了红海中血腥的竞争 开创了新的市场 边界 于此 我国的众多行业也应在已有的红海中勇于创新 开拓新的市场空间 以便在 国际化中 占有新的市场 蓝海的竞争有其独特的一面 有自然形成的垄断 价值创新的难度 专利与法律的许 可 网络外溢效应的强大 较好的口碑和拥戴者 模仿壁垒等的存在 因此 替代品的作 用也被削减 对此我们在开拓蓝海时不得不建立良好的情感导向 发展并创新自己拥有的 雄厚技术 力量 创立自己的国际性品牌 加强产品差异化建立等 读 第三次工业革命 有感 按照团队的安排 我们利用空余时间读了 第三次工业革命 一书 作者杰里米 里 夫金在书中把第三次工业革命概括为可再生能源与互联网技术的结合 预测了未来世界的 五个支柱 1 向可再生能源转型 2 将每一大洲的建筑转化为微型发电厂 就地收 集可再生能源 3 在建筑物中使用氢和其他存储技术存储间歇能源 4 利用互联网 技术将电力网转化为能源共享网络 5 将运输工具转向插电式以及燃料电动车 所需电 源来自上述电网 作者的构想对于我们当前实验的进行具有较大的启发意义 读后体会很深 细读本书 可以发现作者提出的 能源互联网 模式暗含 制造业数字化 的前提 建设分布化的可再生能源供给体系是为了保证能够实现分散化 个性化生产 2008 年金融 危机之后 世界各国尤其是欧美国家都在寻求迅速走出金融危机阴霾的解决方法及重夺制 造业发展制高点的机遇 以 3D 打印机为代表的新型生产设备的出现 预示着 数字化制造 的工业发展趋势正在逐渐明朗 通过信息技术和智能技术的融合来弥补制造业的劳动力成 本劣势 带动大规模生产向柔性制造转变 促使生产者更贴近消费市场 以适应市场快速 反应与个性化服务的需求 如此一来 过去为追逐低劳动力成本而转移到发展中国家的资 本 很可能在不久的将来会回到发达国家中去 当前是一个不进则退的关键时刻 我们要 趁着资源优势与劳动力优势尚未消失殆尽之时 破除路径依赖 积极融入迎接第三次工业 革命的筹划 加快实现整体转型升级 书中指出 要建立以市场为导向的 产学研 结合的能源技术创新体系 增强自主创 新能力 其实 这种精神对于我们做实验有很大的帮助 精品文档 7欢迎下载 实验二 六自由度机器人机电一体化系统学习 实验目的 了解六自由度机器人的机械部分 控制部分 驱动执行部分 传感器与反馈部分 实验要求 通过实验教师的讲解和现场教学 使学生了解六自由度机器人的机械部分 控制部分 驱动执行部分 传感器与反馈部分组成和原理 实验内容 实验教师给学生介绍工业机器人的发展和应用情况 重点介绍在机械工业中的应用 学生结合 GR600 型六自由度机器人 学习六自由度机器人的机械本体部分 控制部分 驱 动执行部分 传感器与反馈部分组成和原理 使用的主要仪器 六自由度工业机器人及其控制和执行系统 实验原理 六自由度机器人结构示意图 精品文档 8欢迎下载 六自由度机器人技术参数如下图所示 自由度 6 负载能力 0 5Kg 关节 转动 90 90 关节 转动 45 45 关节 转动 45 45 关节 转动 90 90 关节 转动 45 45 动作范围 关节 转动 180 180 关节 转动 60o s 关节 转动 60o s 关节 转动 60o s 关节 转动 60o s 关节 转动 60o s 最大速度 关节 转动 60o s 本体重量 10Kg 操作方式示教再现 编程 电源容量单相 220V 50Hz 3A 高度 685mm 驱动方式步进电机驱动 重复定位精度 0 8mm 0 8mm 精品文档 9欢迎下载 机器人的组成部分 机器人的手 操作系统 作用是抓住一个工作对象使其按工作或作战要求动作 机器人的眼 感测系统 作用是观测工作对象及其周围环境的信息 通过收集信息 将其反馈给控制中心 作为对机器人行为控制和协调的依据 机器人神经系统 信息传输系统 作用是将传感器和观测器获得的各种信息下传上 达 交给各执行及其附属设备 机器人的心脏 动力系统 作用是负责向机器人提供动力 主要设备有各种发动机 发电机及其附属设备 机器人的大脑 指挥控制系统 作用是加工处理各种信息 指挥 控制机器人的各 种行动 实验三 六自由度机器人的拆装实验 实验目的 通过现场教学和实际拆装 掌握六自由度机器人的机械本体部分结构组成和传动系统 基本要求 在实验教师的指导下 使学生能够熟悉六自由度机器人的机械本体结构和传动系统组 成 了解六自由度机器人各个关节采用的减速器及其减速比 了解六自由度机器人各关节 的联动关系 实验内容 针对六自由度工业机器人 通过现场教学和实际拆装 学生掌握六自由度机器人的基 本操作 学习六自由度机器人本体的机械结构组成及工作原理 熟悉各关节的传动关系和 减速器特点 使用的主要仪器 六自由度工业机器人本体 实验原理 机器人机械系统主要由以下几大部分组成 原动部件 传动部件 执行部件 基本机 精品文档 10欢迎下载 械结构连接方式为原动部件 传动部件 执行部件 机器人的传动简图如下图所示 关节传动链主要由伺服电机 减速器构成 关节传动链主要由伺服电机 减速器构成 关节传动链主要由步进电机 同步带 减速器构成 关节传动链主要由步进电机 减速器构成 关节传动链主要由步进电机 同步带 减速器构成 关节传动链主要由步进电机 同步带 减速器构成 精品文档 11欢迎下载 实验四 六自由度机器人的建模实验 实验目的 精品文档 12欢迎下载 对六自由度机器人的一个关节进行简单的建模 实验要求 在实验教师的指导下 利用上次拆装六自由度机器人的经验 对其重要零件利用测量器 材测量出其各个的量 然后利用计算机进行简单的建模 实验内容 通过拆装六自由度机器人 测量出其主要的参数 进行简单的建模 使用的主要仪器 六自由度工业机器人本体 具体的见附录 实验五 六自由度机器人运动学分析和各关节坐标回零与示教练习 实验目的 精品文档 13欢迎下载 通过实际操作六自由度机器人 学习六自由度机器人运动学分析基本方法 理解机器 人各关节坐标回零的含义 掌握机器人系统各关节坐标回零的方法 掌握机器人示教的基 本方法 实验要求 在实验教师的指导下 要求学生掌握六自由度机器人运动学分析的基本方法 通过现场 实际操作 熟悉六自由度机器人的各关节坐标回零和机器人示教的基本方法 实验内容 针对六自由度机器人 掌握基本的机器人运动学分析方法 完成基本的运动学正解和 反解 学生通过实际操作熟练掌握六自由度的各关节坐标回零 掌握以机器人的关节坐标 和直角坐标方法进行机器人示教的方法 通过实验操作理解机器人直角坐标和关节坐标的 关系 使用的主要仪器 六自由度工业机器人本体及其控制系统 精品文档 14欢迎下载 实验操作 1 连接好气路 启动气泵到预定压力 2 启动计算机 运行机器人软件 3 接通控制柜电源 按下 启动 按钮 4 点击主界面 机器人复位 按钮 机器人进行回零运动 观察机器人的运动 六 个关节全部运动完成后 机器人处于零点位置 5 点击 关节示教 按钮 出现如图 1 4 所示界面 按下 打开 按钮 在机器人 软件安装目录下选择示教文件 BANYUN RBT6 示教数据会在示教列表中显示 6 装配操作演示 在 2 个支架的相应位置上分别放置轴和轴套 然后按下 再现 按钮 机器人实现装配动作 7 运动完毕后 按下 复位 按钮 机器人回到零点位置 关闭对话框 8 如果想再做一次装配动作 把轴放回相应位置 按下 再现 按钮即可 9 点击 机器人复位 按钮 使机器人回到零点位置 10 按下控制柜上的 停止 按钮 断开控制柜电源 11 退出机器人软件 关闭计算机 注意事项 1 在老师的指导下进行实验 2 机器人通电后 身体的任何部位不要进入机器人运动可达范围之内 3 机器人运动不正常时 及时按下控制柜的急停开关 精品文档 15欢迎下载 实验五 六自由度机器人基本的运动轨迹规划和基本的控制编程 实验目的 学习六自由度机器人基本的运动轨迹规划方法 学习基本的运动控制编程 实验要求 掌握单关节 单轴 运动和多关节 多轴 顺序运动规划 能够采用 VC 编写单轴运 动控制程序和多轴运动顺序控制程序 实验内容 在实验教师指导下 学生采用运动控制开发平台 学习掌握单关节 单轴 运动和多 关节 多轴 顺序运动规划 学习采用 VC 编写单轴运动控制程序和多轴运动顺序控制程 序 使用的主要仪器 六自由度工业机器人 运动控制开发平台 实验步骤 1 建立新工程 1 打开Visual C 6 0 2 在菜单中选择 New Project 项目 3 选择 MFC Appwizard exe 项 4 选择工程保存路径 如 D 5 输入工程名 Example6s 单击 OK 如图 9 2 所示 精品文档 16欢迎下载 图 9 2 New Project 创建界面 在后面弹出的窗体中选择 Dialog based 项 其它按默认设置 单击 Finish 按钮 出现下一层窗体后 直接再单击 OK 创建完成 Example6s 工程 1 首先将配套光盘中的s6s1文件夹下的动态链接库文件 s6s1v100 dll s6s1 h s6s1v100 lib mac2sspv102 dll mac2ssp2v101 dll 和 s6s1cfg ini六个文件拷贝到刚刚建立的Example6s工程的工程文件夹下 2 导入链接库 选择 菜单 Project Settings 项 在 Project Settings 对话框中选择 Link 选项卡 在 Object library modules 栏下面的输入框中加入 s6s1v100 lib 单击 OK 完成动态链接 库的链接 图 9 3 Project Settings 对话框 3 用户界面设计 首先修改对话框标题为 模块化教学机器人实例程式 精品文档 17欢迎下载 图 9 4 单击窗体外框 拖拽窗体到合适大小 以图 9 12 为样本制作用户界面 并按下面步骤修改相应 ID 和标题 1 添加单选按钮控件 首先添加一个单选按钮到窗体 右键单击新加入的控件 在弹出菜单里单击 Properties 项 如图 9 5 所示 图 9 5 将 ID 改为 IDC XMOTOR Caption 改为 模块 1 选中 Group 复选框 如图 9 6 精品文档 18欢迎下载 图 9 6 关闭 Radio Button Properties 对话框 同样方法再添加 11 个单选按钮 ID 和控件 标题按下表修改 未注明 Group 选择的不勾选 Group 项目 控件 ID控件标题标注 IDC XMOTOR 模块 1Group 选择有效 IDC YMOTOR 模块 2 IDC ZMOTOR 模块 3 IDC UMOTOR 模块 4 IDC VMOTOR 模块 5 IDC WMOTOR 模块 6 IDC SPEED 速度模式Group 选择有效 IDC POSITION 位置模式 IDC PDIR 正向Group 选择有效 IDC NDIR 负向 IDC RADIO11 匀速Group 选择有效 IDC RADIO12 加速 2 添加静态文本控件 添加静态文本控件 在右键弹出菜单中单击 Properties 项 Caption 标题改为 运行速度 如图 9 7 所示 精品文档 19欢迎下载 图 9 7 再添加三个静态文本控件到窗体中 标题分别改为 目标位置 度 秒 度 修改后窗体如图 9 8 所示 图 9 8 3 添加编辑框控件 添加两个编辑框控件到窗体 将 ID 分别改为 IDC FH 和 IDC TRANS 如下表所示 控件 ID控件标题标注 IDC FH 对应运行速度 IDC TRANS 对应目标位置 4 添加一个复选框按钮 在右键弹出菜单中单击 Properties 项 修改 ID 为 IDC CHECK HAND 标题修改为 手爪张开 如图 9 9 所示 控件 ID控件标题标注 IDC CHECK HAND 手爪张开属性中 Styles 选项卡下 Push link 项选中 精品文档 20欢迎下载 图 9 9 单击 Styles 选项卡 勾选 Push like 控件 如图 9 10 所示 图 9 10 5 将原有的确定按钮 ID 改为 IDC TRANS START 标题改为 启动 再添加一个按钮 修改 ID 为 IDC SUDDEN STOP 标题为 立即停止 如下表所示 控件 ID控件标题标注 IDC TRANS START 启动 IDC SUDDEN STOP 立即停止 IDCANCEL 退出 所有控件添加完成之后 逐步调整控件大小及位置 如图 9 11 所示 精品文档 21欢迎下载 图 9 11 6 添加组框 6 个 修改 ID 和标题如下表所示 控件 ID控件标题标注 IDC STATIC 关节选择 IDC STATIC 运动方式 IDC STATIC 运行参数 IDC STATIC 运动方向 IDC STATIC 启动方式 IDC STATIC 运动测试 最终窗体如图 9 12 所示 精品文档 22欢迎下载 图 9 12 7 添加成员变量 选择 菜单 View ClassWizard 在弹出的对话框中选择 Member Variables 选项 卡 按下表所示为控件添加成员变量 控件 ID变量类型变量名称 IDC XMOTORIntm axis IDC SPEEDIntm runmod IDC CHECK HANDBOOLm hand IDC TRANSDoublem trans IDC FHDoublem fh IDC PDIRIntm dir IDC RADIO11Intm acc 4 代码添加 1 双击窗体进入代码区 将构造函数中成员变量的默认值修改为 m axis 0 m hand FALSE m fh 5 0 m trans 15 0 精品文档 23欢迎下载 m runmod 0 m dir 0 m acc 0 2 在源程序开始部分加入对动态链接库头文件的引用 代码如下 include include s6s1 hs6s1 h 3 找到 OnInitDialog 函数 在 TODO Add extra initialization here 后添加如下代码 BOOL CExample6sDlg OnInitDialog TODO Add extra initialization here s6s1 set critical NULL s6s1 set critical NULL 系统内部会创建一个临界段对象维护线程安全系统内部会创建一个临界段对象维护线程安全 s6s1 init 1 NULL true s6s1 init 1 NULL true 初始化初始化 s6s1 select 1 s6s1 select 1 选择选择 1 1 return TRUE return TRUE unless you set the focus to a control 4 双击 手爪张开 复选按钮 建立单击响应函数 默认函数名 并添加代码 void CExample6sDlg OnCheckHand TODO Add your control notification handler code here if UpdateData true if UpdateData true return return if m hand if m hand s6s1 hand 1 s6s1 hand 1 张开张开 GetDlgItem IDC CHECK HAND SetWindowText GetDlgItem IDC CHECK HAND SetWindowText 手爪张开手爪张开 elseelse s6s1 hand 0 s6s1 hand 0 闭合闭合 GetDlgItem IDC CHECK HAND SetWindowText GetDlgItem IDC CHECK HAND SetWindowText 手爪闭合手爪闭合 5 双击 启动 按钮 建立单击响应函数 默认函数名 并添加代码 void CExample6sDlg OnTransStart 精品文档 24欢迎下载 TODO Add your control notification handler code here if UpdateData true if UpdateData true return return doubledouble spd m fh spd m fh 定义定义 m m 轴的运动速度轴的运动速度 if spd 0 if spd 0 spd 1 spd spd 1 spd if m runmod 0 if m runmod 0 速度模式速度模式 if m dir 1 if m dir 1 spd spd 1 spd spd 1 s6s1 moveone m axis m trans spd true m acc 1 s6s1 moveone m axis m trans spd true m acc 1 加速移动加速移动 m m 轴轴 elseelse s6s1 moveone m axis m trans spd false m acc 1 s6s1 moveone m axis m trans spd false m acc 1 以指定速度运行以指定速度运行 m m 轴轴 6 双击 立即停止 按钮 在代码区添加以下代码 void CExample6sDlg OnSuddenStop TODO Add your control notification handler code here if UpdateData true if UpdateData true return return 如果控件显示中的数据不在变量范围之内 更 新显示数据到变量成功 返回 s6s1 stop axis m axis s6s1 stop axis m axis 停止停止 m m 轴的运动轴的运动 7 双击 退出 按钮 在代码区添加以下代码 void CExample6sDlg OnCancel TODO Add extra cleanup here s6s1 close s6s1 close 关闭关闭 CDialog OnCancel 控制卡链接库 VC 编程 1 建立新工程 1 打开Visual C 6 0 2 在菜单中选择 New Project 项目 3 选择 MFC Appwizard exe 项 4 选择工程保存路径 如 D 精品文档 25欢迎下载 5 输入工程名 ExampleVC 单击 OK 6 在后面弹出的窗体中选择 Dialog based 项 其它按默认设置 单击 Finish 出 现下一层窗体后 直接单击 OK 至此 ExampleVC 工程创建完成 2 将配套光盘中的s6s1文件夹下的动态链接库文件 mac2ssp2v101 dll mac2ssp2v101 lib MAC2SSP2v101 h mac2sspv102 dll mac2sspv10 2 lib和MAC2SSPv102 h六个文件拷贝到刚刚建立的ExampleVC工程的工程文件夹下 3 导入链接库 选择 菜单 Project Settings 项 在 Project Settings 对话框中选择 Link 选 项卡 在 Object library modules 栏下面的输入框中输入 mac2ssp2v101 lib mac2sspv102 lib 单击 OK 将链接库导入到 ExampleVC 工程中 图 10 1 Project Settings 对话框 2 用户界面设计 首先修改对话框标题为 模块化教学机器人实例程式 单击窗体外框 拖拽窗体到合 适大小 以图 10 9 为样本制作用户界面 并按下面步骤修改相应 ID 和标题 1 添加单选按钮控件 首先添加一个单选按钮到窗体 右键单击新加入的控件 在弹出菜单里单击 Properties 项 精品文档 26欢迎下载 图 10 2 将 ID 改为 IDC XMOTOR Caption 改为 模块 1 选中 Group 复选框 如图 10 3 所示 图 10 3 关闭 Radio Button Properties 对话框 同样方法再添加 11 个单选按钮 ID 和控件 精品文档 27欢迎下载 标题按下表修改 未注明 Group 选择的不勾选 控件 ID控件标题 标注 IDC XMOTOR 模块 1Group 选择有效 IDC YMOTOR 模块 2 IDC ZMOTOR 模块 3 IDC UMOTOR 模块 4 IDC VMOTOR 模块 5 IDC WMOTOR 模块 6 IDC SPEED 速度模式Group 选择有效 IDC POSITION 位置模式 IDC PDIR 正向Group 选择有效 IDC NDIR 负向 IDC RADIO11 匀速Group 选择有效 IDC RADIO12 加速 2 添加静态文本控件 添加静态文本控件 在右键弹出菜单中单击 Properties 项 Caption 标题改为 运行 速度 如图 10 4 所示 精品文档 28欢迎下载 图 10 4 再添加三个静态文本控件到窗体中 标题分别改为 目标位置 度 秒 度 修改后窗体如图 10 5 所示 图 10 5 3 添加编辑框控件 添加两个编辑框控件到窗体 将 ID 分别改为 IDC FH 和 IDC TRANS 如下表所示 控件 ID控件标题标注 IDC FH 对应运行速度 IDC TRANS 对应目标位置 4 添加一个复选框控件 在右键弹出菜单中单击 Properties 项 修改 ID 为 IDC CHECK HAND 标题修改为 手爪张开 如图 10 6 所示 控件 ID控件标题标注 IDC CHECK HAND 手爪张开 属性中 Styles 选项卡下 Push link 项选中 精品文档 29欢迎下载 图 10 6 单击 Styles 选项卡 勾选 Push like 控件 如图 10 7 所示 图 10 7 5 将原有的确定按钮 ID 改为 IDC TRANS START 标题改为 启动 再添加一个按 钮 修改 ID 为 IDC SUDDEN STOP 标题为 立即停止 如下表所示 控件 ID控件标题标注 IDC TRANS START 启动 IDC SUDDEN STOP 立即停止 IDCANCEL 退出 所有控件添加完成之后 逐步调整控件大小及位置如图 10 8 所示 精品文档 30欢迎下载 图 10 8 6 添加成组框控件 6 个 修改 ID 和标题如下表所示 控件 ID控件标题标注 IDC STATIC 模块选择 IDC STATIC 运动方式 IDC STATIC 运行参数 IDC STATIC 运动方向 IDC STATIC 启动方式 IDC STATIC 运动测试 最终窗体如图 10 9 所示 精品文档 31欢迎下载 图 10 9 7 添加成员变量 选择 菜单 View ClassWizard 在弹出的对话框中选择 Member Variables 选项 卡 按下表所示为控件添加变量 控件 ID变量类型变量名称 IDC XMOTORintm axis IDC SPEEDintm runmod IDC CHECK HANDBOOLm hand IDC TRANSdoublem trans IDC FHdoublem fh IDC PDIRintm dir IDC RADIO11intm acc 3 代码添加 1 双击窗体进入代码区 将构造函数中成员变量的默认值由以下数据改为 m axis 0 m hand FALSE m fh 5 0 m trans 15 0 精品文档 32欢迎下载 m runmod 0 m dir 0 m acc 0 2 在源文件开始部分加入对动态链接库头文件的引用 代码如下 include include MAC2SSP2v101 h MAC2SSP2v101 h include include MAC2SSPv102 h MAC2SSPv102 h define define MAC3002SSP4MAC3002SSP4 1 1 define define MAC3002SSP2MAC3002SSP2 2 2 define define RADIOXRADIOX 25600 9 25600 9 define define RADIOYRADIOY 25600 9 25600 9 define define RADIOZRADIOZ 40960 9 40960 9 define define RADIOURADIOU 12800 9 12800 9 define define RADIOVRADIOV 107200 9 107200 9 define define RADIOWRADIOW 960 9 960 9 boolbool ssp2 init false ssp2 init false boolbool ssp4 init false ssp4 init false intint card type 6 2 card type 6 2 2 2 1 1 1 1 1 1 1 1 卡类型卡类型 1 1 MAC3002SSP4MAC3002SSP4 2 2 MAC3002SSP2MAC3002SSP2 intint card numb 6 1 card numb 6 1 1 1 默认卡号默认卡号 intint axis numb 6 0 axis numb 6 0 1 1 0 0 1 1 2 2 3 3 各轴对应的轴号各轴对应的轴号 intint out card type 2 out card type 2 通用通用 IOIO 在在 MAC3002SSP2MAC3002SSP2 卡卡 intint out card numb 1 out card numb 1 1 1 默认卡号默认卡号 intint svn log 6 0 svn log 6 0 0 0 1 1 1 1 1 1 1 1 伺服逻辑伺服逻辑 intint alm log 6 1 alm log 6 1 1 1 1 1 1 1 1 1 1 1 报警逻辑报警逻辑 intint out mode 6 0 out mode 6 0 0 0 2 2 0 0 0 0 0 0 输出模式输出模式 intint run ratio 6 20 run ratio 6 20 20 20 20 20 20 20 20 20 20 20 速度倍率速度倍率 3 找到 OnInitDialog 函数 在 TODO Add extra initialization here 后添加如下代码 BOOL CExample6sDlg OnInitDialog TODO Add extra initialization here CStringCString str str forfor int int i 0 i 6 i i 0 iSetWindowText GetDlgItem IDC CHECK HAND SetWindowText 手爪张开手爪张开 elseelse 精品文档 35欢迎下载 ssp22 set general io 0 x00 ssp22 set general io 0 x00 GetDlgItem IDC CHECK HAND SetWindowText GetDlgItem IDC CHECK HAND SetWindowText 手爪闭合手爪闭合 5 双击 启动 按钮 建立单击响应函数 默认函数名 并添加代码 void CExample6sDlg OnTransStart TODO Add your control notification handler code here if UpdateData true if UpdateData true return return intint axis m axis axis m axis intint pulse 0 pulse 0 intint spd 0 spd 0 switch axis switch axis casecase 0 0 pulsepulse int RADIOX m trans int RADIOX m trans spdspd int RADIOX m fh run ratio axis int RADIOX m fh run ratio axis break break casecase 1 1 pulsepulse int RADIOY m trans int RADIOY m trans spdspd int RADIOY m fh run ratio axis int RADIOY m fh run ratio axis break break casecase 2 2 pulsepulse int RADIOZ m trans int RADIOZ m trans spdspd int RADIOZ m fh run ratio axis int RADIOZ m fh run ratio axis break break casecase 3 3 pulsepulse int RADIOU m trans int RADIOU m trans spdspd int RADIOU m fh run ratio axis int RADIOU m fh run ratio axis break break casecase 4 4 pulsepulse int RADIOV m trans int RADIOV m trans spdspd int RADIOV m fh run ratio axis int RADIOV m fh run ratio axis break break 精品文档 36欢迎下载 casecase 5 5 pulsepulse int RADIOW m trans int RADIOW m trans spdspd int RADIOW m fh run ratio axis int RADIOW m fh run ratio axis break break spdspd abs spd abs spd ifif MAC3002SSP4 card type axis MAC3002SSP4 card type axis MAC3002SSP4 MAC3002SSP4 卡卡 ifif 1 card numb axis 1 card numb axis ssp2 set current card card numb axis ssp2 set current card card numb axis if m runmod 0 if m runmod 0 速度模式速度模式 if m dir 0 if m dir 0 正向正向 dir 1 dir 1 elseelse 负向负向 dir 1 dir 1 if m acc 0 if m acc 0 匀速启动匀速启动 ssp2 start vt move axis numb axis ssp2 start vt move axis numb axis 100 dir 100 dir spd dir spd dir 0 0 速度模式梯型运动匀速启动速度模式梯型运动匀速启动 elseelse ssp2 start vt move axis numb axis ssp2 start vt move axis numb axis 100 dir 100 dir spd dir spd dir 1 0 1 0 速度模式梯型运动加速启动速度模式梯型运动加速启动 elseelse 位置模式梯型运动位置模式梯型运动 相对相对 if m acc 0 if m acc 0 ssp2 start pt move axis numb axis ssp2 start pt move axis numb axis 0 0 pulse pulse 100 100 spd spd 0 0 0 0 elseelse ssp2 start pt move axis numb axis 0 pulse 100 spd 1 0 ssp2 start pt move axis numb axis 0 pulse 100 spd 1 0 1 0 1 0 ifif MAC3002SSP2 card type axis MAC3002SSP2 card type axis MAC3002SSP4 MAC3002SSP4 卡卡 精品文档 37欢迎下载 ifif 1 card numb axis 1 card numb axis ssp22 set current card card numb axis ssp22 set current card card numb axis if m runmod 0 if m runmod 0 速度模式速度模式 if m dir 0 if m dir 0 正向正向 dir 1 dir 1 elseelse 负向负向 dir 1 dir 1 if m acc 0 if m acc 0 匀速启动匀速启动 ssp22 start vt move axis numb axis ssp22 start vt move axis numb axis 100 dir 100 dir spd dir spd dir 0 0 速度模式梯型运动匀速启动速度模式梯型运动匀速
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 写实绘画专业知识培训课件
- 试用期 协议书
- 高压成套设备装配配线工创新能力与改进提案考核试卷及答案
- 硅料腐蚀工月度评审考核试卷及答案
- 公司脂肪醇生产操作工岗位合规化技术规程
- 公司玉器抛光工职业健康、安全、环保技术规程
- 2026届浙江省台州温岭市第三中学七年级数学第一学期期末达标测试试题含解析
- 2025校园多媒体设备采购合同
- 专项安全生产知识培训课件
- 2025家居用品集体采购合同模板
- 陕西省建筑工程施工质量验收技术资料统一用表
- 《细胞》PPT课件-完美版
- 研究借鉴晋江经验-加快构建三条战略通道
- GB/T 3810.2-2016陶瓷砖试验方法第2部分:尺寸和表面质量的检验
- GA 38-2021银行安全防范要求
- 新版GMP教程第五章设备课件
- 企业融资计划书2022
- 99S203 消防水泵接合器安装图集
- 轴承故障诊断演示文稿
- 高原性红细胞增多症的观察和护理
- 多发性大动脉炎
评论
0/150
提交评论