zm0612 / Hybrid_A_Star

Hybrid A Star algorithm C++ implementation
Other
670 stars 139 forks source link

Ask for help! #2

Closed SCUTBob closed 2 years ago

SCUTBob commented 2 years ago

您好,十分感谢您查看我的留言。我今年是一名研一自动化专业的学生,学习方向也是路径规划,由于直接的代码能力十分有限。想请教一下您是如何将算法实现并且在ros上进行可视化的呢?此外,还想向你请教一下,路径规划学习有没有什么建议。感谢您的阅读,期待你的回信。

zm0612 commented 2 years ago

你好,关于如何实现一个算法,这个问题很难讲,更确切的来说,实现一个算法没有一个明确的套路。它是你的代码能力和问题理解能力的综合,所以需要你一方面熟悉代码,另一方面对算法要有整体的了解。

就拿你问的如何实现一个算法在ros上进行可视化,第一步你需要熟悉ros的一些相关操作,例如rviz有什么用,如何把一些数据转成ros支持的消息类型,然后在rviz上显示,这些内容需要你系统的去学习一下ros。 我这边一两句话还真讲不清楚。

我在研一的时候也是很懵懂,不太有明确的努力方向,一方面是对这个领域不够了解,另一方面基础知识不够,例如代码能力不行,阅读论文的能力不行等等。

所以对于你需要我给你在路径规划上的一些建议,我觉得以下方面也许对你有帮助:

  1. 在机器人领域ros的应用非常广泛,它是一个非常方便的工具,很多开源算法都是基于它开发的,所以建议你花一些时间去学习以下ros,在该领域胡春旭(古月)有很多视频,在哔哩哔哩上应该都能搜索到,你可以看一下学习以下一些基本的消息是怎么操作和编写的,以及ros的简单使用。
  2. C++是机器人领域唯一语言,目前工程和学术上的开源代码都是以它来开发的,所以你需要对C++熟悉,切不可捧一本C++ primer plus在那儿啃,那会浪费你很多时间,得不偿失,正确的做法是,先快速的了解C++的语言体系,知道一些基本的语法,然后在写代码的过程中去边用边学,这一点十分重要。
  3. 另外你作为研究生,还需要具备研究的能力,说的更直白一点儿就是你需要具备解决问题的能力。因此当你进入一个新的研究领域时,你需要快速的熟悉这个领域的目前研究现状,有哪些问题,有哪些常用的方法。要想快速得到这些信息,一方面就是你要大量的阅读论文,阅读国外的高质量论文,另一方面就是你多参加一些课程,例如一些机构办的培训课程,他们的主讲教师可能是这个方向的大牛,他们能迅速带你进入这个领域,打开你的视野。

总之,我给你的建议就是,不停地的写代码,不停地的看论文,不停地的学习,你会很快度过这段艰难的探索阶段,真正进入这个领域,这个时候你就会无比的快乐,哈哈。

说的废话有点多,想起来我读研那会也是一脸懵逼,所以我尽量多的给你我的信息,希望你能在其中找到对你有帮助的点。哈哈

SCUTBob commented 2 years ago

感谢您的回复!确实如您所说,这是一个艰难的阶段。期待看到您更多优质的分享,祝您生活愉快!!再表达我的一次感谢!