【路径规划】人工势场路径规划算法(Matlab实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

人工势场路径规划算法(Artificial Potential Field Path Planning Algorithm)是一种常用的机器人路径规划方法,灵感来源于物理学中的势能场概念。它将机器人周围的环境建模为一个势能场,并利用势能场的梯度来引导机器人朝向目标位置移动。该算法的主要思想是,在环境中为机器人和目标位置分配不同的势能值。机器人受到两种力的作用:一种是来自目标位置的引力,另一种是来自障碍物的斥力。这些力会使机器人朝着目标位置移动,并避开障碍物。根据机器人当前位置和目标位置以及环境中的障碍物位置,计算每个点的势能值。通常,目标位置会产生吸引力,而障碍物则会产生斥力。对于机器人当前位置,计算受到的总合力,即引力和斥力的合成。根据合力的方向和大小,更新机器人的位置。通常采用迭代的方式,多次更新机器人的位置,直到达到目标位置或达到最大迭代次数。在更新机器人位置之后,检测是否发生碰撞。如果机器人与障碍物碰撞,则采取相应的避障策略,如调整路径或重新规划路径。人工势场路径规划算法具有简单易用、适用范围广等优点,但也存在一些缺点,如可能陷入局部最优、对环境变化不敏感等。因此,在实际应用中,需要根据具体情况选择合适的路径规划算法。

📚2 运行结果

主函数部分代码:

clear all; close all; clc;

% Initial position and orientation 
x = -0.5;
y = 0.5;
theta = 0;

% Goal position
x_goal = 3.5;
y_goal = 2.75;
position_accuracy = 0.05;

% APF parameters
zeta = 1.1547;
eta = 0.0732;
dstar = 0.3;
Qstar = 0.75;

% Parameters related to kinematic model
error_theta_max = deg2rad(45);
v_max = 0.2;
Kp_omega = 1.5;
omega_max = 0.5*pi; 

% Generate obstacles
obst1_points = [ linspace(1.5,1.5,100) linspace(1.5,2,100) linspace(2,2,100)    linspace(2,1.5,100) 
                 linspace(1.5,2,100)   linspace(2,2,100)   linspace(2,1.5,100)  linspace(1.5,1.5,100) ];
obst1_points(1,:) = obst1_points(1,:) - 1;
obst1_points(2,:) = obst1_points(2,:) - 1;

obst2_points = [ 2+sin(linspace(0,pi/2,100))     linspace(3,3,100)    linspace(3,2,100)           
                 2.5+cos(linspace(0,pi/2,100))   linspace(2.5,3.5,100)  linspace(3.5,3.5,100)    ];
obst2_points(2,:) = obst2_points(2,:) - 1.5;


figure(1); 
t = 1;
dT = 0.1;
t_max = 1000;
X = zeros(1,t_max);
Y = zeros(1,t_max);
X(1) = x;
Y(1) = y;

while norm([x_goal y_goal] - [x y]) > position_accuracy || t > t_max   
    % Calculate Attractive Potential
    if norm([x y]-[x_goal y_goal]) <= dstar
        nablaU_att =  zeta*([x y]-[x_goal y_goal]);
    else 

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]卢锦澎,梁宏斌.基于深度Q网络的机器人路径规划研究综述[J].传感器与微系统,2024,43(06):1-5.DOI:10.13873/J.1000-9787(2024)06-0001-05.

[2]胡进森,周彩根,于建江,等.基于融合算法的多AGV物流分拣路径规划[J].电子设计工程,2024,32(11):16-21.DOI:10.14022/j.issn1674-6236.2024.11.004.

🌈4 Matlab代码实现

图片

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值