模块化机器人控制卡.doc_第1页
模块化机器人控制卡.doc_第2页
模块化机器人控制卡.doc_第3页
模块化机器人控制卡.doc_第4页
模块化机器人控制卡.doc_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

苏州博实机器人技术有限公司 I 模块化六自由度串联机器人 实验指导书 苏州博实机器人技术有限公司 II 目 录 实验 1机器人的认识 1 1 1实验目的 1 1 2实验设备 1 1 3实验原理 1 1 4实验步骤 4 1 5注意事项 6 实验 2机器人的机械系统 7 2 1实验目的 7 2 2实验设备 7 2 3实验原理 7 2 4实验步骤 11 2 5注意事项 13 实验 3机器人的控制系统 14 3 1实验目的 14 3 2实验设备 14 3 3实验原理 14 3 4实验步骤 15 3 5注意事项 17 实验 4机器人示教编程与再现控制 18 4 1实验目的 18 4 2实验设备 18 4 3实验原理 18 4 4实验步骤 18 4 5思考题 20 4 6注意事项 20 实验 5机器人坐标系的建立 21 5 1实验目的 21 5 2实验设备 21 5 3实验原理 21 5 4实验步骤 22 5 5思考题 27 实验 6机器人正运动学分析 29 6 1实验目的 29 6 2实验设备 29 6 3实验原理 29 6 4实验步骤 29 苏州博实机器人技术有限公司 III 6 5思考题 32 实验 7机器人逆运动学分析 33 7 1实验目的 33 7 2实验设备 33 7 3实验原理 33 7 4实验步骤 34 7 5思考题 37 实验 8机器人的搬运装配实验 38 8 1实验目的 38 8 2实验设备 38 8 3实验原理 38 8 4实验步骤 38 8 5注意事项 39 实验 9机器人链接库 VC 编程实验 40 9 1实验目的 40 9 2实验设备 40 9 3实验原理 40 9 4实验步骤 41 9 5注意事项 51 实验 10控制卡链接库 VC 编程实验 52 10 1实验目的 52 10 2实验设备 52 10 3实验原理 52 10 4实验步骤 52 10 5注意事项 67 实验 11控制卡链接库 VB 编程实验 68 11 1实验目的 68 11 2实验设备 68 11 3实验原理 68 11 4实验步骤 68 11 5注意事项 81 附录 A S6S1 机器人动态连接库 82 苏州博实机器人技术有限公司 第 1 页 共 52 页 实验 1 机器人的认识 1 1实验目的 1 了解机器人的机构组成 2 掌握机器人的工作原理 3 熟悉机器人的性能指标 4 掌握机器人的基本功能及示教运动过程 1 2实验设备 1 模块化机器人一台 2 模块化机器人控制柜一台 1 3实验原理 机器人是一种具有高度灵活性的自动化机器 是一种复杂的机电一体化设备 机器 人按技术层次分为 固定程序控制机器人 示教再现机器人和智能机器人等 本课程所 使用的机器人为 6 自由度模块化可拆卸串联机器人 整体组合后其轴线相互平行或垂直 能够在空间内进行定位 采用伺服电机和步进电机混合驱动 主要传动部件采用可视化 设计 控制简单 编程方便 是专为满足高等院校机电一体化 自动控制 精密机械装 配 精密机械设计等专业进行机电及控制课程串联关节式实验需要和相关工业机器人应 用培训需要而最新开发的机器人 它是一个多输入多输出的动力学复杂系统 是进行控 制系统设计的理想平台 它具有高度的能动性和灵活性 具有广阔的开阔空间 是进行 机械结构教学 运动规划和编程控制系统设计的理想对象 整个系统包括机器人 1 台 控制柜 1 台 实验附件 1 套 包括轴 套 和机器人控 制软件 1 套 实验设备用户可选 机器人采用模块组合式串联开链结构 即机器人各连杆由旋转关节模块或移动关节 模块组合串联连接 如图 1 1 所示 各关节轴线相互平行或垂直 连杆的一端装在固定 的支座上 底座 另一端处于自由状态 可安装各种工具以实现机器人作业 关节的 作用是使相互联接的两个连杆产生相对运动 各模块的传动采用可视化结构 由锥齿轮 同步齿型带和谐波减速器等多种传动结构配合实现 机器人各模块采用步进电机驱动 模块 2 可根据用户要求采用伺服电机驱动 并 通过 Windows 环境下的软件编程对机器人控制 使机器人任意组合成 2 6 自由度机器 人后能够在工作空间内任意位置精确定位 苏州博实机器人技术有限公司 第 2 页 共 52 页 图 1 1 机器人结构 机器人技术参数如表 1 1 所示 标 1 1 机器人技术参数 模块数量 6 驱动方式步进电机驱动 负载能力 0 5Kg 重复定位精度 0 8mm 模块 1 90 90 模块 2 45 45 模块 3 45 45 模块 4 90 90 模块 5 45 45 动作范围 模块 6 180 180 模块 1 60o S 模块 2 60o S 模块 3 30o S 模块 4 30o S 最大速度 模块 5 30o S 苏州博实机器人技术有限公司 第 3 页 共 52 页 模块 6 30o S 最大展开半径 485 mm 高度 685 mm 本体重 量 10Kg 操作方式示教再现 编程 电源容量单相 220V 50Hz 3A 预备知识 1 机器人的英文名缘由 机器人是一种具有某种仿人功能的自动机 机器人的国际名叫 罗伯特 ROBOT ROBOT 一词源于捷克作家卡列尔查培于 1920 年的一部名叫作 罗萨姆的万能机器人 公司 的幻想剧 罗伯特是该剧主人公的名字 他是既忠诚又勤劳的机器人 2 机器人的定义 我国科学家的定义 机器人是一种自动化的机器 所不同的是这种机器具备一些与人或生物相似的智能 能力 如感知能力 规划能力 动作能力和协同能力 是一种具有高度灵活性的自动化 机器 3 机器人的三原则 1 机器人不能伤害人类 2 在不违反第一条的情况下 机器人必须遵守人类的命令 3 在不违反第一 二条的情况下 机器人应能保护自己 4 机器人发展史 1 古代机器人 1 中国机关人 世界最早的机器人 列子 汤问篇 中记载西周穆王时 有位名叫偃师的能工巧匠就制造了一个能歌 善舞的伶人机器人 春秋后期 木匠鲁班制造的木鸟 能在空中飞行 三日不下 1800 年前的汉代 大科学家张衡发明的计里鼓车 计里鼓车每行一里 车上木人 击鼓一下 每行十里击钟一下 后汉三国时期 诸葛亮成功地创造出了 木牛流马 并用其运送军粮 支援前方战 争 最早的军事机器人 2 西方最早的机器人 是公元前 2 世纪古希腊人发明的最原始的机器人 自动机 1738 年 法国天才技师杰克 戴 瓦克逊发明了一只机器鸭 2 现代机器人 1954 年美国戴沃尔最早提出了工业机器人的概念 并申请了专利 1959 年第一台工业机器人 可编程 圆坐标 在美国诞生 开创了机器人发展的 新纪元 1967 年日本成立了人工手研究会 现改名为仿生机构研究会 同年召开了日本首 苏州博实机器人技术有限公司 第 4 页 共 52 页 届机器人学术会 1970 年在美国召开了第一届国际工业机器人学术会议 1980 年被称为 机器人元年 5 机器人的组成部分 机器人的手 操作系统 作用是抓住一个工作对象使其按工作或作战要求动作 机器人的眼 感测系统 作用是观测工作对象及其周围环境的信息 通过收集信 息将其反馈给控制中心 作为对机器人行为控制和协调的依据 机器人神经系统 信息传输系统 作用是将传感器和观测器获得的各种信息下传 上达 交给各执行及其附属设备 机器人的心脏 动力系统 作用是负责向机器人提供动力 主要设备有各种发动 机 发电机及其附属设备 机器人的大脑 指挥控制系统 作用是加工处理各种信息 指挥 控制机器人的 各种行动 图 1 2 6 机器人的种类 按技术层次分为固定程序控制机器人 示教再现机器人 数控机器人 遥控机器人 和智能机器人 按工作自由度分为自主机器人 半自主机器人和摇控机器人 7 机器人的用途 1 勤劳忠诚的员工 不计报酬 2 未知世界的使者 不知 天高地厚 3 未到战争中的圣斗士 不晓得皮肉之苦 4 保姆 白衣天使和明星 不用包装炒作 8 机器人的未来发展 人性化 智能化 普及化 1 4实验步骤 1 接通控制柜电源 按下 启动 按钮 2 启动计算机 运行机器人软件 出现如图 1 3 所示主界面 苏州博实机器人技术有限公司 第 5 页 共 52 页 图 1 3 主界面 图 1 4 模块组合方式界面 3 在主界面中点击 模块组合方式 按钮 出现如图 1 4 所示界面 4 将 6 个模块都选上 手爪也选上 点击确定 5 点击主界面 机器人复位 按钮 机器人进行回零运动 观察机器人的运动 六个模块全部运动完成后 机器人处于零点位置 苏州博实机器人技术有限公司 第 6 页 共 52 页 6 按下控制柜上的 停止 按钮 关闭计算机 7 断开控制柜电源 1 5注意事项 1 在老师的指导下进行实验 2 机器人通电后 身体的任何部位不要进入机器人运动可达范围之内 3 机器人运动不正常时 及时按下控制柜的急停开关 苏州博实机器人技术有限公司 第 7 页 共 85 页 实验 2 机器人的机械系统 2 1实验目的 1 了解机器人机械系统的组成 2 了解机器人机械系统各部分的原理及作用 3 掌握机器人单模块运动的方法 2 2实验设备 1 模块化机器人一台 2 模块化机器人控制柜一台 2 3实验原理 机器人各模块机械系统主要由以下几大部分组成 原动部件 传动部件 执行部件 基本机械结构连接方式为原动部件 传动部件 执行部件 机器人的传动结构简图如图 2 1 所示 模块 1 传动链主要由步进电机 谐波减速器构成 模块 2 传动链主要由步进电机 谐波减速器构成 模块 3 传动链主要由步进电机 同步带 行星减速器构成 模块 4 传动链主要由步进电机 涡轮蜗杆传动构成 模块 5 传动链主要由步进电机 行星减速器 同步带构成 模块 6 传动链主要由步进电机 锥齿轮传动构成 在机器人末端还有一个气动夹持器或电磁铁 原动部件包括步进电机和伺服电机两大类 模块 2 采用步进电机或伺服电机驱动方 式 模块 1 2 3 4 5 6 采用步进电机驱动方式 本机器人中采用了同步齿型带传 动 谐波减速传动 行星减速传动 锥齿轮传动 涡轮蜗杆等传动方式 执行部件采用 了气动手爪机构或电磁铁吸附机构 以完成抓取 装配等作业 下面对机器人中采用的各传动部件的工作原理及特点作以简要介绍 苏州博实机器人技术有限公司 第 8 页 共 85 页 图 2 1 机器人传动简图 1 同步齿型带传动 同步齿型带传动是通过带齿与轮齿的啮合传递运动和动力 如图 2 2 所示 与摩擦 型带传动相比 同步带传动兼有带传动 链传动和齿轮传动的一些特点 与一般带传动 相比具有以下特点 1 传动比准确 同步带传动是啮合传动 工作时无滑动 2 传动效率高 可达 98 以上 节能效果明显 3 不需依靠摩擦传动 预紧张力小 对轴和轴承的作用力小 带轮直径小 所占 空间小 重量轻 结构紧凑 4 传动平稳 动态特性良好 能吸振 噪音小 5 齿型带较薄 允许线速度高 可达 50m s 6 使用广泛 传递功率由几瓦至数千瓦 速比可达 10 左右 7 使用保养方便 不需要润滑 耐油 耐磨性和抗老化好 还能在高温 灰尘 水及腐蚀介质等恶劣环境中工作 苏州博实机器人技术有限公司 第 9 页 共 85 页 8 安装要求较高 两带轮轴心线平行度要高 中心距要求严格 9 带和带轮的制造工艺复杂 成本高 尽管如此 同步带传动不失为一种十分经 济的传动装置 现已广泛用于要求精密定位的各种机械传动中 图 2 2 同步齿型带传动结构 2 谐波齿轮传动 谐波齿轮传动由三个基本构件组成 1 谐波发生器 简称波发生器 是由凸轮 通常为椭圆形 及薄壁轴承组成 随着凸轮转动 薄壁轴承的外环作椭圆形变形运动 弹性范围内 2 刚轮 是刚性的内齿轮 3 柔轮 是薄壳形元件 具有弹性的外齿轮 以上三个构件可以任意固定一个 成为减速传动及增速传动 或者发生器 刚轮主 动 柔轮从动 成为差动机构 即转动的代数合成 谐波传动工作过程如下图 2 3 所示 当波发生器为主动时 凸轮在柔轮内转动 使 长轴附近柔轮及薄壁轴承发生变形 可控的弹性变形 这时柔轮的齿就在变形的过程 中进入 啮合 或退出 啮出 刚轮的齿间 在波发生器的长轴处处于完全啮合 而短 轴方向的齿就处于完全的脱开状态 图 2 3 谐波齿轮传动工作过程 波发生器通常为椭圆形的凸轮 凸轮位于薄壁轴承内 薄壁轴承装在柔轮内 此时 柔轮由原来的圆形而变成椭圆形 椭圆长轴两端的柔轮与之配合的刚轮齿则处于完全啮 合状态 即柔轮的外齿与刚轮的内齿沿齿高啮合 这是啮合区 一般有 30 左右的齿 处在啮合状态 椭圆短轴两端的柔轮齿与刚轮齿处于完全脱开状态 简称脱开 在波发 苏州博实机器人技术有限公司 第 10 页 共 85 页 生器长轴和短轴之间的柔轮齿 沿柔轮周长的不同区段内 有的逐渐退出刚轮齿间 处 在半脱开状态 称之为啮出 有的逐渐进入刚轮齿间 处在半啮合状态 称之为啮入 波发生器在柔轮内转动时 迫使柔轮产生连续的弹性变形 此时波发生器的连续转 动 就使柔轮齿的啮入 啮合 啮出 脱开这四种状态循环往复不断地改变各自原来的 啮合状态 这种现象称之为错齿运动 正是这一错齿运动 使减速器可以将输入的高速 转动变为输出的低速转动 对于双波发生器的谐波齿轮传动 当波发生器顺时针转动 1 8 周时 柔轮齿与刚轮 齿就由原来的啮入状态而成啮合状态 而原来脱开状态就成为啮入状态 同样道理 啮 出变为脱开 啮合变为啮出 这样柔轮相对刚轮转动 角位移 了 1 4 齿 同理 波发 生器再转动 1 8 周时 重复上述过程 这时柔轮位移一个齿距 依此类推 波发生器相 对刚轮转动一周时 柔轮相对刚轮的位移为两个齿距 柔轮齿和刚轮齿在节圆处啮合过程就如同两个纯滚动 无滑动 的圆环一样 两者 在任何瞬间 在节圆上转过的弧长必须相等 由于柔轮比刚轮在节圆周长上少了两个齿 距 所以柔轮在啮合过程中 就必须相对刚轮转过两个齿距的角位移 这个角位移正是 减速器输出轴的转动 从而实现了减速的目的 波发生器的连续转动 迫使柔轮上的一点不断的改变位置 这时在柔轮的节圆的任 一点 随着波发生器角位移的过程 形成一个上下左右相对称的和谐波 故称之为 谐波 谐波齿轮传动的特点 1 传动比大 单级传动比为 70 320 2 侧隙小 由于其啮合原理不同于一般齿轮传动 侧隙很小 甚至可以实现无侧 隙传动 3 精度高 同时啮合齿数达到总齿数的 20 左右 在相 180 的两个对称方向上 同时啮合 因此误差被平均化 从而达到高运动精度 4 零件数少 安装方便 仅有三个基本部件 且输入轴与输出轴为同轴线 因此 结构简单 安装方便 5 体积小 重量轻 与一般减速器比较 输出力矩相同时 通常其体积可减小 2 3 重量可减小 1 2 6 承载能力大 因同时啮合齿数多 柔轮又采用了高疲劳强度的特殊钢材 从而 获得了高的承载能力 7 效率高 在齿的啮合部分滑移量极小 摩擦损失少 即使在高速比情况下 还 能维持高的效率 8 运转平稳 周向速度低 又实现了力的平衡 故噪声低 振动小 9 可向密闭空间传递运动 利用其柔性的特点 可向密闭空间传递运动 这一点 是其它任何机械传动无法实现的 3 齿轮传动 齿轮传动的分类 苏州博实机器人技术有限公司 第 11 页 共 85 页 齿轮传动的特点 1 瞬时传动比恒定 非圆齿轮传动的瞬时传动比又能按需要的变化规律设计 2 传动比范围大 可用于减速或增速 3 速度 指节圆圆周速度 和传动功率的范围大 可用于高速 v 40m s 中速 和低速 vSetWindowText 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 苏州博实机器人技术有限公司 第 51 页 共 85 页 TODO Add your control notification handler code here if UpdateData true if UpdateData true return return doubledouble spd m fh spd m fh 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 速度模式运行速度模式运行 elseelse s6s1 moveone m axis m trans spd false m acc 1 s6s1 moveone m axis m trans spd false m acc 1 位置模式运行位置模式运行 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 停止选定的轴停止选定的轴 7 双击 退出 按钮 在代码区添加以下代码 void CExample6sDlg OnCancel TODO Add extra cleanup here s6s1 close s6s1 close CDialog OnCancel 完成的控制系统 可以实现对机器人的一些简单的操作 在使用时首先选定要运 动的模块 选择运动方式和启动方式 填写运动参数 包括运动速度和目标位置 选择 运动方向 然后按下 启动 按钮 这时开始运动 在运动期间 按下 立即停止 按钮 会立即停止模块的运动 按下手爪张开按钮 会控制机器人的手爪张开 同时该按钮会变为手爪闭合 再次 按下会使机器人的手爪闭合 9 5注意事项 1 在老师的指导下进行实验 2 机器人通电后 身体的任何部位不要进入机器人运动可达范围之内 苏州博实机器人技术有限公司 第 52 页 共 85 页 3 机器人运动不正常时 及时按下控制柜的急停开关 苏州博实机器人技术有限公司 第 53 页 共 85 页 实验 10 控制卡链接库 VC 编程实验 10 1实验目的 1 了解控制卡链接库中各函数的相关功能及调用 2 掌握简单的使用控制卡链接库的 VC 应用程序的编制方法 10 2实验设备 1 模块化机器人一台 2 模块化机器人控制柜一台 10 3实验原理 DLL 是 Dynamic Link Library 的缩写 意为动态链接库 在 Windows 中 许多应 用程序并不是一个完整的可执行文件 它们被分割成一些相对独立的动态链接库 即 DLL 文件 放置于系统中 当我们执行某一个程序时 相应的 DLL 文件就会被调用 一 个应用程序可有多个 DLL 文件 一个 DLL 文件也可能被几个应用程序所共用 这样的 DLL 文件被称为共享 DLL 文件 DLL 文件一般被存放在 Windows System 目录下 MAC3002SSP2 和 MAC3002SSP4 控制卡链接库中包含有数十种不同功能的函数 可以 进行对机器人的多种控制 用户通过对链接库的编程调用 可以实现用户对机器人的再 开发 大大丰富机器人的功能 10 4实验步骤 1 建立新工程 1 打开Visual C 6 0 2 在菜单中选择 New Project 项目 3 选择 MFC Appwizard exe 项 4 选择工程保存路径 如 D 5 输入工程名 ExampleVC 单击 OK 6 在后面弹出的窗体中选择 Dialog based 项 其它按默认设置 单击 Finish 出现下一层窗体后 直接单击 OK 至此 ExampleVC 工程创建完成 2 将配套光盘中的s6s1文件夹下的动态链接库文件 mac2ssp2v101 dll mac2ssp2v101 lib MAC2SSP2v101 h mac2sspv102 dll mac2ssp v102 lib和MAC2SSPv102 h六个文件拷贝到刚刚建立的ExampleVC工程的工程文件夹下 3 导入链接库 选择 菜单 Project Settings 项 在 Project Settings 对话框中选择 Link 选项卡 在 Object library modules 栏下面的输入框中输入 mac2ssp2v101 lib mac2sspv102 lib 单击 OK 将链接库导入到 ExampleVC 工程中 苏州博实机器人技术有限公司 第 54 页 共 85 页 图 10 1 Project Settings 对话框 4 用户界面设计 首先修改对话框标题为 模块化教学机器人实例程式 单击窗体外框 拖拽窗体 到合适大小 以图 10 9 为样本制作用户界面 并按下面步骤修改相应 ID 和标题 1 添加单选按钮控件 首先添加一个单选按钮到窗体 右键单击新加入的控件 在弹出菜单里单击 Properties 项 苏州博实机器人技术有限公司 第 55 页 共 85 页 图 10 2 将 ID 改为 IDC XMOTOR Caption 改为 模块 1 选中 Group 复选框 如图 10 3 所示 图 10 3 关闭 Radio Button Properties 对话框 同样方法再添加 11 个单选按钮 ID 和控 件标题按下表修改 未注明 Group 选择的不勾选 苏州博实机器人技术有限公司 第 56 页 共 85 页 控件 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 所示 图 10 4 苏州博实机器人技术有限公司 第 57 页 共 85 页 再添加三个静态文本控件到窗体中 标题分别改为 目标位置 度 秒 度 修改后窗体如图 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 项选中 苏州博实机器人技术有限公司 第 58 页 共 85 页 图 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 所示 苏州博实机器人技术有限公司 第 59 页 共 85 页 图 10 8 6 添加成组框控件 6 个 修改 ID 和标题如下表所示 控件 ID控件标题标注 IDC STATIC 模块选择 IDC STATIC 运动方式 IDC STATIC 运行参数 IDC STATIC 运动方向 IDC STATIC 启动方式 IDC STATIC 运动测试 最终窗体如图 10 9 所示 苏州博实机器人技术有限公司 第 60 页 共 85 页 图 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 5 代码添加 1 双击窗体进入代码区 将构造函数中成员变量的默认值由以下数据改为 m axis 0 m hand FALSE m fh 5 0 m trans 15 0 苏州博实机器人技术有限公司 第 61 页 共 85 页 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 ssp22 set general io 0 x00 ssp22 set general io 0 x00 GetDlgItem IDC CHECK HAND SetWindowText GetDlgItem IDC CHECK HAND SetWindowText 手爪闭合手爪闭合 5 双击 启动 按钮 建立单击响应函数 默认函数名 并添加代码 苏州博实机器人技术有限公司 第 64 页 共 85 页 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 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 卡卡 苏州博实机器人技术有限公司 第 65 页 共 85 页 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 卡卡 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 苏州博实机器人技术有限公司 第 66 页 共 85 页 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 速度模式梯型运动匀速启动速度模式梯型运动匀速启动 elseelse ssp22 start vt move axis numb axis ssp22 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 ssp22 start pt move axis numb axis ssp22 start pt move axis numb axis 0 0 pulse pulse 100 100 spd spd 0 0 0 0 elseelse ssp22 start pt move axis numb axis 0 pulse 100 spd 1 0 1 0 ssp22 start pt move axis numb axis 0 pulse 100 spd 1 0 1 0 6 双击 立即停止 按钮 建立单击响应函数 默认函数名 并添加代码 void CExample6sDlg OnSuddenStop TODO Add your control notification handler code here if UpdateData true if UpdateData true return return intint axis m axis axis m axis ifif MAC3002SSP4 card type axis MAC3002SSP4 card type axis ifif 1 card numb axis 1 card numb axis ssp2 set current card card numb axis ssp2 set current card card numb axis ssp2 emg stop axis numb axis ssp2 emg stop axis numb axis 停止运动停止运动 ifif MAC3002SSP2 card type axis MAC3002SSP2 card type axis ifif 1 card numb axis 1 card numb axis ssp22 set current card card numb axis ssp22 set current card card numb axis 苏州博实机器人技术有限公司 第 67 页 共 85 页 ssp22 emg stop axis numb axis ssp22 emg stop axis numb axis 7 双击 退出 按钮 建立单击响应函数 默认函数名 并添加代码 void CExampleVCDlg OnCancel TODO Add extra cleanup here for intfor int axis 0 axis 0 axis 6 axis 6 axis axis switch card type axis switch card type axis casecase MAC3002SSP4 MAC3002SSP4 if 1 card numb axis if 1 card numb axis ssp2 set current card card numb axis ssp2 set current card card numb axis ssp2 reset ssp2 reset ifif 1 svn log axis 1 svn log axis ssp2 set svon axis numb axis 0 ssp2 set svon axis numb axis 0 关闭伺服关闭伺服 elseelse ssp2 set svon axis numb axis 1 ssp2 set svon axis numb axis 1 break break casecase MAC3002SSP2 MAC3002SSP2 if 1 card numb axis if 1 card numb axis ssp22 set current card card numb axis ssp22 set current card card numb axis ssp22 reset ssp22 reset ifif 1 svn log axis 1 svn log axis ssp22 set svon axis numb axis 0 ssp22 set svon axis numb axis 0 elseelse ssp22 set svon axis numb axis 1 ssp22 set svon axis numb axis 1 苏州博实机器人技术有限公司 第 68 页 共 85 页 break break ssp2 reset ssp2 reset 重置卡重置卡 ssp2 close ssp2 close 关闭卡关闭卡 ssp22 reset ssp22 reset ssp22 close ssp22 close CDialog OnCancel 完成的控制系统 可以实现对机器人的一些简单的操作 在使用时首先选定要运动 的关节 选择运动方式和启动方式 填写运动参数 包括运动速度和目标位置 选择关 节方向 然后按下 启动 按钮 这时开始关节运动 在运动期间 按下 立即停止 按钮 会立即停止关节的运动 按下手爪张开按钮 会控制机器人的手爪张开 同时该按钮会变为手爪闭合 10 5注意事项 1 在老师的指导下进行实验 2 机器人通电后 身体的任何部位不要进入机器人运动可达范围之内 3 机器人运动不正常时 及时按下控制柜的急停开关 苏州博实机器人技术有限公司 第 69 页 共 85 页 实验 11 控制卡链接库 VB 编程实验 11 1实验目的 1 了解控制卡链接库中各函数的相关功能及调用 2 掌握简单的使用控制卡链接库的 VB 应用程序的编制方法 11 2实验设备 1 模块化机器人一台 2 模块化机器人控制柜一台 11 3实验原理 DLL 是 Dynamic Link Library 的缩写 意为动态链接库 在 Windows 中 许多应 用程序并不是一个完整的可执行文件 它们被分割成一些相对独立的动态链接库 即 DLL 文件 放置于系统中 当我们执行某一个程序时 相应的 DLL 文件就会被调用 一 个应用程序可有多个 DLL 文件 一个 DLL 文件也可能被几个应用程序所共用 这样的 DLL 文件被称为共享 DLL 文件 DLL 文件一般被存放在 Windows System 目录下 MAC3002SSP2 和 MAC3002SSP4 控制卡链接库中包含有数十种不同功能的函数 可以 进行对机器人的多种控制 用户通过对链接库的编程调用 可以实现用户对机器人的再 开发 大大丰富机器人的功能 11 4实验步骤 1 建立自己的工作目录 如 d ExampleVB 注 此目录名可以自己指定 2 将配套光盘中的 s6s1 文件夹下的动态链接库文件 mac2ssp2v101 dll MAC2SSP2v101 bas mac2sspv102 dll 和 MAC2SSPv102 bas 四个文 件拷贝到刚刚建立的 ExampleVB 工程的工程文件夹下 运行 VB 在选项卡中新建中选择 标准 EXE 按 打开 按钮 建立

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论