首页 > 编程语言 >me5413算法的实现细节

me5413算法的实现细节

时间:2024-03-19 09:13:46浏览次数:25  
标签:位置 0.0 代码 路径 细节 算法 me5413

Introduction
这项作业的目的是让你通过几种基本规划算法及其应用来积累经验。在实施和测试这些算法后,
你应该能够了解到规划中的现实挑战以及每种算法的优缺点。
Task 1: Global Planning
For both Task 1&2 of your planning homework, you will be using a map of the VivoCity level 2, as shown
below:
左图是原始的楼层平面图,而右图是灰度版本,将用于您的规划算法。整个地图的尺寸为1000 x
1000像素(网格单元),每个单元格代表一个0.2m x 0.2m的正方形区域。每个网格单元格属于两
种可能状态之一:空闲(值为255)或占用(值为0)。作为一个人,您的预期圆形足迹半径不少
于0.3m。
地图上有五个指定的关键位置您希望访问:start(起点)、snacks(小吃)、store(商
店)、movie(电影)、以及food(食物)。您的任务是规划一条路径/轨迹,连接每一对起点和
终点,并展示您的
在地图上规划路径,并计算您的计划总行程距离(以米为单位)。最后,利用您计算出的距离,
找到最有效的路线,即从目前位于二楼扶梯(起点)的位置出发,访问所有四个位置并返回起
点。在此任务中,您需要实现一个A规划算法。在您的算法中,您应该:
§ • 使用8连通邻居,其成本值为0.2米(左右)或0.282米(对角
线)(必做)。
§ • 计算到达目标所需的总行程距离(必做)。
§ • 您可以从以下1-2个想法中选择并尝试 (从下面选一个你认
为最快的):
§ § Try different heuristic functions (also design your own)
§ § Try switch the start and goal positions
§ § Try search from both ends
§ § Degenerate the A
algorithm to Dijkstra’s Algorithm
§ § Degenerate the A* algorithm to Greedy Best First Search
Algorithm
§ § Implement the Hybrid-A* algorithm
§ § Implement the RRT family
您的算法的输出应包括:
规划的路径:包括要按顺序访问的路径点序列,以最小化总行程距离。
总行程距离:沿着规划路径,相邻路径点之间的距离总和,以米为单位。
算法访问的所有单元格:指示算法执行过程中经过的所有单元格。
算法运行时间:算法计算最优路径所用的时间,以秒或毫秒为单位(比较必做算法和自
选算法,看自选算法快多少)。
其他关键性能指标:包括节点扩展数量、步骤数量、内存使用情况等其他与评估算法性
能或理解算法行为相关的信息。
在您的报告中,您应该:
记录算法的实现细节,以及对原始算法进行的改进(如果有)
· 比较不同算法/相同算法的不同设置之间的差异
· 描述您遇到的困难以及您的解决方案
· 识别您使用的方法的缺点,并提出改进建议
· 在表格中总结每对位置之间的最短距离:
From
To
start snacks store movie food
start 0.0
snacks 0.0
store 0.0
movie 0.0
food 0.0
任务2:“旅行购物者”问题
您现在位于VivoCity的二楼扶梯(起点),您希望访问所有四个位置,然后返回到扶梯处。根据
您在任务1中获得的距离表,找到您访问所有商店并返回起点位置的最佳路线。

  1. 模型问题描述和提出解决方法:
  2. 为了解决这个dai 写me5413问题,我将应用蚁群算法和遗传算法。以下是我对每种方法的实现细节:
  3. 比较蚁群算法和遗传算法计算得到的解决方案,可以观察到以下几点差异和特点:
  4. 显示地图上的最终最短路径和总距离:
    路径跟踪
    要控制机器人沿着给定的8字形轨迹移动,我们可以使用任何喜欢的算法,例如比例控制(P控制)。在P控制
    中,机器人根据其当前位置与轨迹上所需位置之间的误差来调整其转向。
    在以下位置用您自己的算法替换我们的模板代码:
    src/me5413_world/include/me5413_world/path_tracker_node.hpp
    src/me5413_world/src/path_tracker_node.cpp
    src/me5413_world/cfg/path_tracker.cfg
    · 在轨道上测试您的算法,并使用给定的指标报告您的跟踪准确性:
    位置的均方根误差(RMSE)
    方向的均方根误差(RMSE)
    速度的均方根误差(RMSE)
    · 一些建议:
    您可以尝试Pure Persuit、LQR、MPC等算法。
    您可以通过更改track_A_axis和track_B_axis的长度(以米为单位)来改变轨道的形状和
    大小,并报告您的算法性能的变化。
    Submitting your completed Homework Assignment:
    代码:对于任务1和任务2,所有代码都应该在Jupyter Notebook中实现并提交,其中应显示所有输
    出。对于任务3,所有代码都应该在您的代码库中实现,并作为GitHub代码库提交,提供链接。
    请注意,在您自己的代码中,您应该遵循良好的代码风格,包括适当的命名惯例、信息性的文档
    等(请参考Google Python风格指南、Google C++风格指南、C++核心指南、ROS C++风格指
    南)。
    报告:您应该总结您的观察、假设和您自己的实现细节在一个5页的报告中(如果您希望附加更
    多的结果,请在附录中附上,但仅限于方程/算法/表/图,不包括文本段落)。
    提交:生成一个无密码保护的zip文件夹,并将其上传到CANVAS - 在作业3下。我们将使用最新
    版本,而不管由谁上传。Zip文件的名称为:HomeworkGroupNumber_Homework3.zip(例
    如,43_Homework3.zip - 适用于43组)

标签:位置,0.0,代码,路径,细节,算法,me5413
From: https://www.cnblogs.com/kantong/p/18081970

相关文章

  • 【算法设计】实验五分支限界法(附源代码)
    这里写目录标题一、上机目的二、上机内容与要求三、上机步骤四、上机结果1、将课本6.2节单源最短路径算法改为程序,并进行测试和验证2、将课本6.3节装载问题改为程序,并进行测试和验证。一、上机目的1、通过分支限界法的示例程序进一步理解分支限界法的基本思想;2、运......
  • 【算法与数据结构】二叉树链式结构的实现【前中后序】
    文章目录......
  • 进行SEO网站建设时需要注意哪些细节
    本文章推荐为:98问答社区 https://hcgf898.com/最近一些刚开始从事SEO职业的朋友问我,做一个新网站前期在SEO布局上要注意哪些因素?针对网站的SEO切入点在哪里?于是达妹花费了一点时间整理了一下思路,针对新网站前期的SEO布局注意事项做下分享!网站是人们了解各类信息的重要途径......
  • 【算法】多路归并(鱼塘钓鱼)
    有 N 个鱼塘排成一排,每个鱼塘中有一定数量的鱼,例如:N=5 时,如下表:鱼塘编号12345第1分钟能钓到的鱼的数量(1..1000)101420169每钓鱼1分钟钓鱼数的减少量(1..100)24653当前鱼塘到下一个相邻鱼塘需要的时间(单位:分钟)3544即:在第 11 个鱼塘中钓鱼第 11 分钟内可钓到 1010 条鱼,......
  • Bostan-Mori 算法
    EI哥哥科普到OI界的科技……最近出现了基于这个的多项式复合/复合逆复杂度的突破,所以今天去看了一下。这是一个用于解决多项式有理分式的单项系数问题\([x^n]\frac{P}{Q}\)的算法。该算法在解决常系数齐次线性递推问题时,代码明显短很多,常数相较原方法极其优越。首先我们考......
  • 代码随想录算法训练营day27 | leetcode 39. 组合总和、40. 组合总和 II、131. 分割回
    目录题目链接:39.组合总和-中等题目链接:40.组合总和II-中等题目链接:131.分割回文串-中等题目链接:39.组合总和-中等题目描述:给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形......
  • 【字符串匹配】BF与KMP算法
    一、字符串匹配问题字符串匹配问题是指在一个主文本字符串中查找一个指定的模式字符串,并确定模式字符串在主文本中出现的位置。这个问题在计算机科学中非常常见,尤其是在文本处理、数据搜索和生物信息学等领域。字符串匹配问题通常涉及到以下几个方面:模式识别:识别主文本中是......
  • AcWing 1171. 距离 Tarjan算法离线求LCA
    题目输入样例1:22121001221输出样例1: 100100输入样例2:32121031151232输出样例2: 1025LCA算法:LCA(LeastCommonAncestors)最近公共祖先Tarjan求LCA是一种离线的算法,也就是说它一遍求出所有需要求的点的LCA,而不是需要求哪两个点再去求......
  • 代码随想录算法训练营第五十天| ● 123.买卖股票的最佳时机III ● 188.买卖股票的
    买卖股票的最佳时机III  题目链接:123.买卖股票的最佳时机III-力扣(LeetCode)思路:与买卖股票2的区别在于我可以买卖两次,那么dp数组的状态就从两种变成了种,即第一次持有,第一次卖出,第二次持有,第二次卖出,注意这四种状态是不会同时存在的,除此之外还有一种状态,那就是不操作。if(......
  • 基于实体抽取-SMC-语义向量的大模型能力评估通用算法(附代码)
    大模型相关目录大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容从0起步,扬帆起航。大模型应用向开发路径及一点个人思考大模型应用开发实用开源项目汇总大模型问答项目问答性能评估方法大模型......