Skip to content

Natsu-Akatsuki/ros_cookbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ROS cookbook

解决方案索引库:记录基于 ROS(ROS1 和 ROS2)开发过程涉及的相关工具链、代码块

🤨 欢迎交流(IssuesPRDiscussions

网站见:ros_cookbook - Docs

Contents

🧒 Beginner

🧑‍🎓 Intermediate

🛠️ Software and Tools

📝 Others

FAQ

问题 1: 如何在 ROS2 找到对应的 Python API?

根据C++的相关代码和 API 进行初筛,然后再查看 rclpy API 文档,找到对应的模块和代码接口,继而实现迁移

问题 2: 如何实现 ROS1 和 ROS2 代码的迁移?
  • 过一遍 ChatGPT
  • 经验泛化(谷歌,Stack Overflow,百度,曾经遇到过......)
  • 查看例程
问题 3: 为什么选择 ROS2
问题 4: 开发 ROS 工程的流程?
  • 明确程序的功能,明确程序的输入和输出
  • 进行快速原型开发,验证程序的功能
  • 优化程序,提高程序的性能
问题 5: SLAM 在 ROS 下跑非 ROS 下跑的区别和意义是什么呢,以 ORBSLAM-2 为例?

在 ROS 框架下开发和验证算法会更加的方便。首先,有丰富的三方支持。比如,我们可以直接使用厂家提供的 ROS 平台下的程序来读取传感器的数据,而不用自己再写程序来读取数据,而当然前提是供应商提供了相关的程序。其次,ROS 框架下包含一套进程通信的架构。通过消息的订阅和发布,回调函数的处理,我们就能够快速地实现进程通信。提供了算法开发和验证的一系列工具链。比如进行数据可视化的 RViz,数据录制的 rosbag,仿真平台 Gazebo

以 ORBSLAM2 为例,如果不依赖 ROS 的话,第一要自己手写对传感器数据读取的程序,第二,设计的算法如果是分模块,模块之间要通讯的话,还要 考量如何通讯;第三,还要写可视化的程序。凡此,都要花费大量的时间。

问题 6: 当前索引库与官方文档有何异同

其实在编者多次浏览官方文档后,会觉得官方文档已提供了详细的线索和解决方案,当前索引库只是多了 ROS1 和 ROS2 的整合和部分工程上的线索

Reference

Master

  • 能熟练地在 ROS 框架下进行算法的开发和验证
  • 能熟练地定位和解决 ROS 开发过程中遇到的问题

Roadmap

  • 2023.07.24-2023.07.31 修订所有文档
  • 追加 giscus 评论系统
  • 参考 ROS2 官网文档设计目录
  • 在粘贴命令行时移除无用的符号(e.g. $ 和 #)

Contributors