logo资料库

武术擂台赛技术文档.pdf

第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
资料共11页,剩余部分请下载后查看
电子科技大学中山学院武术擂台赛机器人仿人组 “博爱二队”队伍描述 谢勋伟 刘保军 顾晓勤 (电子科技大学中山学院 广东中山 528403) 摘要:本文是电子科技大学中山学院“博爱二队” 武术擂台赛仿人组机器人队 伍的描述文章。文章描述了“博爱二队”仿人组队伍的基本情况及机器人的硬件 与软件构成、技术特点以及战术策略等方面的内容,主要包括平台搭建、传感器 系统、决策系统、实时嵌入式操作系统、路径规划、自定位、应战策略、机器人 视觉系统。 关键词:“博爱二队”;机器人武术擂台赛;仿人组;技术挑战赛 1. 引言 电子科技大学中山学院“博爱二队”仿人组机器人武术擂台赛队伍是由电 子科技大学中山学院机电工程系嵌入式机电研究室团队组建。 近年来,电子科技大学中山学院非常重视Robocup机器人比赛团队的建设、 训练和参赛,并将该比赛列为校级重点支持比赛项目,给予了人力、物力、财力 和训练场地等多方面的大力支持,为培养创新应用型人才提供了一个崭新平台。 电子科技大学中山学院机电工程系嵌入式机电与机器人研究团队研究的主 要方向包括:机器视觉、图像采集、分析与理解、自定位、智能检测与控制以及 机器人结构研究。该嵌入式机电与机器人研究团队多年以来一直从事智能机器 人、模式识别、人机交互、光机电一体化、视觉检测等各领域的研究工作。目前, 该研究团队在各类智能设备的智能测控、传感器信息融合、机器人技术、运动控 制技术等方向开展研究。近几年的不断努力和探索,该团队形成了一支高质量、 具有凝聚力的科研、竞赛队伍,并多次指导学生获得省级大奖。 2.机器人平台搭建 2.1 系统设计 通过细读比赛规则,我们确定了如下的设计目标: 1、从出发区出发,10秒内自主登上擂台区域。 2、确定我方机器人在场地的大概位置和方向。 3、寻找并接近棋子、寻找并接近敌方机器人。 4、推动棋子到达擂台边沿。 5、与敌方机器人对抗,避免被推下擂台,能够推动敌方。 6、检测擂台的范围,避免掉下擂台。 7、检测我方姿态,防止摔倒,摔倒时能够快速自行站立。 8、能够识别圆柱体,并作举起动作。 9、具备有效的抓举装置,能够举起圆柱体 10、能够检测举起任务是否成功,如果不成功能够重新尝试举起。、 针对一个实时多变的环境,用相对比较稳定的轮式地盘作为机械载体,机器 人上肢为人形结构,下肢连接地盘。其执行机构为数字舵机,通过控制 12 路数 字舵机的转动,来实现机器人的运动。用摄像头、倾角传感器、红外传感器、超 声波传感器对周围地形(棋子,边界,敌人)进行感知,采集环境数据回给主控
制器,通过软件处理生成一个简单的平面电子地图,而后通过对地图坐标的观测 来确定机器人当前的 X、Y 坐标,通过对刚才数据的采集而计算出一条最佳路径, 引导机器人走到相应的目标地点并执行相应动作,从而实现了简单的绘制未知地 形地图及定位功能。 2.2 机械结构设计 机器人由人形机械结构、轮式底盘、控制器、电源系统等组成。自由度为7 自由度,高40cm,底盘投影尺寸17.5*18.5cm,底盘重量1.4kg,整体重量2.9kg。 机器人如图2.1所示: 图 2.2-1 “博爱二队”仿人机器人 机械部分用最少的舵机控制手臂,每个手臂有 3 个自由度,肩关节离地高度 30cm;腰关节可以实现一定角度的俯仰,为增强腰部驱动力,腰关节使用 2 个数 字舵机进行驱动。 图 2.2-2 “博爱二队”仿人机器人的机械臂以及底盘 2.3 控制器 在此机械结构上用MultiFLEX™2‐PXA270控制器,负责处理网络通讯、图像、 语音、USB 设备等高运算量的任务,实现了对数据的处理、模块通讯、视觉识别、 自定位、及行走路线规划和行走策略的计算。 该控制器具备520MHz、32 位的高性能嵌入式处理器和Linux 操作系统,运 算处理能力强大,能够以30 帧/s 的速度对图像进行识别处理;控制器具有12 路
双向可设置通用IO 接口,8 路10 位精度的AD 接口,具有RS‐422 总线接口、 RS‐232 接口,可以很方便地连接扩展模块。功耗只有2 瓦,体积小巧,可以直 接放入仿人机器驱体内。 图 2.3 MultiFLEX™2‐PXA270 控制器 2.4 电源系统 使用7.2V 2.5Ah 的锂聚合物电池对主板芯片、传感器以及舵机供电,从而 增大机器人的灵活性和对敌方的攻击力度。电池实物如下图: 图2.4 锂聚合物电池 3. 机器人传感器系统 传感器用了一个USB摄像头、一个倾角传感器、三对红外线接近开关、一对 超声波换能器以及四个灰度传感器实现了对前后左右距离的数据采集及对机器 人相对角度的检测等功能。 3.1 摄像机 采用USB摄像机,所捕获240*320@24fps的图像信息足以应付擂台环境的实时 变化。摄像机除了识别物体、判断目标方向,更能够通过一些特定的已知条件算 出目标物的距离。 3.2 倾角传感器 倾角检测模块是一个重要的平衡工具,全采用固态的元件,可以简单地和其 他电子系统接口。考虑到机器人重心比较高,为了提高机器人的稳定性,需要采 用一个倾角传感器。当机器人摔倒时,能通过该传感器判断出摔倒的方向,从而 重新站立,继续作战。 角度检测模块系统中磁场传感器的磁阻(MR)技术是最佳的解决方法,和现 在很多电子角度检测模块还在使用的磁通量闸门传感器相比较,MR 技术不需要 绕线圈而且可以用 IC 生产过程(IC-like process)生产,是一个更值得使用
的解决方案。由于 MR 有高灵敏度,它甚至比这个应用范围中的霍尔元件更好。 在这里采用了一个利用磁阻原理的角度侦测模块实现对机器人实时姿态的检测。 3.3 超声波测距模块 由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声 波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利 用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量 精度方面能达到工业实用的要求。 为了提高目标物的定位精度,并防止机器人视觉受到影响而丧失判断能力, 就必须装备测距系统,以使其精确获取目标物的距离信息(距离和方向)。本机 器人配备前向超声波测距系统,就是为机器人了解其前方环境而提供一个运动距 离信息。 图3.3 超声波传感器 3.4 红外线接近开关 红外接近传感器是机器人上最常用的传感器之 一,用于躲避外界障碍,或者在无需接触的情况下 检测各种物体的存在,它的用途非常多。 红外接近传感器俗称光电开关。它是利用被检 测物对光束的遮挡或反射,由同步回路选通电路, 从而检测物体有无的。光电开关将输入电流在发射 器上转换为光信号射出,接收器再根据接收到的光 线的强弱或有无对目标物体进行探测。 红外接近传感器的是开关量传感器,只能判断在测量距离内有无障碍物,不能给 出障碍的实际距离。另外,漫反射式光电开关发出的光线需要经检测物表面才能 反射回漫反射开关的接受器,所以检测距离和被检测物体的表面反射率将决定接 受器接收到光线的强度。粗糙的表面反射回的光线强度必将小于光滑表面反射回 的强度,材料的反射率是影响光电开关有效距离的重要参数。 图 3.4 漫反射式光电开关 3.5 灰度传感器 用于摄像机的辅助定位,当机器人视觉受到影响, 提取到的特征值与期望值不一致时,根据场地的灰度信 息进行粗略定位。 灰度传感器通过自身的高亮白色LED 照亮被检测 物体,被检测物体反射LED 的白光。由于不同的颜色对 白光的反射能力不一样,同样材质白色反射度最高黑色 最低。灰度传感器前端有一个光敏电阻,用于检测反射 光的强弱,据此可以推断出被检测物体的灰度值。四个 灰度传感器的排布如图3.5-2所示。 图 3.5-1 灰度传感器
4.机器人决策系统 图3.5-2 灰度传感器菱形排布 4.1 软件体系结构 机器人软件是基于构件的软件体系结构,如下图所示。在整个软件体系结构 中由五个构件组成:感知构件、信息融合构件、决策构件、执行构件、通信构件。 感知构件负责获取摄像头的原始数据、机器人的里程计信息和其它传感器信息。 这些传感器可以很容易地添加到感知构件中。由于不同的传感器获取不同类型的 数据信息,信息融合构件则将这些数据融合到一个统一的世界模型中。决策构件 利用世界模型信息进行决策,这些决策包括状态确定,策略选择,路径规划。通 讯构件用于协处理器与主处理器之间进行交互。在这个系统中,有两个I/O 操作 是最耗时的:获取图像和执行控制命令、读写网络消息。因此,在具体实现时采 用的是多线程技术。 角色 战术 动作 局部环境模型 角色选择区 战术选择区 交换构件 信息融合构件 战术执行区 通信构件 感知层 硬件抽象层 路径规划层 动作执行区 硬件抽象层 图 4.1 软件体系结构 操作系统和驱动程序
4.2 嵌入式操作系统 实时Linux(Real-Time Linux,RTLinux)RTLinux(TM)是一个可靠的实时 操作系统,处理对时间关键的任务,并将Linux 作为最低优先权执行线程运行。 在RTLinux中,内核与标准 Linux 共享一个或更多的处理器。这使系统能够运行 执行数据采集的、系统控制和机器人技术的精确计时的应用程序。 我们将MultiFLEX™2‐PXA270控制器中的非实时Linux操作系统更换为实时 Linux操作系统,使得机器人的反应速度得到明显的提升。我们把Linux操作系统 中的底层的低级的中断控制软件用一个称之为模拟器的东西代替了。一个小的实 时内核与底层的内核共享对处理机的控制。属于实时内核的中断由硬件直接管 理。属于底层内核的中断由模拟器控制。如果底层内核已经请求屏蔽中断,模拟 器就在中断产生时把它放入一个队列中排队。当底层内核请求允许中断时,任何 在队列中的中断都将会被重新模拟。因此,实时内核控制机器的延迟,底层内核 不能延误实时任务。在实时任务与在底层内核下通信是通过一个不可锁的队列。 实时进程是轻量级的线程。在开始的设计当中,实时任务被分配了独立的地 址空间。我们希望能够可以用动态装载内核模块系统的特点来动态转载和卸载实 时任务和调度程序,这用单独一个地址空间更容易实现。一个实时进程的上下文 只包括一些个整型寄存器。这保证了快速的上下文间切换,而这加上对一个 RT-kernel 的系统调用总共要用 224 处理器周期。 当前系统即支持周期性的也支持中断驱动型的实时任务。RT-Linux 提供了 下列的系统调用来用来控制进程。 int RTload(const char * file)加载一个实时程序“File”,创建一个进程然 后返回它的进程 pid,这个进程直到被 RTrun 调用的时候一直保持挂起状态。 int RTrun(int pid)启动一个实时进程在最低优先级运行,这个进程必须先被 RTLoad 程序加载。 int RTkill(int pid)杀死一个实时进程 int RTget_time(RTime *t)返回当前时间;时间是一个 64 位整数,包含了自系 统启动以来的滴答数。RT_TICKS_PER_SEC 这个常量包含了每秒的时钟周期数。 int RTset_params(RTime * start,RTime * period,int priority)改变进程 的调度参数。 nt RTwait_start(RTime * start,RTime * period,int priority)挂起这个进 程直到 start 时间,当 start 时间到时,进程的优先级被调到给定的优先级。 int RTwait_period()挂起这个进程的执行直到下个周期的到来。 实时 Linux 没有用硬件的上下文切换机制,这个机制由 Intel x86 处理器 支持-他保存太多的状态反而显得不够快。相反我们保存上下文于栈中,然后切 换栈就可以了。这个系统已经用 Linux 作为底层底操作系统实现了。 为了验证我们实时 Linux 的性能,我们集中于阶段性的任务例如一个步进电 机的控制或者一个采样传感器。最苛刻的实时调度的测试是一个周期为 100 微妙 而什么都不做只是在并口上写一位数据的任务。我们把输出的针和一个数字存储 示波器连接,来测量时限和延迟。我们的测试结果显示了一个方波,有一个最大 为 15 微秒的变化即使在系统有非常大的负载情况下。这 15 微秒包括了时钟中断 请求后处理中断,侦测是否需要运行这个写任务,并且开始运行这个任务。第二 个实验用两个运行周期同为 100 微秒的任务,其中一个对并口的一位进行设置, 另一个对同一位进行清除。这个实验也显示了有个 15 微秒的间断期。两个实验 都在高系统要求下对时间进行测量:一个是在 Linux 下运行的循环的磁盘拷贝,
一个驱动远程 X-Window 显示器的网络连接,Netscape 也在运行中用来显示图 形。Linux 的工作负载变化对于实时任务的时间特性没有影响。在周期明显少于 50 微秒的任务上 Linux 的性能才差得不可以用了。一个单独的调度周期为 40 微 秒的实时任务就特别的不能够给 Linux 运行的机会。这个性能特性是我们所期望 的:非实时的系统得到的总是实时系统不要了的处理机时间。而对于在一个有缓 存和复杂的管道的测时间的系统上面的耗费没有被计算进去。 4.3 基于拓扑地图的自定位方法 自定位逐渐成为机器人的基本能力之一。当机器人能够知道自身在球场上的 准确位置。它可以更好进行决策。尽管擂台上环境是动态的,但机器人必须依据 已知的静止参考系来实现自定位。我们对视觉传感器捕获的环境特征进行提取和 分析,使用场地上的灰度信息和白色围栏,按特定准则所确立的观测特征和环境 数据库间的对应关系,进而确定机器人自身位置。   视觉传 感器捕 获图像  探测和分 割图像中 的特征  视觉传 感器捕 获图像 确定观测特征 和期望特征的 一致性关系  确定机 器人的 位置  拓扑地图表意直观、构建简单,但其自定位精度和鲁棒性要逊于基于几何地 图的自定位方法。但从一定意义上讲,拓扑地图有利于机器人的路径规划。 基于拓扑地图的自定位实质上是一种拓扑分类过程。拓扑地图用有向图表示, 定义有向图节点为机器人构型空间的位姿集合, 有向图的边为机器人基本运动 类型.首先解决拓扑地图的构建问题,预先用K-L 展开式压缩机器人拍摄的图像 并通过迭代算法得到这些图像的降维特征空间, 然后把该空间的图像映射到有 向图的对应节点上。定位时应用k-近邻法将当前的图像映射与前期地图构建时的 所有图像映射进行比较, 在比较结果中搜索出其对应的类别,图像归类后完成自 定位。定位效果图见图4.3。 图4.3 定位效果图
4.4 运动控制曲线规划 在电机由一个角度位置转动到另一个角度位置的过程中,若只用位置PID 算 法来控制电机,将会浪费能量且不会有好的控制效果。一条合理的速度控制曲线 将会使电机由一个角度平稳地转动到另外一个角度,且能减小电机的功耗。常用 的速度控制曲线有3 类:梯形、三角形和双曲线。 双曲线速度控制曲线是最理想的,最节省能量,在两端位置可提供平滑的加 速和减速。但是,实时计算双曲线将大大增加CPU 开销。三角形的计算比双曲线 简单得多,但是在三角形的顶部过渡很不平滑。梯形曲线是上两种曲线的折衷, 本程序选用梯形速度控制曲线。 4.5 路径规划 路径规划是一个古老的问题,但是一直没有一个比较有效的解决方法,我们 使用快速扩展随机树算法(RRT)。RRT算法通过在起点与目标点之间扩展一棵搜 索树来寻找路径。在搜索的每一步中,都以一定的概率p(0
分享到:
收藏