2302_80274807 2024-05-25 20:56 采纳率: 36.4%
浏览 15
已结题

Ubuntu中运行launch文件,想要运行多个节点,输入roslaunch minisnap min_snap.launch

别人发給一个我压缩包,我利用,

cd catkin_ws/src
catkin_create_pkg minisnap roscpp rospy std_msgs

整了个软件包,选择性替换了原本的src,然后进行编译,编译通过,
当我输入roslaunch minisnap min_snap.launch
出现

Resource not found: min_snap
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/lin/catkin_ws/src
ROS path [2]=/opt/ros/noetic/share
ROS path [3]=/home/lin/PX4-Autopilot
ROS path [4]=/home/lin/PX4-Autopilot/Tools/sitl_gazebo
The traceback for the exception was written to the log file

我输入rospack find minisnap,有给我返回路径
该如何解决

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-05-25 20:56
    关注

    引自免费微信小程序:皆我百晓生

    看起来你正在尝试在Ubuntu上启动名为min_snap.launch的ROS(Robot Operating System)launch文件,并且已经创建了一个名为minisnap的软件包。但是,当运行roslaunch minisnap min_snap.launch时,系统报错说找不到资源。

    根据错误信息,ROS似乎没有找到你的launch文件。这可能是由于几个原因造成的,比如launch文件不在正确的目录结构中,或者软件包配置不正确。

    首先,确认你的launch文件min_snap.launch是否位于catkin_ws/src/minisnap/launch目录下。如果没有,请将其移动到这个位置,因为这是典型的ROS软件包结构。

    接下来,确保你的package.xml文件正确地指定了launch文件的位置。打开catkin_ws/src/minisnap/package.xml,并检查<launch>标签部分是否包含了对min_snap.launch的引用,例如:

    <launch>
      <node pkg="minisnap" type="min_snap_node" name="min_snap_node"/>
    </launch>
    

    如果你的launch文件不是默认名称,可能需要指定确切的文件名,像这样:

    <launch>
      <include file="$(find minisnap)/launch/min_snap.launch"/>
    </launch>
    

    这里$(find minisnap)是一个ROS变量,它会替换为minisnap软件包的实际路径。

    完成这些步骤后,你需要重新构建你的工作空间以应用更改。在终端中,回到catkin_ws目录,然后执行以下命令:

    catkin_make_isolated --cmake-args -DCATKIN_ENABLE_TESTING=No
    source /path/to/catkin_ws/devel/setup.bash
    

    其中/path/to/catkin_ws是你的工作空间的实际路径。

    现在你应该可以成功运行roslaunch minisnap min_snap.launch了。如果仍然遇到问题,你可以尝试清理工作空间并重新开始:

    colcon build --symlink-install --cmake-args -DCATKIN_ENABLE_TESTING=No
    source /path/to/catkin_ws/install/setup.bash
    

    如果你的问题仍未解决,可以检查日志文件(通常位于~/.ros/log目录下)中的详细跟踪信息,这可能会提供更多的调试线索。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月14日
  • 创建了问题 5月25日