您很可能使用教程中的命令安装了该软件包sudo apt install ros-melodic-vrx-gazebo
。所以启动的包roslaunch vrx_gazebo sandisland.launch
不在你的 catkin 工作区中。如果你想摆脱它,你可以使用sudo apt remove ros-melodic-vrx-gazebo
. 但这并不是绝对必要的。
有几种方法可以找出某些 ros 包的位置,请尝试运行以下一些命令:
rospack find vrx_gazebo
将向您显示使用的包裹的位置
roscd vrx_gazebo
将带您到安装它的文件夹,例如
/opt/ros/melodic/share/vrx_gazebo
如果您还按照从源代码安装的教程进行操作,那么问题很可能是没有采购构建的软件包。指南的最后一行有点误导。该行*Remember to run this command every time you open a new terminal.
旨在引用命令source ~/vrx_ws/devel/setup.bash
使用已安装的包还是从源构建的包取决于它们在环境变量 ROS_PACKAGE_PATH 中列出的顺序。此变量由source /opt/ros/melodic/setup.bash
和修改source ~/vrx_ws/devel/setup.bash
。printenv | grep ROS
所以在每一步之后用or查看变量echo $ROS_PACKAGE_PATH
。从理论上讲,如果您按照我source
使用从源代码构建的包应该使用的命令的顺序获取终端,您可以使用前面提到的rospack find ...
和命令进行验证。roscd ...
最后,将源命令添加到您的 .bashrc 文件可能更容易,这样您就不会忘记为 ROS 安装教程中提到的终端源。您可以将工作区的来源添加到同一个文件中,您只需要注意,如果您想使用不同的工作区,您将需要更改文件。
http://wiki.ros.org/melodic/Installation/Ubuntu#melodic.2BAC8-Installation.2BAC8-DebEnvironment.Environment_setup
教程中的相关命令:
回声“源/opt/ros/melodic/setup.bash”>>~/.bashrc
你可以对工作区做同样的事情:
echo "源 ~/vrx_ws/devel/setup.bash" >> ~/.bashrc
运行这些命令后,运行exec bash
以将更改导入当前终端。所有未来的终端都将加载这些命令。