数学建模机器人避障

数学建模机器人避障
数学建模机器人避障

2012高教社杯全国大学生数学建模竞赛

承诺书

我们仔细阅读了中国大学生数学建模竞赛的竞赛规则。

我们完全明白,在竞赛开始后参赛队员不能以任何形式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导老师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果获其他公开的资料(包括网上查询到的自资料),必须俺不找规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严重遵守竞赛规则,以保证竞赛的公正性、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。

我们授权全国大学生数学建模竞赛组委会,可将我们的论文一任何形式公开(包括进行网上公示,在书籍,期刊和其他媒体进行正式或非正式发表等)。

我们参赛选择的题号是(从A/B/C/D中选择一项填写):D题

我们参赛报名号为(如果赛区设置报名号的话):13277001

所属学校(请填写完整的全名):长江职业学院

参赛队员(打印并签名):1. 何宝宝

2. 舒鑫鑫

3. 黎成硕

指导老师或知道教师组:陶燕芳胡芬侯谦民

日期:2012年9 月7 日赛区评阅编号(有赛区组委会评阅前进行编号):

2012高教社杯全国大学生数学建模竞赛

编号专用页

赛区评阅编号(由赛区组委会评阅前进行编号):

赛区评阅记录(可供赛区评阅时使用):

全国统一编号(由赛区组委会送交全国前编号):

全国评阅编号(由全国组委会评阅前进行编号):

机器人避障问题的研究

摘要

本文主要研究了机器人在一定的区域中,且存在多个障碍物的情况下,由出发点到达目标点,以及由出发点经过途中的多个目标点最后回到出发点的两种情况。由于最短路径一定是由圆弧和与之相切的直线组成,因此我们将路径划分为若干个这种线圆结构来求解。

问题一:

对存在障碍物的两点之间,利用平面几何原理建立最短路程的模型,并用Matlab计算出两点之间可能存在的所有最短距离,然后整理这些距离,最后利用图论中的最短路的算法求得最优解。其次通过对几何原理的分析,同时结合CAD软件计算出机器人从起点出发经过多个目标点最后回到起点的最短路径。结果如下:O→A 最短路径为:471.0372

O→B 最短路径为:853.1121

O→C 最短路径为:1130.281

O→A→B→C→O 最短路径为:1884.149

问题二:

对于问题二,我们讨论了较简单的一种情形,即当圆心固定,半径变化时。在这种情形下,我们利用解析几何法建立了时间与半径之间的函数关系,并使用两种方法对函数进行求解。(1)直接利用Matlab软件绘出了函数图形,并求出了最优解,即当ρ=11.5038时,时间取到最小值T=94.5649。(2)尝试用鱼群算法求出了函数的最优解,最优解为ρ=11.5042T=94.9106,由比较可知两种算法的结果非常接近。

关键词:最短路径、穷举法、解析几何、最优化模型、鱼群算法、超越函数

1

一、问题重述

表1是一个800×800的平面场景图,在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动。图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,障碍物的数学描述如下表。

在表1的平面场景中,障碍物外指定一点为机器人要到达的目标点(要求目标点与障碍物的距离至少超过10个单位)。规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两个或多个相切的圆弧路径组成,但每个圆弧的半径最小为10个单位。为了不与障碍物发生碰撞,同时要求机器人行走线路与障碍物间的最近距离为10个单位,否则将发生碰撞,若碰撞发生,则机器人无法完成行走。

机器人直线行走的最大速度为=5个单位/秒。机器人转弯时,最大转弯速度为=(ρ)=

,其中ρ是转弯半径。如果超过该速度,机器人将发生侧翻, .

无法完成行走。

请建立机器人从区域中一点到达另一点的避障最短路径和最短时间路径的数学模型。对场景图中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

二、问题的分析

问题一:要求求定点O(0,0)按照一定的行走规则绕过障碍物到达目标点的最短路径,我们先可以画出机器人行走的危险区域,这样的话,拐角处就是一个半径为10的圆弧。通过采用模拟作图的方法找出可能的最短路径(比如求O和A之间的最短路径,我们可以连接O和A之间的一段绳子,以拐角处的圆弧为支撑点拉紧,那么这段绳子的长度便是O到A的一条可能的最短路径),然后采用穷举法列出O到每个目标点的可能的最短路径。可以将原图中的几何图形单独拿出来转化为线圆模型,将机器人转弯圆弧以最小半径行走,并将直线距离转化为切点与已知点之间的距离。要求出最短路径需要求出起始点,拐点圆心,拐点圆心之间的中点和终点。根据CAD画图确定各个切点的坐标,再根据Matlab编程算出距离总长。最后比较其大小便可得出O到目标点的最短路径。

问题二:此问要求在时间最短的情况下求从出发点到达A点的路径。此问我们讨论了较简单的情形,即当圆心固定在障碍物5的顶点上,而拐弯半径发生变动的情形。通过问题一的分析,我们将圆心选定在正方形的左上顶点(80,210)处。通过平面几何原理,我们建立了时间与半径的函数关系。随后,利用Matlab直接对函数进行作图分析并求出了最优解;同时,我们又选用鱼群算法对函数进行迭代,验证了最优解。

三、模型的假设

(1)假设机器人可以抽象成一个点。

(2)假设机器人内部的控制系统没有出什么问题,能正常工作。

(3)假设假设机器人能迅速反应加速到最大速度和减速到最小速度,蓄势时间可以忽略不计。

(4)假设行走路线不受外界因素干扰,均为理想状态。

四、符号的说明

L 路径的总长度

a i圆心的横坐标

b j圆心的纵坐标

ρ转弯半径

T 最小总时间

五、理论准备

5.1理论与证明

猜想:具有圆形限定区域的最短路径是由两部分组成的:一部分是平面上的自然最短路径(即直线段),另一部分是限定区域的部分边界,这两部分是相切的,互相连接的。

证明:假设在平面中有A(a,0)和B(?a,0)两点,中间有一个半圆形的障碍物,证明从A到B的最路径为A EF?B。

3

4

图1

平面上连接两点最短的路径是通过这两点的直线段,但是连接两点的线段于障碍物相交,所以设法尝试折线路径。在y 轴上取一点C (0,y ),若y 适当大,则折线ACB 与障碍物不相交,折线ACB 的长度为:

|ACB |=2√a 2+y 2

显然|ACB |随着y 的减小而减小,减小y →y 得,即C →C ,使得AC 与C B 与障物相

切,切点分别为E 和F,显然AC B 是这种折线路径中最短的。由于满足0<α<π

2角

满足α

?

下面在考察一条不穿过障碍物的任何一条路径,设其分别于OE 和OF 的延长线交

与P 、Q 两点,记A 和P 之间的路径长度为AP ?,显然AP

?>|AP|,又由AE EO,所以|AP|>AE,从而AP

?>AE,同理可得BQ ?>BF 。 再来比较PQ 之间路径长度PQ

?和圆弧EF 的长度的大小。若PQ 之间的路径可有极坐标方程ρ=ρ(θ),则有ρ>10,可得:

PQ

?=∫√ρ2+ρ2dθ≥∫dθ?π3

?EF ? 结论:路径APQB 的长度超过路径AEFB 的长度,所以满足从A 到B 的最短路径为AEFB 的路径。 5.2模型的准备

在上面的证明中,我们就可以这样认为,起点到目标点无论中间障碍物有多少,最短路径都应该是若干个线圆组成的结构。在本题中存在障碍物的状况,且障碍物在拐点处的危险区域是一个半径为10的圆弧。所以结合上述证明,我们得知,

求两

5

点之间的最短路径中的转弯半径我们应该按照最小的转弯半径来算才能达到最优。

图2

如图2是将题目中原图的一个模型转化成上图所示,设A (x ,y )为原图中的原点O 也就是出发点,B(x 2,y 2) 是图中的终点,C(x 3,y 3)和D(x 4,y 4)是机器人在转弯的时候在限制的危险区域内(半径为10的圆弧)的切点,圆心是O(x 5,y 5) ,圆的半径为r ,AB 的长度是m ,AO 的长度为n ,BO 的长度为c ,由于要求出角DOC 所以,∠DOC=θ ,∠AOB=α , ∠AOC=β , ∠BOD=γ 于是有:

{

a =√(x 2?x )2+(y 2?y )2

b =√(x ?x 5)2+(y ?y 5)2

c =√

(x 2?x 5)2+(y 2?y 5)

2

在三角形AOB 中

α=arccos

n2+c2?m

2

2nc

在直角三角形AOC 中:

β=arccos r

n ;

在直角三角形BOD 中:

γ=arccos r

c

;

6

所以根据以上的公式关系可以求出:θ=2π?α?β?γ

以及算出L =2?r 2+√c 2?r 2θr (m,n,c可以根据障碍物的数据描述)求得。

六、模型的建立和求解

6.1问题一建模与求解 6.1.1建模过程

第一步:起点到目标点无论中间障碍物有多少,最短路径都应该是若干个线圆组成的结构。在本题中存在障碍物的状况,且障碍物在拐点处的危险区域是一个半径为10的圆弧,所以结合上述证明,我们得知,求两点之间的最短路径中的转弯半径应该按照最小的转弯半径来计算才能达到最优。

第二步:画出可能存在的路线,解决的就是O 到目标点A 的最短路径问题。很显然的一个问题是机器人从m 走的最短路径肯定是优于机器人从n 走的最短路径,给出了三条可能的最短路径,我们可以分别计算出三条可能路径的最短路径的长度,然后进行比较,取最小者就o 是到目标点B 的最优路径。

第三步:解决的是O 到目标点C 的最短路径问题。图中给出了两条可能路径的最短路径,我们同样可以分别计算出两条可能的最短路径,取最小者就是O 到目标点C 的最优路径。

图3

6.1.2模型的求解

(1)原点O 到目标点A 的最短路径为L =471.0372求解方法见(附录1) 过程见(附录

2)

(2)原点O到目标点B的可能路径有三条,即就有三条可能的最短路径。而机器人经过中间一条路径到达B,这条路径由三条线段和两段圆弧组成,直接用三中的解法是结不出来的。于是我们做了如下变换,先求出中间一条直线的中点设为F(180,370),那么可以采用三中的解法,分别求O到F和F到B的最短路径,然后两段相加,便可求出O到B的最短路径。求解结果为L=853.1121

(3)机器人经过最下边一条路径,同理这条路径由四条直线和三个圆弧组成,同样可以采取②中的变换,分三部分求解。

综合①②③所述,O到目标点B的最短路径为L=853.1121。原点O到目标点C的可能路径由两条,和2中的方法一样,最终求解结果O到目标点C的最短路径为L=1130.281

(4)从原点O→A→B→C→O就是O→A ,A→B,B→C,C→O各段距离的最小路径值的和,解得L=1884.149

6.2模型建立与求解

6.2.1问题二模型

将题目中的原图的一个模型的转化成上图2所示,设A(x,y)为原图中的原点O也就是出发点,B(x2,y2)是图中的终点,C(x3,y3)和D(x4,y4)是机器人在转弯的时候在限制的危险区域内(半径为10的圆弧)的切点,圆心是O(x5,y5),圆的半径为r,AB的长度是m,AO的长度为n,BO的长度为c,由于要求出∠DOC,所以,∠DOC=θ,∠AOB=α,∠AOC=β,∠BOD=γ

于是有:

{a=√(2)(2) b=√(5)(5) c=√(x2?x5)2+(y2?y5)2

在三角形AOB中

α=arccos n2 c2?m2

2nc

;

8

在直角三角形AOC中:

β=arccos r

n

;

在直角三角形BOD中:

γ=arccos r

c

;

所以根据以上的公式关系可以求出:θ=2π?α?β?γ

以及算出L=√n2?r2+√c2?r2+θr(m,n,c可以根据障碍物的数据描述)将O A的坐标代入上述式子解得θ的值

T=

√m2?r2+√n2?r2(1+e ? . ρ)

到圆心在m点时方程:

T=√802+2102?ρ2+√2202+902?m2+θ?ρ?arccos(√505

5050ρ)(1+e ? . ρ

2)

(1)解法一用Matlab画图,求极限(附录3)解得ρ=11.5得到T=94.5649 到圆心在n点时的方程:

T=

√2302+602?ρ2+√702+2402?ρ2+mρ(1+e ? . ρ2)

ρ=11.5 T=104.2

圆心在mn直线的方程:

T=

√x2+(?x?150)2?ρ2+(300?x)2+[300?(?x?150)2?y2]+θρ(1+10?0.1ρ2)

超越方程图像见附 5当x不变时,y增大时,f也在增大,当y不变,x增大时,f也增大,f与x,y存在递增的关系,图得当ρ=11.5 T=94.5649,

(2)解法二

鱼群模式不同于传统的问题解决方法,它提出了一种新的优化模型,对于状态多或无限状态的环境也不必全部遍历,允许一定的不确定性对于摆脱局部最优,从而寻找全局最优时有帮助的人工鱼群算法,这一模式具备分布处理参数和处置的鲁棒性强等能力。问题的解决时通过自治体在自主活动过程中以某种形式表现出来的。在寻优过程中通常会有两种方式表现出来:一种形式是通过人工鱼最终的分布情况来确定最优解的分布,通常随着寻优过程的进展,人工鱼往往会聚集在极值点的周围,而且全局最优解的即致电周围通常会聚集较多的人工鱼,另一种是在人工鱼的个体状态中表现出来的,即在寻优的过程中,跟踪记录最优个体的状态,就类似于遗传算法采用鱼群算法原理。

鱼群算法步骤如下:

9

第一步:确定种群规模N,在变量可行域内随机生成N个体,设定人工鱼可视为域Visual,步长step,拥挤度因子δ,尝试次数trynumber

第二步:计算初始鱼群各个体适应性值,去最优人工鱼状态机器赋值给公告板。

第三步:个体通过觅食、聚群、追尾行为更新自己,生成鱼群。

第四步:评价所有个体。某个个体优于公告板,则将公告板钢芯为该个体。

第五步:当公告板上最优解达到满意误差界内,算法结束,否则转第三步。于是给出函数式利用鱼群算法如下:

T=√802+2102?ρ2+√2202+902?m2+θ?ρ?arccos(√505

5050ρ)(1+e ? . ρ

2)

s.t x∈[0.300]

y∈[10,300]

fishnum=50; %生成50只人工鱼

MAXGEN=30; %最多迭代次数

trynumber=100;%最多试探次数

visual=1; %感知距离

delta=0.618; %是拥挤度因子

step=0.1; %步长

根据鱼群算法(见附录六)解得ρ=11.5 T=94.9106

在比较以上两种算法,时间T比较接近。算法二更精确,但是程序复杂,所以综合判断可以得知算法一更容易接受。

七、模型的优缺点

模型优点:

1、利用了线圆结构作图,运用CAD软件进行穷举法例举,作图不会出现人为的误差,会更加客观、清晰

2、以最简单的例子圆心在顶点上,最小半径为10个单位的方程,逐次深入建立了机器人行走的时间与路径的长度的关系式。

3、利用了鱼群模型计算机器人运行轨迹。

模型缺点:

1、以O点直接连线A点算出最短时间T=84.85281,得出必有最短时间很接近T=84.85281,未能建立完整的最短时间路径模型,而是取巧用了AUTOCAD软件画出了两弧连接的最短距离,并直接用AUTOCAD测量计算了最短时间T=87.91892。

2、因为实际情况限制速度不可能突变,所以以上模型是在较理想条件下建立的。

八、模型的推广与改进

10

本题模型建立了机器人在避障问题的方法,当障碍物足够多时,利用穷举法则不太实用了,AUTOCAD软件也不现实。因此我们想到另一个模型—最优化模型(迪杰斯特拉算法)。当障碍物为n时,迪杰斯特拉算法是典型最短路径算法,用于计算图或网中某个特定顶点到其他所有顶点的最短路径。主要特点是以起始点为中心向外,层层扩展直到扩展覆盖所有顶点。此算法需算出权值,数据一旦复杂计算麻烦,所以matlab编程好的人便能尝试一下。当半径足够大时(ρ>11.5),半径越大弧就越接近直线,考虑有两条弧三条等就可以避过障碍物,多条弧时就不能有上述解得,

转弯圆心不知,半径越大,两点之间的弧的长度就近似直线,从而建立弧的模型

九、参考文献

[1] 姜启源,数学模型,北京:高等教育出版社,2003

[2] 梁国业,廖健平,数学建模,北京:冶金工业出版社,2004

[3] 李晓磊,邵之江,钱积新,鱼群算法,https://www.360docs.net/doc/fd4726286.html,/view/6053f68884868762caaed52e.html ,2012年09月 08日

[4] 谭永基,数学模型,上海:复旦大学出版社,2011

[5] 周培德,计算几何-算法与设计,北京:清华大学出版社,2005

[6] 曹卫华,郭正,最优化设计方法及 MATLAB的实现,北京:化学工业出版社,2005

[7] 袁玉军,陈婷,韩仁江,超越函数积分的五种解法,https://www.360docs.net/doc/fd4726286.html,/view/eca4e11a10a6f524ccbf8554.htm,2012年09月08日

11

附录:

程序一(问题一)

一function result=zongchang(T,W,V,r)

TV=sqrt((T(1)-V(1))^2+(T(2)-V(2))^2);

TW=sqrt((T(1)-W(1))^2+(T(2)-W(2))^2);

VW=sqrt((V(1)-W(1))^2+(V(2)-W(2))^2);

alpha1=acos((TV^2+VW^2-TW^2)/(2*TV*VW));

alpha2=acos(r/TV);

alpha3=acos(r/VW);

alpha4=2*pi-alpha1-alpha2-alpha3;%alpha4?a×aí??2D???TS1=sqrt(TV^2-r^2);%TS1,TS2?ù?a?2???D??%

S2W=sqrt(VW^2-r^2);

S1S2hu=r*alpha4;

result=TS1+S1S2hu+S2W

程序二(问题一)

二zongchang([0 0],[300 300],[230 60],10)

zongchang([0 0],[300 300],[80 210],10)

zongchang([0 0],[232.5 355],[230 60],10)

zongchang([232.5 355],[227.5 415],[235 300],10) zongchang([227.5 415 ],[185 565],[220 530],10) zongchang([185 565],[100 700],[150 600],10)

zongchang([0 0],[250 490],[230 60],10)

zongchang([250 490],[100 700],[270 680],10) zongchang([0 0],[157.5 355],[80 210],10)

Zongchang([175.5 535.5 ],[227.5 415 ],[235 300] ,10) zongchang([227.5 415],[185 565],[220 530],10) zongchang([185 565],[100 700],[150 600],10)

zongchang([0 0],[157.5 355],[80 210],10)

Zongchang([175.5 535.5 ],[227.5 415 ],[235 300] ,10) Zongchang([227.5 415 ],[100 700 ],[270 680] ,10)

zongchang([300 300],[285 540],[300 400],10) zongchang([285 540 ],[100 700] ,[270 680],10)

12

zongchang([300 300], [260 465] ,[220 530],10) zongchang([260 465],[100 700] ,[220 530],10)

zongchang([0 0],[320 80], [230 60] ,10) zongchang ([320 80],[455 150], [410,100],10) zongchang([445,150],[610 360], [500 200],10) zongchang([610 360],[720 560],[720 520] ,10) zongchang([720 560 ],[700 640] ,[720 640],10)

zongchang([0 0],[320 80], [230 60] ,10) zongchang([320 80],[455 170] ,[410 100],10) zongchang([455 170],[560 380], [500 240],10) zongchang([560 380],[720 560],[720 520 ],10) zongchang([720 560],[700,640], [720 600],10)

zongchang([0 0],[240 220],[80 210],10) zongchang([240 220 ],[470 330] ,[400 330],10) zongchang([470 330 ],[630 435],[540 300],10) zongchang([630 425], [720 560,], [720 520],10) zongchang([720 560],[700,640], [720 600],10)

zongchang([80 680],[385,640],[270,680],10) zongchang([570 660],[690,520],[640,520],10) zongchang([690,520],[720,560],[720,520],10) zongchang([720,560],[700,640],[720,640],10)

zongchang([385 640],[570 ,660],[ 500 600],10) zongchang([80,680],[385,640],[270,680],10) zongchang([385,640],[520,675],[500,600],10) zongchang([520,675],[605,730],[540,730],10) zongchang([605,730],[700,640],[670,730],10)

zongchang([100,700],[320,680],[270,680],10) zongchang([320,680],[495,705],[430,680],10) zongchang([495,705],[605,730],[540,730],10) zongchang([605,730],[700,640],[670,730],10)

zongchang([0 0],[320 80], [230 60] ,10) zongchang ([320 80],[455 150], [410,100],10) zongchang([445,150],[610 360], [500 200],10) zongchang([610 360],[720 560],[720 520] ,10) zongchang([720 560 ],[700 640] ,[720 640],10)

13

zongchang([0 0],[320 80], [230 60] ,10)

zongchang([320 80],[455 170] ,[410 100],10)

zongchang([455 170],[560 380], [500 240],10)

zongchang([560 380],[720 560],[720 520 ],10)

zongchang([720 560], [700 640],[720 600],10)

zongchang([0 0],[290 205],[80 210],10)

zongchang([290 205],[560 380],[500 240],10)

zongchang([560 380],[720 560],[720 520],10)

zongchang([720 560], [700 640],[720 600],10)

zongchang([0 0],[240 220],[80 210],10)

zongchang([240 220 ],[470 330] ,[400 330],10)

zongchang([470 330 ],[630 435],[540 300],10)

zongchang([630 425], [720 560,], [720 520],10)

zongchang([720 560],[700,640], [720 600],10)

zongchang([80 680],[385,640],[270,680],10)

zongchang([385 640],[570 ,660],[ 500 600],10)

zongchang([570 660],[690,520],[640,520],10)

zongchang([690,520],[720,560],[720,520],10)

zongchang([720,560],[700,640],[720,640],10)

zongchang([80,680],[385,640],[270,680],10)

zongchang([385,640],[520,675],[500,600],10)

zongchang([520,675],[605,730],[540,730],10)

zongchang([605,730],[700,640],[670,730],10)

zongchang([100,700],[320,680],[270,680],10)

zongchang([320,680],[495,705],[430,680],10)

zongchang([495,705],[605,730],[540,730],10)

zongchang([605,730],[700,640],[670,730],10)

程序三问题(二)

三clear

syms x y z m n

x=acos((220^2+90^2+80^2+210^2-300^2*2)/(2*sqrt((300-80)^2+90^2)*sqrt(80^ 2+210^2)));

y=acos(m/(sqrt((300-80)^2+90^2)));

z=acos(m/(sqrt(80^2+210^2)));

n=2*pi-x-y-z;

fplot('(sqrt(80^2+210^2-m^2)+sqrt(220^2+90^2-m^2)+m*(8917332864357639/22

14

51799813685248 - acos(1/5650*565^(1/2)*m) -

acos(1/5050*505^(1/2)*m))*(1+exp(10-0.1*m^2)))/5',[10,50])

syms y m

y=(sqrt(80^2+210^2-m^2)+sqrt(220^2+90^2-m^2)+m*(2*pi -

acos(1/5050*505^(1/2)*m) - acos(1/5650*565^(1/2)*m) - (5502580100633845*i)/4503599627370496)*(1+exp(10-0.1*m^2)))/5;

diff(y)

solve(ans)

y=(sqrt(80^2+210^2-11.5^2)+sqrt(220^2+90^2-11.5^2))/5+11.5*(891733286435 7639/2251799813685248 - acos(1/5650*565^(1/2)*11.5) -

acos(1/5050*505^(1/2)*11.5))*(1+exp(10-0.1*11.5^2))/5

程序四问题(二)

syms x y z m n

x=acos((230^2+60^2+70^2+240^2-2*300^2)/(2*sqrt(270^2+60^2)*sqrt(70^2+240 ^2)));

y=acos(m/(sqrt((230)^2+60^2)));

z=acos(m/(sqrt(270^2+240^2)));

n=2*pi-x-y-z;

fplot('((sqrt(230^2+60^2-m^2)+sqrt(70^2+240^2-m^2)+m*(598918793813111/14 0737488355328 - acos(1/5650*565^(1/2)*m) -

acos(17592186044416/6355139163046355*m)))*(1+exp(10-0.1*m^2)))/5',[10,50 ])

syms y m

y=((sqrt(230^2+60^2-m^2)+sqrt(70^2+240^2-m^2))+m*(598918793813111/140737 488355328 - acos(1/5650*565^(1/2)*m) -

acos(17592186044416/6355139163046355*m))*(1+exp(10-0.1*m^2)))/5;

diff(y)

solve(ans)

y=((sqrt(230^2+60^2-11.5^2)+sqrt(70^2+240^2-11.5^2)+11.5*(59891879381311 1/140737488355328 - acos(1/5650*565^(1/2)*11.5) -

acos(17592186044416/6355139163046355*11.5)))*(1+exp(10-0.1*11.5^2)))/5;程序六问题(二)

附录六

15

clc

clear all

close all

tic

figure(1);hold on

for i=1:1000

X=8+(16-8)*i/1000;

f=-(sqrt(50500-X^2)+sqrt(56500-X^2)+X*(2*pi-acos(X/224.7220505)-acos(X/2 37.6972865)-acos((250^2+237.6972865^2-424.2640687^2)/(2*224.7220505*237. 6972865)))*(1+exp(10-0.1*X^2)))/5;

plot(X,f);

hold on

end

%% 2?êyéè??

fishnum=50; %éú3é50??è?1¤ó?

MAXGEN=30; %×??àμü′ú′?êy

try_number=100;%×??àê?ì?′?êy

visual=1; %?D?a?àà?

delta=0.618; %óμ?·?èòò×ó

step=0.1; %2?3¤

%% 3?ê??ˉó?èo

lb_ub=[8,16,1];

X=AF_init(fishnum,lb_ub);

LBUB=[];

for i=1:size(lb_ub,1)

LBUB=[LBUB;repmat(lb_ub(i,1:2),lb_ub(i,3),1)];

end

gen=1;

BestY=-1*ones(1,MAXGEN); %??2??D×?ó?μ?oˉêy?μ

BestX=-1*ones(1,MAXGEN); %??2??D×?ó?μ?×?±?á?

besty=-100; %×?ó?oˉêy?μ

Y=AF_foodconsistence(X);

while gen<=MAXGEN

fprintf(1,'%d\n',gen)

for i=1:fishnum

%% ??èoDD?a

[Xi1,Yi1]=AF_swarm(X,i,visual,step,delta,try_number,LBUB,Y);

%% ×·?2DD?a

[Xi2,Yi2]=AF_follow(X,i,visual,step,delta,try_number,LBUB,Y);

if Yi1>Yi2

16

X(:,i)=Xi1;

Y(1,i)=Yi1;

else

X(:,i)=Xi2;

Y(1,i)=Yi2;

end

end

[Ymax,index]=max(Y);

figure(1);

plot(X(1,index),Ymax,'.','color',[gen/MAXGEN,0,0]) if Ymax>besty

besty=Ymax;

bestx=X(:,index);

BestY(gen)=Ymax;

[BestX(:,gen)]=X(:,index);

else

BestY(gen)=BestY(gen-1);

[BestX(:,gen)]=BestX(:,gen-1);

end

gen=gen+1;

end

plot(bestx(1),besty,'ro','MarkerSize',100)

xlabel('x')

ylabel('y')

title('ó?èo??·¨μü′ú1y3ì?D×?ó?×?±êò??ˉ')

%% ó??ˉ1y3ìí?

figure

plot(1:MAXGEN,BestY)

xlabel('μü′ú′?êy')

ylabel('ó??ˉ?μ')

title('ó?èo??·¨μü′ú1y3ì')

disp(['×?ó??aX£o',num2str(bestx,'%1.4f')])

disp(['×?ó??aY£o',num2str(besty,'%1.4f')])

toc

17

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 过程中,机器人至少要经过一

全向移动机器人的运动控制

全向移动机器人的运动控制 作者:Xiang Li, Andreas Zell 关键词:移动机器人和自主系统,系统辨识,执行器饱和,路径跟踪控制。 摘要:本文主要关注全向移动机器人的运动控制问题。一种基于逆运动学的新的控制方法提出了输入输出线性化模型。对执行器饱和及驱动器动力学在机器人性能体现方面有重要影响,该控制法考虑到了以上两个方面并保证闭环控制系统的稳定性。这种控制算法常用于真实世界的中型组足球机器人全方位的性能体现。

1.介绍 最近,全方位轮式机器人已在移动机器人应用方面受到关注,因为全方位机器人“有一个满流动的平面,这意味着他们在每一个瞬间都可以移动,并且在任何方向都没有任何调整”。不同于非完整的机器人,例如轮式机器人,在执行之前具有旋转任何所需的翻译速度,全方位机器人具有较高的机动性并被广泛应用在动态环境下的应用,例如在中型的一年一度的足球比赛。 大多数移动机器人的运动控制方法是基于机器人的动态模型或机器人的运动学模型。动态模型直接描述力量施加于车轮和机器人运动之间的关系,以外加电压的每个轮作为输入、以机器人运动的线速度和角加速度作为输出。但动态变化所造成的变化的机器人惯性矩和机械组件的扰动使控制器设计变得较为复杂。假设没有打滑车轮发生时,传感器高精度和地面足够平坦,由于结构的简单,因而运动模型将被广泛应用于机器人的设计行为中。作为输入运动学模型是机器人车轮速度,输出机器人的线速度和角速度,机器人的执行器的动力都快足以忽略,这意味着所需的轮速度可以立即达到。然而,该驱动器的动态极限,甚至降低了机器人在真实的情况中的表现。 另一个重要方面是机器人控制的实践:执行器饱和。因机器人轮子的指挥电机速度是有饱和的界限的,执行器饱和能影响到机器人的性能,甚至使机器人运动变得不稳定。 本文提出了一个全方位的机器人的一种运动控制方法,这种控制方法是基于逆输入输出的线性的运动学模型。它需要不仅考虑到驱动器动力学的识别,但也需要考虑到执行器饱和控制器的设计,并保证闭环控制系统系统稳定性。 本文其余的部分:在2节介绍了运动学模型的一个全方位的中型足球机器人;在3节介绍了路径跟踪与定位跟踪问题基于逆运动学模型的输入输出线性化的解决方法,其中包括执行器饱和分析;4部分介绍了动态识别器及其在控制性能方面的影响;最后的实验结果和结论讨论部分分别在5和6。

避障机器人设计报告

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

移动机器人控制系统的发展方向

移动机器人控制系统的发展方向 摘要随着计算机技术、传感器技术的不断发展,对于机器人领域的发展具有一定的促进作用。而由于移动机器人具有能够自治与移动的特征,在机器人领域处于核心地位。在复杂、危险的环境中,移动机器人所发挥的作用是有目共睹的。对此,对当前国内外较为常见的移动机器人控制系统进行剖析,并在此基础上论述了该领域的未来发展方向。 【关键词】移动机器人控制系统发展方向 移动机器人属于能够自动执行工作任务的机器,不但能够按照事先编译的程序运行,同时人类还可对其指挥。当前主要被运用在生产业、建筑业以及航空航天领域,而该领域的发展情况直接关系到国家综合实力的提升速度,对此加强对移动机器人控制系统的发展情况,以及未来发展方向的研究势在必行。 1 国内外常见的移动机器人控制系统 相对于国内在移动机器人的研究状况,能够看出国外在该领域的研究是较早的,其中具有代表性的有Saphira、TeamBots以及ISR。而在国内方面,代表性的有OSMOR、ZJMR以及Agent。下面,便对较为常用的控制系统进行介绍:

1.1.1 Saphira控制系统 Saphira控制系统是移动机器人领域中最早的系统,是有SRI国际人工智能中心在1990年所研发的,此系统是基于本地感知空间的共享内存与黑板,来实现协调与通信进程。由于Saphira是采用C语言来进行开发的,同时支持Windows 与Unix系统,因此具有文档资料相对完整、系统资源占用少等特征。但是需注意的是,由于Saphira系统在定位方面无法达到当前的实际需求,因此运用是相对较少的。 1.1.2 TeamBots控制系统 本系统是基于Java包与Java应用程序而构建的,经过20余年的发展后,此系统截止到目前已经被运用到多种类型的机器人平台当中。除此之外,在适用的操作系统方面,其中具有代表性的有Windows、MacOS以及Linux等,因此其运用的范围是更加广泛的。 1.1.3 ISR控制系统 ISR是基于行为的控制模式,其中是有任务执行层、反映层以及推理层所构成的,是有CAS研究中心所研发的。其中,任务执行层的作用是执行推理层所传输的指令;反映层其中包含资源、控制器以及行为;推理层的功能是根据用户的指令来对决策进行制定。此外,ISR控制系统仅能够在Linux中进行操作,并且没有公开化使用。

移动机器人控制软件的设计与实现

移动机器人控制软件的设计和实现
作者:李晓明 文章来源:https://www.360docs.net/doc/fd4726286.html, 更新时间:2006-8-9 17:25:55 点击数: 2742
简介:现在做一个移动机器人是很容易的一件事,车体自己可以加工,或买现成的;避障可以用超声阵列;
导航可以用激光测距 LMS;定位可以用电子地图加 LMS 加陀螺仪;然而控制软件却只能自己编写。本文 或许可以给你一些启示。
相关链接 基于 VIA 平台的移动机器人
移动机器人的使用现在非常多,做一个移动机器人似乎也很容易,车体自己可以加工,也可以去 买现成的;避障可以用超声阵列;导航可以用激光测距 LMS;定位可以用电子地图加 LMS 加陀 螺仪;驱动可以用各种电机及配套驱动器或者自己做;通讯可以去买现成的无线通讯模块,可以 是数字的,也有模拟的;大范围定位可以用 GPS 模块,也是现成的;至于什么红外,蓝牙,甚 至计算机视觉都可以去市场上买,但是(然而)为什么做一个移动机器人还是这么难呢?尤其是 对一个新手而言。一个老外说过,硬件是现成的,软件算法杂志里有的是,很多可以在网上当, 但即使是一个博士生也要花费很长的时间完成一个实际可用的移动机器人。为什么?因为机器人 使用的困难在使用软件的设计上。前面那个老外也说过,现在什么都可以在网上当,唯独使用程 序不能。有过自己写移动机器人程序的人可能会理解这段话,当然也仅仅是可能,因为不排除有 很多机器人大拿一上来就可以写出很棒的移动机器人软件。
移动机器人的控制软件开发是和硬件紧密相关的,甚至和机器人的体系结构也密切相关,同样是 移动机器人,有的是用 PC 控制的,有的是用多个嵌入式系统实现的,有的则是多机器人协同工 作的,操作系统有人会用 DOS,有人会用 Windows,有人会用 Linux,有人会用 Embeded Operation System。硬件平台有的用 x86,有的用 ARM 芯片,有的会用 DSP,通讯里面会 有串口,TCP/IP 网络,无线以太网,红外,蓝牙等,甚至驱动机构也不一样,有的是用腿,有

机器人避障优化模型讲解

机器人避障优化模型 摘要 “机器人避障问题”是在一个规定的区域范围内,有12个位置各异、形状不同的障碍物分布,求机器人从出发点到达目标点以及由出发点经过途中的若干目标点到达最终目标点的避障最短路径及其最短时间,其中必须考虑如圆与切线的关系等问题。基于优化模型,对于题目实际情况进行研究和分析,对两个问题都用合适的数学思想做出了相应的解答和处理,以此建立符合题意的数学模型。 问题一,要求建立机器人从原点出发到达以区域中另一点为终点的最短路径模型。机器人的避障路径规划主要包括环境建模、路径搜索、路径平滑等环节,针对本题的具体情况,首先对图形进行分析,并用AutoCAD 软件进行环境建模,使其在障碍物外围延伸10个单位,然后考虑了障碍物对路径安全的影响再通过蚁群算法来求它的的最短路径,由于此时最短路径中存在转弯路径,需要用人工势场法进行路径平滑处理,从而使它的最短路径在蚁群算法算出的结果情况下,可以进一步缩短其路径,从而存在机器人以区域中一点到达另一点使其避障的路径达到最短,在最终求解时,通过matlab 软件求其最优解。 问题二,仿照问题一机器人避障路径规划的基本环节所建立的一般模型,再根据题二所提出的具体问题,建立机器人从O (0,0)出发,使达到A 的最短时间路径模型。其中已知最大速度为50=v 个单位/秒,机器人转弯时,最大转弯速度为 2 1.0100 e 1)(ρρ-+= =v v v ,其中ρ是转弯半径,并有ν为增函数。且有0νν<恒成立,则可 知行走路径应尽量减少走圆弧,且可时间由走两段直线加圆弧的时间之和。 关键词: 最短路径 蚁群算法 人工势场法 机器人避障

多移动机器人编队控制

基于Multi-Agent的多机器人编队控制 摘要:多移动机器人协调是当前机器人技术的一个重要发展方向。多移动机器人之间的协调与 合作将大大提高机器人行为的智能化程度,完成由单个机器人难以完成的更加复杂的作业。多 移动机器人协调技术的研究对提高机器人的智能化水平及加快机器人的实用化进程具有重要的 理论研究意义和实用价值。本文结合多智能体技术对多机器人编队控制进行了研究,同时根据 具体的多机器人系统,进行了仿真实验。验证了多智能体技术在机器人编队控制系统中的应用,完成了小规模的编队控制。 关键词:多智能体;多机器人;编队控制;协调控制;模糊控制 Multi-robot Formation Control Based on Multi - Agent Abstract :The problem of multi-robot cooperation and coordination is central to mobile robotics. Cooperation and coordination will improve the intelligent performance of robots and can complete lots of impossible missions for single robot.The research on multi-robot cooperation and coordination is of great academic and applied significance. The multi-robot formation is developed combined with the multi-agent technology in this dissertation, and the simulation is done with the multi-robot system. The application of multi-agent is verified in the multi-robot formation control through a small system adopt the fomation control. Key words: Multi-agent ;Multi-robot ;Formation control;Coordination control;Fuzzy control 1. 国内外机器人系统发展现状 自80年代末以来,基于多智能体系统理论研究多机器人协作受到了普遍的关注,从军事领域到工业与民用领域,从星际探险到海底考察,从比赛到教学,都取得了不同程度的进步。近年来,在IEEE R&A,IROS等著名的国际机器人学术会议上,几乎每次会议都有多智能体协作机器人系统的专题。一些机器人学术刊物出版了有关多智能体机器人的研究专辑。一些研究项目,如ACTRESS,CEBOT,GOFER,SWARM等,已进行了多年[1]。 目前,国内关于群体机器人系统的研究刚刚起步,基本上还处于基础技术的研究阶段,这方面的研究成果报道比较少。中科院沈阳自动化所机器人开放研究实验室是国内研究多机器人技术较早也较全面的科研单位。 (1)CEBOT(Cellular Robotic System) CEBOT是一种自重构机器人系统(Self-Reconfigurable Robotic System),它的研究是受生物细胞结构的启发,将系统中众多的具有相同和不同功能的机器人视为细胞元,这些细胞元可以移动,寻找和组合。 根据任务或环境的变化,细胞元机器人可以自组织成器官化机器人,多个器官化机器人可以进一步自组织,形成更加复杂的机器人系统。细胞结构机器人系统强调是单元体的组合如何根据任务和环境的要求动态重构。因此,系统具有多变的构型,可以具有学习和适应的系统智能(Group Intelligence),并具有分布式的体系结构[3]。 (2)ALLANCE/L-ALLANCE系统

2012年高教社杯数学建模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个不同形状的区域是机器人不能与之发生碰撞的障碍物,障碍物的数学描述如下表:

移动机器人控制系统设计

? 197 ? ELECTRONICS WORLD?技术交流 移动机器人控制系统设计 广东工业大学 侯晓磊 随着移动机器人在人们社会生活中的地位不断提高,设计一种 可靠、稳定的机器人控制系统越发的变得重要起来,以NI公司的MyRIO控制器以其安全可靠、编程开发简单而脱颖而出。本文基于上述控制器、L298N电机驱动芯片Labview设计一种移动机器人控制软硬件系统系统,经验证,该系统运行稳定、可靠、高效。 1.前言 新一轮科技革命引发新一轮产业革命。“互联网+制造”构建工业4.0,智能制造成为我国由制造大国向制造强国转变的关键一步,移动机器人作为智能制造中的一个组成部分,作用越发的变得举足轻重。本文给出一种以MyRIO+L298N+Labivew的移动机器人控制系统。 2.IN MyRIO控制器 NI myRIO是NI最新设计的嵌入式系统设计平台。NI myRIO中内含双核ARM Cortex-A9,实时性高,并且还可以便捷定制FPGA I/ O,给开发设计人员提供更好的设计复杂系统的平台。 NI myRIO作为可重配置控制器具有以下重要特点: 易于上手使用:引导性安装和启动界面可使开发人员更快地熟悉操作,协助开发人员快速了解工程概念,完成设计任务。编程设计简单,利用实时应用、内置WiFi等功能,开发人员可以实现远程部署应用,“无线”操控。 板载资源众多:有丰富的数字I/O接口,提供SPI串行外设接口、PWM脉宽调制输出端口、正交编码器输入端口、UART异步收发器端口和I2C总线接口、多个单端模拟输入、差分模拟输入和带参考的模拟输入等可供选择的资源。 另外,NI MyRIO还提供可靠性能较好的控制器保护电路,防止由于意外操作造成控制器不可恢复性损坏,总之,NI MyRIO为开发人员提供了一个编程简易,设计电路方便,不用刻意担心意外操作而影响控制器使用的平台。 3.L298N电机控制芯片 L298N是一种用来驱动电机的集成电路,可以较稳定的输出平稳电流和较强的功率。工作均电流为2A,最高可达4A,最高输出电压为50V,能够带动带有感性元件的负载。控制器可以直接通过输入输出口与电机驱动芯片联接,从而方便控制驱动芯片的输出。如将芯片驱动直流电机时,可以直接与步进电机相联接,通过调节控制器输出实现步进电机的的正反转功能当控制直流电机时,可以通过调节控制芯片的电压信号的极性,PWM波的占空比,从而实现直流电机转速和转向的调节。4.系统硬件部分设计 系统采用MyRIO整体框架,外围增设电机驱动电路、避障驱动电路、里程计电路、液晶显示电路、陀螺仪电路。通过MyRIO主控制发送控制信号驱动移动机器人运动,实时通过外围传感器获取位置信息反馈给主控制 器,然后控制器通过闭环系统调节当前位置以保证对目标位置的追踪。 图1 5.系统软件部分设计 系统软件部分采用经典控制理论的闭环控制系统,将电机、主控制器和外设传感器构成闭环系统,通过调节闭环统的参数,来使 移动机器人以较小偏差追踪按照预定轨迹。 图2 6.结束语 本文介绍了基于NI MyRIO控制器设计移动机器人控制系统,通过仿真和实物测试,能较好的完成对任务的追踪踪。 参考:From Student to Engineer:Preparing Future Innova-tors With the NI LabVIEW RIO Architecture https://www.360docs.net/doc/fd4726286.html,.2014-04-01;王曙光,袁立行,赵勇.机器人原理与设计.人民邮电出版社,2013 。

本科毕业论文-—基于向量场直方图的移动机器人避障方法研究

本科毕业设计(论文) 题目:(中文)基于向量场直方图的移动机器人避 障方法研究 (英文)STUDY OF OBSTACLE AVOIDANCE FOR THE MOBILE ROBOT BASED ON VECTOR FIELD HISTOGRAM

诚信承诺 我谨在此承诺:本人所写的毕业论文《基于向量场直方图的移动机器人避障方法研究》均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。 承诺人(签名): 年月日

基于向量场直方图的移动机器人避障方法研究 摘要 【摘要】移动机器人广泛应用于工业生产加工制造中,尤其在危险和恶劣的环境中可以用机器人代替人工操作减少损失。避障技术在移动机器人的发展中起着至关重要的作用,避障方法有很多种,本文是基于向量场直方图的移动机器人避障方法。由于传统的向量场直方图法在给定值太大或太小时都无法安全避障,本文在此基础上,利用激光测距仪所或得的数据首先确定一个可以安全行驶的范围,然后通过算法自动的改变给定值的大小,最终选择最优给定值,通过差分驱动控制使机器人安全避障。并在Robotic Studio仿真系统中建立场景和编程来实现。 【关键词】移动机器人;激光测距仪;向量场直方图;差分驱动;避障

STUDY OF OBSTACLE A VOIDANCE FOR THE MOBILE ROBOT BASED ON VECTOR FIELD HISTOGRAM Abstract 【ABSTRACT】Mobile robots are widely used in industrial production and manufacturing,especially in dangerous and harsh environments they can replace manual operations to reduce losses. Obstacle avoidance technology plays a vital role in the development of mobile robot , There are many ways about obstacle avoidance, this article is the obstacle avoidance method for mobile robot based on the vector field histogram.If the given value is too large or too small the robot can not go through obstacles safely using traditional vector field histogram method. Basing on the VFH, firstly ,determining a range of safe driving use the data from laser range finders.Then changing the given value automatically and choosing the optimal value , finally using the differential drive control method make the robot avoid obstacles successfully.And make it come ture in the Robotic Studio simulated system. 【KEYWORDS】mobile robot;LRF;VFH ; differential drive; obstacle avoidance

智能机器人设计报告

智能机器人设计报告 参赛者:庆东肖荣于腾飞 班级:级应用电子技术 指导老师:远明 日期:年月日 一、元器件清单: ,,,,,,,蜂鸣器,光敏电阻,光敏三极管,电阻、电容若干,超亮及普通发光管。二、主要功能: 本设计按要求制作了一个简易智能电动车,它能实现的功能是:从起跑线出发,沿引导线到达点。在此期间检测到铺设在白纸下的薄铁片,并实时存储、显示在“直道区”检测到的薄铁片数目。电动车到达点以后进入“弯道区”,沿圆弧引导线到达点继续行驶,在光源的引导下,利用轻触开关传来的电信号通过障碍区进入停车区并到达车库,完成上述任务后能够立即停车,全程行驶时间越少越好。 本寻迹小车是以有机玻璃为车架,单片机为控制核心,加以减速电机、光电传感器、光敏三极管、轻触开关和电源电路以及其他电路构成。系统由通过口控制小车的前进后退以及转向。寻迹由超亮发光二极管及光敏电阻完成,避障由轻触开关完成,寻光由光敏三极管完成。 并附加其他功能: .声控启动 .数码显示 .声光报警 三、主体设计 车体设计 左右两轮分别驱动,后万向轮转向的方案。为了防止小车重心的偏移,后万向轮起支撑作用。对于车架材料的选择,我们经过比较选择了有机玻璃。用有机玻璃做的车架比塑料车架更加牢固,比铁制小车更轻便,美观。而且裁减比较方便! 电机的固定采用的是铝薄片加螺丝固定,非常牢固,且比较美观。 轮子方案 在选定电机后,我们做了一个万向轮,万向轮的高度减去电机的半径就是驱动轮的半径。轮子用有机玻璃裁出来打磨光华的,上面在套上自行车里胎,以防止打滑。 万向轮 当小车前进时,左右两驱动轮与后万向轮形成了三点结构,这种结构使得小车在前进时比较平稳。

小车自动避障与路径规划

第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得到。

避障小车设计实验报告

福州大学至诚学院 题目:避障小车设计实验报告 姓名: 学号: 210992044 同组者: 专业:电气工程及其自动化专业 年级: 09级 指导教师: 2011年04月24日

1、实验材料:MultiFLEX?2-A VR控制器;红外线接近传感器两个;红外线 测距传感器一个;碰撞传感器一个;轮子四个;舵机四个;结构 件若干。(“创意之星”机器人套件) 2、原理:碰撞传感器是由一个按钮开关和外围电路构成,其输出信号为 数字信号。当按钮按下时,信号输出端输出低电平;按钮被释放时, 信号输出高电平。可以充当开关使用。红外接近传感器是利用被检 测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有 无的。光电开关将输入电流在发射器上转换为光信号射出,接收器 再根据接收到的光线的强弱或有无对目标物体进行探测。当红外线 传感器遇到障碍时,信号输出端输出低电平,没有障碍时,信号输 出端输出高电平,从而实现小车的避障功能。红外线测距传感器 GP2D12主要是由红外发射器、PSD(位置敏感检测装置)及相关处 理电路构成,红外发射器发射一束红外光线,红外光线遇到障碍物 被反射回来,通过透镜投射到PSD上,投射点和PSD的中心位置存 在偏差值a,GP2D12根据下图所示的a、b、α三个值就可以计算出 H的值,并输出相应电平的模拟电压。利用此功能来实现小车判断 前方是否有坑的功能。

3、小车的功能介绍: (1)按下碰撞传感器按钮,小车停止运动,再次按,小车继续运动; (2)检测前方是否有障碍,有则避之; (3)检测前方是否有坑,有则避之; (4)在一个由两堵墙构成的死角,通过左右避障次数的累计绕出死角。 4、步骤:(1)熟悉机器人零件及其应用; (2)搭建小车,调试舵机及其编号; (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)

移动机器人常用传感器及相关避障技术介绍

移动机器人常用传感器及相关避障技术介绍 移动机器人是机器人的重要研究领域,人们很早就开始移动机器人的研究。世界上第一台真正意义上的移动机器人是斯坦福研究院(SRI)的人工智能中心于1966年到1972年研制的,名叫Shakey,它装备了电视摄像机、三角测距仪、碰撞传感器、驱动电机以及编码器,并通过无线通讯系统由二台计算机控制,可以进行简单的自主导航。Shakey的研制过程中还诞生了两种经典的导航算法:A*算法(the A* search algorithm)和可视图法(the visibility graph method)。虽然Shakey只能解决简单的感知、运动规划和控制问题,但它却是当时将AI应用于机器人的最为成功的研究平台,它证实了许多通常属于人工智能(AriTIficial Intelligence,AI)领域的严肃的科学结论。从20世纪70年代末开始,随着计算机的应用和传感技术的发展,以及新的机器人导航算法的不断推出,移动机器人研究开始进入快车道。 移动机器人智能的一个重要标志就是自主导航,而实现机器人自主导航有个基本要求避障。下面让我们来了解一下移动机器人的避障,避障是指移动机器人根据采集的障碍物的状态信息,在行走过程中通过传感器感知到妨碍其通行的静态和动态物体时,按照一定的方法进行有效地避障,最后达到目标点。 实现避障与导航的必要条件是环境感知,在未知或者是部分未知的环境下避障需要通过传感器获取周围环境信息,包括障碍物的尺寸、形状和位置等信息,因此传感器技术在移动机器人避障中起着十分重要的作用。避障使用的传感器主要有超声传感器、视觉传感器、红外传感器、激光传感器等。 移动机器人避障常用的传感器 1、激光传感器 激光测距传感器利用激光来测量到被测物体的距离或者被测物体的位移等参数。比较常用的测距方法是由脉冲激光器发出持续时间极短的脉冲激光,经过待测距离后射到被测目标,回波返回,由光电探测器接收。根据主波信号和回波信号之间的间隔,即激光脉冲从

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

机器人避障问题的解题分析 摘要:本文对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

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

相关文档
最新文档