matlab机器人末端坐标

各位朋友帮忙看看这个要怎么算出坐标 命令应该怎么打

img

求末端的机器人坐标

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7495702
  • 这篇博客你也可以参考下:【求助】使用matlab机器人工具箱求逆超出矩阵索引维度且与实际工作空间不符
  • 同时,你还可以查看手册:matlab 创建全部为 1 的数组 ones 中的内容
  • 除此之外, 这篇博客: matlab求解考虑碳排放的路径优化问题中的 考虑碳排放的冷链物流配送车辆路径优化建模 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • (一)模型描述
    本文考虑碳排放的生鲜农产品冷链物流配送路径优化问题的模型,不同于传统的只考虑车辆运输成本的车辆配送路径优化问题。冷链物流需要使生鲜产品在整个配送过程中都处于低温控制条件下,这样才能保证产品的质量和品质,如果配送过程所用的时间越短,对于整个冷链货物的质量就越有利,也更加有利于确保生鲜产品的质量和品质,因此在本文的研究中,需要将时间窗约束条件以及运输车辆的温度控制和制冷设备成本考虑到运输车辆在整个配送环节中。时间窗分为硬时间窗和软时间窗,在传统的车辆路径问题中,一般考虑到的是硬时间窗,它要求交付的产品必须在消费者指定的时间范围内到达,但是在现实条件下,对运输车辆的调度会存在很多的限制和约束,而且车辆数量和承载量也是有限的,所以车辆往往不能在客户要求的严格的时间范围内配送到,对于硬时间窗的问题也就很难找到可行解。因此在本文研究中,对时间窗的约束条件会考虑软时间窗。软时间窗是基于硬时间窗问题,增加了超时惩罚成本的因素,这意味着,如果运输车辆未能在客户指定的时间内完成交付的话,将会产生一定的惩罚成本。
    在本文的研究中,模型可以具体描述为:服务于n个客户点的一个冷链物流配送中心,配备制冷设备的同类型冷链运输车辆以恒定速度运行,从配送中心出发,为特定的客户提供生鲜产品配送服务,完成货物交付之后再返回到物流配送中心。在这个模型中,物流配送中心的位置以及需求点的坐标都是已知的,每一个顾客需要的产品数量、客户对货物交付的时间范围要求也是已知的。在对客户进行产品配送时,将车辆从配送中心出发的时间设为0,在配送的过程中冷链产品会有一定程度的损耗,考虑这种变质情况,变质率以Weibull分布函数表示,在冷链物流运输的过程中,以既定的约束和限制条件为基础,将运输车辆的碳排放成本、冷链产品的货损成本、配送车辆的制冷成本、时间窗惩罚成本等进行综合考虑,然后建立新的低碳环境中的冷链物流车辆配送路线问题模型。进而选择合理的配送方案,减少车辆配送服务的路程,提高配送效率,使得物流系统中的总成本最小。
    (二)假设条件
    在研究中,为了方便问题的分析和求解,根据现实情况下生鲜产品的配送情况,将现实问题进行抽象化处理,建立具有一定约束和限制条件的数学模型并用合适的算法进行分析、求解。由于本文的研究针对的是碳排放环境下冷链物流配送路径问题的最优模型,也就是要使得配送路径问题的总目标成本最小。所以在最优化问题的分析求解上,只考虑可变成本而不考虑车辆行驶过程中的折旧费用和车辆驾驶人员的工资等固定成本。为了降低整个冷链物流的成本和碳排放量,使得生鲜冷链产品的配送满足客户的时间和质量要求,做出如下假设:
    1 本文研究的是针对多个客户配送且只有一个配送中心的车辆路径优化问题。
    2 对于冷链物品的变质率是一定的、相同的。
    3 配送车辆均为配有冷冻冷藏设备的货车,数量一定,而且车辆的容量大于单个客户点要求的需求量。
    4 配送车辆的数量一定,规格型号相同。本文研究中不考虑车辆的故障和交通拥堵情况,假设车辆行驶速度是匀速的。
    5 所有客户点的需求量位置和时间窗的要求都是已知的。
    6 对于产品的腐烂变质的碳排放,本文研究中不予考虑。
    7 一辆冷藏车可以为多个零售商进行服务,但每个零售商在一个配送周期只能被一辆冷藏车服务。
    8 每个需求点对车辆配送都有时间范围要求,当配送车辆在客户要求的时间范围之前到达会产生机会成本,如果延迟到达则会产生惩罚成本。
    9 不考虑车辆在配送过程中客户需求的变化。
    在这里插入图片描述
    在这里插入图片描述
    成本测算
    物流的配送环节会产生大量的碳排放,从碳排放量的自身意义上来说,它只是一个非特定的数字,但是当我们将碳排放加入到车辆路径优化问题的模型中的时候,碳排放量就具有了具体意义,这个时候就需要将碳排放货币化,转换为成本并计入到成本函数中,在这个基础上再来研究目标函数。对于生鲜冷链产品的配送车辆,在从配送中心到需求点运输的途中会产生大量的碳排放,配送环节的碳排放量与配送车辆的油耗量相关且成正比例的关系。
    目前文献中对于碳排放量的测算,通常采用间接的方法,本文的研究中是通过燃油的消耗量来计算碳排放量。车辆的燃油消耗量与车辆本身发动机型号、行驶的速度、载重量、行驶距离等相关。通过查阅文献,本文参考 Bekta等提出的综合排放模型计算车辆的碳排放量。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    式(1)表示冷藏车运输的货物量不大于运输车辆的最大承载量
    式(2)表示车辆载重约束
    式(3)表示运输车辆的数量限制条件
    式(4)表示每个客户只能被一辆车提供配送服务;
    式(5)表示每个需求点都会被服务到,
    式(6)表示所有的运输配送车辆完成服务后都会返回到原来的配送中心.式
    式(7)表示从配送中心出发时,每辆运输车辆的货物装载量和该车辆要提供配送服务的客户的需求量总和是相等的。
    在这里插入图片描述
    P1 =

     0
    

    P2 =

    7.7324e+03

    P7 =

    1.9818e+03

    P3 =

    891.5000

    P5 =

        1812
    

    P6 =

    521.8750

    最优路径:0 1 5 0 0 0 11 10 8 0 7 9 0 0 6 12 3 0 4 2 0
    最小费用:12939.6409
    计算时间69.3525秒.
    更多的信息可以从进化图窗口中获取

    %主运行程序
    clear all;close all;clc
    %function VRPTWga(tspdist,temrops,popsize,pm,alpha)
    %tspdist:
    %temrops:
    termops=2000;%迭代次数
    %popsize:
    popsize=200;%种群规模
    %pm:
    pm=0.15;%变异概率
    %alPha:
    alpha=0.1;
    %bestpop:
    %reeordeost:
    pcrossover=0.9;%交叉概率
    load('tspdist.mat');%两地之间的距离加载
    load('Time.mat');%两地之间的行驶时间
    warning('off');
    citynum=size(tspdist,2);
    J=8;%8辆五桥品牌的标准集装箱配送车辆
    C=12;%客户的总量
    % n=nargin;
    % if n<2
    % termops=60;
    % popsize=100;
    % pm=0.2;
    % alpha=0.1;
    % elseif n<3
    % popsize=100;
    % pm=0.2;
    % alpha=0.1;
    % elseif n<4
    % pm=0.2;
    % alpha=0.1;
    % elseif n<5
    % alpha=0.1;
    % end
    disp('开始计算VRPTW问题,请稍后...........');
    gt=initializega(popsize,C,J);%初始化染色体库(也叫原始种群)
    tic;
    for i=1:termops
        %i%显示进化代数,如果想运行时观察当前在进化哪一代,则请把i前的“%”去掉。
     rawcost=fitness(gt,tspdist,Time);%(rawcost是行向量)计算目标函数
     [x,y]=find(rawcost==min(rawcost));%找最优
     recordcost(i)=rawcost(y(1));
     bestpop=gt(y(1),:);%当代最优染色体
     gt=select(gt,rawcost,alpha);%按alpha选择和复制染色体
     for j=1:2:(popsize-1)
     p1=rand;
     if p1>=pcrossover
     [gt(j,:),gt(j+1,:)]=crossover(gt(j,:),gt(j+1,:),tspdist,Time);%交叉
     end
     end
     gt=mutation(gt,pm);%按变异概率pm均匀变异
    end
    runtime=toc;
    rawcost=fitness(gt,tspdist,Time);%(行向量)计算目标函数
    [x,y]=find(rawcost==min(rawcost));%找最优
    %%
    [P1,P2,P3,P5,P6,P7]=fitness1(gt(y,:),tspdist,Time);
    %%
    % [P1,P2,P3,P4,P5,P6,P7]=fitness(gt,tspdist,Time)
    %%
    recordcost(termops+1)=rawcost(y(1));
    bestpop=[gt(y(1),:)];%当代最优染色体
    plot(0:termops,recordcost,'.-');%画种群进化图
    set(gca,'xlim',[0 termops]);
    set(gcf,'NumberTitle','off','Name','Evolution Graph');
    grid on;
    xlabel('染色体种群进化代数');
    ylabel('每一代种群的最优值');
    legend(strcat('种群代数:',num2str(termops)),strcat('染色体的个数:',num2str(popsize)));
    title('染色体种群进化过程');
    disp(['最优路径:',num2str(bestpop)]);%显示结果
    disp(['最小费用:',num2str(recordcost(i))]);
    disp(['计算时间',num2str(runtime),'秒.']);
    disp('更多的信息可以从进化图窗口中获取');
    disp('帮助+zhangshu2274');
    
  • 您还可以看一下 硬核野生技术咨询客服小李老师的matlab零基础入门路径规划城市遍历机器人路径等问题课程中的 移动机器人路径规划蚁群算法小节, 巩固相关知识点