资源描述
全自主移动机器人,自主移动机器人,培训教程,全自主移动机器人,深圳市鸥鹏科技有限公司简介,深圳市鸥鹏科技有限公司(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)是在三基色理论基础上开发的相加混合颜色空间,这也是在图像处理中通常采用的颜色空间,其中在320240的图像上每个象素点用3个Byte表示其RGB值。主要采用了directShow技术进行视频捕捉。Camera类的接口很简单,为了方便使用,只有两个公共函数:boolInit(intdev_num,char*pBuffer);执行初始化摄像头,在第一次从设备读取图像原始数据(RGB颜色模式)之前,一定要执行初始化。第一个参数dev_num表示该设备的在当前操作系统中的枚举值;第二个参数pBuffer表示存放图像原始数据的缓冲区,该缓冲区大小至少为3320240个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(CFrontVisionroleTyperole;其中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.cfgvoidIpm:axisOff()让机器人处于poweroff的状态。voidIpm:axisOn()让机器人处于poweron的状态。voidIpm:kickerOn()打开机器人的踢球机构。voidIpm:kickerOff()关闭机器人的踢球机构。boolIpm:SendToIPM()把类成员lv和rv作为左右轮速以速度控制的形式发送指令给IPM板。,全自主移动机器人,全自主移动机器人维护,保持设备正常,故障排除,检查相关连线,日常维护,
展开阅读全文