基于向量场直方图的移动机器人避_障方法研究毕业论文(编辑修改稿)内容摘要:

个成熟的三维仿真环境,当你下载到免费的 SDK 几分钟后就可以驱动机器人了。 它的最大好处 就是对个人、学校或者开发商都是免费的。 MSRS 还包含一个成熟的 实时 运行环境,用来编写强大的异步式和分布式应用程序很容易。 微软的 MRDS 的 SDK 包含许多组件 ,并发同时运行( CCR)和分散软件服务( DSS)构成了实时运行环境。 它们都是控制库,所以运行在这些环境中的机器人服务也是通过控制代码实现的。 基于向量场直方图的移动机器人避障方法研究 仿真环境是可以用来实现新算法的全物理的三维仿真器, 可视化编程语言( VPL )是一个可以用来实现机器人服务 的 图形化编程环境。 除了 所有这些组件, 微软团队 还开发了很多实例并且 为编程用户提供 程序和块。 3 基于 VFH 的避障算法 由 部分的 VFH 的缺点可以知道当给定值太大或太 小时 ,如果 使用 VFH 算法 的话,移动机器人 都有可能无法安全 通过 障碍物, 因此在基于 VFH 算法的基础上做了修改。 首先通过 激光测距仪所获得的数据计算 确定 机器人可以安全通过的 一些 范围,然后通过算法在这些可以通过的给定值中选择最优给定值, 使得机器人可以快速安全通过障碍物。 算法流程图 :图 31 算法流程图 图 31 为基于 VFH 算法改进的算法流程图。 通过 激光测距仪所 获得的数据,来求可以安全通过的所有范围,即同时满足边长条件和长方形条件的范围都是可 以安全通过的范围,若不满足则激光传感器需重新采集下一组数据。 然后在在这些范围中确定一个最优给定值,利用这个给定值,通过差分驱动分别控制机器人的角速度和线速度,安全避开障碍物。 求机器人可以安全通过的所有范围 步骤 1: 将 激光测距仪 LMS200 的 180176。 扫描范围分为 72 个扇形,每个扇形的角度 为 176。 ,并且 将每个扇形 按照从右到左的顺序依次 标记为 Sm。 其中 m 为 1, 2,3, ...., 72。 步骤 2:确定每个扇形的最小扫描距离 Lmmin,并且用该值与给定值 Rg 进行比较,如果该扇形区域 Gg  Lmmin,那么该扇形是预备的扇形区域。 图 32 确定机器人可以安全通过的路径方向 步骤 3:在步骤 2 中得到的所有预备扇形区域中,将所有连接在一起的并接成一个 待判断的大扇形区域,该待判断的大扇形区域表示为 Qd, d 为 1, 2, … , Td(其中 Td 表示待判断大扇形区域基于向量场直方图的移动机器人避障方法研究 的个数且 Td 72)。 若 nf表示并接的第一个扇形, nl 表示并接的最后一个扇形,  d 表示待判断大扇形的角平分线与 移动机器人的坐标轴的 x 轴的夹角,那么 Qd 可表示为一个矩阵 :  fld d d d dn n GQ  ( 31) 由几何知识易得  d:  d1 2 . 52 1 8 0flddnn      ( 32) 步骤 4:在对待判断大扇形区域 Sd 进行判断选择,若满足以下条件,那么该区域可保证机器人能够安全通过,此区域保留,否则丢弃。 ① 边长 约束条件: 待判断的大扇形区域的中心角 所对的边长为 Ed,当 Eg 小于 Ed 时称为满足边长约束条件 ,其中 ggE K Z, Kg 是一个比例系数,在此算法中将其设置为 , Z 是移动机器人的直径, 在 仿真环境中选用的先锋三号直径设置为 米。 即只需要 g  m 即满足了边长约束条件。 ②长方形约束条件:激光测距仪 LMS200 扫描所获得的数据点都不在长方形内。 该长方形的两条边与待判断扇形的角平分线互相平行,具体长方形见图 32,其中 ddZ K Z, Kd 是比例系数且取值是。 如果不能 同时 满足以下条件的则一定不满足长方形约束条件。 13d +d =B ( 33) 24d +d =A ( 34) 图 32 确定是否满足长方形约束条件 其中 A、 B 分别是长方形的宽和长,只有同时满足了式 33 和式 34 才满足长方形的约束条件 如果同时符合步骤 4 中①、②的待判断区域是安 全区域,机器人可以避开障碍物而安全通过, 此待判断扇形区的角平分线 叫做 可安全行驶的路径方向。 移动机器人角速度 和线速度 确定给定值的原则 在 2 中对于某个确定的给定值 G,可以求得移动机器人安全避开障碍物的路径方向,图 33是给定值 G 不同时,移动机器人所或得的安全避开障碍物的路径方向图, 图 331 和图 332 分别是给定值为 3 和 4 的时候,此时所获得的路径方向角度全都超过 90176。 ,但此时所获得的范围无法满足步骤 4 中②的长方形约束条件,所以这两个给定值都是不合理的,移动机器人无法成功避开障碍物。 图 333 和图 334 的给定值分别为 1 和 2,此时获得的安全避开障碍物的路径角度分别是 90176。 和 110176。 ,这两个给定值都可以保证机器人避开障碍物,但由图容易发现 当 给定值 为 2 时的效果更好 ,因为给定值为 1 时要过段时间才能够发现前方障碍物。 因此我们可以得出结论,再能够保证移动机器人成功避开障碍物的前提下,给定值 G 越大越好。 图 331 给定值 G=3 图 332 给定值 G=4 图 333 给定值 G=1 图 344 给定值 G=2 确定最优给定值 Gb 基于向量场直方图的移动机器人避障方法研究 由上部分可知在保证移动机器人可以安全避障的前提下,给定值 G 是越大越好。 接下来将计算出自动改变给定值的计算方法。 ①:假定给定值值 G 的最大值 Gmax: m ax = GGG( U 1 ) ( 35) 所有可能的给定值为 Gj:  j0= { j |j = 0 , 1 . . . U 1 1 }GG G G   , , ( 36) 其中 G0 为最小的给定值 : 0 0 0G K S ( 37) K0 是一比例系数, S0 表示移动机器人从最大的速度开始到停止是所运行的距离 : 2max0 2VS a ( 38) 本课题中 移动机器人的最大速度 Vmax为 ,减速的加速度 a 为 1, G0 确定为 1, G 是固定变化量 且 取值为 , UG 的值选为 41,则容易得到 Gmax为 4。 ②:由上部分中所获得的 Gj( 其中 j=1,2,3, … ,),用 2 中的方法判断移动机器人是否能够成功避开障碍物。 即某个确定的给定值,判断是否满足边长约束条件和长方形约束条件。 如果两个条件同时满足,那么这个给定值就是有效的保留起来,否则该给定值就是无效 的直接丢弃。 ③ : 假定总共有 H 个给定值是有效的,则移动机器人共有 H 个可以通过的路径方向。 j{ j = } jj( G E ) | 1,2 , ...,H 其中 Gj 表示第 j 个有效的给定值, j 表示第 j 个有效值对应的可以避障的安全路径方向与机器人的 x 轴的夹角, Ej 表示第 j 个有效值对应的安全路径范围的中心角对应的边长。 在 这 H 个有效值 中 , 同时 满足式 38 的安全路径方向中给定值最大的那个就是最优给定值,用 Gb 表示。 j tar| |   ( 39) 其中  是先前确定的固定值,本课题中是 4 , tar 是移动机器人与目标之间的角度。 角速度控制 由 2 的③ 可得最优给定值, Gb 对应的安全路径方就是机器人的最终行走方向,用 go 表示。 控制角速度的表达式为式 38: go=2    ( 310) 其中  为比例系数,取值为 . 注:由 2 确定的最优给定值 Gb 可能对应多个安全路径方向,其中选取中心角对应边长最大的那个方向为移动机器人的最终行走方向。 线速度 控制 机器人在前进的过程中希望机器人运行的越快越好,即我们总是希望机器人的线速度是 Vmax,但是当机器人距离障碍物较近时或者行驶方向与目标偏离较大时, 速度过大 反 而可能会浪费时间,此时需要减小轮子的速度。 线 速度表达式为: m a x= y +   ( 311) 其中  为: m a x m in= ( ) /y m   ( 312) 其中 max 是机器人运行过程中的最大线速度 ,取值为 , min 机器人运行过程中的最小线速度。 ym 是式 313 在 go 取π时且最优给定值 Gb 取 G0 时的值。 1 g o 2 0 b 0 m a xy = K | / 2 | + K ( / G G / G )G 。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。