MOTOMAN机器人双机协调下棋系统设计_第1页
MOTOMAN机器人双机协调下棋系统设计_第2页
MOTOMAN机器人双机协调下棋系统设计_第3页
MOTOMAN机器人双机协调下棋系统设计_第4页
MOTOMAN机器人双机协调下棋系统设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

MOTOMAN 机器人双机 协调下棋系统设计摘 要随着工业化的飞速发展,机器人成为了替代人类手工的首要选择,承担了大部分的繁重工作,由其是在恶劣的,常人无法忍受的工作环境下。并且它 们的工作质量远远高于人类。在这种在大环境下, 对于机器人的研究已经成为了一个热门的话题。本文主要研究了日本安川 MOTOMAN 机 器 人 双 机 协 调 下 棋 系 统 。利 用 VisualC+语言完成控制程序的编写,并在 PC 机上模拟人机做战过程。本实验中,两台 MOTOMAN 机器人与计算机之间采用的是网口通信,采用这种通信方式,可以形成一个小的局域网络,通过计算机发送信号给两台机器人。在棋盘重绘过程中,提取人机双方棋子移动坐标,使机器人能 够根据人的棋子移动和计算机博弈算法产生的象棋移动结果实现象棋的正确移动,并对机器人的各种运动位置进行了校正,整个控制程序可以满足下象棋的控制需求,这些工作为进一步进行双机器人实现人-人 对 战 奠 定 了 基 础 ,并 为 双 机 器 人 协 调 运 动 的 要 操 作 通 信 方 式 提 供 了一个较新颖的思路。关键词:M OTOMAM 机器人,象棋,程序,网口通讯IMOTOMAN 机器人双机 协调下棋系统设计AbstractWith the rapid development of the industry, robot has become the first choice toinstead the handful manufacture. They afford the most part of the heavy work,especially in a terrible weather or an unendurable work environment to human. Thus,the study on robot has become a hot topic.This paper mainly researches on the coordinated chessing system by twoMOTOMAN robots from YASKAWA Company in Japan. I accomplished the programby Visual C+ language, and simulated the chessing process on the computer. In thisexperiment, I used net communicate to connect the two robots and the computer. ALAN(local area network) is set up and become a tool to send message to the two robots.The transferring chess coordinate is collected when the chess board is being redrawn.In this way, the computer can find the correct movement of chess according to the laststep and the chessing method in the computer and correct all kinds of position. So thewhole controlling program can fit the chessing demand. All the work that I have doneestablishes the foundation of chessing by two robots by two people on a computer andprovide a new idea on the way of connect among two robots and a computer.Key words: MOTOMAN robot, Chinese chess, program, communicationIIMOTOMAN 机器人双机 协调下棋系统设计目 录第 一 章 前 言 11.1 课 题 背 景 11.2 国 内 外 多 机 器 人 协 调 系 统 的 发 展 概 况 11.3 遥 操 作 概 况 41.4 本 文 研 究 内 容 、方 案 及 步 骤 5第 二 章 双 机 器 人 协 调 下 棋 系 统 的 构 建 62.1 MOTOMAN 机 器 人 的 硬 件 结 构 62.2 MOTOMAN 机 器 人 的 软 件 结 构 92.3 双 机 器 人 协 调 系 统 的 构 建 102.3.1 双 机 器 人 中 的 真 、假 协 调 102.3.2 硬 件 I/O 平 台 的 构 建 102.3.3 软 件 系 统 设 计 122.4 本 章 小 结 13第 三 章 通 讯 模 块 程 序 设 计 143.1 网 口 通 讯 模 式 设 计 143.2 通 讯 模 块 程 序 143.2.1 通 讯 程 序 介 绍 143.2.2 通 讯 模 块 程 序 的 运 行 163.3 程 序 流 程 图 183.4 本 章 小 结 18第 四 章 对 弈 模 块 程 序 设 计 204.1 对 弈 程 序 介 绍 204.2 对 弈 过 程 中 相 关 判 断 程 序 介 绍 214.2.1 搜 索 算 法 的 设 计 214.2.2 棋 子 坐 标 的 提 取 和 转 换 22IIIMOTOMAN 机器人双机 协调下棋系统设计4.2.3 走 棋 和 吃 棋 的 判 断 234.2.4 走 棋 过 程 设 计 244.3 本 章 小 结 26第 五 章 示 教 程 序 调 试 275.1 示 教 程 序 设 计 275.1.1走 棋 程 序 设 计 275.1.2吃 棋 程 序 设 计 285.2 程 序 名 含 义 清 单 285.3 棋 子 坐 标 表 示 295.4 本 章 小 结 30第 六 章 实 验 结 果 316.1 遥 操 作 通 讯 部 分 316.1.1 通 讯 部 分 实 验 316.1.2 通 讯 部 分 实 验 结 果 326.2 整 体 部 分 326.2.1 整 体 实 验 326.2.2 整 体 实 验 结 果 336.3 本 章 小 结 34第 七 章 结 论 和 展 望 357.1 结 论 357.2 技 术 经 济 分 析 报 告 357.2.1 技 术 可 行 性 分 析 377.2.2 经 济 优 越 性 报 告 377.3 对 进 一 步 研 究 的 展 望 38参 考 文 献 39致 谢 40附 录 141IVMOTOMAN 机器人双机 协调下棋系统设计附录 248声明50VMOTOMAN 机器人双机 协调下棋系统设计第一章 前言1.1 课题背景自 从 20 世 纪 50 年 代 第 一 台 工 业 机 器 人 面 世 以 来 ,随 着 计 算 机 、通 信 、电 子 、传感、控制等技术以及人工智能的飞速发展,集多种先进技术为一体的机器人技术在需求的牵引下已经得到了很大的发展。为了使机器人更好地服务于人类和社会,在目前的机器人技术水平下,通过采用多个机器人相互协作来弥补个体能力的 不 足 是 一 个 很 好 的 思 路 。多 机 器 人 系 统 已 受 到 国 内 外 研 究 机 构 和 产 业 界 的 重 视 。多机器人系统在工业、军事、航空航天、医学、运输、服务行业等领域具有非常广阔的应用前景。多机器人系统的应用必将带来巨大的经济效益和社会效益。在研究和应用双重需求的推动下,多机器人系统、多机器人协调协作的研究已经成为机器人学研究中的一个充满省略、具有良好应用前景的研究方向。针对多机器人系统结构、多机器人协调协作等基础理论开展研究是一项具有重要的理论和现实意义的、充满挑战性的工作 1。多机器人协作系统有着广泛的应用背景,它与自动化向非制造领域的扩展有着密切的联系,由于应用环境转向非结构化,多移 动机器人系统应能适应任务的变化以及环境的不确定性,必须具有高度的决策智能。因而, 对多移动机器人系统的组织与控制方式在很大程度上决定了系统的有效性。在 当 今 机 器 人 领 域 ,世 界 各 国 都 对 双 机 器 人 协 调 运 动 加 大 了 投 资 和 研 发 力 度 ,并且已有了丰富的成果。但是,双机协调仍有存在诸多问题:(1) 如何使机器人个体之间相互通信和相互作用;(2) 如何在各机器人之间表达、描述问题,分解和分配任务;(3) 如何保证机器人在行动中的行为协调一致;(4) 机器人彼此之间如何识别和解决冲突 2。1.2 国内外多机器人协调系统的发展概况在 近 50 年 中 ,伴 随 着 计 算 机 技 术 和 人 工 智 能 的 飞 速 发 展 ,机 器 人 技 术 也 日 新月异。近几年机器人已成为高技术领域内具有代表性的战略目标,机器人的应用领域不断扩展。从自动化生产线到海洋资源的探索,乃至太空作业等领域,机器人 可 谓 是 无 处 不 在 。然 而 就 目 前 的 机 器 人 技 术 水 平 而 言 ,单 机 器 人 在 信 息 的 获 取 、1MOTOMAN 机器人双机 协调下棋系统设计处理及控制能力等方面都是有限的,对于复杂的工作任务及多变的工作环境,单机 器 人 的 能 力 更 显 不 足 3。于 是 人 们 考 虑 由 多 个 机 器 人 组 成 的 多 系 统 通 过 协 调 、协作来完成单机器人无法或难以完成的工作。多机器人系统比单机器人系统具有更 强 的 优 越 性 ,主 要 表 现 在 以 下 几 方 面 :设计和制造多个简单机器人比单个复杂机器 人 更 容 易 、成 本 更 低 ;使 用 多 机 器 人 系 统 可 以 大 大 节 约 时 间 ,提 高 效 率 ;多 机 器人 系 统 平 行 性 和 冗 余 性 可 以 提 高 系 统 的 柔 性 和 鲁 棒 性 等 ;通 过 多 机 器 人 系 统 内 在特性提高完成任务的效率; 通过共享资源(信 息 、知 识 等 )弥补单机器人能力的不足,扩 大 完 成 任 务 的 能 力 范 围 ;利 用 系 统 内 机 器 人 资 源 的 冗 余 性 提 高 完 成 任 务 的 可 能性,增加系统性能 4。近年来,多机器人系统的研究受到越来越多的关注,已成为机器人学的研究热 点 之 一 ,这 一 特 点 和 趋 势 发 表 在 ICRA和 IROS等 国 际 学 术 会 议 上 相 关 论 文 数 量的 增 长 就 可 以 看 出 。1997 年 以 来 ,一 些 机 器 人 研 究 工 作 者 曾 对 多 机 器 人 系 统 的 研究 进 展 进 行 了 全 面 深 入 地 总 结 5。尤 其 是 从 生 物 学 的 气 势 、通 信 、体 系 结 构 、任务分配和控制等 7 个方面,对多机器人系统的研究进展作了介绍,讨论了多机器人系统的发展趋势,并且列出了许多代表性的文献 6。加拿大 Alberta 大学的研究小组开发了一个实现对昆虫社会的人工模拟的实验 系 统 ,集 体 机 器 人 系 统 (Collective Robotics)。他 们 提 出 系 统 的 初 衷 是 将 许 多 简单的机器人组织成一个团队来完成一些有意义的工作。为实现这个目标,研究针对 集 体 任 务 (Collective Task)的 机 器 人 控 制 体 系 结 构 和 算 法 以 及 传 感 信 息 地 分 析等。具体来说,在机器人之间没有建立显式通讯的条件下,如何利用分布式控制方 式 实 现 多 机 器 人 系 统 的 协 作 。这 种 分 布 式 无 通 讯 系 统 易 于 机 器 人 的 添 加 、去 除 。多个移动机器人协作推箱子的实验结果表明,在不存在显式通讯和集中规划器的条件下,尽管运行的结果不是一个最优解,但可以得到一个可行解。美 国 Oak Ridge国 家 实 验 室 的 Lynne E.Parker博 士 在 多 Agent协 作 、自 主 Agent体系结构、多Agent通讯的方面作了许多工作。例如人机协作,移动机器人协作,多 Agent协 作 ,智 慧 Agent体 系 等 。他 们 研 究 的 协 作 机 器 人 是 集 成 了 感 知 、推 理 动作的智能系统、着重研究在环境未知且任务执行过程中环境动态变化的情况下,机器人如何协作完成任务 7。国内在该领域的研究起步较晚,但目前研究也在逐年增多。不过大部分的研究工作仍然停留在仿真和实验室阶段。表 1-1 示了我国近年来对多机器人系统研2MOTOMAN 机器人双机 协调下棋系统设计究的快速增长;表 1-2 是对这些文章的研究领域分布所作的归类。从中可见国内对多机器人系统各研究领域的侧重不一样,有些领域如体系结构与控制、路径规划与编队等领域研究的较多;而有些领域像思想源泉、通信、多机器人学习等就较少 8。表 1-1 1994-2004 年发表的多机器人系 统研究的文章年份 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004篇数 2 1 2 2 2 4 10 17 19 19 21表 1-2 1994-2004 年发表的多机器人系 统研究领域的分布领域 思 想 源 体 系 结 通信 学习 可 重 构 路 径 规 其它泉 构 与 控 机 器 划 与 编制 人 队篇数 5 29 8 8 7 18 23中科院沈阳自动化研究所以制造环境应用多机器人装配为背景,建立一个多机 器 人 协 作 装 配 系 统 (MRCAS)。该 系 统 采 用 集 中 和 分 散 相 结 合 的 分 层 体 系 结 构 ,分 为 合 作 组 织 和 协 调 作 业 级 。利 用 MRCAS进行多机器人协调装配工件的实验结果表 明 :MRCAS系统为深入研究多机器人协调理论与方法提供了一个良好的试验平台,并对多机器人写作系统的应用具有参考价值 9。哈尔滨工业大学机器人研究所研制出面向楼宇及危险环境监控、废墟搜救的履带式可生构机器人。单个机器人模块具有体积小、隐蔽性强的优点,多个模 块可 组 合 成 蛇 形 、环 形 ,可 攀 越 障 碍 物 、楼 梯 的 功 能 ,携 带 微 型 摄 影 机 、MEMS 烟雾、有毒有害气体传感器。而且,他 们在群机器人追捕目 标系统、群机器人编队控 制 系 统 、群 机 器 人 舞 蹈 控 制 系 统 机 器 人 部 队 追 捕 包 围 逃 跑 机 器 人 系 统 机器人部队编队侦察系统等方面取得了重要研究成果。3MOTOMAN 机器人双机 协调下棋系统设计图 1-1 哈尔滨工业大学机器人研究所可重构机器人经 过 20 几 年 的 发 展 ,我 国 多 机 器 人 系 统 的 研 究 虽 然 在 理 论 和 实 践 方 面 取 得 了许多进展.但 从 总 体 上 来 说 ,多 机 器 人 系 统 的 研 究 还 处 于 初 期 阶 段 ,距 离 实 用 还 有一定的差距 10。1.3 遥操作的国内外发展机器人遥操作是以通讯技术为手段实现对远程机器人控制的技术。机器人的遥操作控制是由远程操作者作为机器人的主操作手,通过网络通信发送目标命令给 现 场 服 务 器 ,通 过 现 场 服 务 器 将 目 标 命 令 传 给 机 器 人 ,来 实 现 目 标 任 务 的 完 成 。遥 操 作 使 人 的 触 角 延 伸 到 远 处 ,如 今 Internet广 为 流 行 ,在 其 上 构 建 机 器 人 遥操作系统具有架构容易、低成本和维护便利等优点,但却有时延、 丢包和连接中断问题,尤以时延影响最为巨大 11。在 遥 操 作 发 展 的 早 期 ,图 像 是 惟 一 的 反 馈 形 式 ,移 动 -等待策略通常应用于系统中。但是在一些系统中,公有图像反馈是不行的,力和其他形式的反 馈也是不可缺的。遥操作中多种反馈形式被称为多模态,它 显著提高了系统的安全性和效率 12。目 前 ,国 内 外 基 于 Internet的 遥 操 作 机 器 人 系 统 的 研 究 取 得 了 丰 硕 的 成 果 。如西澳大利亚大学的Kenneth Taylor等人实现了控制 9 自由度的ASEAIRb-6 型机械臂的工作;瑞士联邦工学院的Khep On The Web是第一个 过程自主式移动机器人系统。在国内,有神州系列飞船的远程监控和控制,中科院沈阳自动化研究所开4MOTOMAN 机器人双机 协调下棋系统设计展的基于互联网的机器人实时双向反馈遥控操作研究,以及同济大学机器人及智能控制研究室的基于Internet的机器人过程控制技术及其应用等 13-14。1.4 本文研究内容、方案及步骤本 题 目 “MOTOMAN 机 器 人 结 构 设 计 与 分 析 ”就 是 基 于 我 校 机 电 工 程 系 机 器人专业实验室的两台首钢莫托曼机器人有限公司 MOTOMANHP6 装配机器人设备,本课题引导学生在了解机器人的国内外应用和发展现状的基础上,研究该机器人的工作性能、控制方法,采用高级语言进行编程,开 发双机器人协调完成下棋作业任务。1、更改通信实现机器人之间的相互通信和相互作用通过软件包中的通信协议文件,我们拟用 V isual C+编写一套通信程序,实现两机器人之间的信息通信。2、保证机器人在行动中的行为协调一致在所要设计的通信软件中,我们希望取胜实时的跟踪并记录两机器人的运动轨迹和坐标,并实现数据的相互传送,从而保 证机器人在工作过程当中,行 动的协调一致 15。本课题主要以 MOTOMAN 机器人相互通信为设计中心,旨在基于其自带的通信软件包,设计出一套通信软件,以完成机器人之间的相互通信及协调控制,并能够通过计算机直接控制机器人完成较简单的协调动作。5MOTOMAN 机器人双机 协调下棋系统设计第二章 机器人的结构2.1 MOTOMAN 机器人的硬件结构本 设 计 所 采 用 的 机 器 人 系 统 的 硬 件 可 划 分 为 机 器 人 、控 制 柜 及 远 端 控 制 平 台 。机器人是实验室现有的 Motoman-HP6 机 器 人 (两 台 );远 端 控 制 平 台 是 PC 机。机器人的本体规格如表2-1所示表2-1 机器人的本体规格型号 Motoman-HP6类型 YR-HP6-A00控制轴数 6(垂直多关节)负载 6kg重复定位精度 0.08mmS 轴(回转) 170最大L 轴(下臂) +155 -90U 轴(下臂) +250 -175工作R 轴 (腕部扭转) 180B 轴 (腕部俯仰) +225 -45范围T 轴(腕部回转) 360S 轴(回转) 2.26rad/s, 150/s最大L 轴(下臂) 2.79rad/s, 160/sU 轴(下臂) 2.97rad/s, 170/s6MOTOMAN 机器人双机 协调下棋系统设计工作R 轴 (腕部扭转) 5.93rad/s, 340/sB 轴 (腕部俯仰) 5.93rad/s, 340/s速度T 轴(腕部回转) 9.08rad/s, 520/s许用R 轴 (腕部扭转) 11.8 N mB 轴 (腕部俯仰) 9.8 N m扭矩T 轴(腕部回转) 5.9 N mR 轴 (腕部扭转) 0.24Kg m2许用转动惯量 B 轴 (腕部俯仰) 0.17Kg m2(GD2 / 4)T 轴(腕部回转) 0.06Kg m2重量 130 Kg温度 0 +45湿度 20 80R H(不结霜)条件振动 小于 4.9 m / s21:远离腐蚀性气体或液体、易燃气体。环境其他 2:保持环境干燥、清 洁3:远离电气、噪声源(等离子)动力电源容量 1.5KVANX100 控制柜是本机器人系统的重要组成部分,其内、外部形状如 图 2-1 所7MOTOMAN 机器人双机 协调下棋系统设计示。NX100控 制 柜 外 部 图 NX100控 制 柜 外 部 图图 21 控制柜内、外部形状控 制 柜 的 技 术 规 格 ,见 表 2-2表 2-2 控件柜的技术规格结构 独立式,封闭型冷却系统 间接冷却环境温度 0 至+ 4 5 ( 操作期间) -10 至+60(运输和储存期间)相对湿度 10% 至 90%RH (不结露)电源三相交流:200 VAC(+10%至 -15%) ,50/60Hz(2%)220 VAC(+10% 至 -15%) ,60Hz(2%)接地 接地电阻:小于或等于 100 单独接地数字输入/输出(I/O) 专用信号 (硬件) 17 个 输 入 和 3 个输出通用信号(标准,最大)4 0 个 输 入 和 40 个输出8MOTOMAN 机器人双机 协调下棋系统设计自动位置调节系统 自动位置调节系统采用串行通讯方式(绝对值编码器)驱动单元 交流(AC)伺服电机的伺服包加速度/负加速度 加速度/负加速度软件伺服控制存储容量 60000 程序点,60000 条命令(包括程序点)外型尺寸 500(宽) 1200(高) 500(宽) mm本系统设计主要侧重于操作方便,运行可靠稳定,主要具有以下特点:1、结构紧凑,设备功能完备;2、各结构之间通讯简单,但速度、实时性良好;3、操作简单、方便。2.2 MOTOMAN 机器人的软件结构系统已有的软件为 PC 与机器人之 间的通讯软件 MotoCom32 以及高级编程软件 V isual C+ 6.0。MOTOCOM32 通信软件是 M OTOMAN 机 器 人 自 带 的 一 款 通 信 软 件 。通 过 这款软件,利用 RC232C 总线或以太网可以实现个人计算机和机器人之间的高速数据通信。这款软件功能非常强大,并且可以在多种操作系统上运行。它的主要功能主要如下:1高速工作指令传输功能:通过 MOTOCOM32,首先可以先利用个人计算机编辑机器人模式和运动程序,然后上传到机器人控制柜的程序内存中,这样就免除了必须利用编程器操作机器人的不便。2主 控 制 功 能 :此 功 能 允 许 用 户 通 过 个 人 计 算 机 读 取 机 器 人 状 态 数 据 (这 包括 当 前 位 置 、警 报 信 息 、错 误 信 息 、伺 服 信 息 等 等 ),控 制 整 个 运 动 系 统 ,用 户 还可以通过这个功能对机器人的 I /O 口进行读写。3工 作 指 令 自 动 替 换 功 能 :当 系 统 内 存 容 量 不 足 的 时 候 ,个 人 计 算 机 空 过DCI(data communication by instruction)传输功能作为外内存接收机器人工作信息并返回相应工作指令。9MOTOMAN 机器人双机 协调下棋系统设计4应 用 数 据 传 输 功 能 :这 项 功 能 可 以 为 用 户 提 供 如 下 功 能 以 帮 助 用 户 设 置 信息通信:(1)提供机器人和个人计算机之间的数据传输功能(Motocom32.dll)(2)通过包含上述功能的自带例程讲解功能应用过程。2.3 双机器人协调系统的构建2.3.1 双机器人中的真、假协调在双机器人协调作业中存在着真协调与假协调。所谓真协调即两个机器人工作时共用一个主机,它们的指令都是由这一个主机发出的,主机控制着这两个机器人,通过其内部程序使两个机器人之间动作协调,不发生碰撞。而假 协调则是分别由两个主机控制着两个机器人,这两个机器人的之间没有关系,是两个相对独 立 的 个 体 。控 制 它 们 的 主 机 中 分 别 存 着 它 们 的 运 动 程 序 ,这 样 ,只 要 使 存 入 CPU中的两个程序之间不发生冲突的话,那么主、从机器人之间就不会碰撞。由以上可见,假协调在程序编写、机器人配置上要比真协调简单得多。在本设 计 中 ,我 们 使 用 的 是 假 协 调 。在 主 机 器 人 与 从 机 器 人 的 CPU 中分别存放了各自的走棋示教程序,都由不同的名字命名。计算机中的下棋的 Visual C+程序也是需要分别调用两个机器人的示教程序。只有这样完成下棋的全过程。2.3.2 硬件 I /O 平台的构建本实验的硬件由一台计算机和主、从两台 MOTOMAN 机器人组成。在准备开始下棋完成后,控制者下红方棋子, 计算机控制黑方棋子。控制者控制 计算机中 的 红 棋 走 出 第 一 步 ,计 算 机 把 走 棋 信 号 传 给 主 机 器 人 ,主 机 器 人 完 成 下 棋 步 骤 。接下来,由计算机根据红棋的走法,再通过计算机内部程序搜寻应对红棋走法的黑棋的最加走法。找到此走法后,把走棋信号传给从机器人,从机器人根据信号完成相应的下棋步骤。在 本 系 统 中 ,两 个 控 制 柜 之 间 我 们 采 取 I/O通 讯 方 式 ,连 接 在 两 个 控 制 柜 之 间的 CPU的 机 器 人 I/F 单 元 中 的 插 口 上 。Motoman-HP6系 列 的 机 器 人 I/F 单 元( JZNC-NIF01 ) 是 由 机 器 人 I/F 基 板 ( JANCD-NIF01 ) 和 输 入 / 输 出 基 板(JANCD-NIO01) 组 成 。连 接 机 器 人 I/F 单 元 的 通 用 输 入 / 输 出 插 座 (CN07,08,09,10)的电缆如图2-2 ,机器人控制柜内部 CPU单元如图2-3 所示。10MOTOMAN 机器人双机 协调下棋系统设计图2-2 连接机器人I/F 单元的通用输入/ 输出插座的电缆机器人与计算机 之 间 图 采 2用 -3 网 N中 X1的 00通 内 讯 部 方 C式 PU,单 在 元 它 近 们 照 之间形成了一个小的局域11MOTOMAN 机器人双机 协调下棋系统设计网,计算机把数据传给机器人控制柜中的 CPU,再由 CPU 控制机器人的手抓完成计算机给出的指定动作。2.3.3 软件系统设计本实验的软件系统中包括计算机中的用 Visual C+编写的下棋程序和机器人中的示教程序。软件系统运行流程图如图 2-4 所示开始通讯对弈示教d结束图 2 4 软件系统运行流程图程序运行开始后,首先要启动通讯程序,使机器人与计算机能够通过网口连接上,保证的连接畅通后,用户可以通过计算机上的棋盘同计算机进行对弈了。当 用 户 代 表 的 红 方 走 完 后 ,计 算 机 把 这 一 走 棋 信 息 通 过 网 口 传 给 了 机 器 人 的CPU,得 到 这 个 信 息 后 ,CPU 再通过调用其内部的示教程序来指挥机器人手抓完成用户在真实棋盘上的走棋动作。这就是下一步棋的过程。完成这一步后, 计算机再搜索程序中的应对用户所下棋的最佳走法以完成黑棋的对弈步骤。最佳走法找到后,以同样的过程使从机器人的手抓完成走棋过程。12MOTOMAN 机器人双机 协调下棋系统设计2.4 本章小结在本章中,对设计所要用的 MOTOMAN 机器人做了一下介绍。首先用表格的方式列举了单个机器人的硬件的各种具体参数,并且对本实验所用的机器人与计算机每张的硬件连接流程与方式进行了阐述。用图片展示了机器人控制柜中的I/O 线 图 。接 下 来 ,说 明 了 双 机 器 人 协 调 中 的 真 、假 协 调 ,本 实 验 中 的 双 机 器 人协调采用了假协调的方式。13MOTOMAN 机器人双机 协调下棋系统设计第三章 通讯模块程序设计3.1 网口通讯模式设计由于本部分是 PC 机与控制器的 CPU 直 接 相 连 进 行 通 信 ,所 以 我 们 采 用 了 网口连接。同时需要设置 Internet 协议(TCP/IP ),把 NX100 控制柜和电脑的地址设置,形成一个局域网,主要是设置 IP 地址、子网掩码。这 里 ,本 系 统 设 置 计 算 机 的 IP 地址 192.168.0.3, 子 网 掩 码 255.255.255.0,默认 网 关 :0.0.0.0;主 机 器 人 控 制 柜 中 工 业 计 算 机 的 IP 地址 192.168.0.1, 子 网 掩 码255.255.255.0;从 机 器 人 控 制 柜 中 工 业 计 算 机 的 IP 地 址 192.168.0.2,子 网 掩 码255.255.255.0。3.2 通讯模块程序设计3.2.1 通讯模块程序介绍在 程 序 设 计 中 ,为 了 保 持 整 个 程 序 的 可 读 性 高 ,结 构 清 晰 ,并 充 分 显 示 VC+面 向 对 象 的 特 点 ,这 里 决 定 将 所 有 对 机 器 人 的 通 讯 函 数 都 放 在 一 个 名 为CRobotSetting 的类中。以主机器人为例,介绍机器人网口通讯遥操作的程序。1. 主机器人网口通讯连接程序为:void CRobotSetting:OnConnect1()int nCidR1 = BscOpen(,16);if(BscSetEther(nCidR1 , 192.168.0.1 , 0 , m_hWnd)=0) MessageBox(set ethernet error! , , MB_OK);return;if(BscConnect(nCidR1)=0)MessageBox(connect error! , , MB_OK);return;14MOTOMAN 机器人双机 协调下棋系统设计CONNECT = nCidR1;MessageBox(connect success! , , MB_OK);Sleep(100);BscServoOn(CONNECT);由 程 序 可 以 看 出 ,完 成 主 机 器 人 与 PC 机连接功能的函数为 CRobotSetting 类中的 OnConnect1(), 因 为 是 网 口 通 讯 ,所 以 要 设 置 IP 地 址 。程 序 中 还 有 对 连 接 是否成功的判断,并根据不同的情况返回相应信息。2. 主机器人通讯断开程序为:void CRobotSetting:OnDisconnect1()BscServoOff(CONNECT);Sleep(100);BscDisConnect(CONNECT);与连接程序相似,当运行断开程序时,主机器人与 PC 机之间的连接就会自动断开。在进行对弈之前,要首先打开机器人和计算机之间的连接,在这里可以通过一个对话框来完成。在菜单上添加一个机器人选项,里面加一个机器人设置菜单项。菜单项的各属性如下表 3-1 所示:表 3-1 机器人设置属性按钮名称 ID对话框 IDD_SET连接(1) IDM_CONNECT1断开(1) IDM_DISCONNECT1连接(2) IDM_CONNECT2断开(2) IDM_DISCONNECT215MOTOMAN 机器人双机 协调下棋系统设计其 中 按 钮 :连 接 (1)、断 开 (1)、连 接 (1)、断 开 (2)被 摁 下 时 ,所 执 行 的函数分别是:OnConnect1 ()、OnDisconnect1()、OnConnect2()、OnDisconnect2()。3.2.2 通讯模块程序的运行1. 对 PC 机的设置首先要使 PC 机使用 192.168.0.3 这个 IP 地 址 ,如 图 3-1 所 示 ,做 好 了 对 计 算机的准备,接下来就可以和机器人连接了。2. 机器人与 PC 机的连接运 行 程 序 ,出 现 如 图 3-2 所 示 的 界 面 。单 击 “机器人”中的“ 机器人设置” ,就会出现如图 3-3 所示的对话框。此对话框是用来帮助用户建立计算机与机器人之间的连接的。正如在对话框中所看到的,计算机与机器人之间连接的断开也可以在这个对话框中完成。图 3-1 对 PC 机 IP 地址的设置16MOTOMAN 机器人双机 协调下棋系统设计图 3-2 人机对弈界面图 3-3 机器人与计算机连接 对话框17MOTOMAN 机器人双机 协调下棋系统设计3.3 程序流程图通讯部分程序流程图如图 3-4 所示。程序开始后,先要定 义寝化变量,定 义完成后,寻找通讯句柄,设置通讯参数打开连接。如果打开成功,则连接建立。如 果 无 法 打 开 ,则 系 统 提 示 “找 不 到 通 讯 句 柄 ! ”则要 继续寻找句柄直到建立连接。若建立连接成功,那么计算机与就与机器人连接上了。若连接不成功,那么系 统提 示 “无 法 连 接 ! ”,则 要 返 回 到 “定 义 初 始 化 变 量 ”,直 到 计 算 机 与 机 器 人 连 接 上为止。图 3-4 连接响应函数流程图3.4 本章小结本章中着重介绍了机器人与 PC 机 之 间 的 通 讯 连 接 。在 这 里 是 用 的 网 口 的 连接 方 式 ,这 是 一 种 对 于 通 讯 要 求 的 提 高 ,实 现 这 种 方 式 ,就 可 以 实 现 对 MOTOMAN18MOTOMAN 机器人双机 协调下棋系统设计机 器 人 的 远 程 操 作 。在 内 容 上 ,本 章 首 先 对 程 序 中 的 连 接 函 数 进 行 了 仔 细 的 讲 解 ,程序是用 Visual C+语言编写的。然后对执行计算机与机器人之间的连接操作做了介绍。19MOTOMAN 机器人双机 协调下棋系统设计第四章 对弈模块设计4.1 对弈程序介绍本文设计的象棋主程序接口包括三部分:象棋棋盘,棋谱编辑框以及计算机思考时间进度条等。同时,在程序我们还额外添加停止,悔棋,还原等多个功能按钮。本程序中棋盘是由一个 9X10 的 二 维 数 组 表 示 的 。棋 子 则 是 由 1-14 的数组来表 示 的 。其 中 1-7 表 示 黑 色 棋 子 ,8-14 表 示 红 色 棋 子 。电 子 棋 盘 中 ,黑 子 在 上 方 ,即数组的前五行;红子在下方,即数组的后五行。表 4-1 棋盘定义宏定义 数据 注释NOCHESS 0 没有棋子B_KING 1 黑帅B_CAR 2 黑车B_HORSE 3 黑马B_CANON 4 黑炮B_BISHOP 5 黑士B_ELEPHANT 6 黑象B_PAWN 7 黑卒R_KING 8 红将R_CAR 9 红车R_HORSE 10 红马R_CANON 11 红炮R_BISHOP 12 红仕R_ELEPHANT 13 红相R_PAWN 14 红兵20MOTOMAN 机器人双机 协调下棋系统设计表 4-1 表示了 1-14 这 14 个 数 组 分 别 代 表 了 哪 些 棋 子 。没 有 棋 子 的 点 记 录 为 0。4.2 对弈过程中相关判断程序4.2.1 搜索算法的设计象棋对弈算法发展到现在已经形成了多种算法。首先我们先介绍一下博弈树的概念:设想一下两人对弈,我们将其中一位叫做甲,另一位叫做乙。假定 现在该甲走棋,甲可以有 40 种 走 法 (不 论 好 坏 );而 对 甲 的 任 一 走 法 ,乙 也 可 以 有 与之 相 对 的 若 干 种 走 法 。然 后 又 轮 到 甲 走 棋 ,对 乙 的 走 法 甲 又 有 若 干 种 方 法 应 对 如此往复。显然我们可以依次构建一个博弈树,将所有的走法所列出来。在 这棵树的根部是棋局的初始局面。在末梢,是结束的棋局,甲胜或者乙胜或者双方都无法取胜的平局。现在应用比较成熟的算法都是基于博弈树的概念来设计的。本程序中主要用到以下三种算法:1极 大 极 小 值 算 法 :由 于 建 立 完 全 博 弈 树 是 非 常 困 难 的 ,所 以 我 们 用 一 个 静态估值函数所计算的数值来代替超出固定深度的搜索结果。在这种算法中,叶子节点不必是终了状态,而只是固定深度的最深一层的节点,其值由上述静态估值函数确定。2深 度 优 先 搜 索 :在 生 成 极 大 极 小 值 博 弈 树 并 对 其 进 行 搜 索 的 方 法 上 ,我 们面临着多种选择: 是 先 在 内 存 中 生 成 整 棵 树 然 后 进 行 搜 索 ,还 是 在 搜 索 的 过 程 中 仅仅产生将要搜索的节点;对于树的搜索以什么顺序进行,是广度优先还是深度优先,还是其它顺序;是否有生成整棵树的必要,在搜索过程中将搜索过的节点删去是否可以等。几乎所有人在使用基本的极大极小算法时都选择了深度优先搜索方法。这样可以在搜索过程中的任何时候仅仅生成整棵树的一小部分,搜索过的部分被立即删去。本文中,我们也同样利用这种方法。关于算法的详细信息请读者参阅相关数据。3负 最 大 值 最 佳 算 法 :由 于 极 大 极 小 值 算 法 效 率 较 低 ,随 意 我 们 倾 向 应 用 效率更高的负最大值最佳算法。这种算法比极大极小值算法短小并且简单。从结构上看,负极大值算法比极大极小值算法稍难理解。但事实上, 负极大值算法更容易被使用。在算法的原理上,这两种算法完全等效。负极大值算法仅仅是一种更好的表达形式。今天的博弈程序大多采用的也是基于负极大值形式的搜索算法。本程序同样如此。21MOTOMAN 机器人双机 协调下棋系统设计整个算法的程序主要由四个类组成,这四个类都没有基类,其名称和用途如下:(1)CMoveGenerator,走法生成器。(2)CSearchEngine,搜索引擎的基类,定义接口及公用函数。(3)CNegaMaxEngine,搜 索 引 擎 ,使 用 负 最 大 值 方 法 ,由 CSearchEngine派生而来。(4)CEveluation,估值核心即静态估值函数。4.2.2 棋子坐标的提取和转换1机器人下棋坐标的提取与转换首先我们要在程序主对话框的头文件中定义两个常量分别为:#define GRILLEWIDTH 39 /棋盘上每个格子的 宽度#define GRILLEHEIGHT 39 /棋盘上每个格子的高度然后在 LeftButtonDown()函数中,在捕捉到左 键按下点的坐标之后就可以利用如下公式针对棋子坐标进行转换(这里我们以棋盘左上角为原点):y=(point.y-14)/GRILLEHEIGHT; /棋子中心 y 坐标x=(point.x-15)/GRILLEWIDTH; /棋子中心 x 坐标这样我们就可以获取机器人走棋的初始位置坐标。要提取用户棋子坐标要在 OnLButtonDown()和 OnLButtonUp()两个函数中进行 。程 序 中 这 两 个 函 数 的 变 量 m_mybeginx、m_mybeginy、m_myendx、m_myendy分别被赋予机器人一方起始棋子的 X 坐 标 、Y 坐 标 、目 标 棋 子 的 X 坐 标 、Y 坐标。而变量 m_computerbeginx、m_computerbeginy、m_computerendx、m_computerendy则记录了计算机一方走棋的起始棋子的 X 坐 标 、Y 坐 标 、目 标 棋 子 的 X

温馨提示

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

评论

0/150

提交评论