复杂环境下多移动机器人路径规划研究(Matlab代码实现)

   目录

1 概述

2 部分运行结果

3 参考文献

‍4 Matlab代码


1 概述

针对多移动机器人运动协调中的动态安全避碰问题,在分析速度障碍法原理的基础上,设计用于机器人之间相互避让的互动速度法则,并通过制定机器人的碰撞时间、碰撞距离因子对构型障碍的大小进行实时调整,把运动障碍物、动力学约束下的多步可达窗口、目标点都映射到一种速度变化空间当中,使多机器人的动态避碰问题转化为一种最优化问题,并构造了新的优化评价函数;设计了基于改进速度障碍法的机器人动态避碰规划算法。仿真实验表明,该方法有效地克服了碰撞冲突,实现了多机器人之间的运动协调控制,提高了机器人追踪运动目标的快速性。 

2 部分运行结果

复杂环境下多移动机器人路径规划研究(Matlab代码实现)_第1张图片

 复杂环境下多移动机器人路径规划研究(Matlab代码实现)_第2张图片

 复杂环境下多移动机器人路径规划研究(Matlab代码实现)_第3张图片

 复杂环境下多移动机器人路径规划研究(Matlab代码实现)_第4张图片

 复杂环境下多移动机器人路径规划研究(Matlab代码实现)_第5张图片

 复杂环境下多移动机器人路径规划研究(Matlab代码实现)_第6张图片

 复杂环境下多移动机器人路径规划研究(Matlab代码实现)_第7张图片

3 参考文献

[1]孙树栋,林茂.基于遗传算法的多移动机器人协调路径规划[J].自动化学报,2000(05):672-676.DOI:10.16383/j.aas.2000.05.012.

[2]丁滢颍,何衍,蒋静坪.基于蚁群算法的多机器人协作策略[J].机器人,2003(05):414-418.DOI:10.13973/j.cnki.robot.2003.05.007.

‍4 Matlab代码

主函数部分代码:

%% Main with simulation

%% Clear the previous
clear 
clear dcaptTrajGenerator
close all
clc
%% Parameters
disp('Planning ...');
addpath(genpath('./'));
map = load_map('map1.txt', 0.1, 2.0, 0.25);
% num robots and goals
var.nbots = 5;

% num dimensions
var.n = 3;

% radius
var.R = 0.15; % 0.086 m
% boundary x axis and y axis
var.bound = [10,10,40]*1.7;

% max vel
var.vmax = 1;

% st time
var.t0 = 0;

% neighb dist
var.h = 3.7;

%% Assign the goals
% %% Plan path
% disp('Planning ...');
% map = load_map('maps/map1.txt', 0.1, 2.0, 0.25);

[start,goal] = generateStartGoal_dcapt(var, true);
start(:,3) = start(:,3)/4;
goal(:,3) = goal(:,3)/4;

% start = [0,0,0;
%         0,10,0;
%         10,0,0;
%         10,10,0];%[start(:,1),start(:,2),start(:,3)];
% goal = [10,10,10;
%          10,0,10;
%          0,10,10;
%          0,0,10];%[goal(:,1),goal(:,2),goal(:,3)];

var.goal = goal;
var.start = start;
%% init script
var.t0=0; 
var.tf = computeTf_dcapt(start, goal, var.vmax);
times = [var.t0;var.tf];
% var.f = [1,2,3,4];
var.f = randperm(var.nbots);
%% Run trajectory
for qn = 1:var.nbots 
    startC{qn} = start(qn,:)';
    goalC{qn} = goal(qn,:)';
end

完整代码见:复杂环境下多移动机器人路径规划研究

你可能感兴趣的:(路径规划问题,matlab,算法,开发语言)