自主移动机器人培训教材.ppt

上传人:max****ui 文档编号:6334905 上传时间:2020-02-23 格式:PPT 页数:29 大小:1.46MB
返回 下载 相关 举报
自主移动机器人培训教材.ppt_第1页
第1页 / 共29页
自主移动机器人培训教材.ppt_第2页
第2页 / 共29页
自主移动机器人培训教材.ppt_第3页
第3页 / 共29页
点击查看更多>>
资源描述
全自主移动机器人 自主移动机器人 培训教程 全自主移动机器人 深圳市鸥鹏科技有限公司简介 深圳市鸥鹏科技有限公司 OpenTechnologyLtd 是一家专业从事机电一体化和专业机器人创新产品研究 开发 生产和销售的高新技术企业 开发的具有自主知识产权的机电一体化和专业机器人集成技术及产品不仅可以广泛的应用于工业自动化领域 而且还可以广泛的应用于普通高等院校和职业技术学院的自动化和机电一体化等相关专业的实训 教学和研究 本手册主要围绕普通高等院校和职业技术学院的数控原理与数控技术 专业机器人和控制原理和控制工程等综合创新实验室的建设来介绍产品 但这些产品并不仅仅限于教学应用 他们的大多数产品都可以直接应用于工业领域 更详细信息请登录 www open 全自主移动机器人 自主移动机器人简介 Robocup足球机器人世界杯是目前世界上规模最大的智能机器人联盟 Robocup中型组足球机器人是目前Robocup足球机器人比赛中最富挑战性的课题之一 博得许多机器人研究机构和大学的青睐 DM B系列智能机器人系统既能够面向RobotCup中型组足球机器人竞赛提供一个标准比赛任务 能够用于如实时计算机视觉 多机器人协作算法等其他多种研究 还可以满足机电 自动控制等课程的教学演示 工程实训 以提高学生的综合创新能力 可扩展成工业领域和服务领域的智能无人小车和智能服务机器人 全自主移动机器人 DM B系列智能机器人标准配置 DM B200 DM B400 全自主移动机器人 自主移动机器人整体外形图 全自主移动机器人 自主移动机器人机械模块 机械外壳 驱动轮 全维视觉安装架 踢球机构 传感器安装位 全自主移动机器人 自主移动机器人电气控制模块 直流伺服电机 电源系统 运动控制器 螺线管 全自主移动机器人 自主移动机器人传感器模块 全维视觉 前向视觉 电子罗盘 可选 红外传感器 可选 超声波传感器 可选 全自主移动机器人 自主移动机器人使用 接口连线 笔记本启动 机器人上电 硬件模块测试 硬件模块测试 硬件检查 全自主移动机器人 自主移动机器人软件模块 运动控制模块 视觉模块 策略模块 WindowsXPProfessional操作系统需要摄像头驱动程序运动控制动态链接库TML lib dll 视觉动态库omni vision dll 决策动态库decision making lib和控制动态库control lib 推荐运行在PCCPU800MHz以上 256M以上内存环境 软件运行环境 全自主移动机器人 程序模块划分及工作流程一 运行于BlackGen上的程序从结构上可以分为4个主要模块 视觉模块决策模块运动控制模块通信模块除BlackGen之外 还有一个教练 Coach 程序用于远程控制和查看当前信息 BlackGen运行在机器人的笔记本中 Coach运行在场外的计算机里面 一个Coach程序可以控制多个BlackGen程序 全自主移动机器人 程序模块划分及工作流程二 全自主移动机器人 程序模块划分及工作流程三 BlackGen整个进程由5个线程组成 视觉线程 决策线程运动控制线程通信线程另外还有一个主线程 它是程序的入口 它先为整个进程作一些必要的初始化 如 初始化摄像头 读取配置文件等 然后创建另外4个线程 接着就等待键盘输入和处理指令 键盘输入的指令有start 开始 stop 暂停 end 程序结束 全自主移动机器人 程序模块划分及工作流程四 全自主移动机器人 视觉模块 全自主移动机器人 视觉模块主要完成以下任务 a 基于Camera类的视频采集 b 基于CBaseVision类及其子类 CFrontVision和COmniVision 的图像分析处理 c 两个视觉的信息融合 updateWorld函数 全自主移动机器人 基于Camera类的视频采集 Camera类表示摄像头设备 主要用来初始化摄像头和从摄像头中获得的图像原始数据 通过摄像头获得的是24位RGB格式的图像数据 RGB red green blue 是在三基色理论基础上开发的相加混合颜色空间 这也是在图像处理中通常采用的颜色空间 其中在320 240的图像上每个象素点用3个Byte表示其RGB值 主要采用了directShow技术进行视频捕捉 Camera类的接口很简单 为了方便使用 只有两个公共函数 boolInit intdev num char pBuffer 执行初始化摄像头 在第一次从设备读取图像原始数据 RGB颜色模式 之前 一定要执行初始化 第一个参数dev num表示该设备的在当前操作系统中的枚举值 第二个参数pBuffer表示存放图像原始数据的缓冲区 该缓冲区大小至少为3 320 240个BYTE voidCaptureImage char pBuffer 捕捉图像原始数据 参数pBuffer表示存放图像原始数据的缓冲区 全自主移动机器人 基于CBaseVision类及其子类的图像分析处理 软件在识别中使用颜色分割的方法 软件中需要识别八种颜色 我们通过对H I S三个数组都设成BYTE型 每一为为代表一种颜色 如果某个颜色分量的某个值属于某中颜色 则对应与该颜色的此颜色分量数组中的相应位设为1 否则设为0 这样通过用某个象素的H I S值作为H I S三个数组的索引对三个值进行位与即可得到当前象素属于的颜色 也成为 8通道 的方法 这样效率比较高 此部分已经被封装成vision dll在程序中通过加载dll实现 其中的大部分文件的源代码是开放的 全自主移动机器人 CBaseVision类图像处理的典型步骤 全自主移动机器人 CFrontVision类中图像处理实现过程 全自主移动机器人 两个视觉的信息融合 软件有两个摄像头采集视频 采用的是不同的图像处理方法 因此在视觉融合方面需要做一些工作 即不论所得的有效信息是从全维视觉得到还是从前向视觉得到 在决策模块认为是一致的 boolupdateWorld CFrontVision frontVision boolfrontOK COmniVision omniVison boolomniOK World w 更新信息函数 该函数为上面的结构体中变量赋值 第一个参数frontVision指向前向视觉对象 第二个参数frontOk true表示前向视觉参与视觉融合 false表示不参与 第三个参数omniVision指向全维视觉对象 第四个参数omniOk true表示全维视觉参与视觉融合 false表示不参与 注 在软件中主要是通过经验来融合两个视觉的信息 该部分应该根据具体情况考虑修改 并且没有写单独一个视觉的情况 如果需要可自己添加 第五个参数w World对象中包含Vision2Player成员 该成员会被赋值 全自主移动机器人 决策模块 决策模块的输入是视觉模块的输出 是球场上各个对象的信息 如球相对于机器人的坐标 两个球门中心点相对于机器人的坐标等等 决策模块的输出是具体的运动参数 如左右轮速 它们将成为运动控制模块的输入 在这里面运动控制模块所做的是根据过去部分的和当前的视觉信息判断出当前状态 根据这个状态使用对应的算法计算出适合的运动参数 决策模块主要是通过一个有限状态自动机来完成决策过程的 而这个状态机是通过读取配置文件来构建的 BlackGen在初始化的时候先读取这个配置文件并在程序中构建出一个状态机供决策使用 用户可以根据自己的需要针对不同情况编写不同的配置文件 全自主移动机器人 决策模块的原理 全自主移动机器人 决策模块的原理 找球 FindBall 就是当视觉没有在图像上识别出球时所处的状态 机器人采用自转的方式找球 如果看到球 跳到拿球状态 拿球 GoToBall 就是机器人看见球了 但是球还没进入机器人的带球机构 这个状态的动作需要一个具体的算法 一个已知目标点求左右轮速的算法 当看不见球了状态跳到找球 如果球进入机器人的带球机构时跳到带球状态 带球 DriveToGoal 就是球在带球机构中 而球门并不在机器人的射程中所处的状态 机器人针对对方球门的位置算出不同的左右轮速 同样这里也需要一个特定的算法 如果球不见了状态跳到找球 如果球脱离了带球状态跳到拿球状态 如果对方球门看不见则跳到找球门的状态 如果对方球门进入射程范围就跳到射门状态 找球门 FindOppGoal 就是球在机器人的带球机构中 但是机器人看不见对方球门 机器人需要带着球找对方球门 这里我们直接设置左右轮速 25 40 走圆弧来完成这个工作 射门 Kick 是球在带球机构中 对方球门又在射程中 机器人打开踢球机构把球弹出 同样如果球不见了就跳到找球状态 全自主移动机器人 具体决策线程的流程 全自主移动机器人 教练与通信模块 通信模块的主要作用就是监听网络等待教练程序发过来的指令 在这里我们只定义了两种指令 s 小写s 代表start开始 S 大写s 代表stop暂停教练程序与通信模块是通过数据结构Referee2Player来完成的 structReferee2Player charcmd roleTyperole 其中cmd为指令 即 s 和 S role还没有实际的用途 全自主移动机器人 运动控制模块 BlackGen机器人采用TECHNOSOFT公司的IPM100运动控制板作为运动控制器 用来将上位机指令转换为运动输出 BlackGen采用运动控制动态链接库TML lib dll来完成对IPM板的控制 而控制工作主要在ipm类里面实现 全自主移动机器人 运动控制模块接口说明 主要成员函数 boolIpm initIpm 初始化控制板 intIpm readASPD 读取实际的左右轮速并把结果保存在R ASPD和L ASPD这两个成员变量中 boolIpm DetectBlock doublelwset doublerwset 判断机器人的左右轮是否处在堵转状态 输入为lwset和rwset实际向IPM板发送的左右轮速 函数给bLBlocking和bRBlocking两个成员变量赋值 这两个变量分别代表了左右轮是否堵转 第一个参数lwset为发到IPM板上的左轮速第二个参数rwset为发到IPM板上的右轮速boolIpm LoadConfig constchar filename 读取配置文件 得到初始化参数 第一个参数filename为IPM板相关的配置文件 默认为 ipm cfg voidIpm axisOff 让机器人处于poweroff的状态 voidIpm axisOn 让机器人处于poweron的状态 voidIpm kickerOn 打开机器人的踢球机构 voidIpm kickerOff 关闭机器人的踢球机构 boolIpm SendToIPM 把类成员lv和rv作为左右轮速以速度控制的形式发送指令给IPM板 全自主移动机器人 全自主移动机器人维护 保持设备正常 故障排除 检查相关连线 日常维护
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!