Переработана вся структура запуска файлов. Теперь в iiwa_bringup хранятся только launch файлы.

Все конфигурационные файлы переехали в пакет `iiwa_config`. также там появился общий конфигурационный файл, который упращает запуск `digital_twin.launch.py`

Добавлен дополнительный пакет  `iiwa_utils`, в который переехал весь код с папки `iiwa_bringup/utils`, а также все тестовые ноды переехали с `iiwa_object_spawner` в этот пакет

Пакеты `iiwa_bringup` и `iiwa_description` переведены на `ament_cmake` для дальнейшего удобсва - пакеты не будут содержать код для реализации
This commit is contained in:
Даниил Грабарь
2025-12-25 21:46:40 +10:00
parent 1a65f48c03
commit fa39991bcf
41 changed files with 680 additions and 377 deletions
+16
View File
@@ -0,0 +1,16 @@
cmake_minimum_required(VERSION 3.8)
project(iiwa_description)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
find_package(ament_cmake REQUIRED)
install(
DIRECTORY resource worlds urdf
DESTINATION share/${PROJECT_NAME}
)
ament_package()
+8 -9
View File
@@ -2,18 +2,17 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>iiwa_description</name>
<version>0.0.1</version>
<description>TODO: Package description</description>
<maintainer email="grabardm@ml-dev.ru">Grabar Daniil</maintainer>
<version>0.0.0</version>
<description>Описание робота в urdf/xacro а также описание webots мира</description>
<maintainer email="grabardm@ml-dev.ru">daniel</maintainer>
<license>Apache-2.0</license>
<test_depend>ament_copyright</test_depend>
<test_depend>ament_flake8</test_depend>
<test_depend>ament_pep257</test_depend>
<test_depend>ament_xmllint</test_depend>
<test_depend>python3-pytest</test_depend>
<buildtool_depend>ament_cmake</buildtool_depend>
<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>
<export>
<build_type>ament_python</build_type>
<build_type>ament_cmake</build_type>
</export>
</package>
-4
View File
@@ -1,4 +0,0 @@
[develop]
script_dir=$base/lib/iiwa_description
[install]
install_scripts=$base/lib/iiwa_description
-70
View File
@@ -1,70 +0,0 @@
import os
from setuptools import find_packages, setup
EXCLUDES = {".DS_Store", "Thumbs.db"}
EXCLUDE_DIRS = {"__pycache__", ".pytest_cache", ".git", ".idea"}
def data_files_from_tree(src_dir: str, dst_root: str) -> list:
"""
Собирает data_files в формате, подходящем для setuptools.
Возвращает список пар (dst_path, [file1, file2, ...]).
"""
entries = []
for root, dirs, files in os.walk(src_dir):
# исключаем служебные директории
dirs[:] = [d for d in dirs if d not in EXCLUDE_DIRS]
file_list = [os.path.join(root, f) for f in files if f not in EXCLUDES]
if not file_list:
continue
rel = os.path.relpath(root, src_dir)
dst_dir = os.path.join(dst_root, rel) if rel != "." else dst_root
entries.append((dst_dir, file_list))
return entries
package_name = "iiwa_description"
resource_intsall_root = f"share/{package_name}/resource"
meshes_intsall_root = f"share/{package_name}/meshes"
urdf_intsall_root = f"share/{package_name}/urdf"
worlds_intsall_root = f"share/{package_name}/worlds"
protos_intsall_root = f"share/{package_name}/protos"
data_files = [
("share/" + package_name, ["package.xml"]),
]
data_files += data_files_from_tree("resource", resource_intsall_root)
data_files += data_files_from_tree("meshes", meshes_intsall_root)
data_files += data_files_from_tree("urdf", urdf_intsall_root)
data_files += data_files_from_tree("worlds", worlds_intsall_root)
data_files += data_files_from_tree("protos", protos_intsall_root)
setup(
name=package_name,
version="0.0.1",
packages=find_packages(exclude=["test"]),
data_files=data_files,
install_requires=["setuptools"],
zip_safe=True,
maintainer="Grabar Daniil",
maintainer_email="grabardm@ml-dev.ru",
description="TODO: Package description",
license="Apache-2.0",
extras_require={
"test": [
"pytest",
],
},
entry_points={
"console_scripts": [],
},
)
+2 -3
View File
@@ -3,11 +3,10 @@
<!-- Аргукменты -->
<xacro:arg name="initial_positions_file"
default="$(find iiwa_bringup)/config/initial_positions.yaml"/>
default="$(find iiwa_config)/config/moveit/initial_positions.yaml"/>
<xacro:property name="initial_positions"
value="${xacro.load_yaml('$(arg initial_positions_file)')['initial_positions']}"/>
value="${xacro.load_yaml('$(arg initial_positions_file)')['initial_positions']}"/>
<xacro:include filename="$(find iiwa_description)/urdf/params.xacro"/>
<xacro:include filename="$(find iiwa_description)/urdf/macros.xacro"/>