经常在编译ros工作空间或者执行代码的时候会发生找不到模块的问题:
ERROR: cannot launch node of type [cartographer_ros/cartographer_node]: cartographer_ros ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/oseasy/SMMR_topo_ws/src
ROS path [2]=/opt/ros/noetic/share ERROR: cannot launch node of type [cartographer_ros/cartographer_occupancy_grid_node]: cartographer_ros
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/oseasy/SMMR_topo_ws/src
ROS path [2]=/opt/ros/noetic/share
这个时候我们可以读取当前找包的路径有哪些:
echo $ROS_PACKAGE_PATH
发现目前有没有你需要的路径,如果没有则:
export ROS_PACKAGE_PATH=<path_to_new_directory>:${ROS_PACKAGE_PATH}
其中<path_to_new_directory>
是你要添加的新路径。这个命令将把新路径添加到当前的$ROS_PACKAGE_PATH
变量中,并将其设置为新的环境变量值。
例如,如果你有一个名为my_robot
的ROS软件包,它位于/home/user/catkin_ws/src
路径下,那么你可以通过以下命令将该路径添加到$ROS_PACKAGE_PATH
中:
export ROS_PACKAGE_PATH=/home/user/catkin_ws/src:${ROS_PACKAGE_PATH}
最后再检测一下新加上了没有:
echo $ROS_PACKAGE_PATH
至此大功告成!