Skip to content

踩坑Robotics Stack Exchange2019-07-29

ROS 节点命令行布尔参数读取不到 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:Command line boolean parameters to ros node(Robotics Stack Exchange #19113)

状态:已解决

问题 ​

运行 rosrun nav_astar_nodes astar_controller _diagonalSteps:=true _checkDiagonalStepCorner:=false 后,n.getParam 没有读到布尔参数,终端无输出。

环境 ​

ROS Melodic,Gazebo 9.9.0,Ubuntu 18.04.2 LTS。

解决办法 ​

  1. 将 ros::NodeHandle n; 改为 ros::NodeHandle n("~");,使用节点私有命名空间。
  2. 保持通过命令行传入带下划线的私有参数,如 _diagonalSteps:=true _checkDiagonalStepCorner:=false。
  3. 之后 n.getParam("diagonalSteps", doDiagonalSteps) 会在 /astar_controller 命名空间中查找参数。

原问题作者:VansFannel;采纳答案作者:adamconkey。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。

来源

本页事实对应的公开页面,以原文为准。

  1. Robotics Stack Exchange #19113:Command line boolean parameters to ros node访问 2026-10-22