当前位置:文档之家› 机器人避障论文

机器人避障论文

机器人避障论文
机器人避障论文

课程设计作品:自动避障小车

组员:常凯刘旭巩靖

一、前言

设计背景:

在科学探索和紧急抢险中经常会遇到对与一些危险或人类不能直接到达的地域的探测,这些就需要用机器人来完成。而在机器人在复杂地形中行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发就应运而生。我们的自动避障小车就是基于这一系统开发而成的。意义随着科技的发展,对于未知空间和人类所不能直接到达的地域的探索逐步成为热门,这就使机器人的自动避障有了重大的意义。我们的自动避障小车就是自动避障机器人中的一类。自动避障小车可以作为地域探索机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物。成员情况本组三位成员均为2005级基地班学生,都选修过数字电路课程。二、总体方案设计

1、设计要求

小车从无障碍地区启动前进,感应前进路线上的障碍物后,根据障碍物的位置选择下一步行进方向。并可通过两个独立按键对小车进行控速。

2、小车自动避障的原理

小车车头处装有三个光电开关,中间一个光电开关对向正前方,两侧的光电开关向两边各分开30度,(如右图所示)。小车在行进过程中由光电开关向前方发射出红外线,当红外线遇到障碍物时发生漫反射,

反射光被光电开关接收。小车根据三个光电开关接受信号的情况来判断前方障碍物的分布并做出相应的动作。光电开关的平均探测距离为30cm。

3、模块方案比较及论证

根据设计要求,我们的自动避障小车主要由六个模块构成:车体框架、电源

及稳压模块、主控模块、逻辑模块、探测模块、电机驱动模块组成。各模块分述如下:

3.1车体框架

在设计车体框架时,我们有两套起始方案,自己制作和直接购买玩具电动车。方案一:自己设计制作车架自己制作小车底盘,用两个直流减速电机作为主动轮,利用两电机的转速差完成直行、左转、右转、左后转、右后转、倒车等动作。减速电机扭矩大,转速较慢,易于控制和调速,符合避障小车的要求。而且自己制作小车框架,可以根据电路板及传感器安装需求设计空间,使得车体美观紧凑。但自己制作小车设计制作周期较长,且费用较高,因而我们放弃这一方案。方案二:购买玩具电动车

玩具电动车价格低廉,有完整的驱动、传动和控制单元,其中传动装置是我们所需的,缩短了开发周期。但玩具电动车采用普通直流电机驱动,带负载能力差,调速方面对程序要求较高。同时,玩具电动车转向

依靠前轮电机带动前轮转向完成,精度低。

考虑到利用玩具电动小车做车架开发周期短,可留够充分的时间用于系统调试,且硬件上的不足我们有信心用优良的算法来弥补,故我们选择方案二。

3.2电源及稳压模块

方案一:采用交流电经直流稳压处理后供电

采用交流电提供直流稳压电源,电流驱动能力及电压稳定性最好,且负载对电源影响也最小。但由于需要电线对小车供电,极大影响了壁障小车行动的灵活性及地形的适应能力。而且壁障小车极易把拖在地上的电线识别为障碍物,人为增加了不必要的障碍。故我们放弃了这一方案。

方案二:采用蓄电池供电

蓄电池具有较强的电流驱动能力和较好的电压稳定性能,且成本低廉。可采用蓄电池经7812芯片稳压后给电机供电,再经过降压接7805芯片给单片机及其他逻辑单元供电。但蓄电池体积相对庞大,且重量过大,造成电机负载过大,不适合我们采用的小车车架(玩具电动车车架)。故我们放弃了这一方案。

方案三:采用干电池组进行供电

采用四节干电池降压至5V后给单片机及其他逻辑单元供电,另取六节干电池为电机及光电开关供电。这样电机启动及制动时的短暂电压干扰不会影响到逻辑单元和单片机的工作。干电池用电池盒封装,体积和重量较小,同时玩具车底座可以安装四节干电池,正好可为单片机及其他逻辑单元供电。在稳压方面,起始时考虑使用7805芯片对6V的电池电压进行降压稳压。但考虑到这样使得7805芯片消耗大量能量,降低电池寿命;同时,由于mega16、光电开关、小车电机对于供电电压要求并不苛刻,故我们将6V电池电压接一个二极管降压后直接给单片机及其他逻辑单元供电。而电机和光电开关的电源不做稳压处理。这样只需在小车主板上加两个调速按钮,根据电池电量选择合适功率即可,甚至于可直接在软件里设置自动换挡。

综合考虑,我们采用方案三。示意图如下

3.3主控模块

作为单片机原理与接口技术课程的course project,我们直接选用了课程主要介绍的,Atmel公司的ATmaga16L单片机作为主控模块。

Mega16是高性能、低功耗的8 位AVR 微处理器,具有先进的RISC结构,内部集成两个具有独立预分频器和比较器功能的8 位定时器/ 计数器和一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器。可通过JTAG对MCU进行程序烧写及仿真。内置晶振,使用方便。

在设计开发过程中我们使用课程设计提供的开发板进行程序调试和下载,配车使用时直接将MCU拔出插入我们小车系统电路板底座中。示意图如下:

3.4 逻辑模块

在探测模块和单片机中断接口之间、独立按键与单片机中断接口之间,需要经过电平的逻辑处理进行连接。主要涉及到一个三输入或非门和一个二输入与门。这两个逻辑关系我们直接选用74HC系列的集成芯片实现。

由于三输入或非门在市场上很难购买到,我们采用了两个二输入或非门和一个二输入与门完成了三输入或

非门。由于我们采用的74HC08(四二输入与门)、74HC02(四二输入或非门)均为四二输入的,各提供四个二输入与门和四个二输入或非门,我们用各用一片芯片即可实现所需逻辑功能。

示意图如下:

3.5探测模块

方案一:使用超声波探测器

超声波探测器探测距离远,测距方便。但由于声波衍射现象较严重,且波包散面太大,易造成障碍物的错误判断。同时,超声波探测具有几厘米甚至几十厘米的盲区,这对于我们的避障小车是个致命的限制。故我们放弃了这一方案。

方案二:使用光电对管探测

光电对关价格低廉,性能稳定,但探测距离过近(一般不超过3cm),使得小车必须制动迅速。而我们由于采用普通直流电机作为原动力,制动距离至少需要10cm。因此我们放弃了这一方案。

方案三:使用视频采集处理装置进行探测

使用CCD实时采集小车前进路线上的图像并进行实时传输及处理,这是最精确的障碍物信息采集方案,可以对障碍物进行精确定位和测距。但是使用视频采集会大大增加小车成本和设计开发难度,而且考虑到我们小车行进转弯的精确度并未达到视频处理的精度,因而使用视频采集在实际应用中是个很大的浪费,所以我们放弃了这一方案。

方案四:使用光电开关进行障碍物信息采集

使用三只E3F-DS30C4光电开关,分别探测正前方,前右侧,前左侧障碍物信息,在特殊地形(如障碍物密集地形)可将正前方的光电开关移置后方进行探测。E3F-DS30C4光电开关平均有效探测距离0~30cm 可调,且抗外界背景光干扰能力强,可在日光下正常工作(理论上应避免日光和强光源的直接照射)。我们小车换档调速后的最大制动距离不超过30cm,一般在10~20cm左右,因而探测距离满足我们的小车需求。

综上考虑,我们选用方案四。示意图如下:

3.6电机驱动模块

方案一:使用分立原件搭建电机驱动电路

使用分立原件搭建电机驱动电路造价低廉,在大规模生产中使用广泛。但分立原件H桥电路工作性能不够稳定,较易出现硬件上的故障,故我们放弃了这一方案。

方案二:使用L298N芯片驱动电机

L298N是一个具有高电压大电流的全桥驱动芯片,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号,而且带有使能端,方便PWM调速,电路简单,性能稳定,使用比较方便。L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,正好符合我们小车两个二相电机的驱动要求。

综合考虑,我们采用L298N芯片驱动小车电机。控制示意图如下:?

最终方案如下:

使用干电池组对系统供电,改造玩具电动车作为小车底座,采用Mega16L作为主控芯片,采用E3F-DS30C4光电开关进行障碍物探测,使用L298N驱动直流电机。逻辑关系处理使用74HC系列芯片完成。

三、单元模块设计

1、各单元模块功能介绍及电路设计

自动避障小车系统的整体电路原理图如下:

??

1.1 直流电源降压

经过测量,一般四节新南孚电池串联带负载后可提供5.8V电压。经过二极管稳压至5.1~5.2V后给逻辑器件供电并给系统提供高电平标准。

?

1.2 主控芯片

使用Mega 16L的PA0~PA3接电机驱动芯片L298N的IN1~IN4,实现对电机驱动芯片的控制,进而控制电机的转动。

使用Mega 16L的PB0~PB2接经过电平转换的探测器信号线,实现对障碍物信息的采集。

使用Mega 16L的PC0、PC1接受独立按键信号,实现对小车行进过程中速度的控制。由于我们小车电机电源没有经过稳压,随着电池电量的消耗,电机电池组的电压逐渐降低,因而小车速度会发生变化。我们就可以通过独立按键对

速度进行提前设定,使得即使电池组电量变化,小车也能按预定速度行进。

使用Mega 16L的PD2、PD3接收中断信息。在软件部分我们可以看到,随着程序的不断完善,最终我们的INT0,即PD2并没有使用。

使用引脚10为单片机供电,引脚31接地。

?

1.3 逻辑模块

设计任务:

三个传感器信号线给出逻辑电平信号,当任何一个是高电平时,给INT0一个低电平信号。(如上一部分所述,最终我们用定时器中断代替了这个外部中断,但作为硬件设计和焊接的一部分,我们还是给以阐释)。两个独立按键分别控制提速和减速,没有按下时,信号线给出高电平。当任意一键按下时,信号线给出低电平,同时给出一个低电平给INT1。

任务实现:

第一个任务的实现原本想采用三输入或非门74HC27 实现。但由于市场上缺乏供应,我们用74HC08的一个二输入与门和74HC02的两个二输入或非门完成。

?

第二个任务逻辑的实现使用74HC08的一个与门实现。按键功能的实现,是使用了两个5K1的电阻分别连接两个按键与逻辑高电平(+5V),无键按下电平上拉至逻辑高电平,有键按下时降至0V。

1.4 探测模块

探测模块的电路图:

设计任务:

1. 三个光电开关探测前方障碍物。

2. 将光电开关传回的非标准的开关电平信号转换成CMOS标准电平(即将0~9V转换成0~5V)。

任务实现:

1. 光电开关发射出的红外线在经障碍物漫反射后会由光电开关再接收到,这会引起光电开关传回的电平的变化。若前方有障碍物,则光电开关传回低电平;若前方无障碍物,则光电开关传回的是高电平。有电平的变化可以实现对前方障碍物的探测。

2. 光电开关传回的信号是非标准的电平信号,这对于Mega16芯片是不适用的。因此,我们使用了三个8050三极管来实现电平的转换。由三极管的电气特性,当其基极为低电平时,即基极——发射极电压小于导通压降,其输出电平为高电平,在其输出端有用一个5K1的电阻上拉,使输出的高电压为+5V;而在基极为高电平时,三极管发射极正偏,输出电平为0。这样输出电平已经转化为CMOS标准电平。不过,这时传回到Mega16的电平信号已经和原来光电开关传回的信号高低相反,但这并不影响前方障碍物的探测。

1.5 电机驱动模块

电机驱动模块的电路图:

电机驱动模块主要功能是将主控芯片发出的信号通过L298N电机控制芯片转化为小车实际的动作。

L298N芯片有两个电源引脚VDD引脚和VCC引脚。VDD引脚接+9V电源用来给电机供电,VCC引脚接+5V电源用来给芯片供电,并作为逻辑高电平标准。

L298N芯片通过一个有四个4148二极管组成的保护电路与电机相连,保护电路主要是用来在电机开启和关闭时泄流之用。

由于我们一直让转向电机以最大功率使能从而获得最大的扭矩,保证小车转向成功,而不需要控制转向电机的输出功率,所以ENA引脚(即转向电机使能引脚)直接接+5 V,即让转向电机一直使能。

对于后置的驱动电机,我们不仅要控制其实现前进、后退和停止,还要能够控制其转速以解决由于电量不足而产生的小车变慢的问题。所以,我们将L298N芯片的ENB引脚与Mega16的PB3引脚(即OC0)连接,用来实现PWM调速。

L298N芯片的IN1和IN2引脚分别和Mega16的PA1和PA0引脚连接用来接收主控芯片输出的转向电机的动作指令,并通过OUT1和OUT2来控制转向电机的正转与反转,最终功能的实现表现在小车的左转与

右转。

L298N芯片的IN3和IN4引脚分别与Mega16的PA3和PA2引脚连接用来接收主控芯片输出的驱动电机的动作指令,并通过OUT3和OUT4来控制驱动电机的正转与反转,最终功能的实现表现在小车的前进、后退、停止。

2、所用全部硬件资源

⑴增强版ATMega 16L/32开发板(进行程序的初步调试)

⑵简版JTAG仿真器(程序的下载和仿真)

⑶遥控电动玩具车

⑷E3F-DS30C4光电开关3只

⑸Mega 16L单片机1片

⑹L298N电机驱动芯片1片

⑺74HC02芯片、74HC08芯片各1片

⑻8050NPN三极管3只,4148二极管8只

⑼实验电路板1只

⑽5K1电阻5只,10K电阻2只

⑾散热片1只

⑿独立按键2只

⒀40引脚底座1只

⒁电池盒2只

⒂南孚电池6节,华太电池4节

⒃5列装排线1米左右

⒄502粘合剂1瓶

四、程序设计和调试过程

1、程序调试过程

目前程序已经经历了四个主要版本,对寻障避障的方法前后有较大的改变。

1.1最初的程序设计主流程图:

?

INT0中断触发端口值是多少?检测传感器端口的反馈值前方有障碍物根据检测到的障碍物情况(分7种),从7个动作函数中选择一个执行前进等待下次中断触发前方无障碍物

这是一个很简单而自然的想法。用定时器T0的快速PWM模式控制小车的速度,附加两个独立按键来控制初始时小车的速度,以便于调试。第一版程序中为小车设计了如下7个动作:

发现前方有小障碍(010):后退并右转;

发现右方有小障碍(100):前进并左转;

发现左方有小障碍(001):前进并右转;

发现前方有大障碍(111):较大的后退并右转;

发现右方有大障碍(110):后退并右转;

发现左方有大障碍(011):后退并左转;

发现两边有障碍但中间无障碍(101):较大的后退并右转;

每次动作结束后,小车都要改运动状态为前进,等待下一次中断触发。

按照这样的思路写完程序后,调试中发现小车的动作很笨拙,每次相同动作的距离总是一样的,不能根据环境自动调整,前进后退都太冲;因为动作都是用延时函数实现的,动作中要禁用全局中断,导致发现障碍物不及时,常常一头撞上去;后退时动作无法调整,即使已经避开了障碍物还是无法及时转换成前进状态,经常撞上后面的物体。

鉴于以上发现的问题,我们又修改写成了第二版程序,流程图与第一版大致

相同,所不同的是每次动作的时间都被改得非常短(约几个毫秒),在每个动作结束后都在此检测探测器反馈值,然后根据反馈值选择下一步动作。也就是说,8个动作函数(加了一个前进)和一个INT0中断处理函数形成了循环,循环的唯一出口在前进函数里,只有检测到前方已无障碍物时才能退出中断。我们希望通过缩短每次动作的时间、缩短两次探测之间的间隔时间来达到变行进边探测效果,使小车的动作更加灵敏。

1.2 第二版程序的主流程图:

有障碍无障碍INT0中断触发端口值是多少?检测传感器端口的反馈值前方有障碍物根据检测到的障碍物情况(分7种),从7个动作函数中选择一个执行前进等待下次中断触发前方无障碍物检测判断端口值

对于这一版程序,我们在调试过程中发现小车四处乱撞的问题已经基本能解决了,但随之而来又出现了新

问题:控制小车前进和转向的端口电平变得很不稳定,小车走起路来颤颤巍巍,常常出现卡死的现象。具体表现为:端口值有规律

地闪动,大约0.2秒闪一次,出现一个极短的脉冲,其值恰好是“前进”。由此我们想到可能是算法本身的原因造成了这种现象,是退出中断服务程序时的一个脉冲。

为了解决端口电平不稳定的问题,也为了定时更加准确,同时节省CPU时间,我们对程序进行了较大调整,改为用T1定时器来控制动作和检测。每隔一定时间T1触发溢出中断,在中断服务程序中进行检测和行动。这时的行动只是改变控制端口值,不需要延时函数,这就大大节约了CPU时间。每个动作函数都精简到只有一个动作,动作完成后不再作改动,等待下次中断再修改控制端口值。

1.3 第三版程序的主流程图:

T1溢出中断端口值是多少?检测传感器端口的反馈值前方有障碍物根据检测到的障碍物情况(分7

种),从7个动作函数中选择一个执行等待下次中断触发前方无障碍物

从这一流程图可以看出,我们尽可能的精简了小车的动作过程,使得整个判断处理过程简洁而迅速。另外,我们在这一版程序里加上了自动变速程序,小车的速度不再由各个动作函数直接指定,而是通过计算一个连续动作的进行时间,由程序自动设定T0的OCR0值。这样做主要是为了配合小车的启动和制动,在启动和制动时给小车较大的动力,而在一般行进时使用普通功率,这样就可以既有效的控制小车的速度,又能够保证小车在改变方向时有足够的动力。程序实现了三档自动变速。此外,我们还修改INT1中断中的两个按键的功能,不再是控制起始速度,而是控制普通行进时的速度,使这两个控制按键更加实用。

在测试中,我们发现这样的改变收到了良好的效果。小车在前方障碍物的检测和避过上已经非常灵敏,能在随意放置的障碍物阵中迅速找到前进的路线穿过阵列。由于加上了自动变速程序,小车的动作也变得流畅了许多。

不过,在测试中我们还是发现了新的问题:小车在碰上前方的障碍时需要后退,后退到光电开关检测不到障碍的地方改变方向前进,这是程序设计的动作;但是如果小车在光电开关检测距离阈值的地方正好速度比较慢,没有足够的惯性冲到检测距离里面或外面,就可能在那里不断重复短促的前进和后退的动作,从而卡死。

为了解决这个问题,我们在第三版程序的基础上,又编写了第四版程序。第四版程序中新增添了防卡死机制,结合定时器控制和延时函数控制的优点,实现了小车较流畅的后退和转向。

1.4第四版程序的主流程图:

T1溢出中断端口值是多少?检测传感器端口的反馈值前方有障碍物根据检测到的障碍物情况(分7种),从7个动作函数中选择一个执行等待下次中断触发前方无障碍物记录上一次的动作持续时间是否卡死?执行卡死处理函数清空历史记录否是

第四版程序的防卡死机制是以一个动作历史记录队列为基础的。该队列是一个有8个元素的数组history[8],每次行进方向改变,即由后退转为前进或由前进转为后退时,即认为一次连续动作结束,记录这个动作的时间,写入队列内;队列内共记录前8次连续动作的持续时间,如果这8次动作中有7次以上持续时间在0.4秒以下,就认为小车被卡住了,这时执行卡死处理函数,让小车退出卡死区域。卡死处理函数使用了延时函数来执行,期间禁用了T1,视障碍物情况执行1-3次倒退转向动作。此外我们改变了一个动作函数:由于小车的探测距离比车身宽度大得多,当左右两个探测器检测到有障碍物而中间没有时,小车将直接前行从障碍物中间穿过。

防卡死机制有效地解决了小车卡死的问题,小车对于前方障碍物的躲避也比

较灵敏了。??

这一版程序为我们小车的最终定型程序。

程序模块构成

系统时钟模块:通过T1定时器产生0.1秒间隔的溢出中断,作为小车周期性探测和动作的时钟。此外有两个辅助软件延时函数。

相关函数:

timer1_init();

isr_timer1_ovf();

trap_handler();

delay100us(n);

delay10ms(n);

调速模块:通过T0定时器产生PWM波形来控制驱动电机的输出功率。程序设计了3挡自动调速,对应OCR0值max_power, fast_power, mid_power。从启动开始,利用变量count_move来计算连续行动的时间,使用最大功率连续前进或后退0.3秒以克服摩擦阻力,接下来0.3秒时用较大功率,以后使用普通功率。其间如果探测到障碍物需要改变行进方向,可以随时重新计时。通过两个独立按键可以调整普通功率值,计算按键的时间,每个时间单位mid_power值加1。

相关函数:

timer0_init();

set_OCR0();

isr_timer0_ovf();

isr_INT0();

障碍探测模块:如前所述,通过读取PINB端口值判断前方障碍物情况。共有7种设定的障碍物情况,详

2012年数学建模机器人避障问题

机器人避障问题 摘要 本文主要运用直线逼近法等规律来解决机器人避障问题.对于问题一:要求最短路径运用直线逼近法证得圆弧角三角形定理,得出结论:若一大圆弧角三角形完全包括另一小圆弧角三角形,则该三角形曲线周长必大于小的三角形周长.那么可知机器人在曲线过弯时,选择最小半径可满足路径最短,即为10个单位半径,通过观察可得可能的所有曲线,通过仅考虑直线段的大致筛选选出总长较小、长度相近(之差小于100)的曲线,然后利用平面几何知识对相关切点,进而求出各直线、曲线的长度,求和可得最段路线.对于问题二:通过对机器人过弯规律2 1.0100 e 1)(ρ ρ-+= =v v v 的分析可知,当过弯 半径13ρ=时,机器人速度达最大速度为50=v 个单位/秒,再大就无变化了,那么可分两种情况考虑:1)当13ρ>时,过弯速度无变化,但由圆弧角三角形定理可知,此时随着ρ的不断变大,其路线总长不断变大,这时ρ越小O A →所用时间最短;2)当13ρ≤时,统计计算ρ分别为10、11、12、13时,过弯速度v 也不断变化,计算所用时间发现随ρ不断变大,O A →所用时间越短,此时当13ρ=时,时间最短.综合上述可知:当 13ρ=时,时间最短. 关键词: 质点机器人 安全范围 直线逼近法 圆弧角三角形定理 10单位半径

1 问题重述 在一个800×800的平面场景中,在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动,其中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物, 物的距离至少超过10个单位).规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径.机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位.为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位. 机器人直线行走的最大速度为50=v 个单位/秒.机器人转弯时,最大转弯速度为 2100.11 0()(1e ) v v v ρρ--==+,其中ρ是转弯半径.如果超过该速度,机器人将发 生侧翻,无法完成行走. 下面建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型.对场景图中4个点O(0, 0),A(300, 300),B(100, 700),C(700, 640),具体计算: (1) 机器人从O(0, 0)出发,O→A 、O→B 、O→C 和O→A→B→C→O 的最短路径. (2) 机器人从O (0, 0)出发,到达A 的最短时间路径. 2 问题分析 2.1问题一: 该问题要求路径最短,即不要求速度与时间,则可认为以最小半径10的圆过弯. 如图2.1所示:由圆弧角三角形定理(简单证明见模型准备5.3)可知过弯时,只有采用10单位半径过弯时,才会使得过弯路径最短,因此解决问题一的过弯拐角问题均采用10单位半径过弯路径. 2.2问题二: 由于O→A 过程中,机器人至少要经过一

机器人避障问题——国家一等奖论文 推荐

D题机器人避障问题 摘要 本文综合运用分析法、图论方法、非线性规划方法,讨论了机器人避障最短路径和最短时间路径求解问题。 针对问题一,首先,通过分析,建立了靠近障碍物顶点处转弯得到的路径最短、转弯时圆弧的半径最小时和转弯圆弧的圆心为障碍物的顶点时路径最短、转弯在中间目标点附近时,中间目标点位于弧段中点有最短路径的三个原理,基于三个原理,其次对模型进行变换,对障碍物进行加工,扩充为符合条件的新的区域并在转弯处圆角化构成障碍图,并通过扩充的跨立实验,得到切线和圆弧是否在可避障区的算法,第三,计算起点、中间目标点和最终目标点和各圆弧及圆弧之间的所有可避障切线和圆弧路径,最后给这些定点赋一个等于切线长度或弧度的权值构成一个网络图,然后利用Dijkstra算法求出了O-A、O-B,O-C的最短路径为O-A:471.0372个单位,O-B:853.7001个单位,O-C:1086.0677个单位;对于需要经中间目标点的路径,可运用启发规则分别以相邻的目标点作为起点和终点计算,确定路径的大致情况,在进一步调整可得到O-A-B-C-O的最短路径为2748.699个单位。 针对问题二,主要研究的是由出发点到达目标点A点的最短时间路径,我们在第一问的基础上考虑路径尽可能短且圆弧转弯时的圆弧尽量靠近障碍物的顶点,即确定了圆弧半径最小时的圆弧内切于要确定的圆弧时存在最小时间路径,建立以总时间最短为目标函数,采用非线性规划模型通过Matlab编程求解出最短时间路径为最短时间路程为472.4822个单位,其中圆弧的圆心坐标为(81.430,209.41),最短时间为94.3332秒。圆弧两切点的坐标分别为(70.88,212.92)、(77.66,219.87)。 关键字:Dijkstra算法跨立实验分析法非线性规划模型

自动避障小车设计

自动避障小车 技术报告 前言 设计背景:在科学探索和紧急抢险中经常会遇到对与一些危险或人类不能直接到达的地域的探测,这些就需要用机器人来完成。而在机器人在复杂地形中行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发就应运而生。 我们的自动避障小车就是基于这一系统开发而成的。随着科技的发展,对于未知空间和人类所不能直接到达的地域的探索逐步成为热门,这就使机器人的自动避障有了重大的意义。我们的自动避障小车就是自动避障机器人中的一类。自动避障小车可以作为地域探索机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物。

目录 一、设计目标: (3) 二、方案设计: (4) 2.1直流调速系统 (4) 2.2检测系统 (4) 三硬件设计 (5) 3.1、SPCE061A单片机最小系统 (5) 3.1.1.SPCE061A时钟电路 (8) 3.1.2.PLL锁相环 (9) 3.1.3.看门狗Watchdog (9) 3.1.4.低电压复位(LVR) (10) 3.1.5.I/O端口 (10) 3.1.6.时基与定时器 (11) 3.1.7.SPCE061A的定时器/计数器 (11) 3.1.8.ADC、DAC (12) 3.2、超声波传感器 (12) 四软件设计 (16) 4.1软件设计各模块 (16) 4.2速度控制 (17) 4.3障碍物检测 (17) 4.4看门狗 (17) 4.5基频中断 (18)

4.6程序设计流程图 (19) 五:测试数据、测试结果分析及结论 (19) 程序附录 (21) 1.主程序: (21) 2.中断程序 (24) 3、测距程序 (28) 一、设计目标: 1.小车从无障碍地区启动前进,感应前进路线上的障碍物 后,能自动避开障碍物。 2.根据障碍物的位置选择下一步行进方向,选择左拐还是右 拐,若障碍物在左边则自动右拐,若障碍物在右边则左拐,若障碍物在正前方可任意选择左拐或者是右拐,以达到避开障碍物的目的。 3.通过利用单片机内时钟源的控制设定左拐和右拐的时间, 从而能持续前进。 4.为达到速度的可控性,需设置两个独立按键对小车进行控 速。

避障机器人设计报告

开放性实验报告 ——避障机器人设计 系别:智能科学与技术 姓名:唐继鹏 姚武浩 姜飞鹏 郑光旭 指导老师:袁立行、王曙光、亢红波时间:2011.9.16——2012.4.28

目录 1 系统功能介绍 (1) 2 设计任务与要求 (1) 3 系统硬件设计 (1) 3.1系统总体设计框图 (1) 3.2寻线模块(ST188) (2) 3.3电机控制模块 (3) 3.4单片机最小模块 (4) 3.5数码管显示模块 (6) 4 系统软件实现 (7) 4.1 设计思路 (7) 4.2 软件程序流程图 (8) 4.3程序代码见附录Ⅰ (8) 5 调试结果 (8) 6 实验总结 (9) 附录Ι (10) 附录Ⅱ (18) 附录Ⅲ (19)

1 系统功能介绍 本设计以单片机作为控制核心,电路分为最小系统模块,黑线检测模块,电机驱动模块,数码管显示模块。黑线检测模块采用反射式关电传感器st188,并且接相应的三级管来规划传感器的输出,当输出高电平为正常情况。电机为伺服电机,给定脉宽为1.5ms的信号电机保持不动,给定脉宽为1.7ms的信号电机正向转到给定脉宽为1.3ms的信号电机逆向转到。数码管动态显示机器人行进过程所用的时间。 2 设计任务与要求 ◆熟悉51系列单片机的原理及应用。 ◆掌握ST188设计电路和传感器的使用。 ◆掌握直流电机的驱动方法。 ◆掌握动态数码管显示的方法。 ◆设计机器人的硬件电路及软件程序。 ◆制作机器人的硬件电路,并调试软件,最后实现机器人的自动测量黑线。 3 系统硬件设计 3.1系统总体设计框图 该系统中51单片机作为主微控芯片,其外多个I/O口作为通用I/O口接受传感器的信号并输出相应的控制信号。 系统硬件总体设计框图如下图3.1-1所示。

高教社杯数学建模D题机器人避障问题论文

机器人避 障问题 摘要 本文研究了机器人避障最短路径和最短时间路径的问题。主要研究了在一个区域中存在12个不同形状障碍物,由出发点到达目标点以及由出发点经过途中的若干目标点到达最终目标点的多种情形,寻找出一条恰当的从给出发点到目标点的运动路径使机器人在运动中能安全、无碰撞的绕过障碍物而使用的路径和时间最短。由于规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径,机器人不能折线转弯。所以只要给定的出发点到目标点存在至少一个障碍物,我们都可以认为最短路径一定是由线和圆弧所组成,因此我们建立了切线圆结构,这样无论路径多么复杂,我们都可以将路径划分为若干个这种切线圆结构来求解。在没有危险碰撞的情况下,圆弧的半径越小,路径应该越短,因此我们尽量选择最小的圆弧半径以达到最优。对于途中经过节点的再到达目标点的状况,我们采用了两种方案,一种是在拐点和节点都采用最小转弯半径的形式,另一种是适当扩大拐点处的转弯半径,使得机器人能够沿直线通过途中的目标点。然后建立了最优化模型对两种方案分别进行求解,把可能路径的最短路径采用穷举法列举出来,用lingo 工具箱求解得出了机器人从O(0,0)出发,O→A、O→B、O→C 和O→A→B→C→O 的最短路径;利用matlab 中的fminbnd 函数求极值的方法求出了机器人从O(0,0)出发,到达A 的最短时间路径。本文提出一种最短切线圆路径的规划方法,其涉及的理论并不高深,只是应用了几何知识和计算机程序、数学工具计算,计算简易,便于实现,能搞提高运行效率。 问题一 O→A 最短路径为:OA L =471.0372 O→B 最短路径为:=1OB L 853.8014 O→C 最短路径为:4OC L =1054.0 O→A→B→C→O 最短路径为: 问题二机器人从O(0,0)出发,到达A 的最短时间路径: 最短时间是94.5649,圆弧的半径是11.5035,路径长4078 .472=OA L 关键词最短路径;避障路径;最优化模型;解析几何;数学工具 一、问题重述 图1是一个800×800的平面场景图,在原点O(0,0)点处有一个机器人,它只能在该平面场景范围内活动。图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍

STEAM课例《避障机器人》教学反思

STEAM课例《避障机器人》教学反思 从兴趣入手,充分调动学生学习的主动性和积极性,在课堂学习中,学生的注意力高度集中,思维异常活跃,求知欲异常强烈,创造思维活动得以启动运行。《避障机器人》是让学生通过学习,能够正确地编写“机器人避障”的程序,能够为机器人设置障碍物环境,让机器人顺利地在此环境自由地行走。为了让学生对机器人编程学习有一个好的开始,花了不少心思对本课内容进行了阅读、理解、推敲,最后从以下几方面着手进行教学设计: 一、趣味导入,动静结合,激发学生的直接学习兴趣。 通过观察体验机器人避障功能,学生开始对“超声波传感器”(在学习之前学生还不知道这个部件就是红外)产生了求知欲,它到底能让机器人干什么?这个时候如果切入到机器人的学习,恐怕学生会大失所望。于是我用心地拍了一段视频,学生在观看视频中进一步明白了机器人也要装眼睛才可以看见物体,从而自然地引出课题,也调动学生的学习情绪。 二、启发思维,张扬个性,提高学生的创新意识和创新能力。 机器人避障的流程图编写是本节课的重点。学生通过自主学习基本上可以完成框架的搭建,甚至有些学生还可以正确地设置条件判断、电机的参数,但是我们要求学生学习程序编写真正目的不仅是会搭框架,还要理解每个模块的作用,整个流程图的设计思路,也就是

常言道“知其然,还知其所以然”,从而让学生的思维在这个过程中得到训练。 三、循循善诱,言简意赅,让学生的兴趣在思考中升华。 机器人从无眼睛到装上了眼睛,从四处撞墙到巧妙地避开自由行走,贯穿整个课堂。本节课的教学引导没有过多的教师语言,只是在环节衍接处适当地以视频方式展示情境,通过设置问题启发学生观察思考体验,每一个问题都与下一个学习紧密相联,学生的兴趣从开始被吸引,到最后升华。 但是在下载到机器人的时候,机器人中的超声波传感器的两个探测头的距离和位置是很难把握的,有时上传程序的时候就会失败,这就需要我们在不断的实验中把握尺度,总结规律,也需要让学生不断的进行调试,让他们能自己总结出规律,加深记忆。

小车自动避障与路径规划

第3章系统总体结构及工作原理 该系统主要以超声波测距为基本测距原理,并在相应的硬件和软件的支持下,达到机器人避障的效果。 3.1机器人总体硬件设计 3.1.1传感器的分布要求 为了全方位检测障物的分布状况,并及时为机器人系统提供全面的数据,可将所需的八个传感器均匀排列在机器人周围,相邻每对传感器互成45度角。为了避免相互干扰,八个传感器以程序运行周期为周期,进行循环测距。传感器排列示意图如下: 图3.1.1 传感器分布图

图3.1.2 硬件设计总体框架图 上图为支持机器人运行实用程序的硬件部分的总体设计框架图,由负责相关任务的同学提供。在超声波信号输入单片机以后,由存储在单片机中的主程序调用避障子程序,根据输入信号执行避障指令,并使相关数据返回主程序,转而提供给电机和LED显示器的驱动程序使用,最后,由电机执行转向指令,结果则显示在LED显示器上。

图3.1.3 软件总体框架图 由上图可知,本文作者负责的超声波避障程序为软件总体设计中的子程序部分。在主程序运行过程中,若调用超声波避障程序,机器人在自行轨迹规划后,将程序处理所得数据送给电机处理成立程序,控制电机动作。具体的避障程序设计将在第4章进行。 3.2超声波测距原理 测距原理:超声波是指频率高于20KHz的机械波。为了以超声波作为检测

手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。[8]超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,即:[8] D=ct/2 其中D为传感器与障碍物之间的距离,以m计,c为超声波速度,这里以340m/s计,t为超声波从发送到接收的总时间,以s计。据此原理可以用超声波传感器测得的距离为避障程序提供所需的数据。[8] 第4章轨迹规划算法的实现方案 4.1轨迹规划算法的层次化设计 根据上述材料分析,可以将机器人轨迹规划算法设计分为基础控制层、行为控制层和坐标计算层,三个层次进行。 4.1.1基础控制层设计 基础控制层可定义为基本行为层,这层算法的任务是寻找目标点,并确保机器人可以顺利到达指定目标位。在确定目的地位置的情况下,为了达到上述目的,计算机必须对机器人的方位进行时实计算。应用人工势场法原理,可以将目标点设为引力极,牵引机器人运动。对此动作建立相应的模型,可以使用建立平面坐标作为虚拟势场的方法来给机器人定义方位,将机器人关于目标点的时实偏角作为虚拟引力方向,以确定机器人下一步所需转过的角度,并时实检测,是否已到达目的地,若已到达,则可认为虚拟引力此刻为0,并发出信号控制程序终止运行总体程序。 由此,可确定基础控制层所需的各参数: (1)机器人的时实坐标x, y值,由专门的坐标计算层提供,为了提高精 确度,可以采用厘米为单位制。 (2)机器人的速度v,测量后设为定值使用。 (3)周期T,直接设置为定值使用。 (4)偏转角de,可通过机器人与横坐标之间的夹角pe,减去机器人到目 标点连线与横坐标的夹角E得到。

机器人避障问题论文

机器人避障问题 【摘要】 本文主要是对机器人在一个平面区域内通过不同障碍物到指定目标点进行研究,通过建立机器人与障碍物的最小安全距离的禁区模型,进而建立从区域一点到另一点的最短距离、最短时间的数学模型。在最优转弯顶点为障碍物,最优转弯半径为安全距离10的基础上,把路径概括为基本的三种数学模型。利用穷举的算法找出最短路径和最短时间。 针对区域中从一点到另一点避障的最优路径问题,把障碍物划分为有顶点和无顶点两大类。首先本文证明对于有顶点障碍物,机器人以障碍物顶点为圆心且转弯的圆弧半径为10时路径最优,我们还注意到在某些路径中适当增加圆的半径可以把曲线路线转换为直线路径,进一步优化行进路径;对于无顶点障碍物通过论证找出以障碍物圆心为转弯圆心,以障碍物半径与安全距离的和为转弯半径的最优转弯圆弧。其次本文将寻找最短路径的的问题转换为最短路径的优选问题。本文巧妙的将优化模型转变为研究不与障碍物边界相交、不与圆弧相交的路线中的最优解的问题。在这个数学模型的基础上进行相应的改善并且使用穷举的算法找出最优路径。 针对不同的目标点,我们将机器人的行进分为单目标点和多目标点两种情况针对多目标点问题,由于机器人不能直线转向,所以在经过目标点时,应该提前转向,且中间目标点应该在转弯弧上。因此先建立优化模型(模型三)对行进时中间目标点处转弯圆弧圆心搜索求解。求出中间目标点转弯圆心后,用把中间目标点的圆心看做“障碍物”的办法把问题转化为单目标点问题。然后根据模型二和模型一利用MATLAB软件编程求得了O→A、O→B、O→C、O→A→B→A→C的最短路径,最短路径长分别为 471.0372、857.6778、1094.5、2799.0121,其中O-->A的最短路径对应圆弧的圆心坐标为(80,210);O→B的最短路径对应圆弧的圆心坐标:(60,300)、(150,435)、(220、470)、(220,530)、(150,600);O→C经过的圆心:(230,60)、(410,100)、(500,200)、(720,520), (720,600);对于多目标点问题利用模型三进行分割求解得到O→A→B→C→O最短路径对应圆心坐标(80,210)、(307.7715)、(306.2932)、(220,530)、(150,600)、(109.8478,701.7379)、(270,680)、(370,680)、(430,680)、(540,730)、(670,730)、(709.7933)、(642.0227)、(720,600)、(720,520)(500,200),(410,100),(230,60)。对于最短时间路径问题,根据转弯半径和速度的关系,在问题一求出的最短路径的模型的基础上,进行路线优化,建立以最短时间为目标的非线性规划模型,利用lingo 求解最短时间获得了机器人从O点出发,到达A的最短时间路径,求得最短时间路径下转弯半径为12.9885 ,同时最短时间路径时间长为94.2283个单位,路径长为471.129个单位。相应圆弧的圆心坐标为(82.1414,207.9153)。 关键词:机器人避障覆盖法穷举法非线性规划

数学建模机器人避障论文

承诺书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。 我们参赛选择的题号是(从A/B/C/D中选择一项填写): 我们的参赛报名号为(如果赛区设置报名号的话): 所属学校(请填写完整的全名): 参赛队员(打印并签名) :1. 2. 3. 指导教师或指导教师组负责人(打印并签名): 日期:年月日

编号专用页 赛区评阅编号(由赛区组委会评阅前进行编号): 赛区评阅记录(可供赛区评阅时使用): 评 阅 人 评 分 备 注 全国统一编号(由赛区组委会送交全国前编号): 全国评阅编号(由全国组委会评阅前进行编号):

机器人避障问题 摘要 针对题中机器人避障最短路径问题,文章使用简化后建立的最短路径的数学模型来解决此类问题。 对于问题1,我们matlab中自带函数graphshortestpath函数求解最短路径的数学模型。其主要思想是:首先先证明出两点之间的最短路径是由两条线段和以中间点为圆心的圆的一段圆弧组成,然后证明圆弧的半径为定值10。然后对模型简化使模型化为标准的最短路径模型,最后用graphshortestpath函数对模型求解。 针对问题2,我们建立了优化模型。在问题1的基础上,我们对两种行走方案进行分析,根据转弯弧的半径变化对速度的影响我们锁定到一条路径,然后利用lingo对优化模型进行求解。 关键词:graphshortestpath函数、最短路径、避障问题

机器人避障问题

精心整理 机器人避障问题 摘要 本文研究了在一个800800?平面场景里,机器人通过直线和圆弧转弯,绕过障碍物,到达目标点的问题,解决了到达目标点路径最短,以及到达A 点时间最短的问题。文章将路径划分为若干个这种线圆结构来求解。对于途中经过节点的再到达目标点的状况,我们采用了在拐点和节点最小转弯半径的形式. O A →O →B O →C O →A →B 10个单位为50=v 对场景图中4(1)(2)1.出发,分别做圆的切线,直到终点。对于经过路径中的目标点的问题,我们采用最小转弯模式,建立优化模型,最终求的最短路径。 2.问题二要求从起始点到达A 点所用的时间最短,从题意以及生活经验可得,拐弯半径越大,所用时间越短,拐弯半径越小,所用时间越大。半径最小不低于10,取最大值时机器人应刚好未碰到4、6三角形,可通过几何解法计算出来,并对时间进行优化处理。 三、模型假设 假设机器人可以抽象成点来处理 假设机器人的能源充足,且在整个行走过程中无故障发生 四,符号说明

】 5(为起点,,OA 圆弧的切点,角度 1OO A ∠=,11OO M ∠=,11AO N ∠=,111M O N θ∠=.设这段路程机器人的总路程为L. 解法如下: 如上图可得有以下关系: 1 AOO ?在中: 在11Rt OO M ?: 222arccos(2b c a bc α+-=

在11Rt AO N 中: 所以: 从而可得: 结果如下: 机器人行走路线 1OM =1N A 弧11M N = 224.7221; b= 237.6973 c= O 同理了解 比较可得, O 从上面绕到到目标点A 的距离最短,最短路径为471.0372。

《智能避障车》教学设计

《智能避障车》教学设计 一、教材分析 本节课是基于教科版《信息技术基础》第三章第二节《信息的编程加工》进行课程内容开发,以mbot教育机器人为载体,利用基于scratch的编程工具Mblock进行机器人编程教学。本节内容在学习程序设计中,加入机器人硬件,通过实现智能避障车的过程,介绍机器人程序设计的方法。 二、学情分析 高一的学生思维活跃,已经有了一定的逻辑思维能力和自主探究能力,具备了本节课学习的能力要求。虽然通过前一节课,学习了Mblock中的编程方法,但大多数学生还没形成程序设计思维,对于实际操作机器人和机器人编程来说,也还比较陌生。因此,课堂教学中要注意降低起点,逐步引导。 三、教学目标 1、知识与技能: 知道程序的三种基本结构,能在程序设计中熟练运用选择结构和循环结构。 2、过程与方法: 能够将解决实际问题的方法转化为程序设计的流程图,并在程序中加以实现。 3、情感态度与价值观: 提高科技素养,激发创新精神、探究精神和团结协作精神。 四、教学重难点 教学重点:选择结构和循环结构应用、机器人程序设计方法。 教学难点:机器人程序设计方法。 五、教学方法 本课的设计贯彻“任务驱动”的教学思想,把学习的主动权交给学生,让学生置身于自主探究、解决问题的氛围中。使用实物演示和启发式教学法引导学生分析并画出智能避障车流程图;使用小组竞赛的方法组织教学,以提高学生自主探究的积极性和效率;对学生探究过程中遇到的普遍性问题,通过讲授法统一指导。

六、教学媒体 1、mbot教育机器人 2、Mblock编程工具 3、知新网络教学评价系统 4、信息技术学习平台 5、多媒体机房 七、教学过程

机器人避障问题的最短路径分析

机器人避障问题的最短路径分析 摘要 本论文研究了机器人避障最短路径和最短时间路径的问题。主要讨论了在一个区域中存在12个障碍物,由出发点到达目标点以及由出发点经过若干目标点最终到达出发点的两种情况。采用传统的避障方法——切线图法。建立了线圆结构,这样任何路径,我们都可以将路径划分为若干个这种线圆结构来求解。对于途中经过节点再到达目标点的状况,我们采用在转弯点和节点都采用最小转弯半径,以节点为切点的形式。然后建立了最优化模型,利用MATLAB软件对方案进行求解。 问题一:把路径分解成若干个线圆结构来求解,然后把可能的最短路径采用穷举法列举出来,最终得出最短路径: A O→最短路径为:471.0 O→最短路径为:869.5 B O→最短路径为:1093.3 C 对于O → → →我们将A、B、C看作切点,同样采用线圆结构 C B A O→ 计算。 O→ → → →最短路径为:2827.1 A O C B 问题二:考虑避障路径和转弯速度,我们建立时间与路径之间的模型,用MATLAB软件求出最优解。当转弯半径为11.5的时候,可以得出最短时间为:T=94.3 关键词最优化模型避障路径线圆结构切线图法

一、问题重述 本文是求一个机器人在800×800的平面场景图中避开障碍物,建立从原点O(0, 0)点处出发达到终点的最短路径和最短时间路径的模型。即求:1、O→A 、O→B 、O→C 和O→A→B→C→O 的最短路径。2、O →A 的最短时间路径。 机器人在行走时的要求是:1、它只能在该平面场景范围内活动2、图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物(障碍物的分布如图1)3、障碍物外指定一点为机器人要到达的目标点(要求目标点与障碍物的距离至少超过10个单位)。4、规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。5、为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞。 机器人直线行走的最大速度为50=v 个单位/秒。机器人转弯时,最大转弯速 度为2 1.0100 e 1)(ρρ-+==v v v ,其中ρ是转弯半径。 已知场景图中4个点O(0, 0),A(300, 300),B(100, 700),C(700, 640)。图中各个点 的坐标见下表。 图1 编号 障碍物名称 左下顶点坐标 其它特性描述 1 正方形 (300, 400) 边长200 2 圆形 圆心坐标(550, 450),半径70 3 平行四边形 (360, 240) 底边长140,左上顶点坐标(400, 330)

智能避障机器人设计外文翻译

INTELLIGENT VEHICLE Our society is awash in “machine intelligence” of various kinds.Over the last century, we have witnessed more and more of the “drudgery” of daily living being replaced by devices such as washing machines. One remaining area of both drudgery and danger, however, is the daily act ofdriving automobiles 1.2 million people were killed in traffic crashes in 2002, which was 2.1% of all globaldeaths and the 11th ranked cause of death . If this trend continues, an estimated 8.5 million people will be dying every year in road crashes by 2020. In fact, the U.S. Department of Transportation has estimated the overall societal cost of road crashes annually in the United States at greater than $230 billion. When hundreds or thousands of vehicles are sharing the same roads at the same time, leading to the all too familiar experience of congested traffic. Traffic congestion undermines our quality of life in the same way air pollution undermines public health.Around 1990, road transportation professionals began to apply them to traffic and road management. Thus was born the intelligent transportation system(ITS). Starting in the late 1990s, ITS systems were developed and deployed. In developed countries, travelers today have access to signifi-cant amounts of information about travel conditions, whether they are driving their own vehicle or riding on public transit systems. As the world energy crisis, and the war and the energy consumption of oil -- and are full of energy, in one day, someday it will disappear without a trace. Oil is not in resources. So in oil consumption must be clean before finding a replacement. With the development of science and technology the progress of the society, people invented the electric car. Electric cars will become the most ideal of transportation. In the development of world each aspect is fruitful, especially with the automobile electronic technology and computer and rapid development of the information age. The electronic control technology in the car on a wide range of

基于弹性绳索拉伸的机器人避障问题

基于弹性绳索拉伸的机器人避障问题 摘要 本文研究了机器人避障的相关问题。在一个已知区域中存在12个障碍物,使用基于弹性绳索拉伸的方法,求解了由出发点到目标点的最短路径和最短时间路径。我们在禁区顶点以最小转弯半径转向为最优的前提下,对障碍物进行了加工,即将限定区域向外扩展并将顶点圆角化。那么最短路径就由两部分组成:一部分是平面上的直线段,另一部分是限定区域上部分弧构成。由于最短路径一定是由直线线段和圆弧做组成,而弹性绳索紧贴障碍物时,弹性绳索与直线线段和圆弧重合,并且弹性绳索有自然缩短的趋势,弹性绳处于紧绷状态,此时弹性绳长就是最短路径。 问题一,将绳索系与起点和终点,使用拉伸弹性绳索的方法,找到所有符合要求的绳索连结成的路径并计算路径长度,最终最短的绳长即为所求。由于符合要求的路径可能比较多,我们又使用了尺规作图进行简化了以及一般情况下的Dijkstra求解最短路径的方法。 最终求得: O→A最短路径长度为471.037 O→B最短路径长度为 853.13 O→C最短路径长度为1092.82 O→A→B→C→O最短路径长度为2714.31 问题二,由于机器人转弯时所行走的速度和转弯半径有关。而当转弯半径最小时相应的速度也最小。就必须平衡转弯半径和转弯时速度的这一对矛盾。本文通过极限状态的求解,计算出可能的最短时间路径。 关键字:最短路径切线长弧长

一、问题的重述 图1是一个800×800的平面场景图,在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动。图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,障碍物的数学描述如下表: 编号 障碍物名称 左下顶点坐标 其它特性描述 1 正方形 (300, 400) 边长200 2 圆形 圆心坐标(550, 450),半径70 3 平行四边形 (360, 240) 底边长140,左上顶点坐标(400, 330) 4 三角形 (280, 100) 上顶点坐标(345, 210),右下顶点坐标(410, 100) 5 正方形 (80, 60) 边长150 6 三角形 (60, 300) 上顶点坐标(150, 435),右下顶点坐标(235, 300) 7 长方形 (0, 470) 长220,宽60 8 平行四边形 (150, 600) 底边长90,左上顶点坐标(180, 680) 9 长方形 (370, 680) 长60,宽120 10 正方形 (540, 600) 边长130 11 正方形 (640, 520) 边长80 12 长方形 (500, 140) 长300,宽60 在图1的平面场景中,障碍物外指定一点为机器人要到达的目标点(要求目标点与障碍物的距离至少超过10个单位)。规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。 机器人直线行走的最大速度为50=v 个单位/秒。机器人转弯时,最大转弯速度为 2 1.0100 e 1)(ρρ-+==v v v ,其中ρ是转弯半径。如果超过该速度,机器人将发生侧 翻,无法完成行走。 请建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型。对场景图中4个点O(0, 0),A(300, 300),B(100, 700),C(700, 640),具体计算: (1) 机器人从O(0, 0)出发,O→A 、O→B 、O→C 和O→A→B→C→O 的最短路径。 (2) 机器人从O (0, 0)出发,到达A 的最短时间路径。 注:要给出路径中每段直线段或圆弧的起点和终点坐标、圆弧的圆心坐标以及机器人行走的总距离和总时间。

2012全国大学生数学建模机器人避障问题优秀论文模型

承诺书 我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。 我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。 我们参赛选择的题号是(从A/B/C/D中选择一项填写): D 我们的参赛报名号为(如果赛区设置报名号的话):2418 所属学校(请填写完整的全名): 参赛队员(打印并签名) :1.黎仕东 2.李兆海 3.赵甜森 指导教师或指导教师组负责人(打印并签名): (论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。以上内容请仔细核对,提交后将不再允许做任何修改。如填写错误,论文可能被取消评奖资格。) 日期:年 8 月25 日赛区评阅编号(由赛区组委会评阅前进行编号):

编号专用页 赛区评阅编号(由赛区组委会评阅前进行编号): 全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):

机器人避障问题的解题分析(建模集训)

机器人避障问题的解题分析 摘要:本文对2012年全国大学生数学建模竞赛D题机器人避障问题进行了全面分析,对最短路的设计进行了理论分析和证明,建立了机器人避障最短路径的几何模型,对最短时间路径问题通过建立非线性规划模型,有效地解决了转弯半径、圆弧圆心位置和行走时间等问题。 关键词:机器人避障;最短路径;Dijkstra算法;几何模型;非线性规划模型 1 引言 随着科学技术的进步和计算机技术的发展,机器人的应用越来越广泛,在机器人的应用中如何使机器人在其工作范围内为完成一项特定的任务寻找一条安全高效的行走路径,是人工智能领域的一个重要问题。本文主要针对在一个场景中的各种静态障碍物,研究机器人绕过障碍物到达指定目的地的最短路径问题和最短时间问题。 本文以2012年“高教社”杯全国大学生数学建模竞赛D题“机器人避障问题”为例进行研究。假设机器人的工作范围为800×800的平面正方形区域(如图1),其中有12个不同形状的静态障碍物,障碍物的数学描述(如表1): 图1 800×800平面场景图

表1 在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动,机器人不能与障碍物发生碰撞,障碍物外指定一点为机器人要到达的目标点。规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。机器人直线行走的最大速度为50=v 个单位/秒。机器人转弯时,最大转弯速度为2 1.0100 e 1)(ρρ-+==v v v (ρ是转弯 半径)。如果超过该速度,机器人将发生侧翻,无法完成行走。 场景图中有4个目标点O(0, 0),A(300, 300),B(100, 700),C(700, 640),下面我们将研究机器人从O(0, 0)出发,求O→A、O→B、O→C和O→A→B→C→O的最短路径,以及机器人从O(0, 0)出发,到达A 的最短时间路径问题。 2 静态避障问题中机器人行走最短路径的分析 2.1 行走路径的设计 在本例中障碍物有4种不同形状:矩形、平行四边形、三角形和圆形。考虑到机器人

可避障机器人设计报告

可避障机器人设计报告 姓名*** 班级机械设计制造及其自动化1班学号3011201*** 任课教师洪鹰 2014年12 月16 日

目录 一、概述??????????????????????????????????????????????3 二、方案设计?????????????????????????????????????????4 1、硬件设计?????????????????????????????????????4 1.1避障基本方法?????????????????????????????4 1.2主控芯片选择?????????????????????????????4 1.3电源设计??????????????????????????????????5 1.4电机选择?????????????????????????????????5 2、主程序设计??????????????????????????????????5 三、总结??????????????????????????????????????????????7

一、概述 机器人是一类能够自动完成某项功能的机械系统,机器人通过传感器和执行机构与外界进行信息物理和交互,处理器负责处理传感器采集来的信息并将相应的控制命令送给执行机构执行。机器人因其对环境的强适应性,使得他在很多领域取代了人的劳动,将人从繁重、危险的环境中解放出来。机器人广泛应用于工业生产、科学研究、危险品处理乃至国防领域。而我这次设计的应该是最基础的一种机器人——自动避障机器人,它能通过传感器感知外部环境,实现避障。

机器人避障问题的MATLAB解法探析

机器人避障问题的MATLAB解法探析 摘要:本文对2012年全国大学生数学建模竞赛D题“机器人行走避障问题”,给出了利用matlab这一数学软件进行求解的方法,并对该方法的优缺点进行了分析。 关键词:机器人避障matlab 2012年全国大学生数学建模竞赛D题“机器人行走避障问题”如下: 在一个800×800的平面场景图中,原点O(0,0)点处有一个机器人,它只能在该平面场景范围内活动。图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物。规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的圆弧组成,每个圆弧的半径最小为10个单位。为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位。计算机器人从O(0,0)出发,O→A、O→B、O→C和O→A→B→C→O的最短路径。 一、问题的分析 为达到要求,我们按照以下原则选择路径: (1)在障碍物拐点处的圆弧半径为临界半径个单位; (2)因为直线速度大于转弯速度,所以在不转弯的地方尽可能走直线; 按照上述原则,我们选取以下步骤求最短路径: (1)穷举出起始点与目标点的所有可能直线路径,判断出最短直线路径; (2)针对上述最短直线路径,在障碍物拐点处加入弧线转弯,然后计算实际最短行走路径。 二、问题的求解 按照上述步骤,逐步求最短路径: (1)首先画出O到A允许行走所有直线路线,如图所示。 (2)计算出各节点到下一节点的距离作为权值给各条边赋权,可以求解出最优直线路径。用MATLAB软件,程序如下: sets: cities/O,B1,B2,C1,C2,A/; roads(cities,cities)/O,B1 O,B2 O,C1 B1,A B1,C2 C1,B1 C1,B2 B2,C2 B2,A C2,A /:w,x; data: w= 224.7 237.7 100 237.7 150 150 150 150 250 114; n=@size(cities); min=@sum(roads:w*x); @for(cities(i)|i #ne# 1 #and# i #ne# n: @sum(roads(i,j):x(i,j))=@sum(roads(j,i):x(j,i))); @sum(roads(i,j)|i #eq# 1:x(i,j))=1; end 计算出结果(只列出有用部分): Global optimal solution found. Total solver iterations:0 Variable Value Reduced Cost

相关主题
文本预览
相关文档 最新文档