【发布时间】:2023-03-19 02:41:01
【问题描述】:
我可以在ROS的catkin工作空间中编译安装ROS包。如何将 catkin 工作空间中的包导出为 .deb 文件,以便在其他机器上安装和使用?
我的 ROS 版本是 ROS Indigo,操作系统版本是 Ubuntu 14.04
【问题讨论】:
我可以在ROS的catkin工作空间中编译安装ROS包。如何将 catkin 工作空间中的包导出为 .deb 文件,以便在其他机器上安装和使用?
我的 ROS 版本是 ROS Indigo,操作系统版本是 Ubuntu 14.04
【问题讨论】:
1 - 我认为ROS build farm 将是一个很好的起点和解决方案。你不能像你说的那样创建一个.deb,但是你可以创建一个源代码封闭的ROS包
ROS 构建场还旨在支持部署自定义构建场。这对于发布闭源包、为官方 ROS 构建农场未提供的平台和架构构建,和/或根据特定需求定制流程的任何部分非常有用。
在这里查看更好的overview。
2 - 另一种方法是使用CMake install。尽管这需要两个平台之间具有相同的架构和 ROS Distro,并且两台机器的位置可以相同。
Define a CMAKE_INSTALL_PREFIX for some location like: /opt/your_ros_install.
Run sudo make install to allow installing there.
Copy the install directory from machine A to machine B, using scp or tar or some other technique.
在任一机器上运行已安装的 ROS 包:source /opt/your_ros_install/setup.bash。
【讨论】:
看看这个帖子:Generate .deb from ROS package
使用以下命令:
path-of-your-package$ bloom-generate rosdebian --os-name ubuntu --ros-distro kinetic
$fakeroot debian/rules binary
【讨论】:
--ros-distro indigo 吗?
这是使用ROS bloom 进行操作的分步指南:
导航到您的包路径
cd /path/to/package
使用 ROS bloom 创建 .deb 文件
bloom-generate rosdebian --os-name ubuntu --ros-distro kinetic fakeroot debian/rules binary
* 如果您的 ROS 分布与 Kinetic 不同,请将 kinetic 替换为您的分布
将 .deb 文件复制到另一台机器,并在其文件夹类型中
sudo dpkg -i packagename.deb
这将在该机器上安装软件包,您现在可以像使用任何其他 ROS 软件包一样使用它
【讨论】: