Пакет ROS2 python не добавлен в AMENT_INDEX_PATH - PullRequest
0 голосов
/ 18 марта 2020

Я создал пакет, который в значительной степени является копией https://github.com/ros2/examples/tree/master/rclpy/topics/minimal_publisher (разница в том, что я использую папку sr c и пакет в папке). Однако при установке и использовании рабочей области она не добавляется в индекс (ros2 pkg list не перечисляет его).

AMENT_PREFIX_PATH содержит только базовую рабочую область Eloquent ROS2, а не исходную.

Я обнаружил «проблему», и в папке install/share/iris/hook/ все файлы ament_prefix_path.* отсутствует.

Также в install/share/iris/package.sh также отсутствует строка _colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/rotary_encoder_driver/hook/ament_prefix_path.sh".

Копирование этих файлов из другого (также в значительной степени идентичного пакета) и добавление этой строки заставляет его работать при поиске рабочей области source install/setup.sh

Однако я хотел бы знать, чего не хватает заставить это работать?

setup.py

from glob import glob
import os
from setuptools import setup

PACKAGE_NAME = "iris"
SHARE_DIR = os.path.join("share", PACKAGE_NAME)

setup(
    name=PACKAGE_NAME,
    version='0.0.1',
    packages=[PACKAGE_NAME],
    data_files=[
        ('share/ament_index/resource_index/packages', ['resource/' + PACKAGE_NAME]),
        ('share/' + PACKAGE_NAME, ['package.xml']),
        (os.path.join(SHARE_DIR, "launch"), glob(os.path.join("launch", "*.launch.py"))),
        (os.path.join(SHARE_DIR, "config"), glob(os.path.join("config", "*.yaml"))),
        (os.path.join(SHARE_DIR, "urdf"), glob(os.path.join("urdf", "*.urdf")))],
    package_dir={'': 'src', },
    install_requires=['setuptools'],
    author='Andreas Klintberg',
    maintainer='Andreas Klintberg',
    keywords=['ROS2'],
    description='Description',
    license='None',
    entry_points={
        'console_scripts': ["iris = iris.main:main"],
    }
)

package.xml

<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
    <name>iris</name>
    <version>0.0.1</version>
    <description>Description.</description>

    <maintainer>Andreas Klintberg</maintainer>
    <license>Not open source</license>

    <depend>rclpy</depend>

    <export>
        <build_type>ament_python</build_type>
    </export>
</package>

setup.cfg

[develop]
script-dir=$base/lib/iris

[install]
install-scripts=$base/lib/iris

И папка resource с пустой файл с именем iris (имя пакета)

Запуск colcon build для сборки и установки. Предупреждений нет.

Есть идеи?

...