嵌入式 ROS 八股文总结

一、ROS 基础

1. ROS 的核心概念有哪些?

  • 节点(Node):运行的进程,用于执行特定功能。
  • 话题(Topic):异步通信机制,基于发布/订阅。
  • 服务(Service):同步通信机制,请求/应答模式。
  • 参数服务器(Parameter Server):全局参数存储和共享。
  • 消息(msg):节点之间的数据结构。
  • 动作(Action):长时间任务的通信机制(支持反馈与取消)。

2. ROS Master 的作用是什么?ROS Master 提供节点注册、名称解析和话题/服务的连接管理。它本身不转发消息,但负责告诉节点如何建立点对点通信。

3. ROS 中话题和服务的区别是什么?

  • 话题(Topic):异步、连续数据流,适合传感器数据。
  • 服务(Service):同步、一次请求一次应答,适合控制命令。

4. ROS 中 launch 文件的作用是什么?

  • 批量启动多个节点。
  • 设置参数服务器参数。
  • 管理节点间的依赖关系。
  • 便于调试和部署。

5. ROS1 和 ROS2 的主要区别有哪些?

  • 通信中间件:ROS1 基于 TCPROS/UDPROS,ROS2 基于 DDS。
  • 实时性:ROS2 支持实时操作系统(RTOS)。
  • 多机器人支持:ROS2 原生支持多机器人通信。
  • 跨平台性:ROS2 更好地支持嵌入式平台(ARM、微控制器)。

二、机器人定位与导航

6. AMCL 的原理是什么?AMCL(自适应蒙特卡洛定位)基于粒子滤波。通过激光雷达观测数据和运动模型更新粒子权重,逐渐收敛到机器人的真实位置。

7. SLAM 的基本流程是什么?

  1. 里程计预测位置(运动模型)。
  2. 传感器观测(激光/相机)。
  3. 数据关联(观测与地图匹配)。
  4. 状态估计(滤波/优化)。
  5. 地图更新(栅格/特征点)。

8. 全局规划与局部规划的区别是什么?

  • 全局规划:基于全局地图,计算从起点到目标点的整体路径(如 Dijkstra、A*)。
  • 局部规划:考虑动态障碍物和机器人运动约束,在执行时实时调整(如 DWA、TEB)。

9. move_base 的基本组成模块有哪些?

  • 全局规:如 navfn、global_planner。

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

嵌入式面试八股文全集 文章被收录于专栏

这是一个全面的嵌入式面试专栏。主要内容将包括:操作系统(进程管理、内存管理、文件系统等)、嵌入式系统(启动流程、驱动开发、中断管理等)、网络通信(TCP/IP协议栈、Socket编程等)、开发工具(交叉编译、调试工具等)以及实际项目经验分享。专栏将采用理论结合实践的方式,每个知识点都会附带相关的面试真题和答案解析。

全部评论
话题vs服务”→建议答一个收费一个免费
点赞 回复 分享
发布于 09-18 12:12 四川
launch文件作用答成启动节点?不及格
点赞 回复 分享
发布于 09-18 12:12 北京

相关推荐

评论
点赞
15
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务