💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
文献来源:
本文档提供的代码使用概率路线图算法进行机器人运动规划。假设如图1所示,您有一个带头顶摄像机的机器人竞技场。摄像机可以很容易地校准来自摄像头的图像可用于创建机器人地图,如图所示。这是一个对现实生活场景的简单实现,其中使用多个摄像头来捕捉不同部分整个工作空间,它们的输出被融合在一起,形成运动规划算法使用的整体地图。这个教程将假设这样的映射已经存在,并作为映射的输入。
同样的摄像头也可以用来捕捉机器人在规划开始时的位置,以及机器人移动时的位置。这解决了定位问题。一个有趣的感兴趣区域成为机器人运动规划算法中的目标。在图1的地图中没有显示机器人。本教程假设机器人的起点和目标点已明确给出。当前教程的目的仅是为机器人规划一条路径;代码不会进一步使机器人在期望的路径上移动,这需要控制算法来实现。
为了简化,机器人被视为一个点大小的对象。这使得实现和理解变得快速,而无需深入研究碰撞检测库和多维配置空间的概念。
📚2 运行结果
部分代码:
mapName='map1.bmp'; % input map read from a bmp file. for new maps write the file name here
source=[10 10]; % source position in Y, X format
goal=[490 490]; % goal position in Y, X format
k=10; % number of points in the PRM
display=true; % display processing of nodes
map=im2bw(imread(mapName),0.5);
if ~feasiblePoint(source,map), error('source lies on an obstacle or outside map'); end
if ~feasiblePoint(goal,map), error('goal lies on an obstacle or outside map'); end
imshow(map);
rectangle('position',[1 1 size(map)-1],'edgecolor','k');
hold on
vertex=[source;goal]; % source and goal taken as additional vertices in the path planning to ease planning of the robot
if display, rectangle('Position',[vertex(1,2)-5,vertex(1,1)-5,10,10],'Curvature',[1,1],'FaceColor','r'); end
if display, rectangle('Position',[vertex(2,2)-5,vertex(2,1)-5,10,10],'Curvature',[1,1],'FaceColor','r'); end
tic;
while length(vertex)<k+2 % iteratively add vertices
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
🌈4 Matlab代码、文献
资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取