一、基础认知类

  1. ROS2 相比 ROS1 核心优势是什么?答:原生分布式、无主节点、DDS 通信、实时性更强、跨平台更好、支持多进程隔离、安全性高、生命周期管理完善,适配嵌入式与工业场景。

  2. ROS2 通信机制有哪几种?分别适用场景?答:

  • 话题 Topic:单向数据流,传感器、速度指令cmd_vel高频传输
  • 服务 Service:同步一问一答,开关、单次查询
  • 动作 Action:异步长任务,导航、机械臂运动、耗时任务
  • 参数 Parameter:全局配置读写
  • 消息接口统一,支持自定义消息。
  1. DDS 是什么?在 ROS2 里作用?答:数据分发服务,ROS2 底层通信内核,负责节点发现、数据路由、可靠传输、QoS 质量策略,实现跨设备组网通信。

  2. ROS2 节点、工作空间、功能包、接口区别?答:

  • 工作空间:整体项目目录
  • 功能包:最小编译单元,放代码、配置、启动文件
  • 节点:功能包里运行的可执行进程
  • 接口:msg/srv/action,节点之间通信的数据格式。
  1. colcon 编译流程与常用命令?答:colcon build编译,colcon source install/setup.bash环境生效;常用:colcon build --packages-select 包名单独编译。

二、通信机制高频题

  1. 话题与服务最大区别?答:话题异步单向发布订阅,无应答;服务同步阻塞调用,有请求有响应。

  2. Action 动作通信组成与使用场景?答:目标 Goal、实时反馈 Feedback、最终结果 Result;用于导航规划、轨迹运动、巡检等长时间可中断任务。

  3. ROS2 QoS 常用策略有哪些?答:可靠 / 尽力传输、历史消息深度、存活时限、送达时限、分区策略,用来调通信实时性与可靠性。

  4. 如何实现 ROS2 跨主机通信?答:配置同一域 ID、设置主设备 IP、防火墙放行、DDS 组网配置,保证局域网互通。

  5. ros2 run、ros2 launch 区别?答:ros2 run 启动单个节点;ros2 launch 批量启动多节点、加载参数、配置硬件、启动整个功能栈。

三、机器人导航 NAV2 核心面试题(重中之重)

  1. NAV2 整体架构分为哪几层?答:全局规划层、局部规划层、速度平滑层、底层硬件执行层。

  2. nav2_planner 作用、默认算法?答:高层全局路径规划,负责远距离路线、目标规划;默认 A * 算法,还有 Dijkstra、Smac。

  3. nav2_controller 作用、内置主流算法?答:中层局部轨迹规划,跟随全局路径、动态避障、纠偏;支持 DWA/DWB、TEB、MPPI、纯追踪 RPP。

  4. DWA 与 TEB 算法优缺点与选型场景?答:

  • DWA:算力低、稳定、好调参,适合室内静态环境,窄道易摆动
  • TEB:轨迹极致平滑、时间最优,窄通道强势,算力偏高,高速动态人流表现一般
  1. MPPI 算法优势?答:模型预测优化,动态避障极强,适配人流、复杂路况、阿克曼车型,是新一代主流局部规划。

  2. cmd_vel消息类型与字段含义?答:消息geometry_msgs/Twist;linear.x 前后线速度,angular.z 旋转角速度,是导航下发到底层唯一运动指令。

  3. nav2_controller 和 ros2_control 区别?答:

  • nav2_controller:导航中层,生成cmd_vel速度指令,负责规划避障
  • ros2_control:底层硬件控制层,接收速度指令、运动学解算、PID 控电机、输出里程计
  1. NAV2 代价地图作用与分层?答:存储环境障碍物信息,分为静态地图层、障碍物层、膨胀层、禁行区域层,用于全局与局部避障判断。

  2. AMCL 定位作用?答:自适应蒙特卡洛定位,结合激光与地图,输出机器人在全局地图内实时位姿,是导航基础。

  3. NAV2 完整导航数据流?答:地图 + 定位→全局规划出路径→局部规划生成 cmd_vel→速度平滑→ros2_control 底盘控制→电机运动→里程计反馈闭环。

四、底层控制 ros2_control 面试题

  1. ros2_control 框架组成?答:硬件接口 Hardware Interface、控制器 Controller、控制器管理器、URDF 机器人描述文件。

  2. 差速底盘运动学解算原理?答:通过线速度、角速度求解左右两轮目标转速,实现直行、转向、原地旋转。

  3. ros2_control 常用控制器?答:差速diff_drive_controller、阿克曼转向控制器、关节位置 / 速度控制器。

  4. 里程计 odom 数据作用?答:融合轮速与 IMU 输出位姿与速度,反馈给导航系统做位姿更新与运动闭环。

  5. PID 控制在 ROS2 底层作用?答:实现速度环、位置环闭环控制,修正打滑、电压波动、阻力带来的速度偏差,保证行走平稳。

五、调试与故障排查面试题

  1. 机器人导航不走动,排查思路?答:1. 有无全局路径 2. 有无输出 cmd_vel 3. 底层是否订阅指令 4. 底盘驱动是否正常 5. 定位是否漂移。

  2. 机器人行走跑偏原因?答:轮距轮径参数不准、左右电机转速不一致、里程计误差、定位偏差、局部规划跟随参数不合理。

  3. 激光雷达数据异常如何排查?答:查看话题、检查硬件接线、修改串口波特率、排查坐标 TF、检查滤波参数。

  4. TF 坐标变换作用?答:统一机器人各个传感器、底盘、雷达、相机坐标系,完成坐标相互转换,是导航与感知基础。

  5. ROS2 如何打印日志、调试节点?答:RCLCPP_INFO 打印日志,ros2 topic 监听话题,ros2 service 调用服务,可视化 rqt、rviz 调试。

六、项目实战类面试题

  1. 你做过的 ROS2 自主导航项目流程?答:建图→定位→配置 NAV2 参数→调试全局 / 局部规划→调试底层底盘控制→实测避障与定点导航。

  2. 室内机器人如何优化导航稳定性?答:优化地图精度、调优 DWA/TEB 权重、增加速度平滑、优化底层 PID、增设安全急停逻辑。

  3. 动态行人场景导航如何优化?答:改用 MPPI 局部规划、增大安全距离、加入行人感知预判、降低高速行驶速度。

  4. URDF/Xacro 作用?答:描述机器人连杆、关节、传感器位置,搭建整机坐标系,用于仿真与真机驱动适配。

  5. Gazebo 仿真在 ROS2 中的用途?答:虚拟搭建机器人与场景,无硬件情况下完成导航、感知、控制算法开发与验证。

七、拔高论述题(面试压轴)

  1. 结合 NAV2 架构,类比企业组织层级怎么理解?答:nav2_planner 高层战略决策,nav2_controller 中层战术分解,ros2_control 基层执行管理,电机传感器一线执行,整套硅基层级体系标准化、一致性、迭代速度远超碳基组织。

  2. 简述硅基智能系统未来相比碳基系统核心优势?答:可预测性强、可靠性高、行为一致、开源共享、迭代快、可完整遗传复刻、无情绪无疲劳,长期在体力智力统筹慧力上超越普通碳基组织是必然趋势。

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐