0

我有一个奇怪的问题。我目前正在玩弄 VRX-Simulator,它可以模拟无人水面的车辆。

对于安装,我遵循了https://bitbucket.org/osrf/vrx/wiki/tutorials/SystemSetupInstall上的指南。

然后我尝试修改一些文件并尝试重建项目。这就是我注意到它总是在凉亭中使用我的模拟的“旧”版本的一点。

从现在开始,无论我做什么(我什至删除了整个 catkin 工作区文件夹),即使在我使用 roslaunch 时不存在任何 build/src 文件夹,ROS 也总能启动我的模拟的原始版本。

roslaunch vrx_gazebo sandisland.launch

所以我的问题是如何摆脱我的模拟/模型以及 ros/gazebo 在哪里缓存我的模拟?

4

1 回答 1

2

您很可能使用教程中的命令安装了该软件包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.bashprintenv | 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以将更改导入当前终端。所有未来的终端都将加载这些命令。

于 2020-01-08T09:10:32.713 回答