慧鱼机器人课设研究报告.docx
- 文档编号:26657591
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:20
- 大小:1.68MB
慧鱼机器人课设研究报告.docx
《慧鱼机器人课设研究报告.docx》由会员分享,可在线阅读,更多相关《慧鱼机器人课设研究报告.docx(20页珍藏版)》请在冰豆网上搜索。
慧鱼机器人课设研究报告
1.绪论1
1.1课题背景2
1.2慧鱼机器人3
1.3走进实验室4
1.4按键式传感器5
1.5设计工作原理6
1.6慧鱼模型操作规程7
2.仿生机器人8
2.1仿生机器人MJ仿真示意图9
2.2仿生机器人MJ仿真程序图示10
2.3仿生机器人结构简图11
3.移动机器人12
3.1移动机器人基础模型13
3.2移动机器人仿真图14
3.3移动机器人结构简图15
3.4移动机器人仿真程序框图16
4.寻光机器人17
5.1寻光机器人仿真模型18
5.2连线图和结构简图19
5.3寻光机器人仿真程序20
5.躲避障碍机器人21
6.1躲避障碍机器人仿真模型22
6.2躲避障碍机器人仿真图23
6.3躲避障碍机器人仿真程序24
6.任务分配和心得体会25
7.参考文献26
慧鱼组合机器人的组装设计
摘要:
慧鱼创意组合模型是一种技术含量很高的工程技术类拼装模型,是展示科学原理和技术过程的理想教具。
本设计是以德国慧鱼创意积木所组成的仿生模拟机器人为其基本架构,透过圈形式人机介面LLWin,经由智慧型微电脑介面板去驱动机器人,使机器人细部动作很容易达到我们需求,进而取代以往由硬体描述语言所驱动架构,通过慧鱼模型的组装,程序的编制,任务的完成,阐述机械机构之间的配合关系,各种传感器的安装和使用,以及软件程序的编制思维,实现对伺服电机,电磁线圈的控制,不但操作简易,更可使我们了解机械运作的原理。
关键词:
慧鱼组合模型;机器人;
引言:
由机器人的发展和快速广泛的被使用,可知科学家对于机器人的功能也相提高,除了超强的逻辑运算、记忆能力及具备类似的自我思考能力,另外在机器人的外表及内部结构,科学家更希望能模仿人类。
对于外在资讯的选集,也透过各种感应器,企图达到类似人类各种触觉的功能,选集了外在环境的资讯,一旦外在环境起了改变,机器人一定要能随着变化,做出该有的反应动作,更新自己的资料库,达到类似人类学习的功能。
本次研究即为移动机器人设计及其在控制器的实现,是说明当移动机器人在轨行动作中若遇到障碍物时会透过微动开关将讯息传回电路板中进行判断,再配合计数器的动作使机器人能避开障碍物并往下个路径前进,知道要到远的目标。
无疑,自动化控制理论本来是要使机器人变聪明。
但是如何实现呢?
我们先用一个启发式实验进行说明。
我们可能都观察过飞蛾趋光的特点,飞蛾找到光源,向那里飞去,即使非常近的距离,也绝不会拍打到光源。
显然飞蛾之所以能够这样做,是因为它发觉光源,划出路线然后再向其扑去。
这本领是基于这种昆虫自身具备的机敏的行为模式。
现在我们将上述能力应用到一个技术系统中。
先用光学传感器探测到光源,马达执行动作,这样,我们必须在发现信号和执行信号之间建立一个合理的连接,即程序。
20世纪50年代,一位名叫沃特格雷(WalterGrey)的英国人将上述引人思考的实验付诸于实践。
借助于几个简单的传感器,马达和电路,他创作出多种自动化动物,可以准确模仿出飞蛾的动作。
左图所示的是“自动”海龟的复制品,展示在华盛顿的史密森博物馆里。
鉴于上述的奇思妙想,我们也要为我们的机器人建立起类似的行为模式,并用程序来和机器人进行交流。
但是我们为什么需要可移动机器人?
让我们试着将“虚拟的飞蛾”的动作应用到技术装置上。
首先,一个很简单的例子就是寻光。
我们将一个光条粘在地上作为光源,把传感器面朝下并排放在一起,而非面向前。
这样,如果是在仓库,移动机器人就会从中找到自己的行进路线。
沿着这条线,还有一些特殊的信息采集点,如条形码,将引导机器人进行下一步的动作,比方说到达这些点时,抓取和放下货盘。
事实上,这样的机器人系统到今天已经存在了。
在很多大医院里,通常需要走很远的路来运送日常所需的消耗品,比如被单枕套等,让护理人员运输这些物资无疑是既耗时、耗财又费力的事情。
当然,也大大减少了对病人照顾的时间。
最近今年里,科学家们开始研究另一种本质上非常相近的动作形式,走或跑。
开发出的机器人具备了用腿移动的能力。
由布鲁塞尔皇家军事研究院研制的电气气动步行机器人“阿基里斯”(Achille)就是一个六足步行机器人的典型。
头上和六条腿上分别都配备了照相机,阿基里斯能够机械的对提起或放下的障碍(物体或者坑)能够机械的做出反应。
这种步行机器人能运用到各个地方,比如轮轨式车辆不可能通过的坎坷或松软的地带,它翻越障碍,攀爬楼梯,跨越壕沟进入诸如核电站、煤矿隧道等危险地带作业或者进行营救。
1.2慧鱼机器人
怎样用慧鱼创意模型的构件大家我们自己的机器人呢?
传感器(如:
接触传感器)和动力装置(如马达)是必不可少的,然后加上许许多多的机械部件,组成所需的模型。
慧鱼ROBO移动机器人组为此提供了理想的模式。
本设计是以德国慧鱼创意积木所组成的仿生模拟机器人为其基本架构,透过圈形式人机介面LLWin,经由智慧型微电脑介面板去驱动机器人,使机器人细部动作很容易达到我们需求,进而取代以往由硬体描述语言所驱动架构,不但操作简易,更可使我们了解机械运作的原理。
1.3走进实验室
先从一个简单测试安装来检查接口板和各个传感器的基本功能。
然后,搭建出简易模型,让其具备特定的功用,再渐渐尝试越来越复杂的系统。
你是不是觉得有时候编制自己的程序要么太难,要么太浪费时间?
你可以先下载软件中提供的一些现成程序到接口板,控制机器人。
该接口板的最重要的作用在于输入量的逻辑连接。
这就需要程序来完成,程序决定输入数据和传感器信号如何处理并转换为适当的输出数据,电机控制信号等等。
有了ROBO接口板,我们就有足够的计算能力来设计和处理最复杂的程序。
搭建和最初控制机器人,是非常重要的环节,一定要格外认真才行。
连接各个电气元件时一定要严格按照说明书操作,然后检查两三遍以确保准确无误。
在进行机械构件搭接时,我们要特别注意连接的平滑度,尤其是齿轮与紧固件的连接,不要太用力。
好了,现在让我们发挥自己无穷的创造力为机器人“谱写”新的动作程序啦!
1.4按键式传感器(接触传感器)
举例说明,将一个接触传感器接在数字输入口I1,观察一下当键按下去时,输入端状态框的变化。
虽然极性在连接电机或接触传感器不起作用(充其量电机旋转方向错误),准确接通光电传感器是至关重要的。
晶体管有红标的接点应连接红色接头,没有标注的接点连接绿色接头。
第二个绿色接头要插在输入端AX的插孔中(靠近接口板边缘的那个孔),第二个红色的插头要插在靠近里面的AX的插孔中。
(注意:
连接光电传感器到数字输入端I1——I8,红色接头需插在紧靠接口板边的插孔中。
现在,我们用一个手电来改变光电传感器光的亮度。
这将改变AX蓝色状态条的读数。
如果指示器从其最大值没有变动,那就得检查一下光电传感器的连接情况。
如果即使手电筒灭掉,指示仍为零,那有可能是房间里的光太亮了。
我们遮住光电传感器,状态条的位置就会变化。
再回到红绿接线头上来:
装配时,要红色接头接红线,绿色接头接绿线。
当电路配线时必需极性正确的话,通常我们将红线作为正,绿线为负。
这样,非常细心的配线,将使得线路走势更系统,更一目了然,自然更方便了我们排除故障。
1.5设计工作原理
机器人指的是可程式控制的机械,整体来说可分为两大部分,分别为机械架构及软体的控制的两大部分。
(一)机械架构
本设计移动机器人之机械构架采用德国慧鱼创意积木所组成,它的优点在于方便组装,能在设计阶段能起到一定的辅助作用,减少设计成本以及更好的观察到设计的可行性及其优缺点,以便更好改进设计中的缺点。
一般机械所用到的零组件如齿轮、马达、光电开关等,都可以在慧鱼创意积木中找到,且功能毫不逊色。
首先针对我们所需的机械架构做规划,收集所需用到之慧鱼创意积木零件,将其组装机械架构。
该架构主要是由两个丝杆与一个马达连接,两丝杆再平均接上传动齿轮实现此仿生机器人的运动及其开关所组成,而这个开关主要用于判断机器人的开关及其运动方向。
(二)软体控制
程序的整体采用了主/从结构的编程方式,主要是为了解决多个不同频率的循环和循环之间的信息交互。
程序中嵌入了并联机器人的反解模型及控制算法,采用全局变量、局部变量、共享变量等实现各程序模块之间及模块内部的信息交互,充分利用用户事件技术、通知或队列技术实现各界面之间的切换,为了避免诸如两个循环同时操作一个对象之类的竞争问题,采用了同步技术。
因为程序比较大,所要反映的信息多,因此在程序的管理上,我们也充分利用了LabVIEW的高级编程技巧,如为了节省内存和清晰化程序框架及前面板,我们采用了动态VI控制技术,不但实现了子VI的即用即调,而且实现了多面板程序设计的动态载入和界面重用。
面向机器人的轨迹控制与I/O逻辑控制的程序集合,如回零点、连续运行、单轴调整、轨迹曲线选择、系统自检等。
该层软件一方面负责完成机器人各关节驱动电机的精确同步运动控制,实现末端执行器在操作空间中的精确轨迹;另一方面,该层软件还需要完成一组通用I/O的输入输出控制,实现对机构运动的过程控制以及对外围设备的协调控制等,以适应复杂的控制任务需要。
驱动软件是实现单轴与多轴运动控制、D/A转换和硬件I/O控制的函数集合,包括轴配置、运动类型设置、电机运行和停止等操作函数。
该层软件主要进行运动轴参数设置、电机加减速控制、起停控制、D/A转换和运动I/O的设置与控制等。
该层的函数主要是控制板卡所带有的底层功能模块,可以用这些函数很方便的根据自己设定的控制方案编程实现上一级的核心控制软件层。
LabVIEW图形化语言和LabVIEWRT、ControlDesignandSimulationBundle、LabviewSystemidentificationtoolkit,motionassistant等相关的NI工具包开发应用程序不但使得软件程序的开发效率大大提高,而且使得软件的功能齐全、人机界面友好。
下面对多媒体定时器和外控线程的创建与工作作一简单说明。
首先多媒体定时器作如下定义[5]:
#defineWM_MAINPROCCTRL(WM_USER+1)//多媒体定时器的消息
intTimerAccuracy=1//多媒体定时器精度
UINTTimerID//多媒体定时器标志
ON_MESSAGE(WM_MAINPROCCTRL,MainProcCtrl)//消息映射
TimerID=timeSetEvent(100,1,(LPTIMECALLBACK)MMTimeProc,(DWORD)this,
TIME_PERIODIC);//启动多媒体定时器多媒体定时器的回调函数为:
voidCALLBACKMMTimeProc(UINTTimerID,UINTuMsg,DWORDdwUser,DWORDdw1,
DWORDdw2){CSixDofCtrlDlg*pDlg=(CSixDofCtrlDlg*)dwUser;
:
:
PostMessage(pDlg->GetSafeHwnd(),WM_MAINPROCCTRL,0,0);}
外控线程也首先进行定义
CWinThread*pExterConThrd,*pNetThrd,*pHandleThrd,*pSendThrd;//定义线程
CCriticalSectionDataSection;//数据缓冲区临界同步后调用下列函数启动外pExterConThrd=AfxBeginThread(ExterConProc,this,THREAD_PRIORITY_NORMAL);在外控线程中启动网络接收线程、数据处理线程、发送线程后,将外控主线程悬挂pExterConThrd->SuspendThread();
只有接收到数据后,处理线程才开始执行操作;只有计算出新的液压缸控制信息后,计算机才会发送。
而液压系统动作时间相对计算机运行来说是很长的,为了防止网络通讯、洗出滤波、运动学反解的等待,在创建网络接收线程的同时创建两个同步事件:
HANDLEpEvent1,pEvent2;//事件pEvent1=CreateEvent(NULL,FALSE,FALSE,NULL);等待的线程可以通过调用WaitForSingleObject()等到事件的发生
图1为智慧型微电脑界面板,它的主要功用在于储存LabVIEW程式使程式经由此介面板驱动机器人,达到预设之动作。
图1-1
智慧型微电脑介面板细部说明如下:
1、此装置是所有电脑控制套件的控制逻辑核心,他负责与PC间的通讯和运算,将电脑所编辑的程式转换成控制命令来控制马达等。
2、此装置有八个数位输入,两个类比输入可接收0~5欧姆的电阻值,四个可逆马达输出控制,控制马达dcrelay等。
3、电源供应电池或充电器的方式,大小为9伏特5瓦。
4、可在On-line(以传输线与PC连线),也可在Off-line(不需与电脑连线)
两种模式下作业。
5、与电脑连接时不需额外插卡,利用CMOM2通讯即可。
1.6慧鱼模型操作规程:
1、实验前先按照清单清点零件个数;
2、熟悉零件分装方式,了解零件分装的大致规律;
3、检查袋子的封口;
4、每次仅取出要用到的零件;
5、每次取用零件后勿忘将袋子封口封好;
6、拆除模型后将零件放回相应的袋子;
7、按照清单清点零件。
1.7
二、仿生机器人(MJ)
机械MJ,即仿生态六足爬行机器人,是一种基于仿生学原理研制开发的新型足式机器人,仿生态六足爬行机器人比传统的轮式机器人有更好的移动性,自动化程度高,具有丰富的动力学特性。
此外,足式机器人采用类似生物的爬行机构进行运动,比其他机器人具有更多的优点:
它可以较易的跨过比较大的障碍,并且机器人足所具有的大量自由度可以是机器人的运动更加灵活,对凹凸不平的地形的适应能力更强;足式机器人的立足点是离散的,跟地面的接触面积较小,因而可以在可达到的地面上选择最优支撑点。
图2-1仿生机器人(MJ)仿真示意图
图2-2仿生机器人(MJ)仿真程序图示
图2-3仿生机器人结构简图
三、移动机器人
为了机器人能够感知周围的环境,各种传感器式必不可少的。
下面所介绍的几个不同的移动机器人就让我们看到了传感器的区别。
机器人必需要有外部信号,比如寻光、寻色或者寻轨迹;也需要有内部信号,如用脉冲齿轮来测量所行距离。
因此每个机器人我们都分配了不同的任务,会给你很多启发,让你更加了解任务的主题。
所有任务的相应程序都可以在ROBOPro目录中\SamplePrograms\ROBOMobileSet\下找到。
3.1基础模型
比起第一个“仿生机器人”,这个基础模型更稳定更坚固。
而且,它有两个传感器来测量所行距离,都含有一个接触式开关和一个脉冲齿轮。
脉冲齿轮连接到电机的减速轴上,使得电机旋转一圈,接触开关启动四次。
这个模型可成为其他移动机器人的基础。
参照装配手册,组装这个基础模型。
搭建时要特别留意,机械构件搭接完成后,不用接口板,直接用电池连接电机,检查其运行是否顺畅。
图3-1移动机器人仿真图
图3-2移动机器人
结构简图
现在我们明白了我们所设置的电机转向实际上是为了让模型按该方向行进。
在下列表做下记录,这样我们就不用每次都得想着要改变电机方向了。
如果严格按照装配手册正确接线,向左旋转就使得任一电机带动车轮向前行。
所有的示例程序中的电机都是如此编程的。
图5图3-3移动机器人仿真程序框图
四寻光机器人
现在对基本模型使用得已经够充分了,是时候让机器人学着对环境信号作出反应了。
类似于实验中的飞蛾,让它寻找光源并跟随之。
组合包中包含了两个光电传感器,可以用作光线探测器。
因此,每一个传感影响一个电机,,使机器人追踪光源成为可能。
程序由两个部分组成,一个部分来处理光源的寻找,另一部分来实现对光源的追踪。
这里我们同样用子程序来实现它们。
机器人通电之后,“光源寻找”子程序就启动了,此子程序一直执行,直到检测到检测到一个光源。
然后主程序控制着机器人驶向机器人。
当机器人偏离了目标光源的方向,其中一个传感器就不再检测到光源。
机器人应该能够改变自己的方向,直到两个传感器重新都能检测到光源。
图4-1寻光机器人仿真图
4-2寻光机器人图图4-2寻光机器人结构件图
图4-2寻光机器人仿真程序
五、躲避障碍机器人】
到此,我们所做的机器人都可以行走一段路了,不管是通过光源还是寻找轨迹。
但是如果前面有障碍物,机器人该怎么办呢?
当然,或者把障碍物推到一边去,或者机器人还麻木的顶着障碍物不停地走,直到电池没电。
要是它能发现障碍,然后躲开,就更智能一些了。
这就需要给机器人安上带有三个接触传感器的弹簧缓冲器。
有了这个缓冲器,它还能区分障碍物是在左边、在右边或是在后边。
如何感知障碍物,这只需要在程序中解决即可。
首先装配模型“躲避障碍机器人”。
只用接触传感器测量机器人行走路程。
这样,我们就可将基本模型的I2接触传感器换作障碍探测器。
图5-1移动机器人仿真图
图5-2躲避障机器人(躲避障碍)仿真程序
现在仍有两件事使模型在碰到障碍的时候不知所措:
当它后退的时候,不能辨别障碍。
还有一个就是障碍物在它的正前方时,它仍无法识别。
那我们就设定,当后退时,I5接触传感器被按下,就说明模型的后面碰到了障碍。
如果模型正前方有障碍时,I3、I4同时被按下。
这样,机器人立刻旋转90度,改道而行。
总之我们现在对于机器人可能遇到的情况及反应做出下列表格
障碍物
接触传感器
应对措施
右侧
I3
左转(约30度)
左侧
I4
右转(约45度)
前方
I3和I4
左转(约90度)
后面
I5
只有在后退时用到。
停止,然后继续按计划躲避。
表1
ROBOPro里的Level3里面有一些新的编程模块,比如运算符(AND,OR)等等,可以帮你轻松解决上述问题。
Level3中可以用一些橙色的箭头在不同模块之间交换数据。
让我们在软件找到这些有用的工具吧。
子程序Light:
PR=右侧光电传感器
PL=左侧光电传感器
从命令模块中存贮的变量也放在主程序当中,经常会被一些子程序所调用。
用数据输出的方式连接在子程序上。
按照子程序“Light”的编程规则,建立子程序“Obstacle”。
在子程序“Driving”中,你运用分支模块访问变量的当前值,然后编辑出相应的机器人的反应动作来。
SB=后方传感器
作为最后的细节,我们还需要再写出上面的子程序中需要的一些子程序。
注意:
寻光者的光电传感器是连接在输入端I3和I4上,而现在是I6和I7。
而且,寻光者模型向左右旋转时,分别是用接触传感器I1和I2来计算脉冲,那现在仅用I1计算,同时还兼有其他功用。
这就要我们复制完程序后,再做一些修改。
但是,如果直接把输入信号放在主程序,并将它们通过数据输入端与子程序相连,就不会发生上述情况了。
同样,躲避障碍的子程序也是现成的。
我们在识别障碍机器人的时候就已经编过了。
只不过原来程序中机器人倒退访问接触传感器I5这个步骤,现在要放在主程序中。
首先这个主程序,让我们一目了然,非常简洁。
实际上,子程序中隐藏着很多复杂的细节工作。
运用“自顶而下”的方法一步一步地进行,我们也可以轻松应付如此复杂的程序。
六.任务分配
1.陈春来:
小组长,机器人搭接方案设计;
2.王海月:
设计电路图和搭接电路图;
3.王文贞:
资料的查阅及整理;
4.姜娜:
编程和调试;
5.于洋洋:
援建的选择及分析和协助安装;
6.张悦:
画结构简图,拍照,协助拆装;
7.范凌源:
机器人设计分析,资料筛选;
8.付丹:
器材清点及整理,协助编程;
9.宫锐:
机器人搭接与拆卸。
心得体会
这次课程设计中我们历时两个星期,在我们班里算是倒数机组完成,但经过这两个星期的实践和体验下来,我们怎么会在乎那个先后问题呢,因为对我们来说学到的不仅是那些知识,更多的是团队和合作。
现在想来,也许学校安排的课程设计有着它深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们凝聚在一起是所能发挥出的巨大潜能。
七参考文献
[1]朱世强,王宣银.机器人技术及其应用.浙江大学出版社,2001.7:
1~2
[2]张剑平,王益.机器人教育:
现状、问题与推进策略.中国电化教育,2006(12):
10~12
[3]熊有伦.机器人技术基础.武汉:
华中科技大学出版社,1996:
3~15
[4]顾震宇.全球工业机器人产业现状与趋势.机电一体化,2006
(2):
6~9
[5]张效祖.工业机器人得现状与发展趋势.相关产业,2004,10(5):
33~37
[6]杨锋.JJR1型机器人运动学分析及其控制系统的研究:
[硕士学术论文].兰州:
兰州理工大学机电工程学院.2006,4:
6~8
[7]王庭有.可编程序控制器原理及应用.北京:
国防工业出版社,2005:
13~16
[8]廖常初.FX系列PLC编程及应用.北京:
机械工业出版社,2006:
3~4,150~151
[9]陈维山,赵杰.机电系统计算机控制.哈尔滨:
哈尔滨工业大学出版社,1999:
8~10
[10]龚振邦、陈振华等.机器人机械设计.北京:
电子工业出版社,1995:
192~195
[11]熊有伦.机器人技术基础.武汉:
华中科技大学出版社,1996:
6~7
[12]诸静.机器人与控制技术.浙江:
浙江大学出版社,1991:
114~115
[13]郭洪红.工业机器人技术.西安:
西安电子科技大学出版社,2006:
13
[14]许福玲,陈尧明.液压与气压传动.北京:
机械工业出版社,2004:
20~25
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 研究 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)