Решение 1:
В вашем пакете CMakeLists.txt, добавьте установочные директивы. Это выглядит следующим образом:
install(TARGETS
#list of nodes
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
install(TARGETS
#list of shared libraries
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
)
install(FILES
#list of necessary files (xml...)
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)
install(DIRECTORY
include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
PATTERN ".svn" EXCLUDE
PATTERN ".git" EXCLUDE
)
Использование
$ catkin_make
$ catkin_make install
вы можете создать двоичные файлы, необходимые для исполнения без разделения кода. Это создаст еще одну папку /install
в дополнение к обычным /devel
и /build
в вашем рабочем пространстве для кошки.
Примечание: Вы можете указать папку установки с помощью:
$ catkin_make -DCMAKE_INSTALL_PREFIX=path/to/folder install
Просто убедитесь, что the binaries need to be compiled for the correct architecture that the other computer has
и все зависимости вы не имеете в вашем рабочем пространстве, когда вы вызываете catkin_make должны также быть установлены с другой стороны, прежде чем быть использованным.
Теперь, когда у вас есть папка /install
, просто отправьте zip &.
Теперь важной частью будет добавление install/setup.bash к вашей другой машине .bashrc
, или ROS не найдет распределенные pacakges.
$ echo "source ~/catkin_ws/install/setup.bash" >> ~/.bashrc
См. here для получения дополнительной информации.
Решение 2:
вы можете иметь цветение генерировать вам DEB-Src, а затем вы можете скомпилировать, что и distrbute файл .deb, ионным другой машине, вы можете установить его с dpkg -i
. Это можно сделать, следуя этой части the pre-release tutorial.
Будет ли это вступать в конфликт с окружающей средой, которая была настроена на другой машине уже? – Bernardo
Ну, только если тот же пакет уже существует на другом компьютере, я думаю ... – Vtik
Как именно я запускаю узлы на другом компьютере? Нет пакета, который содержит узлы, поэтому я не могу использовать rosrun. Они все в папке установки (извините за поздний ответ, только вернусь к этому сейчас) – Bernardo