2019-06-08 关于路径规划SBPL

因为项目的原因又去了解了一下路径规划算法,包括A和RRT。
由于项目中使用的全局SBPL算法是基于A
的变种,小白稍微了解了一下A*算法,简单来说是一种启发式搜索算法,通过计算损失函数找到最优解,具体如下:https://blog.csdn.net/zhulichen/article/details/78786493
SBPL中还需要获取机器人的基础运动元,以及相应的代价。通过SBPL给出的Matlab可生成.mprim文件,具体如下:

    resolution = 0.01;%像素
    numberofangles = 8; %360度中离散化成8个方向的运动
    numberofprimsperangle = 16;%每个方向中有16种运动基础方式

    %不同运动方式的损失函数
    forwardcostmult = 1;
    backwardcostmult = 5;
    forwardandturncostmult = 1;
    sidestepcostmult = 50;
    turninplacecostmult = 50;

  % 以0度为例
    basemprimendpts0_c(1,:) = [1 0 0 forwardcostmult];
    basemprimendpts0_c(2,:) = [4 0 0 forwardcostmult];
    basemprimendpts0_c(3,:) = [8 0 0 forwardcostmult];
    basemprimendpts0_c(4,:) = [6 2 0 sidestepcostmult];
    basemprimendpts0_c(5,:) = [6 -2 0 sidestepcostmult];
    basemprimendpts0_c(6,:) = [2 3 0 sidestepcostmult];
    basemprimendpts0_c(7,:) = [2 -3 0 sidestepcostmult];
    basemprimendpts0_c(8,:) = [-5 0 0 backwardcostmult];
  basemprimendpts0_c(9,:) = [6 2 1 forwardandturncostmult];
    basemprimendpts0_c(10,:) = [6 -2 -1 forwardandturncostmult];
    %2/32 theta change
    basemprimendpts0_c(11,:) = [4 3 2 forwardandturncostmult];
    basemprimendpts0_c(12,:) = [4 -3 -2 forwardandturncostmult];
    %turn in place
    basemprimendpts0_c(13,:) = [0 0 1 turninplacecostmult];
    basemprimendpts0_c(14,:) = [0 0 -1 turninplacecostmult];
    basemprimendpts0_c(15,:) = [0 0 3 turninplacecostmult];
    basemprimendpts0_c(16,:) = [0 0 -3 turninplacecostmult]; 

其中括号里表示x,y,theta,cost。生成8*16=128中运动方式,考虑到整体的可行性,每个运动元的终点在网格上。(对数据进行四舍五入)有了运动元就容易全局规划了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • --- layout: post title: "如果有人问你关系型数据库的原理,叫他看这篇文章(转)" date...
    蓝坠星阅读 864评论 0 3
  • 以西瓜书为主线,以其他书籍作为参考进行补充,例如《统计学习方法》,《PRML》等 第一章 绪论 1.2 基本术语 ...
    danielAck阅读 4,721评论 0 5
  • 《酒馆相遇,即是缘~》 还是那个江南茶馆,巧的是又一次的相遇,华山第一剑帮主锋刃老阿姨,无聊的喝...
    男哈阅读 221评论 0 0
  • 深圳!宝安赛格,华强北,再见! 作者:褚智凌 深圳——华强北和宝安赛格是一处充满商机、总是能带给人们惊喜的机遇,这...
    清哲木印象阅读 1,026评论 0 0
  • 我叫黑涵,我的前半生是一枚帅气的月饼! 我像不像一盆萌萌哒小多肉,不舍得吃就把我养大呗! 别看我长得黄,其实我肚里...
    我是晓晓阅读 594评论 3 2