将存储库添加到覆盖层后,包仍然不在包路径中

After adding repository to overlay, package still not in package path

我目前正在学习 ROS 和 rosbuild,一开始我正在研究这个 tutorial,但我被困在:

  1. 将存储库添加到叠加层

在那之前我做了以下事情:

  1. rosws init . /opt/ros/kinetic
  2. source setup.zsh
  3. mkdir sandbox
  4. myros rosws set sandbox 现在基本的 Overlay 已经设置好了,我可以使用 roscd roscpp 访问包 roscpp 然后我可以 return 使用 roscd 到我的新覆盖 - 所以我添加了一个存储库
  5. rosws set turtlebot --git -u https://github.com/turtlebot/turtlebot
  6. rosws update

此时我的 .rosinstall 文件如下所示:

setup-file: {local-name: /opt/ros/kinetic/setup.sh}
other: {local-name: sandbox}
git: {local-name: turtlebot, uri: 'https://github.com/turtlebot/turtlebot'}

在那之后教程说:

After re-sourcing setup.bash the new overlayed stack turtlebot should be in your package path, i.e. roscd turtlebot should switch to the directory ~/fuerte_workspace/turtlebot.

如果我想使用 roscd turtlebot 我得到:

roscd: No such package 'turtlebot'

因为教程说

After re-sourcing setup.bash should be in your package path...

我尝试使用 source source.zsh 资源,但现在也可以。 我做错了什么?

您引用的是ROS Fuerte 教程,但您似乎使用的是ROS Kinetic。 Fuerte 于 2012 年发布,Kinetic 于 2016 年发布。两者之间存在主要 差异..一个是 rosbuild 不再是首选构建系统。

我建议你忘记所有关于 rosbuild(被 catkin 取代)和 rosws(被 wstool 取代)并从 http://wiki.ros.org/ROS/Tutorials, notably http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment 重新开始(第 3 章)选择了 catkin

如果你真的想使用最新的东西,甚至可以考虑放弃提到的 catkin_make 并看看 catkin_tools